:root {
  color-scheme: light;
  --ink: #11131a; --muted: #626578; --line: #dddffd; --surface: #f7f7ff;
  --surface-strong: #efefff; --purple: #4b4efc; --purple-dark: #3336d8; --white: #fff;
  --radius-lg: 28px; --radius-md: 18px; --page: min(1180px, calc(100vw - 48px));
  font-family: Geist, "Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--white); color: var(--ink); font-size: 16px; line-height: 1.55; }
a { color: inherit; }
.site-header, main, footer { width: var(--page); margin-inline: auto; }
.site-header { min-height: 80px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #ececf7; }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; font-weight: 680; letter-spacing: -.02em; }
.brand-mark { width: 25px; height: 25px; display: inline-grid; grid-template-columns: repeat(3, 1fr); gap: 2px; transform: skewY(-8deg); }
.brand-mark span { display: block; background: var(--purple); border-radius: 3px; }
.brand-mark span:nth-child(1) { height: 62%; align-self: end; }
.brand-mark span:nth-child(2) { height: 100%; }
.brand-mark span:nth-child(3) { height: 78%; align-self: end; }
.status { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; }
.status > span { width: 8px; height: 8px; border-radius: 50%; background: #21a469; box-shadow: 0 0 0 5px #e7f8ef; }

.hero { min-height: 670px; display: grid; grid-template-columns: minmax(0,.92fr) minmax(460px,1.08fr); gap: clamp(48px,7vw,100px); align-items: center; padding: 96px 0 112px; }
.hero-copy { max-width: 580px; }
.eyebrow { margin: 0 0 18px; color: var(--purple); font-size: 14px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
h1, h2, h3, p { text-wrap: pretty; }
h1 { margin: 0; max-width: 640px; font-size: clamp(44px,5.2vw,68px); line-height: .98; letter-spacing: -.058em; font-weight: 670; }
.lede { margin: 28px 0 0; max-width: 580px; color: var(--muted); font-size: 19px; line-height: 1.6; }
.hero-actions { margin-top: 36px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.primary-action { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: 12px; background: var(--purple); color: var(--white); font-weight: 650; text-decoration: none; box-shadow: 0 10px 30px rgba(75,78,252,.18); }
.primary-action:hover, .primary-action:focus-visible { background: var(--purple-dark); transform: translateY(-1px); }
.primary-action:focus-visible, .brand:focus-visible { outline: 3px solid rgba(75,78,252,.28); outline-offset: 4px; }
.boundary { color: var(--muted); font-size: 14px; }

.control-tower { position: relative; isolation: isolate; overflow: hidden; min-height: 500px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg,rgba(255,255,255,.96),rgba(246,246,255,.92)); box-shadow: 0 30px 90px rgba(31,31,87,.1); }
.signal-field { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: radial-gradient(circle at 84% 16%,rgba(75,78,252,.14),transparent 28%), linear-gradient(135deg,transparent 48%,rgba(75,78,252,.055) 49%,transparent 50%); }
.orbit { position: absolute; border: 1px solid rgba(75,78,252,.12); border-radius: 50%; }
.orbit-one { width: 420px; height: 420px; right: -180px; top: -145px; }
.orbit-two { width: 270px; height: 270px; right: -75px; top: -55px; }
.signal { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--purple); box-shadow: 0 0 0 8px rgba(75,78,252,.08); }
.signal-one { right: 108px; top: 92px; } .signal-two { right: 56px; top: 180px; opacity: .55; } .signal-three { left: 60px; bottom: 54px; opacity: .3; }
.tower-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 48px; font-size: 14px; font-weight: 650; }
.live-dot { color: #17784c; font-weight: 600; }
.flow-step { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 16px; align-items: center; min-height: 94px; padding: 18px; border: 1px solid #e8e8f4; border-radius: var(--radius-md); background: rgba(255,255,255,.85); }
.flow-step.current { border-color: rgba(75,78,252,.35); box-shadow: 0 14px 40px rgba(75,78,252,.08); }
.step-index { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--surface-strong); color: var(--purple); font-size: 13px; font-weight: 700; }
.flow-step strong, .flow-step small { display: block; } .flow-step strong { font-size: 16px; }
.flow-step small { margin-top: 3px; color: var(--muted); font-size: 14px; line-height: 1.4; }
.step-state { padding: 6px 10px; border-radius: 999px; background: #e9f8f0; color: #17784c; font-size: 12px; font-weight: 700; }
.step-state.neutral { background: #f0f0f8; color: var(--muted); }
.flow-line { width: 1px; height: 25px; margin-left: 37px; background: var(--line); }

.foundation { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(56px,9vw,128px); padding: 112px 0; border-top: 1px solid #ececf7; }
.section-intro { position: sticky; top: 40px; align-self: start; }
h2 { margin: 0; font-size: clamp(36px,4vw,52px); line-height: 1.05; letter-spacing: -.045em; }
.section-intro > p:last-child { margin: 24px 0 0; color: var(--muted); font-size: 17px; }
.capability-list { border-top: 1px solid var(--line); }
.capability-list article { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 24px; padding: 32px 0; border-bottom: 1px solid var(--line); }
.capability-list article > span { color: var(--purple); font-size: 14px; font-weight: 700; }
.capability-list h3 { margin: 0; font-size: 23px; letter-spacing: -.025em; }
.capability-list p { margin: 9px 0 0; color: var(--muted); }
.capability-list .supporting { opacity: .76; }
.evidence-rail { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); overflow: hidden; }
.evidence-rail div { min-height: 148px; padding: 26px; border-right: 1px solid var(--line); }
.evidence-rail div:last-child { border-right: 0; }
.evidence-rail strong, .evidence-rail span { display: block; }
.evidence-rail strong { font-size: 15px; }
.evidence-rail span { margin-top: 12px; color: var(--muted); font-size: 14px; line-height: 1.5; }
footer { min-height: 130px; display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 14px; }

@media (max-width: 900px) {
  :root { --page: min(100% - 32px,720px); }
  .hero { min-height: auto; grid-template-columns: 1fr; padding: 72px 0 84px; }
  .hero-copy { max-width: 670px; } .control-tower { min-height: 470px; }
  .foundation { grid-template-columns: 1fr; gap: 48px; padding: 84px 0; } .section-intro { position: static; }
  .evidence-rail { grid-template-columns: 1fr 1fr; }
  .evidence-rail div:nth-child(2) { border-right: 0; } .evidence-rail div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 560px) {
  :root { --page: calc(100% - 28px); }
  .site-header { min-height: 68px; } .status { font-size: 0; } .status > span { margin-right: 2px; }
  .hero { gap: 48px; padding-top: 60px; } h1 { font-size: clamp(40px,13vw,54px); } .lede { font-size: 17px; }
  .control-tower { min-height: 0; padding: 18px; border-radius: 22px; } .tower-head { margin-bottom: 32px; }
  .flow-step { grid-template-columns: 38px 1fr; min-height: 88px; padding: 14px; } .step-state { display: none; } .flow-line { margin-left: 32px; }
  .evidence-rail { grid-template-columns: 1fr; } .evidence-rail div { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); } .evidence-rail div:last-child { border-bottom: 0; }
  footer { align-items: flex-start; flex-direction: column; justify-content: center; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
