:root {
  color-scheme: dark;
  --bg: #090c12;
  --panel: #10151e;
  --line: #242c3a;
  --text: #e9edf5;
  --muted: #929fb3;
  --blue: #719cff;
  --teal: #74cfba;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  background: var(--bg);
  color: var(--text);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, select, input[type="range"] { cursor: pointer; }
button { color: inherit; }
button:disabled { cursor: default; opacity: .45; }
[hidden] { display: none !important; }
a, button { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
::selection { background: #3359aa; color: white; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-family: "Space Grotesk", sans-serif; font-weight: 500; line-height: 1.12; }
h2 { font-size: clamp(2rem, 3.6vw, 3.1rem); letter-spacing: -.045em; }
h3 { letter-spacing: -.025em; }
.shell, .header-inner { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
.mono, .eyebrow, .category-label, .process-number, .process-deliverable {
  font-family: "IBM Plex Mono", monospace;
  font-size: .66rem;
  font-weight: 400;
  letter-spacing: .045em;
}
.muted { color: #8b98ad; }
.eyebrow { color: var(--blue); letter-spacing: .12em; margin-bottom: 22px; }
.status-dot { display: inline-block; width: 6px; height: 6px; background: var(--teal); border-radius: 50%; margin-right: 9px; box-shadow: 0 0 12px #74cfba35; }
.skip-link { position: absolute; left: 24px; top: -80px; z-index: 50; padding: 10px 18px; background: var(--blue); color: var(--bg); }
.skip-link:focus { top: 16px; }
.site-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid #ffffff12; background: #090c12dc; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.header-inner { height: 98px; display: flex; justify-content: space-between; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 13px; font-weight: 700; font-size: .88rem; line-height: 1.2; letter-spacing: .09em; }
.brand-symbol { color: var(--blue); font-size: 2rem; letter-spacing: -.17em; transform: skew(-8deg); margin-right: 5px; }
.brand-division { display: block; font-family: "IBM Plex Mono", monospace; color: var(--muted); font-size: .53rem; letter-spacing: .21em; margin-top: 5px; font-weight: 400; }
#site-nav { display: flex; align-items: center; gap: 30px; font-size: .76rem; }
#site-nav a:not(.header-cta) { color: #bac3d2; }
#site-nav a:hover { color: var(--blue); }
#site-nav a > span:first-child { font-family: "IBM Plex Mono", monospace; font-size: .58rem; color: #61718b; margin-right: 5px; }
.header-cta { border: 1px solid #486bb0; padding: 9px 15px; color: var(--blue); }
.header-cta span { margin-left: 14px; }
.menu-toggle { display: none; }
.hero-stage { position: relative; isolation: isolate; overflow: hidden; border-bottom: 1px solid #ffffff0b; }
.hero-stage::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #070b1290 0%, #080d1552 46%, #08101b24 74%, #080c134d 100%), linear-gradient(180deg, #090c120d 0%, #090c1266 100%); pointer-events: none; }
.hero-background-video { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 1; filter: saturate(1.3) contrast(1.12) brightness(1.28); pointer-events: none; }
.hero { position: relative; z-index: 2; display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; padding-top: 95px; padding-bottom: 72px; align-items: center; }
.hero-copy { text-shadow: 0 2px 18px #000c; }
.hero h1 { font-size: clamp(4rem, 6.8vw, 6.15rem); letter-spacing: -.068em; line-height: 1.04; }
.hero h1 > span, .contact-section h2 > span { color: var(--blue); }
.hero-description { color: #aab5c7; max-width: 495px; font-size: .96rem; margin-top: 28px; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 31px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 22px; border: 1px solid #35445e; background: #162132; padding: 13px 20px; font-size: .78rem; font-weight: 600; line-height: 1.5; border-radius: 3px; transition: background .2s, border-color .2s; }
.button:hover:not(:disabled) { background: #213554; border-color: var(--blue); }
.button.primary { background: #4777e8; border-color: #5986ed; color: white; }
.button.primary:hover:not(:disabled) { background: #5b89f3; }
.button.small { padding: 9px 13px; font-size: .7rem; gap: 16px; }
.text-link { font-size: .8rem; border-bottom: 1px solid #52647f; padding-block: 6px; display: inline-flex; gap: 13px; }
.text-link:hover { color: var(--blue); border-color: var(--blue); }
.hero-byline { font-size: .69rem; color: #8997aa; margin-top: 25px; }
.hero-byline a { color: #b4c0d4; }
.hero-metrics { --metrics-progress: 100%; position: relative; min-height: 620px; width: 116%; margin-left: -8%; perspective: 1200px; pointer-events: none; }
.hero-metrics::before { content: ""; position: absolute; inset: 12% 4% 5%; background: radial-gradient(ellipse, #0b61e72b 0%, #061a3a17 43%, transparent 72%); filter: blur(12px); }
.metric-panel { --float-y: -8px; --float-x: 2px; --panel-rotate: 0deg; position: absolute; z-index: 1; margin: 0; overflow: hidden; border: 1px solid #4788d8a8; border-radius: 5px; background: #07101d; box-shadow: 0 20px 52px #000b, 0 0 28px #147cff24, inset 0 0 0 1px #9bc8ff0d; transform: translate3d(0, 0, 0) rotate(var(--panel-rotate)); animation: metric-float 7s ease-in-out infinite alternate; will-change: transform; }
.metric-panel::before { content: ""; position: absolute; inset: 0; background-image: var(--panel-image); background-size: 100% 100%; opacity: .7; filter: brightness(.75) saturate(.82) blur(.2px); }
.metric-panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(108deg, transparent 22%, #b8e7ff0c 44%, transparent 60%); transform: translateX(-130%); animation: metric-scan 10s ease-in-out infinite; }
.metric-panel img { position: relative; z-index: 1; display: block; width: 100%; height: auto; clip-path: inset(0 calc(100% - var(--metrics-progress)) 0 0); }
.metric-validation > img, .metric-training > img, .metric-normalized > img { clip-path: none; }
.metric-training > img { opacity: .58; filter: brightness(.64) saturate(.78); }
.training-cell-mask { position: absolute; z-index: 2; background: #06101ff2; box-shadow: inset 0 0 0 1px #31527a55; }
.training-curve-layer { position: absolute; inset: 0; z-index: 3; opacity: 0; background: url("/assets/metrics/metrics_training_curves.webp") 0 0 / 100% 100% no-repeat; will-change: opacity; }
.validation-plot-base, .hero-live-curves { position: absolute; left: 6.6%; top: 15%; width: 90.5%; height: 73%; }
.validation-plot-base { z-index: 2; background-color: #071222; background-image: linear-gradient(#2540644d 1px, transparent 1px), linear-gradient(90deg, #2540644d 1px, transparent 1px); background-size: 20% 25%; }
.hero-live-curves { z-index: 3; overflow: visible; clip-path: inset(0 calc(100% - var(--metrics-progress)) 0 0); will-change: clip-path; }
.hero-curve { fill: none; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 3px currentColor); }
.curve-precision { color: #55baff; stroke: currentColor; }.curve-recall { color: #ff922f; stroke: currentColor; }.curve-map50 { color: #4ae578; stroke: currentColor; }.curve-map5095 { color: #ff4f55; stroke: currentColor; }
.hero-epoch-marker { stroke: #b8dcff; stroke-width: 1; stroke-dasharray: 7 8; opacity: .48; vector-effect: non-scaling-stroke; }
.metric-validation { --panel-image: url("/assets/metrics/metrics_val_curve.webp"); top: 0; left: 14%; width: 78%; z-index: 2; --float-y: -9px; --float-x: 1px; --panel-rotate: -.16deg; animation-duration: 7.2s; box-shadow: 0 22px 60px #000c, 0 0 30px #168cff2b; }
.metric-training { --panel-image: url("/assets/metrics/metrics_training_curves.webp"); top: 28%; left: -1%; width: 70%; z-index: 4; --panel-rotate: .13deg; animation-duration: 8.6s; animation-delay: -2.2s; }
.metric-distribution { --panel-image: url("/assets/metrics/metrics%20conf%20matrix.webp"); top: 34%; right: -3%; width: 49%; z-index: 1; --float-y: 7px; --float-x: 3px; --panel-rotate: .3deg; animation-duration: 9.2s; animation-delay: -4.4s; }
.metric-normalized { --panel-image: url("/assets/metrics/metrics%20conf%20matrix%20norm.webp"); bottom: 0; left: 3%; width: 51%; z-index: 5; --float-y: 6px; --float-x: -2px; --panel-rotate: -.34deg; animation-duration: 8.2s; animation-delay: -3.1s; }
.confusion-live { position: absolute; z-index: 3; left: 23.1%; top: 20.1%; width: 57.5%; height: 64.6%; display: none; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); background: #071222; }
.js .confusion-live { display: grid; }
.confusion-live i { display: grid; place-items: center; border: 1px solid #70baff66; color: #e7f4ff; font-family: "IBM Plex Mono", monospace; font-size: clamp(.34rem, .62vw, .58rem); font-style: normal; text-shadow: 0 0 7px #8bd8ff; transition: background-color .08s linear, color .08s linear; }
.metrics-readout { position: absolute; right: 0; top: 3%; z-index: 7; display: flex; gap: 9px; align-items: center; padding: 6px 9px; border: 1px solid #285a78; background: #07121de8; color: #80a6d8; font-size: .41rem; letter-spacing: .08em; box-shadow: 0 8px 24px #000a; }
.metrics-readout b { color: #d8e8ff; font-weight: 500; }
.metrics-live { color: #77d9e8; }
.metrics-live i { display: inline-block; width: 5px; height: 5px; margin-right: 5px; border-radius: 50%; background: #56f1db; box-shadow: 0 0 10px #56f1db; animation: telemetry-pulse 1.8s ease-in-out infinite; }
@keyframes metric-float { to { transform: translate3d(var(--float-x), var(--float-y), 0) rotate(var(--panel-rotate)); } }
@keyframes metric-scan { 0%, 68% { transform: translateX(-130%); } 86%, 100% { transform: translateX(130%); } }
@keyframes telemetry-pulse { 50% { opacity: .35; transform: scale(.72); } }
.disciplines { display: flex; justify-content: space-between; gap: 20px; padding-block: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-family: "IBM Plex Mono", monospace; font-size: .62rem; color: #6b85ac; }
.disciplines strong { font-family: "DM Sans", sans-serif; margin-left: 13px; font-weight: 400; font-size: .8rem; color: #bdc7d6; }
.discipline-last { color: #8492a7; }
.section { padding-top: 105px; padding-bottom: 105px; }
.section-heading { display: flex; justify-content: space-between; gap: 40px; align-items: flex-end; margin-bottom: 42px; }
.section-heading > p { color: var(--muted); font-size: .86rem; line-height: 1.8; margin-bottom: 3px; }
.system-card { border: 1px solid var(--line); border-radius: 5px; overflow: hidden; background: var(--panel); min-width: 0; }
.window-bar { height: 43px; display: flex; align-items: center; gap: 18px; padding: 0 19px; background: #141a24; border-bottom: 1px solid var(--line); color: #97a4b9; }
.window-bar > .mono { font-size: .58rem; }
.window-dots { display: inline-flex; gap: 5px; }.window-dots i { width: 6px; height: 6px; border-radius: 50%; background: #47536a; }.window-dots i:first-child { background: #bb7577; }.window-dots i:nth-child(2) { background: #b6a274; }.window-dots i:last-child { background: #6ca991; }
.demo-label { font-family: "IBM Plex Mono", monospace; font-size: .48rem; letter-spacing: .045em; margin-left: auto; color: #a0afc5; white-space: nowrap; }
.workflow-deck { display: grid; gap: 24px; padding: 24px; background: #0b1018; }
.node-workflow { min-width: 0; border: 1px solid #26344a; border-radius: 4px; background: #0d131d; overflow: hidden; }
.node-workflow-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid #253248; background: #101722; }
.node-workflow-header h3 { font-size: 1.05rem; margin-top: 6px; }
.node-workflow-actions { display: flex; align-items: center; gap: 10px; }
.panel-kicker { font-size: .54rem; color: #8093b2; }
.state-badge { font-family: "IBM Plex Mono", monospace; font-size: .56rem; padding: 4px 9px; border: 1px solid #294a42; color: #9cceba; background: #12231f; border-radius: 3px; white-space: nowrap; }
.node-viewport { overflow-x: auto; overscroll-behavior-inline: contain; background-color: #090e16; background-image: radial-gradient(circle, #29364b 1px, transparent 1px); background-size: 18px 18px; border-bottom: 1px solid #253248; scrollbar-color: #405575 #111925; }
.node-viewport:focus-visible { outline: 2px solid #6f9df7; outline-offset: -2px; }
.node-canvas { position: relative; width: 100%; min-width: 920px; height: 330px; }
.workflow-connections { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.workflow-connections path { fill: none; stroke: #354760; stroke-width: 2; vector-effect: non-scaling-stroke; transition: stroke .2s, opacity .2s; }
.workflow-connections marker path { fill: #526b8d; stroke: none; }
.workflow-connections path.is-active { stroke: #75a2ff; stroke-dasharray: 6 5; animation: workflow-pulse .7s linear infinite; }
.workflow-connections path.is-complete { stroke: #4f8a7a; stroke-dasharray: none; animation: none; }
.workflow-node { position: absolute; width: 170px; min-height: 76px; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 9px; padding: 10px 13px; border: 1px solid #3a4960; border-radius: 5px; background: linear-gradient(145deg, #151d2a, #101722); box-shadow: 0 7px 17px #0006; transition: border-color .2s, box-shadow .2s, transform .2s; }
.workflow-node-icon { display: grid; place-items: center; width: 30px; height: 30px; color: #91b3f2; background: #192b46; border: 1px solid #35547d; border-radius: 4px; font-size: .85rem; }
.workflow-node-copy { min-width: 0; }
.workflow-node-copy small { display: block; color: #70829e; font-size: .42rem; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.workflow-node-copy strong { display: block; margin-top: 5px; color: #dbe5f5; font-size: .68rem; font-weight: 500; line-height: 1.25; }
.workflow-node-state { display: block; margin-top: 4px; color: #73839b; font-size: .49rem; }
.node-port { position: absolute; top: 50%; width: 9px; height: 9px; background: #17202e; border: 2px solid #5b6c84; border-radius: 50%; transform: translateY(-50%); z-index: 2; }
.node-port-input { left: -6px; }
.node-port-output { right: -6px; }
.node-port-top { top: -6px; left: 50%; transform: translateX(-50%); }
.node-port-bottom { top: auto; bottom: -6px; left: 50%; transform: translateX(-50%); }
.workflow-node.is-active { border-color: #75a2ff; box-shadow: 0 0 0 2px #507fe72b, 0 9px 22px #0008; }
.workflow-node.is-active .workflow-node-state { color: #a8c5ff; }
.workflow-node.is-active .node-port { border-color: #75a2ff; }
.workflow-node.is-complete { border-color: #3e6e62; }
.workflow-node.is-complete .workflow-node-state { color: var(--teal); }
.workflow-node.is-complete .node-port { border-color: #4f8a7a; }
.workflow-node.is-branch { border-style: dashed; background: #10151d; }
.workflow-node.is-branch .workflow-node-icon { color: #a4afbf; background: #1a2029; border-color: #434d5d; }
.workflow-guardrails { display: flex; flex-wrap: wrap; gap: 7px; padding: 14px 24px 0; }
.workflow-guardrails::before { content: "CONTROLS"; align-self: center; color: #71839d; font-family: "IBM Plex Mono", monospace; font-size: .45rem; letter-spacing: .08em; margin-right: 3px; }
.workflow-guardrails span { border: 1px solid #2d4058; background: #0d1723; color: #91a8c8; border-radius: 999px; padding: 4px 8px; font-size: .5rem; }
.node-workflow-results { display: grid; grid-template-columns: 1.25fr 1fr; gap: 15px; min-height: 162px; padding: 16px 24px 0; }
.execution-log, .output-panel { background: #0b1019; border: 1px solid #273246; border-radius: 3px; padding: 16px; }
.subpanel-heading { display: flex; justify-content: space-between; font-size: .53rem; color: #a4b5d1; }
[data-workflow-log] { margin: 13px 0 0; padding: 0; list-style: none; font-family: "IBM Plex Mono", monospace; font-size: .57rem; line-height: 1.7; color: #8395ae; max-height: 112px; overflow-y: auto; }
[data-workflow-log] li + li { margin-top: 5px; }
[data-workflow-output] { font-size: .68rem; color: #a5b3c7; margin-top: 13px; }
.output-panel .button { margin-top: 12px; }
.demo-bottom { display: flex; gap: 18px; justify-content: space-between; align-items: center; margin: 0 24px; padding: 15px 0 19px; }
.demo-bottom p { font-size: .59rem; color: #8999b1; }
.quiet-button { padding: 7px 3px; border: 0; background: none; font-size: .66rem; color: #a7b8d2; white-space: nowrap; }
.quiet-button:hover:not(:disabled) { color: #e2ebff; }
@keyframes workflow-pulse { to { stroke-dashoffset: -11; } }
.system-description { border-top: 1px solid var(--line); padding: 29px 31px; }.agent-card > .system-description { display: flex; gap: 35px; align-items: flex-end; justify-content: space-between; }.agent-card > .system-description > div { max-width: 665px; }.category-label { color: var(--blue); font-size: .57rem; letter-spacing: .11em; }.system-description h3 { font-size: 1.45rem; margin-top: 12px; line-height: 1.25; }.system-description p { color: #9eacc0; font-size: .79rem; margin-top: 13px; line-height: 1.85; }.tag-list { display: flex; gap: 7px; padding: 0; margin: 23px 0 0; list-style: none; flex-wrap: wrap; }.tag-list li { font-family: "IBM Plex Mono", monospace; font-size: .54rem; color: #a0acc0; background: #18202c; border: 1px solid #253045; padding: 4px 8px; white-space: nowrap; }
.systems-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }.systems-pair > .system-card { display: flex; flex-direction: column; }.systems-pair .system-description { flex: 1; display: flex; flex-direction: column; }.systems-pair .tag-list { margin-top: auto; padding-top: 23px; }
.vision-view { position: relative; background: #070a10; }.vision-view video { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: contain; }.vision-topline { position: absolute; top: 16px; left: 17px; background: #09111bcc; padding: 5px 9px; font-size: .5rem; color: #e2ecff; pointer-events: none; }.recording-dot { display: inline-block; width: 5px; height: 5px; background: #81b6ff; border-radius: 50%; margin-right: 5px; }.vision-controls { padding: 17px 24px; display: flex; gap: 15px; align-items: center; }.vision-controls > span { color: #95a4b8; font-size: .6rem; }.vision-pipeline { display: flex; justify-content: space-between; margin: 0 24px 24px; padding: 14px 12px; border: 1px solid #2a3548; background: #0b121e; color: #9fb7dc; font-size: .52rem; }.vision-pipeline i { color: #536f9b; font-style: normal; }.subtle-link { color: var(--blue); font-size: .68rem; display: inline-block; margin-top: 15px; }.subtle-link:hover { text-decoration: underline; }
.training-dashboard { padding: 23px 25px; background: #0c111b; }.run-tabs { display: flex; margin-top: 22px; gap: 6px; }.run-tabs button { background: transparent; border: 1px solid #29374b; color: #98a9c1; padding: 8px 11px; border-radius: 3px; font-size: .67rem; }.run-tabs button[aria-pressed="true"] { color: #c0d4ff; background: #1a2e4d; border-color: #426294; }.training-config { color: #7e90aa; font-size: .57rem; margin-top: 10px; }.training-metrics { display: flex; margin-top: 21px; border-top: 1px solid #233047; border-bottom: 1px solid #233047; padding-block: 16px; }.training-metrics > div { flex: 1; }.training-metrics > div + div { border-left: 1px solid #253047; padding-left: 22px; }.training-metrics .mono { display: block; font-size: .51rem; color: #8b9db7; }.training-metrics strong { display: block; font-family: "Space Grotesk", sans-serif; font-size: 1.7rem; font-weight: 400; margin-top: 3px; line-height: 1.4; }.training-metrics small { color: #7b8ba4; font-size: .65rem; }.chart-heading { display: flex; align-items: center; justify-content: space-between; margin-top: 20px; font-size: .56rem; color: #98abc8; }.chart-heading .mono { font-size: .52rem; }.chart-heading i { display: inline-block; width: 10px; height: 2px; margin: 0 5px 3px 9px; }.legend-train { background: var(--blue); }.legend-val { background: var(--teal); }.loss-chart { display: block; width: 100%; margin-top: 10px; overflow: visible; }.chart-grid { stroke: #243046; fill: none; stroke-width: .6; }.chart-labels { font-family: "IBM Plex Mono", monospace; font-size: 9px; fill: #7a8ba7; }.chart-labels .best-epoch-label { fill: #83a8f1; font-size: 8px; }.train-curve, .val-curve { fill: none; stroke-width: 2; stroke-linejoin: round; }.train-curve { stroke: var(--blue); }.val-curve { stroke: var(--teal); }.epoch-marker { stroke: #d4def0; stroke-width: .8; stroke-dasharray: 3 4; }.best-epoch-marker { stroke: #5c83d1; stroke-width: 1.2; stroke-dasharray: 2 3; opacity: .7; }.range-label { display: flex; justify-content: space-between; color: #99a9c1; font-size: .56rem; margin-top: 14px; }#epoch-range { width: 100%; accent-color: #7a9df8; height: 18px; margin: 3px 0; }#training-progress { display: none; }.training-actions { display: flex; align-items: center; gap: 13px; margin-top: 10px; }.training-actions .mono { font-size: .46rem; color: #7e8da4; margin-left: auto; }
.more-systems { margin-top: 30px; display: flex; align-items: center; border: 1px solid var(--line); border-radius: 4px; padding: 25px; gap: 30px; }.more-systems > p { color: #7f94b6; font-size: .55rem; flex: 0 0 115px; }.more-systems article { display: flex; align-items: flex-start; gap: 16px; flex: 1; }.small-icon { font-size: 1.4rem; color: var(--blue); line-height: 1; }.more-systems h3 { font-size: .83rem; }.more-systems article p { font-size: .69rem; color: #8999af; margin-top: 8px; }
.expertise-section { background: #0d1119; border-block: 1px solid #1d2736; }.expertise-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }.expertise-cards article { position: relative; padding: 29px; background: #111721; border: 1px solid #283347; border-radius: 3px; }.expertise-icon { color: var(--blue); font-family: "IBM Plex Mono", monospace; font-size: 1.8rem; line-height: 1.3; }.capability-number { position: absolute; right: 24px; top: 32px; color: #637897; }.expertise-cards h3 { font-size: 1.7rem; line-height: 1.2; margin-top: 29px; }.expertise-cards h3 span { color: #a5b7d4; }.expertise-cards p { font-size: .79rem; color: #99a8bd; margin-top: 22px; line-height: 1.8; }.expertise-cards ul { list-style: none; padding: 20px 0 0; margin: 24px 0 0; border-top: 1px solid #29374c; font-size: .7rem; line-height: 2.2; color: #b4c1d5; }.expertise-cards li::before { content: "↳"; color: #5279b9; margin-right: 9px; }.infrastructure-note { display: flex; align-items: center; gap: 30px; margin-top: 26px; }.infrastructure-note span { color: #80a1d5; font-size: .56rem; white-space: nowrap; }.infrastructure-note p { font-size: .72rem; color: #909fb5; }
.process-steps { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; margin: 0; padding: 0; }.process-steps li { border-top: 1px solid #43516a; padding-top: 22px; }.process-number { color: var(--blue); font-size: .7rem; }.process-steps h3 { font-size: 1rem; margin-top: 25px; }.process-steps p { margin-top: 14px; color: #97a6bd; font-size: .77rem; }.process-deliverable { display: block; margin-top: 24px; color: #7b90b1; font-size: .5rem; }
.about-section { display: grid; grid-template-columns: 1.2fr 1fr; gap: 100px; border-top: 1px solid var(--line); }.about-copy > p:not(.eyebrow) { font-size: .9rem; color: #a2b0c5; margin-top: 23px; max-width: 545px; }.about-copy > .education { font-size: .71rem !important; color: #8295b1 !important; border-left: 2px solid #3c65a3; padding-left: 16px; margin-top: 28px !important; }.about-copy .text-link { margin-top: 25px; }.stack-panel { align-self: center; padding: 27px 29px; background: #101722; border: 1px solid #2c3b53; border-radius: 4px; }.stack-heading { display: flex; justify-content: space-between; gap: 20px; color: #95b4e4; font-size: .54rem; }.stack-heading span:last-child { color: #6e819f; font-size: .48rem; }.stack-panel dl { margin: 15px 0 0; }.stack-panel dl > div { padding-block: 21px; border-bottom: 1px solid #28354b; }.stack-panel dt { color: #8498b6; font-size: .67rem; margin-bottom: 10px; }.stack-panel dd { font-family: "Space Grotesk", sans-serif; margin: 0; font-size: 1.05rem; line-height: 1.8; }.stack-panel dd span { color: #50698d; margin-inline: 5px; }.stack-panel > p { color: #889cb8; font-size: .68rem; margin-top: 21px; }.stack-panel > p span { color: var(--blue); margin-right: 10px; }
.faq-section { display: grid; grid-template-columns: .9fr 1.3fr; gap: 100px; border-top: 1px solid var(--line); }.faq-items { border-top: 1px solid #33425a; }.faq-items details { border-bottom: 1px solid #33425a; }.faq-items summary { display: flex; justify-content: space-between; list-style: none; cursor: pointer; padding: 24px 0; font-size: .85rem; gap: 20px; }.faq-items summary::-webkit-details-marker { display: none; }.faq-items summary > span { color: var(--blue); }.faq-items details[open] summary > span { transform: rotate(45deg); }.faq-items details p { padding-bottom: 24px; color: #95a5bc; font-size: .8rem; line-height: 1.85; }
.contact-section { border-top: 1px solid #344e75; padding-block: 67px 73px; }.contact-section > div { display: flex; align-items: center; gap: 40px; justify-content: space-between; }.contact-section h2 { font-size: clamp(2rem, 3.6vw, 3rem); }.contact-section > p:last-child { color: #909fb7; font-size: .8rem; margin-top: 23px; }.contact-section .button { flex-shrink: 0; }
.site-footer { border-top: 1px solid var(--line); padding-block: 31px; display: flex; align-items: center; gap: 35px; }.site-footer .brand { font-size: .66rem; }.site-footer .brand-symbol { font-size: 1.55rem; }.site-footer .brand-division { font-size: .42rem; }.site-footer > p { color: #75869f; font-size: .65rem; }.site-footer nav { display: flex; gap: 20px; margin-left: auto; font-size: .65rem; color: #94a4ba; }.site-footer nav a:hover { color: var(--blue); }
@media (min-width: 1100px) { .systems-pair .training-dashboard { min-height: 492px; }.systems-pair .vision-pipeline { margin-bottom: auto; }.systems-pair .vision-pipeline + .system-description { margin-top: 24px; } }
@media (max-width: 1100px) {
  .shell, .header-inner { width: calc(100% - 56px); } #site-nav { gap: 18px; }
  .hero { gap: 28px; padding-top: 65px; }.hero h1 { font-size: 5.5vw; }.hero-actions { gap: 17px; }.hero-actions .button { padding-inline: 14px; }.hero-actions .text-link { font-size: .71rem; }
  .disciplines .discipline-last { display: none; }.section { padding-block: 80px; }.workflow-deck { padding: 20px; }.node-workflow-header { padding-inline: 20px; }
  .system-description { padding: 24px; }.agent-card > .system-description { display: block; }.window-bar { gap: 10px; padding-inline: 13px; }.window-bar .mono { font-size: .5rem; }.demo-label { font-size: .43rem; }
  .training-dashboard { padding: 20px; }.training-topline { gap: 8px; }.training-topline .panel-kicker { font-size: .45rem; }.training-topline .state-badge { font-size: .49rem; }.training-actions { gap: 10px; }.training-actions .mono { font-size: .4rem; }
  .more-systems { gap: 20px; }.more-systems > p { flex-basis: 95px; }.expertise-cards { gap: 16px; }.expertise-cards article { padding: 23px; }.expertise-cards h3 { font-size: 1.5rem; }.expertise-cards ul { font-size: .61rem; }
  .about-section, .faq-section { gap: 50px; }.site-footer { gap: 20px; }.site-footer nav { gap: 14px; }.site-footer > p { display: none; }
  .hero-metrics { min-height: 520px; width: 112%; margin-left: -5%; }
}
@media (max-width: 800px) {
  .header-inner { height: 82px; position: relative; }.menu-toggle { display: flex; gap: 20px; align-items: center; background: #131d2e; border: 1px solid #334969; padding: 10px 14px; font-size: .73rem; }
  #site-nav { display: none; position: absolute; top: 72px; right: 0; width: min(320px, 100%); padding: 20px; background: #101925; border: 1px solid #344664; z-index: 20; box-shadow: 0 10px 35px #0009; }#site-nav.is-open { display: flex; align-items: stretch; flex-direction: column; gap: 8px; }#site-nav a { padding: 12px; }
  .hero { grid-template-columns: 1fr 1fr; gap: 22px; }.hero h1 { font-size: 6.4vw; }.hero .eyebrow { font-size: .5rem; }.hero-description { font-size: .8rem; }.hero-actions { flex-direction: column; align-items: flex-start; }.hero-byline { font-size: .58rem; }
  .section-heading { align-items: flex-start; }.section-heading > p { font-size: .75rem; }
  .systems-pair { gap: 20px; grid-template-columns: 1fr; }.vision-view video { aspect-ratio: 16 / 9; }.training-dashboard { padding: 28px; }.training-topline .panel-kicker { font-size: .58rem; }.training-topline .state-badge { font-size: .56rem; }.training-actions .mono { font-size: .5rem; }.systems-pair .window-bar .mono { font-size: .58rem; }.systems-pair .demo-label { font-size: .49rem; }.system-description { padding: 28px; }
  .more-systems { flex-wrap: wrap; }.more-systems > p { flex-basis: 100%; }.more-systems article { min-width: 200px; }
  .expertise-cards { grid-template-columns: 1fr; }.expertise-cards article { padding: 28px; }.expertise-cards h3 br { display: none; }.expertise-cards h3 { margin-top: 20px; }.expertise-cards p { max-width: 560px; }.expertise-cards ul { font-size: .75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 3px 20px; }.infrastructure-note { align-items: flex-start; gap: 18px; }
  .process-steps { grid-template-columns: 1fr 1fr; row-gap: 40px; }.about-section { grid-template-columns: 1fr; }.stack-panel { max-width: 550px; }.faq-section { grid-template-columns: 1fr; gap: 35px; }.contact-section > div { flex-direction: column; align-items: flex-start; gap: 25px; }.site-footer nav { flex-wrap: wrap; justify-content: flex-end; }.site-footer { gap: 28px; }
  .hero-metrics { min-height: 430px; width: 116%; margin-left: -8%; }
  .metrics-readout { font-size: .34rem; gap: 6px; }
}
@media (max-width: 560px) {
  .shell, .header-inner { width: calc(100% - 40px); }.hero { grid-template-columns: 1fr; padding-top: 51px; padding-bottom: 40px; gap: 41px; }.hero h1 { font-size: clamp(3.7rem, 14vw, 5.4rem); }.hero .eyebrow { font-size: .58rem; margin-bottom: 22px; }.hero-description { font-size: .9rem; max-width: 420px; }.desktop-break { display: none; }.hero-actions { flex-direction: row; gap: 16px; }.hero-actions .text-link { font-size: .72rem; }.hero-byline { font-size: .65rem; }
  .disciplines { flex-direction: column; gap: 12px; padding-block: 20px; }.disciplines strong { font-size: .78rem; }.section { padding-block: 61px; }.section-heading { flex-direction: column; gap: 23px; margin-bottom: 28px; }.section-heading h2 { font-size: 2.1rem; }.section-heading .eyebrow { font-size: .58rem; margin-bottom: 16px; }.section-heading > p { font-size: .8rem; }
  .window-bar { padding-inline: 11px; gap: 9px; }.window-bar .mono, .systems-pair .window-bar .mono { font-size: .44rem; }.demo-label, .systems-pair .demo-label { font-size: .37rem; }.window-dots { gap: 3px; }.window-dots i { width: 4px; height: 4px; }
  .workflow-deck { padding: 0; gap: 16px; }.node-workflow { border-inline: 0; border-radius: 0; }.node-workflow-header { align-items: flex-start; flex-direction: column; padding: 18px 16px; }.node-workflow-header h3 { font-size: .9rem; }.node-workflow-actions { width: 100%; justify-content: space-between; }.panel-kicker { font-size: .47rem; }.state-badge { font-size: .47rem; padding: 4px 6px; }.node-workflow-actions .button { padding: 9px; font-size: .62rem; gap: 5px; }
  .workflow-guardrails { padding-inline: 16px; }.node-workflow-results { grid-template-columns: 1fr; padding-inline: 16px; }.execution-log, .output-panel { padding: 13px; }.execution-log { min-height: 95px; }.demo-bottom { align-items: flex-start; gap: 10px; margin-inline: 16px; }.demo-bottom p { font-size: .56rem; }.system-description { padding: 24px 20px; }.system-description h3 { font-size: 1.3rem; }.system-description p { font-size: .78rem; }
  .vision-controls { padding: 16px; gap: 10px; }.vision-controls > span { font-size: .53rem; }.vision-controls .button { padding-inline: 9px; font-size: .63rem; }.vision-pipeline { margin-inline: 16px; }.training-dashboard { padding: 20px 16px; }.training-topline .panel-kicker { font-size: .46rem; }.training-topline .state-badge { font-size: .46rem; }.run-tabs button { font-size: .61rem; }.training-metrics strong { font-size: 1.4rem; }.training-metrics > div + div { padding-left: 13px; }.training-metrics .mono { font-size: .44rem; }.training-actions .mono { font-size: .4rem; }.training-actions .button { font-size: .65rem; }
  .more-systems { padding: 22px; gap: 22px; }.more-systems article { flex-basis: 100%; }.expertise-cards article { padding: 25px; }.expertise-cards ul { grid-template-columns: 1fr; font-size: .71rem; }.infrastructure-note { flex-direction: column; gap: 10px; }.process-steps { grid-template-columns: 1fr; gap: 28px; }.process-steps h3 { margin-top: 17px; }.process-deliverable { margin-top: 18px; }.about-section { gap: 36px; }.about-copy > p:not(.eyebrow) { font-size: .84rem; }.stack-panel { padding: 23px; }.stack-panel dd { font-size: 1rem; }.faq-items summary { font-size: .8rem; }.contact-section { padding-block: 50px; }.contact-section h2 { font-size: 2rem; line-height: 1.2; }.site-footer { align-items: flex-start; flex-direction: column; }.site-footer nav { margin-left: 0; gap: 18px; font-size: .61rem; justify-content: flex-start; }
  .hero-metrics { min-height: 420px; width: 108%; margin: -10px 0 0 -4%; }
  .metrics-readout { top: 1%; right: -1%; font-size: .34rem; }
  .metrics-readout span:nth-child(3), .metrics-readout span:nth-child(4) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .hero-background-video { display: none; }
}
.no-script-note { padding: 18px; margin-bottom: 24px; border: 1px solid var(--line); color: var(--muted); }

/* Engineering contact */
.contact-page .site-header { background: #090c12e8; }
.contact-hero { padding-top: 94px; padding-bottom: 62px; }
.contact-hero-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: end; }
.contact-hero h1 { font-size: clamp(3.4rem, 6.4vw, 5.8rem); letter-spacing: -.065em; line-height: 1.02; }
.contact-hero h1 span { color: var(--blue); }
.contact-hero-grid > p { color: #a6b2c5; font-size: .93rem; line-height: 1.9; max-width: 440px; padding-bottom: 9px; }
.contact-workspace { display: grid; grid-template-columns: .82fr 1.35fr; border: 1px solid var(--line); border-radius: 5px; overflow: hidden; background: #0e141e; margin-bottom: 105px; }
.contact-context { min-width: 0; background: #0b1018; border-right: 1px solid var(--line); }
.contact-context-body { padding: 38px 32px 32px; }
.contact-context h2 { font-size: clamp(1.55rem, 2.4vw, 2.15rem); margin-top: 12px; max-width: 410px; }
.brief-checklist { list-style: none; padding: 0; margin: 39px 0 0; }
.brief-checklist li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding-block: 17px; border-top: 1px solid #263247; }
.brief-checklist li > span { font-family: "IBM Plex Mono", monospace; color: #6687bc; font-size: .57rem; padding-top: 2px; }
.brief-checklist strong { font-size: .77rem; font-weight: 500; }
.brief-checklist p { font-size: .67rem; color: #8999b0; margin-top: 5px; line-height: 1.65; }
.contact-flow { display: flex; justify-content: space-between; align-items: center; gap: 7px; padding: 15px 13px; margin-top: 27px; background: #101a29; border: 1px solid #2a3b55; color: #9cb7e3; font-size: .5rem; }
.contact-flow i { color: #536f9b; font-style: normal; }
.contact-security { color: #768aa6; font-size: .61rem; line-height: 1.7; margin-top: 24px; }
.contact-security span { color: var(--teal); margin-right: 7px; }
.contact-form-panel { padding: 43px 46px 39px; min-width: 0; background: radial-gradient(circle at 90% 0, #17243a70, transparent 34%), #10151e; }
.form-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; padding-bottom: 28px; border-bottom: 1px solid #2a3548; }
.form-heading h2 { font-size: clamp(1.65rem, 2.4vw, 2.2rem); margin-top: 8px; }
.engineering-contact-form { margin-top: 30px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.form-row + .form-row, .field-message { margin-top: 23px; }
.field { min-width: 0; }
.field label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; color: #b8c4d6; font-size: .67rem; margin-bottom: 9px; }
.field label > span:not(.optional) { color: var(--blue); }
.field .optional { font-family: "IBM Plex Mono", monospace; color: #718097; font-size: .48rem; letter-spacing: .04em; text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; color: #e2e9f4; background: #0b111a; border: 1px solid #2e3a4e; border-radius: 3px; padding: 12px 13px; outline: none; transition: border-color .16s, background .16s, box-shadow .16s; }
.field input, .field select { min-height: 46px; }
.field textarea { resize: vertical; min-height: 164px; line-height: 1.6; }
.field input::placeholder, .field textarea::placeholder { color: #5f6d81; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: #40516b; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #678fe1; background: #0d1521; box-shadow: 0 0 0 3px #527fe51a; }
.field input:user-invalid, .field textarea:user-invalid { border-color: #b55f67; }
.field-hint { display: block; color: #718198; font-size: .58rem; margin-top: 8px; }
.form-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 29px; }
.form-submit-row > p { color: #7788a1; font-size: .59rem; line-height: 1.6; max-width: 250px; text-align: right; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.contact-success { display: flex; gap: 14px; align-items: center; padding: 15px 17px; margin-bottom: 25px; color: #c3e5da; background: #10251f; border: 1px solid #2b5c50; border-radius: 3px; }
.contact-success > span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid #4d8a79; border-radius: 50%; flex: 0 0 auto; }
.contact-success strong { display: block; font-size: .76rem; }
.contact-success p { color: #84aa9e; font-size: .64rem; margin-top: 3px; }
.contact-alternative { padding-block: 72px; border-top: 1px solid var(--line); display: grid; grid-template-columns: .55fr 1fr .8fr; gap: 40px; align-items: center; }
.contact-alternative .eyebrow { margin: 0; }
.contact-alternative > div { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.contact-alternative h2 { font-size: clamp(1.6rem, 2.7vw, 2.3rem); }
.contact-alternative .text-link { font-family: "IBM Plex Mono", monospace; font-size: .64rem; }
.contact-alternative > p:last-child { color: #8291a8; font-family: "IBM Plex Mono", monospace; font-size: .56rem; line-height: 1.9; }

@media (max-width: 900px) {
  .contact-hero-grid { grid-template-columns: 1fr; gap: 26px; }
  .contact-hero-grid > p { max-width: 600px; }
  .contact-workspace { grid-template-columns: 1fr; }
  .contact-context { border-right: 0; border-bottom: 1px solid var(--line); }
  .contact-context-body { display: grid; grid-template-columns: 1fr 1fr; gap: 0 35px; }
  .contact-context-body > .panel-kicker, .contact-context-body > h2 { grid-column: 1 / -1; }
  .contact-flow, .contact-security { align-self: end; }
  .contact-alternative { grid-template-columns: .45fr 1fr; }
  .contact-alternative > p:last-child { grid-column: 2; }
}

@media (max-width: 560px) {
  .contact-hero { padding-top: 55px; padding-bottom: 42px; }
  .contact-hero h1 { font-size: clamp(3.15rem, 14vw, 4.4rem); }
  .contact-hero-grid > p { font-size: .84rem; }
  .contact-workspace { width: 100%; border-inline: 0; border-radius: 0; margin-bottom: 62px; }
  .contact-context-body { display: block; padding: 29px 20px; }
  .contact-context h2 { font-size: 1.7rem; }
  .contact-form-panel { padding: 32px 20px; }
  .form-heading h2 { font-size: 1.65rem; }
  .form-heading .state-badge { display: none; }
  .form-row { grid-template-columns: 1fr; gap: 20px; }
  .form-row + .form-row, .field-message { margin-top: 20px; }
  .form-submit-row { flex-direction: column; align-items: stretch; gap: 15px; }
  .form-submit-row .button { width: 100%; }
  .form-submit-row > p { max-width: none; text-align: left; }
  .contact-alternative { grid-template-columns: 1fr; gap: 17px; padding-block: 52px; }
  .contact-alternative > p:last-child { grid-column: auto; }
}
@media (max-width: 800px) {
  html:not(.js) .header-inner { height: auto; padding-block: 22px; flex-wrap: wrap; }
  html:not(.js) .menu-toggle { display: none; }
  html:not(.js) #site-nav { display: flex; position: static; width: 100%; flex-wrap: wrap; padding: 0; border: 0; box-shadow: none; background: none; }
}

.brand-symbol { display: none !important; }
