:root {
  color-scheme: dark;
  --ink: #00131f;
  --panel: #031d2b;
  --panel-2: #062838;
  --paper: #f0f8fb;
  --text: #edf8ff;
  --muted: #86aebf;
  --cyan: #66d6ff;
  --green: #18d99a;
  --violet: #ae84ff;
  --amber: #ff9636;
  --line: rgba(120, 186, 211, .2);
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; min-width: 320px; background: var(--ink); color: var(--text); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }

.site-header {
  position: fixed; z-index: 100; inset: 0 0 auto; height: 78px; display: grid;
  grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(20px, 4vw, 70px);
  border-bottom: 1px solid rgba(168, 221, 240, .12); background: rgba(0, 19, 31, .76);
  backdrop-filter: blur(18px); transition: background .3s ease, height .3s ease;
}
.site-header.scrolled { height: 66px; background: rgba(0, 15, 25, .94); }
.brand { justify-self: start; display: block; }
.brand-wordmark { display: inline-block; color: #f4fbff; font: italic 600 clamp(22px, 2.2vw, 34px)/1 var(--serif); letter-spacing: -.045em; white-space: nowrap; text-shadow: 0 0 28px rgba(102,214,255,.12); }
.brand-wordmark::first-letter { color: var(--cyan); }
.brand-logo { display: block; width: clamp(168px, 15vw, 228px); height: auto; }
.desktop-nav { display: flex; align-items: center; gap: 32px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.desktop-nav a { color: #b8d5e1; transition: color .2s ease; }
.desktop-nav a:hover { color: white; }
.nav-cta { justify-self: end; border: 1px solid rgba(102, 214, 255, .55); border-radius: 999px; padding: 11px 18px; color: white; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.nav-cta:hover { background: var(--cyan); color: var(--ink); }
.menu-button, .mobile-nav { display: none; }

.film-hero { position: relative; min-height: 100svh; overflow: hidden; background: radial-gradient(circle at 65% 32%, #073247 0, #00131f 54%, #000b12 100%); }
.ambient-grid { position: absolute; inset: 0; opacity: .36; background-image: linear-gradient(rgba(102,214,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(102,214,255,.05) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to bottom, black, transparent 92%); }
.film-frame { position: absolute; z-index: 2; inset: 78px 0 0; overflow: hidden; }
.desk-glow { position: absolute; width: 64vw; height: 64vw; right: -5vw; top: -12vw; border-radius: 50%; background: rgba(25, 149, 194, .13); filter: blur(80px); }
.monitor-shell { position: absolute; width: min(68vw, 1080px); aspect-ratio: 16/9; right: clamp(18px, 2.2vw, 42px); top: 48%; transform: translateY(-50%) perspective(1600px) rotateY(-3deg) rotateX(1deg); transform-origin: right center; overflow: hidden; border: 1px solid rgba(143, 214, 238, .34); border-radius: 16px; background: #02131e; box-shadow: 0 44px 120px rgba(0,0,0,.58), 0 0 70px rgba(44,176,225,.12); }
.monitor-bar { position: absolute; z-index: 20; inset: 0 0 auto; height: 34px; display: flex; align-items: center; gap: 7px; padding: 0 13px; background: #061a25; border-bottom: 1px solid rgba(126,196,220,.16); }
.monitor-bar > span { width: 7px; height: 7px; border-radius: 50%; background: #315260; }
.monitor-address { margin: 0 auto; color: #5f8797; font-size: 8px; letter-spacing: .18em; text-transform: uppercase; }
.film-scene { position: absolute; inset: 34px 0 0; opacity: 0; pointer-events: none; transition: opacity .8s ease, transform 1.1s cubic-bezier(.2,.8,.2,1); transform: scale(1.025); }
.film-scene.active { opacity: 1; transform: scale(1); }

.search-scene { display: flex; flex-direction: column; align-items: center; padding: 9% 12%; background: #eef3f5; color: #12232c; }
.search-brand { margin-top: 2%; font: 600 clamp(18px, 2vw, 30px)/1 var(--sans); letter-spacing: .34em; color: #295467; }
.search-box { width: 78%; min-height: 52px; margin-top: 34px; border: 1px solid #c8d4d8; border-radius: 30px; background: white; box-shadow: 0 8px 30px rgba(35,64,76,.1); padding: 16px 23px; color: #153849; font-size: clamp(12px, 1.2vw, 18px); }
.typing-caret { display: inline-block; width: 1px; height: 1.1em; margin-left: 2px; vertical-align: -2px; background: currentColor; animation: blink .7s steps(1) infinite; }
.search-results { width: 73%; margin-top: 25px; display: grid; gap: 16px; }
.search-results article { display: grid; gap: 5px; opacity: 0; transform: translateY(8px); }
.search-scene.active .search-results article { animation: resultIn .5s ease forwards; }
.search-scene.active .search-results article:nth-child(2) { animation-delay: .35s; }
.search-scene.active .search-results article:nth-child(3) { animation-delay: .7s; }
.search-results b { color: #1c607f; font-size: clamp(11px, 1vw, 15px); font-weight: 600; }
.search-results span { color: #64777f; font-size: clamp(8px, .8vw, 12px); }
.search-friction { margin-top: auto; padding: 10px 15px; border-radius: 3px; background: #fff0e5; color: #ae581f; font-size: clamp(9px, .9vw, 13px); opacity: 0; }
.search-scene.active .search-friction { animation: fadeUp .55s 3.8s ease forwards; }

.map-scene { display: grid; grid-template-columns: 58px 1fr; background: var(--ink); }
.app-rail { display: flex; flex-direction: column; align-items: center; gap: 22px; padding-top: 22px; border-right: 1px solid rgba(120,190,215,.16); background: #021724; }
.rail-mark { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--cyan); color: var(--cyan); font-size: 9px; letter-spacing: .06em; }
.rail-item { width: 17px; height: 17px; border-radius: 4px; border: 1px solid #41687a; }
.rail-item.active { background: rgba(102,214,255,.18); border-color: var(--cyan); }
.app-main { position: relative; overflow: hidden; }
.app-toolbar { position: absolute; z-index: 8; top: 14px; left: 18px; right: 18px; display: flex; gap: 12px; align-items: center; }
.app-search { width: 48%; min-height: 34px; padding: 9px 13px; border: 1px solid rgba(114,189,219,.34); border-radius: 4px; background: rgba(4,31,44,.9); color: #caebf7; font-size: clamp(8px, .85vw, 13px); }
.source-pill { margin-left: auto; padding: 8px 11px; border: 1px solid rgba(24,217,154,.34); border-radius: 999px; color: var(--green); font-size: clamp(7px, .7vw, 10px); letter-spacing: .08em; text-transform: uppercase; }
.map-label { position: absolute; z-index: 4; left: 20px; bottom: 16px; color: #507b8e; font-size: clamp(7px, .65vw, 10px); letter-spacing: .14em; }
.network { width: 100%; height: 100%; background-image: radial-gradient(circle at 50% 50%, rgba(36,145,183,.16), transparent 45%), linear-gradient(rgba(102,214,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(102,214,255,.025) 1px, transparent 1px); background-size: auto, 34px 34px, 34px 34px; }
.line { fill: none; stroke-width: 2; opacity: .78; stroke-dasharray: 1200; stroke-dashoffset: 1200; }
.line.cyan { stroke: var(--cyan); }.line.green { stroke: var(--green); }.line.violet { stroke: var(--violet); }.line.amber { stroke: var(--amber); }
.map-scene.active .line { animation: drawLine 2.2s cubic-bezier(.2,.8,.2,1) forwards; }
.map-scene.active .l2 { animation-delay: .3s }.map-scene.active .l3 { animation-delay: .55s }.map-scene.active .l4 { animation-delay: .8s }.map-scene.active .l5 { animation-delay: 1.15s }.map-scene.active .l6 { animation-delay: 1.4s }.map-scene.active .l7 { animation-delay: 1.65s }.map-scene.active .l8 { animation-delay: 1.9s }
.node { opacity: 0; transform-box: fill-box; transform-origin: center; }
.node circle { fill: #06283a; stroke: #47798e; stroke-width: 2; }
.node text { fill: #bce4f2; font: 600 11px var(--sans); letter-spacing: .07em; }
.node.central circle { fill: #08344a; stroke: var(--cyan); filter: url(#nodeGlow); }
.node.target circle { stroke: var(--amber); }
.map-scene.active .node { animation: nodeIn .65s ease forwards; }
.map-scene.active .n1 { animation-delay: .8s }.map-scene.active .n2 { animation-delay: 1.2s }.map-scene.active .n3 { animation-delay: 1.55s }.map-scene.active .n4 { animation-delay: 2s }
.map-legend { position: absolute; z-index: 7; left: 20px; top: 65px; display: flex; gap: 13px; color: #6993a4; font-size: clamp(6px, .55vw, 8px); text-transform: uppercase; }
.map-legend span::before { content: ""; display: inline-block; width: 7px; height: 2px; margin-right: 4px; background: var(--cyan); vertical-align: 2px; }
.map-legend span:nth-child(2)::before { background: var(--green); }.map-legend span:nth-child(3)::before { background: var(--violet); }.map-legend span:nth-child(4)::before { background: var(--amber); }
.company-card { position: absolute; z-index: 9; width: 245px; right: 24px; bottom: 25px; padding: 16px; border: 1px solid rgba(255,150,54,.42); border-radius: 7px; background: rgba(3,29,43,.96); box-shadow: 0 15px 45px rgba(0,0,0,.42); opacity: 0; transform: translateY(12px); }
.map-scene.active .company-card { animation: fadeUp .6s 4.5s ease forwards; }
.company-card small { color: var(--amber); font-size: 7px; letter-spacing: .14em; }.company-card strong { display: block; margin-top: 8px; font: 500 16px var(--serif); }.company-card p { margin: 7px 0 13px; color: var(--muted); font-size: 9px; line-height: 1.5; }.company-card button { width: 100%; padding: 8px; border: 0; border-radius: 3px; background: var(--cyan); color: var(--ink); font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }

.report-scene { display: grid; place-items: center; background: radial-gradient(circle at center, #0a3a4f, #00131f 68%); }
.report-progress { position: absolute; z-index: 5; top: 27px; left: 50%; width: 44%; transform: translateX(-50%); color: #8fbacb; font-size: 9px; text-align: center; text-transform: uppercase; letter-spacing: .12em; }
.report-progress i { display: block; width: 0; height: 2px; margin-bottom: 8px; background: linear-gradient(90deg, var(--cyan), var(--green)); }
.report-scene.active .report-progress i { animation: progressLoad 4.8s .4s ease forwards; }
.paper-stack { position: relative; width: 42%; height: 75%; margin-top: 34px; perspective: 1200px; }
.report-page { position: absolute; inset: 0; overflow: hidden; padding: 8% 8% 6%; color: #102f3d; background: var(--paper); box-shadow: 0 25px 65px rgba(0,0,0,.46); }
.cover-page { z-index: 2; transform: translateX(-16%) rotate(-2deg); }
.detail-page { z-index: 1; transform: translateX(22%) rotate(3deg); }
.report-scene.active .cover-page { animation: coverSlide 6s 4.8s cubic-bezier(.2,.8,.2,1) forwards; }
.report-scene.active .detail-page { animation: reportScroll 6s 5.8s ease-in-out forwards; }
.report-kicker, .report-head { color: #427084; font-size: clamp(5px, .45vw, 7px); font-weight: 700; letter-spacing: .14em; }
.report-page h3 { margin: 13% 0 4%; font: 500 clamp(18px, 2.3vw, 34px)/1 var(--serif); }.report-page p { width: 78%; color: #4a6671; font-size: clamp(7px, .7vw, 10px); line-height: 1.5; }.cover-graphic { position: absolute; inset: auto 0 14% 0; height: 36%; background: radial-gradient(circle at 50% 50%, rgba(8,83,113,.08), transparent 45%), linear-gradient(135deg, transparent 48%, #5ccff5 49%, #5ccff5 50%, transparent 51%), linear-gradient(35deg, transparent 48%, #1cb78a 49%, #1cb78a 50%, transparent 51%); }.report-page small { position: absolute; left: 8%; bottom: 5%; color: #73909c; font-size: 5px; }
.detail-page h4 { margin: 8% 0; font: 500 clamp(12px, 1.5vw, 22px)/1.15 var(--serif); }.report-columns { display: grid; gap: 5px; }.report-columns span { display: block; height: 3px; background: #b3c8cf; }.report-columns span:nth-child(2), .report-columns span:nth-child(5) { width: 83%; }.report-columns span:nth-child(3), .report-columns span:nth-child(6) { width: 92%; }.report-chart { height: 22%; margin: 10% 0 8%; display: flex; align-items: end; gap: 7%; border-bottom: 1px solid #9ab4be; }.report-chart i { width: 12%; background: #2f9fc6; }.report-chart i:nth-child(1) { height: 25%; }.report-chart i:nth-child(2) { height: 48%; }.report-chart i:nth-child(3) { height: 38%; }.report-chart i:nth-child(4) { height: 72%; }.report-chart i:nth-child(5) { height: 88%; background: #18ad7f; }.report-head.lower { margin-top: 9%; }.mini-network { position: relative; height: 18%; }.mini-network b { position: absolute; width: 12px; height: 12px; border: 2px solid #4b879d; border-radius: 50%; }.mini-network b:nth-child(1) { left: 45%; top: 35%; width: 18px; height: 18px; border-color: #249dcc; }.mini-network b:nth-child(2) { left: 10%; top: 10%; }.mini-network b:nth-child(3) { left: 75%; top: 4%; }.mini-network b:nth-child(4) { left: 20%; top: 72%; }.mini-network b:nth-child(5) { left: 80%; top: 68%; }
.report-complete { position: absolute; z-index: 8; right: 30px; bottom: 24px; display: flex; align-items: center; gap: 12px; opacity: 0; }.report-scene.active .report-complete { animation: fadeUp .55s 10.5s ease forwards; }.report-complete span { color: #a5ccd9; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }.report-complete button { border: 0; border-radius: 3px; padding: 9px 15px; background: var(--green); color: #001a16; font-size: 8px; font-weight: 700; text-transform: uppercase; }

.end-scene { display: grid; align-content: center; justify-items: center; padding: 12%; text-align: center; background: radial-gradient(circle at center, #07435d, #00131f 62%); }
.end-mark { font: 700 clamp(16px, 2.2vw, 34px) var(--sans); letter-spacing: .18em; }.end-mark span { color: var(--cyan); }.end-scene h2 { max-width: 680px; margin: 22px 0 10px; font: 500 clamp(24px, 4vw, 58px)/1 var(--serif); }.end-scene p { color: #9cc2d0; font-size: clamp(9px, 1vw, 14px); }
.film-cursor { position: absolute; z-index: 30; left: 84%; top: 74%; width: 19px; height: 25px; opacity: 0; transform: rotate(-18deg); clip-path: polygon(0 0, 100% 67%, 58% 72%, 40% 100%); background: white; filter: drop-shadow(0 2px 3px #000); transition: left 1s ease, top 1s ease, opacity .25s ease; }.film-cursor::after { content: ""; position: absolute; width: 28px; height: 28px; left: -8px; top: -8px; border: 1px solid var(--cyan); border-radius: 50%; opacity: 0; }.film-cursor.clicking::after { animation: cursorClick .55s ease; }
.film-gate { position: absolute; z-index: 42; inset: 34px 0 0; display: flex; align-items: center; justify-content: center; gap: 13px; border: 0; background: rgba(0,19,31,.56); color: white; cursor: pointer; backdrop-filter: blur(3px); transition: opacity .35s ease, visibility .35s ease; }
.film-gate.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.gate-play { display: grid; place-items: center; width: 52px; height: 52px; padding-left: 3px; border: 1px solid rgba(102,214,255,.7); border-radius: 50%; background: rgba(6,46,64,.8); color: var(--cyan); font-size: 15px; box-shadow: 0 0 35px rgba(102,214,255,.13); }
.film-gate > span:last-child { display: grid; gap: 3px; text-align: left; }.film-gate b { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }.film-gate small { color: #8eb5c4; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.film-gate:hover .gate-play { background: var(--cyan); color: var(--ink); }
.film-controls { position: absolute; z-index: 40; left: 50%; bottom: 26px; width: min(68vw, 980px); transform: translateX(-50%); display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 13px; color: #82aabc; }
.control-button, .replay-button { border: 0; background: transparent; cursor: pointer; }
.control-button { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid rgba(138,201,225,.28); border-radius: 50%; font-size: 11px; }.replay-button { padding: 6px 0; color: #a9cbd8; font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }.film-progress { height: 2px; background: rgba(151,202,220,.2); }.film-progress i { display: block; width: 0; height: 100%; background: var(--cyan); }.film-time { font-variant-numeric: tabular-nums; font-size: 9px; }

.hero-copy { position: absolute; z-index: 12; left: clamp(24px, 5vw, 78px); bottom: clamp(105px, 14vh, 160px); width: min(440px, 35vw); text-shadow: 0 3px 25px rgba(0,0,0,.75); }
.eyebrow { margin: 0 0 18px; color: var(--cyan); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.hero-copy h1 { margin: 0; font: 500 clamp(46px, 6.2vw, 92px)/.92 var(--serif); letter-spacing: -.045em; }
.hero-copy > p:not(.eyebrow) { max-width: 400px; margin: 23px 0 0; color: #b4d3de; font-size: clamp(14px, 1.2vw, 18px); line-height: 1.55; }
.hero-actions { display: flex; gap: 12px; margin-top: 30px; }.button { border: 1px solid rgba(139,210,236,.38); border-radius: 3px; padding: 13px 18px; background: transparent; cursor: pointer; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.button.primary { border-color: var(--cyan); background: var(--cyan); color: var(--ink); }.button.ghost { backdrop-filter: blur(10px); }.button:hover { transform: translateY(-1px); }
.scroll-cue { position: absolute; z-index: 12; right: clamp(24px, 4vw, 68px); bottom: 31px; color: #7da6b7; font-size: 9px; letter-spacing: .11em; text-transform: uppercase; }.scroll-cue span { margin-left: 8px; color: var(--cyan); }

/* Product film: a restrained simulation of the live Macro Terrain interface. */
.platform-scene { position: absolute; inset: 34px 0 0; display: grid; grid-template-columns: 48px 1fr; overflow: hidden; background: #00131f; color: #edf8ff; }
.platform-scene::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 54% 48%, transparent 0, transparent 38%, rgba(0,9,15,.3) 100%); }
.platform-rail { position: relative; z-index: 8; display: flex; flex-direction: column; align-items: center; gap: 17px; padding: 16px 0 13px; border-right: 1px solid rgba(120,167,189,.18); background: #021925; }
.rail-monogram { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(102,214,255,.7); color: #a9e9ff; font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.rail-tool { display: block; width: 19px; height: 19px; border: 1px solid #345d6d; border-radius: 3px; }
.rail-tool.active { border-color: #66d6ff; box-shadow: inset 0 0 0 4px #082b3a; background: #66d6ff; }
.rail-source-count { display: grid; gap: 1px; margin-top: auto; text-align: center; color: #7ca3b2; }
.rail-source-count b { color: #c8e4ed; font-size: 7px; }.rail-source-count small { font-size: 6px; text-transform: uppercase; letter-spacing: .08em; }
.platform-workspace { min-width: 0; display: grid; grid-template-rows: 52px 38px 1fr; }
.platform-toolbar { position: relative; z-index: 9; display: grid; grid-template-columns: minmax(125px,.7fr) minmax(270px,1.45fr) minmax(135px,.65fr); align-items: center; gap: 20px; padding: 0 19px; border-bottom: 1px solid rgba(120,167,189,.18); background: #031b28; }
.product-label { display: grid; gap: 2px; }.product-label b { color: #e5f6fc; font-size: 8px; letter-spacing: .14em; }.product-label span { color: #557f90; font-size: 5px; letter-spacing: .13em; }
.map-search { display: flex; align-items: center; min-width: 0; height: 31px; padding: 0 12px; border: 1px solid rgba(113,178,202,.32); border-radius: 4px; background: #052432; color: #d9f5ff; font-size: 9px; transition: border-color .25s, box-shadow .25s, background .25s; }
.map-search svg { flex: 0 0 auto; width: 12px; height: 12px; margin-right: 8px; fill: none; stroke: #628a9b; stroke-width: 1.5; }
.map-search .search-placeholder { color: #6d96a7; }.map-search .typing-caret { display: none; }
.platform-scene.searching .map-search { border-color: rgba(102,214,255,.85); background: #062a3a; box-shadow: 0 0 0 2px rgba(102,214,255,.08); }
.platform-scene.searching .map-search .typing-caret { display: inline-block; }.platform-scene.searching .search-placeholder, .platform-scene.found .search-placeholder, .platform-scene.tracing .search-placeholder, .platform-scene[class*="show-"] .search-placeholder, .platform-scene.drawer .search-placeholder { display: none; }
.toolbar-meta { justify-self: end; display: flex; align-items: center; gap: 13px; color: #638b9b; font-size: 6px; letter-spacing: .12em; }.toolbar-meta b { padding: 5px 7px; border: 1px solid rgba(24,217,154,.3); border-radius: 2px; color: #60d8b0; font-size: 6px; font-weight: 600; }
.relationship-filters { position: relative; z-index: 9; display: flex; align-items: center; gap: 5px; padding: 0 18px; border-bottom: 1px solid rgba(120,167,189,.14); background: #021721; }
.relationship-filter { display: flex; align-items: center; gap: 5px; height: 24px; padding: 0 7px; border: 1px solid transparent; border-radius: 3px; background: transparent; color: #6f96a6; font-size: 6.5px; letter-spacing: .02em; white-space: nowrap; }
.relationship-filter i { width: 8px; height: 2px; background: #526d79; transition: background .4s, box-shadow .4s; }
.relationship-filter.active { border-color: rgba(161,211,228,.22); background: #072532; color: #d8edf5; }
.relationship-filter[data-filter="revenue"].active i { background: #58d5ff; box-shadow: 0 0 7px #58d5ff; }.relationship-filter[data-filter="capital"].active i { background: #18d99a; box-shadow: 0 0 7px #18d99a; }.relationship-filter[data-filter="ownership"].active i { background: #ae84ff; box-shadow: 0 0 7px #ae84ff; }.relationship-filter[data-filter="debt"].active i { background: #ff9636; box-shadow: 0 0 7px #ff9636; }.relationship-filter[data-filter="capacity"].active i { background: #7fa7bc; box-shadow: 0 0 7px #7fa7bc; }
.record-count { margin-left: auto; color: #52798a; font-size: 6px; letter-spacing: .06em; white-space: nowrap; }.record-count b { color: #9bbfcd; font-weight: 500; }
.map-stage { position: relative; min-height: 0; overflow: hidden; background-color: #00131f; background-image: linear-gradient(rgba(102,214,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(102,214,255,.04) 1px, transparent 1px); background-size: 31px 31px; }
.product-map { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; transition: width .8s cubic-bezier(.2,.7,.2,1), opacity .5s; }
.product-map text { font-family: var(--sans); font-size: 10px; font-weight: 600; letter-spacing: .035em; fill: #9bb8c4; }
.map-context-lines path { fill: none; stroke: #6b8692; stroke-width: 1.4; opacity: .2; }
.context-node { opacity: .7; transition: opacity .6s; }.context-node circle, .context-node rect { fill: #082633; stroke: #547483; stroke-width: 1.5; }.context-node.private circle { stroke-dasharray: 4 3; }.context-node text { font-size: 8px; fill: #7897a4; }
.relation { fill: none; stroke-linecap: round; vector-effect: non-scaling-stroke; }.relation.base { stroke: #8296a0; stroke-width: 1.3; opacity: .28; transition: stroke .7s, stroke-width .7s, opacity .7s, filter .7s; }.relation.trace { stroke: #eefbff; stroke-width: 2.1; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; filter: url(#traceGlow); }
.connected-node { opacity: .78; transition: opacity .65s, filter .65s; }.connected-node circle { vector-effect: non-scaling-stroke; }.node-halo { fill: transparent; stroke: #7793a0; stroke-width: 1; opacity: .14; }.node-backplate { fill: #01141e; stroke: #526f7c; stroke-width: 1; }.node-core { fill: #062431; stroke: #6d8995; stroke-width: 1.5; }.node-inner { fill: #062431; stroke: rgba(187,212,222,.22); stroke-width: 1; }.private .node-inner { stroke-dasharray: 4 3; }.connected-node text { fill: #b7cbd3; font-size: 9px; }.connected-node .node-role, .selected-project .node-role { fill: #638694; font-size: 6px; font-weight: 500; letter-spacing: .12em; }
.selected-project { transition: filter .65s, opacity .65s; }.selected-project rect { vector-effect: non-scaling-stroke; }.project-halo { fill: transparent; stroke: #7995a0; stroke-width: 1; opacity: .12; }.project-backplate { fill: #01141e; stroke: #4e6e7a; stroke-width: 1; }.project-core { fill: #082937; stroke: #78939e; stroke-width: 1.5; }.project-inner { fill: #082937; stroke: rgba(191,215,224,.22); stroke-width: 1; }.selected-project text { fill: #d4e4ea; font-size: 11px; }
.map-caption { position: absolute; z-index: 5; left: 17px; bottom: 13px; display: grid; gap: 3px; color: #476f80; }.map-caption b { font-size: 6px; letter-spacing: .14em; }.map-caption span { font-size: 5.5px; letter-spacing: .04em; }
.platform-scene.found .selected-project, .platform-scene.tracing .selected-project, .platform-scene[class*="show-"] .selected-project, .platform-scene.drawer .selected-project { filter: url(#selectedGlow); }.platform-scene.found .project-core, .platform-scene.tracing .project-core, .platform-scene[class*="show-"] .project-core, .platform-scene.drawer .project-core { stroke: #66d6ff; stroke-width: 2.2; }.platform-scene.found .project-inner, .platform-scene.tracing .project-inner, .platform-scene[class*="show-"] .project-inner, .platform-scene.drawer .project-inner { stroke: rgba(102,214,255,.64); }.platform-scene.found .map-context-lines, .platform-scene.found .context-node, .platform-scene.tracing .map-context-lines, .platform-scene.tracing .context-node, .platform-scene[class*="show-"] .map-context-lines, .platform-scene[class*="show-"] .context-node, .platform-scene.drawer .map-context-lines, .platform-scene.drawer .context-node { opacity: .26; }
.platform-scene.tracing .relation.trace { opacity: .95; animation: productTrace 4.4s cubic-bezier(.22,.68,.15,1) forwards; }.platform-scene.tracing .relation.trace:nth-of-type(4n) { animation-delay: .15s; }.platform-scene.tracing .relation.trace:nth-of-type(4n+2) { animation-delay: .3s; }
.platform-scene.tracing .connected-node { animation: connectedNodeIn .6s 3.1s both; }
.platform-scene.show-capital .relation.capital.base, .platform-scene.show-ownership .relation.capital.base, .platform-scene.show-debt .relation.capital.base, .platform-scene.show-capacity .relation.capital.base, .platform-scene.show-revenue .relation.capital.base, .platform-scene.drawer .relation.capital.base { stroke: #18d99a; stroke-width: 2.1; opacity: .95; filter: drop-shadow(0 0 4px rgba(24,217,154,.5)); }
.platform-scene.show-ownership .relation.ownership.base, .platform-scene.show-debt .relation.ownership.base, .platform-scene.show-capacity .relation.ownership.base, .platform-scene.show-revenue .relation.ownership.base, .platform-scene.drawer .relation.ownership.base { stroke: #ae84ff; stroke-width: 2.1; opacity: .95; filter: drop-shadow(0 0 4px rgba(174,132,255,.5)); }
.platform-scene.show-debt .relation.debt.base, .platform-scene.show-capacity .relation.debt.base, .platform-scene.show-revenue .relation.debt.base, .platform-scene.drawer .relation.debt.base { stroke: #ff9636; stroke-width: 2.1; opacity: .95; filter: drop-shadow(0 0 4px rgba(255,150,54,.5)); }
.platform-scene.show-capacity .relation.capacity.base, .platform-scene.show-revenue .relation.capacity.base, .platform-scene.drawer .relation.capacity.base { stroke: #7fa7bc; stroke-width: 2.1; opacity: .95; filter: drop-shadow(0 0 4px rgba(127,167,188,.55)); }
.platform-scene.show-revenue .relation.revenue.base, .platform-scene.drawer .relation.revenue.base { stroke: #58d5ff; stroke-width: 2.1; opacity: .95; filter: drop-shadow(0 0 4px rgba(88,213,255,.5)); }
.platform-scene.show-capital [data-node-layer="capital"], .platform-scene.show-ownership [data-node-layer="capital"], .platform-scene.show-debt [data-node-layer="capital"], .platform-scene.show-capacity [data-node-layer="capital"], .platform-scene.show-revenue [data-node-layer="capital"], .platform-scene.drawer [data-node-layer="capital"] { filter: drop-shadow(0 0 7px rgba(24,217,154,.42)); }
.platform-scene.show-ownership [data-node-layer="ownership"], .platform-scene.show-debt [data-node-layer="ownership"], .platform-scene.show-capacity [data-node-layer="ownership"], .platform-scene.show-revenue [data-node-layer="ownership"], .platform-scene.drawer [data-node-layer="ownership"] { filter: drop-shadow(0 0 7px rgba(174,132,255,.42)); }
.platform-scene.show-debt [data-node-layer="debt"], .platform-scene.show-capacity [data-node-layer="debt"], .platform-scene.show-revenue [data-node-layer="debt"], .platform-scene.drawer [data-node-layer="debt"] { filter: drop-shadow(0 0 7px rgba(255,150,54,.42)); }
.platform-scene.show-capacity [data-node-layer="capacity"], .platform-scene.show-revenue [data-node-layer="capacity"], .platform-scene.drawer [data-node-layer="capacity"] { filter: drop-shadow(0 0 7px rgba(127,167,188,.45)); }.platform-scene.show-revenue [data-node-layer="revenue"], .platform-scene.drawer [data-node-layer="revenue"] { filter: drop-shadow(0 0 7px rgba(88,213,255,.45)); }
.project-drawer { position: absolute; z-index: 12; inset: 0 0 0 auto; width: 38%; min-width: 280px; display: grid; grid-template-rows: auto auto auto 1fr; border-left: 1px solid rgba(102,214,255,.28); background: rgba(2,24,36,.98); box-shadow: -24px 0 60px rgba(0,0,0,.45); transform: translateX(104%); transition: transform .8s cubic-bezier(.2,.75,.2,1); }
.platform-scene.drawer .project-drawer { transform: translateX(0); }.platform-scene.drawer .product-map { width: 68%; }.project-drawer header { display: flex; justify-content: space-between; align-items: start; gap: 12px; padding: 18px 17px 14px; border-bottom: 1px solid rgba(120,167,189,.15); }.project-drawer header small { color: #5c8292; font-size: 5.5px; letter-spacing: .14em; }.project-drawer h3 { margin: 5px 0 3px; color: #f0f9fc; font-size: 15px; font-weight: 500; }.project-drawer header p { margin: 0; color: #7295a4; font-size: 7px; }.project-status { padding: 5px 7px; border: 1px solid rgba(24,217,154,.4); color: #52d6a9; font-size: 5.5px; letter-spacing: .1em; }
.project-metrics { display: grid; grid-template-columns: repeat(3,1fr); padding: 12px 17px; border-bottom: 1px solid rgba(120,167,189,.15); }.project-metrics div { display: grid; gap: 5px; padding-right: 7px; border-right: 1px solid rgba(120,167,189,.12); }.project-metrics div:last-child { padding-left: 7px; border: 0; }.project-metrics small { color: #527888; font-size: 4.7px; letter-spacing: .08em; }.project-metrics b { color: #cfebf4; font-size: 10px; font-weight: 500; }
.project-tabs { display: flex; overflow: hidden; padding: 0 10px; border-bottom: 1px solid rgba(120,167,189,.15); }.project-tabs button { flex: 0 0 auto; padding: 9px 7px 8px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #668a99; font-size: 5.2px; text-transform: uppercase; letter-spacing: .04em; }.project-tabs button.active { border-color: #66d6ff; color: #d4edf5; }
.drawer-body { padding: 14px 17px 12px; }.drawer-heading { display: grid; gap: 4px; margin-bottom: 12px; }.drawer-heading span { color: #66d6ff; font-size: 5px; letter-spacing: .14em; }.drawer-heading b { color: #cbe4ed; font-size: 9px; font-weight: 500; }.evidence-row { display: grid; grid-template-columns: 5px 1fr auto; align-items: center; gap: 8px; padding: 9px 0; border-top: 1px solid rgba(120,167,189,.11); }.evidence-row > i { width: 4px; height: 4px; border-radius: 50%; background: #18d99a; box-shadow: 0 0 7px rgba(24,217,154,.5); }.evidence-row span { display: grid; gap: 2px; }.evidence-row b { color: #bfd8e1; font-size: 7px; font-weight: 500; }.evidence-row small { color: #5f8291; font-size: 5.5px; }.evidence-row em { color: #547b8c; font-size: 4.5px; font-style: normal; letter-spacing: .09em; }.source-footer { display: flex; justify-content: space-between; margin-top: 11px; padding-top: 9px; border-top: 1px solid rgba(120,167,189,.11); color: #547988; font-size: 5px; }.source-footer b { color: #7fa5b5; font-weight: 500; }
@keyframes productTrace { 0% { stroke-dashoffset: 1; opacity: 0 } 8% { opacity: 1 } 88% { opacity: 1 } 100% { stroke-dashoffset: 0; opacity: .18 } }
@keyframes connectedNodeIn { from { opacity: .18 } to { opacity: 1 } }

.brief-section { position: relative; min-height: 100svh; display: grid; place-items: center; overflow: hidden; padding: 120px clamp(24px, 6vw, 96px) 80px; background: #f2f7f8; color: #072331; }
.brief-backdrop { position: absolute; inset: 0; overflow: hidden; opacity: .55; }.orbit { position: absolute; border: 1px solid rgba(10,89,121,.12); border-radius: 50%; }.orbit.one { width: 800px; height: 800px; right: -270px; top: -220px; }.orbit.two { width: 540px; height: 540px; right: -140px; top: -90px; }.orbit.three { width: 300px; height: 300px; left: -120px; bottom: -80px; }
.brief-grid { position: relative; z-index: 2; width: min(1280px, 100%); display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(55px, 8vw, 130px); }
.brief-copy .eyebrow { color: #087aa5; }.brief-copy h2, .section-intro h2, .method-copy h2 { margin: 0; font: 500 clamp(45px, 5.3vw, 78px)/.98 var(--serif); letter-spacing: -.04em; }.brief-lead { max-width: 580px; margin: 28px 0 35px; color: #456773; font-size: clamp(16px, 1.4vw, 20px); line-height: 1.55; }.brief-copy ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(12,72,94,.14); }.brief-copy li { display: flex; gap: 17px; padding: 15px 0; border-bottom: 1px solid rgba(12,72,94,.14); color: #1b4352; font-size: 13px; }.brief-copy li span { color: #1298c5; font-size: 10px; letter-spacing: .1em; }
.signup-panel { border: 1px solid rgba(7,64,87,.16); border-radius: 8px; background: rgba(255,255,255,.78); box-shadow: 0 30px 80px rgba(21,74,92,.14); overflow: hidden; }
.issue-preview { position: relative; min-height: 330px; padding: 42px 48px; background: #042031; color: white; }.issue-preview::after { content: ""; position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(rgba(102,214,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(102,214,255,.1) 1px, transparent 1px); background-size: 32px 32px; }.issue-top, .issue-preview h3, .issue-line, .issue-chart { position: relative; z-index: 2; }.issue-top { display: flex; justify-content: space-between; align-items: center; color: var(--cyan); font-size: 11px; letter-spacing: .14em; }.issue-top small { color: #7fa8b8; font-size: 8px; }.issue-preview h3 { max-width: 470px; margin: 55px 0 30px; font: 500 clamp(28px, 3.3vw, 48px)/1 var(--serif); }.issue-line { width: 76%; height: 4px; margin-top: 8px; background: #416272; }.issue-line.wide { width: 94%; }.issue-line.short { width: 54%; }.issue-chart { position: absolute; right: 42px; bottom: 32px; display: flex; align-items: end; gap: 7px; height: 72px; }.issue-chart i { width: 16px; background: var(--cyan); }.issue-chart i:nth-child(1) { height: 28%; }.issue-chart i:nth-child(2) { height: 50%; }.issue-chart i:nth-child(3) { height: 74%; }.issue-chart i:nth-child(4) { height: 100%; background: var(--green); }
.signup-form { padding: 32px 38px 34px; }.signup-form > label:first-child { display: block; margin-bottom: 14px; color: #153948; font: 500 18px var(--serif); }.email-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }.email-row input { min-width: 0; border: 1px solid #bdd0d7; border-radius: 3px; padding: 14px 15px; background: white; color: #0e3545; outline: none; }.email-row input:focus { border-color: #1689b4; box-shadow: 0 0 0 3px rgba(22,137,180,.12); }.email-row button { border: 0; border-radius: 3px; padding: 14px 20px; background: #052b3d; color: white; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }.email-row button:hover { background: #095473; }.email-row button:disabled { cursor: wait; opacity: .65; }.consent-row { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 9px; margin: 14px 0 0; color: #486d7b; font: 400 10px/1.45 var(--sans); cursor: pointer; }.consent-row input { width: 15px; height: 15px; margin: 0; accent-color: #087e61; }.form-note, .form-status { margin: 10px 0 0; color: #68848e; font-size: 10px; }.form-status { min-height: 1.4em; color: #087e61; font-weight: 600; }.form-status[data-state="error"] { color: #a53838; }

.research-section { padding: 135px clamp(24px, 6vw, 96px); background: var(--ink); }.section-intro { max-width: 900px; }.section-intro h2 { max-width: 800px; }.section-intro > p:last-child { max-width: 650px; color: #89acbb; font-size: 17px; line-height: 1.65; }.research-cards { max-width: 1400px; margin: 80px auto 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.research-cards article { min-height: 280px; padding: 28px 28px 36px; border-right: 1px solid var(--line); }.research-cards article:last-child { border-right: 0; }.research-cards span { color: var(--cyan); font-size: 10px; letter-spacing: .14em; }.research-cards h3 { margin: 70px 0 16px; font: 500 30px var(--serif); }.research-cards p { margin: 0; color: #83a7b6; font-size: 13px; line-height: 1.65; }

.method-section { min-height: 90vh; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 7vw; padding: 100px clamp(24px, 7vw, 120px); background: #041b28; }.method-visual { position: relative; aspect-ratio: 1; max-width: 600px; }.method-visual svg { position: absolute; inset: 0; width: 100%; height: 100%; }.method-visual path { fill: none; stroke: rgba(102,214,255,.5); stroke-width: 2; stroke-dasharray: 7 7; }.source { position: absolute; z-index: 2; display: grid; width: 112px; padding: 13px; border: 1px solid rgba(112,186,214,.3); background: #062b3d; box-shadow: 0 10px 30px rgba(0,0,0,.2); }.source b { color: #d9f2fa; font-size: 9px; letter-spacing: .12em; }.source span { margin-top: 5px; color: var(--green); font-size: 8px; }.source-a { left: 6%; top: 28%; }.source-b { right: 3%; top: 20%; }.source-c { left: 12%; bottom: 16%; }.method-center { position: absolute; z-index: 3; left: 51%; top: 52%; display: grid; place-items: center; width: 105px; height: 105px; transform: translate(-50%,-50%); border: 1px solid var(--cyan); border-radius: 50%; background: #07344a; box-shadow: 0 0 60px rgba(102,214,255,.15); color: #cceef9; font-size: 11px; font-weight: 700; letter-spacing: .09em; line-height: 1.4; text-align: center; }.method-copy h2 { max-width: 650px; }.method-copy > p:not(.eyebrow) { max-width: 620px; color: #8eb0be; font-size: 17px; line-height: 1.65; }.method-points { margin-top: 38px; border-top: 1px solid var(--line); }.method-points div { display: grid; grid-template-columns: 170px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }.method-points b { font-size: 12px; color: #d8eef5; }.method-points span { color: #789dac; font-size: 12px; line-height: 1.5; }

footer { display: grid; grid-template-columns: 1.2fr .8fr; gap: 45px; padding: 70px clamp(24px, 6vw, 96px) 35px; border-top: 1px solid var(--line); background: #000e17; }.footer-brand { max-width: 300px; }.footer-brand .brand-logo { width: min(230px, 100%); }.footer-brand p { color: #7196a6; font-size: 12px; }.footer-links { display: grid; grid-template-columns: repeat(2, auto); align-content: start; justify-content: end; gap: 15px 45px; color: #a3c3cf; font-size: 11px; }.disclaimer { grid-column: 1/-1; max-width: 900px; margin: 30px 0 0; padding-top: 25px; border-top: 1px solid rgba(121,181,204,.13); color: #577887; font-size: 10px; line-height: 1.6; }.copyright { grid-column: 1/-1; margin: 0; color: #426473; font-size: 9px; }

@keyframes blink { 50% { opacity: 0 } }
@keyframes resultIn { to { opacity: 1; transform: none } }
@keyframes fadeUp { to { opacity: 1; transform: translateY(0) } }
@keyframes drawLine { to { stroke-dashoffset: 0 } }
@keyframes nodeIn { from { opacity: 0; scale: .6 } to { opacity: 1; scale: 1 } }
@keyframes cursorClick { 0% { opacity: 0; transform: scale(.3) } 40% { opacity: 1 } 100% { opacity: 0; transform: scale(1.6) } }
@keyframes progressLoad { to { width: 100% } }
@keyframes coverSlide { 0%, 42% { transform: translateX(-16%) rotate(-2deg) } 70%, 100% { transform: translateX(-58%) rotate(-5deg) scale(.78); opacity: .35 } }
@keyframes reportScroll { 0%, 15% { transform: translateX(22%) rotate(3deg) translateY(0) } 55% { transform: translateX(14%) rotate(1deg) translateY(-10%) scale(1.12) } 100% { transform: translateX(14%) rotate(1deg) translateY(-34%) scale(1.12) } }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto; }.desktop-nav, .nav-cta { display: none; }.menu-button { justify-self: end; display: grid; gap: 6px; width: 42px; height: 42px; place-content: center; border: 0; background: transparent; }.menu-button span { width: 22px; height: 1px; background: white; }.mobile-nav { position: absolute; display: none; inset: 100% 0 auto; padding: 20px 24px 28px; background: rgba(0,15,25,.98); border-bottom: 1px solid var(--line); }.mobile-nav.open { display: grid; }.mobile-nav a { padding: 13px 0; color: #c2dde6; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
  .film-frame { top: 78px; }.monitor-shell { width: 95vw; right: -28vw; top: 43%; }.film-controls { width: 88vw; bottom: 18px; }.hero-copy { width: min(560px, 85vw); bottom: 105px; }.hero-copy h1 { font-size: clamp(46px, 10vw, 76px); }.hero-copy > p:not(.eyebrow) { font-size: 14px; }.scroll-cue { display: none; }
  .brief-grid { grid-template-columns: 1fr; }.brief-section { padding-top: 130px; }.research-cards { grid-template-columns: repeat(2, 1fr); }.research-cards article:nth-child(2) { border-right: 0; }.research-cards article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.method-section { grid-template-columns: 1fr; }.method-visual { width: min(600px, 100%); margin: 0 auto; }.method-copy { max-width: 700px; }
}

@media (max-width: 620px) {
  .site-header { height: 66px; padding-inline: 18px; }.brand-wordmark { font-size: 25px; }.film-frame { inset: 66px 0 0; }.monitor-shell { width: 118vw; right: -60vw; top: 34%; }.hero-copy { left: 20px; right: 20px; bottom: 118px; width: auto; }.hero-copy .eyebrow { font-size: 9px; margin-bottom: 12px; }.hero-copy h1 { max-width: 430px; font-size: 48px; }.hero-copy > p:not(.eyebrow) { max-width: 330px; margin-top: 15px; }.hero-actions { margin-top: 21px; }.button { padding: 12px 13px; font-size: 9px; }.film-controls { left: 20px; right: 20px; bottom: 25px; width: auto; transform: none; grid-template-columns: auto 1fr auto; }.film-time { display: none; }.replay-button { padding-left: 7px; }
  .brief-section, .research-section, .method-section { padding-left: 20px; padding-right: 20px; }.brief-copy h2, .section-intro h2, .method-copy h2 { font-size: 44px; }.issue-preview { min-height: 270px; padding: 28px 25px; }.issue-preview h3 { margin-top: 48px; }.signup-form { padding: 25px 22px 28px; }.email-row { grid-template-columns: 1fr; }.email-row button { width: 100%; }.research-section { padding-top: 100px; padding-bottom: 100px; }.research-cards { grid-template-columns: 1fr; margin-top: 55px; }.research-cards article { min-height: 230px; border-right: 0; border-bottom: 1px solid var(--line); }.research-cards article:last-child { border-bottom: 0; }.research-cards h3 { margin-top: 45px; }.method-section { padding-top: 75px; padding-bottom: 80px; }.method-visual { margin-bottom: 15px; }.source { width: 90px; padding: 10px; }.method-center { width: 84px; height: 84px; font-size: 9px; }.method-points div { grid-template-columns: 1fr; gap: 8px; }.footer-links { justify-content: start; }.footer-brand, .footer-links { grid-column: 1/-1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Cinematic product film. Everything in this block is isolated to the homepage film. */
.monitor-shell {
  width: min(70vw, 1120px);
  right: clamp(18px, 2.5vw, 48px);
  top: 47%;
  transform: translateY(-50%);
  border-radius: 11px;
  background: #00131f;
  box-shadow: 0 44px 120px rgba(0,0,0,.64), 0 0 70px rgba(44,176,225,.1);
}
.monitor-bar { height: 30px; background: #031721; }
.cinematic-film { position: absolute; inset: 30px 0 0; overflow: hidden; background: #00131f; color: #edf8ff; }
.cinematic-film::after { content: ""; position: absolute; z-index: 35; inset: 0; pointer-events: none; box-shadow: inset 0 0 72px rgba(0,5,9,.45); }
.cinematic-brandline { position: absolute; z-index: 32; top: 14px; left: 18px; right: 18px; display: flex; align-items: center; gap: 13px; pointer-events: none; }
.cinematic-brandline img { width: 103px; height: auto; opacity: .9; }
.cinematic-brandline span { color: #6e98a9; font-size: 6.5px; letter-spacing: .17em; }
.cinematic-brandline small { margin-left: auto; padding: 4px 6px; border: 1px solid rgba(127,167,188,.22); color: #638a9a; font-size: 5.5px; letter-spacing: .14em; }
.cinematic-stage { position: absolute; inset: 0; overflow: hidden; background-color: #00131f; background-image: linear-gradient(rgba(102,214,255,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(102,214,255,.028) 1px, transparent 1px); background-size: 32px 32px; }

.globe-scene, .national-scene, .report-film-scene, .film-final-frame { position: absolute; inset: 0; overflow: hidden; }
.globe-scene { z-index: 2; opacity: 1; background: radial-gradient(circle at 62% 47%, rgba(11,68,91,.2), transparent 36%), linear-gradient(135deg, #00131f, #000b12); }
.problem-copy { position: absolute; z-index: 5; left: 5.5%; top: 24%; width: 34%; color: #d7ebf3; font: 400 clamp(10px, 1.16vw, 18px)/1.62 var(--serif); letter-spacing: -.01em; }
.problem-copy i { display: inline-block; width: 1px; height: 1em; margin-left: 3px; vertical-align: -2px; background: #66d6ff; opacity: 0; }
.cinematic-film.is-playing .problem-copy i { opacity: .75; }
.globe-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.space-grid path { fill: none; stroke: #66d6ff; stroke-width: .7; opacity: .04; }
.globe-shadow { fill: #00070c; opacity: .8; filter: url(#globeSoftGlow); }
.globe-body { fill: url(#globeShade); }
.globe-outline { fill: none; stroke: #3b7b92; stroke-width: 1.4; opacity: .65; }
.globe-latitudes *, .globe-longitudes * { fill: none; stroke: #4c8ba2; stroke-width: .65; opacity: .17; }
.world-land { transform-box: fill-box; transform-origin: center; }
.continent { fill: rgba(26,81,99,.44); stroke: #78aabd; stroke-width: .7; opacity: .8; }
.country-us { fill: rgba(102,214,255,.11); stroke: #86dffd; stroke-width: 1.1; }
.global-arcs path { fill: none; stroke: #7fa7bc; stroke-width: .8; opacity: .4; }
.global-arcs path:nth-child(2) { stroke: #18d99a; }.global-arcs path:nth-child(3) { stroke: #ff9636; }.global-arcs path:nth-child(4) { stroke: #ae84ff; }
.global-sites circle { fill: #bcecff; filter: url(#globeSoftGlow); opacity: .9; }
.globe-orbit { fill: none; stroke: #66d6ff; stroke-width: .7; opacity: .18; }
.globe-coordinate { fill: #4d7889; font: 6px var(--sans); letter-spacing: .16em; }

.national-scene { z-index: 4; opacity: 0; background: #00131f; }
.national-scene::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(102,214,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(102,214,255,.035) 1px, transparent 1px); background-size: 31px 31px; }
.map-toolbar-cinematic { position: absolute; z-index: 14; top: 51px; left: 20px; right: 20px; display: flex; align-items: center; gap: 16px; }
.film-search-field { width: 39%; min-width: 220px; height: 34px; display: flex; align-items: center; padding: 0 11px; border: 1px solid #2a6178; border-radius: 4px; background: rgba(2,23,35,.95); color: #d9f5ff; font-size: clamp(7px,.72vw,11px); box-shadow: 0 0 0 rgba(102,214,255,0); }
.film-search-field svg { width: 12px; height: 12px; margin-right: 8px; fill: none; stroke: #648e9f; stroke-width: 1.5; }
.film-search-field [data-search-placeholder] { color: #668b9b; }
.film-search-field i { display: none; width: 1px; height: 13px; margin-left: 2px; background: #66d6ff; }
.film-search-field.focused { border-color: #66d6ff; background: #052937; box-shadow: 0 0 0 2px rgba(102,214,255,.08); }
.film-search-field.focused i { display: block; }
.map-mode { margin-left: auto; color: #557f90; font-size: 5.5px; letter-spacing: .13em; }
.map-mode b { margin-left: 8px; padding: 5px 7px; border: 1px solid rgba(24,217,154,.28); color: #70d9b5; font-weight: 600; }
.film-filter-tabs { position: absolute; z-index: 16; top: 93px; left: 20px; display: flex; gap: 5px; opacity: 0; }
.film-filter-tabs button { display: flex; align-items: center; gap: 5px; height: 24px; padding: 0 8px; border: 1px solid rgba(135,183,201,.12); border-radius: 3px; background: rgba(3,28,41,.9); color: #648999; font-size: 5.7px; letter-spacing: .025em; white-space: nowrap; }
.film-filter-tabs button i { width: 8px; height: 2px; background: #526e7b; }
.film-filter-tabs button.active { color: #e0f0f5; border-color: rgba(171,216,232,.27); background: #082a38; }
.film-filter-tabs button[data-film-filter="debt"].active i { background: #ff9636; box-shadow: 0 0 7px rgba(255,150,54,.8); }
.film-filter-tabs button[data-film-filter="capital"].active i { background: #18d99a; box-shadow: 0 0 7px rgba(24,217,154,.8); }
.film-filter-tabs button[data-film-filter="ownership"].active i { background: #ae84ff; box-shadow: 0 0 7px rgba(174,132,255,.8); }
.film-filter-tabs button[data-film-filter="capacity"].active i { background: #7fa7bc; box-shadow: 0 0 7px rgba(127,167,188,.8); }
.national-map { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.map-camera { transform-box: fill-box; transform-origin: center; }
.us-fill { fill: rgba(7,43,57,.8); stroke: #488097; stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.state-grid path { fill: none; stroke: #6d9bad; stroke-width: 1; opacity: .15; vector-effect: non-scaling-stroke; }
.national-background-links path { fill: none; stroke: #6d91a0; stroke-width: .8; opacity: .13; }
.national-project { transition: opacity .2s; }
.national-project .mini-halo { fill: none; stroke-width: 1.2; opacity: .28; }
.national-project .mini-back { fill: #01141e; stroke: #456a79; stroke-width: 1; }
.national-project .mini-core { fill: #082937; stroke-width: 1.4; }
.national-project .mini-inner { fill: none; stroke: rgba(205,231,240,.22); stroke-width: .8; }
.national-project text { fill: #83a7b6; font: 600 7px var(--sans); letter-spacing: .04em; }
.national-project.subdued { opacity: .18; }
.national-project.match { filter: url(#mapNodeGlow); }
.national-project.match text { fill: #dff7ff; }
.national-caption { position: absolute; z-index: 8; left: 20px; bottom: 18px; display: grid; gap: 3px; color: #4f7889; }
.national-caption b { font-size: 6px; letter-spacing: .15em; }.national-caption span { font-size: 5.5px; }

.project-network { opacity: 0; }
.network-lines path { fill: none; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.network-line-base { stroke: #9ab5c0; stroke-width: 1.15; opacity: .23; }
.network-line-grow { stroke: #eefbff; stroke-width: 1.7; filter: url(#leadGlow); }
.network-line-lead { fill: #fff; stroke: #fff; stroke-width: 1; filter: url(#leadGlow); }
.network-company { opacity: 0; }
.network-company .company-halo { fill: none; stroke: #7793a0; stroke-width: 1; opacity: .2; }
.network-company .company-back { fill: #01141e; stroke: #526f7c; stroke-width: 1; }
.network-company .company-core { fill: #062431; stroke: #6d8995; stroke-width: 1.5; }
.network-company .company-inner { fill: none; stroke: rgba(187,212,222,.28); stroke-width: 1; }
.network-company.private .company-inner { stroke-dasharray: 2.2 2.8; }
.network-company text { fill: #bad4de; font: 600 7px var(--sans); text-anchor: middle; letter-spacing: .025em; }
.network-company .company-role { fill: #638694; font-size: 5px; font-weight: 500; letter-spacing: .1em; }
.network-project-node .selection-ring { fill: none; stroke: #18d99a; stroke-width: 2; opacity: 0; }
.network-project-node .project-halo { fill: none; stroke: #78a6b7; stroke-width: 7; opacity: .12; }
.network-project-node .project-back { fill: #01141e; stroke: #526f7c; stroke-width: 1.2; }
.network-project-node .project-core-cinematic { fill: #082937; stroke: #66d6ff; stroke-width: 2; }
.network-project-node .project-inner-cinematic { fill: none; stroke: rgba(196,229,241,.33); stroke-width: 1; }
.network-project-node text { fill: #e4f5fa; font: 600 9px var(--sans); text-anchor: middle; letter-spacing: .035em; }
.network-project-node .project-status-label { fill: #79a4b4; font-size: 5.5px; font-weight: 500; letter-spacing: .13em; }
.film-side-panel { position: absolute; z-index: 20; top: 39px; right: 0; bottom: 0; width: 31%; min-width: 250px; overflow: hidden; border-left: 1px solid #24566c; background: rgba(3,29,43,.985); box-shadow: -22px 0 50px rgba(0,0,0,.42); transform: translateX(103%); }
.panel-scroll { padding: 19px 17px 45px; }
.panel-eyebrow { color: #66d6ff; font-size: 5.5px; letter-spacing: .16em; }
.panel-heading { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0 13px; border-bottom: 1px solid rgba(120,167,189,.16); }
.panel-heading h3 { margin: 0 0 4px; color: #eff9fc; font-size: 13px; font-weight: 500; }.panel-heading p { margin: 0; color: #6f96a6; font-size: 5.5px; }
.panel-heading > span { align-self: start; padding: 4px 5px; border: 1px solid rgba(24,217,154,.38); color: #68dcba; font-size: 5px; letter-spacing: .1em; }
.panel-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 12px 0; background: rgba(120,167,189,.13); }
.panel-metrics div { display: grid; gap: 4px; padding: 10px; background: #041e2c; }.panel-metrics small { color: #577f8f; font-size: 4.5px; letter-spacing: .09em; }.panel-metrics b { color: #cce8f1; font-size: 8px; font-weight: 500; }
.panel-section { padding: 11px 0; border-top: 1px solid rgba(120,167,189,.13); }.panel-section > b { color: #79a6b6; font-size: 5.5px; letter-spacing: .12em; }.panel-section > p { margin: 7px 0 0; color: #8eacb8; font-size: 6.3px; line-height: 1.6; }
.panel-row, .source-record { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid rgba(120,167,189,.09); font-size: 6px; }.panel-row span { color: #c3dce5; }.panel-row em { color: #678a99; font-style: normal; }.source-record { color: #8aa8b4; }.source-record span { color: #68cfaa; font-size: 5px; letter-spacing: .08em; }
.build-report { position: absolute; z-index: 22; right: calc(31% + 17px); bottom: 18px; padding: 8px 12px; border: 1px solid rgba(102,214,255,.55); border-radius: 3px; background: #062b3b; color: #cceef9; font-size: 6px; font-weight: 700; letter-spacing: .12em; opacity: 0; }

.report-film-scene { z-index: 24; opacity: 0; background: #00131f; perspective: 1200px; }
.report-transform-lines { position: absolute; inset: 18% 14%; }.report-transform-lines i { position: absolute; height: 1px; background: linear-gradient(90deg, transparent, #66d6ff, transparent); opacity: 0; }.report-transform-lines i:nth-child(1) { left: 3%; right: 42%; top: 28%; }.report-transform-lines i:nth-child(2) { left: 22%; right: 12%; top: 44%; }.report-transform-lines i:nth-child(3) { left: 10%; right: 28%; top: 61%; }.report-transform-lines i:nth-child(4) { left: 34%; right: 7%; top: 76%; }
.report-track { position: absolute; inset: 4% 9%; transform-style: preserve-3d; }
.report-sheet { position: absolute; inset: 0; overflow: hidden; padding: 4.5% 5.5%; background: #f8fbfc; color: #082634; box-shadow: 0 24px 70px rgba(0,0,0,.45); transform-origin: center; opacity: 0; }
.report-sheet header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 2.2%; border-bottom: 2px solid #0a3447; }
.report-sheet header img { width: 17%; filter: brightness(0) saturate(100%) invert(12%) sepia(27%) saturate(1127%) hue-rotate(153deg) brightness(92%); }
.report-sheet header span { color: #5e7883; font-size: 5px; letter-spacing: .14em; }
.report-title { margin: 5% 0 4%; }.report-title small { color: #148cb7; font-size: 6px; font-weight: 700; letter-spacing: .16em; }.report-title h3 { margin: 1.2% 0 .8%; font: 500 clamp(16px,2vw,30px)/1 var(--serif); letter-spacing: -.03em; }.report-title p { margin: 0; color: #657d86; font-size: 6.5px; }.report-title.compact { margin-bottom: 3.5%; }
.report-kpis { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #c6dce4; }.report-kpis div { display: grid; gap: 6px; min-height: 49px; padding: 10px; border-right: 1px solid #c6dce4; }.report-kpis div:last-child { border: 0; }.report-kpis small { color: #6c858e; font-size: 4.5px; letter-spacing: .1em; }.report-kpis b { color: #0b3547; font-size: 8px; font-weight: 600; }
.report-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 7%; margin-top: 5%; }.report-sheet h4 { margin: 0 0 9px; color: #2c586a; font-size: 5px; letter-spacing: .13em; }.timeline { display: grid; grid-template-columns: 7px 1fr; gap: 8px 7px; align-items: center; }.timeline i { width: 6px; height: 6px; border: 1px solid #16a7d5; border-radius: 50%; }.timeline b { color: #5b737d; font-size: 6px; font-weight: 500; }
.report-sheet table { width: 100%; border-collapse: collapse; color: #3e5a65; font-size: 5.5px; }.report-sheet td, .report-sheet th { padding: 6px 5px; border-bottom: 1px solid #dce8ec; text-align: left; }.report-sheet th { color: #78909a; font-size: 4.5px; letter-spacing: .08em; }
.report-sheet footer { position: absolute; left: 5.5%; right: 5.5%; bottom: 4%; display: flex; justify-content: space-between; padding-top: 7px; border-top: 1px solid #cadde4; color: #76909a; font-size: 4.5px; }.report-sheet footer b { color: #0e526c; }
.capital-layout { display: grid; grid-template-columns: 1.4fr .6fr; gap: 7%; }.capital-chart { display: grid; gap: 8px; }.capital-chart span { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 2px; padding-bottom: 7px; border-bottom: 5px solid #dbe7eb; }.capital-chart span::after { content: ""; position: absolute; left: 0; bottom: -5px; width: var(--share); height: 5px; background: #199bc7; }.capital-chart span:nth-child(2)::after { background: #ff9636; }.capital-chart span:nth-child(3)::after { background: #ae84ff; }.capital-chart span:nth-child(4)::after { background: #7fa7bc; }.capital-chart b { color: #264e5f; font-size: 6px; }.capital-chart em { color: #78909a; font-size: 5px; font-style: normal; }.composition { display: grid; align-content: center; justify-items: center; text-align: center; }.composition i { width: 58px; height: 58px; margin-bottom: 9px; border: 9px solid #d8e7ec; border-top-color: #18d99a; border-right-color: #ff9636; border-bottom-color: #ae84ff; border-radius: 50%; }.composition b { font-size: 6px; }.composition small { margin-top: 5px; color: #758d96; font-size: 5px; line-height: 1.4; }.table-title { margin-top: 5% !important; }.full-table { border-top: 1px solid #bcd3dc; }
.dependency-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }.dependency-grid > div { min-height: 65px; padding: 10px; border: 1px solid #c8dce3; }.dependency-grid small { color: #168bb5; font-size: 4.5px; letter-spacing: .1em; }.dependency-grid b { display: block; margin: 7px 0 4px; color: #153e4f; font-size: 7px; }.dependency-grid p { margin: 0; color: #718890; font-size: 5px; }
.milestone-chart { margin-top: 4%; }.milestone-chart > div { display: grid; grid-template-columns: 9px 1fr 9px 1fr 9px 1fr; align-items: start; gap: 6px; padding: 12px; background: #edf5f7; }.milestone-chart i { width: 8px; height: 8px; border: 2px solid #199bc7; border-radius: 50%; }.milestone-chart span { display: grid; gap: 4px; }.milestone-chart b { color: #284e5e; font-size: 5.5px; }.milestone-chart small { color: #7a929b; font-size: 4.5px; }.source-summary { margin-top: 4%; }.source-summary > div { display: flex; justify-content: space-between; padding: 6px 3px; border-bottom: 1px solid #d6e5ea; color: #5a737d; font-size: 5px; }.source-summary b { color: #148bb6; font-size: 4.5px; letter-spacing: .06em; }

.film-final-frame { z-index: 30; display: grid; align-content: center; justify-items: center; padding: 12%; opacity: 0; background: radial-gradient(circle at 50% 45%, #07384d, #00131f 58%, #000c14); text-align: center; }
.film-final-frame img { width: min(42%,270px); }.film-final-frame h2 { margin: 23px 0 9px; font: 500 clamp(18px,2.6vw,38px)/1 var(--serif); letter-spacing: -.025em; }.film-final-frame p { margin: 0; color: #8db2c0; font-size: clamp(7px,.75vw,11px); letter-spacing: .03em; }
.cinematic-cursor { position: absolute; z-index: 40; width: 15px; height: 20px; opacity: 0; pointer-events: none; transform: rotate(-15deg); clip-path: polygon(0 0, 100% 67%, 58% 72%, 40% 100%); background: #f7fcfe; filter: drop-shadow(0 2px 3px #000); }
.cinematic-cursor span { position: absolute; width: 24px; height: 24px; left: -7px; top: -7px; border: 1px solid #66d6ff; border-radius: 50%; opacity: 0; transform: scale(.4); }
.cinematic-cursor.clicking span { opacity: .75; transform: scale(1.25); }

.cinematic-film .film-gate { inset: auto auto 23px 50%; width: auto; height: auto; padding: 10px 13px; justify-content: flex-start; border: 1px solid rgba(102,214,255,.34); border-radius: 4px; background: rgba(1,20,30,.72); backdrop-filter: blur(8px); transform: translateX(-50%); }
.cinematic-film .gate-play { width: 35px; height: 35px; font-size: 10px; }
.cinematic-film .film-gate b { font-size: 8px; }.cinematic-film .film-gate small { font-size: 6px; }
.film-controls { width: min(70vw, 1070px); }

@media (max-width: 980px) {
  .monitor-shell { width: 94vw; right: 3vw; top: 42%; }
  .film-controls { width: 90vw; }
  .problem-copy { width: 39%; font-size: clamp(10px,1.7vw,16px); }
  .cinematic-brandline img { width: 90px; }
}

@media (max-width: 620px) {
  .monitor-shell { width: calc(100vw - 24px); right: 12px; top: 32%; }
  .film-controls { width: calc(100vw - 40px); }
  .cinematic-brandline { top: 9px; left: 10px; right: 10px; }.cinematic-brandline img { width: 66px; }.cinematic-brandline span { display: none; }.cinematic-brandline small { font-size: 4px; }
  .problem-copy { left: 5%; top: 19%; width: 42%; font-size: 7.5px; line-height: 1.5; }
  .map-toolbar-cinematic { top: 35px; left: 9px; right: 9px; }.film-search-field { min-width: 0; width: 58%; height: 26px; font-size: 5px; }.map-mode { display: none; }
  .film-filter-tabs { top: 66px; left: 9px; right: 9px; gap: 2px; }.film-filter-tabs button { flex: 1; justify-content: center; height: 18px; padding: 0 3px; font-size: 3.7px; }
  .film-side-panel { min-width: 0; width: 35%; top: 27px; }.panel-scroll { padding: 10px 8px 30px; }.panel-heading h3 { font-size: 7px; }.panel-heading p, .panel-section > p, .panel-row, .source-record { font-size: 3.6px; }.panel-metrics div { padding: 5px; }.panel-metrics b { font-size: 5px; }.panel-section { padding: 6px 0; }
  .build-report { right: calc(35% + 8px); bottom: 8px; padding: 5px 7px; font-size: 4px; }
  .report-track { inset: 5% 4%; }.report-sheet { padding: 4% 4.5%; }.report-title h3 { font-size: 13px; }.film-final-frame h2 { margin-top: 13px; font-size: 15px; }
  .cinematic-film .film-gate { left: 50%; right: auto; bottom: 10px; padding: 6px 8px; }.cinematic-film .gate-play { width: 25px; height: 25px; }.cinematic-film .film-gate b { font-size: 5px; }.cinematic-film .film-gate small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .cinematic-film * { transition: none !important; animation: none !important; }
}

/* Rendered product film embed. The prior DOM film remains recoverable in the rollback copy. */
.rendered-product-film > .cinematic-brandline,
.rendered-product-film > .cinematic-stage {
  display: none;
}

.product-film-video {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: #00131f;
  object-fit: contain;
  cursor: pointer;
}

.rendered-product-film .film-gate {
  z-index: 3;
  min-width: 0;
}

.rendered-product-film .film-gate > span:last-child { display: block; text-align: center; }

.film-progress {
  cursor: pointer;
}

.film-frame:focus-visible {
  outline: 2px solid rgba(102, 214, 255, .75);
  outline-offset: -2px;
}

@media (max-width: 620px) {
  .monitor-shell {
    width: calc(100vw - 24px);
    right: 12px;
    top: 20px;
    transform: none;
  }

  .hero-copy {
    top: 300px;
    bottom: auto;
  }
}
