:root {
  --ink: #e9f4ee;
  --muted: #94a89d;
  --dim: #5f7569;
  --ground: #07100d;
  --panel: #0c1813;
  --panel-2: #102119;
  --line: rgba(173, 212, 189, .14);
  --acid: #b8f06a;
  --mint: #5cdbac;
  --amber: #f2bd62;
  --sans: "Manrope", sans-serif;
  --mono: "DM Mono", monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--ground); font-family: var(--sans); line-height: 1.6; }
a { color: inherit; }
.noise { position: fixed; inset: 0; pointer-events: none; z-index: 20; opacity: .045; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); }
.topbar { position: sticky; top: 0; z-index: 15; height: 72px; display: flex; align-items: center; gap: 34px; padding: 0 clamp(20px, 5vw, 76px); background: rgba(7, 16, 13, .86); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.brand { display: flex; align-items: center; gap: 12px; margin-right: auto; text-decoration: none; font-size: 14px; font-weight: 700; letter-spacing: -.01em; }
.brand-mark { display: grid; place-items: center; width: 32px; height: 32px; color: #07100d; background: var(--acid); border-radius: 50%; font: 500 12px var(--mono); }
nav { display: flex; gap: 25px; }
nav a, .footer-links a { color: var(--muted); text-decoration: none; font-size: 13px; }
nav a:hover, .footer-links a:hover { color: var(--acid); }
.status-pill { display: flex; align-items: center; gap: 8px; padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font: 400 10px var(--mono); }
.status-pill span { width: 7px; height: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 12px var(--acid); }
main { overflow: hidden; }
.hero { min-height: 680px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: center; gap: 40px; padding: 90px clamp(22px, 8vw, 125px) 70px; background: radial-gradient(circle at 78% 42%, rgba(92, 219, 172, .09), transparent 32%), linear-gradient(180deg, #091710, #07100d); }
.eyebrow { margin: 0 0 18px; color: var(--acid); font: 500 11px var(--mono); letter-spacing: .15em; }
h1 { margin: 0; max-width: 860px; font-size: clamp(48px, 7vw, 98px); line-height: .96; letter-spacing: -.065em; }
h1 em { color: var(--mint); font-style: normal; font-weight: 500; }
.lede { max-width: 670px; margin: 30px 0 34px; color: var(--muted); font-size: clamp(16px, 1.5vw, 20px); }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.button { padding: 12px 18px; border: 1px solid var(--line); border-radius: 4px; text-decoration: none; font-size: 13px; font-weight: 700; }
.button.primary { color: #07100d; border-color: var(--acid); background: var(--acid); }
.button.ghost:hover { color: var(--acid); border-color: var(--acid); }
.hero-orbit { position: relative; width: min(38vw, 480px); aspect-ratio: 1; justify-self: center; }
.orbit { position: absolute; inset: 10%; border: 1px solid rgba(184, 240, 106, .22); border-radius: 50%; }
.orbit-one { animation: spin 28s linear infinite; border-style: dashed; }
.orbit-two { inset: 24%; border-color: rgba(92, 219, 172, .3); animation: spin 18s linear infinite reverse; }
.orbit::after { content: ""; position: absolute; top: -5px; left: 50%; width: 9px; height: 9px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 18px var(--acid); }
.core { position: absolute; inset: 35%; display: grid; place-content: center; text-align: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(12, 24, 19, .86); box-shadow: 0 0 80px rgba(92, 219, 172, .08); }
.core span, .core small, .satellite { font: 400 9px var(--mono); letter-spacing: .12em; color: var(--muted); }
.core strong { font-size: 48px; line-height: 1; color: var(--acid); }
.satellite { position: absolute; padding: 5px 9px; border: 1px solid var(--line); background: var(--ground); }
.sat-one { top: 5%; left: 24%; }.sat-two { right: 0; top: 48%; }.sat-three { left: 2%; bottom: 18%; }
@keyframes spin { to { transform: rotate(360deg); } }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.metrics article { padding: 30px clamp(18px, 4vw, 58px); border-right: 1px solid var(--line); }
.metrics article:last-child { border: 0; }
.metrics span { color: var(--acid); font: 500 clamp(32px, 4vw, 52px) var(--mono); }
.metrics p { margin: 2px 0 0; color: var(--muted); font-size: 12px; }
.section { padding: 105px clamp(22px, 8vw, 125px); border-bottom: 1px solid var(--line); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 44px; }
.section-heading h2 { margin: 0; max-width: 800px; font-size: clamp(34px, 4vw, 58px); line-height: 1.06; letter-spacing: -.045em; }
.section-heading > p { max-width: 480px; margin: 0; color: var(--muted); }
.callout { padding: 15px 18px; margin: 0 0 38px; color: var(--muted); border-left: 3px solid var(--amber); background: rgba(242, 189, 98, .06); font-size: 13px; }
.callout b { color: var(--amber); }
.timeline { display: flex; gap: 0; padding: 28px 0 45px; overflow-x: auto; scrollbar-color: var(--dim) transparent; }
.time-node { position: relative; min-width: 145px; padding-top: 28px; border-top: 1px solid var(--line); }
.time-node::before { content: ""; position: absolute; top: -5px; width: 9px; height: 9px; border-radius: 50%; background: var(--mint); }
.time-node time { display: block; color: var(--acid); font: 500 13px var(--mono); }.time-node b { display: block; padding-right: 16px; font-size: 12px; }
.toolbar { display: flex; justify-content: space-between; gap: 14px; margin: 0 0 24px; }
.search { display: flex; align-items: center; gap: 8px; flex: 1; max-width: 520px; padding: 0 13px; border: 1px solid var(--line); background: var(--panel); }
.search span { color: var(--acid); font-size: 22px; }
input, select { color: var(--ink); background: var(--panel); border: 1px solid var(--line); font: 400 12px var(--mono); }
input { width: 100%; padding: 12px 0; border: 0; outline: 0; background: transparent; }
select { padding: 11px 34px 11px 12px; }
.company-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.company-card { display: flex; flex-direction: column; min-height: 310px; padding: 23px; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(16, 33, 25, .92), rgba(9, 22, 16, .8)); transition: transform .2s, border-color .2s; }
.company-card:hover { transform: translateY(-3px); border-color: rgba(184, 240, 106, .45); }
.company-card header { display: flex; justify-content: space-between; gap: 15px; }.company-card h3 { margin: 0; font-size: 20px; }.company-card .year { color: var(--acid); font: 500 14px var(--mono); }
.tag { width: fit-content; margin: 14px 0; padding: 4px 7px; color: var(--mint); border: 1px solid rgba(92, 219, 172, .25); font: 400 9px var(--mono); text-transform: uppercase; }
.company-card .focus { flex: 1; color: var(--muted); font-size: 13px; }.company-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding-top: 17px; border-top: 1px solid var(--line); }.company-meta span { display: block; color: var(--dim); font: 400 9px var(--mono); text-transform: uppercase; }.company-meta b { font-size: 12px; }
.company-links { display: flex; gap: 12px; margin-top: 14px; }.company-links a { color: var(--acid); font: 400 10px var(--mono); text-decoration: none; }
.map-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(290px, .5fr); min-height: 520px; border: 1px solid var(--line); }
.map-stage { position: relative; min-height: 520px; overflow: hidden; background: radial-gradient(ellipse at center, rgba(92, 219, 172, .08), transparent 65%), #09140f; }
.map-grid-lines { position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(var(--mint) 1px, transparent 1px), linear-gradient(90deg, var(--mint) 1px, transparent 1px); background-size: 50px 50px; }
.map-stage::after { content: "UNITED STATES · CLUSTER TOPOLOGY"; position: absolute; left: 22px; bottom: 18px; color: var(--dim); font: 400 9px var(--mono); letter-spacing: .12em; }
.map-label { position: absolute; top: 15px; z-index: 2; color: var(--dim); font: 400 8px var(--mono); }.map-label.west { left: 15px; }.map-label.east { right: 15px; }
.hub-node { position: absolute; z-index: 3; transform: translate(-50%, -50%); cursor: pointer; background: none; border: 0; color: var(--ink); }
.hub-node i { display: block; width: calc(12px + var(--count) * 2px); height: calc(12px + var(--count) * 2px); margin: auto; border: 2px solid var(--acid); border-radius: 50%; background: rgba(184, 240, 106, .18); box-shadow: 0 0 0 7px rgba(184, 240, 106, .05); }
.hub-node span { display: block; margin-top: 8px; white-space: nowrap; font: 500 9px var(--mono); text-shadow: 0 2px 4px #000; }
.hub-node:hover i, .hub-node.active i { background: var(--acid); box-shadow: 0 0 22px var(--acid); }
.hub-detail { padding: 30px; border-left: 1px solid var(--line); background: var(--panel); }.hub-detail h3 { margin: 0 0 5px; font-size: 26px; }.hub-detail .cluster-count { color: var(--acid); font: 400 11px var(--mono); }.hub-detail p, .hub-detail li { color: var(--muted); font-size: 13px; }.hub-detail ul { padding-left: 18px; }
.evolution { margin-top: 20px; padding: 24px; color: var(--muted); border: 1px solid var(--line); background: var(--panel); }.evolution::before { content: "3–5 YEAR EVOLUTION THESIS"; display: block; margin-bottom: 8px; color: var(--acid); font: 500 10px var(--mono); }
.subheading-row { display: flex; justify-content: space-between; align-items: center; margin: 36px 0 18px; }.subheading-row h3 { margin: 0; }.mono { color: var(--dim); font: 400 10px var(--mono); }
.early-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.job-card { padding: 20px; border: 1px solid var(--line); background: var(--panel); }.job-card .company { color: var(--acid); font: 500 10px var(--mono); }.job-card h4 { min-height: 48px; margin: 8px 0; font-size: 15px; }.job-card .location { color: var(--muted); font-size: 11px; }.job-card details { margin-top: 14px; color: var(--muted); font-size: 11px; }.job-card a { display: inline-block; margin-top: 16px; color: var(--mint); font: 500 10px var(--mono); text-decoration: none; }
.signals-layout { display: grid; grid-template-columns: 1.45fr .55fr; gap: 36px; margin-top: 65px; }.signal-row { display: grid; grid-template-columns: 150px 1fr 65px; align-items: center; gap: 12px; margin-bottom: 13px; font-size: 11px; }.signal-track { height: 7px; background: var(--panel-2); }.signal-track i { display: block; height: 100%; background: linear-gradient(90deg, var(--mint), var(--acid)); }.signal-count { color: var(--dim); font: 400 9px var(--mono); text-align: right; }.action-card { padding: 28px; border: 1px solid rgba(184, 240, 106, .25); background: rgba(184, 240, 106, .05); }.action-card h3 { font-size: 26px; line-height: 1.1; }.action-card > p:not(.eyebrow) { color: var(--muted); font-size: 12px; }.action-item { padding: 13px 0; border-top: 1px solid var(--line); font-size: 11px; }
.all-jobs { margin-top: 50px; border-top: 1px solid var(--line); }.all-jobs summary { padding: 20px 0; cursor: pointer; font-weight: 700; }.all-jobs .search { margin-bottom: 20px; }.job-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }.job-row { display: grid; grid-template-columns: 1.5fr 1fr 1fr auto; gap: 15px; padding: 11px 14px; background: var(--ground); font-size: 11px; }.job-row span { color: var(--muted); }.job-row a { color: var(--acid); text-decoration: none; font: 400 10px var(--mono); }
.report-section { background: #09140f; }.report { max-width: 920px; padding: clamp(25px, 5vw, 65px); border: 1px solid var(--line); background: var(--panel); }.report h1 { font-size: clamp(30px, 5vw, 50px); line-height: 1.06; }.report h2 { margin-top: 45px; font-size: 26px; }.report h3 { margin-top: 30px; }.report p, .report li { color: #b8c9bf; }.report a { color: var(--acid); }.report blockquote { margin: 25px 0; padding: 8px 20px; border-left: 3px solid var(--mint); background: rgba(92, 219, 172, .05); }.report table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }.report th, .report td { padding: 10px; border-bottom: 1px solid var(--line); text-align: left; font-size: 11px; }
footer { display: flex; justify-content: space-between; gap: 30px; padding: 50px clamp(22px, 8vw, 125px); background: #050b08; }.footer-links { display: flex; gap: 22px; }footer p { max-width: 560px; color: var(--dim); font-size: 11px; }
.error-banner { position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 30; padding: 15px; color: #ffd8d8; border: 1px solid #9a4848; background: #351818; font-size: 12px; }
.reveal { animation: rise .8s ease both; }@keyframes rise { from { opacity: 0; transform: translateY(18px); } }
.empty { padding: 30px; color: var(--muted); border: 1px dashed var(--line); }
@media (max-width: 980px) { nav { display: none; }.hero { grid-template-columns: 1fr; padding-top: 70px; }.hero-orbit { width: min(80vw, 420px); }.company-grid { grid-template-columns: repeat(2, 1fr); }.early-grid { grid-template-columns: repeat(2, 1fr); }.signals-layout, .map-layout { grid-template-columns: 1fr; }.hub-detail { border-left: 0; border-top: 1px solid var(--line); }.section-heading { align-items: start; flex-direction: column; }.map-stage { min-height: 430px; } }
@media (max-width: 640px) { .topbar { height: 62px; }.status-pill { display: none; }.hero { min-height: auto; padding-bottom: 50px; }.hero-orbit { display: none; }.metrics { grid-template-columns: repeat(2, 1fr); }.metrics article:nth-child(2) { border-right: 0; }.metrics article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.section { padding-top: 72px; padding-bottom: 72px; }.company-grid, .early-grid { grid-template-columns: 1fr; }.toolbar { flex-direction: column; }.search { max-width: none; }.job-row { grid-template-columns: 1fr; }.signal-row { grid-template-columns: 105px 1fr 48px; }.map-stage { min-height: 360px; }.hub-node span { font-size: 7px; }.section-heading { margin-bottom: 28px; }footer { flex-direction: column; } }
