/* ── FAQ Accordion ── */
    .faq-list {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .faq-item {
      border-bottom: 1px solid rgba(196,154,60,.1);
    }
    .faq-item:first-child {
      border-top: 1px solid rgba(196,154,60,.1);
    }
    .faq-question {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 16px;
      padding: 20px 0;
      cursor: pointer;
      font-family: 'Outfit', sans-serif;
      font-size: 15px;
      font-weight: 500;
      color: var(--ink);
      line-height: 1.5;
      user-select: none;
      transition: color .15s;
    }
    .faq-question:hover {
      color: var(--gold);
    }
    .faq-chevron {
      font-family: 'DM Mono', monospace;
      font-size: 20px;
      font-weight: 300;
      color: var(--gold);
      flex-shrink: 0;
      line-height: 1;
      transition: transform .2s;
    }
    .faq-question.open .faq-chevron {
      transform: rotate(45deg);
    }
    .faq-answer {
      display: none;
      font-family: 'Outfit', sans-serif;
      font-size: 14px;
      color: var(--ink-2);
      line-height: 1.8;
      padding-bottom: 20px;
      max-width: 800px;
    }
    .faq-answer.open {
      display: block;
    }

    /* ── Collapsible Section Headers ── */
    .section-toggle-header {
      cursor: pointer;
      user-select: none;
      display: flex;
      align-items: center;
      justify-content: space-between;
      transition: color .15s;
      margin-bottom: 0 !important; /* no gap below border when collapsed */
    }
    /* Collapse spacing: remove section bottom margin + shrink hr when collapsed */
    .article-section:has(.section-toggle-header:not(.open)) {
      margin-bottom: 0;
    }
    .article-section:has(.section-toggle-header:not(.open)) + .section-divider {
      margin: 6px 0;
    }
    .section-toggle-header:hover .section-title {
      color: var(--gold);
    }
    .section-chevron {
      font-family: 'DM Mono', monospace;
      font-size: 22px;
      font-weight: 300;
      color: var(--gold);
      flex-shrink: 0;
      line-height: 1;
      transition: transform .2s;
      padding-left: 16px;
    }
    .section-toggle-header.open .section-chevron {
      transform: rotate(45deg);
    }
    .section-collapsible-body {
      display: none;
    }
    .section-collapsible-body.open {
      display: block;
      padding-top: 24px; /* restore the visual gap that margin-bottom provided */
    }

    /* ── Exhibit 7 v2.1 — bridge chart toggle buttons ── */
    .bridge-btn{background:transparent;border:1px solid #1d3048;border-radius:20px;color:#4d6a84;font-size:11px;font-weight:600;padding:5px 15px;cursor:pointer;transition:all .2s;letter-spacing:.2px;font-family:inherit}
    .bridge-btn:hover{border-color:#3d6a99;color:#7aaace}
    .bridge-btn.active{background:#112236;border-color:#3d6a99;color:#88ccee}
    .bridge-btn.bridge-btn-ev{border-color:#2a4a24;color:#5a8a50}
    .bridge-btn.bridge-btn-ev.active{background:#0e2010;border-color:#4a8a3a;color:#88cc66}

    /* ── Version Badge ── */
    .version-badge {
      display: inline-flex;
      align-items: flex-start;
      gap: 8px;
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--gold);
      border: 1px solid rgba(196,154,60,.25);
      border-radius: 2px;
      padding: 5px 10px;
      margin-bottom: 20px;
      line-height: 1.5;
      max-width: 100%;
      word-break: break-word;
    }
    .version-badge-dot {
      width: 5px;
      height: 5px;
      background: var(--gold);
      border-radius: 50%;
      flex-shrink: 0;
    }

    /* ── BLUF Block ── */
    .bluf-block {
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.2);
      border-top: 3px solid var(--gold);
      border-radius: 0 0 var(--r) var(--r);
      padding: 28px 32px;
      margin: 28px 0 36px;
    }
    @media(max-width:600px){.bluf-block{padding:20px 16px;margin:20px 0 24px}}
    .bluf-label {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 14px;
    }
    .bluf-thesis {
      font-family: 'Cormorant Garamond', serif;
      font-size: 21px;
      font-weight: 400;
      color: var(--ink);
      line-height: 1.4;
      margin-bottom: 20px;
      letter-spacing: -.01em;
    }
    .bluf-thesis a.ticker-link {
      font-family: inherit !important;
      font-size: inherit !important;
      font-weight: inherit !important;
      letter-spacing: inherit !important;
      color: var(--gold);
      border-bottom: none !important;
      text-decoration: none;
    }
    .bluf-thesis a.ticker-link:hover { opacity: .75; }

    /* Pure-colour ticker for serif contexts — no font overrides at all */
    a.bluf-ticker {
      color: var(--gold);
      text-decoration: none;
    }
    a.bluf-ticker:hover { opacity: .75; }
    .bluf-stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-bottom: 20px;
    }
    @media(max-width:600px){.bluf-stats{grid-template-columns:1fr 1fr}}
    .bluf-stat {
      border-left: 2px solid rgba(196,154,60,.3);
      padding-left: 12px;
    }
    .bluf-stat-num {
      font-family: 'DM Mono', monospace;
      font-size: clamp(14px, 3.5vw, 18px);
      font-weight: 500;
      color: var(--gold);
      line-height: 1.1;
    }
    .bluf-stat-label {
      font-family: 'Outfit', sans-serif;
      font-size: 11px;
      color: var(--ink-3);
      line-height: 1.4;
      margin-top: 3px;
    }
    .bluf-conviction {
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      letter-spacing: .08em;
      color: var(--ink-3);
      border-top: 1px solid rgba(196,154,60,.12);
      padding-top: 14px;
      line-height: 1.8;
    }
    .bluf-conviction strong {
      color: var(--gold);
      font-weight: 500;
    }

    /* ── Reading Progress Bar ── */
    .reading-progress {
      position: fixed;
      top: 64px;
      left: 0;
      width: 0%;
      height: 2px;
      background: var(--gold);
      z-index: 900;
      transition: width .1s linear;
    }

    /* ── Sticky Table of Contents ── */
    .toc-trigger { display: none; }
    .toc-float {
      position: fixed;
      top: 84px;
      /* Sits right of the 920px article: article right = 50% + 460px.
         Add 20px gap → left: calc(50% + 480px).
         max-width prevents overflow on very large screens. */
      left: calc(50% + 480px);
      z-index: 700;
      width: 200px;
      max-width: calc(50vw - 492px);
    }
    .toc-toggle {
      display: flex;
      align-items: center;
      gap: 8px;
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.2);
      border-radius: 3px;
      padding: 9px 14px;
      cursor: pointer;
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--gold);
      width: 100%;
      text-align: left;
      transition: border-color .2s;
    }
    .toc-toggle:hover { border-color: rgba(196,154,60,.45); }
    .toc-toggle-dot {
      width: 6px; height: 6px;
      background: var(--gold);
      border-radius: 50%;
      flex-shrink: 0;
      opacity: .7;
    }
    .toc-toggle-icon {
      margin-left: auto;
      font-size: 14px;
      line-height: 1;
      transition: transform .2s;
      color: rgba(196,154,60,.5);
    }
    .toc-toggle.open .toc-toggle-icon { transform: rotate(180deg); }
    .toc-panel {
      display: none;
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.18);
      border-top: none;
      border-radius: 0 0 3px 3px;
      padding: 10px 0;
      max-height: calc(100vh - 160px);
      overflow-y: auto;
    }
    .toc-panel.open { display: block; }
    .toc-item {
      display: flex;
      align-items: baseline;
      gap: 8px;
      padding: 6px 14px;
      text-decoration: none;
      transition: background .15s;
      border-left: 2px solid transparent;
    }
    .toc-item:hover {
      background: rgba(196,154,60,.06);
      border-left-color: rgba(196,154,60,.3);
    }
    .toc-item.active {
      border-left-color: var(--gold);
      background: rgba(196,154,60,.08);
    }
    .toc-item-num {
      font-family: 'DM Mono', monospace;
      font-size: 8px;
      color: var(--ink-4);
      flex-shrink: 0;
      letter-spacing: .08em;
      width: 16px;
    }
    .toc-item-label {
      font-family: 'Outfit', sans-serif;
      font-size: 11px;
      color: var(--ink-3);
      line-height: 1.4;
    }
    .toc-item.active .toc-item-label { color: var(--gold); }
    .toc-progress-bar {
      height: 2px;
      background: rgba(196,154,60,.1);
      margin: 2px 14px 8px;
      border-radius: 1px;
      overflow: hidden;
    }
    .toc-progress-fill {
      height: 100%;
      background: var(--gold);
      border-radius: 1px;
      transition: width .3s;
      width: 0%;
    }
    /* Only show TOC when viewport is wide enough for 920px article + 200px TOC + gaps */
    @media (max-width: 1380px) { .toc-float { display: none !important; } }
    @media (min-width: 1381px) { .toc-trigger { display: block; } }

    /* ── Historical Cycles Chart ── */
    .cycles-chart-wrap {
      margin: 32px 0 0;
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.15);
      border-radius: var(--r);
      padding: 22px 24px 18px;
    }

    /* ── Monitoring Signals Dashboard ── */
    .signals-dashboard {
      margin: 36px 0 0;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
    }
    @media(max-width:640px) { .signals-dashboard { grid-template-columns: 1fr; } }
    @media(min-width:641px) and (max-width:900px) { .signals-dashboard { grid-template-columns: 1fr 1fr; } }
    .signal-card {
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.1);
      border-radius: var(--r);
      padding: 20px;
      position: relative;
      overflow: hidden;
    }
    .signal-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 3px;
      border-radius: var(--r) var(--r) 0 0;
    }
    .signal-card.green::before  { background: #1D9E75; }
    .signal-card.amber::before  { background: #BA7517; }
    .signal-card.red::before    { background: #E24B4A; }
    .signal-status-dot {
      width: 10px; height: 10px;
      border-radius: 50%;
      display: inline-block;
      margin-right: 8px;
      flex-shrink: 0;
      position: relative;
    }
    .signal-status-dot.green { background: #1D9E75; box-shadow: 0 0 0 3px rgba(29,158,117,.2); }
    .signal-status-dot.amber { background: #BA7517; box-shadow: 0 0 0 3px rgba(186,117,23,.2); }
    .signal-status-dot.red   { background: #E24B4A; box-shadow: 0 0 0 3px rgba(226,75,74,.2); }
    .signal-header {
      display: flex;
      align-items: center;
      margin-bottom: 14px;
    }
    .signal-name {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--ink-3);
    }
    .signal-value {
      font-family: 'DM Mono', monospace;
      font-size: 26px;
      font-weight: 500;
      color: var(--ink);
      line-height: 1.1;
      margin-bottom: 4px;
    }
    .signal-value.green { color: #1D9E75; }
    .signal-value.amber { color: #BA7517; }
    .signal-reading-label {
      font-family: 'DM Mono', monospace;
      font-size: 8px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--ink-4);
      margin-bottom: 12px;
    }
    .signal-bar-track {
      height: 5px;
      background: rgba(245,240,232,.08);
      border-radius: 3px;
      margin-bottom: 8px;
      overflow: hidden;
    }
    .signal-bar-fill {
      height: 100%;
      border-radius: 3px;
      transition: width .6s ease;
    }
    .signal-thresholds {
      display: flex;
      justify-content: space-between;
      font-family: 'DM Mono', monospace;
      font-size: 8px;
      color: var(--ink-4);
      margin-bottom: 12px;
    }
    .signal-verdict {
      font-family: 'Outfit', sans-serif;
      font-size: 12px;
      color: var(--ink-3);
      line-height: 1.5;
    }
    .signal-verdict strong { color: var(--ink); font-weight: 500; }
    .signals-note {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      color: var(--ink-4);
      margin-top: 14px;
      line-height: 1.7;
      letter-spacing: .04em;
    }

    /* ── Position Calculator ── */
    .position-calc {
      margin: 36px 0 0;
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.2);
      border-top: 3px solid rgba(196,154,60,.4);
      border-radius: 0 0 var(--r) var(--r);
      padding: 28px 28px 24px;
    }
    @media(max-width:600px){.position-calc{padding:20px 16px 18px}}
    .calc-label {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 18px;
    }
    .calc-controls {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin-bottom: 24px;
      align-items: end;
    }
    @media(max-width:560px) { .calc-controls { grid-template-columns: 1fr; } }
    .calc-field label {
      display: block;
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--ink-3);
      margin-bottom: 10px;
    }
    .calc-field input[type=range] {
      width: 100%;
      accent-color: var(--gold);
    }
    .calc-field select {
      width: 100%;
      background: var(--navy-3);
      border: 1px solid rgba(196,154,60,.2);
      border-radius: var(--r);
      color: var(--ink-2);
      font-family: 'DM Mono', monospace;
      font-size: 11px;
      padding: 10px 12px;
      cursor: pointer;
    }
    .calc-portfolio-display {
      font-family: 'DM Mono', monospace;
      font-size: 22px;
      font-weight: 500;
      color: var(--gold);
      margin-top: 6px;
    }
    .calc-positions {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
      margin-bottom: 18px;
    }
    @media(max-width:480px) { .calc-positions { grid-template-columns: 1fr; } }
    .calc-position-card {
      background: var(--navy-3);
      border: 1px solid rgba(196,154,60,.1);
      border-radius: var(--r);
      padding: 16px;
    }
    .calc-pos-ticker {
      font-family: 'DM Mono', monospace;
      font-size: 14px;
      font-weight: 500;
      color: var(--gold);
      margin-bottom: 2px;
    }
    .calc-pos-name {
      font-family: 'Outfit', sans-serif;
      font-size: 11px;
      color: var(--ink-4);
      margin-bottom: 12px;
    }
    .calc-pos-amount {
      font-family: 'DM Mono', monospace;
      font-size: 20px;
      font-weight: 500;
      color: var(--ink);
      margin-bottom: 2px;
    }
    .calc-pos-pct {
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      color: var(--ink-3);
    }
    .calc-pos-bar {
      height: 3px;
      background: rgba(245,240,232,.08);
      border-radius: 2px;
      margin-top: 10px;
      overflow: hidden;
    }
    .calc-pos-bar-fill {
      height: 100%;
      background: var(--gold);
      border-radius: 2px;
      transition: width .4s ease;
    }
    .calc-disclaimer {
      font-family: 'DM Mono', monospace;
      font-size: 8px;
      color: var(--ink-4);
      line-height: 1.8;
      letter-spacing: .04em;
      border-top: 1px solid rgba(196,154,60,.08);
      padding-top: 14px;
    }

    /* ── Archetype doughnut grid — mobile ── */
    @media(max-width:640px){.archetype-donut-grid{grid-template-columns:1fr !important}}

    /* ── Chart canvas — mobile heights ── */
    @media(max-width:600px){
      .chart-canvas-wrap-lg  { height: 280px !important; }
      .chart-canvas-wrap-md  { height: 240px !important; }
      .chart-canvas-wrap-sm  { height: 200px !important; }
    }
    @media(max-width:400px){
      .chart-canvas-wrap-lg  { height: 240px !important; }
      .chart-canvas-wrap-md  { height: 200px !important; }
      .chart-canvas-wrap-sm  { height: 180px !important; }
    }

    /* ── Print CSS ── */
    @media print {
      .nav, .reading-progress, .article-cta, .more-research,
      #cs-consent, .footer-col-title + .footer-links,
      .toc-float, .share-bar, .footer { display: none !important; }
      body { background: #fff; color: #000; }
      .article-wrap { max-width: 100%; padding: 40px; }
      a { text-decoration: underline; }
    }

    /* ── Capex Race Chart ── */
    .capex-chart-outer {
      margin: 36px 0;
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.18);
      border-top: 3px solid rgba(196,154,60,.4);
      border-radius: 0 0 var(--r) var(--r);
      padding: 28px 28px 22px;
      opacity: 0;
      transform: translateY(22px);
      transition: opacity .7s ease, transform .7s ease;
    }
    .capex-chart-outer.chart-visible {
      opacity: 1;
      transform: translateY(0);
    }
    @media (prefers-reduced-motion: reduce) {
      .capex-chart-outer { opacity: 1; transform: none; transition: none; }
    }
    /* ── Capture Rate Stat Cards ── */
    #capture-stats {
      display: none;
      margin-top: 20px;
    }
    .capture-stat-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
    }
    @media(max-width:640px) { .capture-stat-grid { grid-template-columns: repeat(2,1fr); } }
    .capture-stat-card {
      background: rgba(196,154,60,.03);
      border: 1px solid rgba(196,154,60,.14);
      border-radius: 4px;
      padding: 14px 12px 12px;
      text-align: center;
    }
    .capture-stat-year {
      font-family: 'DM Mono', monospace;
      font-size: 8px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: rgba(245,240,232,.38);
      margin-bottom: 8px;
    }
    .capture-stat-nvda {
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      color: rgba(196,154,60,.75);
      margin-bottom: 5px;
    }
    .capture-stat-pct {
      font-family: 'DM Mono', monospace;
      font-size: clamp(20px,3vw,28px);
      font-weight: 500;
      color: #C49A3C;
      line-height: 1;
      margin-bottom: 10px;
    }
    .capture-stat-bar-wrap {
      height: 3px;
      background: rgba(196,154,60,.12);
      border-radius: 2px;
      overflow: hidden;
      margin-bottom: 6px;
    }
    .capture-stat-bar-fill {
      height: 100%;
      background: #C49A3C;
      border-radius: 2px;
      transition: width 1s ease .3s;
      width: 0;
    }
    .capture-stat-sublabel {
      font-family: 'DM Mono', monospace;
      font-size: 8px;
      letter-spacing: .07em;
      text-transform: uppercase;
      color: rgba(245,240,232,.3);
    }
    .capex-totals {
      display: flex;
      align-items: stretch;
      gap: 10px;
      margin: 20px 0 22px;
      flex-wrap: wrap;
    }
    .capex-total-item {
      flex: 1;
      min-width: 100px;
      background: var(--navy-3);
      border: 1px solid rgba(196,154,60,.1);
      border-radius: var(--r);
      padding: 14px 14px 12px;
      text-align: center;
    }
    .capex-total-item.highlighted {
      border-color: rgba(196,154,60,.35);
      background: rgba(196,154,60,.06);
    }
    .capex-total-year {
      font-family: 'DM Mono', monospace;
      font-size: 8px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--ink-4);
      margin-bottom: 7px;
    }
    .capex-total-val {
      font-family: 'DM Mono', monospace;
      font-size: clamp(14px, 3vw, 20px);
      font-weight: 500;
      color: var(--ink);
      line-height: 1.1;
      margin-bottom: 6px;
    }
    .capex-total-val.gold { color: var(--gold); }
    .capex-total-delta {
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      letter-spacing: .06em;
    }
    .capex-total-delta.neutral { color: var(--ink-4); }
    .capex-total-delta.up { color: #1D9E75; }
    .capex-total-arrow {
      font-family: 'DM Mono', monospace;
      font-size: 20px;
      color: rgba(196,154,60,.2);
      flex-shrink: 0;
      display: flex;
      align-items: center;
    }
    .capex-legend {
      display: flex;
      gap: 12px 22px;
      margin-bottom: 6px;
      flex-wrap: wrap;
    }
    .capex-legend-item {
      display: flex;
      align-items: center;
      gap: 7px;
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--ink-3);
    }
    .capex-legend-sq {
      width: 10px;
      height: 10px;
      border-radius: 2px;
      flex-shrink: 0;
    }
    .capex-annotation {
      display: flex;
      gap: 16px;
      margin-top: 12px;
      flex-wrap: wrap;
    }
    .capex-annotation-item {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-family: 'Outfit', sans-serif;
      font-size: 12px;
      color: var(--ink-3);
      line-height: 1.5;
      flex: 1;
      min-width: 200px;
    }
    .capex-annotation-marker {
      width: 3px;
      min-height: 36px;
      border-radius: 2px;
      flex-shrink: 0;
      margin-top: 2px;
    }
    @media(max-width:600px) {
      .capex-total-item { min-width: 80px; padding: 10px; }
      .capex-total-val { font-size: 16px; }
      .capex-totals { gap: 6px; }
      .capex-total-arrow { font-size: 14px; }
      .capex-chart-outer { padding: 20px 16px 18px; }
    }

    /* ── Brand Variables ── */
    :root {
      --navy: #09131f;
      --navy-2: #0d1c2e;
      --navy-3: #162438;
      --gold: #C49A3C;
      --gold-dim: rgba(196,154,60,.18);
      --paper: #F5F0E8;
      --paper-2: #EDE8DF;
      --ink: #F5F0E8;
      --ink-2: rgba(245,240,232,.82);
      --ink-3: rgba(245,240,232,.55);
      --ink-4: rgba(245,240,232,.35);
      --ease: cubic-bezier(.4,0,.2,1);
      --r: 4px;
    }

    /* ── Reset & Base ── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { font-size: 16px; scroll-behavior: smooth; overflow-x: hidden; }
    body {
      background: var(--navy);
      color: var(--ink);
      font-family: 'Outfit', sans-serif;
      line-height: 1.7;
      min-height: 100vh;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    body::after {
      content: '';
      position: fixed;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
      pointer-events: none;
      z-index: 9999;
      opacity: .35;
    }
    a { color: var(--gold); text-decoration: none; }
    a:hover { color: var(--ink); }

    /* ── Nav ── */
    .nav{position:sticky;top:0;z-index:800;display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:64px;background:rgba(9,19,31,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(196,154,60,.12)}
    .nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
    .nav-monogram{width:36px;height:36px;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:11px;color:var(--gold);letter-spacing:.08em}
    .nav-logo-mark{display:block;font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--ink);letter-spacing:.04em}
    .nav-logo-name{display:block;font-family:'DM Mono',monospace;font-size:9px;color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase}
    .nav-links{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}
    .nav-links a{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-decoration:none;transition:color .2s}
    .nav-links a:hover,.nav-links a.active{color:var(--gold)}
    .nav-cta{background:var(--gold)!important;color:var(--navy)!important;padding:8px 18px!important;border-radius:2px;font-weight:500!important}
    .nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
    .nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--ink-3);transition:all .2s}
    @media(max-width:768px){.nav{padding:0 20px}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--navy);flex-direction:column;padding:20px;gap:16px;border-bottom:1px solid rgba(196,154,60,.12)}.nav-links.open{display:flex}.nav-hamburger{display:flex}}

    /* ── Footer ── */
    .footer{background:var(--navy);border-top:1px solid rgba(196,154,60,.12);padding:60px 40px 32px}
    .footer-inner{max-width:1100px;margin:0 auto}
    .footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;margin-bottom:40px}
    .footer-brand-name{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--ink);margin-bottom:4px}
    .footer-brand-sub{font-family:'DM Mono',monospace;font-size:10px;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
    .footer-tagline{font-family:'Outfit',sans-serif;font-size:13px;color:var(--ink-3);line-height:1.6}
    .footer-col-title{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
    .footer-links{display:flex;flex-direction:column;gap:10px}
    .footer-links a{font-family:'Outfit',sans-serif;font-size:13px;color:var(--ink-3);text-decoration:none;transition:color .2s}
    .footer-links a:hover{color:var(--ink)}
    .footer-contact{display:flex;flex-direction:column;gap:10px}
    .fci{display:flex;flex-direction:column;gap:2px}
    .fci-label{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}
    .fci-value,.fci-value a{font-family:'Outfit',sans-serif;font-size:13px;color:var(--ink-3);text-decoration:none}
    .fci-value a:hover{color:var(--gold)}
    .footer-bottom{border-top:1px solid rgba(196,154,60,.08);padding-top:24px;display:flex;flex-direction:column;gap:8px}
    .footer-legal{font-family:'Outfit',sans-serif;font-size:11px;color:var(--ink-4);line-height:1.7}
    .footer-copy{font-family:'DM Mono',monospace;font-size:9px;color:var(--ink-4);letter-spacing:.1em}
    @media(max-width:768px){.footer{padding:40px 20px 24px}.footer-top{grid-template-columns:1fr;gap:32px}}

    /* ── Author Box ── */
    .author-box{display:flex;align-items:center;gap:20px;background:var(--navy-2);border:1px solid rgba(196,154,60,.15);border-radius:var(--r);padding:24px;margin:48px 0;flex-wrap:wrap}
    .author-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex-shrink:0;filter:brightness(0.82) saturate(0.85)}
    .author-name{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--ink);margin-bottom:4px}
    .author-title{font-family:'DM Mono',monospace;font-size:10px;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
    .author-creds{font-family:'Outfit',sans-serif;font-size:13px;color:var(--ink-3);line-height:1.5;margin-bottom:10px}
    .author-links{display:flex;gap:16px}
    .author-links a{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);text-decoration:none}
    .author-links a:hover{color:var(--ink)}

    /* ── Article Layout ── */
    .article-wrap {
      max-width: 920px;
      margin: 0 auto;
      padding: 28px 24px 80px;
    }
    @media(max-width:600px){.article-wrap{padding:16px 16px 48px}}

    /* ── Breadcrumb ── */
    .breadcrumb {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 24px;
    }
    .breadcrumb a {
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--ink-3);
      text-decoration: none;
      transition: color .2s;
    }
    .breadcrumb a:hover { color: var(--gold); }
    .breadcrumb-sep {
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      color: var(--ink-4);
    }
    .breadcrumb-current {
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--gold);
    }

    /* ── Article Header ── */
    .article-category {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 14px;
      opacity: .8;
    }
    .article-h1 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(22px, 6vw, 46px);
      font-weight: 300;
      line-height: 1.15;
      color: var(--ink);
      margin-bottom: 24px;
      letter-spacing: -.01em;
    }
    .article-byline {
      font-family: 'DM Mono', monospace;
      font-size: 11px;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--ink-3);
      margin-bottom: 0;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .article-byline strong {
      color: var(--ink-2);
      font-weight: 600;
    }
    .article-lead {
      font-family: 'Outfit', sans-serif;
      font-size: 17px;
      font-weight: 300;
      color: var(--ink-2);
      line-height: 1.75;
      margin-bottom: 28px;
      border-left: 2px solid var(--gold);
      padding-left: 20px;
    }
    .article-byline-row {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 0;
      margin-bottom: 28px;
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      letter-spacing: .07em;
      text-transform: uppercase;
      color: var(--ink-3);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .article-byline-row strong { color: var(--ink-2); font-weight: 600; }
    .article-byline-sep {
      margin: 0 6px;
      color: var(--ink-4);
      font-size: 11px;
      line-height: 1;
    }
    .article-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--ink-4);
      margin-bottom: 16px;
    }
    .article-meta-item {
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--ink-3);
    }
    .article-meta-sep {
      width: 3px;
      height: 3px;
      background: var(--ink-4);
      border-radius: 50%;
    }

    /* ── Key Insight Box ── */
    .key-insight {
      background: var(--navy-2);
      border-left: 3px solid var(--gold);
      border-radius: 0 var(--r) var(--r) 0;
      padding: 24px 28px;
      margin: 36px 0 40px;
    }
    .key-insight-label {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 10px;
    }
    .key-insight p {
      font-family: 'Outfit', sans-serif;
      font-size: 15px;
      font-weight: 400;
      color: var(--ink-2);
      line-height: 1.7;
    }

    /* ── Section Structure ── */
    .article-section {
      margin-bottom: 64px;
    }
    .section-header {
      display: flex;
      align-items: flex-start;
      gap: 20px;
      margin-bottom: 28px;
      padding-bottom: 20px;
      border-bottom: 1px solid rgba(196,154,60,.12);
    }
    .section-num {
      font-family: 'DM Mono', monospace;
      font-size: 36px;
      font-weight: 300;
      color: var(--gold);
      line-height: 1;
      flex-shrink: 0;
      opacity: .6;
    }
    .section-title-wrap {
      flex: 1;
    }
    .section-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(22px, 4vw, 28px);
      font-weight: 400;
      color: var(--ink);
      line-height: 1.2;
      margin-bottom: 4px;
    }
    .section-subtitle {
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--ink-4);
    }

    /* ── Body Prose ── */
    .prose p {
      font-family: 'Outfit', sans-serif;
      font-size: 15px;
      color: var(--ink-2);
      line-height: 1.8;
      margin-bottom: 20px;
    }
    .prose p:last-child { margin-bottom: 0; }

    /* ── Exhibit Tables ── */
    .exhibit-wrap {
      margin: 36px 0;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    .exhibit-wide {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;
    }
    .exhibit-figcaption { display: none; }
    .exhibit-label {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 8px;
    }
    .exhibit-title {
      font-family: 'Outfit', sans-serif;
      font-size: 13px;
      color: var(--ink-3);
      margin-bottom: 2px;
    }
    .exhibit-source {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      color: var(--ink-4);
      margin-bottom: 16px;
    }
    table {
      width: 100%;
      border-collapse: collapse;
      font-family: 'Outfit', sans-serif;
      font-size: 13px;
    }
    thead tr {
      background: var(--gold-dim);
      border-bottom: 1px solid rgba(196,154,60,.3);
    }
    thead th {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--gold);
      padding: 12px 14px;
      text-align: left;
      white-space: nowrap;
    }
    tbody tr {
      border-bottom: 1px solid rgba(245,240,232,.05);
      transition: background .15s;
    }
    tbody tr:nth-child(even) {
      background: rgba(13,28,46,.5);
    }
    tbody tr:hover {
      background: rgba(196,154,60,.05);
    }
    tbody td {
      padding: 12px 14px;
      color: var(--ink-2);
      vertical-align: top;
      line-height: 1.5;
    }
    tbody td.highlight {
      color: var(--gold);
      font-weight: 500;
    }
    .star-badge {
      display: inline-block;
      background: var(--gold);
      color: var(--navy);
      font-family: 'DM Mono', monospace;
      font-size: 8px;
      letter-spacing: .08em;
      padding: 2px 6px;
      border-radius: 2px;
      vertical-align: middle;
      margin-left: 6px;
    }
    .exhibit-note {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      color: var(--ink-4);
      margin-top: 10px;
      line-height: 1.6;
    }

    /* ── Historical Cycles ── */
    .cycles-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
      margin: 28px 0;
    }
    .cycle-card {
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.1);
      border-radius: var(--r);
      padding: 20px;
      position: relative;
      overflow: hidden;
    }
    .cycle-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 3px;
      height: 100%;
      background: var(--gold);
      opacity: .3;
    }
    .cycle-card.current::before {
      opacity: 1;
    }
    .cycle-era {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 8px;
    }
    .cycle-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 17px;
      font-weight: 500;
      color: var(--ink);
      margin-bottom: 10px;
    }
    .cycle-body {
      font-family: 'Outfit', sans-serif;
      font-size: 13px;
      color: var(--ink-3);
      line-height: 1.6;
    }
    @media(max-width:600px){.cycles-grid{grid-template-columns:1fr}}

    /* ── Archetype Cards ── */
    .archetype-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
      margin: 28px 0;
    }
    .archetype-card {
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.12);
      border-radius: var(--r);
      padding: 24px;
    }
    .archetype-num {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--ink-4);
      margin-bottom: 6px;
    }
    .archetype-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 20px;
      font-weight: 500;
      color: var(--ink);
      margin-bottom: 6px;
    }
    .archetype-share {
      display: flex;
      align-items: baseline;
      gap: 8px;
      margin-bottom: 14px;
    }
    .archetype-pct {
      font-family: 'DM Mono', monospace;
      font-size: 22px;
      font-weight: 500;
      color: var(--gold);
    }
    .archetype-dollar {
      font-family: 'DM Mono', monospace;
      font-size: 12px;
      color: var(--ink-3);
    }
    .archetype-desc {
      font-family: 'Outfit', sans-serif;
      font-size: 13px;
      color: var(--ink-3);
      line-height: 1.6;
      margin-bottom: 12px;
    }
    .archetype-examples {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .08em;
      color: var(--ink-4);
    }
    @media(max-width:600px){.archetype-grid{grid-template-columns:1fr}}

    /* ── Bull/Bear Layout ── */
    .bull-bear {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin: 28px 0;
    }
    .bull-col, .bear-col {
      background: var(--navy-2);
      border-radius: var(--r);
      padding: 24px;
    }
    .bull-col {
      border: 1px solid rgba(196,154,60,.18);
    }
    .bear-col {
      border: 1px solid rgba(220,50,50,.18);
    }
    .bull-bear-label {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .14em;
      text-transform: uppercase;
      margin-bottom: 16px;
    }
    .bull-col .bull-bear-label { color: var(--gold); }
    .bear-col .bull-bear-label { color: rgba(220,90,90,1); }
    .bull-bear-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .bull-bear-list li {
      font-family: 'Outfit', sans-serif;
      font-size: 13px;
      color: var(--ink-3);
      line-height: 1.5;
      padding-left: 16px;
      position: relative;
    }
    .bull-col .bull-bear-list li::before {
      content: '↑';
      position: absolute;
      left: 0;
      color: var(--gold);
      font-size: 11px;
    }
    .bear-col .bull-bear-list li::before {
      content: '↓';
      position: absolute;
      left: 0;
      color: rgba(220,90,90,1);
      font-size: 11px;
    }
    @media(max-width:600px){.bull-bear{grid-template-columns:1fr}}

    /* ── Blockquote ── */
    .article-blockquote {
      border-left: 3px solid var(--gold);
      padding: 20px 28px;
      margin: 32px 0;
      background: var(--navy-2);
      border-radius: 0 var(--r) var(--r) 0;
    }
    .article-blockquote p {
      font-family: 'Cormorant Garamond', serif;
      font-size: 19px;
      font-style: italic;
      font-weight: 300;
      color: var(--ink-2);
      line-height: 1.65;
      margin-bottom: 12px;
    }
    .article-blockquote cite {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--gold);
      font-style: normal;
    }

    /* ── Conviction Cards ── */
    .conviction-grid {
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin: 28px 0;
    }
    .conviction-card {
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.12);
      border-radius: var(--r);
      padding: 24px;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 20px;
      align-items: flex-start;
    }
    .conviction-card.avoid {
      border-color: rgba(220,50,50,.18);
    }
    .conviction-card-left {
      display: flex;
      flex-direction: column;
      gap: 8px;
      min-width: 110px;
    }
    .conviction-ticker {
      font-family: 'DM Mono', monospace;
      font-size: 22px;
      font-weight: 500;
      color: var(--gold);
      letter-spacing: .04em;
    }
    .conviction-badge {
      display: inline-block;
      font-family: 'DM Mono', monospace;
      font-size: 8px;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: 4px 8px;
      border-radius: 2px;
      white-space: nowrap;
    }
    .badge-high {
      background: var(--gold);
      color: var(--navy);
    }
    .badge-selective {
      background: transparent;
      border: 1px solid var(--gold);
      color: var(--gold);
    }
    .badge-avoid {
      background: rgba(180,40,40,.15);
      border: 1px solid rgba(220,80,80,.4);
      color: rgba(220,100,100,1);
    }
    .conviction-card-right {}
    .conviction-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 18px;
      font-weight: 500;
      color: var(--ink);
      margin-bottom: 8px;
    }
    .conviction-body {
      font-family: 'Outfit', sans-serif;
      font-size: 13px;
      color: var(--ink-3);
      line-height: 1.65;
      margin-bottom: 12px;
    }
    .conviction-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
    }
    .conviction-meta-item {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .conviction-meta-label {
      font-family: 'DM Mono', monospace;
      font-size: 8px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--ink-4);
    }
    .conviction-meta-value {
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      color: var(--ink-2);
    }
    @media(max-width:600px){.conviction-card{grid-template-columns:1fr}.conviction-card-left{flex-direction:row;align-items:center;min-width:auto}}

    /* ── Projection Table ── */
    .projection-wrap {
      margin: 36px 0;
      overflow-x: auto;
    }

    /* ── Portfolio Framework ── */
    .framework-list {
      display: flex;
      flex-direction: column;
      gap: 20px;
      margin: 28px 0;
    }
    .framework-item {
      display: grid;
      grid-template-columns: 40px 1fr;
      gap: 16px;
      align-items: flex-start;
    }
    .framework-num {
      font-family: 'DM Mono', monospace;
      font-size: 18px;
      font-weight: 500;
      color: var(--gold);
      line-height: 1.4;
    }
    .framework-body {}
    .framework-title {
      font-family: 'Outfit', sans-serif;
      font-size: 15px;
      font-weight: 600;
      color: var(--ink);
      margin-bottom: 6px;
    }
    .framework-text {
      font-family: 'Outfit', sans-serif;
      font-size: 13px;
      color: var(--ink-3);
      line-height: 1.7;
    }

    /* ── References ── */
    .references-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .references-list li {
      display: grid;
      grid-template-columns: 20px 1fr;
      gap: 10px;
      font-family: 'Outfit', sans-serif;
      font-size: 13px;
      color: var(--ink-3);
      line-height: 1.6;
    }
    .ref-num {
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      color: var(--gold);
      padding-top: 2px;
    }

    /* ── Disclaimer ── */
    .disclaimer-box {
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.08);
      border-radius: var(--r);
      padding: 20px 24px;
      margin: 40px 0;
    }
    .disclaimer-label {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--ink-4);
      margin-bottom: 8px;
    }
    .disclaimer-text {
      font-family: 'Outfit', sans-serif;
      font-size: 11px;
      color: var(--ink-4);
      line-height: 1.7;
    }

    /* Share Bar */
    .share-bar { display: flex; align-items: center; gap: 10px; margin: 0 0 48px; flex-wrap: nowrap; }
    .share-label { font-family: 'DM Mono', monospace; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-4); flex-shrink: 0; margin-right: 4px; }
    .share-btn { display: inline-flex; align-items: center; gap: 7px; background: var(--navy-2); border: 1px solid rgba(196,154,60,.15); border-radius: 2px; padding: 9px 16px; font-family: 'DM Mono', monospace; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); text-decoration: none; cursor: pointer; transition: border-color .2s, color .2s, background .2s; white-space: nowrap; }
    @media (max-width: 600px) { .share-bar { flex-wrap: wrap; gap: 8px; } .share-label { display: none; } .share-btn { padding: 8px 11px; gap: 5px; } }
    .share-btn:hover { border-color: var(--gold); color: var(--gold); background: var(--navy-3); }
    .share-btn svg { width: 13px; height: 13px; fill: currentColor; flex-shrink: 0; }
    .share-btn.copied { border-color: rgba(45,138,78,.5); color: #2d8a4e; }

    /* ── CTA Box ── */
    .article-cta {
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.2);
      border-radius: var(--r);
      padding: 36px;
      margin: 48px 0;
      text-align: center;
    }
    .article-cta-label {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 12px;
    }
    .article-cta-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 26px;
      font-weight: 400;
      color: var(--ink);
      margin-bottom: 12px;
    }
    .article-cta-body {
      font-family: 'Outfit', sans-serif;
      font-size: 14px;
      color: var(--ink-3);
      line-height: 1.7;
      max-width: 520px;
      margin: 0 auto 24px;
    }
    .article-cta-btn {
      display: inline-block;
      font-family: 'DM Mono', monospace;
      font-size: 10px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--navy);
      background: var(--gold);
      padding: 12px 28px;
      border-radius: 2px;
      text-decoration: none;
      transition: opacity .2s;
    }
    .article-cta-btn:hover { opacity: .85; color: var(--navy); }

    /* ── More Research ── */
    .more-research {
      margin: 48px 0;
    }
    .more-research-label {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 20px;
    }
    .more-research-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    .more-research-card {
      background: var(--navy-2);
      border: 1px solid rgba(196,154,60,.1);
      border-radius: var(--r);
      padding: 20px;
      text-decoration: none;
      transition: border-color .2s;
    }
    .more-research-card:hover {
      border-color: rgba(196,154,60,.3);
    }
    .more-research-card.coming-soon {
      opacity: .5;
      cursor: default;
      pointer-events: none;
    }
    .more-card-tag {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 8px;
    }
    .more-card-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 18px;
      font-weight: 400;
      color: var(--ink);
      margin-bottom: 8px;
      line-height: 1.3;
    }
    .more-card-desc {
      font-family: 'Outfit', sans-serif;
      font-size: 12px;
      color: var(--ink-3);
      line-height: 1.5;
    }
    @media(max-width:600px){.more-research-grid{grid-template-columns:1fr}}

    /* ── Divider ── */
    .section-divider {
      border: none;
      border-top: 1px solid rgba(196,154,60,.1);
      margin: 48px 0;
    }

    /* ── Equity ticker cross-links ── */
    a.ticker-link {
      color: var(--gold);
      text-decoration: none;
      font-family: 'DM Mono', monospace;
      font-size: .88em;
      letter-spacing: .04em;
      border-bottom: 1px dotted rgba(196,154,60,.4);
      transition: border-color .15s, color .15s;
    }
    a.ticker-link:hover { color: #e0b955; border-bottom-color: rgba(196,154,60,.8); }

    /* ── Scenario Note Row ── */
    .scenario-note {
      font-family: 'DM Mono', monospace;
      font-size: 9px;
      color: var(--ink-4);
      padding: 10px 14px;
      background: rgba(196,154,60,.04);
      border-top: 1px solid rgba(196,154,60,.08);
      line-height: 1.7;
    }
    @media(max-width:768px){.ext-arr{display:none}}

    /* ── Additional Mobile Refinements ── */
    @media(max-width:600px) {
      /* Byline: allow natural wrapping instead of clipping */
      .article-byline-row {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        font-size: 10px;
        line-height: 1.7;
      }
      /* H1 minimum stays readable on 320px phones */
      .article-h1 { font-size: clamp(22px, 6vw, 46px); }
      /* Article lead slightly smaller on mobile */
      .article-lead { font-size: 15px; }
      /* CTA box tighter on mobile */
      .article-cta { padding: 24px 16px; margin: 32px 0; }
      .article-cta-title { font-size: 20px; }
      /* Section number shrinks on mobile */
      .section-header { gap: 12px; flex-wrap: wrap; }
      .section-num { font-size: 24px; }
      /* Conviction badge legible on small screens */
      .conviction-badge { font-size: 9px; padding: 5px 10px; }
      /* Capex annotation items stack on narrow phones */
      .capex-annotation { flex-direction: column; }
      .capex-annotation-item { min-width: 100%; flex-basis: 100%; }
      /* Version badge wraps cleanly on mobile */
      .version-badge { font-size: 8px; line-height: 1.6; }
    }

/* ── block boundary ─────────────────────────────── */

#cs-consent{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:99999;
      background:#09131f;border:1px solid rgba(196,154,60,0.2);border-radius:3px;
      display:flex;align-items:center;overflow:hidden;
      box-shadow:0 8px 32px rgba(0,0,0,0.5);
      max-width:680px;width:calc(100% - 48px);transition:opacity .4s,transform .4s}
    #cs-consent.hidden{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(10px)}
    .cs-bar{width:3px;align-self:stretch;background:#c49a3c;flex-shrink:0}
    #cs-consent p{margin:0;padding:0 14px;flex:1;font-family:'DM Mono',monospace;font-size:9px;
      letter-spacing:.05em;color:rgba(245,240,232,0.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    #cs-consent a{color:rgba(196,154,60,0.75);text-decoration:none;border-bottom:1px solid rgba(196,154,60,0.2)}
    #cs-consent a:hover{color:#c49a3c;border-bottom-color:rgba(196,154,60,0.5)}
    .cs-actions{display:flex;align-items:center;gap:6px;padding:8px 10px 8px 0;flex-shrink:0}
    .cs-btn-accept{background:rgba(196,154,60,0.12);color:#c49a3c;
      border:1px solid rgba(196,154,60,0.3);border-radius:3px;padding:5px 14px;
      font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.14em;
      text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
    .cs-btn-accept:hover{background:#c49a3c;color:#09131f}
    .cs-btn-decline{background:transparent;color:rgba(255,255,255,0.18);border:none;
      padding:5px 10px;font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.1em;
      text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color .2s}
    .cs-btn-decline:hover{color:rgba(255,255,255,0.4)}
    @media(max-width:600px){
      #cs-consent{flex-wrap:wrap;bottom:0;left:0;right:0;transform:none;
        width:100%;border-radius:4px 4px 0 0;border-left:none;border-right:none;border-bottom:none}
      .cs-bar{width:100%;height:3px}
      #cs-consent p{padding:9px 14px 6px;white-space:normal}
      .cs-actions{padding:0 12px 9px;gap:8px}
      #cs-consent.hidden{transform:translateY(100%)}
    }

/* ── block boundary ─────────────────────────────── */

/* ============ A.L.C. VISUAL ELEVATION LAYER — Jul 2026 (restrained/institutional) ============ */

/* 1 — Ambient depth: fixed radial atmosphere behind all content (very subtle; breaks the flat navy) */
body::before{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1200px 640px at 82% -6%, rgba(196,154,60,.05), transparent 62%),
    radial-gradient(1000px 760px at -12% 4%, rgba(29,158,117,.028), transparent 58%),
    var(--navy);
}

/* 2 — WCAG contrast nudge for long-form legibility (last :root wins) */
:root{ --ink-2:rgba(245,240,232,.88); --ink-3:rgba(245,240,232,.62); }

/* 3 — Card lift: lit-from-above hairline + depth shadow + gentle hover elevation */
.conviction-card,.cycle-card,.archetype-card,.bluf-block,.key-insight{
  position:relative;
  box-shadow:0 1px 0 rgba(245,240,232,.04) inset, 0 18px 42px -30px rgba(0,0,0,.72);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease);
}
.conviction-card::before,.cycle-card::before,.archetype-card::before{
  content:'';position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(196,154,60,.34),transparent);opacity:.65;
}
.conviction-card:hover,.cycle-card:hover,.archetype-card:hover{
  transform:translateY(-2px);border-color:rgba(196,154,60,.28);
  box-shadow:0 1px 0 rgba(245,240,232,.06) inset, 0 28px 56px -26px rgba(0,0,0,.82);
}

/* 4 — Exhibit tables: frame the data surface with subtle depth */
.exhibit-wrap table{
  background:linear-gradient(180deg, rgba(13,28,46,.35), rgba(9,19,31,.12));
  border:1px solid rgba(196,154,60,.08);border-radius:var(--r);
  box-shadow:0 22px 46px -32px rgba(0,0,0,.75);
}
.exhibit-title{ font-size:14px; color:var(--ink-2); }
.section-divider{ border:0;height:1px;background:linear-gradient(90deg,transparent,rgba(196,154,60,.22),transparent); }

/* 5 — Motion: orchestrated hero entrance + scroll reveal (respects reduced-motion) */
@media (prefers-reduced-motion: no-preference){
  @keyframes alcRise{ from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} }
  header .article-category, header .version-badge, header .article-h1,
  header .article-byline-row, #capex-clock-hero, #bluf-bottom-line{ animation:alcRise .8s var(--ease) both; }
  header .version-badge{ animation-delay:.06s } header .article-h1{ animation-delay:.14s }
  header .article-byline-row{ animation-delay:.24s } #capex-clock-hero{ animation-delay:.32s }
  #bluf-bottom-line{ animation-delay:.42s }
  .alc-reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
  .alc-reveal.alc-in{ opacity:1; transform:none; }
}

/* ── block boundary ─────────────────────────────── */

@keyframes clkDotPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.25;transform:scale(.7)} }
        @keyframes clkNumFlash { 0%{color:#C49A3C} 18%{color:#f2de80;text-shadow:0 0 28px rgba(242,222,128,.45)} 100%{color:#C49A3C} }
        #capex-clock-hero {
          margin: 28px 0 0;
          background: linear-gradient(160deg, rgba(196,154,60,.055) 0%, #0b1826 40%, rgba(9,19,31,.98) 100%);
          border: 1px solid rgba(196,154,60,.2);
          border-top: 3px solid rgba(196,154,60,.6);
          border-radius: 0 0 6px 6px;
          overflow: hidden;
          position: relative;
          box-shadow: 0 2px 60px rgba(0,0,0,.4), 0 0 80px rgba(196,154,60,.05);
        }
        #capex-clock-hero::before {
          content:''; position:absolute; inset:0;
          background-image: linear-gradient(rgba(196,154,60,.018) 1px,transparent 1px), linear-gradient(90deg,rgba(196,154,60,.018) 1px,transparent 1px);
          background-size: 44px 44px; pointer-events:none;
        }
        .clk-head { display:flex; align-items:center; gap:9px; padding:13px 28px 0; }
        .clk-live-dot { width:7px;height:7px;border-radius:50%;background:#1D9E75;display:inline-block;flex-shrink:0;animation:clkDotPulse 1.6s ease-in-out infinite }
        .clk-head-text { font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,240,232,.32) }
        .clk-hero { display:grid;grid-template-columns:1fr auto;gap:0;padding:12px 28px 16px;align-items:end }
        .clk-today-label { font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,240,232,.28);margin-bottom:6px }
        #clock-today-val { font-family:'DM Mono',monospace;font-size:52px;font-weight:500;color:#C49A3C;letter-spacing:-.025em;line-height:1;font-variant-numeric:tabular-nums;margin-bottom:5px }
        #clock-today-val.flash { animation:clkNumFlash .32s ease }
        .clk-rate { font-family:'DM Mono',monospace;font-size:11px;color:rgba(245,240,232,.28) }
        .clk-ytd-side { text-align:right;padding-bottom:2px }
        .clk-ytd-label { font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,240,232,.28);margin-bottom:6px }
        #clock-ytd-val { font-family:'DM Mono',monospace;font-size:28px;color:rgba(245,240,232,.8);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-bottom:10px;line-height:1 }
        .clk-prog-wrap { height:2px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden;margin-bottom:5px;min-width:180px }
        #clock-progress-fill { height:100%;background:linear-gradient(90deg,#C49A3C 0%,rgba(196,154,60,.4) 100%);border-radius:2px;transition:width .9s ease;width:0% }
        #clock-progress-lbl { font-family:'DM Mono',monospace;font-size:9px;color:rgba(245,240,232,.2);letter-spacing:.03em }
        .clk-footer { border-top:1px solid rgba(196,154,60,.1);padding:11px 28px 12px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center }
        #clock-equiv { font-family:'DM Mono',monospace;font-size:11px;color:rgba(29,158,117,.82);line-height:1.5;margin-bottom:7px;min-height:18px;transition:opacity .35s ease }
        .clk-nvda-line { font-family:'DM Mono',monospace;font-size:10px;color:rgba(245,240,232,.3);letter-spacing:.02em }
        .clk-nvda-line strong { color:rgba(196,154,60,.78);font-weight:500 }
        .clk-speed { display:flex;gap:18px;align-items:baseline;flex-shrink:0 }
        .clk-speed-item { text-align:center }
        .clk-speed-val { font-family:'DM Mono',monospace;font-size:12px;color:rgba(245,240,232,.6);font-variant-numeric:tabular-nums;display:block }
        .clk-speed-unit { font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,240,232,.22) }
        .clk-disclaimer { padding:0 28px 10px;font-family:'DM Mono',monospace;font-size:8.5px;color:rgba(245,240,232,.14);letter-spacing:.02em;line-height:1.55 }
        @media(max-width:600px){
          #clock-today-val{font-size:36px}
          .clk-hero{grid-template-columns:1fr;gap:16px}
          .clk-ytd-side{text-align:left}
          .clk-prog-wrap{min-width:0;width:100%}
          .clk-footer{grid-template-columns:1fr;gap:12px}
          .clk-speed{flex-wrap:wrap;gap:12px}
        }
