/*
Theme Name: JustBuyXEQT Identity Theme
Theme URI: https://example.com/
Author: OAA
Author URI: https://example.com/
Description: JustBuyXEQT v2 — redesigned multi-page theme with XEQT Details, Dividends (full history with 2025 data), Holdings, expanded nav, and updated footer.
Version: 2.9.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: justbuyxeqt-identity-theme
*/

:root {
  --jbx-bg: #02091f;
  --jbx-bg-2: #061338;
  --jbx-ink: #f3f7ff;
  --jbx-muted: #90a1bf;
  --jbx-border: #1a2b52;
  --jbx-surface: #0a1a3f;
  --jbx-surface-2: #14264b;
  --jbx-emerald: #14cba8;
  --jbx-emerald-soft: rgba(20, 203, 168, 0.12);
  --jbx-btn: #10b981;
  --jbx-shadow: 0 25px 70px rgba(2, 8, 26, 0.55);
  --jbx-radius: 24px;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  background:
    radial-gradient(circle at 82% 26%, rgba(20, 203, 168, 0.1), transparent 32%),
    radial-gradient(circle at 20% -8%, rgba(46, 119, 255, 0.15), transparent 42%),
    linear-gradient(180deg, var(--jbx-bg), var(--jbx-bg-2));
  color: var(--jbx-ink);
  font-family: "Inter", "Avenir Next", "Segoe UI", sans-serif;
}

a {
  color: inherit;
}

.site-wrap {
  width: min(1320px, 94vw);
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--jbx-border);
  background: rgba(2, 9, 31, 0.72);
  backdrop-filter: blur(12px);
}

.site-header-inner {
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: var(--jbx-ink);
}

.brand-mark,
.custom-logo {
  transition: transform .2s ease, box-shadow .2s ease;
  transform-origin: center;
}

.brand-mark {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(145deg, #2e73ff, var(--jbx-emerald));
  color: #011121;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: 38px;
  font-weight: 800;
  transform: rotate(3deg);
  box-shadow: 0 14px 24px rgba(20, 203, 168, 0.2);
}

.brand-name {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.5rem, 2.5vw, 2.2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.brand-accent {
  color: var(--jbx-emerald);
}

.brand-tld {
  color: #9bb0d1;
  margin-left: 2px;
  font-size: 0.9em;
}

.custom-logo-link {
  display: inline-flex;
  line-height: 0;
}

.custom-logo {
  max-height: 56px;
  width: auto;
}

.site-header .brand:hover .brand-mark,
.site-header .brand:hover .custom-logo {
  transform: scale(1.08);
}

.nav-links {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 12px;
}

.nav-links a {
  color: var(--jbx-muted);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.98rem;
  padding: 8px 10px;
  border-radius: 10px;
  transition: color .2s ease, background .2s ease;
}

.nav-links a:hover {
  color: var(--jbx-ink);
  background: rgba(255, 255, 255, 0.04);
}

.reset-session-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(20,203,168,.5) !important;
  background: rgba(20,203,168,.12) !important;
  color: #14cba8 !important;
  padding: 12px 22px;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.reset-session-btn:hover {
  background: rgba(20,203,168,.22) !important;
  border-color: rgba(20,203,168,.8) !important;
  box-shadow: 0 0 18px rgba(20,203,168,.25);
}

main.site-main {
  padding: 44px 0 60px;
}

.section {
  scroll-margin-top: 110px;
  padding-top: 24px;
  margin-bottom: 96px;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 36px;
  align-items: center;
  margin-bottom: 90px;
}

.identity-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--jbx-emerald-soft);
  border: 1px solid rgba(20, 203, 168, 0.3);
  color: var(--jbx-emerald);
  border-radius: 999px;
  padding: 8px 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.8rem;
  font-weight: 800;
  margin-bottom: 18px;
}

.ping-wrap {
  position: relative;
  width: 10px;
  height: 10px;
}

.ping-dot,
.ping-dot-core {
  border-radius: 999px;
  position: absolute;
  inset: 0;
}

.ping-dot {
  background: rgba(20, 203, 168, 0.58);
  animation: jbxPing 1.9s ease-in-out infinite;
}

.ping-dot-core {
  background: var(--jbx-emerald);
}

.hero-title {
  margin: 0 0 24px;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(2.6rem, 6.4vw, 6.6rem);
  line-height: 0.96;
  letter-spacing: -0.03em;
}

.hero-title-gradient {
  background: linear-gradient(120deg, #58f2db, #14cba8 60%, #0ea57f);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-copy {
  margin: 0 0 28px;
  color: var(--jbx-muted);
  font-size: clamp(1.05rem, 2.1vw, 1.55rem);
  line-height: 1.45;
  max-width: 740px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.btn-primary,
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 28px;
  border-radius: 18px;
  font-size: 1.28rem;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform .2s ease, background .2s ease;
}

.btn-primary {
  background: var(--jbx-btn);
  color: #04231c;
  box-shadow: 0 12px 24px rgba(16, 185, 129, 0.24);
}

.btn-primary:hover {
  transform: translateY(-1px);
  background: #22d39a;
}

.btn-secondary {
  background: #213351;
  border-color: #31486d;
  color: #e6eefc;
}

.btn-secondary:hover {
  transform: translateY(-1px);
  background: #2c4067;
}

.stats-wrap {
  position: relative;
}

.stats-glow {
  position: absolute;
  inset: 12% 0 8% 0;
  background: radial-gradient(circle, rgba(20, 203, 168, 0.2), transparent 70%);
  filter: blur(80px);
  pointer-events: none;
}

.stats-card {
  --jbx-card-tilt: 3deg;
  position: relative;
  background: linear-gradient(145deg, #0b1d45, #0f224f);
  border: 1px solid #2a3e6c;
  border-radius: 42px;
  padding: 24px;
  transform: rotate(var(--jbx-card-tilt));
  box-shadow: var(--jbx-shadow);
  transition: transform 360ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 360ms ease;
  will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
  .stats-wrap:hover .stats-card,
  .stats-card:focus-within {
    transform: rotate(var(--jbx-card-tilt)) scale(1.035);
    box-shadow: 0 32px 85px rgba(2, 8, 26, 0.62);
  }
}

.stats-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
}

.window-dots {
  display: inline-flex;
  gap: 10px;
}

.window-dots span {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  opacity: 0.86;
  transform: scale(1);
  transition: opacity 700ms ease, transform 700ms ease, filter 700ms ease, box-shadow 700ms ease;
}

.window-dots .dot-red { background: #ff4a52; }
.window-dots .dot-yellow { background: #f6c029; }
.window-dots .dot-green { background: #31d277; }

.window-dots span.is-flash {
  opacity: 1;
  transform: scale(1.18);
  filter: saturate(135%) brightness(1.2);
}

.window-dots .dot-red.is-flash { box-shadow: 0 0 0 5px rgba(255, 74, 82, 0.2), 0 0 18px rgba(255, 74, 82, 0.75); }
.window-dots .dot-yellow.is-flash { box-shadow: 0 0 0 5px rgba(246, 192, 41, 0.2), 0 0 18px rgba(246, 192, 41, 0.75); }
.window-dots .dot-green.is-flash { box-shadow: 0 0 0 5px rgba(49, 210, 119, 0.2), 0 0 18px rgba(49, 210, 119, 0.75); }

.stats-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: baseline;
  column-gap: 8px;
  row-gap: 2px;
  color: #89a0c7;
  font-size: clamp(0.78rem, 1.05vw, 1.05rem);
  font-family: "JetBrains Mono", "Menlo", monospace;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: right;
}

.stats-status-label {
  color: #89a0c7;
  font-weight: 700;
}

.stats-status-value {
  color: #17dab7;
  font-weight: 800;
}

.stats-status-value--down {
  color: #d6313d;
}

.progress-track {
  width: 100%;
  height: 18px;
  border-radius: 999px;
  overflow: hidden;
  background: #1c2f58;
  margin-bottom: 24px;
}

.progress-bar {
  height: 100%;
  width: var(--jbx-progress-width, 100%);
  background: linear-gradient(90deg, #17dab7, #0dbd9b);
}

.stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 18px;
}

.stat-box {
  background: #202f52;
  border-radius: 20px;
  padding: 18px;
  min-width: 0;
}

.stat-label {
  display: block;
  color: #8297bf;
  font-size: clamp(0.92rem, 1.3vw, 1.22rem);
  margin-bottom: 6px;
  line-height: 1.2;
}

.stat-value {
  display: block;
  color: #f8fbff;
  font-size: clamp(1.75rem, 3.1vw, 2.75rem);
  line-height: 1.04;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.xeqt-class {
  border-radius: 24px;
  border: 1px solid rgba(20, 203, 168, 0.28);
  background: rgba(20, 203, 168, 0.09);
  text-align: center;
  padding: 22px;
}

.xeqt-symbol {
  margin: 0;
  font-family: "Space Grotesk", "Inter", sans-serif;
  color: var(--jbx-emerald);
  font-size: clamp(3.4rem, 6vw, 5.8rem);
  line-height: 1;
  font-weight: 800;
}

.xeqt-class p {
  margin: 4px 0 0;
  color: #4be5c4;
  font-size: clamp(0.95rem, 1.35vw, 1.18rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.section-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.section-head h2 {
  margin: 0;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(2rem, 4vw, 3.1rem);
}

.section-head h2 .accent {
  color: var(--jbx-emerald);
  text-decoration: underline;
  text-decoration-color: rgba(20, 203, 168, 0.3);
  text-underline-offset: 6px;
}

.section-divider {
  height: 1px;
  background: var(--jbx-border);
  flex: 1;
}

.vision-card {
  border: 1px solid #1f3764;
  border-radius: 30px;
  padding: 30px;
  background: linear-gradient(160deg, #091a3f 0%, #0f2554 100%);
  position: relative;
  overflow: hidden;
  margin-bottom: 84px;
}

.vision-card::before {
  content: "";
  position: absolute;
  right: -20%;
  top: -20%;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(20, 203, 168, 0.12), transparent 70%);
}

.vision-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

.vision-top img {
  width: 78px;
  height: 78px;
  border-radius: 22px;
  object-fit: cover;
  border: 2px solid #2f4472;
}

.vision-name {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3rem);
  font-family: "Space Grotesk", "Inter", sans-serif;
}

.vision-title {
  margin: 4px 0 0;
  color: var(--jbx-emerald);
  font-size: clamp(1.3rem, 2.2vw, 2.1rem);
  font-family: "JetBrains Mono", monospace;
}

.vision-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #c5d3eb;
  line-height: 1.58;
  font-size: clamp(1.26rem, 2.1vw, 2.05rem);
  white-space: pre-line;
}

.concepts {
  margin-bottom: 84px;
}

.xeqt-focus {
  margin-bottom: 82px;
}

.xeqt-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.xeqt-focus-card {
  border: 1px solid #27467a;
  border-radius: 24px;
  background: linear-gradient(162deg, #0d2558, #112c65);
  box-shadow: 0 20px 42px rgba(3, 13, 37, 0.38);
  padding: 20px;
}

.xeqt-focus-card h3 {
  margin: 0 0 14px;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
  color: #eef5ff;
}

.xeqt-focus-metrics {
  margin: 0;
  display: grid;
  gap: 8px;
}

.xeqt-focus-metrics div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  border-radius: 12px;
  border: 1px solid rgba(58, 92, 146, 0.65);
  background: rgba(12, 34, 78, 0.9);
  padding: 10px 12px;
}

.xeqt-focus-metrics dt {
  color: #9ab0d5;
  font-size: 0.88rem;
}

.xeqt-focus-metrics dd {
  margin: 0;
  color: #eaf2ff;
  font-weight: 800;
  font-family: "JetBrains Mono", monospace;
  font-size: 1rem;
}

.xeqt-focus-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.xeqt-focus-list li {
  border-radius: 12px;
  border: 1px solid rgba(58, 92, 146, 0.65);
  background: rgba(12, 34, 78, 0.9);
  padding: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.xeqt-focus-list span {
  color: #9ab0d5;
  font-size: 0.92rem;
}

.xeqt-focus-list strong {
  color: #27e7c3;
  font-size: 1.2rem;
  font-family: "JetBrains Mono", monospace;
}

.xeqt-focus-note {
  margin: 12px 0 0;
  color: #8ea6cf;
  font-size: 0.84rem;
  line-height: 1.4;
}

.xeqt-focus-card--cta {
  display: flex;
  flex-direction: column;
}

.xeqt-focus-card--cta p {
  margin: 0;
  color: #adbedc;
  line-height: 1.55;
  font-size: 1rem;
}

.xeqt-focus-card--cta .btn-primary {
  margin-top: auto;
}


/* ═══════════════════════════════════════════════════════
   CALCULATOR — jbx-* namespace, clean build
   Design: hero-panel aesthetic — JetBrains Mono labels,
   Space Grotesk values, emerald #14cba8, jbx tokens
═══════════════════════════════════════════════════════ */

.jbx-calc-section { padding-top: 0; }

/* ── Preset chips ── */
.jbx-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.jbx-preset {
  font-family: "JetBrains Mono", monospace;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: rgba(6,14,42,.9);
  border: 1px solid var(--jbx-border);
  border-radius: 9px;
  color: var(--jbx-muted);
  padding: 7px 13px;
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
  line-height: 1.4;
}
.jbx-preset:hover {
  border-color: rgba(20,203,168,.45);
  color: var(--jbx-emerald);
  background: var(--jbx-emerald-soft);
}

/* ── Main 2-col panel ── */
.jbx-calc-panel {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(240px,.85fr);
  gap: 20px;
  align-items: start;
  margin-bottom: 40px;
}

/* ── Left inputs block ── */
.jbx-inputs {
  background: var(--jbx-surface);
  border: 1px solid var(--jbx-border);
  border-radius: 20px;
  padding: 24px;
}

/* ── Field ── */
.jbx-field {
  margin-bottom: 18px;
}
.jbx-field:last-child { margin-bottom: 0; }

.jbx-lbl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "JetBrains Mono", monospace;
  font-size: .62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #3a5485;
  margin-bottom: 8px;
}

/* Live slider value shown inline in label */
.jbx-slide-val {
  font-family: "JetBrains Mono", monospace;
  font-size: .75rem;
  font-weight: 800;
  color: var(--jbx-emerald);
}

/* ── Dollar input row ── */
.jbx-input-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  background: rgba(4,10,28,.8);
  border: 1px solid var(--jbx-border);
  border-radius: 11px;
  height: 46px;
  overflow: hidden;
  transition: border-color .15s;
}
.jbx-input-row:focus-within {
  border-color: rgba(20,203,168,.4);
}
.jbx-prefix {
  flex-shrink: 0;
  width: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "JetBrains Mono", monospace;
  font-size: .85rem;
  font-weight: 800;
  color: #2a4470;
  border-right: 1px solid var(--jbx-border);
  height: 100%;
}
.jbx-num {
  flex: 1;
  min-width: 0;
  height: 100%;
  background: transparent;
  border: none;
  outline: none;
  padding: 0 14px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--jbx-ink);
  -moz-appearance: textfield;
}
.jbx-num::-webkit-outer-spin-button,
.jbx-num::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ── Select ── */
.jbx-select {
  display: block;
  width: 100%;
  height: 46px;
  background: rgba(4,10,28,.8);
  border: 1px solid var(--jbx-border);
  border-radius: 11px;
  padding: 0 14px;
  font-family: "Space Grotesk", sans-serif;
  font-size: .95rem;
  font-weight: 700;
  color: var(--jbx-ink);
  appearance: none;
  cursor: pointer;
  transition: border-color .15s;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%233a5485' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}
.jbx-select:focus { outline: none; border-color: rgba(20,203,168,.4); }

/* ── Sliders ── */
.jbx-slider {
  display: block;
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  height: 5px;
  border-radius: 99px;
  background: linear-gradient(to right, var(--jbx-emerald) var(--fill, 45%), rgba(255,255,255,.08) var(--fill, 45%));
  outline: none;
  cursor: pointer;
}
.jbx-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--jbx-emerald);
  border: 2.5px solid var(--jbx-bg);
  box-shadow: 0 0 10px rgba(20,203,168,.5);
  cursor: pointer;
}
.jbx-slider::-moz-range-thumb {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--jbx-emerald);
  border: 2.5px solid var(--jbx-bg);
  box-shadow: 0 0 10px rgba(20,203,168,.5);
  cursor: pointer;
  border-style: solid;
}

/* ── Result cards ── */
.jbx-results {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--jbx-border);
}
.jbx-res-card {
  background: rgba(4,10,28,.7);
  border: 1px solid var(--jbx-border);
  border-radius: 13px;
  padding: 13px 15px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.jbx-res-hero {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, rgba(20,203,168,.1) 0%, rgba(46,115,255,.07) 100%);
  border-color: rgba(20,203,168,.3);
}
.jbx-res-lbl {
  font-family: "JetBrains Mono", monospace;
  font-size: .58rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #3a5485;
}
.jbx-res-val {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--jbx-ink);
}
.jbx-res-big {
  font-size: clamp(1.6rem, 2.8vw, 2.1rem);
  color: var(--jbx-emerald);
  letter-spacing: -.03em;
  line-height: 1;
}

/* ── Right sidebar ── */
.jbx-sidebar {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* ── Side block (milestones) ── */
.jbx-side-block {
  background: var(--jbx-surface);
  border: 1px solid var(--jbx-border);
  border-radius: 20px;
  padding: 18px 20px;
}
.jbx-side-title {
  font-family: "JetBrains Mono", monospace;
  font-size: .62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #2a4470;
  margin-bottom: 13px;
}

/* ── Milestone rows ── */
.jbx-miles { display: flex; flex-direction: column; gap: 7px; }
.jbx-mile {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(4,10,28,.7);
  border: 1px solid var(--jbx-border);
  border-radius: 10px;
  padding: 9px 14px;
}
.jbx-mile-t {
  font-family: "JetBrains Mono", monospace;
  font-size: .75rem;
  font-weight: 700;
  color: var(--jbx-muted);
}
.jbx-mile-y {
  font-family: "Space Grotesk", sans-serif;
  font-size: .88rem;
  font-weight: 800;
  color: var(--jbx-emerald);
}

/* ── Coffee card ── */
.jbx-coffee {
  background: var(--jbx-surface);
  border: 1px solid rgba(20,203,168,.18);
  border-radius: 20px;
  padding: 18px 20px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.jbx-coffee-icon {
  font-size: 1.8rem;
  line-height: 1;
  flex-shrink: 0;
  background: rgba(4,10,28,.6);
  border: 1px solid var(--jbx-border);
  border-radius: 12px;
  padding: 10px;
}
.jbx-coffee-badge {
  display: inline-block;
  font-family: "JetBrains Mono", monospace;
  font-size: .56rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: rgba(255,213,79,.15);
  color: #ffd54f;
  border-radius: 6px;
  padding: 3px 9px;
  margin-bottom: 7px;
}
.jbx-coffee-copy {
  font-size: .84rem;
  line-height: 1.55;
  color: var(--jbx-muted);
  margin: 0;
}
.jbx-em { color: var(--jbx-emerald); }

/* ── Year accordion ── */
.jbx-accordion {
  background: var(--jbx-surface);
  border: 1px solid var(--jbx-border);
  border-radius: 20px;
  overflow: hidden;
}
.jbx-acc-hdr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  cursor: pointer;
  font-family: "JetBrains Mono", monospace;
  font-size: .64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--jbx-muted);
  list-style: none;
}
.jbx-acc-hdr::-webkit-details-marker { display: none; }
.jbx-acc-arrow { font-size: .6rem; color: #2a4470; }
.jbx-tbl-wrap { overflow-x: auto; max-height: 280px; overflow-y: auto; }
.jbx-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: .82rem;
}
.jbx-tbl th {
  font-family: "JetBrains Mono", monospace;
  font-size: .56rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #2a4470;
  padding: 9px 12px;
  text-align: left;
  border-bottom: 1px solid var(--jbx-border);
  background: rgba(4,10,28,.6);
  position: sticky; top: 0;
}
.jbx-tbl td {
  padding: 7px 12px;
  border-bottom: 1px solid rgba(26,43,82,.5);
  color: var(--jbx-ink);
  font-family: "Space Grotesk", sans-serif;
}
.jbx-tbl td.em { color: var(--jbx-emerald); }
.jbx-tbl td.bold { font-weight: 700; }

/* ── FAQ ── */
.jbx-faq-block {
  border-top: 1px solid var(--jbx-border);
  padding-top: 32px;
  margin-bottom: 28px;
}
.jbx-faq-title {
  font-family: "JetBrains Mono", monospace;
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #2a4470;
  margin-bottom: 16px;
}
.jbx-faq-item {
  background: rgba(4,10,28,.6);
  border: 1px solid var(--jbx-border);
  border-radius: 12px;
  margin-bottom: 8px;
  overflow: hidden;
}
.jbx-faq-item summary {
  padding: 13px 16px;
  cursor: pointer;
  font-size: .92rem;
  font-weight: 600;
  color: var(--jbx-ink);
  list-style: none;
  display: flex;
  justify-content: space-between;
}
.jbx-faq-item summary::-webkit-details-marker { display: none; }
.jbx-faq-item summary::after { content: "＋"; font-size: .75rem; color: var(--jbx-muted); }
.jbx-faq-item[open] summary::after { content: "－"; }
.jbx-faq-item p {
  padding: 0 16px 14px;
  margin: 0;
  font-size: .87rem;
  line-height: 1.7;
  color: var(--jbx-muted);
}

/* ── Disclaimer ── */
.jbx-disclaimer {
  font-family: "JetBrains Mono", monospace;
  font-size: .72rem;
  line-height: 1.7;
  color: #2a4470;
  border-top: 1px solid var(--jbx-border);
  padding-top: 20px;
  margin-top: 0;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .jbx-calc-panel { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .jbx-results { grid-template-columns: 1fr; }
  .jbx-res-hero { grid-column: auto; }
}


.concepts-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.concept-card {
  border: 1px solid #243f6c;
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(170deg, #0a1b40, #122a5a);
}

.concept-thumb {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}

.concept-content {
  padding: 16px;
}

.concept-content h3 {
  margin: 0 0 8px;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.3rem, 2.3vw, 2rem);
}

.concept-content p {
  margin: 0;
  color: #9eb0ce;
  line-height: 1.5;
  font-size: clamp(1rem, 1.6vw, 1.2rem);
}

.ask-card {
  border: 1px solid #1f3764;
  border-radius: 24px;
  background: linear-gradient(145deg, #0a1b40, #122a5a);
  padding: 28px;
  margin-bottom: 58px;
}

.ask-card h3 {
  margin: 0 0 10px;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.ask-card p {
  margin: 0 0 16px;
  color: #a8b8d2;
  line-height: 1.6;
  font-size: clamp(1rem, 1.8vw, 1.3rem);
}

.ask-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 18px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid #2f4472;
  background: #203760;
}

.site-footer {
  border-top: 1px solid var(--jbx-border);
  padding: 32px 0 44px;
}

.site-footer .footer-brand {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  opacity: 0.7;
  margin-bottom: 12px;
}

.footer-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.footer-col {
  border: 1px solid #1f3764;
  border-radius: 16px;
  padding: 16px;
  background: linear-gradient(145deg, #0a1b40, #112552);
}

.footer-col h4 {
  margin: 0 0 8px;
  color: #dce8ff;
  font-size: 1.02rem;
  font-family: "Space Grotesk", "Inter", sans-serif;
}

.site-footer .footer-note {
  margin: 0;
  color: #8092b3;
  font-size: 0.96rem;
  text-align: left;
  line-height: 1.5;
}

.footer-easter-egg {
  position: fixed;
  left: 12px;
  bottom: 0;
  z-index: 250;
  opacity: 0;
  transform: translate3d(-12%, 115%, 0) rotate(-7deg);
  transform-origin: bottom left;
  transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1), opacity 280ms ease;
  pointer-events: none;
  will-change: transform, opacity;
  filter: drop-shadow(0 14px 26px rgba(0, 0, 0, 0.35));
}

.footer-easter-egg img {
  display: block;
  width: clamp(132px, 15vw, 235px);
  height: auto;
}

body.is-hero-easter-egg-hover .footer-easter-egg {
  opacity: 1;
  transform: translate3d(0, 34%, 0) rotate(-5deg);
}

.news-feed-intro {
  margin: -6px 0 18px;
  color: #9db2d3;
  font-size: clamp(1rem, 1.75vw, 1.2rem);
}

.news-hero-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.news-card {
  border: 1px solid #1f3764;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(145deg, #0a1b40, #112552);
  box-shadow: 0 14px 30px rgba(3, 13, 37, 0.35);
  position: relative;
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.news-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(20, 203, 168, 0.05), transparent);
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none;
}

.news-card:hover {
  transform: translateY(-4px) scale(1.018);
  border-color: rgba(20, 203, 168, 0.35);
  box-shadow: 0 24px 52px rgba(2, 10, 31, 0.5);
}

.news-card:hover::before {
  opacity: 1;
}

.news-card-media {
  display: block;
  background: #08152f;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.news-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-hero-card {
  border: 1px solid #27467a;
  border-radius: 28px;
  overflow: hidden;
  background: linear-gradient(180deg, #102a62 0%, #102a62 100%);
  box-shadow: 0 22px 48px rgba(2, 10, 31, 0.42);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  position: relative;
  transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}

.news-hero-card:hover {
  transform: translateY(-4px) scale(1.018);
  border-color: rgba(20, 203, 168, 0.35);
  box-shadow: 0 24px 52px rgba(2, 10, 31, 0.5);
}

.news-hero-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(20, 203, 168, 0.05), transparent);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
  border-radius: inherit;
}

.news-hero-card:hover::before {
  opacity: 1;
}

.news-hero-media {
  display: block;
  background: #08152f;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.news-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-thumb-fallback {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 9;
  color: #8ca4c9;
  font-weight: 600;
}

.news-hero-media .news-thumb-fallback {
  aspect-ratio: 16 / 10;
}

.news-card-body {
  padding: 14px;
}

.news-hero-body {
  padding: 14px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.news-hero-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.news-card-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.news-meta {
  margin: 0 0 8px;
  color: #8ea0be;
  font-size: 0.9rem;
}

.news-card-title {
  margin: 0 0 10px;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.25rem, 2.2vw, 1.8rem);
  line-height: 1.2;
}

.news-card-title a {
  text-decoration: none;
}

.news-hero-title {
  margin: 0;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.05rem, 1.8vw, 1.4rem);
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.news-hero-title a {
  display: -webkit-box;
  overflow: hidden;
  text-decoration: none;
  color: #eef4ff;
  text-overflow: ellipsis;
  word-break: break-word;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.news-author {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #d9e5fb;
  font-weight: 600;
  font-size: 0.95rem;
}

.news-author img {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid #3e5887;
  object-fit: cover;
}

.news-hero-author {
  margin-left: auto;
  justify-content: flex-end;
  text-align: right;
  font-size: 0.95rem;
}

.news-card-author {
  margin-left: auto;
  justify-content: flex-end;
  text-align: right;
}

.news-hero-author img {
  width: 30px;
  height: 30px;
}

.news-hero-body .news-meta {
  margin: 0;
  color: #8ea0be;
  font-size: 0.9rem;
  font-weight: 400;
}

.news-card-body .news-meta {
  margin: 0;
}

.news-hero-excerpt {
  margin: 0;
  color: #a8b8d2;
  line-height: 1.5;
  font-size: 1rem;
}

.news-card-excerpt {
  margin: 10px 0 0;
  color: #a8b8d2;
  line-height: 1.5;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.news-feed-actions {
  margin-top: 18px;
  margin-bottom: 42px;
}

.news-feed-actions .btn-secondary {
  padding: 12px 18px;
  font-size: 1rem;
}

.news-read-link {
  display: inline-flex;
  margin-top: 12px;
  text-decoration: none;
  font-weight: 700;
  color: #8cefd8;
}

.pagination-wrap {
  margin-top: 22px;
}

.news-hero-empty {
  border: 1px solid #1f3764;
  border-radius: 16px;
  padding: 18px;
  background: linear-gradient(145deg, #0a1b40, #112552);
}

.trading-review-shell {
  display: grid;
  gap: 22px;
  margin-bottom: 58px;
}

.tr-hero-card,
.tr-snapshot-card,
.tr-gallery-card,
.tr-content-card {
  border: 1px solid #1f3764;
  border-radius: 30px;
  padding: 24px;
  background: linear-gradient(160deg, #091a3f 0%, #0f2554 100%);
  box-shadow: 0 24px 50px rgba(3, 11, 31, 0.38);
}

.tr-hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 24px;
  align-items: stretch;
}

.tr-hero-copy {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.tr-hero-head {
  margin-bottom: 10px;
}

.tr-hero-head h2 {
  font-size: clamp(2rem, 3.3vw, 3rem);
  color: var(--jbx-btn);
}

.tr-pill {
  margin: 0 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  border: 1px solid rgba(20, 203, 168, 0.38);
  background: rgba(20, 203, 168, 0.12);
  color: #7ff0d8;
  font-weight: 800;
  letter-spacing: 0.08em;
  font-size: 0.8rem;
  text-transform: uppercase;
  padding: 8px 14px;
}

.tr-hero-title {
  margin: 0 0 12px;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.tr-hero-blurb {
  margin: 0;
  color: #a8b9d5;
  font-size: clamp(1rem, 1.75vw, 1.45rem);
  line-height: 1.55;
}

.tr-hero-actions {
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.tr-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.tr-cta-btn {
  padding: 13px 20px;
  font-size: 1.02rem;
  border-radius: 14px;
}

.tr-pill-bottom {
  margin: 0;
}

.tr-hero-media {
  border: 1px solid #2a4572;
  border-radius: 24px;
  overflow: hidden;
  min-height: 320px;
  height: 100%;
  background: #08152f;
}

.tr-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  display: block;
}

.tr-media-empty {
  min-height: 320px;
  display: grid;
  place-items: center;
  text-align: center;
  color: #8ca4c9;
  padding: 16px;
}

.tr-section-head {
  margin-bottom: 16px;
}

.tr-table-wrap {
  border: 1px solid #284777;
  border-radius: 18px;
  overflow: hidden;
}

.tr-table {
  width: 100%;
  border-collapse: collapse;
}

.tr-table th,
.tr-table td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(65, 92, 136, 0.62);
}

.tr-table tr:last-child th,
.tr-table tr:last-child td {
  border-bottom: 0;
}

.tr-table th {
  width: 38%;
  text-align: left;
  color: #9ab0d2;
  font-weight: 700;
  font-size: 0.96rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: rgba(9, 25, 57, 0.6);
}

.tr-table td {
  color: #e6f0ff;
  font-weight: 600;
  background: rgba(13, 33, 72, 0.62);
}

.tr-gallery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.tr-gallery-item {
  margin: 0;
  border: 1px solid #284777;
  border-radius: 18px;
  overflow: hidden;
  min-height: 220px;
  background: #08152f;
}

.tr-gallery-item img {
  width: 100%;
  min-height: 220px;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tr-content-entry {
  color: #d6e3f8;
  line-height: 1.7;
  font-size: clamp(1rem, 1.4vw, 1.14rem);
}

.tr-content-entry h2,
.tr-content-entry h3,
.tr-content-entry h4 {
  font-family: "Space Grotesk", "Inter", sans-serif;
  color: #f2f7ff;
  line-height: 1.2;
}

.tr-content-entry a {
  color: #80efd6;
}

.tr-content-entry img {
  border-radius: 16px;
  border: 1px solid #2a4572;
}

@keyframes jbxPing {
  0% {
    transform: scale(0.95);
    opacity: 0.4;
  }
  75% {
    transform: scale(1.5);
    opacity: 0;
  }
  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

@keyframes jbxCoffeeSteam {
  0% {
    opacity: 0;
    transform: translate3d(0, 9px, 0) scale(0.88) rotate(-4deg);
  }
  18% {
    opacity: 0.72;
  }
  52% {
    opacity: 0.44;
    transform: translate3d(3px, -8px, 0) scale(1) rotate(6deg);
  }
  100% {
    opacity: 0;
    transform: translate3d(-2px, -19px, 0) scale(1.06) rotate(-8deg);
  }
}

@media (min-width: 960px) {
  .nav-links {
    display: flex;
  }
}

@media (max-width: 1100px) {
  .hero {
    grid-template-columns: 1fr;
  }

  .stats-card {
    --jbx-card-tilt: 0deg;
  }
}

@media (prefers-reduced-motion: reduce) {
  .stats-card {
    transition: none;
  }

  .window-dots span {
    transition: none;
  }

  .footer-easter-egg {
    transition: none;
  }

  .calculator-panel .xeqt-calculator .xeqt-coffee:hover .xeqt-coffee-media::before,
  .calculator-panel .xeqt-calculator .xeqt-coffee:hover .xeqt-coffee-media::after {
    animation: none;
  }
}

@media (max-width: 920px) {
  .concepts-grid,
  .xeqt-focus-grid,
  .news-grid,
  .news-hero-grid {
    grid-template-columns: 1fr 1fr;
  }

  .tr-hero-grid {
    grid-template-columns: 1fr;
  }

  .tr-gallery-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .site-header-inner {
    flex-wrap: wrap;
    padding: 10px 0;
  }

  .reset-session-btn {
    width: 100%;
  }

  .footer-easter-egg img {
    width: 148px;
  }

  body.is-hero-easter-egg-hover .footer-easter-egg {
    transform: translate3d(0, 40%, 0) rotate(-5deg);
  }

  .concepts-grid,
  .xeqt-focus-grid,
  .news-grid,
  .news-hero-grid,
  .stats-grid {
    grid-template-columns: 1fr;
  }

  .tr-hero-card,
  .tr-snapshot-card,
  .tr-gallery-card,
  .tr-content-card {
    padding: 18px;
    border-radius: 20px;
  }

  .tr-table th,
  .tr-table td {
    padding: 12px;
    font-size: 0.95rem;
  }

  .footer-columns {
    grid-template-columns: 1fr;
  }

  .vision-top {
    align-items: flex-start;
  }
}

/* ================================================================
   REDESIGN v2 — New pages, homepage sections, nav, footer
   ================================================================ */

/* ── Utility ── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ── Mobile hamburger ── */
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--jbx-ink);border-radius:2px;transition:transform .25s ease,opacity .25s ease}
.site-nav{display:flex;align-items:center}

/* Active nav link */
.nav-links a[aria-current="page"],.nav-links a.is-current{color:var(--jbx-emerald);background:var(--jbx-emerald-soft)}

/* ── HOMEPAGE HERO (wraps original stat card) ── */
.hp-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr);gap:48px;align-items:center;padding-bottom:72px;margin-bottom:0}
.hp-hero-text{}
.hp-eyebrow{display:inline-flex;align-items:center;gap:9px;background:var(--jbx-emerald-soft);border:1px solid rgba(20,203,168,.3);color:var(--jbx-emerald);border-radius:999px;padding:7px 14px;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:22px}
.hp-hero-title{font-family:"Space Grotesk","Inter",sans-serif;font-size:clamp(2.4rem,5vw,4rem);font-weight:800;line-height:1.06;letter-spacing:-.025em;margin:0 0 20px}
.hp-hero-grad{background:linear-gradient(135deg,#14cba8 0%,#2e73ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hp-hero-copy{color:#a8b8d2;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.65;margin:0 0 32px;max-width:540px}
.hp-hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* ── FUND DATA STRIP ── */
.hp-strip{background:linear-gradient(135deg,#081a3c,#0f2456);border:1px solid var(--jbx-border);border-radius:18px;padding:24px 28px 16px;margin-bottom:64px}
.hp-strip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-bottom:12px}
.hp-strip-item{padding:10px 14px;border-right:1px solid rgba(255,255,255,.06);cursor:default}
.hp-strip-item:last-child{border-right:none}
.hp-strip-lbl{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--jbx-muted);margin-bottom:4px}
.hp-strip-val{font-family:"Space Grotesk","Inter",sans-serif;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:800;color:var(--jbx-ink);letter-spacing:-.02em;transition:color .2s}
.hp-strip-item:hover .hp-strip-val{color:#14cba8 !important}
.hp-strip-src{font-size:.76rem;color:#4f6d8f;margin:0}

/* ── SECTION SPACING — override base .section for homepage clarity ── */
.hp-hero + .hp-strip { margin-top: 0; }
.hp-strip { margin-bottom: 80px; }

/* ── HP News Image Strip ── */
.hp-news-strip{
  background:linear-gradient(135deg,#081a3c,#0f2456);
  border:1px solid var(--jbx-border);
  border-radius:18px;
  overflow:hidden;
  margin-bottom:64px;
}
.hp-news-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  height:165px;
}
.hp-ns-item{
  position:relative;
  overflow:hidden;
  cursor:pointer;
  border-right:1px solid var(--jbx-border);
}
.hp-ns-item:last-child{border-right:none}
.hp-ns-img{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transition:transform .5s cubic-bezier(.4,0,.2,1),filter .5s;
  filter:brightness(.45) saturate(.7);
}
.hp-ns-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(2,9,31,.95) 0%,rgba(2,9,31,.45) 55%,rgba(2,9,31,.05) 100%);
  transition:opacity .3s;
}
.hp-ns-meta{
  position:absolute;bottom:11px;left:13px;right:13px;z-index:2;
  transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;
}
.hp-ns-tag{
  display:block;
  font-family:"JetBrains Mono",monospace;font-size:.5rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  background:rgba(20,203,168,.15);border:1px solid rgba(20,203,168,.3);
  color:var(--jbx-emerald);border-radius:5px;padding:2px 7px;margin-bottom:4px;
}
.hp-ns-date{
  font-family:"JetBrains Mono",monospace;font-size:.52rem;font-weight:500;
  color:rgba(144,161,191,.65);
}
.hp-ns-hover{
  position:absolute;inset:0;z-index:3;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:14px;
  background:linear-gradient(160deg,rgba(6,19,56,.97),rgba(2,9,31,.99));
  opacity:0;transform:translateY(8px);
  transition:opacity .28s ease,transform .28s ease;
  pointer-events:none;
}
.hp-ns-title{
  font-family:"Space Grotesk",sans-serif;font-size:.82rem;font-weight:700;
  color:var(--jbx-ink);line-height:1.35;margin-bottom:10px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.hp-ns-btn{
  display:inline-flex;align-items:center;gap:5px;
  font-family:"JetBrains Mono",monospace;font-size:.58rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--jbx-emerald);
  background:rgba(20,203,168,.12);border:1px solid rgba(20,203,168,.35);
  border-radius:7px;padding:5px 10px;text-decoration:none;
  transition:background .15s,border-color .15s;
}
.hp-ns-arrow{transition:transform .2s}
/* hover states */
.hp-ns-item:hover .hp-ns-img{transform:scale(1.07);filter:brightness(.22) saturate(.5)}
.hp-ns-item:hover .hp-ns-overlay{opacity:0}
.hp-ns-item:hover .hp-ns-meta{opacity:0;transform:translateY(5px)}
.hp-ns-item:hover .hp-ns-hover{opacity:1;transform:translateY(0);pointer-events:auto}
.hp-ns-item:hover .hp-ns-btn{background:rgba(20,203,168,.2);border-color:rgba(20,203,168,.6)}
.hp-ns-item:hover .hp-ns-arrow{transform:translateX(3px)}
/* footer */
.hp-ns-footer{
  padding:9px 18px;border-top:1px solid var(--jbx-border);
  display:flex;align-items:center;justify-content:space-between;
}
.hp-ns-footer-lbl{
  font-family:"JetBrains Mono",monospace;font-size:.57rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;color:#2a4470;
}
.hp-ns-footer-link{
  font-family:"JetBrains Mono",monospace;font-size:.57rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--jbx-emerald);text-decoration:none;opacity:.7;
  transition:opacity .15s;
}
.hp-ns-footer-link:hover{opacity:1}
@media(max-width:680px){
  .hp-news-grid{grid-template-columns:repeat(2,1fr);height:300px}
  .hp-ns-item:nth-child(2){border-right:none}
  .hp-ns-item{border-bottom:1px solid var(--jbx-border)}
}
section.section { padding-top: 32px; padding-bottom: 32px; margin-bottom: 80px; border-top: 1px solid rgba(255,255,255,0.05); }
section.section:first-of-type { border-top: none; }
.hp-cta-strip { margin-top: 0; margin-bottom: 80px; }

/* ── SECTION INTRO ── */
.hp-section-intro,.inner-section-intro{margin:-4px 0 24px;color:#9db2d3;font-size:clamp(1rem,1.75vw,1.15rem);max-width:660px;line-height:1.6}

/* ── EXPLORE GRID ── */
.hp-explore-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:4px}
.hp-explore-card{display:flex;flex-direction:column;gap:10px;padding:26px;border:1px solid var(--jbx-border);border-radius:22px;background:linear-gradient(145deg,#091832,#102248);text-decoration:none;color:var(--jbx-ink);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;position:relative;overflow:hidden}
.hp-explore-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(20,203,168,.05),transparent);opacity:0;transition:opacity .3s}
.hp-explore-card:hover{transform:translateY(-4px);border-color:rgba(20,203,168,.35);box-shadow:0 24px 52px rgba(2,10,31,.5)}
.hp-explore-card:hover::before{opacity:1}
.hp-explore-main{display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:18px;align-items:center}
.hp-explore-copy{display:flex;flex-direction:column;gap:10px;min-width:0}
.hp-explore-icon{color:var(--jbx-emerald)}
.hp-explore-card h3{font-family:"Space Grotesk","Inter",sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:-.01em;margin:0}
.hp-explore-card p{color:#8aa5c7;font-size:.93rem;line-height:1.55;flex:1;margin:0;max-width:46ch}
.hp-explore-arrow{font-size:.88rem;font-weight:700;color:var(--jbx-emerald)}
.hp-explore-mini{justify-self:end;width:168px;min-height:118px;border:1px solid rgba(20,203,168,.22);border-radius:14px;background:rgba(4,14,38,.9);box-shadow:0 14px 30px rgba(2,10,31,.45);padding:10px;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.hp-mini-details-top{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:.62rem;font-weight:700;color:#8ea8cc}
.hp-mini-details-line{height:3px;border-radius:999px;background:linear-gradient(90deg,#14cba8,#2e73ff)}
.hp-mini-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;font-family:"JetBrains Mono",monospace;font-size:.5rem;color:#4f6d8f;text-transform:uppercase}
.hp-mini-details-grid-v{font-size:.58rem;color:#d9e7fa;font-family:"Space Grotesk","Inter",sans-serif;font-weight:700;text-transform:none}
.hp-mini-div{padding:9px 10px}
.hp-mini-div-row{display:grid;grid-template-columns:60px 1fr auto;gap:7px;align-items:center;font-size:.53rem;color:#8ea8cc;font-family:"JetBrains Mono",monospace}
.hp-mini-div-row strong{color:#dfeeff;font-size:.58rem}
.hp-mini-div-foot{margin-top:auto;display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:.56rem;color:#6e87ac;text-transform:uppercase}
.hp-mini-div-foot b{color:#14cba8;font-size:.66rem}
.hp-mini-hold{display:flex;flex-direction:row;align-items:center;gap:10px}
.hp-mini-hold-donut{width:62px;height:62px;border-radius:50%;background:conic-gradient(#14cba8 0 45%,#2e73ff 45% 70%,#7c4dff 70% 94%,#ff7043 94% 100%);position:relative;flex-shrink:0}
.hp-mini-hold-donut::after{content:'';position:absolute;inset:14px;border-radius:50%;background:#0a1a3f;border:1px solid rgba(20,203,168,.25)}
.hp-mini-hold-list{display:flex;flex-direction:column;gap:5px;min-width:0}
.hp-mini-hold-list span{display:flex;align-items:center;gap:5px;font-family:"JetBrains Mono",monospace;font-size:.52rem;color:#8ea8cc}
.hp-mini-hold-list i{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}
.hp-mini-calc-top{display:flex;justify-content:space-between;align-items:flex-end;font-family:"JetBrains Mono",monospace;font-size:.52rem;color:#8ea8cc;text-transform:uppercase}
.hp-mini-calc-top b{font-family:"Space Grotesk","Inter",sans-serif;font-size:.84rem;color:#14cba8;letter-spacing:-.02em}
.hp-mini-calc-bar{height:5px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.hp-mini-calc-bar span{display:block;height:100%;width:var(--w,50%);background:linear-gradient(90deg,#14cba8,#2e73ff)}
.hp-mini-calc-row{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:.53rem;color:#8ea8cc}

/* ── PERFORMANCE ── */
.hp-perf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.hp-perf-card{background:linear-gradient(160deg,#091832,#102248);border:1px solid var(--jbx-border);border-radius:16px;padding:22px 20px;display:flex;flex-direction:column;gap:10px;transition:transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s,border-color .22s;cursor:default}
@media(hover:hover) and (pointer:fine){.hp-perf-card:hover{transform:translateY(-5px) scale(1.025);box-shadow:0 24px 60px rgba(2,8,26,.55);border-color:rgba(20,203,168,.3)}}
.hp-perf-period{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--jbx-muted)}
.hp-perf-return{font-family:"Space Grotesk","Inter",sans-serif;font-size:clamp(1.6rem,2.5vw,2rem);font-weight:800;color:var(--jbx-emerald);letter-spacing:-.025em;line-height:1}
.hp-perf-bar-wrap{height:4px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden;margin-top:auto}
.hp-perf-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--jbx-emerald),#2e73ff);border-radius:99px;transition:width 1.1s cubic-bezier(.4,0,.2,1)}
.hp-perf-disc{font-size:.78rem;color:#4f6d8f;margin:0}

/* ── WHY ── */
.hp-why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.hp-why-item{padding:28px;border:1px solid var(--jbx-border);border-radius:18px;background:linear-gradient(145deg,#061332,#0e1e40);position:relative;overflow:hidden}
.hp-why-num{position:absolute;top:16px;right:20px;font-family:"Space Grotesk","Inter",sans-serif;font-size:3.5rem;font-weight:900;color:rgba(20,203,168,.07);letter-spacing:-.05em;line-height:1;pointer-events:none;user-select:none;aria-hidden:true}
.hp-why-item h3{font-family:"Space Grotesk","Inter",sans-serif;font-size:1.02rem;font-weight:700;margin:0 0 10px;letter-spacing:-.01em}
.hp-why-item p{color:#8ea8cc;font-size:.93rem;line-height:1.6;margin:0}

/* ── CTA STRIP ── */
.hp-cta-strip{background:linear-gradient(135deg,rgba(14,28,60,.88),rgba(16,36,78,.88));border:1px solid rgba(20,203,168,.2);border-radius:20px;padding:38px 34px;margin-top:20px}
.hp-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.hp-cta-inner h2{font-family:"Space Grotesk","Inter",sans-serif;font-size:clamp(1.2rem,2.5vw,1.7rem);font-weight:700;margin:0 0 7px;letter-spacing:-.015em}
.hp-cta-inner p{margin:0;color:#8aa5c5;font-size:.97rem}

/* ── INNER PAGE HERO — see hero panels section below ── */

/* ── DETAIL PAGE: OVERVIEW ── */
.detail-overview-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:stretch;overflow:visible}
.detail-fact-wrap{border:1px solid var(--jbx-border);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.detail-fact-table{width:100%;border-collapse:collapse;flex:1}
.detail-fact-table th,.detail-fact-table td{padding:13px 18px;border-bottom:1px solid rgba(65,92,136,.45);text-align:left;font-size:.94rem}
.detail-fact-table tr:last-child th,.detail-fact-table tr:last-child td{border-bottom:none}
.detail-fact-table th{color:#8ca8cb;font-weight:700;width:42%;background:rgba(9,25,57,.55);font-size:.87rem}
.detail-fact-table td{color:#e6f0ff;font-weight:600;background:rgba(13,33,72,.5)}
.detail-metrics-col{display:flex;flex-direction:column;gap:13px;height:100%;overflow:visible;padding:4px}
.detail-metric-card{background:linear-gradient(145deg,#091832,#0f2248);border:1px solid var(--jbx-border);border-radius:15px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;flex:1;transition:transform .24s ease,box-shadow .24s,border-color .24s;position:relative;will-change:transform}
.detail-metric-card::before{content:'';position:absolute;inset:0;border-radius:14px;background:linear-gradient(135deg,rgba(20,203,168,.07),transparent);opacity:0;transition:opacity .3s;pointer-events:none}
@media(hover:hover) and (pointer:fine){
  .detail-metric-card:hover{transform:translateY(-4px) scale(1.018);box-shadow:0 24px 52px rgba(2,10,31,.5);border-color:rgba(20,203,168,.35)}
  .detail-metric-card:hover::before{opacity:1}
}
.detail-metric-lbl{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--jbx-muted)}
.detail-metric-val{font-family:"Space Grotesk","Inter",sans-serif;font-size:1.7rem;font-weight:800;color:var(--jbx-emerald);letter-spacing:-.025em;line-height:1.1}
.detail-metric-sub{font-size:.78rem;color:#617ba0}
.detail-source-note{margin:13px 0 0;font-size:.78rem;color:#4f6d8f}

/* STRUCTURE */
.detail-structure-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.detail-structure-card{background:linear-gradient(145deg,#091832,#102248);border:1px solid var(--jbx-border);border-radius:18px;padding:24px;position:relative;overflow:hidden}
.detail-structure-badge{display:inline-flex;background:var(--jbx-emerald-soft);border:1px solid rgba(20,203,168,.3);color:var(--jbx-emerald);border-radius:9px;padding:4px 12px;font-weight:800;font-size:.88rem;letter-spacing:.05em;margin-bottom:12px}
.detail-structure-card h3{font-family:"Space Grotesk","Inter",sans-serif;font-size:1rem;font-weight:700;margin:0 0 10px}
.detail-structure-card p{color:#8ea8cc;font-size:.91rem;line-height:1.55;margin:0}
.detail-structure-weight{position:absolute;top:20px;right:20px;font-family:"Space Grotesk","Inter",sans-serif;font-size:1.5rem;font-weight:900;color:rgba(20,203,168,.12);letter-spacing:-.03em;pointer-events:none}

/* PERFORMANCE TABLE */
.detail-perf-wrap{border:1px solid var(--jbx-border);border-radius:18px;overflow:hidden}
.detail-perf-table{width:100%;border-collapse:collapse}
.detail-perf-table th,.detail-perf-table td{padding:13px 20px;border-bottom:1px solid rgba(65,92,136,.4);text-align:left;font-size:.94rem}
.detail-perf-table tr:last-child td{border-bottom:none}
.detail-perf-table thead th{background:rgba(9,25,57,.7);color:#8ca8cb;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.detail-perf-table tbody td{background:rgba(13,33,72,.45);color:#d5e4f5;font-weight:500}
.detail-perf-pos{color:var(--jbx-emerald)!important;font-weight:700!important}

/* ── DIVIDENDS PAGE ── */
.div-explainer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.div-explainer-card{background:linear-gradient(145deg,#091832,#102248);border:1px solid var(--jbx-border);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.div-explainer-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(20,203,168,.05),transparent);opacity:0;transition:opacity .3s;pointer-events:none}
.div-explainer-card:hover{transform:translateY(-4px) scale(1.018);border-color:rgba(20,203,168,.35);box-shadow:0 24px 52px rgba(2,10,31,.5)}
.div-explainer-card:hover::before{opacity:1}
.div-explainer-icon{color:var(--jbx-emerald)}
.div-explainer-card h3{font-family:"Space Grotesk","Inter",sans-serif;font-size:1rem;font-weight:700;margin:0}
.div-explainer-card p{color:#8ea8cc;font-size:.92rem;line-height:1.6;margin:0}

/* 2025 FEATURED SECTION */
.div-2025-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.div-2025-card{background:linear-gradient(145deg,#091832,#102248);border:1px solid var(--jbx-border);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.div-2025-card--q2,.div-2025-card--q4{border-color:rgba(20,203,168,.3)}
.div-2025-quarter{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--jbx-muted)}
.div-2025-amount{font-family:"Space Grotesk","Inter",sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:800;color:var(--jbx-emerald);letter-spacing:-.025em;line-height:1}
.div-2025-row{display:flex;justify-content:space-between;font-size:.8rem;color:#8ca8cb}
.div-2025-row span:last-child{color:#d0e2f4;font-weight:600}
.div-2025-bar-wrap{height:4px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden;margin-top:auto}
.div-2025-bar{height:100%;width:var(--w,0%);background:linear-gradient(90deg,var(--jbx-emerald),#2e73ff);border-radius:99px}
.div-2025-summary{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;margin-bottom:6px}
.div-2025-total-card{background:linear-gradient(145deg,#061f3a,#0c2e52);border:1px solid rgba(20,203,168,.3);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:8px}
.div-2025-total-lbl{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--jbx-muted)}
.div-2025-total-val{font-family:"Space Grotesk","Inter",sans-serif;font-size:2rem;font-weight:800;color:var(--jbx-emerald);letter-spacing:-.025em;line-height:1}
.div-2025-total-val span{font-size:1rem;font-weight:500;color:#8ea8cc}
.div-2025-total-card p{margin:0;color:#8ea8cc;font-size:.88rem;line-height:1.55}
.div-2025-note-card{background:linear-gradient(145deg,#091832,#102248);border:1px solid var(--jbx-border);border-radius:18px;padding:24px}
.div-2025-note-card h3{font-family:"Space Grotesk","Inter",sans-serif;font-size:1rem;font-weight:700;margin:0 0 10px}
.div-2025-note-card p{margin:0;color:#8ea8cc;font-size:.92rem;line-height:1.6}

/* BAR CHART */
.div-chart-legend{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--jbx-muted);font-weight:600;margin-bottom:12px}
.div-chart-dot{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--jbx-emerald)}
.div-area-chart-outer{border:1px solid var(--jbx-border);border-radius:18px;padding:22px 18px 10px;background:linear-gradient(145deg,#091832,#0f2248);margin-bottom:24px}
.div-area-xlabels{display:flex;justify-content:space-between;padding:6px 30px 0;margin-top:2px}
.div-area-xlabels span{font-size:.72rem;font-weight:700;color:#617ba0;font-family:'JetBrains Mono',monospace}

/* FULL HISTORY TABLE */
.div-table-wrap{border:1px solid var(--jbx-border);border-radius:18px;overflow:hidden;max-height:440px;overflow-y:auto}
.div-table{width:100%;border-collapse:collapse}
.div-table thead th{position:sticky;top:0;background:#0a1d4a;color:#8ca8cb;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:11px 18px;text-align:left;border-bottom:1px solid var(--jbx-border)}
.div-table tbody td{padding:10px 18px;border-bottom:1px solid rgba(40,71,120,.38);font-size:.92rem;color:#d8e8f8;background:rgba(13,33,72,.45);font-weight:500}
.div-table tr:last-child td{border-bottom:none}
.div-amount-cell{font-weight:700!important;color:var(--jbx-emerald)!important}
.div-row-2025 td{background:rgba(20,203,168,.04)!important}
.div-badge-2025{display:inline-block;background:var(--jbx-emerald-soft);border:1px solid rgba(20,203,168,.3);color:var(--jbx-emerald);border-radius:5px;padding:1px 6px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-left:6px;vertical-align:middle}

/* YIELD CONTEXT */
.div-yield-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.div-yield-card{background:linear-gradient(145deg,#091832,#102248);border:1px solid var(--jbx-border);border-radius:18px;padding:24px}
.div-yield-card--hl{border-color:rgba(20,203,168,.35);background:linear-gradient(145deg,#061f3a,#0c2e52)}
.div-yield-lbl{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--jbx-muted);margin-bottom:8px}
.div-yield-val{display:block;font-family:"Space Grotesk","Inter",sans-serif;font-size:2.2rem;font-weight:800;color:var(--jbx-emerald);letter-spacing:-.03em;margin-bottom:10px;line-height:1}
.div-yield-sub{font-size:1rem;font-weight:500;color:#8ea8cc}
.div-yield-card h3{font-family:"Space Grotesk","Inter",sans-serif;font-size:1rem;font-weight:700;margin:0 0 10px}
.div-yield-card p{margin:0;color:#8ea8cc;font-size:.92rem;line-height:1.6}

/* ── HOLDINGS PAGE ── */
.holdings-geo-grid{display:grid;grid-template-columns:400px 1fr;gap:44px;align-items:center}
.holdings-donut-wrap{display:flex;flex-direction:column;align-items:center;gap:18px}
.holdings-donut{width:380px;height:380px;transform:rotate(-90deg)}
.holdings-donut circle{transition:stroke-dasharray 1.3s cubic-bezier(.4,0,.2,1);stroke-dasharray:0 565.49}
.holdings-donut.is-animated circle:nth-child(1){stroke-dasharray:255.03 310.46;stroke-dashoffset:0;transition-delay:0s}
.holdings-donut.is-animated circle:nth-child(2){stroke-dasharray:140.81 424.68;stroke-dashoffset:-255.03;transition-delay:.18s}
.holdings-donut.is-animated circle:nth-child(3){stroke-dasharray:136.28 429.21;stroke-dashoffset:-395.84;transition-delay:.36s}
.holdings-donut.is-animated circle:nth-child(4){stroke-dasharray:33.36 532.13;stroke-dashoffset:-532.12;transition-delay:.54s}
.holdings-donut-legend{display:flex;flex-direction:column;gap:11px;width:100%;min-width:172px}
.holdings-legend-item{display:flex;align-items:center;gap:10px;font-size:1rem}
.holdings-legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}
.holdings-legend-name{flex:1;color:#c5d5ec;font-size:1rem}
.holdings-legend-pct{font-weight:700;font-size:1rem}
.holdings-geo-bars{display:flex;flex-direction:column;gap:16px}
.holdings-geo-row{display:grid;grid-template-columns:200px 1fr 60px;align-items:center;gap:14px}
.holdings-geo-meta{display:flex;flex-direction:column;gap:3px}
.holdings-geo-name{font-weight:700;font-size:1.05rem;color:#e6f0ff}
.holdings-geo-detail{font-size:.82rem;color:#617ba0}
.holdings-geo-track{height:12px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden}
.holdings-geo-fill{height:100%;border-radius:99px;width:0;transition:width 1s cubic-bezier(.4,0,.2,1)}
.holdings-geo-fill.is-animated{width:var(--geo-w,0%)}
.holdings-geo-pct{font-size:1rem;font-weight:700;text-align:right}
.holdings-sector-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.holdings-sector-card{background:linear-gradient(145deg,#091832,#0f2248);border:1px solid var(--jbx-border);border-radius:14px;padding:18px 20px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:8px;align-items:center}
.holdings-sector-track{grid-column:1/-1;height:7px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden}
.holdings-sector-fill{height:100%;width:0;background:linear-gradient(90deg,var(--jbx-emerald),#2e73ff);border-radius:99px;transition:width 1s cubic-bezier(.4,0,.2,1)}
.holdings-sector-fill.is-animated{width:var(--w,0%)}
.holdings-sector-name{font-size:1rem;font-weight:600;color:#d5e5f8}
.holdings-sector-pct{font-size:1rem;font-weight:800;color:var(--jbx-emerald)}
.holdings-underlying-wrap{border:1px solid var(--jbx-border);border-radius:18px;overflow:hidden}
.holdings-underlying-table{width:100%;border-collapse:collapse}
.holdings-underlying-table th,.holdings-underlying-table td{padding:13px 20px;border-bottom:1px solid rgba(65,92,136,.4);text-align:left;font-size:.94rem}
.holdings-underlying-table tr:last-child td{border-bottom:none}
.holdings-underlying-table thead th{background:rgba(9,25,57,.7);color:#8ca8cb;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.holdings-underlying-table tbody td{background:rgba(13,33,72,.45);color:#d5e4f5;font-weight:500}
.holdings-ticker{font-family:"Space Grotesk","Inter",sans-serif;font-weight:800!important;color:var(--jbx-emerald)!important;letter-spacing:.04em}
.holdings-weight{font-weight:700!important;color:#e6f0ff!important}
.holdings-top-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.holdings-top-card{background:linear-gradient(145deg,#091832,#102248);border:1px solid var(--jbx-border);border-radius:15px;padding:17px 20px;display:flex;flex-direction:column;gap:7px}
.holdings-top-head{display:flex;justify-content:space-between;align-items:center}
.holdings-top-ticker{font-family:"Space Grotesk","Inter",sans-serif;font-size:1rem;font-weight:800;color:var(--jbx-emerald);letter-spacing:.03em}
.holdings-top-sector{font-size:.73rem;color:#617ba0;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.holdings-top-name{font-size:.88rem;color:#c5d5ec;font-weight:400}
.holdings-top-bar-wrap{height:5px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden}
.holdings-top-bar{height:100%;width:var(--w,0%);background:linear-gradient(90deg,var(--jbx-emerald),#2e73ff);border-radius:99px}
.holdings-top-weight{font-size:.82rem;font-weight:700;color:#e6f0ff}

/* ── FOOTER REDESIGN ── */
.site-footer{border-top:1px solid var(--jbx-border);padding:52px 0 32px;margin-top:56px;background:rgba(2,9,31,.5)}
.footer-top{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start;margin-bottom:34px}
.footer-brand-block{max-width:320px;display:flex;flex-direction:column;gap:12px}
.footer-brand-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--jbx-ink)}
.footer-brand-desc{margin:0;color:#617ba0;font-size:.85rem;line-height:1.55}
.footer-nav{display:flex;gap:48px}
.footer-nav-col h4{color:#617ba0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}
.footer-nav-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.footer-nav-col ul li a{text-decoration:none;color:#7a9ac0;font-size:.88rem;transition:color .2s}
.footer-nav-col ul li a:hover{color:var(--jbx-emerald)}
.footer-rule{height:1px;background:var(--jbx-border);margin-bottom:28px}
.footer-legal{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px}
.footer-legal-col h4{color:#617ba0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 7px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.04);padding-top:18px}
.footer-copy{margin:0;font-size:.78rem;color:#2d4460}

/* ── RESPONSIVE ── */
@media (max-width:1100px){
  .hp-hero{grid-template-columns:1fr}
  .stats-wrap{display:none}
  .detail-overview-grid{grid-template-columns:1fr}
  .holdings-geo-grid{grid-template-columns:1fr}
}
@media (max-width:920px){
  .hp-explore-grid,.hp-why-grid,.detail-structure-grid,.div-yield-grid{grid-template-columns:1fr}
  .hp-explore-main{grid-template-columns:1fr}
  .hp-explore-mini{display:none}
  .hp-explore-card p{max-width:none}
  .hp-perf-grid,.div-2025-grid{grid-template-columns:repeat(2,1fr)}
  .div-2025-summary{grid-template-columns:1fr}
  .holdings-top-grid,.holdings-sector-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .footer-nav{gap:28px}
}
@media (max-width:768px){
  .nav-hamburger{display:flex}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(2,9,31,.97);border-bottom:1px solid var(--jbx-border);padding:8px 0;flex-direction:column;z-index:200}
  .site-nav.is-open{display:flex}
  .site-header{position:relative}
  .site-header-inner{position:relative}
  .nav-links{flex-direction:column;width:100%;gap:0}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:11px 24px;border-radius:0;font-size:1rem}
  .hp-strip-grid{grid-template-columns:repeat(2,1fr)}
  .hp-strip-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.05)}
  .hp-cta-inner{flex-direction:column;align-items:flex-start}
  .footer-legal{grid-template-columns:1fr}
  .holdings-geo-row{grid-template-columns:1fr auto;grid-template-rows:auto auto}
  .holdings-geo-track{grid-column:1/-1}
}
@media (max-width:560px){
  .hp-perf-grid,.div-2025-grid{grid-template-columns:1fr}
  .div-explainer-grid{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════
   RICH INNER HEROES — all pages
═══════════════════════════════════════ */
.inner-hero{position:relative;overflow:hidden;padding:0;border-bottom:1px solid var(--jbx-border);margin-bottom:52px;min-height:360px;display:flex;align-items:center}
.inner-hero-body{position:relative;z-index:6;padding:48px 0;max-width:52%}
.inner-hero-eyebrow{display:inline-flex;align-items:center;gap:9px;background:var(--jbx-emerald-soft);border:1px solid rgba(20,203,168,.3);color:var(--jbx-emerald);border-radius:999px;padding:6px 13px;font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}
.inner-hero h1{font-family:"Space Grotesk","Inter",sans-serif;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;margin:0 0 16px;letter-spacing:-.025em;line-height:1.05}
.inner-hero-intro{margin:0;color:#9db2d3;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.6;max-width:480px}
.inner-hero-bg{position:absolute;inset:0;pointer-events:none}
.inner-hero-dots{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px);background-size:30px 30px}

/* Chip row */
.hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.hero-chip{background:rgba(6,14,42,.9);border:1px solid var(--jbx-border);border-radius:10px;padding:7px 14px}
.hero-chip-l{font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#3a5485;display:block;font-family:'JetBrains Mono',monospace}
.hero-chip-v{font-family:"Space Grotesk",sans-serif;font-size:.95rem;font-weight:800;color:var(--jbx-ink)}
.hero-chip-v.g{color:var(--jbx-emerald)}

/* Stock float pill */
.hero-stock-float{position:absolute;top:50%;transform:translateY(-50%);right:0;z-index:12;display:flex;gap:0;background:rgba(3,8,22,.92);border:1px solid rgba(20,203,168,.2);border-radius:12px;overflow:hidden;backdrop-filter:blur(16px);box-shadow:0 8px 28px rgba(0,0,0,.5);animation:heroSlideLeftFloat .6s ease .4s both}
@keyframes heroSlideLeftFloat{from{opacity:0;transform:translateY(-50%) translateX(24px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}
.hsf-cell{padding:9px 16px;border-right:1px solid rgba(20,203,168,.1);display:flex;flex-direction:column;gap:2px}
.hsf-cell:last-child{border-right:none}
.hsf-l{font-family:'JetBrains Mono',monospace;font-size:.54rem;font-weight:700;color:#2a4474;text-transform:uppercase;letter-spacing:.07em}
.hsf-v{font-family:"Space Grotesk",sans-serif;font-size:.97rem;font-weight:800;color:var(--jbx-ink)}
.hsf-v.up{color:var(--jbx-emerald)}

/* Ticker tape */
.hero-ticker-strip{position:absolute;bottom:0;left:0;right:0;height:24px;background:rgba(20,203,168,.04);border-top:1px solid rgba(20,203,168,.1);overflow:hidden;display:flex;align-items:center;z-index:8}
.hero-ticker-inner{display:flex;white-space:nowrap;animation:heroTicker 32s linear infinite}
@keyframes heroTicker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ht-item{font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;padding:0 20px;color:#1e3860;letter-spacing:.06em;border-right:1px solid rgba(20,203,168,.08)}
.ht-item.hi{color:var(--jbx-emerald)}

/* Shared right panel */
.hero-right-panel{position:absolute;right:0;top:24px;z-index:8;animation:heroSlideLeft .65s ease .2s both}
@keyframes heroSlideLeft{from{opacity:0;transform:translate(24px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* ── DETAILS: 3D card ── */
.hero-card-scene{perspective:1000px}
.hero-card{width:300px;background:linear-gradient(145deg,#0c1e42,#091636);border:1px solid rgba(46,115,255,.25);border-radius:18px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.06);transform:rotateY(-11deg) rotateX(3deg);animation:cardFloat 6s ease-in-out infinite}
@keyframes cardFloat{0%,100%{transform:rotateY(-11deg) rotateX(3deg) translateY(0)}50%{transform:rotateY(-11deg) rotateX(3deg) translateY(-7px)}}
.hero-card-glow{position:absolute;right:0;top:50%;transform:translateY(-50%);width:300px;height:260px;background:radial-gradient(ellipse 80% 70% at 50% 50%,rgba(46,115,255,.13),transparent 70%);filter:blur(28px);z-index:3;pointer-events:none;animation:cardFloat 6s ease-in-out infinite}
.hc-hdr{padding:15px 18px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05);background:linear-gradient(90deg,rgba(20,203,168,.06),transparent)}
.hc-ticker{font-family:'JetBrains Mono',monospace;font-size:.68rem;font-weight:700;color:var(--jbx-emerald);letter-spacing:.1em}
.hc-name{font-size:.68rem;color:#3a5890;font-weight:600;margin-top:2px}
.hc-price{font-family:"Space Grotesk",sans-serif;font-size:1.45rem;font-weight:800;color:var(--jbx-ink);letter-spacing:-.03em}
.hc-chg{font-size:.68rem;font-weight:700;color:var(--jbx-emerald);font-family:'JetBrains Mono',monospace}
.hc-chart{padding:10px 18px 0}
.hc-chart svg{width:100%;height:54px;display:block;overflow:visible}
.hc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.05);margin:8px 18px 0}
.hcs{padding:9px 0 13px;text-align:center;border-right:1px solid rgba(255,255,255,.05)}
.hcs:last-child{border-right:none}
.hcs-l{font-family:'JetBrains Mono',monospace;font-size:.5rem;font-weight:700;color:#2a4070;text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:4px}
.hcs-v{font-family:"Space Grotesk",sans-serif;font-size:.86rem;font-weight:800;color:var(--jbx-emerald)}

/* Chill lockup */
.hero-chill-lockup{position:absolute;bottom:32px;right:0;z-index:12;text-align:right;animation:heroFadeUp .6s ease .5s both;width:max-content}
.hcl-line{font-family:"Space Grotesk",sans-serif;font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:900;letter-spacing:-.04em;color:rgba(255,255,255,.55);white-space:nowrap;line-height:.9}
.hcl-em{color:#14cba8;text-shadow:0 0 40px rgba(20,203,168,.35)}
.hcl-rule{width:100%;height:2px;background:linear-gradient(to left,rgba(20,203,168,.5),transparent);border-radius:99px;margin:8px 0 5px}
.hcl-tag{font-family:'JetBrains Mono',monospace;font-size:.54rem;font-weight:700;color:rgba(255,255,255,.16);letter-spacing:.12em;text-transform:uppercase}

/* ── DIVIDENDS: terminal ── */
.hero-terminal{width:380px;background:rgba(6,16,40,.92);border:1px solid var(--jbx-border);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.04)}
.ht-bar{display:flex;align-items:center;gap:7px;padding:10px 14px 9px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(4,12,30,.7)}
.ht-tl{width:10px;height:10px;border-radius:50%}
.ht-tl-r{background:#ff5f57}.ht-tl-y{background:#f4bf4f}.ht-tl-g{background:#2fdc82}
.ht-bar-title{margin-left:8px;font-size:.64rem;font-family:'JetBrains Mono',monospace;color:#2a4470;font-weight:600}
.ht-viewport{height:152px;overflow:hidden;position:relative}
.ht-viewport::before,.ht-viewport::after{content:'';position:absolute;left:0;right:0;height:24px;z-index:2;pointer-events:none}
.ht-viewport::before{top:0;background:linear-gradient(to bottom,rgba(6,16,40,.95),transparent)}
.ht-viewport::after{bottom:0;background:linear-gradient(to top,rgba(6,16,40,.95),transparent)}
.ht-track{display:flex;flex-direction:column;animation:htScroll 20s linear infinite}
@keyframes htScroll{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}
.ht-row{display:grid;grid-template-columns:64px 70px 1fr 72px;align-items:center;padding:7px 16px;border-bottom:1px solid rgba(255,255,255,.04);gap:8px}
.ht-badge{font-size:.6rem;font-weight:800;border-radius:6px;padding:2px 7px;text-align:center;font-family:'JetBrains Mono',monospace}
.ht-q1{background:rgba(79,195,247,.12);color:#4fc3f7}
.ht-q2{background:rgba(20,203,168,.12);color:var(--jbx-emerald)}
.ht-q3{background:rgba(124,77,255,.12);color:#a78bfa}
.ht-q4{background:rgba(255,159,67,.12);color:#ff9f43}
.ht-yr{font-size:.68rem;font-family:'JetBrains Mono',monospace;color:#4f6d8f;font-weight:600}
.ht-date{font-size:.67rem;color:#3a5270;font-family:'JetBrains Mono',monospace}
.ht-amt{font-family:"Space Grotesk",sans-serif;font-size:.92rem;font-weight:800;text-align:right}
.ht-amt-hi{color:#2ef8d0}
.ht-amt-dim{color:var(--jbx-muted)}
.ht-footer{display:flex;justify-content:space-between;padding:9px 16px;border-top:1px solid rgba(255,255,255,.05);background:rgba(4,12,30,.6)}
.htf-g{display:flex;flex-direction:column;gap:2px}
.htf-l{font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#2a4070;font-family:'JetBrains Mono',monospace}
.htf-v{font-family:"Space Grotesk",sans-serif;font-size:.9rem;font-weight:800;color:var(--jbx-emerald)}

/* ── NEWS: stories panel ── */
.hero-news-panel{width:390px;background:rgba(6,16,42,.9);border:1px solid var(--jbx-border);border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.hnp-hdr{padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(20,203,168,.05);display:flex;align-items:center;justify-content:space-between}
.hnp-title{font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:700;color:var(--jbx-emerald);text-transform:uppercase;letter-spacing:.1em}
.hnp-live{display:flex;align-items:center;gap:5px;font-family:'JetBrains Mono',monospace;font-size:.55rem;font-weight:700;color:var(--jbx-emerald);text-transform:uppercase;letter-spacing:.08em}
.hnp-live-dot{width:5px;height:5px;border-radius:50%;background:var(--jbx-emerald);animation:blink 1.5s infinite}
.hnp-item{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.04);display:flex;gap:12px;align-items:flex-start}
.hnp-item:last-child{border-bottom:none}
.hnp-scroll-wrap{overflow:hidden;position:relative;height:200px}
.hnp-scroll-track{display:flex;flex-direction:column;will-change:transform}
.hnp-scroll-track .hnp-item:last-child{border-bottom:1px solid rgba(255,255,255,.04)}
.hnp-cat{flex-shrink:0;font-size:.56rem;font-weight:800;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.07em;border-radius:5px;padding:3px 7px;margin-top:2px}
.hnp-cat-m{background:rgba(20,203,168,.12);color:var(--jbx-emerald)}
.hnp-cat-e{background:rgba(79,195,247,.12);color:#4fc3f7}
.hnp-cat-c{background:rgba(255,159,67,.12);color:#ff9f43}
.hnp-author{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:2px;width:44px}
.hnp-author img{width:32px!important;height:32px!important;min-width:32px;min-height:32px;max-width:32px!important;max-height:32px!important;border-radius:50%;object-fit:cover;border:1px solid rgba(20,203,168,.25);display:block;flex-shrink:0}
.hnp-author-name{font-family:'JetBrains Mono',monospace;font-size:.315rem;font-weight:700;color:#3a5a7a;text-transform:uppercase;letter-spacing:.04em;text-align:center;line-height:1.2;width:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hnp-headline{font-size:.82rem;font-weight:700;color:var(--jbx-ink);line-height:1.4;margin-bottom:3px}
.hnp-meta{font-size:.65rem;color:#3a5270;font-family:'JetBrains Mono',monospace}
.hnp-footer{padding:9px 16px;background:rgba(4,12,30,.5);display:flex;align-items:center;justify-content:space-between}
.hnp-footer-lbl{font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;color:#2a4070;text-transform:uppercase;letter-spacing:.07em}
.hnp-footer-arrow{font-size:.72rem;color:var(--jbx-emerald);font-weight:800}

/* ── NEWS: bg word ── */
.hero-bg-word{position:absolute;right:-24px;top:50%;transform:translateY(-50%);font-family:"Space Grotesk",sans-serif;font-size:clamp(130px,18vw,200px);font-weight:900;letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(20,203,168,.1);user-select:none;pointer-events:none;white-space:nowrap}
.hero-scan-line{position:absolute;left:0;right:0;height:1px;top:50%;background:linear-gradient(to right,transparent,rgba(20,203,168,.2) 35%,rgba(20,203,168,.2) 65%,transparent);animation:scanP 4s ease-in-out infinite;pointer-events:none}
@keyframes scanP{0%,100%{opacity:.3;transform:scaleX(.8)}50%{opacity:.9;transform:scaleX(1)}}

/* ── CALC: preview panel ── */
.hero-calc-panel{width:330px;background:rgba(6,16,42,.92);border:1px solid var(--jbx-border);border-radius:18px;overflow:hidden;box-shadow:0 24px 56px rgba(0,0,0,.6)}
.hcp-hdr{padding:13px 18px 12px;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(20,203,168,.05);display:flex;align-items:center;justify-content:space-between}
.hcp-title{font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:700;color:var(--jbx-emerald);text-transform:uppercase;letter-spacing:.1em}
.hcp-body{padding:14px 18px 12px;display:flex;flex-direction:column;gap:13px}
.hcp-field{display:flex;flex-direction:column;gap:6px}
.hcp-lbl{font-family:'JetBrains Mono',monospace;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#3a5485;display:flex;justify-content:space-between}
.hcp-lbl span{color:var(--jbx-emerald)}
.hcp-track{position:relative;height:6px;background:rgba(255,255,255,.07);border-radius:99px}
.hcp-fill{position:absolute;left:0;top:0;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--jbx-emerald),#2e73ff)}
.hcp-thumb{position:absolute;top:50%;width:14px;height:14px;background:var(--jbx-emerald);border-radius:50%;transform:translate(-50%,-50%);border:2px solid var(--jbx-bg);box-shadow:0 0 8px rgba(20,203,168,.4)}
.hcp-chart{padding:0 18px 0}
.hcp-chart svg{width:100%;height:38px;display:block;overflow:visible}
.hcp-result{margin:8px 18px 16px;background:linear-gradient(135deg,rgba(20,203,168,.1),rgba(46,115,255,.08));border:1px solid rgba(20,203,168,.2);border-radius:12px;padding:13px 16px;display:flex;justify-content:space-between;align-items:center}
.hcr-lbl{font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;color:#3a6050;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:4px}
.hcr-val{font-family:"Space Grotesk",sans-serif;font-size:1.65rem;font-weight:900;color:var(--jbx-emerald);letter-spacing:-.03em;line-height:1}
.hcr-g-lbl{font-family:'JetBrains Mono',monospace;font-size:.56rem;font-weight:700;color:#3a5270;text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:4px;text-align:right}
.hcr-g-val{font-family:"Space Grotesk",sans-serif;font-size:.92rem;font-weight:800;color:#2ef8d0}
@keyframes heroSpin{to{transform:rotate(360deg)}}

/* ── INNER HERO MOBILE SAFETY (no desktop impact) ── */
@media (max-width:767px) and (hover:none) and (pointer:coarse){
  .inner-hero{
    min-height:auto;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding-top:22px;
    margin-bottom:38px;
  }
  .inner-hero-body{
    order:1;
    max-width:100%;
    padding:18px 0 24px;
  }
  .hero-stock-float{
    order:2;
    position:relative;
    top:auto;
    right:auto;
    transform:none;
    z-index:7;
    width:100%;
    max-width:100%;
    margin:0 0 14px;
    animation:none;
  }
  .hero-right-panel{
    order:3;
    position:relative;
    top:auto;
    right:auto;
    z-index:6;
    width:100%;
    margin:0 0 12px;
    transform:none;
    animation:none;
    display:flex !important;
    justify-content:flex-start;
  }
  .hero-card-glow,
  .hero-chill-lockup{
    display:none;
  }
  .hero-card,
  .hero-terminal,
  .hero-news-panel,
  .hero-calc-panel{
    width:min(100%,420px);
    max-width:100%;
  }
  .hero-card{
    transform:none;
    animation:none;
  }
  .hero-ticker-strip{
    position:relative;
    bottom:auto;
    margin-top:8px;
  }
}

@media (max-width:560px) and (hover:none) and (pointer:coarse){
  .inner-hero{
    padding-top:16px;
  }
  .inner-hero h1{
    font-size:clamp(1.95rem,10vw,2.6rem);
  }
  .inner-hero-intro{
    max-width:none;
  }
  .hero-stock-float{
    display:none;
  }
  .hero-right-panel{
    margin-bottom:8px;
  }
  .hero-terminal{
    width:100%;
  }
  .ht-row{
    grid-template-columns:58px 54px 1fr 62px;
    padding:7px 10px;
    gap:6px;
  }
  .ht-date{
    font-size:.62rem;
  }
  .ht-amt{
    font-size:.84rem;
  }

  /* Holdings hero: avoid inline-size overflow on iPhone widths */
  body.page-xeqt-holdings .hero-right-panel{
    flex-wrap:wrap;
    gap:16px !important;
    align-items:flex-start !important;
  }
  body.page-xeqt-holdings .hero-right-panel > div:first-child{
    width:170px !important;
    height:170px !important;
  }
  body.page-xeqt-holdings #hero-mini-donut{
    width:170px !important;
    height:170px !important;
  }
  body.page-xeqt-holdings .hero-right-panel > div:last-child{
    flex:1 1 220px;
    width:100%;
  }
  body.page-xeqt-holdings .hero-right-panel > div:last-child *{
    min-width:0 !important;
  }
}

/* Desktop alignment fix for inner-page hero right panels */
@keyframes heroSlideInRight{
  from{opacity:0;transform:translateX(24px)}
  to{opacity:1;transform:translateX(0)}
}
@media (min-width:768px){
  .hero-right-panel--bottom{
    top:auto !important;
    bottom:34px !important;
    right:0 !important;
    animation:heroSlideInRight .65s ease .2s both !important;
  }
  .hero-stock-float--details{
    top:auto !important;
    right:0 !important;
    bottom:252px !important;
    transform:none !important;
    animation:heroSlideInRight .6s ease .3s both !important;
  }
}


/* ================================================================
   ART LAYER — Editorial Article Reading Experience
   Version: 2.9.1
   Prefix: art-
   Zero conflicts with existing jbx-, detail-, div-, holdings-,
   xv-, hp-, section, inner-hero, or any other theme namespace.
================================================================ */

/* ── Reading progress bar ── */
.art-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 9999;
  background: transparent;
  pointer-events: none;
}
.art-progress-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--jbx-emerald), #2e73ff, var(--jbx-emerald));
  background-size: 200% 100%;
  animation: artProgressShimmer 2.5s linear infinite;
  transition: width 0.1s linear;
}
@keyframes artProgressShimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ── Page shell: two-col layout (TOC + body) ── */
.art-shell {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
  padding-bottom: 96px;
}

/* ── Sticky table of contents ── */
.art-toc {
  position: sticky;
  top: 100px;
  padding-top: 4px;
}
.art-toc-title {
  font-family: "JetBrains Mono", monospace;
  font-size: .58rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #2a4470;
  margin-bottom: 14px;
}
.art-toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.art-toc-list a {
  display: block;
  font-size: .78rem;
  color: #3a5a80;
  text-decoration: none;
  padding: 5px 10px;
  border-left: 2px solid var(--jbx-border);
  line-height: 1.4;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
  border-radius: 0 6px 6px 0;
}
.art-toc-list a:hover,
.art-toc-list a.is-active {
  color: var(--jbx-emerald);
  border-left-color: var(--jbx-emerald);
  background: rgba(20,203,168,.05);
}

/* ── Article body column ── */
.art-body {
  min-width: 0;
}

/* ── Section wrapper ── */
.art-section {
  padding-top: 56px;
  margin-bottom: 8px;
  scroll-margin-top: 110px;
}
.art-section:first-child {
  padding-top: 0;
}

/* ── Section heading with emerald rule ── */
.art-h2 {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.12;
  color: var(--jbx-ink);
  margin: 0 0 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.art-h2::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--jbx-border);
}
.art-h2 .accent { color: var(--jbx-emerald); }

/* ── Sub-heading ── */
.art-h3 {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.1rem, 1.9vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -.015em;
  color: var(--jbx-ink);
  margin: 36px 0 12px;
}

/* ── Body text ── */
.art-p {
  color: #9db2d3;
  font-size: clamp(1rem, 1.7vw, 1.08rem);
  line-height: 1.78;
  margin: 0 0 20px;
  max-width: 70ch;
}
.art-p:last-child { margin-bottom: 0; }
.art-p strong { color: var(--jbx-ink); font-weight: 600; }
.art-p a { color: var(--jbx-emerald); text-decoration: underline; text-decoration-color: rgba(20,203,168,.3); text-underline-offset: 3px; }
.art-p a:hover { text-decoration-color: var(--jbx-emerald); }

/* ── Lead paragraph (first paragraph of article) ── */
.art-lead {
  color: #b8cfe8;
  font-size: clamp(1.05rem, 1.9vw, 1.18rem);
  line-height: 1.68;
  margin: 0 0 28px;
  max-width: 68ch;
  font-weight: 400;
}

/* ── Pull quote ── */
.art-quote {
  border-left: 3px solid var(--jbx-emerald);
  margin: 32px 0;
  padding: 20px 28px;
  background: rgba(20,203,168,.04);
  border-radius: 0 14px 14px 0;
  position: relative;
}
.art-quote-text {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  font-weight: 600;
  color: #c8ddf0;
  line-height: 1.5;
  margin: 0;
  font-style: italic;
}
.art-quote-text::before {
  content: '\201C';
  color: var(--jbx-emerald);
  font-size: 1.6em;
  line-height: 0;
  vertical-align: -0.4em;
  margin-right: 4px;
  font-style: normal;
}

/* ── Callout / insight box ── */
.art-callout {
  border: 1px solid rgba(20,203,168,.2);
  border-left: 3px solid var(--jbx-emerald);
  background: rgba(20,203,168,.04);
  border-radius: 0 14px 14px 0;
  padding: 18px 22px;
  margin: 28px 0;
}
.art-callout.warn {
  border-left-color: #f59e0b;
  border-color: rgba(245,158,11,.2);
  background: rgba(245,158,11,.04);
}
.art-callout-tag {
  font-family: "JetBrains Mono", monospace;
  font-size: .58rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--jbx-emerald);
  margin-bottom: 8px;
}
.art-callout.warn .art-callout-tag { color: #f59e0b; }
.art-callout p {
  margin: 0;
  color: #b0c4de;
  font-size: .95rem;
  line-height: 1.65;
}
.art-callout p strong { color: var(--jbx-ink); font-weight: 600; }

/* ── Data card (glassmorphism container for charts/tables) ── */
.art-card {
  border: 1px solid var(--jbx-border);
  border-radius: 20px;
  background: linear-gradient(158deg, rgba(9,24,52,.97), rgba(15,34,74,.95));
  box-shadow: 0 16px 48px rgba(2,8,26,.45);
  position: relative;
  overflow: hidden;
  padding: 24px 26px;
  margin: 28px 0;
}
.art-card::before {
  content: '';
  position: absolute;
  top: -40%; left: -15%;
  width: 280px; aspect-ratio: 1;
  background: radial-gradient(circle, rgba(20,203,168,.1), transparent 70%);
  pointer-events: none;
}
.art-card-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.art-card-title {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: .88rem;
  font-weight: 700;
  color: var(--jbx-ink);
}
.art-card-note {
  font-family: "JetBrains Mono", monospace;
  font-size: .56rem;
  color: #2a4470;
  font-style: italic;
}
.art-card-foot {
  margin-top: 16px;
  font-family: "JetBrains Mono", monospace;
  font-size: .56rem;
  color: #2a4470;
  line-height: 1.5;
}

/* ── KPI stat strip ── */
.art-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--jbx-border);
  border: 1px solid var(--jbx-border);
  border-radius: 16px;
  overflow: hidden;
  margin: 24px 0;
}
.art-kpi {
  background: rgba(6,14,42,.95);
  padding: 18px 16px;
  text-align: center;
}
.art-kpi-val {
  display: block;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem);
  font-weight: 900;
  color: var(--jbx-emerald);
  letter-spacing: -.025em;
  line-height: 1;
  margin-bottom: 6px;
}
.art-kpi-label {
  font-family: "JetBrains Mono", monospace;
  font-size: .54rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #2a4470;
}

/* ── Horizontal bar row ── */
.art-bars { display: flex; flex-direction: column; gap: 10px; }
.art-bar-row {
  display: grid;
  grid-template-columns: 170px 1fr 52px;
  align-items: center;
  gap: 14px;
}
.art-bar-label { font-size: .88rem; color: #7a9ac0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.art-bar-track { height: 6px; background: rgba(255,255,255,.06); border-radius: 99px; overflow: hidden; }
.art-bar-fill { height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--jbx-emerald), #2e73ff); transition: width .8s cubic-bezier(.4,0,.2,1); }
.art-bar-val { font-family: "Space Grotesk", "Inter", sans-serif; font-weight: 700; font-size: .88rem; color: var(--jbx-ink); text-align: right; }

/* ── Treemap blocks ── */
.art-treemap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 8px 0;
}
.art-tree {
  border-radius: 14px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  min-height: 96px;
  position: relative;
  overflow: hidden;
  transition: transform .2s ease;
}
.art-tree:hover { transform: translateY(-2px); }
.art-tree.span2 { grid-column: span 2; }
.art-tree-ticker {
  font-family: "JetBrains Mono", monospace;
  font-size: .55rem;
  font-weight: 700;
  opacity: .65;
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.art-tree-name {
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.35;
  flex: 1;
}
.art-tree-pct {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: 1.55rem;
  font-weight: 900;
  margin-top: 8px;
  letter-spacing: -.02em;
}
.art-tree.us   { background: linear-gradient(145deg,#0f2456,#081840); color: #b8ceff; }
.art-tree.ca   { background: linear-gradient(145deg,#083828,#041c14); color: #9ae8cc; }
.art-tree.intl { background: linear-gradient(145deg,#0f1e50,#080e30); color: #aabce8; }
.art-tree.em   { background: linear-gradient(145deg,#2c1800,#1a0e00); color: #f0c860; }

/* ── Comparison table ── */
.art-table-wrap {
  border: 1px solid var(--jbx-border);
  border-radius: 16px;
  overflow: hidden;
  margin: 8px 0;
}
.art-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}
.art-table thead th {
  background: rgba(6,14,42,.95);
  padding: 11px 16px;
  text-align: left;
  font-family: "JetBrains Mono", monospace;
  font-size: .56rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #2a4470;
}
.art-table thead th.c { text-align: center; }
.art-table td {
  padding: 11px 16px;
  border-bottom: 1px solid rgba(26,43,82,.5);
  color: #8ca8cc;
  vertical-align: middle;
}
.art-table tr:last-child td { border-bottom: none; }
.art-table tr:nth-child(even) td { background: rgba(6,14,42,.4); }
.art-table tr.art-tr-highlight td { background: rgba(20,203,168,.05); }
.art-table tr.art-tr-highlight td:first-child { border-left: 2px solid var(--jbx-emerald); }
.art-table td.c { text-align: center; }
.art-table td strong { color: var(--jbx-ink); font-weight: 600; }
.art-val-good { color: var(--jbx-emerald); font-weight: 700; font-family: "Space Grotesk", sans-serif; }
.art-val-warn { color: #f59e0b; font-weight: 700; }
.art-val-bad  { color: #ef4444; font-weight: 700; }
.art-badge-x  { color: var(--jbx-emerald); font-weight: 800; font-family: "Space Grotesk", sans-serif; font-size: .88rem; }
.art-badge-v  { color: #7ea5ff; font-weight: 800; font-family: "Space Grotesk", sans-serif; font-size: .88rem; }
.art-badge-d  { color: #3a5a80; font-weight: 600; font-size: .85rem; }

/* ── Timeline / milestone list ── */
.art-timeline { display: flex; flex-direction: column; margin: 8px 0; }
.art-milestone {
  display: grid;
  grid-template-columns: 76px 1fr;
  position: relative;
  padding-bottom: 24px;
}
.art-milestone::before {
  content: '';
  position: absolute;
  left: 37px;
  top: 38px;
  bottom: 0;
  width: 1px;
  background: var(--jbx-border);
}
.art-milestone:last-child::before { display: none; }
.art-milestone:last-child { padding-bottom: 0; }
.art-ms-yr {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 12px;
  position: relative;
  z-index: 1;
}
.art-ms-dot {
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--jbx-emerald);
  border: 2px solid var(--jbx-bg);
  box-shadow: 0 0 0 3px rgba(20,203,168,.18);
  margin-bottom: 6px;
}
.art-ms-label {
  font-family: "JetBrains Mono", monospace;
  font-size: .54rem;
  font-weight: 700;
  color: #2a4470;
  text-transform: uppercase;
  letter-spacing: .06em;
  text-align: center;
}
.art-ms-content { padding: 10px 0 0 18px; }
.art-ms-val {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--jbx-emerald);
  letter-spacing: -.03em;
  line-height: 1;
  margin-bottom: 3px;
}
.art-ms-desc {
  font-size: .85rem;
  color: #4a6a90;
  line-height: 1.5;
}

/* ── Distribution bar chart ── */
.art-dist-chart {
  display: flex;
  gap: 8px;
  align-items: flex-end;
  height: 140px;
  padding-bottom: 4px;
}
.art-dist-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  height: 100%;
  justify-content: flex-end;
}
.art-dist-bar-wrap {
  width: 100%;
  border-radius: 5px 5px 0 0;
  position: relative;
  overflow: visible;
}
.art-dist-bar-fill {
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, #0a6e60, var(--jbx-emerald));
  border-radius: 5px 5px 0 0;
  transition: filter .2s;
}
.art-dist-bar-wrap:hover .art-dist-bar-fill { filter: brightness(1.2); }
.art-dist-amt {
  position: absolute;
  top: -19px; left: 50%;
  transform: translateX(-50%);
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: .6rem;
  font-weight: 800;
  color: var(--jbx-emerald);
  white-space: nowrap;
}
.art-dist-qtr {
  font-family: "JetBrains Mono", monospace;
  font-size: .5rem;
  font-weight: 700;
  color: #2a4470;
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
}

/* ── Risk spectrum ── */
.art-spectrum { margin: 8px 0 4px; }
.art-spectrum-bar {
  height: 12px;
  background: linear-gradient(to right, #22c55e, #f59e0b, #ef4444);
  border-radius: 99px;
  position: relative;
  margin-bottom: 32px;
}
.art-spec-marker {
  position: absolute;
  top: -8px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.art-spec-dot {
  width: 26px; height: 26px;
  border-radius: 50%;
  border: 2px solid var(--jbx-bg);
  box-shadow: 0 2px 8px rgba(0,0,0,.45);
}
.art-spec-label {
  font-family: "JetBrains Mono", monospace;
  font-size: .52rem;
  font-weight: 700;
  margin-top: 5px;
  white-space: nowrap;
  text-align: center;
  line-height: 1.3;
  color: #4a6a90;
}
.art-spec-label b { display: block; color: var(--jbx-ink); }
.art-spectrum-ends {
  display: flex;
  justify-content: space-between;
  font-family: "JetBrains Mono", monospace;
  font-size: .56rem;
  color: #2a4470;
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* ── Decision flow steps ── */
.art-steps { display: flex; flex-direction: column; margin: 8px 0; }
.art-step {
  display: flex;
  gap: 16px;
  position: relative;
  padding-bottom: 20px;
}
.art-step::before {
  content: '';
  position: absolute;
  left: 18px; top: 38px; bottom: 0;
  width: 1px;
  background: var(--jbx-border);
}
.art-step:last-child::before { display: none; }
.art-step:last-child { padding-bottom: 0; }
.art-step-icon {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--jbx-border);
  background: var(--jbx-surface);
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem;
  flex-shrink: 0;
  z-index: 1;
}
.art-step-icon.em { background: rgba(20,203,168,.1); border-color: rgba(20,203,168,.28); }
.art-step-icon.am { background: rgba(245,158,11,.08); border-color: rgba(245,158,11,.25); }
.art-step-icon.re { background: rgba(239,68,68,.08); border-color: rgba(239,68,68,.22); }
.art-step-body { padding-top: 7px; }
.art-step-title { font-weight: 700; font-size: .97rem; color: var(--jbx-ink); margin-bottom: 4px; }
.art-step-desc { font-size: .88rem; color: #4a6a90; line-height: 1.55; }

/* ── Two-col card grid ── */
.art-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 8px 0;
}

/* ── Choice card (who should pick X) ── */
.art-choice {
  border: 1px solid var(--jbx-border);
  border-radius: 16px;
  background: rgba(6,14,42,.8);
  padding: 20px;
}
.art-choice-head {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: .95rem;
  font-weight: 800;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--jbx-border);
}
.art-choice-item {
  font-size: .88rem;
  color: #7a9ac0;
  padding: 5px 0;
  border-bottom: 1px solid rgba(26,43,82,.4);
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.4;
}
.art-choice-item:last-child { border-bottom: none; }
.art-choice-item::before { content: '+'; color: var(--jbx-emerald); font-weight: 700; flex-shrink: 0; margin-top: 1px; }

/* ── Bottom CTA ── */
.art-cta {
  border: 1px solid rgba(20,203,168,.22);
  border-radius: 20px;
  background: linear-gradient(158deg, rgba(8,22,52,.98), rgba(14,32,72,.97));
  padding: 40px;
  text-align: center;
  margin-top: 64px;
  position: relative;
  overflow: hidden;
}
.art-cta::before {
  content: '';
  position: absolute;
  top: -40%; left: 50%;
  transform: translateX(-50%);
  width: 380px; height: 380px;
  background: radial-gradient(circle, rgba(20,203,168,.1), transparent 65%);
  pointer-events: none;
}
.art-cta h3 {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.55rem, 2.8vw, 2.1rem);
  font-weight: 900;
  letter-spacing: -.025em;
  color: var(--jbx-ink);
  margin: 0 0 10px;
  position: relative;
}
.art-cta h3 .accent { color: var(--jbx-emerald); }
.art-cta p {
  color: #5a7aa0;
  margin: 0 0 28px;
  font-size: clamp(.94rem, 1.6vw, 1.05rem);
  max-width: 440px;
  margin-left: auto; margin-right: auto;
  position: relative;
  line-height: 1.6;
}
.art-cta a { position: relative; }

/* ── Disclaimer ── */
.art-disclaimer {
  border-top: 1px solid var(--jbx-border);
  padding-top: 20px;
  margin-top: 52px;
  font-family: "JetBrains Mono", monospace;
  font-size: .58rem;
  color: #1e3458;
  line-height: 1.65;
  letter-spacing: .02em;
}
.art-disclaimer strong { color: #2a4470; }

/* ── Inline SVG chart wrappers ── */
.art-svg-wrap { width: 100%; display: block; overflow: visible; }
.art-svg-axis-label { font-family: "JetBrains Mono", monospace; fill: #2a4470; font-size: 11px; }
.art-svg-value-label { font-family: "Space Grotesk", "Inter", sans-serif; font-size: 12px; font-weight: 800; fill: var(--jbx-ink); }
.art-svg-legend { font-family: "JetBrains Mono", monospace; font-size: 11px; fill: var(--jbx-ink); }

/* ── Responsive ── */
@media (max-width: 1080px) {
  .art-shell { grid-template-columns: 1fr; }
  .art-toc { display: none; }
}
@media (max-width: 720px) {
  .art-kpi-strip { grid-template-columns: repeat(2, 1fr); }
  .art-two-col   { grid-template-columns: 1fr; }
  .art-treemap   { grid-template-columns: 1fr 1fr; }
  .art-tree.span2 { grid-column: span 2; }
  .art-table { font-size: .82rem; }
  .art-table thead th, .art-table td { padding: 9px 10px; }
  .art-bar-row { grid-template-columns: 100px 1fr 40px; }
  .art-cta { padding: 28px 20px; }
  .art-shell { padding-bottom: 60px; }
}
@media (max-width: 480px) {
  .art-treemap { grid-template-columns: 1fr; }
  .art-tree.span2 { grid-column: span 1; }
  .art-dist-chart { gap: 4px; }
  .art-dist-amt { font-size: .5rem; }
}

/* ================================================================
   FOOTER v2.9 — jbx-footer-
   Prefix: jbx-footer-
   Design: live data bar, 4-col article nav, affiliate CTA pill
================================================================ */

/* ── Live data bar ───────────────────────────────────────────── */
.jbx-footer__data-bar {
  background: linear-gradient(90deg, rgba(4,12,38,.98), rgba(8,22,58,.98));
  border-top: 1px solid rgba(20,203,168,.18);
  border-bottom: 1px solid rgba(255,255,255,.04);
}

.jbx-footer__data-inner {
  display: flex;
  align-items: center;
  gap: 0;
  padding-top: 0;
  padding-bottom: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.jbx-footer__data-inner::-webkit-scrollbar { display: none; }

.jbx-footer__data-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 22px;
  border-right: 1px solid rgba(255,255,255,.05);
  flex-shrink: 0;
}

.jbx-footer__data-item:last-child { border-right: none; }
.jbx-footer__data-item--src { margin-left: auto; }

.jbx-footer__data-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: .48rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #2a4470;
}

.jbx-footer__data-val {
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: .92rem;
  font-weight: 800;
  color: var(--jbx-ink);
  letter-spacing: -.02em;
}

.jbx-footer__data-val--em { color: var(--jbx-emerald); }

/* ── Body ────────────────────────────────────────────────────── */
.jbx-footer__body {
  background: linear-gradient(180deg, rgba(2,9,31,.98) 0%, rgba(2,6,22,1) 100%);
  padding: 56px 0 0;
}

/* ── Brand + nav row ─────────────────────────────────────────── */
.jbx-footer__brand-row {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 60px;
  align-items: start;
  margin-bottom: 48px;
}

.jbx-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Footer-only logo scaling: keeps X icon proportions correct */
.jbx-footer__brand .brand-mark {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 26px;
}
.jbx-footer__brand .custom-logo {
  max-height: 36px;
}
.jbx-footer__brand .brand-name {
  font-size: 1.35rem;
}

.jbx-footer__tagline {
  margin: 0;
  font-size: .83rem;
  color: #4a6a8a;
  line-height: 1.6;
}

/* Affiliate CTA pill */
.jbx-footer__cta-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(20,203,168,.1);
  border: 1px solid rgba(20,203,168,.3);
  color: var(--jbx-emerald);
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: .8rem;
  font-weight: 700;
  padding: .55rem 1rem;
  border-radius: 10px;
  text-decoration: none;
  transition: background .2s, border-color .2s, transform .2s;
  align-self: flex-start;
  margin-top: 4px;
}

.jbx-footer__cta-pill:hover {
  background: rgba(20,203,168,.18);
  border-color: rgba(20,203,168,.5);
  transform: translateY(-1px);
}

.jbx-footer__cta-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--jbx-emerald);
  color: #04231c;
  font-family: 'JetBrains Mono', monospace;
  font-size: .48rem;
  font-weight: 900;
  padding: .15rem .45rem;
  border-radius: 5px;
  letter-spacing: .02em;
}

/* ── 4-column nav ────────────────────────────────────────────── */
.jbx-footer__nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.jbx-footer__col-head {
  font-family: 'JetBrains Mono', monospace;
  font-size: .56rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .10em;
  color: var(--jbx-emerald);
  margin: 0 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(20,203,168,.15);
}

.jbx-footer__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.jbx-footer__col ul li a {
  font-size: .83rem;
  color: #4a6a8a;
  text-decoration: none;
  line-height: 1.4;
  transition: color .18s, padding-left .18s;
  display: block;
}

.jbx-footer__col ul li a:hover {
  color: var(--jbx-emerald);
  padding-left: 4px;
}

/* ── Rule ────────────────────────────────────────────────────── */
.jbx-footer__rule {
  height: 1px;
  background: var(--jbx-border);
  margin-bottom: 28px;
}

/* ── Legal ───────────────────────────────────────────────────── */
.jbx-footer__legal {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-bottom: 24px;
}

.jbx-footer__legal-head {
  font-family: 'JetBrains Mono', monospace;
  font-size: .54rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #2a4470;
  margin: 0 0 7px;
}

.jbx-footer__legal-text {
  font-size: .76rem;
  color: #2a4470;
  line-height: 1.6;
  margin: 0;
}

/* ── Bottom bar ──────────────────────────────────────────────── */
.jbx-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0 32px;
  border-top: 1px solid rgba(255,255,255,.04);
}

.jbx-footer__copy {
  font-size: .72rem;
  color: #1e3050;
  margin: 0;
}

.jbx-footer__bottom-links {
  display: flex;
  gap: 20px;
}

.jbx-footer__bottom-links a {
  font-family: 'JetBrains Mono', monospace;
  font-size: .54rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #2a4470;
  text-decoration: none;
  transition: color .18s;
}

.jbx-footer__bottom-links a:hover { color: var(--jbx-emerald); }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1080px) {
  .jbx-footer__brand-row { grid-template-columns: 260px 1fr; gap: 40px; }
  .jbx-footer__nav { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}

@media (max-width: 768px) {
  .jbx-footer__brand-row { grid-template-columns: 1fr; gap: 32px; }
  .jbx-footer__brand { max-width: 100%; }
  .jbx-footer__nav { grid-template-columns: repeat(2, 1fr); }
  .jbx-footer__legal { grid-template-columns: 1fr; }
  .jbx-footer__bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
  .jbx-footer__data-item--src { display: none; }
}

@media (max-width: 480px) {
  .jbx-footer__nav { grid-template-columns: 1fr 1fr; gap: 20px; }
  .jbx-footer__body { padding: 36px 0 0; }
}
