:root {
  --ink: #050807;
  --ink-soft: #0a0f0e;
  --paper: #eef6ef;
  --muted: #8f9b96;
  --line: rgba(227, 246, 235, 0.17);
  --cyan: #6ceeff;
  --acid: #b7ff2a;
  --orange: #ff5c35;
  --pad: clamp(1.25rem, 4vw, 4.75rem);
  --display: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --mono: "Courier New", ui-monospace, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: Arial, Helvetica, sans-serif;
  overflow-x: hidden;
  cursor: none;
}
a, button, input, textarea, select { cursor: none; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
::selection { background: var(--acid); color: var(--ink); }

.noise {
  position: fixed;
  inset: 0;
  z-index: 90;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");
}

.cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(183, 255, 42, 0.65);
  border-radius: 50%;
  pointer-events: none;
  transform: translate3d(-100px, -100px, 0) translate(-50%, -50%);
  will-change: transform;
  transition: width .2s, height .2s, background .2s, border-color .2s;
  mix-blend-mode: difference;
}
.cursor span { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: var(--acid); top: 50%; left: 50%; transform: translate(-50%, -50%); }
.cursor.is-hovering { width: 62px; height: 62px; background: var(--acid); border-color: var(--acid); }

.scroll-progress { position: fixed; top: 0; left: 0; width: 0; height: 2px; background: linear-gradient(90deg, var(--cyan), var(--acid)); z-index: 101; box-shadow: 0 0 15px var(--cyan); }
.signal-wipe { position: fixed; inset: 0; z-index: 150; display: grid; place-items: center; background: var(--acid); color: var(--ink); transform: scaleY(0); transform-origin: bottom; pointer-events: none; }
.signal-wipe span { opacity: 0; font: 900 .66rem var(--mono); letter-spacing: .24em; }
.signal-wipe.is-active { animation: frequencyShift .72s cubic-bezier(.76,0,.24,1); }
.signal-wipe.is-active span { animation: frequencyText .72s ease; }
@keyframes frequencyShift { 0% { transform: scaleY(0); transform-origin: bottom; } 45% { transform: scaleY(1); transform-origin: bottom; } 55% { transform: scaleY(1); transform-origin: top; } 100% { transform: scaleY(0); transform-origin: top; } }
@keyframes frequencyText { 35%,65% { opacity: 1; } }

.boot {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-content: center;
  gap: 1.5rem;
  background: #030504;
  transition: clip-path .9s cubic-bezier(.76,0,.24,1) .15s, visibility 0s 1.1s;
  clip-path: inset(0 0 0 0);
}
.boot.is-done { clip-path: inset(0 0 100% 0); visibility: hidden; }
.boot__mark { font: 900 clamp(3rem, 7vw, 7rem)/1 var(--display); letter-spacing: -.08em; text-align: center; }
.boot__mark span { color: var(--acid); }
.boot__track { width: min(54vw, 380px); height: 2px; background: #1c2421; overflow: hidden; }
.boot__track i { display: block; height: 100%; width: 100%; background: var(--acid); transform: translateX(-100%); animation: bootline 1.25s cubic-bezier(.76,0,.24,1) forwards; }
.boot p { margin: 0; text-align: center; font: 10px/1 var(--mono); letter-spacing: .32em; color: var(--muted); }
@keyframes bootline { to { transform: translateX(0); } }

/* If script.js never runs, .no-js is never removed and the page stays readable.
   bootFailsafe is the second net: it clears the overlay even if JS dies mid-run.
   The 2.5s delay leaves the normal 1.15s JS dismissal untouched. */
.no-js .boot { display: none; }
.no-js [data-reveal] { opacity: 1; transform: none; }
.boot { animation: bootFailsafe 0s linear 2.5s forwards; }
@keyframes bootFailsafe { to { clip-path: inset(0 0 100% 0); visibility: hidden; } }

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 84px;
  padding: 0 var(--pad);
  border-bottom: 1px solid transparent;
  transition: height .35s, background .35s, border-color .35s;
}
.site-header.is-scrolled { height: 64px; background: rgba(5,8,7,.78); backdrop-filter: blur(18px); border-color: var(--line); }
.brand { display: flex; align-items: center; gap: .7rem; font: 900 1.05rem/1 var(--display); letter-spacing: -.03em; }
.brand svg { width: 31px; height: 31px; fill: var(--paper); overflow: visible; }
.brand svg .brand__slash { fill: var(--acid); }
.brand > span > span { color: var(--acid); }
.desktop-nav { display: flex; gap: 2.4rem; font: 700 .68rem/1 var(--mono); letter-spacing: .16em; }
.desktop-nav a { position: relative; color: #c7d1cc; }
.desktop-nav a::after { content: ""; position: absolute; height: 1px; left: 0; right: 100%; bottom: -.6rem; background: var(--acid); transition: right .3s; }
.desktop-nav a:hover::after { right: 0; }
.header__meta { display: flex; align-items: center; gap: 1.5rem; }
.header__meta > span { display: flex; align-items: center; gap: .55rem; font: 700 .62rem/1 var(--mono); letter-spacing: .14em; }
.header__meta > span i { width: 6px; height: 6px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 10px var(--acid); animation: pulse 1.5s infinite; }
@keyframes pulse { 50% { opacity: .25; } }
.menu-toggle { display: none; position: relative; padding: 0; color: inherit; border: 0; background: transparent; }
.mobile-menu { display: none; }

.hero { position: relative; min-height: 100svh; overflow: hidden; background: #030504; }
.hero__gallery {
  position: absolute;
  inset: -4%;
  transform: scale(1.05);
  animation: heroIn 2.2s cubic-bezier(.16,1,.3,1) both;
  will-change: transform;
}
.hero__gallery::after { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg, rgba(3,5,4,.82) 0%, rgba(3,5,4,.28) 46%, rgba(3,5,4,.08) 72%), linear-gradient(0deg, #050807 0%, transparent 32%); }
.hero__frame { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; transform: scale(1.045); filter: saturate(.8) contrast(1.06); transition: opacity 2s ease, transform 7s ease, filter 2s ease; }
.hero__frame.is-active { opacity: 1; transform: scale(1); filter: saturate(.95) contrast(1.05); }
@keyframes heroIn { from { transform: scale(1.16); filter: brightness(.2); } }
.hero__grid {
  position: absolute;
  inset: 0;
  opacity: .23;
  background-image: linear-gradient(rgba(108,238,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(108,238,255,.1) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(to bottom, transparent 0, #000 70%, #000 100%);
  transform: perspective(500px) rotateX(58deg) scale(1.9) translateY(28%);
  transform-origin: bottom;
}
.hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(0,0,0,.09) 4px); }
.hero__flare { position: absolute; width: 35vw; height: 35vw; right: 8%; top: 18%; border-radius: 50%; background: rgba(108,238,255,.09); filter: blur(80px); mix-blend-mode: screen; }
.hero__content { position: relative; z-index: 2; width: 100%; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding: 9rem var(--pad) 7.5rem; }
.eyebrow { display: flex; gap: 2.2rem; font: 700 .65rem/1 var(--mono); letter-spacing: .18em; color: #d8e7df; }
.eyebrow span:first-child::before { content: ""; display: inline-block; width: 28px; height: 1px; margin: 0 .75rem .2rem 0; background: var(--acid); }
.hero__title { margin: clamp(2rem, 5vh, 4.5rem) 0 1.8rem; font: 950 clamp(4.6rem, 11.2vw, 11.5rem)/.73 var(--display); letter-spacing: -.085em; text-transform: uppercase; max-width: none; }
.title-line { display: block; overflow: hidden; }
.title-line b { display: block; font: inherit; white-space: nowrap; }
.title-line--outline { color: transparent; -webkit-text-stroke: 1.5px rgba(224,244,234,.9); transform: translateX(6.5vw); filter: drop-shadow(0 0 20px rgba(108,238,255,.14)); }
.hero__bottom { display: flex; align-items: center; gap: clamp(2rem, 6vw, 6rem); margin-left: clamp(0px, 14.5vw, 230px); }
.hero__bottom p { max-width: 510px; margin: 0; color: #b7c3bd; font-size: clamp(.82rem, 1.15vw, 1.05rem); line-height: 1.55; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 2.5rem; min-width: 215px; padding: 1.1rem 1.25rem; border: 1px solid var(--acid); font: 800 .68rem/1 var(--mono); letter-spacing: .1em; transition: color .3s, background .3s, box-shadow .3s, transform .2s; }
.button svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.button--primary { background: var(--acid); color: var(--ink); }
.button--primary:hover { background: var(--cyan); border-color: var(--cyan); box-shadow: 0 0 35px rgba(108,238,255,.28); }

/* Magnetic elements are positioned from JS every frame, so the pull itself must not be
   transitioned or it chases the pointer instead of tracking it. Colour and glow keep
   their eases, and the release back to rest is eased by .is-releasing. */
.magnetic { transition: color .3s, background .3s, box-shadow .3s; }
.magnetic.is-releasing { transition: color .3s, background .3s, box-shadow .3s, transform .3s cubic-bezier(.22,1,.36,1); }
.hero__side { position: absolute; z-index: 3; right: 1.35rem; top: 50%; display: flex; align-items: center; gap: .8rem; writing-mode: vertical-rl; font: 700 .54rem/1 var(--mono); letter-spacing: .15em; color: #91a099; transform: translateY(-50%); }
.hero__side i { width: 1px; height: 58px; background: linear-gradient(transparent, var(--cyan)); }
.hero__scroll { position: absolute; z-index: 3; right: var(--pad); bottom: 2rem; display: flex; align-items: center; gap: .9rem; font: 700 .56rem/1 var(--mono); letter-spacing: .16em; }
.hero__scroll i { position: relative; display: block; width: 60px; height: 1px; background: rgba(255,255,255,.3); overflow: hidden; }
.hero__scroll i::after { content: ""; position: absolute; inset: 0; background: var(--acid); transform: translateX(-100%); animation: scrollLine 2s infinite; }
@keyframes scrollLine { 55%,100% { transform: translateX(100%); } }

.ticker { overflow: hidden; padding: 1.05rem 0 .95rem; color: var(--ink); background: var(--acid); border-block: 1px solid var(--acid); transform: rotate(-1deg) scale(1.02); position: relative; z-index: 4; }
.ticker__track { display: flex; align-items: center; width: max-content; animation: ticker 21s linear infinite; font: 950 clamp(1rem, 1.6vw, 1.5rem)/1 var(--display); letter-spacing: -.02em; }
.ticker span { padding: 0 2.5rem; white-space: nowrap; }
.ticker i { font-style: normal; font-size: .65em; }
@keyframes ticker { to { transform: translateX(-50%); } }

.section { position: relative; padding: clamp(6rem, 11vw, 10rem) var(--pad); }
.section__index { font: 700 .65rem/1 var(--mono); letter-spacing: .14em; color: var(--muted); }
.section__index span { color: var(--acid); }
.kicker { font: 700 .69rem/1.4 var(--mono); letter-spacing: .18em; color: var(--cyan); }

.manifesto { min-height: 100vh; overflow: hidden; background: var(--ink); }
.manifesto::before { content: ""; position: absolute; left: 48%; top: 0; bottom: 0; width: 1px; background: linear-gradient(transparent, var(--line) 25%, var(--line) 75%, transparent); }
.manifesto__copy { margin-top: clamp(5rem, 10vw, 9rem); }
.manifesto__copy h2, .capabilities__head h2, .system__copy h2, .contact__lead h2 { margin: 1.25rem 0 0; font: 950 clamp(3.6rem, 8.6vw, 9.3rem)/.82 var(--display); letter-spacing: -.075em; }
h2 em { color: transparent; font-style: normal; -webkit-text-stroke: 1px var(--acid); }
.manifesto__foot { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 7rem); width: 52%; margin: clamp(4rem, 8vw, 8rem) 0 0 48%; padding-left: clamp(2rem, 5vw, 5rem); }
.manifesto__foot p { margin: 0; color: #aab6b0; font-size: clamp(.85rem, 1.1vw, 1.03rem); line-height: 1.75; }
.manifesto__stamp { position: absolute; right: 6vw; top: 12%; width: 140px; height: 140px; display: grid; place-items: center; }
.manifesto__stamp svg { position: absolute; inset: 0; fill: var(--muted); font: 700 9px var(--mono); letter-spacing: 2px; animation: spin 16s linear infinite; }
.manifesto__stamp span { font: 950 1.45rem/1 var(--display); color: var(--acid); }
@keyframes spin { to { transform: rotate(360deg); } }

.signal-stats { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); min-height: 250px; border-block: 1px solid var(--line); background: #070b0a; }
.signal-stats > * { padding: clamp(2rem, 4vw, 4rem) var(--pad); border-right: 1px solid var(--line); }
.signal-stats > *:last-child { border-right: 0; }
.signal-stats__lead { display: flex; flex-direction: column; justify-content: space-between; color: var(--cyan); font: 700 .61rem var(--mono); letter-spacing: .16em; }
.signal-stats__lead i { display: block; width: 80%; height: 1px; background: linear-gradient(90deg, var(--cyan), transparent); position: relative; }
.signal-stats__lead i::after { content: ""; position: absolute; width: 5px; height: 5px; right: 30%; top: -2px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 12px var(--acid); animation: signalDot 2.2s ease-in-out infinite; }
@keyframes signalDot { 50% { transform: translateX(90px); } }
.stat { display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; }
.stat strong { font: 950 clamp(3.5rem, 6vw, 6.5rem)/.75 var(--display); letter-spacing: -.07em; color: var(--paper); }
.stat strong span { color: inherit; }
.stat small { font: 700 .57rem/1.45 var(--mono); letter-spacing: .12em; color: var(--muted); }

.finance-focus { min-height: 100vh; background: #070a09; color: var(--paper); overflow: hidden; }
.finance-focus::before { content: ""; position: absolute; inset: 0; opacity: .18; background: repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 1px), rgba(108,238,255,.2) 12.5%); pointer-events: none; }
.finance-focus__beam { position: absolute; width: 70vw; height: 35vw; right: -25vw; top: 5vw; border-radius: 50%; background: rgba(183,255,42,.08); filter: blur(90px); }
.finance-focus__intro { position: relative; display: grid; grid-template-columns: 1.45fr .65fr; gap: clamp(3rem, 8vw, 10rem); align-items: end; margin: clamp(5rem, 9vw, 9rem) 0 clamp(4rem, 7vw, 7rem); }
.finance-focus__intro h2 { margin: 1rem 0 0; font: 950 clamp(4rem, 8.6vw, 9rem)/.81 var(--display); letter-spacing: -.08em; }
.finance-focus__summary p { margin: 0 0 2rem; color: #aab6b0; font-size: clamp(.9rem, 1.15vw, 1.05rem); line-height: 1.75; }
.finance-focus__summary span { color: var(--acid); font: 800 .55rem var(--mono); letter-spacing: .12em; }
.finance-route { position: relative; display: grid; grid-template-columns: repeat(4,1fr); padding: 2.2rem 0; border-block: 1px solid var(--line); }
.finance-route__line { position: absolute; left: 0; right: 0; top: 2.72rem; height: 1px; background: var(--line); }
.finance-route__line i { position: absolute; left: 0; width: 27%; height: 1px; background: var(--acid); box-shadow: 0 0 12px var(--acid); animation: capitalFlow 4.5s ease-in-out infinite; }
@keyframes capitalFlow { 50% { left: 73%; } }
.finance-route > div:not(.finance-route__line) { position: relative; display: grid; grid-template-columns: 38px 1fr; gap: .35rem 1rem; padding-right: 1rem; }
.finance-route > div:not(.finance-route__line)::before { content: ""; width: 8px; height: 8px; position: absolute; top: .2rem; left: 0; border-radius: 50%; background: var(--ink); border: 1px solid var(--acid); box-shadow: 0 0 10px rgba(183,255,42,.4); }
.finance-route span { grid-row: 1 / 3; color: transparent; }
.finance-route b { font: 800 .69rem var(--mono); letter-spacing: .09em; }
.finance-route small { color: var(--muted); font: 700 .49rem var(--mono); letter-spacing: .08em; }
.finance-options { position: relative; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 1.25rem; border: 1px solid var(--line); }
.finance-options article { min-height: 360px; display: flex; flex-direction: column; padding: clamp(1.6rem, 2.6vw, 2.7rem); border-right: 1px solid var(--line); transition: background .35s, color .35s, transform .35s; }
.finance-options article:last-child { border-right: 0; }
.finance-options article:hover { background: var(--acid); color: var(--ink); transform: translateY(-8px); }
.finance-options article > span { color: var(--acid); font: 800 .53rem var(--mono); letter-spacing: .1em; }
.finance-options article:hover > span { color: #006d67; }
.finance-options h3 { margin: 4rem 0 1.5rem; font: 950 clamp(2rem, 3.2vw, 3.4rem)/.84 var(--display); letter-spacing: -.06em; }
.finance-options p { margin: auto 0 0; color: #9ca9a3; font-size: .83rem; line-height: 1.65; transition: color .35s; }
.finance-options article:hover p { color: #263029; }
.finance-criteria { position: relative; display: grid; grid-template-columns: 1fr 1.1fr .65fr; gap: clamp(2rem, 5vw, 6rem); align-items: center; margin-top: 1.25rem; padding: clamp(2rem, 4vw, 4rem); background: var(--paper); color: var(--ink); }
.finance-criteria > div > span { color: #007c76; font: 800 .54rem var(--mono); letter-spacing: .12em; }
.finance-criteria h3 { margin: 1.2rem 0 0; font: 950 clamp(2.2rem, 3.8vw, 4.2rem)/.86 var(--display); letter-spacing: -.06em; }
.finance-criteria ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(5,8,7,.25); }
.finance-criteria li { display: grid; grid-template-columns: 35px 1fr; padding: .8rem 0; border-bottom: 1px solid rgba(5,8,7,.25); font-size: .78rem; }
.finance-criteria li i { color: #007c76; font: 700 .52rem var(--mono); font-style: normal; }
.finance-focus__note { position: relative; margin: 1.25rem 0 0; color: #69756f; font: 700 .49rem/1.5 var(--mono); letter-spacing: .09em; }

.capabilities { background: var(--paper); color: var(--ink); }
.capabilities__head { display: grid; grid-template-columns: .7fr 2fr 1fr; align-items: end; gap: 3rem; padding-bottom: clamp(4rem, 7vw, 7rem); }
.capabilities__head .section__index { align-self: start; color: #68706c; }
.capabilities__head h2 { font-size: clamp(3.6rem, 7.5vw, 8rem); }
.capabilities__head h2 em { -webkit-text-stroke-color: #438e88; }
.capabilities__head > p { margin: 0; max-width: 380px; color: #47504c; font-size: .95rem; line-height: 1.7; }
.service-list { border-top: 1px solid rgba(5,8,7,.25); }
.service { display: grid; grid-template-columns: .35fr 1.5fr 1fr .35fr; gap: 2rem; align-items: center; min-height: 160px; padding: 2rem var(--pad); border-bottom: 1px solid rgba(5,8,7,.25); position: relative; overflow: hidden; transition: color .45s, min-height .45s; outline: none; }
.service::before { content: ""; position: absolute; inset: 0; background: var(--ink); transform: translateY(101%); transition: transform .55s cubic-bezier(.76,0,.24,1); }
.service > * { position: relative; z-index: 1; }
.service__number { align-self: start; padding-top: .5rem; font: 700 .65rem var(--mono); }
.service h3 { margin: 0; font: 950 clamp(2.7rem, 6vw, 6.3rem)/.85 var(--display); letter-spacing: -.065em; }
.service__detail { opacity: 0; transform: translateY(12px); transition: opacity .35s, transform .35s; }
.service__detail p { max-width: 430px; color: #aebcb5; font-size: .9rem; line-height: 1.65; }
.service__detail span { font: 700 .57rem/1.5 var(--mono); letter-spacing: .1em; color: var(--acid); }
.service__icon { justify-self: end; width: 70px; height: 70px; position: relative; transition: transform .6s; }
.service__icon i { position: absolute; left: 50%; top: 50%; width: 100%; height: 1px; background: currentColor; transform-origin: center; }
.service__icon i:nth-child(1) { transform: translate(-50%,-50%) rotate(0); }
.service__icon i:nth-child(2) { transform: translate(-50%,-50%) rotate(60deg); }
.service__icon i:nth-child(3) { transform: translate(-50%,-50%) rotate(120deg); }
.service__icon--orbit { border: 1px solid; border-radius: 50%; }
.service__icon--orbit i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.service__icon--orbit i:nth-child(1) { transform: translate(-34px,-4px); }
.service__icon--orbit i:nth-child(2) { transform: translate(26px,-4px); }
.service__icon--orbit i:nth-child(3) { transform: translate(-4px,26px); }
.service__icon--cross i:first-child { transform: translate(-50%,-50%); }
.service__icon--cross i:last-child { transform: translate(-50%,-50%) rotate(90deg); }
.service:hover, .service:focus, .service.is-active { color: var(--paper); min-height: 215px; }
.service:hover::before, .service:focus::before, .service.is-active::before { transform: translateY(0); }
.service:hover .service__detail, .service:focus .service__detail, .service.is-active .service__detail { opacity: 1; transform: translateY(0); }
.service:hover .service__icon, .service:focus .service__icon, .service.is-active .service__icon { color: var(--acid); transform: rotate(180deg); }

.system { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 9rem); align-items: center; min-height: 110vh; background: radial-gradient(circle at 20% 50%, rgba(24,76,71,.28), transparent 30%), var(--ink-soft); overflow: hidden; }
.system__visual { position: relative; aspect-ratio: 1; display: grid; place-items: center; transform: translate3d(var(--orbit-x, 0), var(--orbit-y, 0), 0); transition: transform .35s ease-out; }
.system__visual::after { content: ""; position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--paper); box-shadow: 0 0 40px 15px rgba(108,238,255,.3); }
.orbit { position: absolute; border: 1px solid rgba(108,238,255,.28); border-radius: 50%; }
.orbit--one { width: 35%; height: 35%; box-shadow: inset 0 0 30px rgba(108,238,255,.06); }
.orbit--two { width: 64%; height: 64%; border-style: dashed; animation: spin 18s linear infinite reverse; }
.orbit--three { width: 92%; height: 92%; opacity: .55; }
.orbit--one::before, .orbit--two::before, .orbit--three::before { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; top: 50%; right: -4px; background: var(--acid); box-shadow: 0 0 18px var(--acid); }
.system__core { position: relative; z-index: 2; width: 22%; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--acid); transform: rotate(45deg); background: rgba(183,255,42,.05); box-shadow: 0 0 50px rgba(183,255,42,.08); }
.system__core span { transform: rotate(-45deg); text-align: center; font: 800 .55rem/1.4 var(--mono); letter-spacing: .12em; }
.node { position: absolute; padding: .55rem .75rem; border: 1px solid var(--line); background: var(--ink); font: 700 .5rem var(--mono); letter-spacing: .12em; color: var(--muted); }
.node--a { top: 14%; left: 16%; }
.node--b { right: 0; top: 48%; }
.node--c { left: 8%; bottom: 13%; }
.system__copy h2 { font-size: clamp(3rem, 5.4vw, 6rem); margin-block: 3rem 2rem; }
.system__copy > p { color: #aab6b0; line-height: 1.75; max-width: 630px; }
.system__copy ol { list-style: none; padding: 0; margin: 4rem 0 0; border-top: 1px solid var(--line); }
.system__copy li { display: grid; grid-template-columns: 55px 1fr; padding: 1.35rem 0; border-bottom: 1px solid var(--line); }
.system__copy li > span { color: var(--acid); font: 700 .6rem var(--mono); }
.system__copy li div { display: flex; flex-direction: column; gap: .5rem; }
.system__copy li b { font: 800 .8rem var(--mono); letter-spacing: .08em; }
.system__copy li small { color: var(--muted); font-size: .78rem; }

.ai-lab { min-height: 100vh; background: #d8ffef; color: var(--ink); overflow: hidden; }
.ai-lab::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .22; background-image: linear-gradient(rgba(5,8,7,.15) 1px, transparent 1px), linear-gradient(90deg, rgba(5,8,7,.12) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, #000, transparent 72%); }
.ai-lab__scan { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--orange); box-shadow: 0 0 28px 6px rgba(255,92,53,.34); animation: labScan 7s ease-in-out infinite; }
@keyframes labScan { 0%,100% { transform: translateY(0); opacity: .2; } 50% { transform: translateY(92vh); opacity: .85; } }
.ai-lab__header { position: relative; display: flex; justify-content: space-between; align-items: center; }
.ai-lab .section__index { color: #46544e; }
.ai-lab .section__index span { color: #008a83; }
.lab-status { display: flex; align-items: center; gap: .7rem; font: 800 .58rem var(--mono); letter-spacing: .14em; }
.lab-status i { width: 7px; height: 7px; border-radius: 50%; background: #008a83; box-shadow: 0 0 12px #008a83; animation: pulse 1.5s infinite; }
.ai-lab__intro { position: relative; display: grid; grid-template-columns: 1.45fr .7fr; gap: clamp(3rem, 8vw, 10rem); align-items: end; margin: clamp(5rem, 8vw, 8rem) 0 5rem; }
.ai-lab__intro h2 { margin: 1rem 0 0; font: 950 clamp(4.5rem, 9vw, 9.5rem)/.8 var(--display); letter-spacing: -.08em; }
.ai-lab__intro h2 em { -webkit-text-stroke-color: #008a83; }
.ai-lab .kicker { color: #006c68; }
.ai-lab__statement > p { margin: 0 0 2.5rem; font-size: clamp(.92rem, 1.2vw, 1.1rem); line-height: 1.7; color: #34423c; }
.lab-principles { display: flex; flex-wrap: wrap; gap: .5rem; }
.lab-principles span { padding: .55rem .68rem; border: 1px solid rgba(5,8,7,.3); font: 800 .51rem var(--mono); letter-spacing: .1em; }
.lab-visuals { position: relative; display: grid; grid-template-columns: 1.75fr .65fr; gap: 1.25rem; height: clamp(430px, 49vw, 690px); margin-bottom: 1.25rem; }
.lab-visual { position: relative; height: 100%; margin: 0; overflow: hidden; background: var(--ink); }
.lab-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,8,7,.8), transparent 35%), repeating-linear-gradient(0deg, transparent 0 3px, rgba(5,8,7,.08) 4px); pointer-events: none; }
.lab-visual img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.72) contrast(1.08); transition: transform 6s cubic-bezier(.16,1,.3,1), filter 1.2s, opacity 1.6s ease; }
.lab-gallery__frame { position: absolute; inset: 0; opacity: 0; transform: scale(1.045); }
.lab-gallery__frame.is-active { opacity: 1; transform: scale(1); }
.lab-visual--wide img { object-position: center; }
.lab-visual--vertical img { object-position: 50% 38%; }
.lab-visual:hover .lab-gallery__frame.is-active { transform: scale(1.025); filter: saturate(1) contrast(1.04); }
.lab-visual figcaption { position: absolute; z-index: 2; left: 1.35rem; right: 1.35rem; bottom: 1.15rem; display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; color: var(--paper); }
.lab-visual figcaption span { color: var(--acid); font: 700 .48rem var(--mono); letter-spacing: .12em; }
.lab-visual figcaption b { text-align: right; font: 800 .55rem var(--mono); letter-spacing: .1em; }
.lab-visual__reticle { position: absolute; z-index: 2; top: 50%; left: 50%; width: 72px; height: 72px; border: 1px solid rgba(183,255,42,.7); border-radius: 50%; transform: translate(-50%,-50%); }
.lab-visual__reticle::before { content: ""; position: absolute; inset: 9px; border: 1px dashed rgba(183,255,42,.5); border-radius: 50%; animation: spin 8s linear infinite; }
.lab-visual__reticle i { position: absolute; left: 50%; top: -18px; bottom: -18px; width: 1px; background: rgba(183,255,42,.45); }
.lab-visual__reticle i:last-child { left: -18px; right: -18px; top: 50%; width: auto; height: 1px; }
.lab-grid { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(5,8,7,.32); }
.lab-module { min-height: 330px; display: flex; flex-direction: column; padding: clamp(1.5rem, 2.5vw, 2.5rem); border-right: 1px solid rgba(5,8,7,.25); background: rgba(216,255,239,.72); transition: background .35s, color .35s, transform .35s; }
.lab-module:last-child { border-right: 0; }
.lab-module:hover { background: var(--ink); color: var(--paper); transform: translateY(-8px); }
.lab-module__top { display: flex; justify-content: space-between; font: 800 .55rem var(--mono); letter-spacing: .1em; color: #007c76; }
.lab-module__top i { width: 8px; height: 8px; border: 1px solid currentColor; transform: rotate(45deg); }
.lab-module h3 { margin: 3.5rem 0 1.5rem; font: 950 clamp(1.7rem, 2.7vw, 3rem)/.87 var(--display); letter-spacing: -.055em; }
.lab-module p { margin: 0 0 2rem; color: #3f4d47; font-size: .83rem; line-height: 1.65; transition: color .35s; }
.lab-module:hover p { color: #aab6b0; }
.lab-module small { margin-top: auto; font: 800 .5rem/1.5 var(--mono); letter-spacing: .08em; color: #007c76; }
.lab-console { position: relative; display: grid; grid-template-columns: 1.4fr .85fr; margin-top: 1.25rem; border: 1px solid rgba(5,8,7,.32); background: var(--ink); color: var(--paper); }
.lab-console__bar { grid-column: 1 / -1; display: flex; justify-content: space-between; padding: .7rem 1rem; border-bottom: 1px solid var(--line); color: var(--muted); font: 700 .49rem var(--mono); letter-spacing: .11em; }
.lab-console__feed { min-height: 110px; display: flex; align-items: center; gap: 1.25rem; padding: 1.5rem 2rem; }
.lab-console__prompt { color: var(--acid); font: 700 .54rem var(--mono); white-space: nowrap; }
.lab-console__feed strong { font: 800 clamp(.75rem, 1.15vw, 1rem) var(--mono); letter-spacing: .06em; }
.lab-console__feed i { width: 8px; height: 1.1em; background: var(--acid); animation: pulse .8s infinite; }
.lab-console > a { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 2rem; border-left: 1px solid var(--line); color: var(--acid); font: 800 .58rem var(--mono); letter-spacing: .09em; }
.lab-console > a b { font-size: 1.2rem; }

.contact-simple { position: relative; padding: clamp(5rem, 9vw, 9rem) var(--pad); background: var(--ink); overflow: hidden; }
.contact-simple::before { content: ""; position: absolute; width: 60vw; height: 18vw; right: -12vw; bottom: -8vw; background: rgba(108,238,255,.11); filter: blur(70px); transform: rotate(-15deg); }
.contact-simple__meta { color: var(--muted); font: 700 .62rem var(--mono); letter-spacing: .13em; }
.contact-simple__meta span { color: var(--acid); }
.contact-simple > p { margin: clamp(3rem, 6vw, 6rem) 0 1.3rem; color: var(--cyan); font: 800 .61rem var(--mono); letter-spacing: .15em; }
.contact-simple__email { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: .2em; width: 100%; max-width: 100%; font: 950 clamp(2.6rem, 6.5vw, 7rem)/.9 var(--display); letter-spacing: -.075em; text-transform: uppercase; }
.contact-simple__email span { color: transparent; -webkit-text-stroke: 1px var(--acid); }
.contact-simple__email strong { font: inherit; white-space: nowrap; }
.contact-simple__email i { align-self: start; color: var(--acid); font: 400 .28em Arial; font-style: normal; letter-spacing: 0; transition: transform .3s; }
.contact-simple__email:hover i { transform: translate(7px,-7px); }

footer { padding: 3rem var(--pad) 2rem; background: var(--acid); color: var(--ink); }
.footer__brand { position: relative; width: max-content; font: 950 clamp(4.5rem, 14vw, 14rem)/.8 var(--display); letter-spacing: -.09em; }
.footer__brand span { color: transparent; -webkit-text-stroke: 2px var(--ink); }
.footer__brand small { position: absolute; right: 0; top: .06em; font: 800 .055em/1 var(--mono); letter-spacing: .2em; }
footer > p { max-width: 600px; margin: 3rem 0; font: 800 .68rem/1.5 var(--mono); letter-spacing: .1em; }
.footer__bottom { display: flex; justify-content: space-between; padding-top: 1.5rem; border-top: 1px solid rgba(5,8,7,.35); font: 700 .58rem var(--mono); letter-spacing: .08em; }

[data-reveal] { opacity: 0; transform: translateY(45px); transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.hero [data-reveal]:nth-child(2) { transition-delay: .15s; }
.hero [data-reveal]:nth-child(3) { transition-delay: .3s; }

@media (max-width: 900px) {
  body, a, button, input, textarea, select { cursor: auto; }
  .cursor { display: none; }
  .desktop-nav, .header__meta > span { display: none; }
  .menu-toggle { display: grid; width: 42px; height: 42px; place-content: center; gap: 6px; color: var(--paper); border: 1px solid rgba(238,246,239,.32); z-index: 2; }
  .menu-toggle span { width: 24px; height: 1px; background: currentColor; transition: transform .3s; }
  .menu-toggle b { position: absolute; opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-menu { position: fixed; inset: 0; z-index: -1; display: flex; flex-direction: column; justify-content: center; gap: 0; padding: 6rem var(--pad); background: rgba(5,8,7,.97); opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s; }
  .mobile-menu.is-open { opacity: 1; visibility: visible; }
  .mobile-menu a { display: flex; gap: 1rem; padding: .8rem 0; font: 950 clamp(3rem, 12vw, 6rem)/1 var(--display); border-bottom: 1px solid var(--line); }
  .mobile-menu small { color: var(--acid); font: 700 .6rem var(--mono); }
  .hero__content { justify-content: flex-end; }
  .hero__title { font-size: clamp(4.2rem, 18vw, 8rem); }
  .title-line--outline { transform: none; }
  .hero__bottom { margin-left: 0; flex-direction: column; align-items: flex-start; }
  .hero__side { display: none; }
  .hero__scroll { display: none; }
  .manifesto__foot { width: 100%; margin-left: 0; padding-left: 0; }
  .manifesto::before { display: none; }
  .manifesto__stamp { opacity: .35; }
  .capabilities__head { grid-template-columns: 1fr; }
  .finance-focus__intro { grid-template-columns: 1fr; }
  .finance-options { grid-template-columns: 1fr 1fr; }
  .finance-options article:nth-child(2) { border-right: 0; }
  .finance-options article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .finance-criteria { grid-template-columns: 1fr 1fr; }
  .finance-criteria .button { grid-column: 1 / -1; }
  .signal-stats { grid-template-columns: 1fr 1fr; }
  .signal-stats > * { border-bottom: 1px solid var(--line); }
  .signal-stats > *:nth-child(2n) { border-right: 0; }
  .service { grid-template-columns: 50px minmax(0, 1fr) 42px; gap: 1rem; }
  .service__detail { grid-column: 2 / -1; max-height: 0; overflow: hidden; }
  .service:hover .service__detail, .service:focus .service__detail, .service.is-active .service__detail { max-height: 220px; }
  .service__number { grid-row: 1; }
  .service h3 { grid-row: 1; }
  .service__icon { grid-row: 1; width: 42px; height: 42px; }
  .service__detail { min-width: 0; width: calc(100vw - 106px); max-width: 100%; }
  .service__detail p { width: 100%; max-width: 100%; white-space: normal; overflow-wrap: break-word; }
  .system { grid-template-columns: 1fr; }
  .system__visual { max-width: 620px; width: 100%; margin: 0 auto; }
  .ai-lab__intro { grid-template-columns: 1fr; }
  .lab-grid { grid-template-columns: 1fr 1fr; }
  .lab-visuals { grid-template-columns: 1.4fr .7fr; height: 470px; }
  .lab-module:nth-child(2) { border-right: 0; }
  .lab-module:nth-child(-n+2) { border-bottom: 1px solid rgba(5,8,7,.25); }
  .lab-console { grid-template-columns: 1fr; }
  .lab-console > a { border-left: 0; border-top: 1px solid var(--line); }
}

@media (max-width: 600px) {
  .site-header { height: 67px; }
  .hero__content { padding-top: 7rem; padding-bottom: 5rem; }
  .hero__frame { object-position: 62% center; }
  .eyebrow { gap: .7rem; flex-direction: column; }
  .hero__title { margin-top: 2rem; font-size: clamp(3.25rem, 15vw, 6rem); }
  .hero__bottom .button { width: 100%; }
  .manifesto__copy h2, .capabilities__head h2, .system__copy h2 { font-size: clamp(3.2rem, 15vw, 5rem); }
  .manifesto__foot { grid-template-columns: 1fr; }
  .signal-stats { grid-template-columns: 1fr; }
  .signal-stats > * { min-height: 180px; border-right: 0; }
  .manifesto__stamp { width: 100px; height: 100px; right: 2vw; top: 7%; }
  .service { min-height: 115px; }
  .service:hover, .service:focus, .service.is-active { min-height: 230px; }
  .service h3 { font-size: 2.5rem; }
  .contact-simple__email { display: flex; flex-wrap: wrap; font-size: clamp(2.4rem, 11vw, 4rem); }
  .contact-simple__email strong { white-space: normal; overflow-wrap: anywhere; }
  .footer__bottom { flex-direction: column; gap: 1rem; }
  .finance-focus__intro h2 { font-size: clamp(3.25rem, 14vw, 4.5rem); }
  .finance-route { grid-template-columns: 1fr 1fr; gap: 2rem 0; }
  .finance-route__line { display: none; }
  .finance-options { grid-template-columns: 1fr; }
  .finance-options article { min-height: 285px; border-right: 0; border-bottom: 1px solid var(--line); }
  .finance-options article:last-child { border-bottom: 0; }
  .finance-criteria { grid-template-columns: 1fr; }
  .finance-criteria .button { grid-column: auto; width: 100%; }
  .ai-lab__header { align-items: flex-start; gap: 2rem; }
  .lab-status { text-align: right; }
  .lab-grid { grid-template-columns: 1fr; }
  .lab-visuals { grid-template-columns: 1fr; height: auto; }
  .lab-visual { height: 310px; }
  .lab-visual--vertical { height: 430px; }
  .lab-module { min-height: 270px; border-right: 0; border-bottom: 1px solid rgba(5,8,7,.25); }
  .lab-module:last-child { border-bottom: 0; }
  .lab-console__feed { align-items: flex-start; flex-direction: column; }
  .ai-lab__intro h2 { font-size: clamp(3.25rem, 14vw, 4.4rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
  .boot { display: none; }
}
