@charset "UTF-8";
@font-face {
  font-family:Manrope;
  src:url('fonts/Manrope-Variable.ttf') format('truetype');
  font-weight:200 800;
  font-style:normal;
  font-display:swap
}

:root {
  --night:#0a0d12;
  --surface:#11161d;
  --surface-2:#171d25;
  --signal:#d4ff80;
  --lavender:#c9bdf2;
  --white:#f5f5ed;
  --muted:#9ba1ac;
  --line:#2b3039;
  --paper:#f0f1e9;
  --dark-ink:#17201b;
  --sans:Manrope,'Segoe UI',sans-serif;
  --mono:Consolas,'Courier New',monospace;
  --shell:1264px
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:36px
}

body {
  margin:0;
  background:var(--night);
  color:var(--white);
  font:400 16px/1.65 var(--sans);
  -webkit-font-smoothing:antialiased
}

button,input,textarea {
  font:inherit
}

button,a {
  -webkit-tap-highlight-color:transparent
}

button {
  color:inherit;
  cursor:pointer
}

a {
  color:inherit;
  text-decoration:none
}

button {
  border:0;
  background:none
}

svg {
  display:block
}

::selection {
  color:var(--night);
  background:var(--signal)
}

:focus-visible {
  outline:2px solid var(--signal);
  outline-offset:5px
}

h1,h2,h3,p {
  margin-top:0
}

h1,h2,h3 {
  font-weight:450
}

h1,h2 {
  letter-spacing:-.065em;
  line-height:1.07
}

h1 em,h2 em {
  font-style:normal;
  color:var(--signal)
}

h2 {
  font-size:clamp(38px,4.25vw,61px);
  margin-bottom:0
}

p {
  margin-bottom:20px
}

.shell {
  width:min(calc(100% - 112px),var(--shell));
  margin-inline:auto
}

.eyebrow,.section-marker {
  font:400 11px/1.65 var(--mono);
  letter-spacing:.075em;
  text-transform:uppercase
}

.eyebrow {
  margin:0 0 24px;
  color:var(--muted)
}

.skip-link {
  position:fixed;
  z-index:100;
  top:10px;
  left:10px;
  background:var(--signal);
  color:var(--night);
  padding:12px 20px;
  transform:translateY(-160%)
}

.skip-link:focus {
  transform:none
}

.site-header {
  height:88px;
  border-bottom:1px solid var(--line);
  position:relative;
  z-index:10
}

.header-inner {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:11px;
  font-size:26px;
  font-weight:650;
  letter-spacing:-.065em;
  white-space:nowrap
}

.brand svg {
  height:34px;
  width:34px;
  fill:none;
  stroke:var(--signal);
  stroke-width:2.2
}

.brand-stop {
  color:var(--signal)
}

.main-nav {
  display:flex;
  align-items:center;
  gap:32px;
  font-size:14px
}

.main-nav>a {
  padding-block:10px;
  color:#c3c6cc;
  transition:color .2s
}

.main-nav>a:hover {
  color:var(--signal)
}

.main-nav .nav-contact {
  display:flex;
  align-items:center;
  gap:23px;
  border:1px solid #4e5941;
  padding:10px 17px;
  color:var(--signal);
  border-radius:4px
}

.nav-contact span {
  font-size:19px
}

.menu-toggle {
  display:none
}

.hero {
  position:relative;
  overflow:hidden;
  background:radial-gradient(ellipse at 79% 30%,#19231a55,transparent 45%)
}

.hero-horizon {
  position:absolute;
  top:64px;
  right:-600px;
  height:1100px;
  width:1500px;
  border:1px solid #242d2455;
  border-radius:50%;
  transform:rotate(-27deg);
  pointer-events:none
}

.hero-inner {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  column-gap:40px;
  min-height:880px;
  padding-top:84px;
  padding-bottom:30px
}

.hero-visual {
  position:relative;
  min-width:0;
  min-height:600px;
  width:100%
}

.hero-copy {
  position:relative;
  z-index:2;
  width:100%;
  max-width:none
}

.hero-eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  color:#b9c1b0;
  font-size:12px;
  margin-bottom:27px
}

.status-dot {
  display:inline-block;
  height:5px;
  width:5px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--signal)
}

h1 {
  font-size:clamp(65px,6.7vw,96px);
  letter-spacing:-.075em;
  line-height:1.035;
  margin:0 0 31px
}

.hero-intro {
  font-size:20px;
  line-height:1.55;
  letter-spacing:-.025em;
  margin-bottom:15px
}

.hero-detail {
  max-width:410px;
  font-size:15px;
  line-height:1.8;
  color:var(--muted);
  margin-bottom:28px
}

.hero-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:26px
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  min-height:52px;
  padding:14px 22px;
  font-size:14px;
  font-weight:600;
  border-radius:4px;
  transition:background .2s,transform .2s
}

.button span {
  font-size:22px;
  line-height:1;
  font-weight:400
}

.button:hover {
  transform:translateY(-2px)
}

.button-primary {
  background:var(--signal);
  color:var(--night)
}

.button-primary:hover {
  background:#e1ffa7
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:20px;
  border-bottom:1px solid #414936;
  padding:9px 0;
  font-size:14px
}

.text-link span {
  font-size:19px
}

.text-link:hover {
  color:var(--signal);
  border-color:var(--signal)
}

.hero-offer {
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  color:#8f9890;
  font-size:14px;
  margin:28px 0 0
}

.hero-offer span {
  color:#5b6855
}

.hero-bottom {
  grid-column:1 / -1;
  position:relative;
  margin-top:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding-top:24px;
  gap:20px;
  font-size:12px;
  color:#89919d
}

.hero-index {
  font:10px/1.5 var(--mono);
  letter-spacing:.07em;
  color:var(--signal)
}

.hero-bottom>a {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid #3b4533;
  border-radius:50%
}

.hero-bottom svg {
  height:17px;
  width:17px;
  fill:none;
  stroke:var(--signal);
  stroke-width:1.3
}

.hero-bottom>a:hover {
  background:#1e2b1a
}


/* The map is an illustration. Only its three original-document nodes open sources. */
.knowledge-universe {
  position:absolute;
  z-index:1;
  width:720px;
  height:640px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.84);
  transform-origin:center
}

.universe-grid {
  position:absolute;
  inset:0 0 10px;
  background-image:radial-gradient(#79857140 .7px,transparent .7px);
  background-size:22px 22px;
  mask-image:radial-gradient(ellipse,#000 10%,transparent 67%);
  opacity:.65
}

.universe-routes {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible
}

.orbit {
  stroke:#52604a;
  stroke-width:.7;
  opacity:.35;
  stroke-dasharray:2 7
}

.orbit-inner {
  stroke:#758665;
  opacity:.2;
  stroke-dasharray:none
}

.route {
  stroke:#5c7152;
  stroke-width:1;
  transition:stroke .4s,opacity .4s;
  opacity:.7
}

.route-muted {
  stroke:#394736;
  stroke-width:.7;
  stroke-dasharray:2 6;
  opacity:.6
}

.knowledge-universe[data-view=find] .route-find,.knowledge-universe[data-view=compare] .route-compare,.knowledge-universe[data-view=prepare] .route-prepare {
  stroke:url(#route-signal);
  stroke-width:1.4;
  stroke-dasharray:11 8;
  animation:routeTrace 14s linear infinite;
  opacity:1
}

.route-particle {
  fill:var(--signal);
  opacity:.8;
  animation:signalBreathe 5s ease-in-out infinite
}

.particle-two {
  animation-delay:1.8s;
  fill:var(--lavender)
}

.particle-three {
  animation-delay:3.1s
}

.universe-label {
  position:absolute;
  top:36px;
  left:103px;
  font:9px/1.5 var(--mono);
  letter-spacing:.09em;
  color:#7d8878;
  display:flex;
  align-items:center;
  gap:10px
}

.mini-cross {
  color:var(--signal);
  font-size:17px
}

.universe-core {
  position:absolute;
  left:51.4%;
  top:48.45%;
  width:158px;
  height:158px;
  transform:translate(-50%,-50%)
}

.core-disc {
  position:absolute;
  inset:0;
  background:var(--signal);
  border-radius:50%;
  color:var(--night);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  box-shadow:0 0 90px #c7f67c08
}

.core-disc svg {
  height:56px;
  width:56px;
  stroke:var(--night);
  stroke-width:1.35;
  fill:none;
  margin-bottom:6px
}

.core-disc strong {
  font-size:24px;
  letter-spacing:-.05em;
  line-height:1.2;
  font-weight:600
}

.core-disc>span {
  font:6px var(--mono);
  letter-spacing:.12em;
  margin-top:9px
}

.core-ring {
  position:absolute;
  border:1px solid #adc88344;
  border-radius:50%;
  inset:-24px;
  transform:rotate(-30deg);
  border-left-color:transparent;
  border-right-color:transparent;
  animation:coreTurn 40s linear infinite
}

.ring-two {
  inset:-40px;
  border-color:#76935822;
  border-top-color:transparent;
  border-bottom-color:transparent;
  animation-direction:reverse;
  animation-duration:60s
}

.universe-node {
  position:absolute;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  gap:11px;
  width:174px;
  min-height:70px;
  padding:15px 16px;
  border:1px solid #333e37;
  border-radius:7px;
  background:linear-gradient(135deg,#1b2423,#11161b);
  text-align:left;
  box-shadow:0 10px 45px #0003;
  animation:nodeFloat 9s ease-in-out infinite;
  color:#e1e5dd
}

.universe-node>span:not(.node-icon,.node-corner,.node-version,.avatar-stack) {
  display:flex;
  flex-direction:column;
  gap:6px
}

.universe-node small {
  font:7px/1.4 var(--mono);
  letter-spacing:.11em;
  color:#7f9385
}

.universe-node strong {
  font-size:12px;
  letter-spacing:-.02em;
  font-weight:500;
  white-space:nowrap;
  line-height:1.3
}

.node-icon {
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:24px;
  height:28px;
  color:#bed69b
}

.node-icon svg {
  width:23px;
  height:23px;
  stroke:currentColor;
  stroke-width:1.2;
  fill:none
}

.node-brief {
  left:21%;
  top:26.9%;
  animation-delay:-1s
}

.node-spec {
  left:66.5%;
  top:16.1%;
  animation-delay:-3.5s
}

.node-people {
  left:87.4%;
  top:40.6%;
  width:190px;
  animation-delay:-2.5s
}

.node-agreement {
  left:84%;
  top:72%;
  width:180px;
  animation-delay:-5s
}

.node-decision {
  left:53.9%;
  top:82.2%;
  width:210px;
  animation-delay:-6.5s
}

.node-process {
  left:20.4%;
  top:68.4%;
  width:203px;
  animation-delay:-4s
}

.node-people small,.node-people .node-icon {
  color:var(--lavender)
}

.avatar-stack {
  display:flex;
  margin-right:4px;
  flex:0 0 auto
}

.avatar-stack i {
  width:26px;
  height:26px;
  border-radius:50%;
  border:2px solid #1b2228;
  background:#353248;
  color:#cdbff1;
  display:grid;
  place-items:center;
  font-style:normal;
  font-size:7px
}

.avatar-stack i+i {
  margin-left:-9px;
  background:#324136;
  color:#bad0a9
}

.node-version {
  margin-left:auto;
  font:8px/1 var(--mono);
  color:#a8bc96;
  background:#263624;
  padding:4px;
  border-radius:2px
}

.node-corner {
  position:absolute;
  top:8px;
  right:10px;
  color:#6e8461;
  font-size:12px
}

.universe-node:is(button) {
  cursor:pointer;
  transition:border-color .2s,background .2s,box-shadow .2s
}

.universe-node:is(button):hover,.universe-node:is(button):focus-visible {
  border-color:#99bd69;
  background:#1d2c23;
  box-shadow:0 0 0 4px #d4ff800b,0 10px 45px #0003
}

.universe-node:is(button):focus-visible {
  outline:2px solid var(--signal);
  outline-offset:5px
}

.universe-signal {
  position:absolute;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#8fa778
}

.signal-one {
  left:44%;
  top:11%;
  height:3px;
  width:3px
}

.signal-two {
  right:6%;
  bottom:14%;
  background:#7b729b
}

.signal-three {
  left:10%;
  top:49%;
  background:#6e7767
}

.universe-caption {
  position:absolute;
  bottom:13px;
  left:106px;
  right:77px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:9px;
  color:#809078
}

.universe-caption>span {
  display:flex;
  align-items:center;
  gap:6px
}

.universe-caption .status-dot {
  height:3px;
  width:3px
}

.motion-toggle {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:36px;
  padding:6px 8px;
  border:1px solid #34402e;
  border-radius:3px;
  color:#b2bdac;
  font-size:10px
}

.motion-toggle:hover {
  border-color:#879876;
  color:var(--signal)
}

.motion-toggle svg {
  width:11px;
  height:11px;
  stroke:currentColor;
  stroke-width:1.2
}

.motion-paused [data-motion-scene] *,.knowledge-universe.is-paused *,.knowledge-universe:focus-within * {
  animation-play-state:paused!important
}

.no-js [data-motion-scene] * {
  animation:none!important
}

.no-js .motion-toggle {
  display:none
}

.opening-statement {
  display:grid;
  grid-template-columns:1fr 2.5fr 80px;
  gap:45px;
  align-items:center;
  padding-top:80px;
  padding-bottom:80px
}

.section-marker {
  color:#859080;
  align-self:start;
  padding-top:7px;
  font-size:10px
}

.opening-statement p {
  margin:0;
  font-size:clamp(24px,2.5vw,35px);
  letter-spacing:-.04em;
  line-height:1.5;
  max-width:710px
}

.opening-statement p span {
  color:#858c95
}

.statement-star {
  width:70px;
  height:70px;
  fill:none;
  stroke:#667257;
  stroke-width:.75
}

.workspace-section {
  background:var(--paper);
  color:var(--dark-ink);
  padding:94px 0 104px
}

.workspace-section .eyebrow {
  color:#6c7668
}

.workspace-section h2 em {
  color:#697b55
}

.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:45px;
  margin-bottom:43px
}

.section-heading>p {
  font-size:15px;
  line-height:1.8;
  color:var(--muted);
  margin-bottom:5px;
  max-width:315px
}

.workspace-section .section-heading>p {
  color:#717a6b
}

.workspace-demo {
  border:1px solid #cbd1c3;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 22px 70px #24361a0c;
  background:#fafbf6
}

.demo-topline {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:20px 27px;
  border-bottom:1px solid #d9ddcf
}

.demo-product {
  display:flex;
  align-items:center;
  gap:10px
}

.demo-product svg {
  height:25px;
  width:25px;
  stroke:#576b3a;
  stroke-width:1.7;
  fill:none
}

.demo-product strong {
  font-size:17px;
  letter-spacing:-.045em;
  font-weight:600
}

.demo-product>span {
  font-size:12px;
  color:#808874;
  padding-left:4px
}

.demo-badge {
  display:flex;
  align-items:center;
  gap:7px;
  font:9px/1.6 var(--mono);
  letter-spacing:.05em;
  color:#6c775c
}

.demo-badge>span {
  width:4px;
  height:4px;
  border-radius:50%;
  background:#819c5d
}

.demo-tabs {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid #cfd6c6
}

.demo-tab {
  display:grid;
  grid-template-columns:21px 1fr 17px;
  grid-template-rows:auto auto;
  column-gap:12px;
  padding:22px 27px;
  text-align:left;
  transition:background .2s;
  position:relative;
  color:#707d63
}

.demo-tab:not(:last-child) {
  border-right:1px solid #d8ddce
}

.demo-tab:hover {
  background:#edf0e4
}

.demo-tab.is-active {
  background:#e0f0c1;
  color:#213016
}

.demo-tab.is-active:after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:#789d46
}

.tab-number {
  font:10px/1.8 var(--mono);
  grid-column:1;
  grid-row:1;
  opacity:.6;
  padding-top:2px
}

.demo-tab strong {
  font-size:18px;
  font-weight:500;
  line-height:1.4;
  grid-column:2;
  grid-row:1;
  letter-spacing:-.03em
}

.demo-tab>span:not(.tab-number,.tab-arrow) {
  font-size:11px;
  grid-row:2;
  grid-column:2;
  margin-top:5px;
  opacity:.78
}

.tab-arrow {
  font-size:19px;
  grid-column:3;
  grid-row:1;
  line-height:1.5
}

.demo-tab:focus-visible,.source-link:focus-visible {
  outline:2px solid #546d37;
  outline-offset:-5px;
  z-index:1
}

.demo-body {
  display:grid;
  grid-template-columns:.8fr 1.35fr;
  min-height:435px
}

.demo-context {
  background:#e8ecdf;
  padding:35px 34px;
  position:relative;
  border-right:1px solid #d1d8c6;
  display:flex;
  flex-direction:column
}

.demo-context>.eyebrow {
  font-size:9px;
  margin-bottom:19px;
  color:#5d704c
}

.demo-question {
  font-size:clamp(24px,2.6vw,35px);
  line-height:1.42;
  letter-spacing:-.04em;
  max-width:320px;
  margin-bottom:20px
}

.demo-context-map {
  margin:auto 0 20px;
  max-width:290px;
  opacity:.8
}

.demo-context-map svg {
  width:100%;
  height:156px;
  fill:#e8ecdf;
  stroke:#91a07e;
  stroke-width:1
}

.demo-context-map svg>circle:nth-last-of-type(1) {
  fill:#d1e8a3;
  stroke:#7e9d4f
}

.demo-context-map .map-star {
  fill:none;
  stroke:#55713a;
  stroke-width:1.2
}

.demo-context-map>span {
  font:9px/1.7 var(--mono);
  color:#5b7047;
  display:block;
  text-align:center
}

.demo-context-note {
  margin:0;
  font-size:12px;
  color:#55624a;
  line-height:1.65;
  max-width:280px
}

.demo-answer {
  padding:35px 40px 29px;
  background:#fafbf6
}

.answer-label {
  display:block;
  font:9px/1.6 var(--mono);
  color:#5d704c;
  letter-spacing:.09em;
  margin-bottom:14px
}

.demo-answer h3 {
  font-size:clamp(27px,3.1vw,41px);
  letter-spacing:-.055em;
  line-height:1.22;
  margin-bottom:20px;
  max-width:560px
}

.answer-body {
  font-size:15px;
  line-height:1.85;
  color:#63705a
}

.answer-body p {
  margin-bottom:20px
}

.answer-body strong {
  font-weight:650;
  color:#304128
}

.demo-proof {
  border-top:1px solid #d9dfcf;
  padding-top:18px;
  margin-top:20px
}

.proof-heading {
  display:flex;
  align-items:center;
  gap:8px;
  font:9px/1.6 var(--mono);
  color:#61734f;
  letter-spacing:.045em
}

.proof-mark {
  font-size:16px;
  color:#738a53
}

.demo-proof blockquote {
  margin:10px 0 15px;
  color:#4a5d3d;
  font-size:14px;
  line-height:1.7
}

.demo-sources {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}

.source-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#edf1e5;
  border:1px solid #d3ddc4;
  border-radius:4px;
  max-width:100%;
  padding:8px 10px;
  font-size:12px;
  line-height:1.5;
  color:#546b3a;
  text-align:left;
  transition:background .2s,border-color .2s
}

.source-link:hover {
  background:#dfeacb;
  border-color:#aabf8c
}

.source-link>svg {
  height:18px;
  width:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1;
  flex:0 0 auto
}

.source-link>span:not(:last-child) {
  min-width:0
}

.source-link small {
  font-size:10px;
  color:#536943;
  margin-left:6px
}

.source-link>span:last-child {
  margin-left:8px;
  font-size:15px
}

.demo-note {
  font-size:12px;
  color:#5b694d;
  line-height:1.8;
  margin:18px 0 0
}

.demo-bottom {
  padding:14px 27px;
  border-top:1px solid #d9dfcf;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  color:#61734f
}

.demo-bottom>span:last-child {
  font:9px/1.7 var(--mono);
  color:#526d3c;
  letter-spacing:.05em
}

.approach-section {
  padding-top:112px;
  padding-bottom:86px
}

.approach-heading {
  display:grid;
  grid-template-columns:1fr 2.1fr;
  gap:0 70px;
  align-items:start
}

.approach-heading>.eyebrow {
  grid-row:1 / span 2;
  padding-top:9px;
  font-size:10px
}

.approach-heading h2 {
  font-size:clamp(37px,4vw,57px);
  max-width:780px
}

.approach-heading>p:last-child {
  grid-column:2;
  font-size:15px;
  color:var(--muted);
  line-height:1.8;
  max-width:560px;
  margin:27px 0 0
}

.lifecycle-layout {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:105px;
  margin-top:68px;
  align-items:center
}

.lifecycle-visual {
  height:465px;
  position:relative;
  background:radial-gradient(ellipse at 45% 45%,#36472822,transparent 70%);
  overflow:hidden
}

.visual-kicker {
  position:absolute;
  top:13px;
  left:10px;
  font:9px/1.6 var(--mono);
  letter-spacing:.12em;
  color:#6d7e62
}

.folio {
  width:200px;
  height:252px;
  border:1px solid #5a6550;
  border-radius:4px;
  background:linear-gradient(155deg,#222c22,#131a1e);
  position:absolute;
  left:50%;
  top:45%;
  padding:24px;
  box-shadow:0 24px 40px #0003
}

.folio>span {
  font:10px/1.7 var(--mono);
  color:#9caf8d;
  display:block;
  margin-bottom:28px
}

.folio>div {
  height:3px;
  background:#394536;
  border-radius:2px;
  margin-bottom:10px;
  width:100%
}

.folio>div:nth-child(3) {
  width:76%
}

.folio>div:nth-child(4) {
  width:57%
}

.folio-back {
  transform:translate(-75%,-60%) rotate(-11deg);
  border-color:#3e4c37;
  background:#121a19
}

.folio-back>span {
  color:#6d8063
}

.folio-front {
  transform:translate(-20%,-31%) rotate(9deg);
  border-color:#9bb170
}

.folio-front>span {
  color:#d4e6b8
}

.folio-front svg {
  position:absolute;
  bottom:24px;
  right:22px;
  width:47px;
  height:47px;
  fill:none;
  stroke:var(--signal);
  stroke-width:.8
}

.lifecycle-orbit {
  position:absolute;
  width:455px;
  height:200px;
  left:50%;
  top:52%;
  border:1px solid #53613e55;
  transform:translate(-50%,-50%) rotate(-27deg);
  border-radius:50%;
  z-index:-1
}

.folio-label {
  position:absolute;
  bottom:26px;
  left:0;
  right:0;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  color:#8b9b7b;
  font:9px/1.7 var(--mono)
}

.folio-label i {
  width:4px;
  height:4px;
  background:var(--signal);
  border-radius:50%
}

.lifecycle-steps {
  list-style:none;
  margin:0;
  padding:0
}

.lifecycle-steps>li {
  display:flex;
  align-items:start;
  gap:24px;
  padding:23px 0;
  border-bottom:1px solid var(--line)
}

.lifecycle-steps>li:first-child {
  padding-top:0
}

.lifecycle-steps>li:last-child {
  border-bottom:0;
  padding-bottom:0
}

.step-number {
  font:10px/1.6 var(--mono);
  color:#a6c186;
  border:1px solid #3e4933;
  border-radius:50%;
  height:29px;
  width:29px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  margin-top:3px
}

.lifecycle-steps h3 {
  font-size:21px;
  letter-spacing:-.025em;
  margin:0 0 8px;
  line-height:1.4;
  font-weight:500
}

.lifecycle-steps p {
  font-size:14px;
  line-height:1.8;
  color:var(--muted);
  margin:0;
  max-width:400px
}

.approach-footnote {
  display:flex;
  align-items:center;
  gap:18px;
  max-width:740px;
  margin:35px auto 0;
  padding:20px 0 0;
  border-top:1px solid var(--line);
  color:#85947b
}

.tiny-star {
  color:var(--signal);
  font-size:27px;
  font-weight:200;
  flex:0 0 auto
}

.approach-footnote p {
  font-size:12px;
  line-height:1.85;
  margin:0
}

.possibilities-section {
  padding:91px 0 83px;
  background:var(--surface)
}

.possibilities-section .section-heading {
  margin-bottom:50px
}

.possibilities-section h2 {
  font-size:clamp(38px,4vw,57px)
}

.possibility-list {
  border-top:1px solid #303740
}

.possibility-list article {
  display:grid;
  grid-template-columns:1fr 1.65fr 1.25fr 44px;
  gap:30px;
  align-items:center;
  border-bottom:1px solid #303740;
  padding:32px 0;
  transition:background .2s
}

.possibility-index {
  font:10px/1.7 var(--mono);
  color:#8a9680;
  letter-spacing:.05em;
  align-self:start;
  padding-top:6px
}

.possibility-list h3 {
  font-size:clamp(23px,2.5vw,34px);
  line-height:1.35;
  letter-spacing:-.045em;
  margin:0;
  font-weight:450
}

.possibility-list p {
  font-size:14px;
  line-height:1.9;
  color:var(--muted);
  max-width:260px;
  margin:0
}

.round-link {
  height:44px;
  width:44px;
  display:grid;
  place-items:center;
  color:var(--signal);
  font-size:26px;
  border:1px solid #4a5938;
  border-radius:50%;
  line-height:1;
  transition:background .2s,color .2s
}

.round-link:hover {
  background:var(--signal);
  color:var(--night)
}

.possibility-caption {
  font-size:12px;
  color:#7d8980;
  margin:24px 0 0;
  max-width:670px
}

.stage-section {
  display:grid;
  grid-template-columns:1fr 1.08fr;
  gap:90px;
  padding-top:111px;
  padding-bottom:108px
}

.stage-title>.eyebrow {
  line-height:1.9;
  color:#7e8d72;
  font-size:10px
}

.stage-title h2 {
  font-size:clamp(37px,4vw,57px)
}

.stage-copy {
  padding-top:6px
}

.stage-lead {
  font-size:21px;
  letter-spacing:-.025em;
  line-height:1.65;
  max-width:550px;
  margin-bottom:22px
}

.stage-copy>p:not(.stage-lead) {
  color:var(--muted);
  font-size:15px;
  line-height:1.9;
  max-width:525px
}

.stage-status {
  display:flex;
  align-items:start;
  gap:13px;
  border-left:1px solid #4c5b37;
  padding:2px 0 2px 20px;
  margin:27px 0
}

.stage-status>.status-dot {
  margin-top:8px
}

.stage-status strong {
  font-size:14px;
  font-weight:500;
  color:#c6d4b5
}

.stage-status p {
  font-size:14px;
  line-height:1.85;
  color:#8e9c80;
  max-width:490px;
  margin:8px 0 0
}

.stage-copy>.text-link {
  margin-top:5px
}

.faq-section {
  display:grid;
  grid-template-columns:1fr 1.42fr;
  gap:90px;
  padding-top:79px;
  padding-bottom:107px;
  border-top:1px solid var(--line)
}

.faq-section h2 {
  font-size:clamp(36px,3.5vw,50px)
}

.faq-section>.eyebrow,.faq-section>div>.eyebrow {
  font-size:10px
}

.faq-list {
  border-top:1px solid var(--line)
}

.faq-list details {
  border-bottom:1px solid var(--line)
}

.faq-list summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding:22px 0;
  font-size:15px;
  line-height:1.6
}

.faq-list summary::-webkit-details-marker {
  display:none
}

.faq-list summary>span {
  color:var(--signal);
  font-size:23px;
  font-weight:300;
  line-height:1;
  transition:transform .2s
}

.faq-list details[open] summary>span {
  transform:rotate(45deg)
}

.faq-answer p {
  font-size:14px;
  color:var(--muted);
  line-height:1.9;
  margin:0 0 25px;
  max-width:560px;
  padding-right:24px
}

.contact-section {
  background:var(--signal);
  color:var(--night);
  overflow:hidden
}

.contact-inner {
  position:relative;
  padding-top:52px;
  padding-bottom:43px
}

.contact-eyebrow {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:40px;
  position:relative;
  z-index:1
}

.contact-eyebrow>.eyebrow {
  margin:0;
  font-size:10px;
  color:#5d7439
}

.contact-eyebrow>span {
  font-size:12px;
  color:#5e753c
}

.contact-section h2 {
  position:relative;
  z-index:1;
  font-size:clamp(56px,7.8vw,112px);
  line-height:1.08;
  letter-spacing:-.07em;
  margin:0 0 40px;
  max-width:1050px
}

.contact-section h2 em {
  color:#68863d
}

.contact-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
  position:relative;
  z-index:1
}

.contact-bottom>p {
  font-size:17px;
  line-height:1.65;
  letter-spacing:-.025em;
  margin:0;
  color:#3f542b
}

.button-dark {
  background:var(--night);
  color:var(--signal);
  min-width:205px
}

.button-dark:hover {
  background:#26351c
}

.contact-address {
  margin-top:48px;
  position:relative;
  z-index:1
}

.contact-address>a {
  font-size:15px;
  border-bottom:1px solid #819f59;
  padding-bottom:4px;
  display:inline-block;
  color:#314c1a
}

.contact-address>a:hover {
  color:#071001;
  border-color:#314c1a
}

.contact-address>p {
  font-size:12px;
  color:#48632b;
  line-height:1.8;
  margin:13px 0 0
}

.contact-star {
  position:absolute;
  right:-67px;
  bottom:-95px;
  width:395px;
  height:395px;
  stroke:#adc976;
  stroke-width:.8;
  fill:none;
  opacity:.5;
  pointer-events:none
}

.site-footer {
  display:flex;
  align-items:center;
  gap:28px;
  padding-top:37px;
  padding-bottom:37px;
  color:#838e7b;
  font-size:12px
}

.site-footer .brand {
  font-size:23px;
  color:var(--white);
  gap:8px
}

.site-footer .brand svg {
  height:27px;
  width:27px
}

.site-footer>p {
  margin:0
}

.site-footer>span {
  margin-left:auto;
  font-size:11px;
  color:#73806b
}

.site-footer>a:last-child {
  color:#aebda0;
  font-size:11px;
  white-space:nowrap
}

.site-footer>a:last-child:hover {
  color:var(--signal)
}

.source-dialog {
  background:#12181e;
  color:var(--white);
  border:1px solid #47513e;
  border-radius:8px;
  width:calc(100% - 40px);
  max-width:720px;
  padding:30px 34px;
  max-height:88dvh;
  overflow:auto;
  box-shadow:0 30px 120px #0008
}

.source-dialog::backdrop {
  background:#05080cdd;
  backdrop-filter:blur(6px)
}

.dialog-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:25px
}

.dialog-heading .eyebrow {
  font-size:9px;
  margin:0;
  color:#91a27d
}

.dialog-close {
  width:38px;
  height:38px;
  border:1px solid #4a573b;
  border-radius:50%;
  font-size:26px;
  line-height:1;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--signal)
}

.dialog-close:hover {
  background:#24321b
}

.source-dialog h2 {
  font-size:clamp(29px,4vw,43px);
  letter-spacing:-.05em;
  line-height:1.2;
  margin-bottom:17px
}

.source-metadata {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  font-size:11px;
  margin-bottom:25px;
  color:#a2b38e
}

.source-metadata span {
  padding:5px 9px;
  background:#23311e;
  border:1px solid #394c2d;
  border-radius:3px
}

.source-original {
  white-space:pre-wrap;
  font-size:15px;
  line-height:1.9;
  border:1px solid #303c2d;
  background:#0e1514;
  padding:25px;
  border-radius:4px;
  overflow-wrap:anywhere;
  color:#d2dbc9
}

.source-disclaimer {
  font-size:12px;
  line-height:1.85;
  color:#8c9782;
  margin:20px 0 0
}

@keyframes nodeFloat {
  0%,100% {
    translate:0 0
  }
  50% {
    translate:0 -8px
  }
}

@keyframes coreTurn {
  to {
    rotate:360deg
  }
}

@keyframes routeTrace {
  to {
    stroke-dashoffset:-190
  }
}

@keyframes signalBreathe {
  0%,100% {
    opacity:.2
  }
  50% {
    opacity:.9
  }
}

@media(min-width:1600px) {
  .hero-inner {
    min-height:920px;
    padding-top:100px
  }
  .knowledge-universe {
    transform:translate(-50%,-50%) scale(.9)
  }
  .hero-copy {
    max-width:720px
  }
  h1 {
    font-size:101px
  }
}

@media(max-width:1200px) {
  .shell {
    width:calc(100% - 80px)
  }
  .hero-inner {
    min-height:840px;
    padding-top:76px;
    column-gap:30px
  }
  .hero-visual {
    min-height:550px
  }
  h1 {
    font-size:clamp(64px,6.9vw,83px)
  }
  .hero-detail {
    max-width:365px
  }
  .knowledge-universe {
    transform:translate(-50%,-50%) scale(.76)
  }
  .hero-offer {
    max-width:370px;
    font-size:14px;
    gap:6px
  }
  .opening-statement {
    grid-template-columns:1fr 2.5fr 60px;
    gap:32px
  }
  .opening-statement p {
    font-size:29px
  }
  .statement-star {
    height:57px;
    width:57px
  }
  .lifecycle-layout {
    gap:55px
  }
  .lifecycle-visual {
    height:435px
  }
  .possibility-list article {
    grid-template-columns:.9fr 1.65fr 1.25fr 44px;
    gap:25px
  }
  .stage-section,.faq-section {
    gap:65px
  }
  .demo-answer {
    padding:32px
  }
  .demo-context {
    padding:32px 27px
  }
  .demo-tab {
    padding:21px 24px
  }
  .demo-tab>span:not(.tab-number,.tab-arrow) {
    font-size:10px
  }
  .demo-bottom {
    font-size:11px
  }
  .hero-bottom {
    font-size:11px
  }
}

@media(max-width:1100px) {
  .hero-inner {
    display:block;
    padding-top:64px;
    min-height:auto;
    padding-bottom:0
  }
  .hero-visual {
    min-height:0
  }
  .hero-copy {
    width:100%;
    max-width:700px
  }
  h1 {
    font-size:clamp(76px,10vw,94px)
  }
  .hero-intro {
    font-size:21px
  }
  .hero-detail {
    max-width:490px
  }
  .hero-offer {
    max-width:none
  }
  .knowledge-universe {
    position:relative;
    top:auto;
    right:auto;
    left:50%;
    margin-left:-360px;
    transform:scale(.96);
    transform-origin:center top;
    margin-top:0;
    margin-bottom:0;
    height:640px
  }
  .hero-bottom {
    position:relative;
    margin-top:0;
    padding-top:21px;
    padding-bottom:24px
  }
  .opening-statement {
    padding-top:65px;
    padding-bottom:65px;
    grid-template-columns:1fr 3fr;
    gap:35px
  }
  .opening-statement p {
    font-size:29px
  }
  .statement-star {
    display:none
  }
  .workspace-section {
    padding:75px 0 80px
  }
  .section-heading {
    gap:35px
  }
  .section-heading>p {
    font-size:14px;
    max-width:250px
  }
  .demo-topline {
    padding:18px 22px
  }
  .demo-product>span {
    font-size:11px
  }
  .demo-badge {
    font-size:8px
  }
  .demo-tabs {
    grid-template-columns:repeat(3,1fr)
  }
  .demo-tab {
    padding:18px;
    column-gap:8px;
    grid-template-columns:18px 1fr 14px
  }
  .demo-tab strong {
    font-size:17px
  }
  .demo-tab>span:not(.tab-number,.tab-arrow) {
    font-size:10px
  }
  .demo-body {
    grid-template-columns:.8fr 1.2fr
  }
  .demo-context {
    padding:27px 24px
  }
  .demo-question {
    font-size:29px
  }
  .demo-answer {
    padding:28px
  }
  .demo-answer h3 {
    font-size:30px
  }
  .answer-body {
    font-size:14px
  }
  .demo-bottom>span:last-child {
    font-size:8px
  }
  .demo-context-note {
    font-size:12px
  }
  .approach-section {
    padding-top:82px;
    padding-bottom:73px
  }
  .approach-heading {
    grid-template-columns:1fr 2.2fr;
    gap:0 40px
  }
  .approach-heading h2 {
    font-size:43px
  }
  .approach-heading>p:last-child {
    font-size:14px
  }
  .lifecycle-layout {
    gap:35px;
    margin-top:55px;
    grid-template-columns:1fr 1.15fr
  }
  .lifecycle-visual {
    height:420px
  }
  .folio {
    width:168px;
    height:225px;
    padding:20px
  }
  .folio-front {
    transform:translate(-32%,-28%) rotate(9deg)
  }
  .folio-back {
    transform:translate(-85%,-60%) rotate(-11deg)
  }
  .lifecycle-orbit {
    width:370px
  }
  .lifecycle-steps>li {
    gap:16px;
    padding-block:19px
  }
  .lifecycle-steps h3 {
    font-size:19px
  }
  .lifecycle-steps p {
    font-size:14px
  }
  .possibilities-section {
    padding:75px 0
  }
  .possibility-list article {
    grid-template-columns:.9fr 1.8fr 1.3fr 40px;
    gap:23px
  }
  .possibility-index {
    font-size:8px
  }
  .possibility-list h3 {
    font-size:25px
  }
  .possibility-list p {
    font-size:14px
  }
  .round-link {
    width:40px;
    height:40px
  }
  .stage-section {
    gap:48px;
    padding:80px 0
  }
  .stage-title h2 {
    font-size:43px
  }
  .stage-lead {
    font-size:19px
  }
  .stage-copy>p:not(.stage-lead) {
    font-size:14px
  }
  .stage-status p {
    font-size:14px
  }
  .faq-section {
    gap:40px;
    padding:70px 0 80px;
    grid-template-columns:1fr 1.25fr
  }
  .faq-section h2 {
    font-size:39px
  }
  .faq-list summary {
    font-size:14px
  }
  .faq-answer p {
    font-size:14px
  }
  .contact-section h2 {
    font-size:78px
  }
  .site-footer {
    gap:19px;
    font-size:11px
  }
}

@media(max-width:800px) {
  .shell {
    width:calc(100% - 40px)
  }
  .site-header {
    height:74px
  }
  .brand {
    font-size:24px;
    gap:8px
  }
  .brand svg {
    height:31px;
    width:31px
  }
  .js .menu-toggle {
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--signal);
    font-size:13px;
    padding:11px 0 11px 14px;
    min-height:44px
  }
  .menu-toggle svg {
    width:20px;
    height:20px;
    stroke:currentColor;
    stroke-width:1.3;
    fill:none
  }
  .js .main-nav {
    display:none;
    position:absolute;
    top:73px;
    left:0;
    right:0;
    padding:18px 20px 24px;
    background:#10161c;
    border-bottom:1px solid #39422f;
    box-shadow:0 22px 40px #0003;
    z-index:10;
    gap:6px
  }
  .js .main-nav.is-open {
    display:flex;
    flex-direction:column;
    align-items:stretch
  }
  .main-nav>a {
    font-size:14px;
    padding:12px
  }
  .main-nav .nav-contact {
    margin-top:4px;
    align-self:start;
    padding:10px 14px
  }
  .no-js .site-header {
    height:auto
  }
  .no-js .header-inner {
    flex-wrap:wrap;
    gap:14px;
    padding-top:20px;
    padding-bottom:15px
  }
  .no-js .main-nav {
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
    width:100%;
    font-size:12px
  }
  .no-js .main-nav>a {
    padding:5px 0;
    font-size:12px
  }
  .no-js .main-nav .nav-contact {
    padding:5px 10px;
    margin:0
  }
  .hero-inner {
    padding-top:52px
  }
  .hero-copy {
    max-width:650px
  }
  .hero-eyebrow {
    font-size:10px;
    gap:8px;
    margin-bottom:24px
  }
  h1 {
    font-size:clamp(57px,11.6vw,82px);
    letter-spacing:-.072em;
    line-height:1.05;
    margin-bottom:26px
  }
  .hero-intro {
    font-size:19px;
    line-height:1.5
  }
  .hero-detail {
    font-size:14px;
    line-height:1.85;
    max-width:480px
  }
  .hero-actions {
    gap:20px
  }
  .button {
    min-height:50px;
    padding:13px 18px;
    gap:24px;
    font-size:14px
  }
  .text-link {
    font-size:14px
  }
  .hero-offer {
    font-size:14px;
    gap:7px;
    margin-top:24px
  }
  .knowledge-universe {
    width:620px;
    height:560px;
    margin-left:-310px;
    transform:scale(.94);
    margin-top:5px;
    margin-bottom:-10px
  }
  .universe-core {
    width:140px;
    height:140px
  }
  .core-disc svg {
    width:49px;
    height:49px
  }
  .core-disc strong {
    font-size:22px
  }
  .core-disc>span {
    font-size:5.5px
  }
  .core-ring {
    inset:-21px
  }
  .ring-two {
    inset:-36px
  }
  .universe-node {
    padding:12px;
    min-height:64px;
    gap:8px;
    width:157px
  }
  .universe-node strong {
    font-size:11px
  }
  .universe-node small {
    font-size:6.5px
  }
  .node-icon {
    width:21px
  }
  .node-people {
    width:171px
  }
  .node-agreement {
    width:161px
  }
  .node-decision {
    width:182px
  }
  .node-process {
    width:180px
  }
  .universe-label {
    left:100px;
    top:24px;
    font-size:8px
  }
  .universe-caption {
    left:72px;
    right:55px;
    bottom:4px
  }
  .hero-bottom {
    font-size:10px;
    gap:15px;
    padding-top:19px;
    padding-bottom:24px
  }
  .hero-bottom>span:nth-child(2) {
    display:none
  }
  .hero-index {
    font-size:9px
  }
  .hero-bottom>a {
    width:30px;
    height:30px
  }
  .opening-statement {
    padding:48px 0;
    display:block
  }
  .section-marker {
    display:block;
    padding:0;
    font-size:9px;
    margin-bottom:20px
  }
  .opening-statement p {
    font-size:clamp(23px,4.2vw,31px);
    line-height:1.5;
    max-width:620px
  }
  .workspace-section {
    padding:55px 0 59px
  }
  .section-heading {
    display:block;
    margin-bottom:29px
  }
  .eyebrow {
    font-size:10px;
    margin-bottom:18px
  }
  h2 {
    font-size:clamp(35px,6vw,46px)
  }
  .section-heading>p {
    font-size:14px;
    line-height:1.8;
    max-width:400px;
    margin:22px 0 0
  }
  .section-heading>p>br {
    display:none
  }
  .workspace-demo {
    border-radius:6px
  }
  .demo-topline {
    padding:17px 18px;
    align-items:start;
    flex-direction:column;
    gap:9px
  }
  .demo-product {
    gap:8px
  }
  .demo-product strong {
    font-size:16px
  }
  .demo-product svg {
    height:22px;
    width:22px
  }
  .demo-product>span {
    font-size:11px;
    padding-left:0
  }
  .demo-badge {
    font-size:8px
  }
  .demo-tab {
    padding:16px 10px;
    grid-template-columns:1fr;
    column-gap:0;
    row-gap:0
  }
  .tab-number {
    grid-column:1;
    grid-row:1;
    font-size:8px;
    padding-top:0;
    margin-bottom:5px
  }
  .demo-tab strong {
    grid-column:1;
    grid-row:2;
    font-size:17px
  }
  .demo-tab>span:not(.tab-number,.tab-arrow) {
    display:none
  }
  .tab-arrow {
    display:none
  }
  .demo-body {
    display:block;
    min-height:0
  }
  .demo-context {
    padding:23px 21px 22px;
    border-right:0;
    border-bottom:1px solid #d1d8c6
  }
  .demo-context>.eyebrow {
    font-size:8px;
    margin-bottom:12px
  }
  .demo-question {
    font-size:27px;
    max-width:none;
    margin:0
  }
  .demo-context-map {
    display:none
  }
  .demo-context-note {
    font-size:11px;
    margin:12px 0 0;
    max-width:none
  }
  .demo-answer {
    padding:27px 21px 25px
  }
  .answer-label {
    font-size:8px;
    margin-bottom:14px
  }
  .demo-answer h3 {
    font-size:32px;
    line-height:1.25;
    margin-bottom:18px
  }
  .answer-body {
    font-size:14px;
    line-height:1.85
  }
  .demo-proof {
    padding-top:16px;
    margin-top:18px
  }
  .demo-proof blockquote {
    font-size:14px;
    margin:9px 0 15px
  }
  .demo-proof blockquote p {
    margin-bottom:9px
  }
  .proof-heading {
    font-size:8px
  }
  .source-link {
    font-size:12px;
    padding:9px 10px;
    min-height:41px
  }
  .source-link small {
    font-size:10px
  }
  .demo-note {
    font-size:12px;
    line-height:1.8;
    margin-top:16px
  }
  .demo-bottom {
    padding:13px 18px;
    display:block;
    font-size:11px;
    line-height:1.8
  }
  .demo-bottom>span:last-child {
    display:block;
    font-size:8px;
    margin-top:5px
  }
  .approach-section {
    padding:62px 0
  }
  .approach-heading {
    display:block
  }
  .approach-heading>.eyebrow {
    padding:0;
    font-size:9px
  }
  .approach-heading h2 {
    font-size:clamp(35px,6vw,45px)
  }
  .approach-heading>p:last-child {
    font-size:14px;
    line-height:1.8;
    margin-top:24px;
    max-width:570px
  }
  .lifecycle-layout {
    display:flex;
    flex-direction:column;
    gap:25px;
    margin-top:36px
  }
  .lifecycle-visual {
    width:100%;
    height:350px;
    max-width:450px
  }
  .visual-kicker {
    top:6px;
    left:0;
    font-size:8px
  }
  .folio {
    width:165px;
    height:210px;
    top:43%
  }
  .folio-front {
    transform:translate(-24%,-30%) rotate(9deg)
  }
  .folio-back {
    transform:translate(-77%,-60%) rotate(-11deg)
  }
  .lifecycle-orbit {
    width:365px;
    height:150px;
    top:48%
  }
  .folio-label {
    bottom:20px;
    font-size:8px
  }
  .lifecycle-steps {
    width:100%;
    max-width:610px
  }
  .lifecycle-steps>li {
    gap:18px;
    padding-block:22px
  }
  .lifecycle-steps h3 {
    font-size:21px
  }
  .lifecycle-steps p {
    font-size:14px;
    max-width:500px
  }
  .approach-footnote {
    padding-top:20px;
    margin-top:30px;
    gap:14px
  }
  .approach-footnote p {
    font-size:12px
  }
  .tiny-star {
    font-size:23px
  }
  .possibilities-section {
    padding:60px 0 54px
  }
  .possibilities-section h2 {
    font-size:clamp(35px,6vw,45px)
  }
  .possibilities-section .section-heading {
    margin-bottom:30px
  }
  .possibility-list article {
    grid-template-columns:1fr 44px;
    gap:16px 22px;
    padding:25px 0
  }
  .possibility-index {
    grid-column:1;
    grid-row:1;
    font-size:9px;
    padding:0
  }
  .possibility-list h3 {
    grid-column:1;
    grid-row:2;
    font-size:29px
  }
  .possibility-list p {
    grid-column:1;
    grid-row:3;
    font-size:14px;
    max-width:430px
  }
  .round-link {
    grid-column:2;
    grid-row:2;
    height:44px;
    width:44px
  }
  .possibility-caption {
    font-size:12px;
    line-height:1.9;
    margin-top:21px
  }
  .stage-section {
    display:block;
    padding:63px 0 60px
  }
  .stage-title>.eyebrow {
    font-size:9px;
    margin-bottom:21px
  }
  .stage-title h2 {
    font-size:clamp(36px,6.3vw,46px)
  }
  .stage-copy {
    padding-top:29px
  }
  .stage-lead {
    font-size:21px;
    max-width:570px;
    margin-bottom:21px
  }
  .stage-copy>p:not(.stage-lead) {
    font-size:14px;
    max-width:580px
  }
  .stage-status {
    padding-left:17px;
    gap:11px;
    margin:26px 0
  }
  .stage-status strong,.stage-status p {
    font-size:14px;
    max-width:560px
  }
  .faq-section {
    display:block;
    padding:57px 0 64px
  }
  .faq-section h2 {
    font-size:clamp(35px,6vw,45px)
  }
  .faq-section>div>.eyebrow {
    font-size:9px
  }
  .faq-list {
    margin-top:30px
  }
  .faq-list summary {
    font-size:14px;
    gap:24px;
    padding:21px 0
  }
  .faq-answer p {
    font-size:14px;
    padding-right:20px;
    line-height:1.9;
    max-width:600px
  }
  .contact-inner {
    padding-top:34px;
    padding-bottom:31px
  }
  .contact-eyebrow {
    gap:15px;
    margin-bottom:32px
  }
  .contact-eyebrow>.eyebrow {
    font-size:8px;
    letter-spacing:.05em
  }
  .contact-eyebrow>span {
    font-size:11px;
    white-space:nowrap
  }
  .contact-section h2 {
    font-size:clamp(46px,9.7vw,75px);
    line-height:1.12;
    letter-spacing:-.068em;
    margin-bottom:32px
  }
  .contact-bottom {
    gap:27px;
    align-items:start;
    flex-direction:column
  }
  .contact-bottom>p {
    font-size:16px;
    line-height:1.7
  }
  .button-dark {
    min-width:197px
  }
  .contact-address {
    margin-top:35px
  }
  .contact-address>a {
    font-size:14px
  }
  .contact-address>p {
    font-size:11px;
    max-width:370px;
    line-height:1.9
  }
  .contact-star {
    right:-50px;
    bottom:5px;
    width:270px;
    height:270px;
    opacity:.35
  }
  .site-footer {
    gap:14px 20px;
    flex-wrap:wrap;
    padding-top:29px;
    padding-bottom:29px;
    font-size:11px;
    justify-content:space-between
  }
  .site-footer .brand {
    font-size:22px
  }
  .site-footer .brand svg {
    width:25px;
    height:25px
  }
  .site-footer>p {
    width:calc(100% - 173px);
    text-align:right;
    font-size:10px
  }
  .site-footer>span {
    margin-left:0;
    font-size:10px
  }
  .site-footer>a:last-child {
    font-size:10px
  }
  .source-dialog {
    padding:23px 21px;
    width:calc(100% - 28px);
    border-radius:6px
  }
  .dialog-heading {
    margin-bottom:21px
  }
  .dialog-heading .eyebrow {
    font-size:8px;
    max-width:200px
  }
  .dialog-close {
    height:35px;
    width:35px
  }
  .source-dialog h2 {
    font-size:30px
  }
  .source-metadata {
    font-size:10px;
    gap:6px
  }
  .source-original {
    font-size:14px;
    line-height:1.9;
    padding:20px
  }
  .source-disclaimer {
    font-size:11px
  }
}

@media(max-width:390px) {
  .shell {
    width:calc(100% - 32px)
  }
  .hero-eyebrow {
    font-size:9px
  }
  h1 {
    font-size:13vw;
    letter-spacing:-.07em
  }
  .hero-intro {
    font-size:18px
  }
  .hero-detail {
    font-size:14px
  }
  .hero-actions {
    gap:17px
  }
  .hero-actions .button {
    font-size:13px;
    gap:16px;
    padding-inline:15px
  }
  .hero-actions .text-link {
    font-size:13px;
    gap:10px
  }
  .hero-offer {
    font-size:14px;
    gap:5px
  }
  .knowledge-universe {
    transform:scale(.75);
    margin-top:8px;
    margin-bottom:-126px
  }
  .hero-index {
    font-size:8px
  }
  .opening-statement p {
    font-size:23px
  }
  .demo-topline {
    padding:16px
  }
  .demo-product>span {
    font-size:10px
  }
  .demo-tab {
    padding-inline:9px
  }
  .demo-tab strong {
    font-size:16px
  }
  .demo-tab>span:not(.tab-number,.tab-arrow) {
    font-size:8px
  }
  .demo-question {
    font-size:25px
  }
  .demo-context,.demo-answer {
    padding-inline:18px
  }
  .demo-answer h3 {
    font-size:29px
  }
  .source-link>span:last-child {
    margin-left:2px
  }
  .source-link small {
    margin-left:3px
  }
  .demo-bottom {
    font-size:10px
  }
  .lifecycle-visual {
    height:335px
  }
  .folio-label {
    font-size:7px
  }
  .possibility-list h3 {
    font-size:27px
  }
  .contact-section h2 {
    font-size:10.8vw
  }
  .contact-eyebrow>.eyebrow {
    max-width:170px;
    font-size:8px
  }
  .site-footer>p {
    width:calc(100% - 153px);
    font-size:9px
  }
  .source-original {
    padding:16px
  }
}


/* Non-JavaScript navigation and content remain useful. Motion is optional throughout. */
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}


/* The error page shares the same public visual system. */
.section.shell {
  padding-top:100px;
  padding-bottom:110px;
  min-height:55vh
}

.section.shell h1 {
  font-size:clamp(48px,7vw,90px);
  max-width:850px
}

.section.shell p {
  color:var(--muted);
  max-width:600px;
  font-size:16px
}

.section.shell>.button {
  border:1px solid #71894e;
  color:var(--signal);
  margin-top:12px
}

.demo-proof blockquote p:last-child {
  margin-bottom:0
}

@media(max-width:600px) {
  .knowledge-universe {
    left:auto;
    width:100%;
    height:440px;
    margin:22px 0 0;
    transform:none
  }
  .universe-routes {
    opacity:.28
  }
  .universe-label {
    left:0;
    right:0;
    top:2px;
    font-size:8px;
    justify-content:center
  }
  .universe-core {
    top:49%;
    left:50%;
    width:135px;
    height:135px
  }
  .universe-node {
    min-height:68px;
    padding:12px;
    animation:none;
    width:140px;
    gap:8px
  }
  .universe-node strong {
    font-size:11px
  }
  .universe-node small {
    font-size:7px
  }
  .node-brief {
    left:24%;
    top:23%
  }
  .node-spec {
    left:76%;
    top:23%
  }
  .node-agreement {
    left:50%;
    top:80%;
    width:165px
  }
  .node-people,.node-decision,.node-process {
    display:none
  }
  .universe-caption {
    left:0;
    right:0;
    bottom:0;
    font-size:9px
  }
  .universe-caption>span {
    max-width:180px
  }
  .motion-toggle {
    font-size:10px
  }
  .hero-offer {
    font-size:14px
  }
  .hero-bottom {
    margin-top:20px
  }
}

@media(max-width:390px) {
  .knowledge-universe {
    margin-bottom:0;
    height:420px
  }
  .universe-node {
    width:130px;
    padding:10px;
    gap:7px
  }
  .universe-node strong {
    font-size:10px
  }
  .node-icon {
    width:20px
  }
  .node-icon svg {
    width:20px;
    height:20px
  }
  .node-brief {
    left:24%
  }
  .node-spec {
    left:76%
  }
  .node-agreement {
    width:163px
  }
  .universe-core {
    width:120px;
    height:120px
  }
  .core-disc svg {
    height:42px;
    width:42px
  }
  .core-disc strong {
    font-size:20px
  }
}

.contact-section :focus-visible {
  outline:2px solid var(--night);
  outline-offset:5px
}

.no-script-note {
  color:#536943;
  font-size:14px;
  line-height:1.8;
  margin:0 0 22px
}
