:root {
  --bg: #080a0e;
  --bg-soft: #0d1016;
  --panel: rgba(17, 21, 29, 0.78);
  --panel-2: #121720;
  --line: rgba(255,255,255,0.10);
  --line-strong: rgba(255,255,255,0.18);
  --text: #f3f5f7;
  --muted: #8f98a7;
  --accent: #9cff57;
  --accent-soft: rgba(156,255,87,0.12);
  --blue: #7db6ff;
  --radius: 22px;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}
body::selection { background: var(--accent); color: #071005; }
a { color: inherit; text-decoration: none; }

.noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 50; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
.grid-bg {
  position: fixed; inset: 0; z-index: -3; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, black, transparent 82%);
}
.grid-bg::after {
  content: ""; position: absolute; width: 900px; height: 900px; left: 55%; top: -300px;
  background: radial-gradient(circle, rgba(119,177,255,.10), transparent 64%);
}

.site-header {
  height: 82px; max-width: var(--max); margin: auto; padding: 0 28px;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  border-bottom: 1px solid var(--line);
}
.brand { display:inline-flex; align-items:center; }
.brand-logo { display:block; width:190px; height:auto; object-fit:contain; }
.nav { display: flex; gap: 34px; font-size: 13px; color: #b4bbc7; }
.nav a { transition: color .2s ease; }
.nav a:hover { color: white; }
.status-chip { justify-self: end; border: 1px solid var(--line); border-radius: 999px; padding: 9px 13px; color: #aeb6c4; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; display:flex; align-items:center; gap:8px; }
.dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 12px var(--accent); }
.section-shell { max-width: var(--max); margin: auto; padding-left: 28px; padding-right: 28px; }

.hero { min-height: 790px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 48px; padding-top: 74px; padding-bottom: 74px; }
.eyebrow { display: flex; align-items: center; gap: 11px; color: #a7afbb; font-size: 11px; letter-spacing: .15em; font-weight: 600; margin-bottom: 24px; }
.eyebrow span { width: 28px; height: 1px; background: var(--accent); box-shadow: 0 0 8px rgba(156,255,87,.55); }
h1,h2,h3,h4,p { margin-top: 0; }
h1 { font-family: "Space Grotesk", sans-serif; font-size: clamp(42px, 4.6vw, 68px); line-height: .98; letter-spacing: -.055em; max-width: 770px; margin-bottom: 28px; }
h1 em { font-style: normal; color: #7f8998; font-weight: 500; }
.hero-lead { max-width: 690px; color: #a7afbb; font-size: 17px; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 36px 0 48px; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 22px; padding: 0 19px; border-radius: 8px; font-size: 13px; font-weight: 700; transition: .2s ease; }
.button.primary { background: var(--accent); color: #081006; }
.button.primary:hover { transform: translateY(-2px); box-shadow: 0 10px 35px rgba(156,255,87,.16); }
.button.ghost { border: 1px solid var(--line-strong); color: #c8ced7; }
.button.ghost:hover { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.03); }
.hero-meta { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; padding-top: 28px; border-top: 1px solid var(--line); }
.hero-meta div { display: flex; flex-direction: column; gap: 8px; }
.hero-meta strong { font-size: 12px; }
.hero-meta span { font-size: 11px; line-height: 1.55; color: #707988; }

.hero-visual { position: relative; aspect-ratio: 1/1; max-width: 560px; width: 100%; justify-self: end; display:grid; place-items:center; }
.hero-visual::before { content:""; position:absolute; inset:10%; border-radius:50%; background: radial-gradient(circle, rgba(156,255,87,.07), transparent 60%); filter: blur(8px); }
.orbit { position:absolute; border:1px solid rgba(255,255,255,.10); border-radius:50%; }
.orbit::before { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background: var(--accent); box-shadow:0 0 15px var(--accent); top:50%; left:-4px; }
.orbit-1 { inset:5%; animation: spin 20s linear infinite; }
.orbit-2 { inset:18%; border-style:dashed; animation: spinReverse 28s linear infinite; }
.orbit-3 { inset:32%; animation: spin 14s linear infinite; }
.radar-line { position:absolute; width:42%; height:1px; background:linear-gradient(90deg, transparent, rgba(156,255,87,.85)); transform-origin:right center; right:50%; top:50%; animation: radar 7s linear infinite; }
.core-card { position:relative; z-index:3; width:225px; padding:30px 24px; background:rgba(10,13,18,.90); border:1px solid rgba(255,255,255,.16); border-radius:16px; box-shadow:0 30px 70px rgba(0,0,0,.38); text-align:center; backdrop-filter: blur(18px); }
.core-kicker { display:block; color:#737d8e; font-size:9px; text-transform:uppercase; letter-spacing:.2em; margin-bottom:15px; }
.core-logo-img { display:block; width:170px; max-width:100%; height:auto; margin:0 auto; object-fit:contain; }
.core-card p { color:#6f7989; font-size:9px; line-height:1.65; letter-spacing:.1em; margin:12px 0 20px; }
.core-state { border-top:1px solid var(--line); padding-top:15px; font-size:8px; color:#9aa3b1; letter-spacing:.08em; display:flex; justify-content:center; align-items:center; gap:7px; }
.core-state span { width:6px;height:6px;background:var(--accent);border-radius:50%; }
.floating-card { position:absolute; z-index:4; width:155px; min-height:78px; border:1px solid var(--line); background:rgba(13,16,22,.82); backdrop-filter:blur(12px); border-radius:11px; padding:13px; box-shadow:0 18px 45px rgba(0,0,0,.28); }
.floating-card span { color:#556071; font-size:8px; display:block; margin-bottom:9px; }
.floating-card b { font-family:"Space Grotesk"; font-size:13px; display:block; }
.floating-card small { color:#77808e; font-size:7px; letter-spacing:.13em; }
.card-a { top:17%; left:-2%; animation: float 5s ease-in-out infinite; }
.card-b { right:-3%; top:27%; animation: float 6s ease-in-out infinite reverse; }
.card-c { bottom:13%; left:7%; animation: float 7s ease-in-out infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes spinReverse { to { transform:rotate(-360deg); } }
@keyframes radar { to { transform:rotate(360deg); } }
@keyframes float { 50% { transform:translateY(-8px); } }

.ticker { border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; padding:15px 0; color:#5f6876; font-size:10px; letter-spacing:.18em; }
.ticker-track { display:flex; width:max-content; gap:25px; align-items:center; animation:ticker 35s linear infinite; }
.ticker i { color:var(--accent); font-style:normal; font-size:7px; }
@keyframes ticker { to { transform:translateX(-50%); } }

.projects { padding-top:120px; padding-bottom:130px; }
.section-heading { display:grid; grid-template-columns:.7fr 1.25fr 1fr; gap:50px; align-items:end; margin-bottom:58px; }
.section-heading > div { display:flex; gap:13px; align-items:center; }
.section-no { font-family:"Space Grotesk"; font-size:11px; color:var(--accent); }
.section-heading > div p { margin:0; color:#8992a1; font-size:10px; letter-spacing:.14em; font-weight:700; }
.section-heading h2 { margin:0; font-family:"Space Grotesk"; font-size:43px; line-height:1.06; letter-spacing:-.04em; }
.section-heading h2 span { color:#6f7988; font-weight:500; }
.section-heading > p { margin:0; color:#8b94a2; font-size:13px; line-height:1.75; max-width:340px; }
.section-heading em { color:#cfd4dc; font-style:normal; }
.project-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.project-card { min-height:430px; border:1px solid var(--line); border-radius:var(--radius); padding:24px; background:linear-gradient(145deg, rgba(18,23,32,.9), rgba(10,13,18,.96)); display:flex; flex-direction:column; position:relative; overflow:hidden; transition:transform .25s ease,border-color .25s ease; }
.project-card:hover { transform:translateY(-4px); border-color:rgba(255,255,255,.22); }
.project-card.feature { background:radial-gradient(circle at 85% 15%, rgba(156,255,87,.11), transparent 31%), linear-gradient(145deg, #121820, #0b0f14); }
.card-top { display:flex; justify-content:space-between; align-items:center; }
.project-index { color:#505a69; font-size:9px; letter-spacing:.12em; }
.tag { font-size:8px; letter-spacing:.12em; border:1px solid var(--line); border-radius:999px; padding:6px 8px; color:#6f7886; }
.tag.active { color:var(--accent); border-color:rgba(156,255,87,.25); background:rgba(156,255,87,.05); }

.alg-logo-wrap {
  margin: 38px 0 22px;
  width: min(75%, 390px);
}
.alg-logo {
  display: block;
  width: 100%;
  height: auto;
}
.project-icon { width:72px;height:72px;border:1px solid var(--line);border-radius:17px;display:grid;place-items:center;margin:55px 0 28px;font-family:"Space Grotesk";font-weight:700;font-size:20px;background:rgba(255,255,255,.025); }
.project-icon.moose { color:var(--accent); box-shadow:inset 0 0 25px rgba(156,255,87,.04); }
.project-icon.sim { color:#7db6ff; font-size:14px; }
.project-icon.home { color:#e0c784; font-size:27px; }
.project-type { color:#667181; font-size:8px; letter-spacing:.16em; font-weight:700; margin-bottom:8px; }
.project-card h3 { font-family:"Space Grotesk";font-size:36px;letter-spacing:-.04em;margin-bottom:13px; }
.project-card h3 span { color:var(--accent); }
.project-card p:not(.project-type) { max-width:490px;color:#8d96a4;font-size:13px;line-height:1.7; }
.project-footer { margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#596474;font-size:8px;letter-spacing:.12em; }
.project-footer .arrow { font-size:18px;color:#aeb6c2;letter-spacing:0; }
.muted-card { opacity:.78; }
.future-card { background:#0a0d12; }
.future-grid { position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(135deg,transparent,black); }
.future-card > *:not(.future-grid) { position:relative;z-index:1; }

.philosophy { padding-top:110px; padding-bottom:130px; border-top:1px solid var(--line); }
.section-heading.compact { grid-template-columns:.7fr 1.6fr; }
.manifesto { display:grid;grid-template-columns:1.35fr .65fr; gap:100px; margin:75px 0 90px; }
.big-copy { font-family:"Space Grotesk";font-size:42px;line-height:1.2;letter-spacing:-.035em; }
.big-copy span { color:var(--accent); }
.manifesto-copy p { color:#9099a7;line-height:1.85;font-size:13px;margin-bottom:22px; }
.principles { display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.principles > div { padding:31px 25px 34px;border-right:1px solid var(--line); }
.principles > div:first-child { padding-left:0; }
.principles > div:last-child { border-right:0; }
.principles span { color:#566171;font-size:9px; }
.principles h4 { font-family:"Space Grotesk";font-size:16px;margin:42px 0 10px; }
.principles p { color:#747e8d;font-size:11px;line-height:1.6; }

.lab { padding-bottom:130px; }
.lab-panel { border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 8% 10%,rgba(125,182,255,.08),transparent 28%),#0b0f14;padding:68px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center; }
.lab-copy .section-no { display:block;margin-bottom:28px; }
.lab-copy h2 { font-family:"Space Grotesk";font-size:42px;line-height:1.1;letter-spacing:-.04em; }
.lab-copy h2 span { color:#77818f;font-weight:500; }
.lab-copy p { color:#8c96a5;line-height:1.8;font-size:13px;max-width:520px; }
.terminal { background:#07090c;border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 30px 70px rgba(0,0,0,.32);overflow:hidden;transform:rotate(1deg); }
.terminal-bar { height:42px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 14px;gap:7px;color:#535d6b;font-size:8px;letter-spacing:.1em; }
.terminal-bar i { width:7px;height:7px;border-radius:50%;background:#28303b; }
.terminal-bar span { margin-left:auto; }
.terminal-body { padding:25px 27px 30px;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:11px;line-height:1.9;color:#aeb6c3;min-height:250px; }
.terminal-body p { margin-bottom:3px; }
.prompt { color:var(--accent); }
.ok { color:var(--accent); }
.warn { color:#e1c46f; }
.dim { color:#4f5967; }
.cursor { display:inline-block;width:7px;height:13px;background:#aab3bf;vertical-align:-2px;animation:blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity:0; } }

.closing { text-align:center;padding-top:125px;padding-bottom:140px;border-top:1px solid var(--line); }
.closing-kicker { color:#7b8492;font-size:9px;letter-spacing:.18em;margin-bottom:26px; }
.closing h2 { font-family:"Space Grotesk";font-size:clamp(48px,6vw,82px);line-height:1.02;letter-spacing:-.055em;margin-bottom:24px; }
.closing h2 span { color:#66707e;font-weight:500; }
.closing > p:not(.closing-kicker) { color:#747d89;margin-bottom:34px; }

footer { max-width:var(--max);margin:auto;border-top:1px solid var(--line);min-height:110px;padding:0 28px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:#66707e;font-size:10px; }
.footer-brand { color:var(--text); }
footer > p:nth-child(2) { text-align:center; }
.copyright { text-align:right; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
.reveal.visible { opacity:1;transform:none; }

@media (max-width: 980px) {
  .site-header { grid-template-columns:1fr 1fr; }
  .nav { display:none; }
  .hero { grid-template-columns:1fr; padding-top:85px; }
  .hero-visual { max-width:520px;justify-self:center; }
  .section-heading,.section-heading.compact { grid-template-columns:1fr;gap:20px; }
  .section-heading > p { max-width:620px; }
  .manifesto { grid-template-columns:1fr;gap:30px; }
  .principles { grid-template-columns:repeat(2,1fr); }
  .principles > div:nth-child(2) { border-right:0; }
  .principles > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .principles > div:first-child { padding-left:25px; }
  .lab-panel { grid-template-columns:1fr;padding:45px; }
}

@media (max-width: 680px) {
  .site-header { height:70px;padding:0 18px; }
  .status-chip { font-size:0;padding:9px; }
  .status-chip .dot { margin:0; }
  .section-shell { padding-left:18px;padding-right:18px; }
  .hero { min-height:auto;padding-top:70px;padding-bottom:70px; }
  h1 { font-size:40px; }
  .hero-lead { font-size:15px; }
  .hero-meta { grid-template-columns:1fr; }
  .hero-visual { margin-top:20px; }
  .floating-card { width:124px; }
  .card-a { left:0; }
  .card-b { right:0; }
  .projects,.philosophy { padding-top:85px;padding-bottom:90px; }
  .project-grid { grid-template-columns:1fr; }
  .project-card { min-height:390px; }
  .big-copy { font-size:33px; }
  .principles { grid-template-columns:1fr; }
  .principles > div { border-right:0;border-bottom:1px solid var(--line);padding-left:0!important; }
  .principles > div:last-child { border-bottom:0; }
  .lab { padding-bottom:90px; }
  .lab-panel { padding:30px 22px;gap:40px; }
  .lab-copy h2 { font-size:34px; }
  .terminal { transform:none; }
  footer { grid-template-columns:1fr;text-align:center;gap:14px;padding-top:30px;padding-bottom:30px; }
  footer > p:nth-child(2),.copyright { text-align:center; margin:0; }
}
