:root {
  --ink: #0a0d14;
  --paper: #f4f7f2;
  --white: #ffffff;
  --acid: #bfff38;
  --violet: #6d49e8;
  --cyan: #24bfd2;
  --line: rgba(255,255,255,.15);
  --muted: rgba(248,248,244,.62);
  --mx: 50%;
  --my: 50%;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); overflow-x: clip; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--paper);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  overflow-x: clip;
}
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
::selection { color: var(--ink); background: var(--acid); }

.skip-link { position: fixed; top: 8px; left: 8px; z-index: 9999; padding: 10px 14px; color: var(--ink); background: var(--acid); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.loading-screen { position: fixed; inset: 0; z-index: 999; display: grid; place-content: center; gap: 24px; background: #05050a; transition: opacity .7s ease, visibility .7s ease; }
.loading-screen.is-done { opacity: 0; visibility: hidden; }
.loader-mark { display: flex; justify-content: center; align-items: center; gap: 12px; font: 800 clamp(42px,7vw,96px)/1 "Syne", sans-serif; letter-spacing: -.08em; }
.loader-mark i { color: var(--acid); font-style: normal; font-weight: 500; }
.loader-track { width: min(310px,70vw); height: 1px; background: rgba(255,255,255,.18); overflow: hidden; }
.loader-track i { display: block; width: 100%; height: 100%; background: var(--acid); transform: translateX(-100%); animation: load 1.1s cubic-bezier(.7,0,.2,1) forwards; }
.loading-screen p { margin: 0; color: rgba(255,255,255,.45); font: 500 11px/1 "IBM Plex Mono", monospace; text-align: center; letter-spacing: .28em; }
@keyframes load { to { transform: translateX(0); } }

.space-canvas { position: fixed; inset: 0; z-index: 0; width: 100%; height: 100%; opacity: .34; pointer-events: none; transition:opacity .4s ease; }
.ambient { position: fixed; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(circle at var(--mx) var(--my), rgba(109,73,232,.11), transparent 22%), radial-gradient(circle at 82% 24%, rgba(191,255,56,.18), transparent 28%); }
.grain { position:fixed; inset:0; z-index:50; pointer-events:none; opacity:.13; background-image:radial-gradient(rgba(10,13,20,.16) .45px,transparent .55px); background-size:4px 4px; }
.cursor-orb { position: fixed; z-index: 200; width: 14px; height: 14px; border: 1px solid var(--acid); border-radius: 50%; pointer-events: none; transform: translate(-50%,-50%); mix-blend-mode: difference; transition: width .2s, height .2s, background .2s; }
.cursor-orb.is-hover { width: 54px; height: 54px; background: rgba(201,255,61,.2); }
.progress { position: fixed; top: 0; left: 0; z-index: 300; width: 100%; height: 2px; }
.progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--acid),var(--cyan),var(--violet)); transform: scaleX(0); transform-origin: left; }
.command-dock { position:fixed; left:20px; bottom:20px; z-index:180; padding:9px 11px; display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.48); border:1px solid rgba(255,255,255,.16); background:rgba(5,5,10,.72); backdrop-filter:blur(12px); font:500 8px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; cursor:pointer; transition:color .2s,border-color .2s; }
.command-dock b { display:grid; place-items:center; width:22px; height:22px; color:var(--ink); background:var(--acid); font-size:13px; }
.command-dock:hover { color:#fff; border-color:rgba(201,255,61,.6); }

.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; min-height: 88px; padding: 0 clamp(20px,4vw,68px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.08); background: linear-gradient(180deg,rgba(5,5,10,.86),transparent); transition: min-height .35s, background .35s, backdrop-filter .35s; }
.site-header.is-scrolled { min-height: 70px; background: rgba(5,5,10,.76); backdrop-filter: blur(18px); }
.logo { justify-self: start; display: inline-flex; align-items: center; gap: 12px; }
.logo-glyph { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.34); font: 600 11px/1 "IBM Plex Mono", monospace; letter-spacing: -.06em; transform: rotate(-5deg); }
.logo-word { display: flex; flex-direction: column; font: 700 18px/1 "Syne",sans-serif; letter-spacing: -.04em; }
.logo-word small { margin-top: 5px; color: rgba(255,255,255,.38); font: 500 8px/1 "IBM Plex Mono",monospace; letter-spacing: .16em; }
.primary-nav { display: flex; gap: clamp(20px,3vw,46px); }
.primary-nav a { position: relative; color: rgba(255,255,255,.54); font: 500 11px/1 "IBM Plex Mono",monospace; letter-spacing: .12em; transition: color .2s; }
.primary-nav a::after { content:""; position:absolute; left:0; bottom:-9px; width:100%; height:1px; background:var(--acid); transform:scaleX(0); transform-origin:right; transition:transform .3s; }
.primary-nav a:hover { color: #fff; }
.primary-nav a:hover::after { transform:scaleX(1); transform-origin:left; }
.header-cta { justify-self: end; display: flex; align-items: center; gap: 30px; padding: 12px 13px 12px 18px; border: 1px solid rgba(255,255,255,.28); font-size: 13px; font-weight: 700; }
.header-cta i { display:grid; place-items:center; width:28px; height:28px; color:var(--ink); background:var(--acid); font-style:normal; }

main { position: relative; z-index: 2; }
.hero { position: relative; min-height: 100svh; isolation: isolate; padding: clamp(126px,16vh,190px) clamp(20px,6vw,100px) 48px; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); align-items: center; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.12); }
.hero::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(5,5,10,.98) 0%,rgba(5,5,10,.78) 46%,rgba(5,5,10,.08) 100%); }
.hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,black,transparent 82%); }
.hero-index { position:absolute; top:50%; right:24px; display:flex; gap:28px; writing-mode:vertical-rl; color:rgba(255,255,255,.3); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.14em; transform:translateY(-50%); }
.hero-copy { position:relative; z-index:3; grid-column:1/-1; width:100%; min-width:0; padding-bottom: 11vh; }
.eyebrow { margin:0 0 30px; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.54); font:500 clamp(10px,.8vw,12px)/1 "IBM Plex Mono",monospace; letter-spacing:.16em; }
.eyebrow i { width:44px; height:1px; background:var(--acid); box-shadow:0 0 18px var(--acid); }
.hero-title { margin:0; max-width:1500px; font:800 clamp(56px,8.8vw,154px)/.88 "Syne","Noto Sans JP",sans-serif; letter-spacing:-.075em; }
.title-line { display:block; overflow:hidden; padding:.08em .08em .1em 0; }
.title-line b { display:block; font-weight:800; white-space:nowrap; transform:translateY(118%); animation:titleIn 1.1s cubic-bezier(.16,1,.3,1) forwards; animation-delay:1.05s; }
.title-line--shift { margin-left: clamp(0px,5vw,80px); }
.title-line--shift b { animation-delay:1.17s; }
.title-line span { color:var(--violet); -webkit-text-stroke:0; background:none; filter:none; }
@keyframes titleIn { to{transform:translateY(0)} }
.hero-bottom { max-width: 760px; margin: clamp(30px,5vh,64px) 0 0 clamp(0px,5vw,80px); display:grid; grid-template-columns:minmax(260px,1fr) auto; align-items:end; gap:clamp(28px,5vw,72px); }
.hero-bottom p { margin:0; color:rgba(255,255,255,.64); font-size:clamp(15px,1.1vw,18px); line-height:1.95; }
.hero-actions { display:flex; flex-direction:column; gap:10px; min-width:220px; }
.button { min-height:56px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; gap:26px; border:1px solid rgba(255,255,255,.22); font-size:13px; font-weight:700; transition:color .25s,background .25s,border .25s,transform .25s; }
.button i { font-style:normal; font-size:18px; }
.button--solid { color:var(--ink); background:var(--acid); border-color:var(--acid); }
.button--ghost { background:rgba(255,255,255,.03); backdrop-filter:blur(10px); }
.button:hover { transform:translateY(-3px); }
.button--solid:hover { background:#fff; border-color:#fff; }
.button--ghost:hover { border-color:var(--acid); }

.hero-machine { position:absolute; top:50%; right:clamp(-230px,-7vw,-40px); z-index:1; width:clamp(490px,51vw,900px); aspect-ratio:1; perspective:1100px; transform:translateY(-51%) rotateX(calc((var(--machine-y, .5) - .5) * -9deg)) rotateY(calc((var(--machine-x, .5) - .5) * 12deg)); transform-style:preserve-3d; transition:transform .12s linear; }
.machine-halo,.machine-axis,.machine-core { position:absolute; inset:50%; transform-style:preserve-3d; }
.machine-halo { border:1px solid rgba(255,255,255,.18); border-radius:50%; }
.halo-a { width:78%; height:78%; margin:-39%; animation:spinA 16s linear infinite; border-color:rgba(201,255,61,.42); box-shadow:0 0 90px rgba(201,255,61,.08),inset 0 0 90px rgba(201,255,61,.06); }
.halo-b { width:61%; height:61%; margin:-30.5%; animation:spinB 11s linear infinite reverse; border-style:dashed; border-color:rgba(103,232,249,.35); }
.halo-c { width:43%; height:43%; margin:-21.5%; animation:spinC 8s linear infinite; border-width:2px; border-color:rgba(141,92,255,.55); box-shadow:0 0 60px rgba(141,92,255,.18); }
.machine-halo::before,.machine-halo::after { content:""; position:absolute; width:9px; height:9px; border-radius:50%; background:var(--acid); box-shadow:0 0 22px var(--acid); }
.machine-halo::before { top:-5px; left:50%; }
.machine-halo::after { bottom:-5px; right:23%; background:var(--violet); box-shadow:0 0 22px var(--violet); }
@keyframes spinA { to{transform:rotateZ(360deg) rotateX(62deg) rotateY(12deg)} }
@keyframes spinB { to{transform:rotateZ(360deg) rotateX(-48deg) rotateY(34deg)} }
@keyframes spinC { to{transform:rotateZ(360deg) rotateX(35deg) rotateY(-42deg)} }
.machine-axis { width:90%; height:1px; margin-left:-45%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent); }
.axis-x { transform:rotate(-24deg); }
.axis-y { transform:rotate(62deg); opacity:.35; }
.machine-core { width:130px; height:130px; margin:-65px; animation:coreSpin 13s linear infinite; }
.core-face { position:absolute; inset:0; display:grid; place-items:center; border:1px solid rgba(255,255,255,.44); background:rgba(5,5,10,.52); color:rgba(255,255,255,.72); backdrop-filter:blur(8px); font:600 12px/1 "IBM Plex Mono",monospace; letter-spacing:.18em; }
.face-a { transform:translateZ(65px); }
.face-b { transform:rotateY(90deg) translateZ(65px); }
.face-c { transform:rotateY(180deg) translateZ(65px); }
.face-d { transform:rotateY(-90deg) translateZ(65px); }
@keyframes coreSpin { from{transform:rotateX(-18deg) rotateY(0)} to{transform:rotateX(342deg) rotateY(360deg)} }
.machine-caption { position:absolute; left:50%; bottom:9%; transform:translateX(-50%); padding:9px 12px; display:flex; gap:20px; border:1px solid rgba(255,255,255,.16); background:rgba(5,5,10,.68); backdrop-filter:blur(10px); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.12em; white-space:nowrap; }
.machine-caption b { color:var(--acid); font-weight:500; }

.hero-runtime { position:absolute; left:clamp(20px,6vw,100px); right:clamp(20px,6vw,100px); bottom:24px; z-index:4; display:grid; grid-template-columns:180px 1fr; align-items:stretch; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); background:rgba(5,5,10,.24); backdrop-filter:blur(12px); }
.runtime-head { padding:16px 18px 14px 0; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid rgba(255,255,255,.12); font:500 10px/1 "IBM Plex Mono",monospace; letter-spacing:.12em; }
.runtime-head i { color:var(--acid); font-style:normal; font-size:9px; }
.runtime-head i b { display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--acid); box-shadow:0 0 12px var(--acid); animation:blink 1.2s infinite; }
@keyframes blink { 50%{opacity:.25} }
.hero-runtime ol { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(4,1fr); }
.hero-runtime li { position:relative; padding:14px 18px; display:grid; grid-template-columns:auto 1fr; gap:2px 12px; border-right:1px solid rgba(255,255,255,.1); opacity:.38; transition:opacity .3s,background .3s; }
.hero-runtime li::after { content:""; position:absolute; left:0; right:100%; bottom:-1px; height:2px; background:var(--acid); transition:right .35s; }
.hero-runtime li.active { opacity:1; background:rgba(255,255,255,.035); }
.hero-runtime li.active::after { right:0; }
.hero-runtime li span { grid-row:1/3; align-self:center; color:var(--acid); font:500 9px/1 "IBM Plex Mono",monospace; }
.hero-runtime li b { font:600 11px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.hero-runtime li small { color:rgba(255,255,255,.4); font-size:10px; }
.scroll-cue { position:absolute; right:clamp(24px,4vw,70px); bottom:18px; z-index:5; display:flex; align-items:center; gap:14px; color:rgba(255,255,255,.34); font:500 8px/1 "IBM Plex Mono",monospace; letter-spacing:.13em; transform:rotate(90deg) translateX(100%); transform-origin:right bottom; }
.scroll-cue i { width:60px; height:1px; background:rgba(255,255,255,.22); overflow:hidden; }
.scroll-cue i::after { content:""; display:block; width:40%; height:100%; background:var(--acid); animation:cue 1.8s ease-in-out infinite; }
@keyframes cue { from{transform:translateX(-120%)} to{transform:translateX(310%)} }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }

.manifest { position:relative; min-height:100svh; padding:clamp(110px,15vw,220px) clamp(20px,8vw,140px); display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); align-content:center; gap:clamp(42px,7vw,120px); color:var(--ink); background:var(--paper); overflow:hidden; }
.manifest::before { content:""; position:absolute; width:45vw; aspect-ratio:1; right:-18vw; top:-12vw; border:1px solid rgba(5,5,10,.14); border-radius:50%; box-shadow:0 0 0 9vw rgba(5,5,10,.025),0 0 0 18vw rgba(5,5,10,.02); }
.manifest-code { position:absolute; top:44px; left:clamp(20px,8vw,140px); font:500 10px/1 "IBM Plex Mono",monospace; letter-spacing:.12em; }
.manifest-kicker { grid-column:1/-1; margin:0 0 -30px; color:#6950cc; font:600 11px/1 "IBM Plex Mono",monospace; letter-spacing:.18em; }
.manifest-title { position:relative; z-index:1; margin:0; font:700 clamp(42px,4.8vw,92px)/1.12 "Syne","Noto Sans JP",sans-serif; letter-spacing:-.065em; }
.manifest-title em { color:transparent; -webkit-text-stroke:1.5px var(--ink); font-style:normal; }
.line-lock { display:block; white-space:nowrap; }
.manifest-note { align-self:end; position:relative; z-index:1; padding-top:24px; border-top:1px solid rgba(5,5,10,.24); }
.manifest-note p { margin:0 0 18px; font-size:clamp(16px,1.15vw,19px); line-height:1.9; }
.tech-tape { position:relative; z-index:4; width:100%; overflow:hidden; color:var(--ink); background:var(--acid); border-block:1px solid var(--ink); transform:rotate(-1.2deg); }
.tech-tape div { width:max-content; padding:17px 0; font:700 13px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; animation:tape 25s linear infinite; }
.tech-tape i { padding:0 22px; font-style:normal; }
@keyframes tape { to{transform:translateX(-50%)} }
.section-head { max-width:1400px; margin:0 auto clamp(70px,9vw,140px); display:grid; grid-template-columns:150px minmax(0,1.15fr) minmax(260px,.48fr); gap:clamp(28px,5vw,84px); align-items:end; }
.section-index { align-self:start; display:flex; flex-direction:column; gap:10px; color:rgba(255,255,255,.46); font:500 10px/1 "IBM Plex Mono",monospace; letter-spacing:.14em; }
.section-index span { color:var(--acid); font:700 clamp(40px,5vw,78px)/.8 "Syne",sans-serif; letter-spacing:-.06em; }
.section-index--light { color:rgba(5,5,10,.52); }
.section-index--light span { color:#6749dd; }
.section-head h2,.build-head h2,.knowledge-head h2,.bridge-copy h2 { margin:0; font:700 clamp(48px,5.6vw,92px)/.98 "Syne","Noto Sans JP",sans-serif; letter-spacing:-.07em; }
.section-head h2 em,.bridge-copy h2 em { color:transparent; -webkit-text-stroke:1.2px rgba(255,255,255,.78); font-style:normal; }
.section-head > p,.build-head > p,.bridge-copy > p { margin:0; padding-top:24px; border-top:1px solid rgba(255,255,255,.19); color:rgba(255,255,255,.57); font-size:clamp(15px,1.05vw,18px); line-height:1.9; }

.compiler { position:relative; padding:clamp(130px,14vw,230px) clamp(20px,5vw,88px); background:linear-gradient(180deg,#05050a 0%,#0b0912 45%,#05050a 100%); overflow:hidden; }
.compiler::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 50%,rgba(141,92,255,.12),transparent 34%),linear-gradient(rgba(255,255,255,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.027) 1px,transparent 1px); background-size:auto,64px 64px,64px 64px; }
.compiler-stage { --rx:0deg; --ry:0deg; position:relative; width:min(1380px,100%); min-height:clamp(620px,68vw,890px); margin:0 auto; border:1px solid rgba(255,255,255,.14); background:radial-gradient(circle at 50% 48%,rgba(141,92,255,.18),transparent 22%),rgba(0,0,0,.22); perspective:1200px; transform-style:preserve-3d; overflow:hidden; }
.compiler-grid { position:absolute; left:-20%; right:-20%; bottom:-12%; height:68%; background:linear-gradient(rgba(201,255,61,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(201,255,61,.1) 1px,transparent 1px); background-size:56px 56px; transform:rotateX(67deg) translateZ(-100px); transform-origin:center bottom; mask-image:linear-gradient(black,transparent 90%); }
.compiler-core { position:absolute; left:50%; top:50%; width:min(36vw,470px); aspect-ratio:1; transform:translate(-50%,-50%) rotateX(var(--rx)) rotateY(var(--ry)); transform-style:preserve-3d; transition:transform .14s linear; }
.core-disc { position:absolute; inset:0; border:1px solid rgba(255,255,255,.28); border-radius:50%; transform-style:preserve-3d; }
.disc-1 { animation:discOne 13s linear infinite; border-color:rgba(201,255,61,.58); box-shadow:0 0 50px rgba(201,255,61,.08); }
.disc-2 { inset:13%; animation:discTwo 9s linear infinite; border-style:dashed; border-color:rgba(103,232,249,.48); }
.disc-3 { inset:28%; animation:discThree 6s linear infinite; border-width:2px; border-color:rgba(141,92,255,.75); box-shadow:0 0 70px rgba(141,92,255,.2),inset 0 0 60px rgba(141,92,255,.12); }
.core-disc::before,.core-disc::after { content:""; position:absolute; width:10px; height:10px; border-radius:50%; background:var(--acid); box-shadow:0 0 24px var(--acid); }
.core-disc::before { top:14%; left:10%; }
.core-disc::after { right:4%; bottom:34%; background:var(--cyan); box-shadow:0 0 24px var(--cyan); }
@keyframes discOne { to{transform:rotateX(68deg) rotateZ(360deg)} }
@keyframes discTwo { to{transform:rotateY(64deg) rotateZ(-360deg)} }
@keyframes discThree { to{transform:rotateX(-38deg) rotateY(62deg) rotateZ(360deg)} }
.core-data { position:absolute; left:50%; top:50%; width:150px; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.35); background:rgba(5,5,10,.68); box-shadow:0 0 70px rgba(141,92,255,.18); backdrop-filter:blur(12px); transform:translate(-50%,-50%) translateZ(70px) rotate(45deg); }
.core-data > * { transform:rotate(-45deg); }
.core-data small,.core-data span { font:500 8px/1 "IBM Plex Mono",monospace; letter-spacing:.15em; color:rgba(255,255,255,.44); }
.core-data strong { margin:11px 0; color:var(--acid); font:700 19px/1 "Syne",sans-serif; letter-spacing:.04em; text-shadow:0 0 28px rgba(201,255,61,.45); }
.compiler-nodes { position:absolute; inset:0; margin:0; padding:0; list-style:none; transform:rotateX(var(--rx)) rotateY(var(--ry)); transform-style:preserve-3d; transition:transform .14s linear; }
.compiler-nodes li { position:absolute; left:50%; top:50%; width:clamp(190px,17vw,270px); min-height:146px; padding:19px; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.22); background:rgba(8,7,15,.63); backdrop-filter:blur(12px); transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateZ(var(--z)); box-shadow:0 28px 80px rgba(0,0,0,.35); animation:nodeFloat 5s ease-in-out infinite; animation-delay:var(--delay); }
@keyframes nodeFloat { 50%{margin-top:-13px} }
.compiler-nodes li::before { content:""; position:absolute; inset:-1px; background:linear-gradient(110deg,transparent 35%,rgba(201,255,61,.25),transparent 65%); opacity:0; transition:opacity .3s; pointer-events:none; }
.compiler-nodes li:hover::before { opacity:1; }
.compiler-nodes li span { color:var(--acid); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.12em; }
.compiler-nodes li strong { margin:19px 0 9px; font-size:20px; }
.compiler-nodes li small { color:rgba(255,255,255,.38); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; }
.compiler-nodes li i { margin-top:auto; align-self:flex-end; color:var(--cyan); font:500 9px/1 "IBM Plex Mono",monospace; font-style:normal; }
.compiler-hud { position:absolute; left:22px; right:22px; display:flex; justify-content:space-between; color:rgba(255,255,255,.36); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.12em; }
.compiler-hud b { color:var(--acid); font-weight:500; }
.hud-top { top:20px; }
.hud-bottom { bottom:20px; }
.compiler-ledger { width:min(1380px,100%); margin:40px auto 0; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.16); }
.compiler-ledger article { padding:38px clamp(22px,3vw,48px); border-right:1px solid rgba(255,255,255,.13); }
.compiler-ledger article:last-child { border-right:0; }
.compiler-ledger span { color:var(--acid); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.13em; }
.compiler-ledger h3 { margin:25px 0 14px; font-size:clamp(21px,2vw,30px); letter-spacing:-.04em; }
.compiler-ledger p { margin:0; color:rgba(255,255,255,.5); line-height:1.9; }

.xray { position:relative; padding:clamp(130px,14vw,230px) clamp(20px,5vw,88px); background:radial-gradient(circle at 60% 52%,rgba(103,232,249,.08),transparent 30%),#05050a; overflow:hidden; }
.xray::before { content:"SYSTEM X-RAY"; position:absolute; left:-4%; top:28%; color:rgba(255,255,255,.022); font:800 15vw/.8 "Syne",sans-serif; letter-spacing:-.07em; white-space:nowrap; transform:rotate(-90deg) translateX(-50%); transform-origin:left top; }
.xray-console { width:min(1400px,100%); min-height:780px; margin:auto; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(330px,.6fr); border:1px solid rgba(255,255,255,.16); background:rgba(8,8,15,.76); box-shadow:0 60px 180px rgba(0,0,0,.6),0 0 100px rgba(103,232,249,.04); }
.xray-viewport { --stack-rx:0deg; --stack-ry:0deg; position:relative; min-width:0; display:grid; place-items:center; perspective:1500px; overflow:hidden; background:radial-gradient(circle at 50% 50%,rgba(141,92,255,.14),transparent 32%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:auto,34px 34px,34px 34px; }
.xray-reticle { position:absolute; left:50%; top:50%; width:74%; aspect-ratio:1; border:1px solid rgba(255,255,255,.1); border-radius:50%; transform:translate(-50%,-50%); }
.xray-reticle::before,.xray-reticle::after { content:""; position:absolute; inset:15%; border:1px dashed rgba(201,255,61,.12); border-radius:50%; animation:reticleSpin 22s linear infinite; }
.xray-reticle::after { inset:34%; border-color:rgba(141,92,255,.24); animation-direction:reverse; animation-duration:13s; }
.xray-reticle i { position:absolute; background:rgba(255,255,255,.1); }
.xray-reticle i:first-child { left:50%; top:-8%; bottom:-8%; width:1px; }
.xray-reticle i:last-child { top:50%; left:-8%; right:-8%; height:1px; }
@keyframes reticleSpin { to{transform:rotate(360deg)} }
.system-stack { position:relative; width:min(54vw,570px); aspect-ratio:1.45; transform-style:preserve-3d; transform:rotateX(calc(58deg + var(--stack-rx))) rotateZ(calc(-29deg + var(--stack-ry))); transition:transform .12s linear; }
.stack-layer { position:absolute; inset:0; padding:20px; border:1px solid rgba(255,255,255,.38); background:rgba(10,9,18,.72); box-shadow:0 22px 55px rgba(0,0,0,.25),inset 0 0 45px rgba(255,255,255,.025); backdrop-filter:blur(6px); transform:translateZ(var(--z)) translateY(var(--y)); transform-style:preserve-3d; transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .3s,background .3s; }
.stack-layer::before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:26px 26px; mask-image:linear-gradient(135deg,black,transparent 78%); }
.stack-layer > span,.stack-layer > strong,.stack-layer > small { position:relative; z-index:2; display:block; font-family:"IBM Plex Mono",monospace; letter-spacing:.1em; }
.stack-layer > span { color:var(--acid); font-size:9px; }
.stack-layer > strong { margin-top:8px; font-size:clamp(20px,2.2vw,34px); }
.stack-layer > small { color:rgba(255,255,255,.38); font-size:8px; }
.layer-interface { border-color:rgba(201,255,61,.62); background:rgba(201,255,61,.045); }
.layer-logic { border-color:rgba(103,232,249,.5); }
.layer-intelligence { border-color:rgba(141,92,255,.76); background:rgba(141,92,255,.09); box-shadow:0 0 70px rgba(141,92,255,.14); }
.layer-data { border-color:rgba(255,255,255,.52); }
.layer-cloud { border-color:rgba(201,255,61,.38); }
.layer-ui { position:absolute; left:8%; right:8%; bottom:10%; height:48%; display:grid; grid-template-columns:.5fr 1fr; grid-template-rows:repeat(3,1fr); gap:8px; }
.layer-ui i,.layer-ui b { border:1px solid rgba(201,255,61,.36); background:rgba(201,255,61,.07); }
.layer-ui i:first-child { grid-row:1/4; }
.layer-ui b { grid-column:2; }
.layer-nodes { position:absolute; inset:34% 9% 10%; display:flex; justify-content:space-around; align-items:center; }
.layer-nodes::before { content:""; position:absolute; left:5%; right:5%; height:1px; background:rgba(103,232,249,.45); }
.layer-nodes i { position:relative; z-index:2; width:28px; height:28px; border:1px solid var(--cyan); border-radius:50%; background:#090812; box-shadow:0 0 18px rgba(103,232,249,.2); }
.layer-core { position:absolute; left:50%; bottom:14%; width:38%; aspect-ratio:1; border:1px solid rgba(141,92,255,.48); border-radius:50%; transform:translateX(-50%); animation:corePulse 2.4s ease-in-out infinite; }
.layer-core i { position:absolute; inset:16%; border:1px dashed rgba(201,255,61,.5); border-radius:50%; animation:reticleSpin 8s linear infinite; }
.layer-core b { position:absolute; inset:0; display:grid; place-items:center; color:var(--acid); font:700 28px/1 "Syne",sans-serif; }
@keyframes corePulse { 50%{box-shadow:0 0 50px rgba(141,92,255,.35)} }
.layer-db { position:absolute; left:12%; right:12%; bottom:15%; height:35%; display:flex; align-items:flex-end; gap:7%; }
.layer-db i { flex:1; border:1px solid rgba(255,255,255,.38); background:linear-gradient(180deg,rgba(255,255,255,.16),transparent); }
.layer-db i:nth-child(1) { height:55%; }.layer-db i:nth-child(2) { height:85%; }.layer-db i:nth-child(3) { height:68%; }.layer-db i:nth-child(4) { height:100%; }
.layer-cloud-grid { position:absolute; left:10%; right:10%; bottom:14%; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.layer-cloud-grid i { height:76px; border:1px solid rgba(201,255,61,.32); background:rgba(201,255,61,.045); }
.xray-coordinates { position:absolute; left:22px; right:22px; bottom:18px; display:flex; justify-content:space-between; color:rgba(255,255,255,.33); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.09em; }
.xray-coordinates b { color:var(--cyan); font-weight:500; }
.xray-panel { min-width:0; padding:clamp(28px,3vw,46px); border-left:1px solid rgba(255,255,255,.12); background:rgba(0,0,0,.24); }
.xray-panel-head { padding-bottom:18px; display:flex; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.42); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.09em; }
.xray-panel-head b { color:var(--acid); font-weight:500; }
.xray-panel-head i { display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--acid); box-shadow:0 0 10px var(--acid); }
.xray-panel > p { margin:34px 0; color:rgba(255,255,255,.58); font-size:15px; line-height:1.9; }
.explode-control { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding-bottom:34px; }
.explode-control span { color:rgba(255,255,255,.34); font:500 8px/1 "IBM Plex Mono",monospace; }
.explode-control input { width:100%; accent-color:var(--acid); cursor:ew-resize; }
.xray-specs { border-top:1px solid rgba(255,255,255,.12); }
.xray-specs div { padding:18px 0; display:grid; grid-template-columns:32px 1fr; gap:5px 10px; border-bottom:1px solid rgba(255,255,255,.1); }
.xray-specs span { grid-row:1/3; color:var(--acid); font:500 9px/1 "IBM Plex Mono",monospace; }
.xray-specs b { font:600 11px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; }
.xray-specs small { color:rgba(255,255,255,.42); font-size:12px; }

.build { position:relative; padding:clamp(130px,14vw,230px) clamp(20px,5vw,88px); color:var(--ink); background:var(--paper); overflow:hidden; }
.build::before { content:"BUILD / BUILD / BUILD /"; position:absolute; top:4%; left:-2%; color:rgba(5,5,10,.032); font:800 20vw/.8 "Syne",sans-serif; letter-spacing:-.08em; white-space:nowrap; pointer-events:none; }
.build-head { position:relative; z-index:1; max-width:1400px; margin:0 auto clamp(70px,9vw,140px); display:grid; grid-template-columns:150px minmax(0,1.15fr) minmax(260px,.48fr); gap:clamp(28px,5vw,84px); align-items:end; }
.build-head h2 span,.knowledge-head h2 span { color:#6749dd; }
.build-head > p { color:rgba(5,5,10,.64); border-color:rgba(5,5,10,.24); }
.build-deck { position:relative; z-index:1; width:min(1400px,100%); margin:auto; display:grid; grid-template-columns:repeat(2,1fr); gap:2px; perspective:1400px; }
.build-card { --card-bg:#0a0910; --card-fg:#f8f8f4; position:relative; min-height:570px; padding:clamp(26px,4vw,58px); display:flex; flex-direction:column; color:var(--card-fg); background:var(--card-bg); border:1px solid rgba(5,5,10,.1); transform-style:preserve-3d; transition:transform .12s linear,box-shadow .3s; overflow:hidden; }
.build-card:nth-child(even) { transform:translateY(46px); }
.build-card:hover { z-index:3; box-shadow:0 36px 100px rgba(5,5,10,.28); }
.build-card--acid { --card-bg:var(--acid); --card-fg:#05050a; }
.build-card--violet { --card-bg:#7752eb; }
.build-card--wire { --card-bg:#e7e2da; --card-fg:#05050a; }
.build-card::before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(135deg,transparent,black); opacity:.45; }
.build-card--acid::before,.build-card--wire::before { background-image:linear-gradient(rgba(5,5,10,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(5,5,10,.08) 1px,transparent 1px); }
.build-card > * { position:relative; z-index:2; transform:translateZ(24px); }
.build-card-top { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.12em; }
.build-card-top span { display:grid; place-items:center; width:40px; height:40px; border:1px solid currentColor; }
.build-card-top i { font-size:22px; font-style:normal; }
.build-card h3 { margin:auto 0 28px; font:700 clamp(46px,5vw,80px)/.98 "Syne","Noto Sans JP",sans-serif; letter-spacing:-.07em; }
.build-card h3 em { font-style:normal; font-weight:600; color:transparent; -webkit-text-stroke:1px currentColor; }
.build-card p { max-width:600px; margin:0 0 30px; opacity:.66; font-size:16px; line-height:1.9; }
.build-card ul { margin:0; padding:18px 0 0; display:flex; flex-wrap:wrap; gap:8px; list-style:none; border-top:1px solid currentColor; border-color:color-mix(in srgb,currentColor 22%,transparent); }
.build-card li { padding:7px 10px; border:1px solid currentColor; border-color:color-mix(in srgb,currentColor 25%,transparent); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.06em; }
.card-scan { position:absolute; inset:0; z-index:1; background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.18) 47%,transparent 58%); transform:translateX(-130%); transition:transform .85s cubic-bezier(.2,.8,.2,1); }
.build-card:hover .card-scan { transform:translateX(130%); }

.architecture { position:relative; padding:clamp(140px,15vw,250px) clamp(20px,5vw,88px); background:#05050a; overflow:hidden; }
.architecture-glow { position:absolute; width:70vw; aspect-ratio:1; left:50%; top:50%; transform:translate(-50%,-50%); background:radial-gradient(circle,rgba(103,232,249,.09),transparent 56%); pointer-events:none; }
.architecture-head { position:relative; }
.command-center { position:relative; width:min(1400px,100%); margin:auto; overflow:hidden; border:1px solid rgba(255,255,255,.17); background:rgba(9,9,16,.7); box-shadow:0 60px 180px rgba(0,0,0,.55),0 0 110px rgba(103,232,249,.04); }
.command-bar { min-height:54px; padding:0 18px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid rgba(255,255,255,.12); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.command-bar > span { display:flex; gap:7px; }
.command-bar > span i { width:8px; height:8px; border:1px solid rgba(255,255,255,.35); border-radius:50%; }
.command-bar > span i:first-child { background:var(--violet); border-color:var(--violet); }
.command-bar small { justify-self:end; color:var(--acid); }
.command-bar small i { display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--acid); box-shadow:0 0 12px var(--acid); animation:blink 1.2s infinite; }
.command-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); min-height:650px; }
.command-layout > * { min-width:0; }
.topology { position:relative; display:grid; place-items:center; border-right:1px solid rgba(255,255,255,.1); background:radial-gradient(circle at 50% 50%,rgba(141,92,255,.09),transparent 33%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:auto,30px 30px,30px 30px; }
.topology svg { width:min(94%,860px); height:auto; overflow:visible; }
.topology-lines path { stroke-dasharray:4 8; animation:dash 18s linear infinite; }
@keyframes dash { to{stroke-dashoffset:-180} }
.topology-pulses circle { stroke:rgba(201,255,61,.18); stroke-width:11; paint-order:stroke fill; }
.topology-node rect { fill:rgba(8,8,15,.86); stroke:rgba(255,255,255,.26); }
.topology-node text { fill:rgba(255,255,255,.7); text-anchor:middle; font:500 11px "IBM Plex Mono",monospace; letter-spacing:.08em; }
.topology-node--main rect { fill:rgba(201,255,61,.08); stroke:#c9ff3d; stroke-width:1.5; }
.topology-node--end rect { fill:rgba(141,92,255,.1); stroke:rgba(141,92,255,.7); }
.topology-node--end text { font-size:9px; }
.topology-label { position:absolute; left:24px; right:24px; bottom:20px; display:flex; justify-content:space-between; color:rgba(255,255,255,.32); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.topology-label b { color:var(--cyan); font-weight:500; }
.live-terminal { padding:30px; display:flex; flex-direction:column; background:rgba(0,0,0,.25); }
.terminal-meta { padding-bottom:18px; display:flex; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.38); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.terminal-meta b { color:var(--acid); font-weight:500; }
.terminal-stream { position:relative; flex:1; min-height:400px; padding:24px 0; color:rgba(255,255,255,.62); font:500 11px/1.8 "IBM Plex Mono",monospace; overflow:hidden; isolation:isolate; }
.terminal-line { position:relative; z-index:0; display:block; opacity:1; transform:none; animation:none; background:transparent; }
.terminal-line .time { color:rgba(255,255,255,.25); }
.terminal-line .terminal-status--ok { color:var(--acid); }
.terminal-line .terminal-status--info { color:var(--cyan); }
.terminal-line .terminal-status--build { color:#a982ff; }
.terminal-cursor { display:inline-block; width:7px; height:14px; background:var(--acid); animation:blink .8s step-end infinite; vertical-align:-2px; }
.terminal-stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.1); }
.terminal-stats div { padding:18px 10px 0 0; display:flex; flex-direction:column; gap:8px; }
.terminal-stats span { color:rgba(255,255,255,.3); font:500 8px/1 "IBM Plex Mono",monospace; }
.terminal-stats b { color:var(--acid); font:500 10px/1 "IBM Plex Mono",monospace; }

.bridge { position:relative; padding:clamp(130px,14vw,230px) clamp(20px,5vw,88px); background:linear-gradient(135deg,#0c0a13 0%,#05050a 60%); overflow:hidden; }
.bridge::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; background:linear-gradient(transparent,rgba(201,255,61,.35),transparent); }
.bridge-copy { width:min(1400px,100%); margin:0 auto clamp(70px,9vw,130px); display:grid; grid-template-columns:150px minmax(0,1.15fr) minmax(260px,.48fr); align-items:end; gap:clamp(28px,5vw,84px); }
.bridge-scene { --bridge-rx:0deg; --bridge-ry:0deg; width:min(1340px,100%); min-height:680px; margin:auto; display:grid; grid-template-columns:1fr 170px 1fr; align-items:center; perspective:1400px; transform-style:preserve-3d; }
.bridge-panel { position:relative; min-height:540px; padding:clamp(30px,4vw,60px); display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.2); box-shadow:0 50px 100px rgba(0,0,0,.38); transform-style:preserve-3d; transition:transform .14s linear; overflow:hidden; }
.bridge-panel > * { position:relative; z-index:2; transform:translateZ(35px); }
.bridge-panel::before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:40px 40px; }
.bridge-panel--tree { color:var(--ink); background:var(--paper); transform:rotateY(calc(-7deg + var(--bridge-ry))) rotateX(var(--bridge-rx)) translateZ(25px); transform-origin:right center; }
.bridge-panel--tree::before { background-image:linear-gradient(rgba(5,5,10,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(5,5,10,.05) 1px,transparent 1px); }
.bridge-panel--tech { background:#6f4be1; transform:rotateY(calc(7deg + var(--bridge-ry))) rotateX(var(--bridge-rx)) translateZ(25px); transform-origin:left center; }
.bridge-panel > span { font:700 11px/1 "IBM Plex Mono",monospace; letter-spacing:.12em; }
.bridge-panel > small { margin-top:8px; opacity:.5; font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.bridge-panel h3 { margin:auto 0; font:700 clamp(48px,4.7vw,82px)/.95 "Syne","Noto Sans JP",sans-serif; letter-spacing:-.07em; white-space:nowrap; }
.bridge-panel h3 em { font-style:normal; color:transparent; -webkit-text-stroke:1px currentColor; }
.bridge-panel ul { margin:0; padding:22px 0 0; border-top:1px solid currentColor; border-color:color-mix(in srgb,currentColor 25%,transparent); list-style:none; }
.bridge-panel li { padding:6px 0; font-size:14px; }
.bridge-panel li::before { content:"+"; margin-right:10px; font-family:"IBM Plex Mono",monospace; }
.bridge-beam { position:relative; height:1px; background:linear-gradient(90deg,var(--ink),var(--acid),var(--violet)); box-shadow:0 0 30px rgba(201,255,61,.3); z-index:4; }
.bridge-beam i { position:absolute; top:50%; left:0; width:16px; height:16px; border-radius:50%; background:var(--acid); box-shadow:0 0 26px var(--acid); transform:translate(-50%,-50%); animation:bridgePulse 2.4s ease-in-out infinite; }
@keyframes bridgePulse { 0%{left:0} 50%{left:100%} 100%{left:0} }
.bridge-beam b { position:absolute; left:50%; top:22px; color:rgba(255,255,255,.45); font:500 8px/1.5 "IBM Plex Mono",monospace; text-align:center; letter-spacing:.1em; transform:translateX(-50%); }
.bridge-result { width:min(1340px,100%); margin:50px auto 0; padding:28px; display:grid; grid-template-columns:.5fr 1fr .7fr; gap:30px; align-items:center; border-block:1px solid rgba(255,255,255,.16); }
.bridge-result span,.bridge-result small { color:rgba(255,255,255,.38); font:500 9px/1.5 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.bridge-result strong { font-size:clamp(20px,2vw,31px); }

.knowledge { position:relative; padding:clamp(130px,14vw,220px) clamp(20px,5vw,88px); color:var(--ink); background:var(--paper); overflow:hidden; }
.knowledge::before { content:"KNOWLEDGE"; position:absolute; top:0; right:-2%; color:rgba(5,5,10,.035); font:800 16vw/.8 "Syne",sans-serif; letter-spacing:-.08em; }
.knowledge-head { position:relative; z-index:1; width:min(1400px,100%); margin:0 auto clamp(70px,8vw,120px); display:grid; grid-template-columns:150px 1fr auto; align-items:end; gap:clamp(28px,5vw,84px); }
.knowledge-head a { padding:14px 0; display:flex; gap:32px; align-items:center; border-bottom:1px solid var(--ink); font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.knowledge-head a i { font-style:normal; font-size:18px; }
.knowledge-grid { position:relative; z-index:1; width:min(1400px,100%); margin:auto; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(5,5,10,.28); }
.knowledge-card { position:relative; min-height:420px; padding:34px; display:grid; grid-template-columns:1fr auto; align-content:start; border-right:1px solid rgba(5,5,10,.18); transition:color .35s,background .35s; overflow:hidden; }
.knowledge-card:last-child { border-right:0; }
.knowledge-card::before { content:""; position:absolute; inset:0; background:#0b0911; transform:translateY(102%); transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.knowledge-card > * { position:relative; z-index:1; }
.knowledge-card:hover { color:#fff; }
.knowledge-card:hover::before { transform:translateY(0); }
.knowledge-card > span,.knowledge-card time { font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.knowledge-card > span { color:#6749dd; }
.knowledge-card h3 { grid-column:1/-1; margin:70px 0 0; font-size:clamp(23px,2.3vw,36px); line-height:1.55; letter-spacing:-.045em; }
.knowledge-card > i { grid-column:1/-1; align-self:end; margin-top:auto; padding-top:38px; font:500 9px/1 "IBM Plex Mono",monospace; font-style:normal; letter-spacing:.1em; }

.contact { position:relative; min-height:100svh; padding:clamp(130px,13vw,220px) clamp(20px,6vw,100px); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(390px,.65fr); gap:clamp(50px,8vw,140px); align-items:center; background:#05050a; overflow:hidden; }
.contact::before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:70px 70px; mask-image:radial-gradient(circle at 24% 50%,black,transparent 60%); }
.contact-orbit { position:absolute; left:-17vw; top:50%; width:64vw; aspect-ratio:1; border:1px solid rgba(201,255,61,.13); border-radius:50%; transform:translateY(-50%); }
.contact-orbit i { position:absolute; inset:12%; border:1px solid rgba(141,92,255,.2); border-radius:50%; animation:contactSpin 18s linear infinite; }
.contact-orbit i:nth-child(2) { inset:27%; border-style:dashed; animation-duration:11s; animation-direction:reverse; }
.contact-orbit i:nth-child(3) { inset:41%; border-color:rgba(103,232,249,.32); animation-duration:7s; }
.contact-orbit i::after { content:""; position:absolute; top:-4px; left:50%; width:8px; height:8px; border-radius:50%; background:var(--acid); box-shadow:0 0 20px var(--acid); }
@keyframes contactSpin { to{transform:rotate(360deg)} }
.contact-copy,.contact-panel { position:relative; z-index:2; }
.contact-super { margin:50px 0 42px; font:800 clamp(64px,9vw,150px)/.82 "Syne",sans-serif; letter-spacing:-.08em; }
.contact-super em { color:var(--acid); font-style:normal; }
.contact-copy h2 { margin:0; max-width:710px; font-size:clamp(20px,1.8vw,30px); line-height:1.65; letter-spacing:-.035em; }
.contact-notes { margin-top:38px; display:flex; flex-wrap:wrap; gap:10px 24px; color:rgba(255,255,255,.47); font:500 9px/1 "IBM Plex Mono",monospace; }
.contact-notes span { display:flex; align-items:center; gap:7px; }
.contact-notes i { width:5px; height:5px; border-radius:50%; background:var(--acid); box-shadow:0 0 9px var(--acid); }
.contact-panel { padding:clamp(26px,3.5vw,50px); border:1px solid rgba(255,255,255,.2); background:rgba(12,10,20,.76); box-shadow:0 60px 160px rgba(0,0,0,.55),0 0 90px rgba(141,92,255,.08); backdrop-filter:blur(16px); }
.contact-panel-head { margin-bottom:34px; padding-bottom:18px; display:flex; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.13); color:rgba(255,255,255,.4); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.contact-panel-head b { color:var(--acid); font-weight:500; }
.contact-panel-head b i { display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--acid); box-shadow:0 0 10px var(--acid); }
.contact-panel form { display:flex; flex-direction:column; gap:24px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-panel label { display:flex; flex-direction:column; gap:9px; }
.contact-panel label > span { color:rgba(255,255,255,.45); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; }
.contact-panel input,.contact-panel textarea { width:100%; padding:15px 0; color:#fff; border:0; border-bottom:1px solid rgba(255,255,255,.24); border-radius:0; outline:0; background:transparent; font-size:15px; resize:vertical; transition:border-color .2s,background .2s; }
.contact-panel input::placeholder,.contact-panel textarea::placeholder { color:rgba(255,255,255,.22); }
.contact-panel input:focus,.contact-panel textarea:focus { border-color:var(--acid); background:linear-gradient(90deg,rgba(201,255,61,.035),transparent); }
.contact-panel .is-invalid { border-color:#ff6b6b; }
.form-error { margin:0; color:#ff8e8e; font-size:13px; }
.submit-button { width:100%; min-height:68px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; color:var(--ink); border:0; background:var(--acid); font-weight:800; cursor:pointer; transition:background .25s,transform .25s; }
.submit-button:hover { background:#fff; transform:translateY(-3px); }
.submit-button:disabled { cursor:wait; opacity:.58; transform:none; }
.submit-button i { font-size:21px; font-style:normal; }
.form-privacy { margin:0; color:rgba(255,255,255,.32); font-size:11px; }
.form-privacy a { text-decoration:underline; text-underline-offset:3px; }
.form-success { min-height:480px; position:relative; flex-direction:column; justify-content:center; }
.form-success:not([hidden]) { display:flex; }
.form-success span { color:var(--acid); font:500 10px/1 "IBM Plex Mono",monospace; letter-spacing:.12em; }
.form-success strong { margin:32px 0 14px; font-size:clamp(30px,3vw,46px); }
.form-success p { margin:0; color:rgba(255,255,255,.56); }
.form-success > i { position:absolute; right:0; bottom:0; color:var(--acid); font:800 100px/1 "Syne",sans-serif; font-style:normal; opacity:.16; }

.footer { position:relative; z-index:3; padding:72px clamp(20px,6vw,100px) 24px; color:#fff; background:#05050a; border-top:1px solid rgba(255,255,255,.14); }
.footer-main { display:grid; grid-template-columns:.5fr .8fr 1fr; gap:50px; align-items:start; padding-bottom:70px; }
.footer-logo { display:flex; align-items:center; gap:14px; }
.footer-logo span { display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(255,255,255,.3); font:600 11px/1 "IBM Plex Mono",monospace; }
.footer-logo b { font:700 25px/1 "Syne",sans-serif; letter-spacing:-.05em; }
.footer-main p { margin:0; color:rgba(255,255,255,.48); font-size:14px; }
.footer-main nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:14px 30px; }
.footer-main nav a { color:rgba(255,255,255,.58); font-size:13px; transition:color .2s; }
.footer-main nav a:hover { color:var(--acid); }
.footer-base { padding-top:22px; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.3); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; }
.footer-base span:first-child { color:var(--acid); }
.footer-base i { display:inline-block; width:5px; height:5px; margin-right:8px; border-radius:50%; background:var(--acid); box-shadow:0 0 9px var(--acid); }

.command-palette { width:min(720px,calc(100vw - 32px)); max-height:min(760px,calc(100vh - 32px)); padding:0; color:#fff; border:1px solid rgba(255,255,255,.24); background:rgba(7,7,13,.92); box-shadow:0 70px 220px rgba(0,0,0,.8),0 0 100px rgba(141,92,255,.2); backdrop-filter:blur(28px); }
.command-palette::backdrop { background:rgba(2,2,5,.8); backdrop-filter:blur(9px); }
.command-shell { padding:22px; }
.command-head { display:flex; justify-content:space-between; align-items:center; color:rgba(255,255,255,.42); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.12em; }
.command-head button { padding:7px 9px; color:rgba(255,255,255,.45); border:1px solid rgba(255,255,255,.15); background:transparent; font:500 8px/1 "IBM Plex Mono",monospace; cursor:pointer; }
.command-search { margin:20px 0; padding:18px 16px; display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center; border:1px solid rgba(201,255,61,.45); background:rgba(201,255,61,.045); }
.command-search span { color:var(--acid); font:700 22px/1 "IBM Plex Mono",monospace; }
.command-search input { width:100%; color:#fff; border:0; outline:0; background:transparent; font:500 14px/1.4 "IBM Plex Mono",monospace; }
.command-search input::placeholder { color:rgba(255,255,255,.25); }
.command-list { display:flex; flex-direction:column; max-height:440px; overflow:auto; }
.command-list button { width:100%; padding:15px 12px; display:grid; grid-template-columns:34px 1fr 1fr auto; gap:12px; align-items:center; color:rgba(255,255,255,.68); border:0; border-bottom:1px solid rgba(255,255,255,.09); background:transparent; text-align:left; cursor:pointer; }
.command-list button:hover,.command-list button.is-selected { color:#05050a; background:var(--acid); }
.command-list button span,.command-list button small,.command-list button i { font:500 9px/1 "IBM Plex Mono",monospace; font-style:normal; }
.command-list button b { font:600 12px/1 "IBM Plex Mono",monospace; letter-spacing:.05em; }
.command-list button small { opacity:.54; }
.command-foot { padding-top:18px; display:flex; gap:24px; color:rgba(255,255,255,.3); font:500 8px/1 "IBM Plex Mono",monospace; }

@media (max-width: 980px) {
  .site-header { grid-template-columns:1fr auto; min-height:72px; }
  .primary-nav { display:none; }
  .hero { grid-template-columns:1fr; padding-top:130px; }
  .hero::before { background:linear-gradient(180deg,rgba(5,5,10,.94),rgba(5,5,10,.62)); }
  .hero-machine { width:min(760px,98vw); right:-38vw; top:47%; opacity:.62; }
  .hero-copy { padding-bottom:190px; }
  .hero-bottom { grid-template-columns:1fr; max-width:560px; margin-left:0; }
  .hero-actions { flex-direction:row; }
  .hero-runtime { grid-template-columns:1fr; }
  .runtime-head { display:none; }
  .manifest { grid-template-columns:1fr; }
  .manifest-kicker { margin-bottom:0; }
  .section-head,.build-head,.bridge-copy { grid-template-columns:110px 1fr; }
  .section-head > p,.build-head > p,.bridge-copy > p { grid-column:2; }
  .compiler-nodes li { width:220px; }
  .compiler-ledger { grid-template-columns:1fr; }
  .compiler-ledger article { border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .xray-console { grid-template-columns:1fr; }
  .xray-viewport { min-height:680px; }
  .xray-panel { border-left:0; border-top:1px solid rgba(255,255,255,.12); }
  .build-deck { grid-template-columns:1fr; gap:0; }
  .build-card:nth-child(even) { transform:none; }
  .command-layout { grid-template-columns:1fr; }
  .topology { min-height:540px; border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .bridge-scene { grid-template-columns:1fr 80px 1fr; }
  .bridge-panel { min-height:480px; }
  .knowledge-head { grid-template-columns:110px 1fr; }
  .knowledge-head a { grid-column:2; justify-self:start; }
  .knowledge-grid { grid-template-columns:1fr; }
  .knowledge-card { min-height:290px; border-right:0; border-bottom:1px solid rgba(5,5,10,.18); }
  .contact { grid-template-columns:1fr; }
  .contact > * { min-width:0; }
  .contact-panel { width:100%; max-width:100%; }
  .field-row > * { min-width:0; }
  .contact-orbit { width:100vw; top:24%; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-main nav { grid-column:1/-1; justify-content:flex-start; }
}

@media (max-width: 640px) {
  .cursor-orb { display:none; }
  .site-header { padding-inline:16px; }
  .logo-word small { display:none; }
  .header-cta { gap:12px; padding-left:12px; }
  .hero { min-height:920px; padding:120px 18px 30px; align-items:start; }
  .hero-index,.scroll-cue { display:none; }
  .eyebrow { margin-bottom:22px; letter-spacing:.1em; }
  .hero-title { font-size:clamp(38px,10.6vw,44px); line-height:1.02; letter-spacing:-.07em; }
  .hero-title .title-line:first-child { font-size:1.25em; }
  .hero-title .title-line--shift { font-size:1em; }
  .title-line--shift { margin-left:0; }
  .hero-bottom { gap:24px; margin-top:24px; }
  .hero-bottom p { font-size:15px; line-height:1.8; }
  .hero-actions { flex-direction:column; width:min(100%,320px); }
  .hero-machine { top:59%; right:-53vw; width:170vw; opacity:.52; }
  .hero-runtime { left:18px; right:18px; bottom:22px; overflow-x:auto; }
  .hero-runtime ol { min-width:560px; }
  .hero-runtime li { padding:13px 12px; }
  .manifest { padding:110px 20px; }
  .manifest-title { font-size:clamp(29px,8.3vw,36px); line-height:1.28; letter-spacing:-.055em; }
  .section-head,.build-head,.bridge-copy { grid-template-columns:1fr; margin-bottom:64px; }
  .section-head > p,.build-head > p,.bridge-copy > p { grid-column:auto; }
  .section-index { flex-direction:row; align-items:end; gap:14px; }
  .section-index span { font-size:42px; }
  .section-head h2,.build-head h2,.knowledge-head h2,.bridge-copy h2 { font-size:clamp(34px,9.4vw,42px); line-height:1.13; letter-spacing:-.06em; }
  .compiler,.xray,.build,.architecture,.bridge,.knowledge,.contact { padding:110px 18px; }
  .compiler-stage { min-height:760px; }
  .compiler-core { width:78vw; }
  .compiler-nodes li { width:188px; min-height:132px; padding:15px; transform:translate(-50%,-50%) translateZ(0); }
  .compiler-nodes li:nth-child(1) { top:29%; left:44%; }
  .compiler-nodes li:nth-child(2) { top:38%; left:54%; }
  .compiler-nodes li:nth-child(3) { top:66%; left:50%; }
  .compiler-nodes li:nth-child(4) { top:76%; left:44%; }
  .compiler-ledger article { padding:30px 6px; }
  .xray-console { min-height:auto; }
  .xray-viewport { min-height:600px; }
  .system-stack { width:310px; }
  .stack-layer { padding:14px; }
  .stack-layer > strong { font-size:18px; }
  .xray-reticle { width:120%; }
  .xray-coordinates { left:14px; right:14px; font-size:7px; }
  .xray-panel { padding:26px 20px; }
  .build-card { min-height:510px; padding:28px 22px; }
  .build-card h3 { font-size:clamp(45px,14vw,68px); }
  .command-bar { grid-template-columns:1fr auto; }
  .command-bar > b { display:none; }
  .topology { min-height:390px; }
  .topology svg { width:100%; }
  .live-terminal { padding:22px; }
  .terminal-stream { min-height:370px; font-size:10px; }
  .bridge-scene { min-height:auto; grid-template-columns:1fr; gap:0; }
  .bridge-panel { min-height:430px; transform:none; }
  .bridge-beam { width:1px; height:100px; margin:auto; background:linear-gradient(var(--ink),var(--acid),var(--violet)); }
  .bridge-beam i { top:0; left:50%; animation:bridgePulseMobile 2.4s ease-in-out infinite; }
  @keyframes bridgePulseMobile { 0%{top:0} 50%{top:100%} 100%{top:0} }
  .bridge-beam b { top:50%; left:20px; transform:translateY(-50%); text-align:left; white-space:nowrap; }
  .bridge-result { grid-template-columns:1fr; }
  .knowledge-head { grid-template-columns:1fr; }
  .knowledge-head a { grid-column:auto; }
  .knowledge-card { padding:26px 4px; }
  .knowledge-card h3 { margin-top:46px; }
  .contact-super { font-size:clamp(56px,20vw,92px); }
  .contact-panel { padding:26px 20px; }
  .contact h2 .line-lock { white-space:normal; }
  .field-row { grid-template-columns:1fr; }
  .footer { padding-inline:18px; }
  .footer-main { grid-template-columns:1fr; }
  .footer-main nav { grid-column:auto; }
  .footer-base { flex-direction:column; gap:12px; }
  .command-dock { display:none; }
  .command-list button { grid-template-columns:30px 1fr auto; }
  .command-list button small { display:none; }
}

/* Light precision lab: bright surfaces frame the dark technical cores. */
.loading-screen { color:#fff; }
.site-header { color:var(--ink); border-bottom-color:rgba(10,13,20,.1); background:linear-gradient(180deg,rgba(244,247,242,.94),rgba(244,247,242,.68) 68%,transparent); }
.site-header.is-scrolled { background:rgba(250,252,248,.86); box-shadow:0 12px 40px rgba(10,13,20,.06); }
.logo-glyph { border-color:rgba(10,13,20,.32); background:rgba(255,255,255,.44); }
.logo-word small { color:rgba(10,13,20,.48); }
.primary-nav a { color:rgba(10,13,20,.58); }
.primary-nav a:hover { color:var(--ink); }
.header-cta { border-color:rgba(10,13,20,.24); background:rgba(255,255,255,.56); }

.hero { color:var(--ink); border-bottom-color:rgba(10,13,20,.14); background:#f4f7f2; }
.hero::before { background:linear-gradient(90deg,rgba(244,247,242,.99) 0%,rgba(244,247,242,.92) 48%,rgba(244,247,242,.26) 100%); }
.hero::after { background-image:linear-gradient(rgba(10,13,20,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(10,13,20,.055) 1px,transparent 1px); }
.hero-index,.eyebrow { color:rgba(10,13,20,.5); }
.hero-bottom p { color:rgba(10,13,20,.66); }
.button { border-color:rgba(10,13,20,.22); }
.button--solid:hover { color:#fff; border-color:var(--ink); background:var(--ink); }
.button--ghost { background:rgba(255,255,255,.6); backdrop-filter:none; }
.button--ghost:hover { border-color:var(--violet); }
.machine-halo { border-color:rgba(10,13,20,.16); }
.halo-a { border-color:rgba(91,136,0,.48); box-shadow:0 0 70px rgba(111,164,0,.08),inset 0 0 70px rgba(111,164,0,.05); }
.halo-b { border-color:rgba(0,132,151,.42); }
.halo-c { border-color:rgba(109,73,232,.48); box-shadow:0 0 54px rgba(109,73,232,.12); }
.machine-axis { background:linear-gradient(90deg,transparent,rgba(10,13,20,.26),transparent); }
.core-face { color:rgba(10,13,20,.72); border-color:rgba(10,13,20,.3); background:rgba(255,255,255,.68); backdrop-filter:none; box-shadow:inset 0 0 28px rgba(109,73,232,.05); }
.machine-caption { color:rgba(10,13,20,.62); border-color:rgba(10,13,20,.2); background:rgba(255,255,255,.78); backdrop-filter:none; }
.machine-caption b { color:#5635c9; }
.hero-runtime { color:var(--ink); border-color:rgba(10,13,20,.15); background:rgba(255,255,255,.58); backdrop-filter:none; }
.runtime-head,.hero-runtime li { border-color:rgba(10,13,20,.11); }
.runtime-head i { color:#527900; }
.hero-runtime li.active { background:rgba(191,255,56,.2); }
.hero-runtime li span { color:#5b3bd2; }
.hero-runtime li small { color:rgba(10,13,20,.48); }
.scroll-cue { color:rgba(10,13,20,.38); }
.scroll-cue i { background:rgba(10,13,20,.18); }

.manifest { row-gap:clamp(38px,5vw,78px); background:linear-gradient(135deg,#edf2eb 0%,#f8faf6 58%,#edf1ff 100%); }
.engineering-proof { position:relative; z-index:2; grid-column:1/-1; display:grid; grid-template-columns:minmax(190px,.42fr) minmax(0,1.58fr); border-block:1px solid rgba(10,13,20,.2); }
.proof-intro { padding:24px 28px 24px 0; display:flex; flex-direction:column; justify-content:space-between; gap:28px; border-right:1px solid rgba(10,13,20,.16); font-family:"IBM Plex Mono",monospace; }
.proof-intro span { color:#5736ce; font-size:12px; font-weight:600; letter-spacing:.1em; }
.proof-intro b { color:rgba(10,13,20,.38); font-size:10px; font-weight:500; letter-spacing:.1em; }
.engineering-proof dl { margin:0; display:grid; grid-template-columns:repeat(4,1fr); }
.engineering-proof dl > div { min-width:0; padding:24px clamp(16px,2vw,30px); border-right:1px solid rgba(10,13,20,.12); }
.engineering-proof dl > div:last-child { border-right:0; }
.engineering-proof dt { color:#5736ce; font:600 11px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; }
.engineering-proof dd { min-height:46px; margin:16px 0 22px; color:rgba(10,13,20,.62); font-size:13px; line-height:1.7; }
.engineering-proof i { display:flex; gap:4px; height:3px; }
.engineering-proof i b { flex:1; background:rgba(10,13,20,.12); }
.engineering-proof i b:first-child { background:var(--violet); }
.engineering-proof i b:nth-child(2) { background:var(--acid); }

.compiler { color:var(--ink); background:linear-gradient(180deg,#f8faf6,#eef2ec); }
.compiler::before { background:radial-gradient(circle at 50% 50%,rgba(109,73,232,.1),transparent 34%),linear-gradient(rgba(10,13,20,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(10,13,20,.045) 1px,transparent 1px); background-size:auto,64px 64px,64px 64px; }
.compiler .section-index { color:rgba(10,13,20,.5); }
.compiler .section-index span,.architecture .section-index span,.bridge .section-index span,.contact .section-index span { color:var(--violet); }
.compiler .section-head h2 em,.architecture .section-head h2 em,.bridge-copy h2 em { -webkit-text-stroke-color:rgba(10,13,20,.72); }
.compiler .section-head > p,.architecture .section-head > p,.bridge-copy > p { color:rgba(10,13,20,.62); border-top-color:rgba(10,13,20,.2); }
.compiler-stage { color:#fff; background:radial-gradient(circle at 50% 48%,rgba(109,73,232,.22),transparent 23%),#090b11; box-shadow:0 50px 120px rgba(22,28,35,.16); }
.compiler-nodes li { backdrop-filter:none; }
.compiler-ledger { border-top-color:rgba(10,13,20,.18); }
.compiler-ledger article { border-right-color:rgba(10,13,20,.12); }
.compiler-ledger span { color:#5736ce; }
.compiler-ledger p { color:rgba(10,13,20,.58); }

.xray { color:#fff; }
.xray-console,.stack-layer { backdrop-filter:none; }

.architecture { color:var(--ink); background:linear-gradient(180deg,#eef2ec,#f8faf6); }
.architecture-glow { background:radial-gradient(circle,rgba(109,73,232,.1),transparent 58%); }
.architecture .section-index { color:rgba(10,13,20,.5); }
.command-center { isolation:isolate; color:#fff; background:#090b12; box-shadow:0 50px 130px rgba(20,25,35,.2); }
.live-terminal,.terminal-stream { background:#080a10; }
.live-terminal { position:relative; isolation:isolate; }
.terminal-line,.terminal-line > span { filter:none; backdrop-filter:none; mix-blend-mode:normal; }

.bridge { color:var(--ink); background:linear-gradient(135deg,#f8faf6 0%,#edf2eb 62%,#eeebff 100%); }
.bridge::before { background:linear-gradient(transparent,rgba(109,73,232,.35),transparent); }
.bridge .section-index { color:rgba(10,13,20,.48); }
.bridge-panel { box-shadow:0 34px 90px rgba(10,13,20,.12); }
.bridge-panel--tree { background:#fff; }
.bridge-panel--tech { color:#fff; background:#6543dc; }
.bridge-beam b { color:rgba(10,13,20,.48); }
.bridge-result { border-color:rgba(10,13,20,.18); }
.bridge-result span,.bridge-result small { color:rgba(10,13,20,.48); }

.contact { color:var(--ink); background:linear-gradient(135deg,#f8faf6,#eef2ec); }
.contact::before { background-image:linear-gradient(rgba(10,13,20,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(10,13,20,.04) 1px,transparent 1px); }
.contact-orbit { border-color:rgba(91,136,0,.18); }
.contact-orbit i { border-color:rgba(109,73,232,.2); }
.contact-notes { color:rgba(10,13,20,.5); }
.contact-super em { color:var(--violet); }
.contact-panel { color:var(--ink); border-color:rgba(10,13,20,.18); background:rgba(255,255,255,.82); box-shadow:0 45px 130px rgba(20,25,35,.12); backdrop-filter:none; }
.contact-panel-head { color:rgba(10,13,20,.48); border-bottom-color:rgba(10,13,20,.13); }
.contact-panel-head b { color:#527900; }
.contact-panel label > span { color:rgba(10,13,20,.5); }
.contact-panel input,.contact-panel textarea { color:var(--ink); border-bottom-color:rgba(10,13,20,.24); }
.contact-panel input::placeholder,.contact-panel textarea::placeholder { color:rgba(10,13,20,.28); }
.contact-panel input:focus,.contact-panel textarea:focus { border-color:var(--violet); background:linear-gradient(90deg,rgba(109,73,232,.04),transparent); }
.form-privacy { color:rgba(10,13,20,.42); }
.form-success p { color:rgba(10,13,20,.58); }
.submit-button:hover { color:#fff; background:var(--ink); }

[data-motion-scene]:not(.is-scene-active) * { animation-play-state:paused !important; }

@media (max-width:980px) {
  .engineering-proof { grid-template-columns:1fr; }
  .proof-intro { padding-right:0; flex-direction:row; border-right:0; border-bottom:1px solid rgba(10,13,20,.16); }
  .engineering-proof dl { grid-template-columns:repeat(2,1fr); }
  .engineering-proof dl > div:nth-child(2) { border-right:0; }
  .engineering-proof dl > div:nth-child(-n+2) { border-bottom:1px solid rgba(10,13,20,.12); }
}

@media (max-width:640px) {
  .site-header.is-scrolled { backdrop-filter:blur(8px); }
  .hero-title { font-size:clamp(32px,10vw,42px); }
  .hero-machine { opacity:.36; }
  .hero-runtime { background:rgba(255,255,255,.78); }
  .manifest { gap:36px; }
  .engineering-proof dl { grid-template-columns:1fr; }
  .engineering-proof dl > div { padding:20px 4px; border-right:0; border-bottom:1px solid rgba(10,13,20,.12); }
  .engineering-proof dl > div:last-child { border-bottom:0; }
  .proof-intro { padding:20px 0; }
  .compiler-nodes li,.stack-layer { backdrop-filter:none; }
  .bridge-panel h3 { font-size:clamp(38px,12vw,56px); }
}

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