:root {
  --page: #e9edf2;
  --surface: #f7f9fb;
  --rail: #edf1f5;
  --panel: #ffffff;
  --metric: #f3f6f9;
  --subtle: #edf2f8;
  --ink: #17202e;
  --muted: #596575;
  --line: #cbd3dd;
  --accent: #2457d6;
  --on-accent: #ffffff;
  --radius-small: 2px;
  --hero-image: url("./assets/executive-signal.jpg");
}

.rail { border-right: 1px solid var(--line); }
.rail::after {
  content: "";
  position: absolute;
  top: 0;
  right: -1px;
  width: 3px;
  height: 26%;
  background: var(--accent);
  transform-origin: top;
  animation: signalLine 1.1s cubic-bezier(.2,.7,.2,1) both;
}
.nav a {
  padding-left: 0;
  border-radius: 2px;
  isolation: isolate;
  overflow: hidden;
  transition: color .26s ease, padding-left .26s cubic-bezier(.2,.7,.2,1);
}
.nav a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .26s cubic-bezier(.2,.7,.2,1);
}
.nav a.active { padding-left: 12px; color: var(--on-accent); }
.nav a.active::before { transform: scaleX(1); }
.nav a.active b { color: var(--on-accent); }
.lead::after { border: 1px solid var(--line); background-position: 54% center; }
.issue { padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.headline { color: #101926; }
.metrics { border: 1px solid var(--line); }
section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 42px;
  height: 2px;
  background: var(--accent);
}
.section-head h2 { max-width: 720px; }
.prose { columns: 2; column-gap: 44px; }
.prose p { break-inside: avoid; }
.principles { grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); gap: 0; }
.principle { border-bottom: 1px solid var(--line); }
.principle:nth-child(odd) { border-right: 1px solid var(--line); }
.principle:nth-last-child(-n+2) { border-bottom: 0; }
.ai-feature { border: 1px solid var(--line); border-left: 3px solid var(--accent); }
.ai-feature:nth-child(even) { border-left-color: var(--accent); }
.project h3 { color: #182337; }
.capability-row:first-child { border-top: 1px solid var(--line); }
.capability-title h3 { color: #182337; }
.back { border-radius: 2px; }

@keyframes signalLine { from { transform: scaleY(0); } to { transform: scaleY(1); } }

@media (max-width: 900px) {
  .prose { columns: 1; }
  .lead::after { min-height: 280px; }
  .principles { grid-template-columns: 1fr; }
  .principle, .principle:nth-child(odd), .principle:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .principle:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) { .rail::after { animation: none; } }
