:root {
  --ink: #0b1016;
  --ink-raised: #121920;
  --paper: #f2f1ed;
  --paper-alt: #e7e6e1;
  --signal: #6f8fa0;
  --acid: var(--signal);
  --cyan: var(--signal);
  --line: rgba(11, 16, 22, 0.16);
  --font-inter: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-source-serif: "Iowan Old Style", Baskerville, "Times New Roman", serif;
  --font-ibm-plex-mono: var(--font-inter);
  --font-geist-sans: var(--font-inter);
  --font-geist-mono: var(--font-ibm-plex-mono);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-inter), Arial, sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.skip-link { position:fixed;left:16px;top:12px;z-index:1000;background:#07121c;color:white;padding:10px 14px;transform:translateY(-150%);transition:transform .2s; }
.skip-link:focus { transform:translateY(0); }

.site-header {
  height: 78px;
  padding: 0 4.2vw;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: rgba(244,244,241,.94);
  backdrop-filter: blur(16px);
  position: relative;
  z-index: 20;
}
.brand { display: inline-flex; align-items: center; gap: 12px; width: fit-content; font-family:var(--font-source-serif);font-size:17px;font-weight:600;letter-spacing:.055em; }
.brand > span:last-child { display:flex;align-items:baseline;gap:8px;white-space:nowrap; }.brand small { font-family:var(--font-geist-mono);font-size:7px;font-weight:500;letter-spacing:.18em;color:rgba(11,16,22,.48); }
.brand-mark { width: 27.2px; height: 34px; display: block; color:currentColor;flex:0 0 auto; }
.brand-mark svg { display:block;width:100%;height:100%; }
.brand-mark path { fill:currentColor;stroke:none; }
.nav-links { display: flex; align-items: center; gap: clamp(26px, 3vw, 54px); font-family:var(--font-geist-mono);font-size: 10px; font-weight: 540; letter-spacing:.05em;text-transform:uppercase; }
.nav-links a, .portal-link { transition: opacity .2s ease; }
.nav-links a:hover, .portal-link:hover { opacity: .5; }
.portal-link { justify-self: end; font-family: var(--font-geist-mono); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.portal-link span { font-size: 14px; margin-left: 7px; }
.menu-toggle { display: none; border: 0; background: transparent; text-transform: uppercase; font-family: var(--font-geist-mono); font-size: 11px; }

.hero { min-height: calc(100svh - 78px - 98px); padding: 6vh 4.2vw 5vh; display: grid; grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr); gap: 3vw; position: relative; overflow: hidden; }
.grid-lines { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, transparent calc(25% - .5px), var(--line) 25%, transparent calc(25% + .5px)), linear-gradient(to right, transparent calc(50% - .5px), var(--line) 50%, transparent calc(50% + .5px)), linear-gradient(to right, transparent calc(75% - .5px), var(--line) 75%, transparent calc(75% + .5px)); opacity: .5; }
.hero-copy { position: relative; z-index: 2; align-self: center; padding-bottom: 3vh; }
.eyebrow { font-family: var(--font-geist-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; display: flex; align-items: center; gap: 9px; margin-bottom: 38px; }
.eyebrow span { width: 7px; height: 7px; border-radius: 1px; background: var(--acid); box-shadow: 0 0 0 4px rgba(37,197,229,.12); }
h1 { font-size: clamp(58px, 6.2vw, 96px); line-height: .94; letter-spacing: -.055em; margin: 0; font-weight: 610; max-width: 850px; }
h1 em { font-family: inherit; font-style:normal;font-weight:inherit; }
.hero-copy > p { max-width: 555px; font-size: clamp(16px, 1.3vw, 21px); line-height: 1.52; margin: 42px 0 0; letter-spacing: -.02em; }
.hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 38px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; padding: 16px 20px; font-size: 12px; font-weight: 620; }
.button-primary { background: #0b2639; color: white; min-width: 260px; }
.button-primary span { color: var(--acid); font-size: 18px; }
.text-link { font-family: var(--font-geist-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.text-link span { margin-left: 7px; font-size: 15px; }

.orbital-stage { position: relative; align-self: stretch; min-height: 560px; background: #061522; color: #eef8fb; overflow: hidden; border:1px solid #173447; isolation: isolate; box-shadow:0 22px 60px rgba(7,18,28,.12); }
.orbital-stage::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to bottom, black, transparent 95%); }
.orbital-stage::after { content: ''; position: absolute; width: 75%; aspect-ratio: 1; border-radius: 50%; left: 12%; top: 11%; background: radial-gradient(circle, rgba(37,197,229,.1), transparent 65%); filter: blur(15px); z-index: -1; }
.stage-meta { position: absolute; left: 24px; right: 24px; display: flex; justify-content: space-between; font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .08em; color: rgba(255,255,255,.52); }
.stage-meta-top { top: 21px; }
.stage-meta-bottom { bottom: 20px; }
.stage-meta span:last-child::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--acid); margin-right: 7px; vertical-align: 1px; }
.orbit { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; transform: translate(-50%,-50%) rotate(-17deg); }
.orbit::before, .orbit::after { content: ''; position: absolute; border-radius: 50%; background: rgba(255,255,255,.4); width: 3px; height: 3px; }
.orbit::before { left: 12%; top: 20%; }.orbit::after { right: 6%; bottom: 32%; }
.orbit-one { width: 78%; aspect-ratio: 1.45; }
.orbit-two { width: 58%; aspect-ratio: 1.2; transform: translate(-50%,-50%) rotate(26deg); }
.orbit-three { width: 36%; aspect-ratio: 1; transform: translate(-50%,-50%) rotate(76deg); }
.satellite { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 18px var(--acid); }
.sat-one { left: 13%; top: 13%; animation: pulse 2.4s infinite; }
.sat-two { right: 1%; top: 45%; background: var(--cyan); box-shadow: 0 0 18px var(--cyan); animation: pulse 3.2s .5s infinite; }
.sat-three { left: 21%; bottom: 7%; width: 7px; height: 7px; }
.core { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 142px; height: 142px; border-radius: 50%; background: #0a2a3e; border:1px solid var(--acid); color: #edfaff; display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 0 55px rgba(37,197,229,.16); }
.core span,.core small { font-family: var(--font-geist-mono); font-size: 8px; letter-spacing: .09em; }
.core strong { font-size: 38px; letter-spacing: -.07em; line-height: 1.05; }
.data-tag { position: absolute; min-width: 92px; display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid rgba(255,255,255,.25); padding-top: 7px; font-family: var(--font-geist-mono); font-size: 9px; }
.data-tag span { color: rgba(255,255,255,.52); }.data-tag b { font-weight: 500; }
.tag-equity { top: 25%; left: 8%; }.tag-macro { top: 19%; right: 9%; }.tag-vol { bottom: 20%; right: 14%; }
@keyframes pulse { 50% { transform: scale(1.7); opacity: .6; } }

.market-rail { height: 98px; display: grid; grid-template-columns: 1.25fr repeat(5,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.rail-label,.market-cell { border-right: 1px solid var(--line); padding: 19px 24px; }
.rail-label { font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .08em; display: flex; align-items: center; gap: 10px; color: rgba(17,21,18,.55); }
.rail-label i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.market-cell { display: grid; grid-template-columns: 1fr auto; align-content: center; row-gap: 5px; }
.market-cell span { grid-column: 1/-1; font-family: var(--font-geist-mono); font-size: 9px; text-transform: uppercase; color: rgba(17,21,18,.55); }
.market-cell strong { font-size: 15px; font-weight: 560; }.market-cell small { font-family: var(--font-geist-mono); font-size: 9px; align-self: center; }
.positive { color: #327b2f; }.negative { color: #bc4a38; }

.approach-section { background: var(--ink); color: #f3f1e9; padding: 130px 4.2vw; display: grid; grid-template-columns: .72fr 1.28fr; gap: 8vw; }
.section-index { font-family: var(--font-geist-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 60px; display: flex; gap: 7px; }
.section-index span { color: #767a73; }
.section-index.light span { color: rgba(255,255,255,.4); }
.section-intro h2,.research-head h2,.firm-statement h2,.contact-copy h2 { font-size: clamp(55px, 6.7vw, 104px); line-height: .88; letter-spacing: -.07em; margin: 0; font-weight: 620; }
.section-intro h2 em,.research-head h2 em,.firm-statement h2 em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.section-intro > p { font-size: 17px; line-height: 1.65; color: rgba(255,255,255,.6); max-width: 490px; margin: 42px 0 0; }
.lens-console { border: 1px solid rgba(255,255,255,.24); align-self: end; background: #171c18; }
.lens-tabs { height: 68px; display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid rgba(255,255,255,.18); }
.lens-tabs button { border: 0; border-right: 1px solid rgba(255,255,255,.18); background: transparent; color: rgba(255,255,255,.43); text-align: left; padding: 0 19px; font-size: 12px; cursor: pointer; transition: color .2s, background .2s; }
.lens-tabs button:last-child { border-right: 0; }.lens-tabs button:hover { color: #fff; }.lens-tabs button.active { background: var(--acid); color: var(--ink); }
.lens-tabs button span { font-family: var(--font-geist-mono); font-size: 8px; margin-right: 12px; }
.lens-body { min-height: 420px; display: grid; grid-template-columns: 1fr .85fr; }
.lens-copy { padding: 52px 42px; border-right: 1px solid rgba(255,255,255,.18); }
.console-label { font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .08em; color: rgba(255,255,255,.43); }
.lens-copy h3 { font-size: clamp(28px,3vw,45px); letter-spacing: -.05em; line-height: .98; margin: 60px 0 20px; font-weight: 520; max-width: 380px; }
.lens-copy p { color: rgba(255,255,255,.58); line-height: 1.55; font-size: 14px; max-width: 430px; }
.lens-copy ul { padding: 0; list-style: none; margin: 40px 0 0; }
.lens-copy li { border-top: 1px solid rgba(255,255,255,.13); padding: 11px 0; font-family: var(--font-geist-mono); font-size: 9px; color: rgba(255,255,255,.55); text-transform: uppercase; letter-spacing: .06em; }
.lens-copy li::before { content: '+'; color: var(--acid); margin-right: 9px; }
.signal-gauge { position: relative; overflow: hidden; display: grid; place-items: center; background: radial-gradient(circle at 50% 58%, rgba(217,255,67,.1), transparent 44%); }
.gauge-grid { position: absolute; inset: 28px 24px; display: flex; gap: 5px; align-items: end; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
.gauge-grid::before,.gauge-grid::after { content:''; position:absolute; left:0; right:0; border-top: 1px dashed rgba(255,255,255,.09); }.gauge-grid::before{top:33%}.gauge-grid::after{top:66%}
.gauge-grid i { flex: 1; background: linear-gradient(to top, rgba(217,255,67,.13), var(--acid)); min-height: 10%; z-index: 1; transition: height .45s ease; }
.gauge-reading { width: 174px; height: 174px; border-radius: 50%; background: var(--ink); border: 1px solid rgba(255,255,255,.3); display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; z-index: 2; box-shadow: 0 0 0 12px rgba(17,21,18,.76); }
.gauge-reading span,.gauge-reading small { font-family: var(--font-geist-mono); font-size: 8px; color: rgba(255,255,255,.48); letter-spacing: .06em; }
.gauge-reading strong { font-size: 50px; letter-spacing: -.08em; line-height: 1.1; font-weight: 520; }.gauge-reading small { color: var(--acid); }
.console-foot { height: 46px; border-top: 1px solid rgba(255,255,255,.18); display: flex; align-items: center; justify-content: space-between; padding: 0 18px; font-family: var(--font-geist-mono); font-size: 8px; color: rgba(255,255,255,.35); letter-spacing: .07em; }

.process-section { background: var(--ink); color: #f3f1e9; padding: 0 4.2vw 130px; }
.process-head { border-top: 1px solid rgba(255,255,255,.25); padding: 22px 0 38px; display: flex; justify-content: space-between; font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .08em; }
.process-head p { margin:0; color: rgba(255,255,255,.42); }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.22); border-left: 1px solid rgba(255,255,255,.22); }
.process-card { min-height: 350px; border-right: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); padding: 22px; position: relative; display: flex; flex-direction: column; }
.process-card > span { font-family: var(--font-geist-mono); font-size: 9px; color: rgba(255,255,255,.4); }
.process-symbol { height: 130px; position: relative; margin: 28px 0; }
.process-symbol i,.process-symbol b { display: block; position: absolute; border-radius: 50%; }
.process-symbol i { width: 78px; height: 78px; border: 1px solid rgba(255,255,255,.48); left: 50%; top: 50%; transform: translate(-50%,-50%); }
.process-symbol b { width: 10px; height: 10px; background: var(--acid); left: calc(50% + 30px); top: 32px; box-shadow: 0 0 14px rgba(217,255,67,.5); }
.process-card:nth-child(2) .process-symbol i { border-radius: 0; transform: translate(-50%,-50%) rotate(45deg); }.process-card:nth-child(2) .process-symbol b { left: calc(50% - 4px); top: 61px; }
.process-card:nth-child(3) .process-symbol i { width: 105px; height: 45px; }.process-card:nth-child(3) .process-symbol b { left: calc(50% - 46px); top: 56px; }
.process-card:nth-child(4) .process-symbol i { width: 70px; height: 70px; background: var(--acid); border: 0; }.process-card:nth-child(4) .process-symbol b { background: var(--ink); left: calc(50% - 4px); top: 61px; box-shadow: none; }
.process-card h3 { font-size: 25px; letter-spacing: -.045em; margin: auto 0 10px; font-weight: 520; }.process-card p { font-size: 12px; line-height: 1.5; color: rgba(255,255,255,.5); margin:0; max-width: 240px; }

.manifesto { min-height: 78vh; background: var(--acid); padding: 7vh 4.2vw; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow:hidden; }
.manifesto::after { content:'P'; position:absolute; right:-.08em; bottom:-.34em; font-size: min(70vw,920px); font-weight: 720; color: rgba(17,21,18,.045); letter-spacing: -.15em; line-height:1; }
.manifesto-label { font-family: var(--font-geist-mono); font-size: 9px; letter-spacing: .1em; z-index:1; }.manifesto-label::before { content:'●'; margin-right:9px; }
.manifesto > p { font-size: clamp(64px, 10vw, 164px); line-height:.84; letter-spacing:-.085em; margin:0; z-index:1; font-weight:640; }
.manifesto-note { align-self: flex-end; max-width: 320px; font-size: 16px; line-height:1.5; z-index:1; }

.research-section { padding: 135px 4.2vw 100px; }
.research-head { display: grid; grid-template-columns: .5fr 1.25fr .65fr; align-items:end; border-bottom: 1px solid var(--line); padding-bottom: 75px; }
.research-head .section-index { align-self:start; }.research-head h2 { font-size: clamp(60px,7.5vw,115px); }.research-head > p { font-size:14px; line-height:1.6; margin:0 0 8px 3vw; max-width:300px; }
.insight-list { border-bottom: 1px solid var(--line); }
.insight-row { display:grid; grid-template-columns: 250px 1fr 60px; min-height: 225px; align-items:center; border-bottom: 1px solid var(--line); transition: background .25s; }
.insight-row:last-child { border-bottom:0; }.insight-row:hover { background: rgba(255,255,255,.45); }
.insight-visual { width: 210px; height: 145px; background:var(--ink); position:relative; overflow:hidden; }
.insight-visual::before,.insight-visual::after { content:''; position:absolute; border:1px solid rgba(255,255,255,.35); border-radius:50%; width:120px; height:120px; left:45px; top:13px; }
.insight-visual::after { transform:scaleX(.35) rotate(40deg); }
.insight-visual span,.insight-visual i,.insight-visual b { position:absolute; display:block; border-radius:50%; background:var(--acid); width:9px; height:9px; z-index:2; }
.insight-visual span { left:53px; top:33px; }.insight-visual i { right:43px; bottom:29px; }.insight-visual b { left:101px; top:69px; width:20px; height:20px; }
.visual-2 { background:#c9d3ff; }.visual-2::before,.visual-2::after { border-color:rgba(17,21,18,.32); border-radius:0; transform:rotate(45deg); }.visual-2::after{transform:scale(.55) rotate(45deg)}.visual-2 span,.visual-2 i,.visual-2 b{background:var(--ink)}
.visual-3 { background:#dedbd0; }.visual-3::before { width:170px;height:170px;left:20px;top:-13px }.visual-3::after { width:110px;height:110px;left:50px;top:17px; transform:none }.visual-3 b{background:var(--cyan)}
.insight-copy { padding:0 3vw; }.insight-copy > div { display:flex; gap:24px; font-family:var(--font-geist-mono); font-size:9px; letter-spacing:.06em; color:rgba(17,21,18,.48); }.insight-copy h3 { font-size:clamp(27px,3vw,47px); font-weight:500; letter-spacing:-.05em; margin:20px 0 0; max-width:750px; }
.insight-arrow { justify-self:end; width:42px; height:42px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; font-size:18px; }
.research-disclaimer { font-family:var(--font-geist-mono); font-size:8px; letter-spacing:.05em; color:rgba(17,21,18,.45); margin-top:16px; }

.firm-section { background:#3041a3; color:white; padding:120px 4.2vw; display:grid; grid-template-columns:.55fr 1.2fr .75fr; gap:5vw; }
.firm-statement h2 { font-size:clamp(58px,7vw,105px); }.firm-statement > p { max-width:590px; font-size:16px; line-height:1.7; color:rgba(255,255,255,.7); margin:46px 0 0; }
.firm-principles { align-self:end; }.firm-principles > div { border-top:1px solid rgba(255,255,255,.32); padding:19px 0 27px; display:grid; grid-template-columns:45px 1fr; }.firm-principles span { font-family:var(--font-geist-mono); font-size:8px; color:rgba(255,255,255,.45); }.firm-principles h3 { margin:0; font-size:17px; font-weight:520; }.firm-principles p { grid-column:2; margin:9px 0 0; font-size:11px; color:rgba(255,255,255,.52); line-height:1.5; }

.contact-section { min-height:75vh; padding:110px 4.2vw; display:grid; grid-template-columns:1fr 1fr; align-items:center; overflow:hidden; }
.contact-orbit { min-height:510px; position:relative; }.contact-orbit::before,.contact-orbit::after { content:''; position:absolute; left:50%; top:50%; border:1px solid var(--ink); border-radius:50%; transform:translate(-50%,-50%) rotate(-19deg); }.contact-orbit::before{width:78%;aspect-ratio:1}.contact-orbit::after{width:78%;height:31%;}
.contact-orbit span { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:120px;height:120px;border-radius:50%;background:var(--ink); }.contact-orbit i { position:absolute; left:16%; top:22%; width:25px;height:25px;border-radius:50%;background:var(--acid);box-shadow:0 0 30px rgba(217,255,67,.8); }
.contact-copy { padding-left:5vw; }.contact-copy h2 { font-size:clamp(70px,8.5vw,135px); }.contact-copy > p { max-width:480px; font-size:16px; line-height:1.6; margin:35px 0; }.contact-link { display:flex; max-width:510px; align-items:center; justify-content:space-between; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:21px 0; font-size:20px; letter-spacing:-.03em; }.contact-link span { width:36px;height:36px;border-radius:50%;background:var(--acid);display:grid;place-items:center;font-size:16px; }

footer { background:var(--ink); color:#f3f1e9; padding:65px 4.2vw 35px; display:grid; grid-template-columns:1fr auto; gap:70px; }
.footer-brand { color:#f3f1e9; }
.footer-links { display:flex; gap:35px; align-items:center; font-size:11px; }.footer-meta { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.2); padding-top:20px; display:flex; justify-content:space-between; font-family:var(--font-geist-mono); font-size:8px; letter-spacing:.06em; color:rgba(255,255,255,.45); }
.legal { grid-column:1/-1; max-width:760px; margin:0; font-size:9px; line-height:1.55; color:rgba(255,255,255,.35); }

@media (max-width: 900px) {
  .site-header { height: 76px; grid-template-columns: 1fr auto; }
  .portal-link { display: none; }.menu-toggle { display: block; }
  .nav-links { position: absolute; top: 76px; left: 0; right: 0; padding: 28px 5vw; flex-direction: column; align-items: flex-start; background: var(--paper); border-bottom: 1px solid var(--line); transform: translateY(-140%); transition: transform .25s ease; z-index: -1; }
  .nav-links.open { transform: translateY(0); }
  .hero { grid-template-columns: 1fr; padding-top: 8vh; }
  .orbital-stage { min-height: 520px; }.market-rail { grid-template-columns: repeat(3,1fr); height: auto; }.rail-label { grid-column: 1/-1; height: 46px; }.market-cell { min-height: 80px; }
  .approach-section { grid-template-columns:1fr; }.lens-body { grid-template-columns:1fr; }.lens-copy { border-right:0;border-bottom:1px solid rgba(255,255,255,.18); }.signal-gauge { min-height:390px; }
  .process-grid { grid-template-columns:repeat(2,1fr); }.research-head { grid-template-columns:1fr; gap:28px; }.research-head .section-index { margin-bottom:15px; }.research-head > p { margin-left:0; }.insight-row { grid-template-columns:200px 1fr 45px; }.insight-visual { width:170px;height:120px; }
  .firm-section { grid-template-columns:1fr; }.firm-section .section-index { margin-bottom:0; }.firm-principles { margin-top:30px; }.contact-section { grid-template-columns:.75fr 1fr; }.contact-orbit { min-height:400px; }
}
@media (max-width: 560px) {
  .brand { font-size: 17px; }
  .hero { padding-inline: 18px; }.hero-copy { padding-top: 20px; }
  h1 { font-size: clamp(55px, 17vw, 80px); }.hero-copy > p { margin-top: 28px; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .orbital-stage { min-height: 420px; }.data-tag { display: none; }.core { width: 112px; height: 112px; }.core strong { font-size: 31px; }
  .market-rail { grid-template-columns: repeat(2,1fr); }.market-cell:nth-last-child(1) { display: none; }
  .approach-section,.research-section,.firm-section,.contact-section { padding:90px 18px; }.section-index { margin-bottom:40px; }.lens-tabs { height:auto; }.lens-tabs button { padding:17px 11px; font-size:10px; }.lens-tabs button span { display:block;margin:0 0 6px; }.lens-copy { padding:34px 24px; }.lens-copy h3 { margin-top:42px; }.signal-gauge { min-height:340px; }.console-foot span:last-child { display:none; }
  .process-section { padding:0 18px 90px; }.process-head { flex-direction:column;gap:10px; }.process-grid { grid-template-columns:1fr; }.process-card { min-height:310px; }.manifesto { min-height:68vh;padding:50px 18px; }.manifesto > p { font-size:17vw; }.manifesto-note { max-width:240px;font-size:13px; }
  .insight-row { grid-template-columns:1fr 42px; padding:22px 0; }.insight-visual { grid-column:1/-1; width:100%;height:180px;margin-bottom:25px; }.insight-copy { padding:0; }.insight-copy h3 { font-size:30px; }.insight-arrow { width:36px;height:36px; }.firm-statement > p { font-size:14px; }.contact-section { grid-template-columns:1fr; }.contact-orbit { min-height:300px; }.contact-copy { padding-left:0; }.contact-copy .section-index { margin-top:40px; }.contact-link { font-size:16px; } footer { padding-inline:18px;grid-template-columns:1fr;gap:35px; }.footer-links { flex-wrap:wrap; }.footer-meta { grid-column:1; }.legal { grid-column:1; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; transition: none !important; } }

/* Institutional fintech refinement */
.section-intro h2,
.research-head h2,
.firm-statement h2,
.contact-copy h2 {
  font-size: clamp(46px, 5.2vw, 78px);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 560;
  max-width: 900px;
}
.section-intro h2 em,
.research-head h2 em,
.firm-statement h2 em { font-family: inherit; font-style: normal; font-weight: inherit; }
.section-index { margin-bottom: 42px; color: rgba(7,18,28,.68); }

.approach-section {
  background: #081824;
  color: #eef6f8;
  padding-block: 110px;
  grid-template-columns: minmax(310px,.62fr) minmax(600px,1.38fr);
  gap: 6vw;
}
.approach-section .section-index { color: rgba(255,255,255,.58); }
.section-intro > p { margin-top: 34px; font-size: 15px; max-width: 520px; }
.lens-console { background: #0b1e2b; border-color: #284657; }
.lens-tabs { border-color: #284657; }
.lens-tabs button { border-color: #284657; color: rgba(230,245,248,.58); letter-spacing: .03em; }
.lens-tabs button.active { background: #123348; color: #eafaff; box-shadow: inset 0 -2px 0 var(--acid); }
.lens-copy { border-color: #284657; }
.lens-copy h3 { font-size: clamp(27px,2.6vw,40px); font-weight: 500; letter-spacing: -.035em; }
.lens-copy p { color: rgba(230,245,248,.65); }
.lens-copy li { color: rgba(230,245,248,.62); }
.signal-gauge { background: linear-gradient(rgba(37,197,229,.035),rgba(37,197,229,.01)); }
.gauge-grid i { background: linear-gradient(to top, rgba(37,197,229,.12), #37c8e2); }
.gauge-reading { border-radius: 4px; width: 166px; height: 144px; background: #071722; border-color: #356073; box-shadow: 0 0 0 8px rgba(7,23,34,.72); }
.gauge-reading strong { font-family: var(--font-geist-mono); font-size: 42px; letter-spacing: -.05em; }

.process-section { background: #081824; color: #eaf3f5; padding-bottom: 110px; }
.process-head { border-color: #284657; color: #b9cbd2; }
.process-grid { border-color: #284657; }
.process-card { min-height: 315px; border-color: #284657; background: rgba(255,255,255,.015); }
.process-symbol { height: 98px; margin-block: 28px; opacity: .76; }
.process-symbol i { border-color: #4f778a; }
.process-symbol b { background: var(--acid); box-shadow: 0 0 10px rgba(37,197,229,.35); }
.process-card:nth-child(4) .process-symbol i { background: #123c50; border: 1px solid #4f778a; }
.process-card:nth-child(4) .process-symbol b { background: var(--acid); }
.process-card h3 { font-size: 21px; letter-spacing: -.025em; }

.manifesto {
  min-height: auto;
  background: #e7eef1;
  padding: 105px 4.2vw 110px;
  display: block;
  color: var(--ink);
}
.manifesto::after { display:none; }
.manifesto-head { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); padding-bottom:18px; font-family:var(--font-geist-mono); font-size:9px; letter-spacing:.07em; color:rgba(7,18,28,.55); }
.manifesto-label::before { content:''; display:inline-block; width:6px;height:6px;background:var(--acid);border-radius:1px;margin-right:9px; }
.manifesto-title { display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;align-items:end;padding:74px 0 84px; }
.manifesto-title h2 { margin:0;max-width:900px;font-size:clamp(50px,6.6vw,98px);font-weight:540;line-height:.98;letter-spacing:-.065em; }
.manifesto-title p { margin:0 0 7px;font-size:15px;line-height:1.7;max-width:440px;color:rgba(7,18,28,.65); }
.system-stack { border-top:1px solid var(--line); }
.system-stack > div { min-height:72px;display:grid;grid-template-columns:.45fr 1fr auto;align-items:center;border-bottom:1px solid var(--line);font-size:13px; }
.system-stack span,.system-stack small { font-family:var(--font-geist-mono);font-size:9px;letter-spacing:.06em;color:rgba(7,18,28,.52); }
.system-stack strong { font-size:16px;font-weight:520; }
.system-stack small { color:#037e96; }
.system-stack small::before { content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acid);margin-right:8px; }

.research-section { padding-block:110px; }
.research-head { grid-template-columns:.4fr 1.2fr .55fr; padding-bottom:60px; }
.research-head h2 { font-size:clamp(48px,5.4vw,82px); }
.insight-row { min-height:190px;grid-template-columns:220px 1fr 60px; }
.insight-visual { width:180px;height:118px;background:#0a1e2b; }
.visual-2 { background:#bdd1d9; }.visual-3 { background:#d5dfe2; }
.insight-copy h3 { font-size:clamp(25px,2.6vw,40px);letter-spacing:-.035em; }
.insight-arrow { border-radius:2px;width:36px;height:36px;font-size:14px; }

.firm-section { background:#0d2737;color:#edf7f9;padding-block:110px;grid-template-columns:.42fr 1.15fr .72fr; }
.firm-statement h2 { font-size:clamp(48px,5.5vw,82px); }
.firm-statement > p { margin-top:34px;font-size:14px; }
.firm-principles > div { border-color:#365263; }
.firm-principles h3 { font-size:15px; }

.contact-section { min-height:auto;padding-block:105px;grid-template-columns:.72fr 1.28fr;background:#f3f7f8; }
.contact-orbit { min-height:390px; }
.contact-orbit::before { width:68%;max-width:390px; }
.contact-orbit::after { width:68%;max-width:390px; }
.contact-orbit span { width:82px;height:82px;background:#0b2b3d;border:1px solid var(--acid); }
.contact-orbit i { width:15px;height:15px;background:var(--acid);box-shadow:0 0 16px rgba(37,197,229,.45); }
.contact-copy h2 { max-width:780px;font-size:clamp(48px,6.2vw,92px); }
.contact-link span { border-radius:2px;background:#0d3348;color:white; }

footer { background:#06131d; }
.footer-brand small { color:rgba(255,255,255,.42); }

@media (max-width: 900px) {
  .approach-section { grid-template-columns:1fr; }
  .manifesto-title { grid-template-columns:1fr;gap:30px; }
  .research-head { grid-template-columns:1fr;gap:28px; }
  .research-head .section-index { margin-bottom:14px; }
  .firm-section { grid-template-columns:1fr; }
  .contact-section { grid-template-columns:.72fr 1fr; }
}
@media (max-width: 560px) {
  .brand > span:last-child { gap:6px; }.brand small { font-size:7px; }
  .section-intro h2,.research-head h2,.firm-statement h2,.contact-copy h2 { font-size:44px; }
  .manifesto { padding:80px 18px; }.manifesto-head span:last-child{display:none}.manifesto-title { padding:55px 0; }.manifesto-title h2 { font-size:48px; }
  .system-stack > div { grid-template-columns:1fr auto;padding:16px 0;gap:7px; }.system-stack strong { grid-row:2; }.system-stack small { grid-column:2;grid-row:1/3; }
  .insight-row { grid-template-columns:1fr 42px;padding-block:22px; }.insight-visual { grid-column:1/-1;width:100%;height:180px;margin-bottom:25px; }
  .contact-section { grid-template-columns:1fr; }
}

/* Finance-led typography system */
h1,
.section-intro h2,
.manifesto-title h2,
.research-head h2,
.firm-statement h2,
.contact-copy h2,
.lens-copy h3,
.insight-copy h3 {
  font-family: var(--font-source-serif), Georgia, serif;
  font-optical-sizing: auto;
  font-style: normal;
  text-wrap: balance;
}
h1 {
  max-width: 900px;
  font-size: clamp(58px, 6vw, 90px);
  line-height: .98;
  letter-spacing: -.047em;
  font-weight: 520;
}
.section-intro h2,
.research-head h2,
.firm-statement h2,
.contact-copy h2 {
  line-height: 1.02;
  letter-spacing: -.043em;
  font-weight: 500;
}
.manifesto-title h2 { letter-spacing:-.045em;font-weight:500; }
.lens-copy h3,.insight-copy h3 { letter-spacing:-.028em;font-weight:520; }
.hero-copy > p { font-size: clamp(16px,1.15vw,19px);line-height:1.65;max-width:600px;color:rgba(7,18,28,.75); }
.brand { letter-spacing:.075em;font-weight:650; }
.brand small { letter-spacing:.19em; }
.button,.nav-links,.portal-link { letter-spacing:.065em; }
.button-primary { background:#092338;border:1px solid #092338; }
.text-link { border-bottom:1px solid rgba(7,18,28,.45);padding-bottom:5px; }
.market-cell strong,.core strong,.gauge-reading strong { font-variant-numeric: tabular-nums; }

@media (max-width:560px) {
  h1 { font-size: clamp(48px,14.5vw,68px); }
  .section-intro h2,.research-head h2,.firm-statement h2,.contact-copy h2 { font-size:46px; }
}

/* Full-bleed hero: one continuous light research field, no framed data card */
.hero {
  min-height: calc(100svh - 78px);
  padding: 0 0 0 4.2vw;
  grid-template-columns: minmax(470px,.88fr) minmax(590px,1.12fr);
  gap: 0;
  background:
    radial-gradient(circle at 75% 51%, rgba(37,197,229,.12), transparent 31%),
    linear-gradient(115deg, rgba(255,255,255,.72), transparent 48%),
    var(--paper);
  color: var(--ink);
}
.hero .grid-lines {
  background-image:
    linear-gradient(to right, transparent calc(25% - .5px), rgba(7,18,28,.07) 25%, transparent calc(25% + .5px)),
    linear-gradient(to right, transparent calc(50% - .5px), rgba(7,18,28,.07) 50%, transparent calc(50% + .5px)),
    linear-gradient(to right, transparent calc(75% - .5px), rgba(7,18,28,.07) 75%, transparent calc(75% + .5px));
  opacity: 1;
}
.hero-copy {
  align-self: center;
  padding: 9vh 5vw 9vh 0;
  z-index: 4;
}
.hero .eyebrow { color: rgba(7,18,28,.65); }
.hero h1 { color: #07121c; }
.hero .hero-copy > p { color: rgba(7,18,28,.68); }
.hero .button-primary {
  background: #092338;
  border-color: #092338;
  color: #f1f6f7;
}
.hero .text-link { color: #071824; border-color: rgba(7,24,36,.4); }
.orbital-stage {
  min-height: 100%;
  align-self: stretch;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: hidden;
  z-index: 2;
}
.orbital-stage::before {
  inset: 0;
  background-image:
    linear-gradient(rgba(7,18,28,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,18,28,.055) 1px, transparent 1px);
  background-size: 86px 86px;
  mask-image: linear-gradient(to right, transparent 0%, black 20%, black 100%);
}
.orbital-stage::after {
  width: 92%;
  left: 1%;
  top: 5%;
  background: radial-gradient(circle, rgba(37,197,229,.15), transparent 65%);
}
.hero .orbit { border-color: rgba(7,18,28,.26); }
.hero .orbit::before,.hero .orbit::after { background: rgba(7,18,28,.42); }
.hero .stage-meta { color: rgba(7,18,28,.5); }
.hero .data-tag { border-color: rgba(7,18,28,.28);color:#07121c; }
.hero .data-tag span { color: rgba(7,18,28,.5); }
.hero .core { background: rgba(244,244,241,.84);border-color:#159cb8;color:#07121c;box-shadow:0 0 58px rgba(37,197,229,.18); }
.orbit-one { width: 88%; }
.orbit-two { width: 65%; }
.orbit-three { width: 40%; }
.stage-meta { left: 7%; right: 5%; }
.tag-equity { left: 10%; }
.core { background: rgba(6,21,34,.72); backdrop-filter: blur(8px); }

/* Live probability field: continuously resampled possible market states */
.probability-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
  opacity: .9;
}
.orbital-stage .orbit,
.orbital-stage .core,
.orbital-stage .data-tag,
.orbital-stage .stage-meta { z-index: 3; }
.hero .orbit {
  border-color: rgba(7,18,28,.14);
  transition: transform 1.4s cubic-bezier(.2,.65,.25,1), opacity .8s ease;
}
.hero .orbit-one { animation: field-drift-one 18s ease-in-out infinite alternate; }
.hero .orbit-two { animation: field-drift-two 14s ease-in-out infinite alternate; }
.hero .orbit-three { animation: field-drift-three 11s ease-in-out infinite alternate; }
.hero .core {
  animation: posterior-breathe 4.8s ease-in-out infinite;
  box-shadow: 0 0 0 1px rgba(21,156,184,.08), 0 0 72px rgba(37,197,229,.2);
}
.hero .orbital-node {
  width: 92px;
  height: 92px;
  background: rgba(244,244,241,.9);
  border-color: rgba(21,156,184,.6);
}
.hero .orbital-node strong {
  margin: 3px 0 1px;
  font-family: var(--font-geist-mono);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -.04em;
}
.hero .stage-meta sub,
.hero .data-tag sub {
  font-size: .72em;
  vertical-align: -.2em;
}
.hero .core::after {
  content: '';
  position: absolute;
  inset: -15px;
  border: 1px solid rgba(21,156,184,.22);
  border-radius: 50%;
  animation: posterior-ring 4.8s ease-out infinite;
}

@keyframes field-drift-one {
  to { transform: translate(-48.5%,-51%) rotate(-12deg) scale(1.025); }
}
@keyframes field-drift-two {
  to { transform: translate(-52%,-48.5%) rotate(31deg) scale(.97); }
}
@keyframes field-drift-three {
  to { transform: translate(-49%,-52%) rotate(70deg) scale(1.04); }
}
@keyframes posterior-breathe {
  50% { box-shadow: 0 0 0 8px rgba(21,156,184,.035), 0 0 90px rgba(37,197,229,.26); }
}
@keyframes posterior-ring {
  0% { opacity: 0; transform: scale(.86); }
  22% { opacity: .7; }
  100% { opacity: 0; transform: scale(1.16); }
}

@media (max-width: 980px) {
  .hero { padding: 0 5vw; grid-template-columns: 1fr; }
  .hero-copy { padding: 10vh 0 5vh; }
  .orbital-stage { min-height: 560px; }
  .orbital-stage::before { mask-image: linear-gradient(to bottom, transparent, black 18%); }
}
@media (max-width: 560px) {
  .hero { padding-inline: 18px; }
  .hero-copy { padding: 9vh 0 4vh; }
  .orbital-stage { min-height: 430px; }
  .stage-meta { left: 12px; right: 12px; }
  .probability-canvas { opacity: .76; }
}

/* Focused three-part information architecture */
.process-section { padding-top: 110px; }
.process-intro { display:grid;grid-template-columns:.4fr 1.2fr .55fr;gap:5vw;align-items:end;padding-bottom:0; }
.process-intro > span { align-self:start;font-family:var(--font-geist-mono);font-size:9px;letter-spacing:.085em;text-transform:uppercase;color:rgba(235,246,248,.5); }
.process-intro h2 { margin:0;font-family:var(--font-source-serif);font-size:clamp(48px,5.5vw,82px);font-weight:500;line-height:1;letter-spacing:-.043em;color:#edf6f8; }
.process-intro p { margin:0 0 5px;font-size:14px;line-height:1.7;color:rgba(235,246,248,.58); }

@media (max-width: 900px) {
  .process-intro { grid-template-columns:1fr;gap:26px; }
  .process-intro h2 { max-width:700px; }
  .process-intro p { max-width:520px; }
}
@media (max-width: 560px) {
  .process-section { padding-top:80px; }
  .process-intro h2 { font-size:46px; }
}

/* Open editorial protocol: no cards, frames, or dashboard tiles */
.process-head { padding-bottom: 20px; }
.process-list { display:block; }
.process-step {
  min-height: 165px;
  display:grid;
  grid-template-columns: minmax(90px,.35fr) minmax(260px,.9fr) minmax(320px,1fr);
  gap:5vw;
  align-items:center;
  padding:34px 0;
}
.process-step + .process-step { border-top:1px solid rgba(235,246,248,.16); }
.process-step > span {
  align-self:start;
  padding-top:9px;
  font-family:var(--font-geist-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:var(--acid);
}
.process-step h3 {
  margin:0;
  font-family:var(--font-source-serif), Georgia, serif;
  font-size:clamp(38px,4.5vw,68px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.04em;
  color:#edf6f8;
}
.process-step p {
  margin:0;
  max-width:520px;
  font-size:15px;
  line-height:1.7;
  color:rgba(235,246,248,.58);
}

@media (max-width:900px) {
  .process-step { grid-template-columns:70px 1fr;gap:28px; }
  .process-step p { grid-column:2; }
}
@media (max-width:560px) {
  .process-head { align-items:flex-start; }
  .process-step { min-height:0;grid-template-columns:45px 1fr;gap:18px;padding:30px 0; }
  .process-step > span { padding-top:5px; }
  .process-step h3 { font-size:40px; }
  .process-step p { font-size:14px; }
}

/* Full-viewport probability space inspired by scientific particle fields */
.site-header {
  background: #0d0d18;
  color: #f4f6fb;
  border-color: rgba(255,255,255,.13);
  backdrop-filter: none;
}
.site-header .brand small { color: rgba(244,246,251,.48); }

.hero {
  min-height: calc(100svh - 78px);
  padding: 0 4.2vw;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 70% 50%, rgba(47,53,105,.16), transparent 35%),
    #0d0d18;
  color: #f4f6fb;
  isolation: isolate;
}
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(13,13,24,.98) 0%, rgba(13,13,24,.82) 31%, rgba(13,13,24,.18) 58%, transparent 78%);
}
.hero .grid-lines { display: none; }
.hero-copy {
  width: min(660px, 54vw);
  align-self: auto;
  padding: 7vh 0;
  z-index: 4;
}
.hero .eyebrow { color: rgba(244,246,251,.58); margin-bottom: 30px; }
.hero h1 {
  color: #f7f8fc;
  max-width: 720px;
  text-shadow: 0 2px 24px rgba(0,0,0,.18);
}
.hero .hero-copy > p {
  max-width: 565px;
  margin-top: 34px;
  color: rgba(244,246,251,.68);
}
.hero .hero-actions { margin-top: 34px; }
.hero .button-primary {
  background: #f3f5fa;
  border-color: #f3f5fa;
  color: #0d0d18;
}
.hero .button-primary span { color: #168ca5; }
.hero .text-link { color: #f4f6fb; border-color: rgba(244,246,251,.42); }

.orbital-stage {
  position: absolute;
  inset: 0;
  width: 100%;
  min-height: 100%;
  z-index: 3;
  pointer-events: none;
}
.orbital-stage::before,
.orbital-stage::after { display: none; }
.probability-canvas {
  z-index: 1;
  opacity: 1;
}
.field-state {
  position: absolute;
  right: 3.2vw;
  top: 28px;
  z-index: 3;
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 4px 13px;
  color: rgba(244,246,251,.42);
  font-family: var(--font-geist-mono);
  font-size: 8px;
  font-style: normal;
  letter-spacing: .09em;
}
.field-state b { color: #f4f6fb; font-size: 12px; font-weight: 500; }
.field-state i { grid-column: 1 / -1; justify-self: end; color: rgba(244,246,251,.28); font-style: normal; }
.field-state sub { font-size: .68em; vertical-align: -.18em; }

@media (max-width: 900px) {
  .site-header .nav-links { background: #0d0d18; border-color: rgba(255,255,255,.13); }
  .hero { padding-inline: 5vw; }
  .hero-copy { width: min(680px, 76vw); padding: 10vh 0; }
  .hero::after { background: linear-gradient(90deg, rgba(13,13,24,.97), rgba(13,13,24,.7) 55%, rgba(13,13,24,.14)); }
}
@media (max-width: 560px) {
  .hero { min-height: calc(100svh - 76px); padding-inline: 18px; }
  .hero-copy { width: 100%; padding: 8vh 0 6vh; }
  .hero .hero-copy > p { color: rgba(244,246,251,.72); }
  .hero::after { background: linear-gradient(180deg, rgba(13,13,24,.42), rgba(13,13,24,.94) 34%, rgba(13,13,24,.82)); }
  .field-state { right: 18px; top: 18px; }
}

/* Institutional graphite system: one signal blue, neutral structural surfaces */
.site-header {
  background: var(--ink);
  color: var(--paper);
  border-color: rgba(242,241,237,.14);
}
.site-header .brand small { color:rgba(242,241,237,.48); }
.site-header .brand-mark { color:var(--paper); }
.eyebrow span {
  background:var(--signal);
  box-shadow:0 0 0 4px rgba(111,143,160,.1);
}
.hero {
  background:
    radial-gradient(circle at 72% 50%, rgba(111,143,160,.13), transparent 34%),
    var(--ink);
  color:var(--paper);
}
.hero::after {
  background:linear-gradient(90deg, rgba(11,16,22,.99) 0%, rgba(11,16,22,.84) 31%, rgba(11,16,22,.2) 59%, transparent 79%);
}
.hero h1 { color:#f6f5f1; }
.hero .eyebrow { color:rgba(242,241,237,.56); }
.hero .hero-copy > p { color:rgba(242,241,237,.68); }
.hero .button-primary {
  background:var(--paper);
  border-color:var(--paper);
  color:var(--ink);
}
.hero .button-primary span { color:var(--signal); }
.hero .text-link { color:var(--paper);border-color:rgba(242,241,237,.4); }
.field-state { color:rgba(242,241,237,.42); }
.field-state b { color:var(--paper); }
.field-state i { color:rgba(242,241,237,.27); }

.firm-section {
  background:var(--paper);
  color:var(--ink);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.firm-section .section-index { color:rgba(11,16,22,.66); }
.firm-section .section-index span,
.firm-principles span { color:var(--signal); }
.firm-statement > p { color:rgba(11,16,22,.66); }
.firm-principles > div { border-color:rgba(11,16,22,.22); }
.firm-principles p { color:rgba(11,16,22,.56); }

.process-section { background:var(--ink-raised);color:var(--paper); }
.process-head { border-color:rgba(242,241,237,.2);color:rgba(242,241,237,.78); }
.process-intro > span,
.process-intro p,
.process-head p,
.process-step p { color:rgba(242,241,237,.56); }
.process-intro h2,
.process-step h3 { color:var(--paper); }
.process-step + .process-step { border-color:rgba(242,241,237,.15); }
.process-step > span { color:var(--signal); }

.manifesto { background:var(--paper-alt);color:var(--ink); }
.manifesto-label::before,
.system-stack small::before { background:var(--signal); }
.system-stack small { color:#526f7e; }

.research-section { background:var(--paper); }
.insight-visual { background:var(--ink-raised); }
.visual-2 { background:#c9c9c5; }
.visual-3 { background:#dcdbd5; }
.insight-visual span,
.insight-visual i,
.insight-visual b,
.visual-3 b { background:var(--signal); }
.visual-2 span,
.visual-2 i,
.visual-2 b { background:var(--ink); }
.insight-row:hover { background:rgba(255,255,255,.46); }

footer { background:var(--ink);color:var(--paper); }
.footer-brand .brand-mark { color:var(--paper); }
.footer-brand small { color:rgba(242,241,237,.42); }

h1,h2,h3,
.article-lede,
.article-body p {
  font-family:var(--font-source-serif);
}
button,input,textarea,select { font-family:var(--font-inter); }
.nav-links,
.portal-link,
.eyebrow,
.section-index,
.process-intro > span,
.process-head,
.process-step > span,
.manifesto-head,
.system-stack span,
.system-stack small,
.insight-copy > div,
.research-disclaimer,
.field-state,
.footer-meta {
  font-family:var(--font-inter);
  font-variant-numeric:tabular-nums;
}

@media (max-width:900px) {
  .site-header .nav-links { background:var(--ink);border-color:rgba(242,241,237,.14); }
  .hero::after { background:linear-gradient(90deg, rgba(11,16,22,.98), rgba(11,16,22,.72) 55%, rgba(11,16,22,.16)); }
}
@media (max-width:560px) {
  .hero::after { background:linear-gradient(180deg, rgba(11,16,22,.43), rgba(11,16,22,.95) 34%, rgba(11,16,22,.84)); }
}

/* Bootstrap-aligned responsive scaffold */
.header-actions { display:flex; align-items:center; justify-self:end; gap:clamp(18px,2vw,32px); }
.language-switcher { margin:0; color:var(--paper); flex:0 0 auto; }
.language-toggle { display:flex; align-items:center; justify-content:center; gap:10px; padding:0 4px; min-height:44px; min-width:58px; color:inherit; background:transparent; border:0; border-radius:0; font:inherit; font-size:14px; cursor:pointer; }
.language-toggle::after { width:6px; height:6px; margin:0 0 3px; border:0; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); }
.language-toggle.show::after { margin-bottom:0; transform:rotate(225deg); }
.language-switcher .dropdown-menu { --bs-dropdown-min-width:10rem; --bs-dropdown-padding-y:6px; --bs-dropdown-bg:var(--ink); --bs-dropdown-color:var(--paper); --bs-dropdown-link-color:var(--paper); --bs-dropdown-link-hover-color:var(--paper); --bs-dropdown-link-hover-bg:var(--ink-raised); --bs-dropdown-link-active-color:var(--paper); --bs-dropdown-link-active-bg:var(--ink-raised); --bs-dropdown-border-color:rgba(242,241,237,.22); --bs-dropdown-border-radius:0; box-shadow:0 12px 28px rgba(0,0,0,.18); }
.language-switcher .dropdown-item { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; padding:10px 16px; font:inherit; font-size:14px; line-height:1.5; border-radius:0; }
.language-switcher .dropdown-item.active::after { content:'✓'; color:var(--signal); }
.language-toggle:hover { color:#fff; }
.language-switcher :focus-visible { outline:1px solid currentColor; outline-offset:3px; }
html:lang(zh-hant) { --font-inter:"PingFang TC","Microsoft JhengHei",sans-serif; --font-source-serif:"Songti TC","Noto Serif CJK TC",serif; }
html:lang(zh-hans) { --font-inter:"PingFang SC","Microsoft YaHei",sans-serif; --font-source-serif:"Songti SC","Noto Serif CJK SC",serif; }
html:lang(zh) h1, html:lang(zh) h2 { letter-spacing:0; line-height:1.2; }
html:lang(zh) .hero-copy p { line-height:1.85; }
html:lang(zh) .brand { font-family:"Iowan Old Style",Baskerville,"Times New Roman",serif; }
.nav-links .nav-contact-link { display:none; }
.footer-links { flex-wrap:wrap; }
@media (max-width:991.98px) {
  .nav-links .nav-contact-link { display:block; }
}

.site-header.container-fluid,
.hero.container-fluid,
.firm-section.container-fluid,
.process-section.container-fluid,
.manifesto.container-fluid,
.research-section.container-fluid,
footer.container-fluid { --bs-gutter-x:0; }

@media (min-width:1400px) {
  .site-header { padding-inline:5vw; }
  .hero { padding-inline:5vw; }
  .hero-copy { width:min(720px,50vw); }
  .hero h1 { font-size:96px; }
  .firm-section,
  .process-section,
  .manifesto,
  .research-section { padding-inline:5vw; }
  .firm-section { grid-template-columns:.36fr 1.2fr .72fr;gap:5vw; }
  .process-intro { grid-template-columns:.36fr 1.2fr .58fr; }
  .process-step { grid-template-columns:minmax(110px,.32fr) minmax(340px,.92fr) minmax(420px,1fr); }
  footer { padding-inline:5vw; }
}

@media (min-width:1200px) and (max-width:1399.98px) {
  .hero-copy { width:min(660px,52vw); }
  .firm-section { grid-template-columns:.34fr 1.15fr .75fr;gap:4vw; }
  .process-intro { grid-template-columns:.34fr 1.18fr .62fr;gap:4vw; }
}

@media (min-width:992px) and (max-width:1199.98px) {
  .site-header { padding-inline:32px; }
  .nav-links { gap:28px; }
  .hero { padding-inline:32px; }
  .hero-copy { width:min(610px,55vw); }
  .hero h1 { font-size:clamp(66px,7vw,82px); }
  .firm-section { padding:96px 32px;grid-template-columns:.28fr 1fr .78fr;gap:38px; }
  .firm-statement h2 { font-size:clamp(52px,5.6vw,68px); }
  .process-section { padding:96px 32px; }
  .process-intro { grid-template-columns:.28fr 1fr .72fr;gap:38px;padding-bottom:0; }
  .manifesto,
  .research-section { padding:96px 32px; }
  .research-head { grid-template-columns:.28fr 1fr .7fr;gap:36px; }
  .insight-row { grid-template-columns:190px 1fr 48px; }
  .insight-visual { width:160px;height:108px; }
  footer { padding-inline:32px; }
}

@media (max-width:991.98px) {
  .site-header { height:72px;padding-inline:32px;grid-template-columns:1fr auto; }
  .portal-link { display:none; }
  .menu-toggle { display:block;color:inherit; }
  .nav-links {
    position:absolute;
    top:72px;
    left:0;
    right:0;
    padding:28px 32px;
    flex-direction:column;
    align-items:flex-start;
    background:var(--ink);
    border-bottom:1px solid rgba(242,241,237,.14);
    transform:translateY(-140%);
    transition:transform .25s ease;
    z-index:-1;
  }
  .nav-links.open { transform:translateY(0); }
  .hero { min-height:calc(100svh - 72px);padding-inline:32px; }
  .hero-copy { width:min(680px,78vw);padding:9vh 0; }
  .firm-section { padding:96px 32px;grid-template-columns:1fr;gap:0; }
  .firm-section .section-index { margin-bottom:34px; }
  .firm-principles { width:100%;margin-top:48px; }
  .process-section { padding:96px 32px; }
  .process-intro { grid-template-columns:1fr;gap:25px;padding-bottom:0; }
  .process-intro > span { margin-bottom:10px; }
  .process-step { grid-template-columns:70px 1fr;gap:28px; }
  .process-step p { grid-column:2; }
  .manifesto,
  .research-section { padding:96px 32px; }
  .manifesto-title { grid-template-columns:1fr;gap:30px;padding:62px 0; }
  .research-head { grid-template-columns:1fr;gap:26px;padding-bottom:50px; }
  .research-head .section-index { margin-bottom:10px; }
  .research-head > p { margin-left:0;max-width:520px; }
  .insight-row { grid-template-columns:190px 1fr 46px; }
  .insight-visual { width:160px;height:108px; }
  footer { padding-inline:32px; }
}

@media (max-width:767.98px) {
  .site-header { height:68px;padding-inline:24px; }
  .nav-links { top:68px;padding:26px 24px;gap:22px; }
  .nav-links a { font-size:13px; }
  .hero { min-height:max(740px, calc(100svh - 68px));padding-inline:24px; }
  .hero-copy { width:90%;padding:72px 0 92px; }
  .hero h1 { font-size:clamp(54px,10vw,70px); }
  .hero .hero-copy > p { max-width:540px;font-size:17px; }
  .firm-section,
  .process-section,
  .manifesto,
  .research-section { padding:82px 24px; }
  .firm-statement h2,
  .process-intro h2,
  .manifesto-title h2,
  .research-head h2 { font-size:clamp(48px,9vw,62px); }
  .firm-statement > p,
  .process-intro p,
  .process-step p,
  .manifesto-title p,
  .research-head > p { font-size:16px;line-height:1.7; }
  .process-step { grid-template-columns:52px 1fr;gap:18px;padding:30px 0; }
  .process-step h3 { font-size:clamp(38px,8vw,50px); }
  .system-stack > div { grid-template-columns:.42fr 1fr auto;gap:18px; }
  .insight-row { grid-template-columns:1fr 44px;padding:28px 0; }
  .insight-visual { grid-column:1/-1;width:100%;height:190px;margin-bottom:28px; }
  .insight-copy { padding:0 20px 0 0; }
  .insight-copy h3 { font-size:clamp(30px,6.5vw,42px); }
  footer { padding:58px 24px 30px;grid-template-columns:1fr;gap:34px; }
  .footer-links { flex-wrap:wrap;gap:22px 28px; }
  .footer-meta,.legal { grid-column:1; }
}

@media (max-width:575.98px) {
  .site-header { padding-inline:18px; }
  .brand { font-size:15px;gap:9px; }
  .brand-mark { width:24px;height:30px; }
  .brand small { font-size:6px; }
  .nav-links { padding-inline:18px; }
  .hero { min-height:max(700px, calc(100svh - 68px));padding-inline:18px; }
  .hero-copy { width:100%;padding:60px 0 88px; }
  .hero .eyebrow { margin-bottom:24px;font-size:9px; }
  .hero h1 { font-size:clamp(47px,13.5vw,61px);line-height:.96; }
  .hero .hero-copy > p { margin-top:28px;font-size:16px;line-height:1.62; }
  .hero-actions { width:100%;margin-top:30px;flex-direction:column;align-items:stretch;gap:18px; }
  .hero-actions .button { width:100%;min-width:0; }
  .hero-actions .text-link { width:max-content; }
  .field-state { display:none; }
  .probability-canvas { opacity:1; }
  .firm-section,
  .process-section,
  .manifesto,
  .research-section { padding:68px 18px; }
  .firm-section .section-index { margin-bottom:28px; }
  .firm-principles { margin-top:38px; }
  .firm-principles > div { grid-template-columns:36px 1fr;padding:18px 0 22px; }
  .firm-principles p { font-size:16px;line-height:1.65; }
  .process-intro { padding-bottom:0; }
  .process-head { flex-direction:column;gap:9px; }
  .process-head p { margin:0; }
  .process-step { grid-template-columns:38px 1fr;gap:14px; }
  .process-step h3 { font-size:39px; }
  .process-step p { font-size:16px; }
  .manifesto-head span:last-child { display:none; }
  .manifesto-title { padding:50px 0; }
  .system-stack > div { grid-template-columns:1fr auto;gap:7px;padding:17px 0; }
  .system-stack strong { grid-row:2;font-size:15px; }
  .system-stack small { grid-column:2;grid-row:1/3; }
  .insight-visual { height:168px; }
  .insight-copy { padding-right:12px; }
  .insight-copy > div { flex-wrap:wrap;gap:8px 16px; }
  .footer-links { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
}

@media (max-width:379.98px) {
  .brand > span:last-child { gap:5px; }
  .brand small { letter-spacing:.12em; }
  .hero h1 { font-size:43px; }
  .hero .eyebrow { max-width:265px;line-height:1.5; }
  .button { padding:15px 16px;font-size:11px; }
  .firm-statement h2,
  .process-intro h2,
  .manifesto-title h2,
  .research-head h2 { font-size:43px; }
  .process-step h3 { font-size:36px; }
  .footer-links { grid-template-columns:1fr; }
}

/* The cloud occupies open space, never a panel or a mask over the copy. */
.hero .orbital-stage {
  background:transparent;
  border:0;
  box-shadow:none;
}
@media (max-width:991.98px) {
  .hero { flex-direction:column;align-items:stretch;justify-content:center; }
  .hero .hero-copy { width:100%;padding:64px 0 0; }
  .hero .orbital-stage {
    position:relative;
    inset:auto;
    width:100%;
    height:clamp(320px,58vw,500px);
    min-height:0;
    flex:none;
    margin:12px 0 40px;
  }
  .hero .field-state { top:12px;right:0; }
}
@media (max-width:575.98px) {
  .hero .hero-copy { padding-top:52px; }
  .hero .orbital-stage { height:clamp(280px,82vw,420px);margin:8px 0 24px; }
}

/* Shared brand sections: the index sits above both headline and right-hand detail. */
@media (min-width:992px) {
  .firm-section,
  .process-intro {
    grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr);
    grid-template-areas:"index ." "statement detail";
    column-gap:clamp(48px,6vw,112px);
    row-gap:32px;
    align-items:start;
  }
  .firm-section > .section-index,
  .process-intro > span { grid-area:index;margin:0; }
  .firm-statement,
  .process-intro > h2 { grid-area:statement;max-width:850px; }
  .firm-statement h2,
  .process-intro > h2 { font-size:clamp(48px,5.5vw,82px);line-height:1.02;text-wrap:balance; }
  .firm-principles,
  .process-intro > p { grid-area:detail;align-self:start;margin:0;max-width:none; }
}
@media (max-width:991.98px) {
  .process-intro { row-gap:0; }
  .process-intro > span { margin:0 0 34px; }
  .process-intro > p { margin:34px 0 0;max-width:590px; }
}
@media (max-width:575.98px) {
  .process-intro > span { margin-bottom:28px; }
}

/* An empty library is an editorial state, not a placeholder article. */
.research-empty { padding:clamp(36px,5vw,72px) 0;border-top:1px solid rgba(11,16,22,.2);color:var(--ink); }
.research-empty > span { font-size:12px;letter-spacing:.1em; }
.research-empty h3 { max-width:780px;margin:24px 0 0;font-family:var(--font-source-serif);font-size:clamp(30px,3.8vw,48px);font-weight:400;line-height:1.12;letter-spacing:-.025em;text-wrap:balance; }
.research-empty p { margin:18px 0 0;font-size:16px;line-height:1.7;color:rgba(11,16,22,.65); }

.error-page { max-width:1000px;margin:auto;padding:clamp(56px,12vh,140px) clamp(24px,6vw,80px); }
.error-brand { color:inherit;text-decoration:none;letter-spacing:.12em;font-size:14px; }
.error-page h1 { margin:72px 0 24px;font-family:var(--font-source-serif);font-size:clamp(40px,6vw,76px);line-height:1.08;font-weight:400; }
.error-page p { margin-bottom:40px;font-size:18px;line-height:1.7; }
.article-language-note { margin:16px 0; font-size:14px; line-height:1.6; color:inherit; opacity:.72; }
.financial-entry { display:inline-flex; align-items:center; gap:20px; margin-top:28px; padding-bottom:8px; border-bottom:1px solid currentColor; font-size:16px; }
.financial-entry:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
/* Brand focus is editorial content: no automatic carousel or extra accent colours. */
.focus-section { padding:clamp(64px,8vw,120px) 4.2vw; background:var(--ink-raised); color:var(--paper); }
.focus-inner { max-width:1440px; margin-inline:auto; }
.focus-heading { margin-bottom:56px; }
.focus-heading h2 { margin:0 0 24px; font-size:clamp(40px,4.5vw,64px); font-weight:400; line-height:1.08; }
.focus-heading p { max-width:580px; font-size:18px; line-height:1.7; opacity:.72; }
.focus-card { height:100%; min-height:320px; border:1px solid rgba(242,241,237,.25); padding:clamp(28px,3vw,44px); }
.focus-card > span { font-size:14px; letter-spacing:.08em; opacity:.64; }
.focus-card h3 { margin:56px 0 24px; max-width:20ch; font-size:clamp(30px,3vw,44px); line-height:1.15; font-weight:400; text-wrap:balance; }
.focus-card p { font-size:16px; line-height:1.7; opacity:.72; margin:0; }
@media (max-width:767.98px) { .focus-section { padding-inline:24px; } .focus-card { min-height:0; } .focus-card h3 { margin-top:36px; } }
@media (max-width:575.98px) { .focus-section { padding-inline:18px; } }
/* Center the visible glyphs, not their baselines or font leading.
   The SVG's y=8…72 viewBox hugs its ink; its visible size stays unchanged. */
.brand { align-items:center; line-height:1; }
.brand .brand-mark { display:block; width:1.422222em; height:1.422222em; line-height:0; }
.brand .brand-wordmark { align-items:center; line-height:1; }
/* Optical fallback for browsers without text-box trimming. */
.brand .brand-name, .brand small { display:block; line-height:1; transform:translateY(.08em); }
@supports (text-box-trim:trim-both) and (text-box-edge:cap alphabetic) {
  .brand .brand-name, .brand small {
    text-box-trim:trim-both;
    text-box-edge:cap alphabetic;
    transform:none;
  }
}
html:lang(zh) .brand { --font-source-serif:"Iowan Old Style",Baskerville,"Times New Roman",serif; --font-inter:"Helvetica Neue",Helvetica,Arial,sans-serif; }
@media (min-width:992px) { .site-header { grid-template-columns:auto minmax(0,1fr) auto; column-gap:clamp(20px,3vw,48px); } .site-header .nav-links { justify-content:center; gap:clamp(16px,2vw,32px); } }
@media (max-width:1199.98px) and (min-width:992px) { .header-actions { gap:12px; } .site-header .nav-links { gap:16px; } .site-header .portal-link { display:none; } .site-header .nav-contact-link { display:block; } }
@media (max-width:991.98px) {
  .site-header.container-fluid { grid-template-columns:minmax(0,1fr) auto auto; gap:12px; }
  .header-actions { gap:0; }
}
@media (max-width:379.98px) {
  .site-header.container-fluid { gap:6px; }
  .site-header .brand small { display:none; }
  .language-toggle { min-width:52px; gap:8px; padding-inline:2px; }
}
/* One page grid: match Our focus at every width, including the header and footer. */
:root {
  --site-content-width:1440px;
  --site-gutter:4.2vw;
  --site-grid-gap:24px;
}
.site-container.container-fluid {
  --bs-gutter-x:0;
  width:100%;
  max-width:none;
  padding-inline:max(var(--site-gutter),calc((100% - var(--site-content-width))/2));
}
.home-page .focus-inner { max-width:none; }
.home-page .focus-grid,
.home-page .home-offerings { --bs-gutter-x:var(--site-grid-gap); --bs-gutter-y:var(--site-grid-gap); }
.home-offerings { margin-top:clamp(40px,5vw,72px); }
.home-offering { height:100%; border-top:1px solid rgba(242,241,237,.25); padding-top:28px; }
.home-offering > span { font-size:14px; letter-spacing:.06em; opacity:.65; }
.home-offering h3 { margin:24px 0; font-size:clamp(28px,3vw,40px); font-weight:400; line-height:1.15; text-wrap:balance; }
.home-offering p { margin:0; font-size:16px; line-height:1.7; opacity:.72; }
.home-offering a { color:inherit; text-decoration:none; }
.home-offering a:hover { text-decoration:underline; text-underline-offset:.15em; }
.home-offering a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.home-page .system-method > div { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--site-grid-gap); }
.home-page .system-method span { font-size:14px; }
@media (min-width:992px) {
  .home-page .firm-section,
  .home-page .process-intro,
  .home-page .manifesto-title,
  .home-page .research-head {
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:var(--site-grid-gap);
  }
  .home-page .research-head { grid-template-areas:"index ." "statement detail"; row-gap:32px; align-items:start; }
  .home-page .research-head .section-index { grid-area:index; }
  .home-page .research-head h2 { grid-area:statement; margin:0; }
  .home-page .research-head > p { grid-area:detail; margin:0; max-width:none; }
  .home-page .hero-copy { width:calc((100% - var(--site-grid-gap))/2); min-width:0; }
  .home-page .hero .orbital-stage {
    left:max(var(--site-gutter),calc((100% - var(--site-content-width))/2));
    right:max(var(--site-gutter),calc((100% - var(--site-content-width))/2));
    width:auto;
  }
  .home-page .field-state { right:0; }
  .home-page footer.site-container { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:var(--site-grid-gap); }
}
@media (max-width:767.98px) {
  :root { --site-gutter:24px; }
  .home-page .system-method > div { grid-template-columns:minmax(0,1fr); gap:10px; }
}
@media (max-width:575.98px) {
  :root { --site-gutter:18px; }
}
