/* Graham Terminal landing — an editorial research desk, August 2026. */
:root {
  --display: 'Inter', 'Segoe UI', system-ui, sans-serif;
  --small-face: 'Inter', 'Segoe UI', system-ui, sans-serif;
  --hairline: color-mix(in srgb, var(--text) 18%, transparent);
}
html { scroll-behavior: smooth; }
body { min-height: 100vh; background: var(--bg); color: var(--text); font-family: var(--small-face); overflow-x: hidden; }
.nav-blend .tab-nav:not(.condensed) .nav-search-input { background:rgba(255,255,255,.62); border-color:rgba(0,0,0,.12); }
.nav-blend .tab-nav .nav-dropdown-toggle { letter-spacing:0; font-weight:600; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.wrap { width: min(100% - 48px, 1320px); margin-inline: auto; }
.live-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--up); box-shadow: 0 0 0 4px var(--up-soft); }
.live-dot.closed { background: var(--muted-dim); box-shadow: none; }
.pos { color: var(--up) !important; } .neg { color: var(--down) !important; }

/* Hero */
.hero { position: relative; border-bottom: 1px solid var(--border); overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .55; background-image: linear-gradient(var(--border) 1px, transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom,black,transparent 72%); }
.mast { position: relative; display: grid; grid-template-columns: 1fr 1fr 1fr; padding-block: 18px; border-bottom: 1px solid var(--hairline); }
.edition { display: flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: .63rem; letter-spacing: .11em; text-transform: uppercase; color: var(--muted); }
.edition.center { justify-content: center; } .edition.right { justify-content: flex-end; }
.hero-main { position: relative; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: clamp(50px,7vw,110px); align-items: center; min-height: 620px; padding-block: 90px 72px; }
.kicker,.section-no { font-family: var(--font-mono); font-size: .68rem; line-height: 1; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.hero h1 { margin-top: 28px; max-width: 900px; font-family: var(--display); font-size: clamp(4rem,7.5vw,7.4rem); font-weight: 600; letter-spacing: -.065em; line-height: .88; color: var(--text-strong); }
.hero-copy > h1:first-child { margin-top:0; }
.hero h1 em { font-style: normal; font-weight: 600; color: var(--ice); }
.hero-dek { max-width: 680px; margin-top: 36px; font-size: clamp(1.15rem,1.55vw,1.45rem); font-weight: 400; line-height: 1.48; color: var(--text-soft); }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 42px; }
.action { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 28px; padding: 0 22px; border: 1px solid var(--border); border-radius:999px; font-size: .76rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; transition: .18s ease; }
.action:hover { border-color: var(--muted); background: var(--bg-card); }
.action.primary { background: var(--accent); border-color: var(--accent); color: #130f0d; }
.action.primary:hover { background: var(--accent-strong); border-color: var(--accent-strong); }
.hero-brief { border-top: 3px solid var(--accent); padding-top: 15px; }
.brief-label { font-family: var(--font-mono); font-size: .63rem; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; }
.brief-number { margin-top: 24px; font-family: var(--display); color: var(--text-strong); font-size: clamp(4rem,6vw,6.5rem); font-weight: 300; line-height: .8; letter-spacing: -.06em; }
.brief-number span { color: var(--accent); }
.hero-brief > p { margin-top: 22px; color: var(--muted); font-size: .88rem; line-height: 1.55; }
.hero-brief dl { margin-top: 30px; border-top: 1px solid var(--border); }
.hero-brief dl div { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid var(--border); font-family: var(--font-mono); font-size: .66rem; }
.hero-brief dt { color: var(--muted); } .hero-brief dd { color: var(--text-strong); }
.hero-brief > a { display: flex; justify-content: space-between; margin-top: 19px; font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; color: var(--accent); }
.hero-visual { width: min(100%, 470px); justify-self: end; }
.hero-art { --art-dur: 14s; color: var(--border); }
.hero-art svg { display:block; width:100%; height:auto; overflow:visible; }
.hero-art .s-glow-0{stop-color:var(--accent);stop-opacity:.13}.hero-art .s-glow-1{stop-color:var(--accent);stop-opacity:0}.hero-art .s-fill-0{stop-color:var(--accent);stop-opacity:.16}.hero-art .s-fill-1{stop-color:var(--accent);stop-opacity:0}.hero-art .s-line-0{stop-color:var(--accent);stop-opacity:.3}.hero-art .s-line-1{stop-color:var(--accent);stop-opacity:1}.hero-art .s-sweep-0{stop-color:var(--accent);stop-opacity:.28}.hero-art .s-sweep-1{stop-color:var(--accent);stop-opacity:0}
.art-arcs circle,.art-ticks,.art-sweep,.orbit{transform-origin:200px 186px}.art-arcs circle{stroke-width:1}.art-arcs .a1{opacity:.5;animation:art-spin 118s linear infinite}.art-arcs .a2{stroke:var(--accent);stroke-opacity:.28;animation:art-spin 50s linear infinite reverse}.art-arcs .a3{opacity:.4;animation:art-spin 76s linear infinite}.art-arcs .a4{stroke:var(--accent);stroke-opacity:.2;animation:art-spin 34s linear infinite reverse}.art-ticks{opacity:.25;animation:art-spin 190s linear infinite}.art-sweep{opacity:.7;animation:art-spin 20s linear infinite}.orbit circle{fill:var(--accent)}.orbit.o1{animation:art-spin 27s linear infinite}.orbit.o2{animation:art-spin 41s linear infinite reverse}.orbit.o3{animation:art-spin 31s linear infinite}.orbit.o2 circle{filter:drop-shadow(0 0 6px rgb(var(--accent-rgb)/.8))}
@keyframes art-spin{to{transform:rotate(360deg)}}
.art-readout{transition:opacity .5s}.art-readout.fading{opacity:0}.ro-k{font-family:var(--small-face);font-size:8px;letter-spacing:.04em;fill:var(--muted)}.ro-v{font-family:var(--small-face);font-size:24px;font-weight:650;fill:var(--text-strong)}.ro-v.pos{fill:var(--up)}.ro-v.neg{fill:var(--down)}.ro-tag-bg,.ro-tag{display:none}.art-readout.has-tag .ro-tag-bg,.art-readout.has-tag .ro-tag{display:block}.ro-tag-bg{fill:var(--accent-soft);stroke:var(--accent-line);stroke-width:1}.ro-tag{font-family:var(--small-face);font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;fill:var(--accent-strong)}
.art-line{stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:art-draw var(--art-dur) cubic-bezier(.32,0,.2,1) infinite}.art-area{opacity:0;animation:art-fade var(--art-dur) ease-in-out infinite}.art-spark{stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:.035 .965;opacity:0;filter:drop-shadow(0 0 5px rgb(var(--accent-rgb)/.8));animation:art-spark var(--art-dur) linear infinite}
@keyframes art-draw{0%{stroke-dashoffset:1;opacity:0}4%{opacity:1}46%,78%{stroke-dashoffset:0;opacity:1}94%,100%{stroke-dashoffset:0;opacity:0}}@keyframes art-fade{0%,20%{opacity:0}55%,78%{opacity:1}94%,100%{opacity:0}}@keyframes art-spark{0%,46%{stroke-dashoffset:1;opacity:0}50%{opacity:.95}84%{stroke-dashoffset:.04;opacity:.95}90%,100%{stroke-dashoffset:.04;opacity:0}}
.market-ribbon { position: relative; display: grid; grid-template-columns: 195px 1fr 145px; align-items: center; min-height: 88px; border-top: 1px solid var(--hairline); }
.ribbon-title { padding-right: 22px; }
.ribbon-title strong { color: var(--text-strong); font-size: .88rem; font-weight: 650; }
.market-session { display: flex; align-items: center; gap: 8px; margin-top: 7px; color: var(--muted); font-size: .73rem; white-space: nowrap; }
.market-session .live-dot { width: 6px; height: 6px; }
.market-ribbon > a { display: flex; align-items: center; justify-content: flex-end; color: var(--accent); font-size: .79rem; font-weight: 650; text-align: right; }
.ribbon-data { display: grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items: center; min-width: 0; overflow: hidden; }
.snapshot-item { display: grid; grid-template-columns:auto auto; justify-content:center; align-items:baseline; gap:3px 8px; min-width:0; padding:4px 14px; border-left:1px solid var(--border); white-space:nowrap; }
.snapshot-label { grid-column:1 / -1; overflow:hidden; text-overflow:ellipsis; }
.snapshot-label { color: var(--muted); font-size: .77rem; }
.snapshot-item strong { color: var(--text-strong); font-size: .94rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.snapshot-move { font-size: .75rem; font-variant-numeric: tabular-nums; }

/* Section typography */
.live-desk,.institutional { padding-block: 96px; }
.live-desk .section-lead h2 { margin-top:0; }
.live-desk .market-ribbon { width:100%; margin-top:24px; border-top:0; }
.institutional .section-lead h2 { margin-top:0; }
.section-lead { display: grid; grid-template-columns: 1fr minmax(260px,420px); gap: 50px; align-items: end; margin-bottom: 40px; }
.section-lead h2 { margin-top: 18px; font-family: var(--display); font-size: clamp(2.7rem,4.6vw,4.7rem); font-weight: 600; line-height: .98; letter-spacing: -.055em; color: var(--text-strong); }
.section-lead > p,.section-lead > div + p { font-size: 1.12rem; font-weight: 400; line-height: 1.55; color: var(--muted); }

/* Working data decks */
.deck { --deck-bg:#15100e; --deck-chrome:#1d1612; --deck-line:#3c2c24; --deck-dim:#a48f7b; border: 1px solid var(--deck-line); background: var(--deck-bg); color:#eadfce; box-shadow: 0 32px 80px -45px #000; }
.deck-bar { min-height: 45px; display: flex; align-items: center; gap: 10px; padding: 0 16px; border-bottom: 1px solid var(--deck-line); background: var(--deck-chrome); font-family: var(--font-mono); font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }
.deck-title { font-weight: 600; color: #f4f7fc; }
.deck-status { color: var(--deck-dim); }
.deck-open { margin-left: auto; color: var(--accent); font-family: var(--font-mono); font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; }
.deck-tabs { display: flex; align-items:center; min-height: 48px; border-bottom: 1px solid var(--deck-line); background:#19120f; overflow-x: auto; }
.deck-tab { align-self: stretch; padding: 0 20px; border:0; border-right:1px solid var(--deck-line); border-bottom:2px solid transparent; background:none; color:var(--deck-dim); font-family:var(--font-mono); font-size:.63rem; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; cursor:pointer; }
.deck-tab:hover { color:#fff; } .deck-tab.is-on { color:var(--accent); border-bottom-color:var(--accent); background:rgba(255,255,255,.02); }
.deck-body { min-height: 350px; }
.deck-pane { display:none; grid-template-columns:1fr 1fr; }
.deck-pane.is-on { display:grid; }
.deck .col { min-width:0; border-right:1px solid var(--deck-line); }
.deck .col:last-child,.deck .col-wide { border-right:0; }
.deck .col-wide { grid-column:1 / -1; }
.col-head { height:42px; display:flex; align-items:center; justify-content:space-between; padding:0 14px; border-bottom:1px solid var(--deck-line); color:#c7cfdd; font-family:var(--font-mono); font-size:.64rem; text-transform:uppercase; letter-spacing:.06em; }
.col-head a { color:var(--deck-dim); } .col-head i { color:var(--deck-dim); font-style:normal; }
.lead { min-height:66px; display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:0 14px; border-bottom:1px solid var(--deck-line); font-family:var(--font-mono); }
.lead:has(.lead-link) { display:block; padding:0; }
.lead-link { min-height:65px; display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:0 14px; }
.lead-link:hover { background:#f7f7f7; }
.lead .lt { font-size:1.1rem; font-weight:600; color:#fff; }.lead .ln { color:var(--deck-dim); font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.lead .lv { font-size:1rem; }
.row { position:relative; display:grid; min-height:43px; align-items:center; border-bottom:1px solid var(--deck-line); color:#a9b3c4; font-family:var(--font-mono); font-size:.67rem; }
.row:last-child { border-bottom:0; }.row:hover { background:rgba(255,255,255,.035); }.row > * { min-width:0; padding:0 11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.row .tick,.row .fn { color:#f4f7fc; font-weight:600; }.row .nm { color:var(--deck-dim); }.row .n { text-align:right; color:#dfe6f2; font-variant-numeric:tabular-nums; }.row .arw { font-style:normal; margin-right:4px; font-size:.55rem; }.row .mag { position:absolute; right:0; inset-block:7px; background:currentColor; opacity:.1; }
.row.q { grid-template-columns:80px 1fr 90px 100px; }.row.s { grid-template-columns:80px 1fr 80px 100px; }.row.sm { grid-template-columns:72px 1fr 78px 110px 110px; }.row.k { grid-template-columns:1fr 100px 100px; }.row.cm { grid-template-columns:1fr 90px 100px 100px; }.row.e { grid-template-columns:80px 1fr 60px 70px; }.row.e2 { grid-template-columns:80px 1fr 60px 100px 110px 70px; }.row.u { grid-template-columns:60px 70px 1fr 55px 90px 100px; }.row.f { grid-template-columns:1fr 120px 110px 110px 90px; }
.rowhead { display:grid; min-height:35px; align-items:center; border-bottom:1px solid var(--deck-line); color:var(--deck-dim); font-family:var(--font-mono); font-size:.58rem; text-transform:uppercase; letter-spacing:.06em; }.rowhead > span { padding:0 11px; text-align:right; }.rowhead > span:first-child { text-align:left; }.rowhead.f {grid-template-columns:1fr 120px 110px 110px 90px}.rowhead.sm {grid-template-columns:72px 1fr 78px 110px 110px}.rowhead.e2 {grid-template-columns:80px 1fr 60px 100px 110px 70px}
.sent,.when { text-align:right; }.sent.bullish {color:var(--up)}.sent.bearish {color:var(--down)}.sent.neutral,.sent.pending {color:var(--deck-dim)}
.wire-item { display:block; padding:18px 20px; border-bottom:1px solid var(--deck-line); }.wire-meta { display:flex; color:var(--accent); font-family:var(--font-mono); font-size:.58rem; text-transform:uppercase; }.wire-text { margin-top:7px; color:#cbd3df; font-family:var(--display); font-size:1.08rem; line-height:1.35; }.empty { padding:26px; color:var(--deck-dim); font-family:var(--font-mono); font-size:.68rem; }

/* Thesis / product proof */
.thesis { padding-block:110px; color:#251912; background:#efc6a6; }
.thesis-grid { display:grid; grid-template-columns:.8fr 1.4fr; gap:clamp(70px,10vw,150px); }
.section-lead.vertical { display:block; margin:0; }.thesis .section-no {color:#8e3219}.thesis .section-lead h2 {color:#251912}.thesis .section-lead > p:last-child {margin-top:30px;color:#654b3c;max-width:430px}
.research-list { border-top:1px solid rgba(18,21,27,.45); }
.research-list a { display:grid; grid-template-columns:40px 1fr auto 25px; gap:24px; align-items:center; padding:27px 0; border-bottom:1px solid rgba(18,21,27,.35); transition:padding .18s; }.research-list a:hover {padding-left:10px}.research-no {font-family:var(--font-mono);font-size:.7rem}.research-list b {display:block;font-family:var(--display);font-size:1.75rem;font-weight:400}.research-list small {display:block;margin-top:5px;color:#56534c;font-size:.84rem;line-height:1.45}.research-list i {font-family:var(--font-mono);font-size:.65rem;font-style:normal;text-transform:uppercase}.research-list strong {font-size:1.2rem}

.compact-deck .deck-body { min-height:260px; }.compact-deck .deck-tabs .deck-open { margin-left:auto; margin-right:18px; }

/* Instrument directory */
.directory { padding-block:110px; border-top:1px solid var(--border); background:var(--bg-card); }
.mod-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--border); border-left:1px solid var(--border); }
.mod { position:relative; min-height:260px; display:flex; flex-direction:column; padding:24px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); transition:background .18s; }.mod:hover {background:var(--bg-chip)}
.mod-icon { color:var(--accent); font-size:1.1rem; }.mod > span:last-child {display:flex;flex-direction:column;flex:1}.mod-t {display:flex;align-items:center;gap:9px;margin-top:48px}.mod-t b {font-family:var(--display);font-size:1.48rem;font-weight:400;color:var(--text-strong)}.mod-tag {padding:3px 6px;border:1px solid var(--border);font-family:var(--font-mono);font-size:.52rem;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.mod-b {display:block;margin-top:14px;color:var(--muted);font-size:.76rem;line-height:1.58}

.closing { padding-block:110px; border-top:1px solid var(--border); }.closing-inner { position:relative; text-align:center; }.closing-scope { margin-bottom:18px; color:var(--muted); font-size:.78rem; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }.closing h2 { margin:0 0 38px; font-family:var(--display); font-size:clamp(3.5rem,7vw,7rem); font-weight:300; letter-spacing:-.055em; color:var(--text-strong); }.closing h2 span {color:inherit}.closing-subject { display:inline-flex; align-items:baseline; width:11.5ch; color:var(--ice) !important; text-align:left; }.closing #typed { display:inline-block; }.caret {display:inline-block;flex:0 0 2px;width:2px;height:.75em;background:var(--ice);margin-left:7px;animation:blink 1s steps(1) infinite}.closing-stat {position:absolute;right:0;bottom:0;text-align:right}.closing-stat b {display:block;font-family:var(--display);font-size:3rem;font-weight:300}.closing-stat > span {display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:.6rem;color:var(--muted);text-transform:uppercase}
.closing-actions { justify-content:center; margin-top:0; }
@media (max-width:600px) {
  .closing-prefix { display:block; }
  .closing-subject { width:100%; justify-content:center; text-align:center; }
}
@keyframes blink {50%{opacity:0}}

@media (max-width:1050px){.hero-main{grid-template-columns:1fr;gap:65px}.hero-brief{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.hero-brief .brief-label,.hero-brief .brief-number,.hero-brief>p{grid-column:1}.hero-brief dl,.hero-brief>a{grid-column:2}.hero-brief dl{grid-row:1/4;margin-top:0}.market-ribbon{grid-template-columns:180px 1fr}.market-ribbon>a{display:none}.ribbon-data{grid-template-columns:repeat(4,minmax(0,1fr))}.snapshot-item:nth-child(5){display:none}.thesis-grid{grid-template-columns:1fr;gap:60px}.mod-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.wrap{width:min(100% - 28px,1320px)}.mast{grid-template-columns:1fr auto}.edition.center{display:none}.hero-main{min-height:auto;padding-block:74px 60px}.hero h1{font-size:clamp(3.5rem,16vw,5.2rem)}.hero-dek{font-size:1.08rem}.hero-brief{display:block}.hero-brief dl{margin-top:28px}.market-ribbon{display:block;padding-block:17px}.ribbon-title{padding-right:0}.ribbon-data{display:flex;margin:14px -14px 0;padding:0 14px;overflow-x:auto}.snapshot-item{flex:0 0 auto;padding:4px 13px}.snapshot-item:first-child{padding-left:0;border-left:0}.snapshot-item:nth-child(5){display:grid}.section-lead{display:block}.section-lead>p,.section-lead>div+p{margin-top:20px;font-size:1.02rem}.live-desk,.institutional,.directory{padding-block:72px}.deck-pane.is-on{grid-template-columns:1fr}.deck-pane .col{border-right:0}.deck-pane .col+ .col{border-top:1px solid var(--deck-line)}.deck-tabs{align-items:stretch}.deck-tab{padding:0 14px}.deck-status{display:none}.row .nm{display:none}.row.q,.row.s{grid-template-columns:72px 1fr 90px}.row.q .nm,.row.s .nm{display:none}.row.sm{grid-template-columns:65px 1fr 68px 95px 0}.row.sm>*:nth-child(5){display:none}.row.u{grid-template-columns:55px 65px 1fr 50px}.row.u .nm,.row.u>*:nth-child(5),.row.u>*:nth-child(6){display:none}.row.f{grid-template-columns:1fr 90px 90px}.row.f>*:nth-child(4),.row.f>*:nth-child(5){display:none}.rowhead.f{grid-template-columns:1fr 90px 90px}.rowhead.f>*:nth-child(4),.rowhead.f>*:nth-child(5){display:none}.row.e2{grid-template-columns:70px 1fr 55px 65px}.row.e2>*:nth-child(5),.row.e2 .nm{display:none}.rowhead.e2{grid-template-columns:70px 1fr 55px 65px}.rowhead.e2>*:nth-child(5),.rowhead.e2>*:nth-child(2){display:none}.compact-deck .deck-tabs .deck-open{display:none}.research-list a{grid-template-columns:25px 1fr 22px}.research-list i{display:none}.mod-grid{grid-template-columns:repeat(2,1fr)}.mod{min-height:240px}.closing-stat{position:static;margin-top:55px;text-align:left}.closing-stat>span{justify-content:flex-start}}
@media (max-width:480px){.edition.right{font-size:.55rem}.hero-actions{display:grid}.action{width:100%}.hero-brief{margin-top:10px}.section-lead h2{font-size:2.8rem}.deck-bar .deck-open{display:none}.deck-body{min-height:300px}.mod-grid{grid-template-columns:1fr}.mod{min-height:210px}.mod-t{margin-top:35px}.research-list b{font-size:1.4rem}.research-list small{font-size:.76rem}.closing h2{font-size:3.3rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.caret{animation:none}.mod,.research-list a,.action{transition:none}}

/* Human-scale type: small copy reads like a publication, not a command line. */
.edition,
.kicker,
.section-no,
.brief-label,
.hero-brief dl div,
.hero-brief > a,
.ribbon-title,
.market-ribbon > a,
.ribbon-data .row,
.deck-bar,
.deck-open,
.deck-tab,
.col-head,
.lead,
.row,
.rowhead,
.wire-meta,
.empty,
.research-no,
.research-list i,
.mod-tag,
.closing-stat > span { font-family: var(--small-face); text-transform: none; }

.edition { font-size: .72rem; letter-spacing: .01em; }
.kicker, .section-no { font-size: .78rem; font-weight: 600; letter-spacing: .015em; }
.action { font-size: .82rem; letter-spacing: .005em; text-transform: none; }
.brief-label { font-size: .76rem; font-weight: 600; letter-spacing: 0; }
.hero-brief dl div { font-size: .74rem; }
.hero-brief > a { font-size: .78rem; letter-spacing: 0; text-transform: none; }
.ribbon-title { font-size: .74rem; font-weight: 600; letter-spacing: 0; }
.market-ribbon > a { font-size: .79rem; text-transform: none; }
.ribbon-data .row { font-size: .71rem; font-variant-numeric: tabular-nums; }
.deck-bar { font-size: .72rem; letter-spacing: .005em; text-transform: none; }
.deck-open { font-size: .71rem; letter-spacing: 0; text-transform: none; }
.deck-tab { font-size: .73rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.col-head { font-size: .72rem; letter-spacing: 0; text-transform: none; }
.lead, .row { font-variant-numeric: tabular-nums; }
.row { font-size: .72rem; }
.rowhead { font-size: .66rem; letter-spacing: 0; text-transform: none; }
.wire-meta { font-size: .68rem; text-transform: none; }
.empty { font-size: .74rem; }
.research-no { font-size: .74rem; font-weight: 600; }
.research-list small { font-size: .86rem; line-height: 1.5; }
.research-list i { font-size: .7rem; }
.research-list i { min-width:92px; display:flex; flex-direction:column; align-items:flex-start; color:#111; }
.research-list i b { font-size:1.8rem; font-weight:700; line-height:1; letter-spacing:-.035em; }
.research-list i span { margin-top:4px; color:#5d5d5d; font-size:.72rem; font-style:normal; }
.mod-tag { padding-inline: 7px; font-size: .62rem; letter-spacing: 0; text-transform: none; }
.mod-b { font-size: .8rem; line-height: 1.62; }
.closing-stat > span { font-size: .7rem; text-transform: none; }
.closing h2 { margin-top:0; }

/* A directory, not a grid of decorative feature cards. */
.mod-grid { display: block; border: 0; }
.mod-group { display: grid; grid-template-columns: 180px 1fr; border-top: 1px solid var(--border); }
.mod-group:last-child { border-bottom: 1px solid var(--border); }
.mod-group h3 { padding: 24px 20px 24px 0; color: var(--accent); font-size: .82rem; font-weight: 600; }
.mod-group > div { border-left: 1px solid var(--border); }
.mod { min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 40px; align-items: baseline; padding: 22px 24px; border: 0; border-bottom: 1px solid var(--border); }
.mod:last-child { border-bottom: 0; }
.mod::after { content: none; }
.mod-copy { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr); gap: 30px; align-items: baseline; }
.mod-copy b { color: var(--text-strong); font-family: var(--display); font-size: 1.25rem; font-weight: 400; }
.mod-copy small { color: var(--muted); font-size: .8rem; line-height: 1.55; }
.mod-meta { color: var(--muted-dim); font-size: .7rem; text-align: right; }

.research-list a { grid-template-columns: 1fr auto auto; }
.research-list strong { min-width: 34px; color: #6d5822; font-size: .72rem; font-weight: 600; text-align: right; }

@media (max-width: 900px) {
  .mod-group { grid-template-columns: 120px 1fr; }
  .mod { grid-template-columns: 1fr; gap: 10px; }
  .mod-copy { grid-template-columns: 180px 1fr; }
  .mod-meta { text-align: left; }
}
@media (max-width: 620px) {
  .mod-group { display: block; }
  .mod-group h3 { padding: 22px 0 12px; }
  .mod-group > div { border-left: 0; }
  .mod { padding: 18px 0; }
  .mod-copy { display: block; }
  .mod-copy b, .mod-copy small { display: block; }
  .mod-copy small { margin-top: 7px; }
  .research-list a { grid-template-columns: 1fr auto; }
  .research-list i { display: flex; min-width:72px; }
  .research-list strong { display:none; }
}

/* Compact terminal index: discovery without turning the page into a sitemap. */
.directory { padding-block: 88px; }
.directory .section-lead { margin-bottom: 34px; }
.mod-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.mod-group { display: block; padding: 24px 22px 22px; border: 0; border-right: 1px solid var(--border); }
.mod-group:last-child { border-right: 0; }
.mod-group h3 { padding: 0 0 15px; border-bottom: 2px solid var(--accent); font-size: .76rem; }
.mod-group > div { border: 0; }
.mod { min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px 0; border: 0; border-bottom: 1px solid var(--border-soft); }
.mod:last-child { border-bottom: 0; }
.mod:hover { padding-left: 7px; background: transparent; }
.mod-copy { display: block; }
.mod-copy b { font-family: var(--small-face); font-size: .82rem; font-weight: 500; }
.mod-meta { font-size: .62rem; text-align: right; }

@media (max-width: 900px) {
  .mod-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mod-group:nth-child(2) { border-right: 0; }
  .mod-group:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
}
@media (max-width: 520px) {
  .directory { padding-block: 66px; }
  .mod-grid { display: block; }
  .mod-group { padding: 22px 0 12px; border-right: 0; border-bottom: 1px solid var(--border); }
  .mod-group:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .mod-group:last-child { border-bottom: 0; }
  .mod { padding-block: 11px; }
}

@media (max-width: 1050px) {
  .hero-visual { width: min(72vw, 430px); justify-self: center; }
}
@media (max-width: 600px) {
  .hero-visual { width: min(88vw, 380px); }
}
@media (prefers-reduced-motion: reduce) {
  .art-arcs circle,.art-ticks,.art-sweep,.orbit,.art-line,.art-area,.art-spark { animation:none; }
  .art-sweep,.art-spark { display:none; }
  .art-line { stroke-dashoffset:0; }
  .art-area { opacity:1; }
}

/* White-first product surfaces. */
.action.primary { background:var(--accent); border-color:var(--accent-strong); color:#111; font-weight:700; box-shadow:none; }
.action.primary:hover { background:var(--accent-strong); border-color:var(--accent-strong); color:#fff; }
.hero-art { color:#171717; }
.hero-art .s-glow-0 { stop-color:#111; stop-opacity:.08; }
.hero-art .s-fill-0 { stop-color:#222; stop-opacity:.12; }
.hero-art .s-line-0 { stop-color:#555; stop-opacity:.5; }
.hero-art .s-line-1 { stop-color:#050505; stop-opacity:1; }
.hero-art .s-sweep-0 { stop-color:#222; stop-opacity:.35; }
.art-arcs .a2,.art-arcs .a4 { stroke:#111; }
.art-arcs circle { stroke-width:2; }
.art-arcs .a1 { opacity:.95; }
.art-arcs .a2 { stroke-opacity:.9; }
.art-arcs .a3 { opacity:.84; }
.art-arcs .a4 { stroke-opacity:.8; }
.art-ticks { opacity:.65; }
.art-sweep { opacity:.62; }
.orbit circle { fill:#4b4b4b; }
.orbit.o1 circle { fill:#696969; }
.orbit.o2 circle { fill:#222; filter:drop-shadow(0 0 5px rgba(0,0,0,.28)); }
.orbit.o3 circle { fill:#858585; }
.art-spark { stroke:#050505; filter:drop-shadow(0 0 3px rgba(0,0,0,.32)); }
.art-line { stroke-width:2.25; }
.art-area { filter:contrast(1.25); }
.deck { --deck-bg:#fff; --deck-chrome:#f5f5f5; --deck-line:#d8d8d8; --deck-dim:#696969; color:#282828; box-shadow:0 18px 46px -34px rgba(0,0,0,.28); }
.deck-tabs { background:#fafafa; }
.deck-title,.lead .lt,.row .tick,.row .fn { color:#111; }
.deck-tab:hover { color:#111; }
.deck-tab.is-on { color:var(--accent-strong); background:#fff; }
.col-head { color:#333; }
.deck .row { color:#555; }
.deck .row:hover { background:#f7f7f7; }
.row .n { color:#282828; }
.live-desk .deck-tabs { width:100%; }
.live-desk .deck-tabs .deck-tab { flex:1 1 20%; padding-inline:12px; color:#353535; font-size:.79rem; font-weight:600; text-align:center; }
.live-desk .deck-tabs .deck-tab:last-child { border-right:0; }
.live-desk .deck-tabs .deck-tab:hover { color:#111; background:#f1f1f1; }
.live-desk .deck-tabs .deck-tab.is-on { color:#111; background:var(--ice-soft); box-shadow:inset 0 -3px 0 var(--accent); }
.live-desk .deck-bar .deck-open { display:inline-flex; align-items:center; justify-content:center; min-height:30px; margin-left:auto; padding:0 14px; border:1px solid var(--accent-strong); background:var(--accent); color:#111; font-size:.72rem; font-weight:700; border-radius:2px; }
.live-desk .deck-bar .deck-open:hover { background:var(--accent-strong); border-color:var(--accent-strong); color:#fff; }
.live-desk .col-head a[href="/pulse/"] { display:inline-flex; align-items:center; justify-content:center; min-height:26px; padding:0 10px; border:1px solid var(--accent-strong); border-radius:2px; background:var(--accent); color:#111; font-size:.68rem; font-weight:700; }
.live-desk .col-head a[href="/pulse/"]:hover { background:var(--accent-strong); border-color:var(--accent-strong); color:#fff; }
.compact-deck .deck-tabs .deck-tab { flex:1 1 0; color:#353535; font-size:.79rem; font-weight:600; text-align:center; }
.compact-deck .deck-tabs .deck-tab:hover { color:#111; background:#f1f1f1; }
.compact-deck .deck-tabs .deck-tab.is-on { color:#111; background:var(--ice-soft); box-shadow:inset 0 -3px 0 var(--accent); }
.compact-deck .deck-tabs .deck-open { display:inline-flex; align-items:center; justify-content:center; align-self:center; min-height:32px; margin:7px 8px; padding:0 14px; border:1px solid var(--accent-strong); border-radius:2px; background:var(--accent); color:#111; font-size:.72rem; font-weight:700; white-space:nowrap; }
.compact-deck .deck-tabs .deck-open:hover { background:var(--accent-strong); border-color:var(--accent-strong); color:#fff; }
.compact-deck .rowhead { min-height:42px; background:var(--ice-soft); color:#444; font-size:.7rem; font-weight:600; }
.compact-deck .row.f { min-height:52px; font-size:.78rem; }
.compact-deck .row.f:nth-child(even) { background:#fafafa; }
.compact-deck .row.f:hover { background:#f1f1f1; }
.compact-deck .row.f .fn { color:#111; font-size:.82rem; font-weight:600; }
.compact-deck .row.f .n { color:#333; font-weight:500; }
.compact-deck .row.f .n.pos { color:#2f7d32 !important; font-weight:700; }
.compact-deck .row.f .arw { margin-right:6px; font-size:.58rem; }
@media (min-width:761px) {
  .compact-deck .rowhead.f,
  .compact-deck .row.f { grid-template-columns:minmax(280px,2fr) repeat(4,minmax(110px,1fr)); }
  .compact-deck .rowhead.f > span:not(:first-child),
  .compact-deck .row.f .n { text-align:center; }
  .compact-deck .rowhead.f > span:first-child,
  .compact-deck .row.f .fn { padding-left:18px; }
}
.wire-text { color:#333; }
.thesis { color:#111; background:#f2f2f2; }
.thesis .section-no { color:var(--accent-strong); }
.thesis .section-lead h2 { color:#111; }
.thesis .section-lead > p:last-child { color:#555; }
.thesis .section-lead h2 { margin-top:0; }

@media (max-width:600px) {
  .compact-deck .deck-tabs { flex-wrap:wrap; }
  .compact-deck .deck-tabs .deck-tab { flex:1 1 33.333%; min-height:46px; padding-inline:7px; }
  .compact-deck .deck-tabs .deck-open { flex:1 1 100%; margin:8px; }
}

/* Dark preview: same composition, rebuilt on an exact #141414 canvas. */
html:not(.light) .nav-blend .tab-nav:not(.condensed) .nav-search-input { background:rgba(20,20,20,.68); border-color:rgba(255,255,255,.15); }
html:not(.light) .hero::before { opacity:.34; }
html:not(.light) .hero-art { color:#b4b4b4; }
html:not(.light) .hero-art .s-glow-0 { stop-color:#d5d5d5; stop-opacity:.06; }
html:not(.light) .hero-art .s-fill-0 { stop-color:#a8a8a8; stop-opacity:.12; }
html:not(.light) .hero-art .s-line-0 { stop-color:#777; }
html:not(.light) .hero-art .s-line-1 { stop-color:#ededed; }
html:not(.light) .hero-art .s-sweep-0 { stop-color:#bdbdbd; }
html:not(.light) .art-arcs .a2,
html:not(.light) .art-arcs .a4 { stroke:#d2d2d2; }
html:not(.light) .orbit.o1 circle { fill:#aaa; }
html:not(.light) .orbit.o2 circle { fill:#e2e2e2; }
html:not(.light) .orbit.o3 circle { fill:#777; }
html:not(.light) .art-spark { stroke:#f0f0f0; filter:drop-shadow(0 0 3px rgba(255,255,255,.24)); }
html:not(.light) .deck { --deck-bg:var(--bg-card); --deck-chrome:var(--bg-panel); --deck-line:var(--border); --deck-dim:var(--muted); color:var(--text); box-shadow:0 18px 46px -34px #000; }
html:not(.light) .deck-tabs { background:#181818; }
html:not(.light) .deck-title,
html:not(.light) .lead .lt,
html:not(.light) .row .tick,
html:not(.light) .row .fn { color:var(--text-strong); }
html:not(.light) .deck-tab:hover { color:var(--text-strong); }
html:not(.light) .deck-tab.is-on { color:var(--text-strong); background:var(--ice-soft); }
html:not(.light) .live-desk .deck-tabs .deck-tab,
html:not(.light) .compact-deck .deck-tabs .deck-tab { color:var(--text-soft); }
html:not(.light) .live-desk .deck-tabs .deck-tab:hover,
html:not(.light) .compact-deck .deck-tabs .deck-tab:hover { color:var(--text-strong); background:var(--bg-chip); }
html:not(.light) .live-desk .deck-tabs .deck-tab.is-on,
html:not(.light) .compact-deck .deck-tabs .deck-tab.is-on { color:var(--text-strong); background:var(--ice-soft); }
html:not(.light) .col-head,
html:not(.light) .row .n,
html:not(.light) .wire-text { color:var(--text); }
html:not(.light) .deck .row { color:var(--text-soft); }
html:not(.light) .deck .row:hover,
html:not(.light) .lead-link:hover { background:var(--bg-chip); }
html:not(.light) .compact-deck .row.f:nth-child(even) { background:#171717; }
html:not(.light) .compact-deck .row.f:hover { background:var(--bg-chip); }
html:not(.light) .compact-deck .rowhead { color:var(--text-soft); }
html:not(.light) .compact-deck .row.f .fn,
html:not(.light) .compact-deck .row.f .n { color:var(--text); }
html:not(.light) .thesis { color:var(--text); background:#1b1b1b; }
html:not(.light) .thesis .section-lead h2 { color:var(--text-strong); }
html:not(.light) .thesis .section-lead > p:last-child { color:var(--muted); }
html:not(.light) .research-list i { color:var(--text-strong); }
