/* Northframe's short, source-linked investment thesis. */
.thesis-page { --thesis-orange: #bb552d; }
.thesis-shell { width: min(1080px, calc(100% - 112px)); margin-inline: auto; }
.thesis-intro { padding: 76px 0 42px; }
.thesis-kicker { display: flex; justify-content: space-between; align-items: center; gap: 24px; color: var(--muted); }
.thesis-kicker time { font-size: 14px; }
.thesis-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--thesis-orange); }
.thesis-intro h1 { font-size: clamp(66px,7.1vw,100px); line-height: .99; letter-spacing: -.035em; margin: 35px 0 26px; }
.thesis-intro h1 em { color: #65686c; }
.thesis-deck { max-width: 755px; font-size: 21px; line-height: 1.65; color: #55595f; }
.reading-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 30px; margin-top: 29px; font-size: 14px; color: var(--muted); }
.reading-meta a { color: var(--ink); text-decoration: underline; text-underline-offset: 5px; }
.reading-meta a span { margin-left: 12px; }
.desktop-nav [aria-current=page] { text-decoration: underline; text-underline-offset: 7px; text-decoration-color: var(--thesis-orange); }
.thesis-summary { background: #202124; color: #f7f7f7; padding: 0 34px; margin-bottom: 64px; }
.thesis-summary summary { list-style: none; display: flex; align-items: center; gap: 20px; cursor: pointer; min-height: 77px; }
.thesis-summary summary::-webkit-details-marker { display: none; }
.thesis-summary summary:focus-visible { outline: 2px solid #e99066; outline-offset: 6px; }
.summary-name { font-size: 17px; font-weight: 600; letter-spacing: .05em; }
.summary-meta { color: #bfc2c8; font-size: 14px; }
.summary-toggle { margin-left: auto; font-size: 26px; font-weight: 400; transition: transform .2s; }
.thesis-summary[open] .summary-toggle { transform: rotate(45deg); }
.thesis-summary ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 43px; margin: 0; padding: 5px 0 35px; list-style: none; counter-reset: summary; }
.thesis-summary li { position: relative; padding-left: 26px; counter-increment: summary; }
.thesis-summary li:before { content: counter(summary, decimal-leading-zero); position: absolute; left: 0; top: 2px; color: #efa37e; font-size: 12px; }
.thesis-summary li > span { display: block; font-size: 15px; color: #fafafa; margin-bottom: 5px; }
.thesis-summary li p { font-size: 16px; line-height: 1.6; color: #c5c8cd; }
.money-scale { margin-bottom: 62px; }
.money-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); background: #202124; color: #f7f7f7; }
.money-metric { min-width: 0; padding: 31px; display: flex; flex-direction: column; }
.money-metric + .money-metric { border-left: 1px solid #494b4f; }
.money-value { font-family: var(--serif); font-size: clamp(56px,5.5vw,76px); line-height: .95; letter-spacing: -.035em; }
.money-value > span { display: block; font-family: var(--sans); font-size: 14px; line-height: 1.45; letter-spacing: 0; color: #c7c9ce; margin-top: 12px; }
.money-metric > p:last-of-type { color: #d0d2d6; font-size: 15px; line-height: 1.65; margin: 20px 0; }
.money-metric a { color: #efa37e; font-size: 12px; line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; margin-top: auto; }
.money-metric sup { font-size: 9px; }
.thesis-evidence { margin-bottom: 74px; }
.evidence-heading { display: flex; align-items: baseline; gap: 26px; margin-bottom: 27px; }
.evidence-heading .eyebrow { white-space: nowrap; color: var(--muted); }
.evidence-heading h2 { font-size: 35px; line-height: 1.2; }
.thesis-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--line); padding-block: 26px; }
.thesis-metric { display: flex; flex-direction: column; padding-right: 27px; }
.thesis-metric + .thesis-metric { padding-left: 27px; border-left: 1px solid var(--line); }
.thesis-metric:last-child { padding-right: 0; }
.metric-value { font-family: var(--serif); font-size: 67px; line-height: 1; letter-spacing: -.035em; }
.metric-value > span { display: block; margin-top: 8px; font-family: var(--sans); font-size: 15px; line-height: 1.5; letter-spacing: 0; color: var(--muted); }
.metric-description { font-size: 16px; line-height: 1.7; margin: 17px 0 20px; }
.metric-source { font-size: 13px; color: var(--muted); text-decoration: underline; text-underline-offset: 4px; margin-top: auto; }
.metric-source sup { font-size: 10px; text-decoration: none; }
.thesis-evidence-note { font-size: 13px; line-height: 1.75; color: var(--muted); max-width: 880px; margin-top: 17px; }
.thesis-layout { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 69px; }
.thesis-contents { position: sticky; top: 36px; align-self: start; }
.thesis-contents .eyebrow { margin-bottom: 20px; color: #777b81; font-size: 12px; }
.thesis-contents nav a { display: flex; align-items: baseline; gap: 14px; font-size: 14px; line-height: 1.4; color: #51565d; padding: 11px 0; }
.thesis-contents nav a span { font-size: 11px; color: #8b8f95; }
.thesis-contents nav a:hover { color: var(--thesis-orange); }
.contents-pdf { display: inline-flex; gap: 35px; font-size: 14px; margin-top: 25px; padding-top: 22px; border-top: 1px solid var(--line); }
.thesis-article { min-width: 0; }
.thesis-section { padding: 0 0 37px; margin: 0 0 35px; border-bottom: 1px solid var(--line); scroll-margin-top: 35px; }
.chapter-label { display: flex; align-items: center; gap: 15px; font-size: 13px; text-transform: uppercase; letter-spacing: .045em; color: var(--muted); margin-bottom: 13px; }
.chapter-label > span { color: var(--thesis-orange); font-size: 12px; }
.thesis-section h2 { font-size: 39px; line-height: 1.17; letter-spacing: -.025em; margin-bottom: 19px; }
.thesis-section > p:last-child { font-size: 19px; line-height: 1.85; color: #3d4249; }
.thesis-section sup { font-size: 11px; margin-left: 3px; }
.thesis-section sup a { color: var(--thesis-orange); text-decoration: underline; }
.thesis-sources { padding: 1px 0 14px; }
.thesis-sources h2 { font-family: var(--sans); letter-spacing: 0; font-size: 16px; font-weight: 500; margin-bottom: 13px; }
.thesis-sources > p { color: var(--muted); font-size: 14px; line-height: 1.7; }
.thesis-sources ol { padding-left: 18px; margin: 23px 0 0; }
.thesis-sources li { padding-left: 6px; margin-bottom: 17px; font-size: 14px; line-height: 1.7; scroll-margin-top: 40px; }
.thesis-sources li::marker { color: var(--thesis-orange); font-size: 12px; }
.thesis-sources a { text-decoration: underline; text-underline-offset: 4px; }
.thesis-sources li p { color: var(--muted); font-size: 13px; margin-top: 4px; }
.thesis-cta { margin: 62px 0 80px; padding: 45px 44px; background: #f3f3f3; }
.thesis-cta .eyebrow { color: var(--muted); font-size: 13px; }
.thesis-cta h2 { font-size: 57px; line-height: 1.05; margin-top: 22px; }
.thesis-cta > p:not(.eyebrow) { font-size: 17px; color: var(--muted); margin-top: 20px; }
.thesis-cta .button { margin-top: 24px; }
.thesis-footer { border-top: 1px solid var(--line); padding: 29px 0; }
.thesis-footer .thesis-shell { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 14px; color: var(--muted); }
.thesis-footer a:first-child { font-size: 20px; font-weight: 600; letter-spacing: -.04em; color: var(--ink); }
.thesis-footer a:first-child span { color: #9a9da1; }
@media (max-width: 1050px) {
  .thesis-shell { width: calc(100% - 72px); }
  .thesis-layout { gap: 38px; grid-template-columns: 165px minmax(0,1fr); }
  .thesis-contents nav a { font-size: 13px; gap: 9px; }
  .thesis-intro { padding-top: 57px; }
  .thesis-section h2 { font-size: 36px; }
}
@media (max-width: 800px) {
  .thesis-layout { display: block; }
  .thesis-contents { display: none; }
  .thesis-summary ol { gap: 24px 25px; }
  .thesis-metric { padding-right: 20px; }
  .thesis-metric + .thesis-metric { padding-left: 20px; }
  .metric-value { font-size: 59px; }
  .thesis-evidence { margin-bottom: 52px; }
  .money-metric { padding: 24px 20px; }
}
@media (max-width: 600px) {
  .thesis-shell { width: calc(100% - 44px); }
  .thesis-intro { padding: 38px 0 29px; }
  .thesis-kicker { align-items: flex-start; gap: 12px; flex-direction: column; }
  .thesis-kicker .eyebrow { font-size: 12px; }
  .thesis-kicker time { font-size: 12px; }
  .thesis-intro h1 { font-size: clamp(49px, 12.2vw, 70px); margin: 25px 0 23px; line-height: 1.04; }
  .thesis-deck { font-size: 18px; line-height: 1.7; }
  .reading-meta { margin-top: 24px; font-size: 13px; gap: 12px; flex-direction: column; align-items: start; }
  .thesis-summary { padding-inline: 21px; margin-bottom: 39px; }
  .thesis-summary summary { gap: 12px; min-height: 72px; }
  .summary-name { font-size: 16px; }
  .summary-meta { font-size: 12px; }
  .thesis-summary ol { grid-template-columns: 1fr; padding-bottom: 27px; gap: 22px; }
  .thesis-summary li p { font-size: 16px; }
  .money-scale { margin-bottom: 42px; }
  .money-grid { display: block; }
  .money-metric { display: grid; grid-template-columns: 115px minmax(0,1fr); gap: 0 18px; padding: 25px 21px; }
  .money-metric + .money-metric { border-left: 0; border-top: 1px solid #494b4f; }
  .money-value { font-size: 45px; grid-row: span 2; }
  .money-value > span { font-size: 12px; }
  .money-metric > p:last-of-type { margin: 0 0 12px; font-size: 14px; }
  .evidence-heading { display: block; margin-bottom: 21px; }
  .evidence-heading .eyebrow { font-size: 12px; margin-bottom: 12px; }
  .evidence-heading h2 { font-size: 31px; max-width: 300px; }
  .thesis-metrics { display: block; padding-block: 0; }
  .thesis-metric { display: grid; grid-template-columns: 110px minmax(0,1fr); column-gap: 21px; padding: 23px 0; }
  .thesis-metric + .thesis-metric { padding: 23px 0; border-left: 0; border-top: 1px solid var(--line); }
  .metric-value { font-size: 52px; grid-row: span 2; }
  .metric-value > span { font-size: 13px; }
  .metric-description { margin: 0 0 12px; font-size: 15px; line-height: 1.65; }
  .metric-source { font-size: 12px; }
  .thesis-evidence-note { font-size: 12px; }
  .thesis-section { padding-bottom: 28px; margin-bottom: 28px; }
  .thesis-section h2 { font-size: 34px; margin-bottom: 17px; }
  .chapter-label { font-size: 11px; gap: 10px; letter-spacing: .04em; }
  .thesis-section > p:last-child { font-size: 18px; line-height: 1.8; }
  .thesis-cta { padding: 29px 22px; margin: 42px 0; }
  .thesis-cta h2 { font-size: 43px; }
  .thesis-cta > p:not(.eyebrow) { font-size: 16px; }
  .thesis-footer .thesis-shell { flex-wrap: wrap; gap: 17px; }
  .thesis-footer p { order: 3; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .summary-toggle { transition: none; } }
@media print {
  .header, .thesis-summary, .thesis-contents, .thesis-cta, .thesis-footer, .reading-meta { display: none; }
  .thesis-shell { width: 100%; }
  .thesis-layout { display: block; }
  .thesis-intro { padding-top: 0; }
  .thesis-intro h1 { font-size: 46px; }
  .thesis-section { break-inside: avoid; }
}
