/* Investment Desk only: EMI shell, panel, typography and semantic color tokens. */
.investment-desk { display: grid; gap: 12px; min-width: 0; scroll-margin-top: 80px; }
body[data-active-page="market-intel"] .investment-desk-hero { grid-template-columns: minmax(0, 1fr); background: var(--panel); }
.desk-banner { display: flex; align-items: center; gap: 10px; margin: 0; padding: 13px 0; color: var(--muted-strong); font-size: 13px; }
.desk-banner .material-symbols-rounded { color: var(--accent-bright); font-size: 20px; }
.desk-status, .desk-meta { color: var(--muted); font-size: 12px; line-height: 1.55; }
.desk-status { margin: 0 0 5px; }
.desk-cycle-note { margin: -8px 0 10px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.desk-list { display: grid; gap: 16px; }
.investment-desk .desk-card { display: grid; grid-template-columns: 122px minmax(0, 1fr) 268px; gap: 20px; padding: 22px; margin: 0; }
.desk-card-rail { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; grid-row: span 2; border-right: 1px solid var(--line); padding-right: 18px; min-width: 0; }
.desk-badge { display: inline-flex; padding: 4px 7px; border: 1px solid var(--accent-soft); border-radius: 5px; color: var(--accent-bright); background: var(--accent-soft); font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .07em; line-height: 1.5; }
.desk-ticker { color: var(--text); font-family: 'JetBrains Mono', monospace; font-size: 17px; overflow-wrap: anywhere; }
.desk-eyebrow { display: block; margin: 0 0 7px; color: var(--muted); font-family: 'JetBrains Mono', monospace; font-size: 10px; line-height: 1.6; letter-spacing: .12em; text-transform: uppercase; }
.desk-card-main, .desk-masthead-top > div, .desk-memo-body { min-width: 0; }
.desk-card-main h2 { margin: 0; color: var(--text); font-size: 25px; line-height: 1.25; overflow-wrap: anywhere; }
.desk-thesis { max-width: 74ch; color: var(--text); font-size: 14px; line-height: 1.6; margin: 12px 0 18px; }
.desk-takeaways { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.desk-takeaway { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 6px; border: 1px solid var(--line); border-radius: 6px; padding: 6px 9px; min-width: 0; background: var(--surface-card-soft); }
.desk-takeaway dt { color: var(--accent-bright); font-size: 11px; line-height: 1.5; font-weight: 600; }
.desk-takeaway.desk-caution dt { color: var(--warning-strong); }
.desk-takeaway dd { margin: 0; color: var(--muted-strong); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.desk-freshness { color: var(--muted); font-size: 11px; line-height: 1.6; margin: 14px 0 0; }
.desk-freshness.desk-caution { color: var(--warning-strong); }
.desk-mark { min-width: 0; padding-top: 5px; }
.desk-mark .desk-eyebrow { font-size: 9px; letter-spacing: .08em; }
.desk-mark strong { display: block; color: var(--text); font-size: 22px; line-height: 1.3; font-weight: 650; overflow-wrap: anywhere; }
.desk-mark .desk-meta { font-size: 10px; margin-top: 7px; line-height: 1.6; }
.desk-card-rail .desk-mark strong { font-size: 20px; }
.desk-scenario-panel { min-width: 0; padding: 15px 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-card-soft); }
.desk-scenario-panel > .desk-eyebrow { color: var(--accent-bright); }
.desk-scenario-gap > strong { display: block; color: var(--muted-strong); font-size: 17px; line-height: 1.4; }
.desk-scenario-panel p { margin: 8px 0; color: var(--muted-strong); font-size: 12px; line-height: 1.6; }
.desk-scenario-rungs { display: grid; gap: 14px; }
.desk-scenario-prices { display: flex; flex-wrap: wrap; gap: 14px; }
.desk-scenario-prices .desk-scenario-rung { flex: 1; min-width: 86px; border: 0; padding: 0; }
.desk-scenario-prices strong { display: block; color: var(--accent-bright); font-size: 25px; line-height: 1.4; }
.desk-scenario-prices span { display: block; color: var(--muted-strong); font-size: 10px; line-height: 1.6; }
.desk-scenario-rung + .desk-scenario-rung { border-top: 1px solid var(--line); padding-top: 12px; }
.desk-scenario-prices .desk-scenario-rung + .desk-scenario-rung { border: 0; padding: 0; }
.desk-scenario-number { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 10px; }
.desk-scenario-number strong { color: var(--accent-bright); font-size: 24px; font-weight: 650; line-height: 1.2; }
.desk-scenario-number > span { font-size: 11px; color: var(--muted-strong); }
.desk-scenario-rung > .desk-meta { font-size: 10px; }
.desk-scenario-panel .desk-scenario-disclaimer { color: var(--warning-strong); font-size: 10px; line-height: 1.5; margin-bottom: 0; }
.desk-card-footer { grid-column: 2 / -1; display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid var(--line); padding-top: 12px; }
.desk-card-footer > span { font-size: 11px; line-height: 1.5; color: var(--muted); }
.investment-desk .button, .investment-desk .route-chip { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; text-align: center; white-space: normal; }
.investment-desk .button .material-symbols-rounded, .investment-desk .route-chip .material-symbols-rounded { font-size: 18px; }
.desk-empty { padding: 28px; color: var(--muted-strong); font-size: 14px; line-height: 1.65; }
.desk-empty h2 { font-size: 20px; color: var(--text); }
.desk-back-row { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin: 0 0 16px; }
.investment-desk .desk-memo { padding: 0; overflow: hidden; }
.desk-masthead { padding: 28px; border-bottom: 1px solid var(--line); }
.desk-masthead h2 { margin: 0 0 14px; font-size: clamp(25px, 3vw, 36px); line-height: 1.2; overflow-wrap: anywhere; }
.desk-masthead-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 240px); gap: 28px; }
.desk-masthead-top > .desk-mark { padding: 0 0 0 24px; border-left: 1px solid var(--line); }
.desk-masthead .desk-mark strong { font-size: 30px; }
.desk-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--muted-strong); font-size: 12px; }
.desk-masthead-scenarios { margin-top: 22px; }
.desk-masthead-scenarios .desk-scenario-rungs { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px; }
.desk-masthead-scenarios .desk-scenario-rung + .desk-scenario-rung { border-top: 0; padding-top: 0; }
.desk-masthead-scenarios .desk-scenario-panel p { font-size: 13px; }
.desk-masthead-scenarios .desk-scenario-gap { padding: 14px 18px; }
.desk-masthead-scenarios .desk-scenario-gap p { margin-bottom: 0; }
.desk-executive { color: var(--text); max-width: 100ch; font-size: 15px; line-height: 1.8; margin: 22px 0; }
.desk-notice { border-left: 3px solid var(--warning); padding: 8px 12px; color: var(--warning-strong); font-size: 13px; line-height: 1.6; }
.desk-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.desk-memo-layout { display: grid; grid-template-columns: 224px minmax(0, 1fr); }
.desk-contents { display: flex; flex-direction: column; align-self: start; gap: 3px; padding: 28px 20px; position: sticky; top: 72px; }
.desk-contents a { color: var(--muted-strong); text-decoration: none; padding: 8px 0; font-size: 12px; line-height: 1.5; }
.desk-contents a:hover, .desk-contents a:focus-visible { color: var(--accent-bright); }
.desk-memo-body { border-left: 1px solid var(--line); padding: 0 32px; }
.desk-memo-section { padding: 26px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 80px; }
.desk-memo-section:last-child { border-bottom: 0; }
.desk-memo-section h3 { color: var(--text); font-size: 20px; line-height: 1.3; margin: 0 0 16px; }
.desk-memo-section p, .desk-memo-section li { font-size: 14px; line-height: 1.8; color: var(--muted-strong); overflow-wrap: anywhere; }
.desk-memo-section p { margin: 9px 0; }
.desk-paragraph + .desk-paragraph { margin-top: 22px; }
.desk-paragraph .desk-eyebrow { margin: 0; color: var(--muted); }
.desk-inline-source { color: var(--accent-bright); text-decoration: underline; text-underline-offset: 3px; }
.desk-inline-evidence { color: var(--muted-strong); }
.desk-milestones, .desk-gaps, .desk-sources { padding-left: 20px; }
.desk-milestones li, .desk-gaps li { margin: 16px 0; padding-left: 4px; }
.desk-meta, .desk-gaps .desk-meta { display: block; }
.desk-sources { list-style: none; padding: 0; margin-bottom: 0; }
.desk-sources > li { border-top: 1px solid var(--line); padding: 20px 0; scroll-margin-top: 80px; }
.desk-source-head { display: flex; justify-content: space-between; gap: 10px; }
.desk-source-head strong { color: var(--text); }
.desk-sources .external-link { display: inline-flex; gap: 6px; align-items: center; min-height: 36px; }
.desk-sources .material-symbols-rounded { font-size: 15px; }
.investment-desk details { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 8px; }
.investment-desk summary { display: flex; align-items: center; gap: 12px; cursor: pointer; color: var(--text); padding: 10px 0; font-size: 13px; }
.investment-desk summary::after { flex-shrink: 0; }
.desk-source-receipt dl { font-size: 11px; color: var(--muted); }
.desk-source-receipt dt { margin-top: 10px; }
.desk-source-receipt dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.desk-history li { padding: 8px 0; }
.desk-history a { color: var(--accent-bright); }
.desk-memo-footer { padding: 20px 28px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.investment-desk :focus-visible { outline: 2px solid var(--accent-bright); outline-offset: 4px; }
@media (max-width: 1100px) {
    .investment-desk .desk-card { grid-template-columns: 108px minmax(0, 1fr); }
    .desk-card-rail { grid-row: span 3; }
    .desk-card > .desk-scenario-panel { grid-column: 2; }
    .desk-card .desk-scenario-rungs { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
    .desk-card .desk-scenario-rung + .desk-scenario-rung { border-top: 0; padding-top: 0; }
    .desk-memo-layout { grid-template-columns: 180px minmax(0, 1fr); }
    .desk-memo-body { padding: 0 24px; }
}
@media (max-width: 768px) {
    .investment-desk .desk-card { grid-template-columns: minmax(0, 1fr); padding: 20px; gap: 18px; }
    .desk-card-rail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-row: auto; align-items: start; gap: 5px 16px; border: 0; border-bottom: 1px solid var(--line); padding: 0 0 15px; }
    .desk-card-rail > .desk-badge { justify-self: start; }
    .desk-card-rail > .desk-ticker { grid-row: 2; }
    .desk-card-rail > .desk-mark { grid-column: 2; grid-row: 1 / 3; padding: 0; }
    .desk-card > .desk-scenario-panel, .desk-card-footer { grid-column: 1; }
    .desk-masthead { padding: 22px; }
    .desk-masthead-top { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .desk-masthead-top > .desk-mark { padding: 14px 0 0; border: 0; border-top: 1px solid var(--line); }
    .desk-memo-layout { grid-template-columns: minmax(0, 1fr); }
    .desk-contents { position: static; padding: 16px 22px; flex-direction: row; flex-wrap: wrap; gap: 2px 16px; border-bottom: 1px solid var(--line); }
    .desk-contents .desk-eyebrow { width: 100%; }
    .desk-memo-body { border-left: 0; padding: 0 22px; }
    .desk-card-footer, .desk-back-row { align-items: flex-start; flex-wrap: wrap; }
    .desk-card-footer .button { margin-left: auto; }
    .desk-source-head { flex-wrap: wrap; }
}
@media (max-width: 480px) {
    .investment-desk .desk-card { padding: 18px; }
    .desk-card-main h2 { font-size: 22px; }
    .desk-card-footer .button { width: 100%; }
    .desk-masthead { padding: 20px 18px; }
    .desk-memo-body { padding: 0 18px; }
    .desk-memo-footer { padding: 18px; }
    .desk-contents { padding: 16px 18px; }
    .desk-banner { align-items: flex-start; }
    .desk-masthead-scenarios .desk-scenario-rungs { grid-template-columns: minmax(0, 1fr); }
    .desk-masthead-scenarios .desk-scenario-rung + .desk-scenario-rung { border-top: 1px solid var(--line); padding-top: 14px; }
}
