/* Site styles. Base → components → responsive rules. Last-declaration precedence preserved. */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
  --bg: #071324;
  --ink: #142337;
  --muted: #a6b3c7;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--bg);
  color: #f2f5fb;
  font-family: 'IBM Plex Sans',sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
}

button,input,textarea,select {
  font: inherit;
}

button,a {
  touch-action: manipulation;
}

button {
  cursor: pointer;
}

button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
  outline: 3px solid #72cfff;
  outline-offset: 5px;
}

nav {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: auto;
  padding: 28px 6%;
  position: relative;
  z-index: 4;
  border-bottom: 1px solid #ffffff16;
}

.logo {
  font: 600 27px 'IBM Plex Sans';
  margin-right: auto;
}

.logo span {
  color: var(--cyan);
}

.logo small {
  display: block;
  margin-top: 4px;
  color: #b5c7df;
}

.navlink {
  font-size: 14px;
  color: #c0ccdc;
}

.navlink:hover,.navlink.active {
  color: var(--cyan);
}

.lang {
  background: none;
  border: 0;
  color: #fff;
  font-size: 14px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background: var(--blue);
  border: 1px solid var(--blue);
  border-radius: 5px;
  color: white;
  font-weight: 600;
}

.button.light {
  background: #eff4fc;
  color: var(--ink);
  border-color: #eff4fc;
}

.button.outline {
  background: transparent;
  border-color: #ffffff40;
}

.wrap {
  max-width: 1320px;
  padding: 0 6%;
  margin: auto;
}

.eyebrow {
  text-transform: uppercase;
  color: var(--cyan);
  display: flex;
  gap: 12px;
  align-items: center;
}

.eyebrow:before {
  content: '';
  width: 6px;
  height: 6px;
  background: currentColor;
  border-radius: 50%;
}

h1,h2,h3 {
  font-family: 'IBM Plex Sans',sans-serif;
}

h1 {
  font-size: clamp(46px,5.9vw,84px);
  line-height: 1.05;
  margin: 28px 0;
}

h1 em {
  font-style: normal;
  color: #8aaaff;
}

h2 {
  font-size: clamp(32px,3.6vw,50px);
  line-height: 1.12;
  margin: 20px 0;
}

h3 {
  font-size: 25px;
  letter-spacing: -.8px;
}

.lede {
  color: #b3c0d2;
  max-width: 510px;
}

.hero {
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  gap: 20px;
  min-height: 650px;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 60px;
  position: relative;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 32px;
}

.textlink {
  font-size: 14px;
  color: #d0d9e6;
  border-bottom: 1px solid #536078;
  padding-bottom: 5px;
}

.micro {
  color: #92a4be;
  margin-top: 26px;
}

.graphic {
  height: 490px;
  position: relative;
  background: radial-gradient(ellipse at center,#2555b03d,transparent 68%);
  overflow: hidden;
}

.graphic svg {
  width: 100%;
  height: 100%;
}

.orbit {
  transform-origin: 300px 250px;
  animation: spin 70s linear infinite;
}

.reverse {
  animation-direction: reverse;
  animation-duration: 100s;
}

.signal {
  stroke-dasharray: 8 150;
  animation: flow 8s linear infinite;
}

.core {
  animation: breathe 5s ease-in-out infinite;
}

.graphic-label {
  position: absolute;
  bottom: 5px;
  left: 12%;
  right: 10%;
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  letter-spacing: 1px;
  color: #91a7c8;
}

.motion {
  background: transparent;
  color: #aec3e3;
  border: 1px solid #ffffff26;
  border-radius: 4px;
  padding: 7px 10px;
  font-size: 14px;
  position: absolute;
  right: 10px;
  top: 10px;
}

.strip {
  border-top: 1px solid #ffffff20;
  border-bottom: 1px solid #ffffff20;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 24px;
  padding-bottom: 24px;
  color: #aebbd0;
  font-size: 14px;
  letter-spacing: 1px;
}

.strip b {
  color: #fff;
  font-weight: 500;
}

.section {
  padding-top: 100px;
  padding-bottom: 100px;
}

.white {
  background: #f3f6fa;
  color: var(--ink);
}

.white .eyebrow {
  color: #3266d5;
}

.white .lede,.white .muted {
  color: #5a6b80;
}

.intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: start;
}

.muted {
  color: #a6b3c7;
}

.cards {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  margin-top: 45px;
}

.card {
  border: 1px solid #ffffff26;
  border-radius: 8px;
  padding: 30px;
  position: relative;
}

.white .card {
  border-color: #d1dbe7;
  background: #fff;
}

.num {
  font: 14px 'IBM Plex Sans';
}

.card p {
  font-size: 14px;
  color: #aebed2;
}

.white .card p {
  color: #5a6b80;
}

.card .arrow {
  position: absolute;
  right: 26px;
  top: 28px;
  color: #82a6ff;
}

.card:hover {
  border-color: #5786ed;
}

.card ul {
  padding-left: 18px;
  line-height: 2;
  font-size: 14px;
  color: #6a7b91;
}

.deliver {
  border-top: 1px solid #dce3ed;
  padding-top: 18px;
  margin-top: 24px;
  font-size: 14px;
  line-height: 1.8;
  color: #41546c;
}

.tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 30px 0;
}

.tabs button {
  background: none;
  border: 1px solid #ffffff30;
  color: #b1c0d4;
  padding: 12px 18px;
  border-radius: 4px;
  font-size: 14px;
}

.tabs button[aria-selected=true] {
  background: #467bff;
  color: white;
  border-color: #467bff;
}

.scenario {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  background: #0e2038;
  border: 1px solid #ffffff1a;
  border-radius: 8px;
  padding: 40px;
  min-height: 265px;
}

.flow {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.flow div {
  border: 1px solid #587aab60;
  padding: 13px 17px;
  border-radius: 4px;
  font-size: 14px;
  background: #142b49;
}

.flow div:nth-child(2) {
  border-color: #638fff;
  color: #b8ceff;
}

.flow div:last-child {
  border-color: #75cec3;
  color: #a1e9df;
}

.small {
  line-height: 1.7;
}

.artifact {
  border-bottom: 1px solid #ced8e5;
  padding: 22px 0;
}

.artifact summary {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  font: 500 20px 'IBM Plex Sans';
  letter-spacing: -.5px;
}

.artifact summary:after {
  content: '+';
  color: #4278ff;
}

.artifact[open] summary:after {
  content: '−';
}

.artifact p {
  max-width: 800px;
  color: #586b81;
}

.artifact table {
  border-collapse: collapse;
  width: 100%;
  margin: 22px 0;
}

.artifact td,.artifact th {
  text-align: left;
  padding: 12px;
  border-bottom: 1px solid #d7e0eb;
}

.experience {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 75px;
}

.experience .roles {
  display: flex;
  gap: 30px;
  border-top: 1px solid #ffffff25;
  padding-top: 25px;
  margin-top: 30px;
  font: 500 20px 'IBM Plex Sans';
}

.cta {
  background: #3067ef;
  padding: 70px 6%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.cta h2 {
  max-width: 650px;
  margin: 0;
}

.cta p {
  color: #d2dfff;
}

.footer {
  padding: 38px 6%;
  display: flex;
  align-items: center;
  gap: 35px;
  color: #94a6bf;
}

.footer .logo {
  color: white;
  font-size: 22px;
}

.subhero {
  padding-top: 85px;
  padding-bottom: 55px;
}

.steps {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 35px;
  margin-top: 40px;
}

.steps article {
  border-top: 1px solid #cdd8e6;
  padding-top: 20px;
}

label {
  display: block;
  font-size: 14px;
  color: #b2c5de;
  margin: 20px 0 8px;
}

input,textarea,select {
  width: 100%;
  padding: 14px;
  border: 1px solid #45607e;
  background: #0e2038;
  color: white;
  border-radius: 4px;
}

textarea {
  min-height: 125px;
}

form {
  max-width: 740px;
}

fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

.formstep {
  display: none;
}

.formstep.current {
  display: block;
}

.formbuttons {
  display: flex;
  gap: 12px;
  margin: 28px 0;
}

.output {
  white-space: pre-wrap;
  background: #152b48;
  border: 1px solid #496a96;
  padding: 24px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.8;
}

dialog {
  border: 1px solid #45607e;
  border-radius: 10px;
  background: #0d213b;
  color: white;
  max-width: 650px;
  width: 90%;
  padding: 35px;
}

dialog::backdrop {
  background: #000a;
}

dialog h3 {
  margin-top: 0;
}

dialog button.close {
  float: right;
  background: none;
  border: 0;
  color: white;
  font-size: 24px;
}

.mobile-menu {
  display: none;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes flow {
  to {
    stroke-dashoffset: -632;
  }
}

@keyframes breathe {
  50% {
    opacity: .65;
  }
}

@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation: none!important;
    scroll-behavior: auto!important;
  }
}

body.calm .graphic * {
  animation: none!important;
}

@media(max-width:850px) {
  .navlink {
    display: none;
  }

  .nav-open .navlink {
    display: block;
    width: 100%;
  }

  .nav-open {
    flex-wrap: wrap;
  }

  .mobile-menu {
    display: block;
    background: none;
    border: 0;
    color: #fff;
  }

  .hero {
    grid-template-columns: 1fr;
    padding-top: 50px;
    gap: 0;
  }

  .hero h1 {
    max-width: 650px;
  }

  .graphic {
    height: 360px;
    max-width: 550px;
    width: 100%;
    margin: auto;
  }

  .cards {
    grid-template-columns: 1fr;
  }

  .intro-grid,.experience,.scenario {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .section {
    padding-top: 65px;
    padding-bottom: 65px;
  }

  .strip {
    flex-wrap: wrap;
    font-size: 14px;
  }

  .cta {
    display: block;
  }

  .cta .button {
    margin-top: 20px;
  }

  .footer {
    flex-wrap: wrap;
  }

  .steps {
    grid-template-columns: 1fr;
  }

  .scenario {
    padding: 25px;
  }

  h1 {
    letter-spacing: -2px;
  }

  .subhero {
    padding-top: 55px;
  }

  .experience .roles {
    flex-wrap: wrap;
    font-size: 17px;
  }
}

:root {
  --blue: #3067df;
  --cyan: #a2c5ff;
}

body {
  font-weight: 400;
}

#header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #071324ed;
  backdrop-filter: blur(16px);
  border-bottom: 1px solid #ffffff12;
}

nav {
  padding-top: 19px;
  padding-bottom: 19px;
  border: 0;
  max-width: 1440px;
}

.logo {
  font-weight: 500;
  letter-spacing: -1.1px;
}

.logo small {
  font-family: 'IBM Plex Mono',monospace;
  font-size: 14px;
}

.button {
  font-size: 14px;
  padding: 15px 22px;
}

.navcta {
  font-size: 14px;
  padding: 12px 18px;
}

.num,.eyebrow,.micro,.system-top,.system-bottom,.phase-deliver {
  font-family: 'IBM Plex Mono',monospace;
}

.eyebrow {
  font-size: 14px;
  line-height: 1.6;
}

.micro {
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: .1px;
}

.num {
  color: #637fb7;
}

.white .num {
  color: #3c5d93;
}

h1,h2,h3 {
  font-weight: 400;
  letter-spacing: -1.6px;
}

.hero-stage {
  background: radial-gradient(ellipse at 50% 35%,#17346b60,transparent 65%);
  padding-bottom: 60px;
}

.hero-stage .hero {
  display: block;
  text-align: center;
  min-height: 0;
  padding-top: 85px;
  padding-bottom: 50px;
}

.hero .eyebrow {
  justify-content: center;
}

.hero h1 {
  margin: 25px auto;
}

.hero h1 em {
  color: #a8c7ff;
}

.hero .lede {
  margin: 0 auto;
  line-height: 1.65;
}

.hero-actions {
  justify-content: center;
}

.hero .micro {
  margin-top: 32px;
}

.system-visual {
  border: 1px solid #6386be48;
  border-radius: 12px;
  background: linear-gradient(140deg,#16325e65,#0a172b);
  padding: 24px 32px;
  max-width: 1060px;
  margin: auto;
  box-shadow: 0 25px 100px #0003;
  position: relative;
}

.system-top,.system-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  letter-spacing: 1px;
  color: #a7bcd9;
  gap: 16px;
}

.system-top .motion {
  position: static;
}

.system-grid {
  display: grid;
  grid-template-columns: 1fr .5fr 1.3fr .5fr 1fr;
  align-items: center;
  gap: 0;
  padding: 38px 0 24px;
}

.input-stack,.output-stack {
  display: grid;
  gap: 10px;
}

.input-stack span,.output-stack span {
  font-family: 'IBM Plex Mono',monospace;
  border: 1px solid #6887b34f;
  border-radius: 5px;
  font-size: 14px;
  text-align: center;
  background: #0c1b31;
}

.output-stack span {
  border-color: #7ca9ec70;
  color: #c6dcff;
}

.ai-engine {
  border: 1px solid #8ab5ff;
  border-radius: 12px;
  display: grid;
  place-items: center;
  padding: 20px 8px;
  min-height: 147px;
  background: radial-gradient(ellipse at center,#376ee65c,transparent);
  box-shadow: 0 0 45px #3979ff20;
}

.engine-mark {
  font: 400 49px 'IBM Plex Sans';
  letter-spacing: -2px;
}

.ai-engine small {
  text-align: center;
  color: #bed4f5;
  line-height: 1.8;
}

.connector {
  position: relative;
  display: grid;
  gap: 28px;
}

.connector i {
  display: block;
  height: 1px;
  background: #688cc65c;
  position: relative;
  overflow: hidden;
}

.connector i:after {
  content: '';
  position: absolute;
  left: -20%;
  height: 1px;
  width: 35%;
  background: #a4d2ff;
  animation: transmit 3.8s linear infinite;
}

.connector i:nth-child(2):after {
  animation-delay: 1.3s;
}

.connector i:nth-child(3):after {
  animation-delay: 2.5s;
}

.human-gate {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 8px auto 30px;
  font: 14px 'IBM Plex Mono';
  color: #a8c7ef;
  line-height: 1.8;
  text-align: center;
}

.status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #a6cfef;
  flex-shrink: 0;
}

.system-bottom {
  border-top: 1px solid #7395c12e;
  padding-top: 15px;
}

.problem-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  padding-top: 110px;
  padding-bottom: 110px;
}

.problem-section h2 {
  font-size: clamp(34px,3.8vw,54px);
}

.problem-lines p {
  border-bottom: 1px solid #ffffff20;
  padding: 0 0 20px;
  margin: 15px 0 22px;
  font-size: 22px;
  line-height: 1.45;
  letter-spacing: -.3px;
}

.problem-lines p span {
  font: 14px 'IBM Plex Mono';
  color: #9bbbe9;
  display: inline-block;
  width: 36px;
}

.problem-resolution {
  color: #b0bfd3;
  font-size: 16px;
  line-height: 1.8;
  margin-top: 32px;
}

.capability-section {
  background: #0d1d33;
  border-top: 1px solid #4d72a544;
  border-radius: 24px 24px 0 0;
}

.section-heading {
  margin-bottom: 50px;
}

.section-heading h2 {
  font-size: clamp(36px,4vw,56px);
}

.capabilities {
  display: grid;
  gap: 0;
}

.capability {
  display: grid;
  grid-template-columns: 85px 230px 1fr;
  gap: 38px;
  align-items: center;
  padding: 45px 0;
  border-top: 1px solid #6583ac44;
  scroll-margin-top: 110px;
}

.phase-number {
  font: 300 60px 'IBM Plex Sans';
  letter-spacing: -2px;
  color: #719ce5;
}

.phase-copy h3,.phase-copy h2 {
  font-size: 38px;
  margin: 12px 0;
  letter-spacing: -1px;
}

.phase-copy .phase-subtitle {
  font-weight: 400;
  color: #c5d7f0;
  margin: 10px 0;
}

.phase-copy p {
  font-size: 16px;
  color: #aebed2;
  max-width: 680px;
}

.phase-copy .num {
  font-size: 14px;
  color: #a2c5ff;
}

.phase-deliver {
  font-size: 14px;
  line-height: 1.9;
  color: #c1d3ed;
  margin-bottom: 20px;
  letter-spacing: 0;
}

.phase-art {
  height: 200px;
  border: 1px solid #7298ca30;
  border-radius: 12px;
  background: radial-gradient(ellipse at center,#376cbb24,transparent 75%);
  display: grid;
  place-items: center;
}

.matrix-mini {
  display: grid;
  grid-template-columns: repeat(3,32px);
  gap: 10px;
  transform: rotate(-8deg);
}

.matrix-mini i {
  height: 32px;
  border: 1px solid #6689ba;
  border-radius: 4px;
}

.matrix-mini i:nth-child(3) {
  background: #386fdf;
  border-color: #9bc2ff;
  box-shadow: 0 0 25px #538bff55;
}

.matrix-mini i:nth-child(5) {
  background: #79a9ec24;
}

.network-mini {
  display: flex;
  align-items: center;
  gap: 14px;
}

.network-mini i {
  font-style: normal;
  border: 1px solid #6891ce;
  padding: 10px;
  border-radius: 6px;
  color: #a8c7ff;
}

.network-mini b {
  font-weight: 400;
  border: 1px solid #a9ccff;
  padding: 20px 13px;
  border-radius: 10px;
  box-shadow: 0 0 30px #3067df30;
}

.loop-mini {
  position: relative;
}

.loop-mini span {
  font: 120px 'IBM Plex Sans';
  color: #79a2df;
  line-height: 1;
}

.loop-mini b {
  position: absolute;
  left: 41px;
  top: 42px;
  font: 26px 'IBM Plex Sans';
  color: #c5deff;
}

.capability ul {
  color: #b7c9df;
  font-size: 15px;
  line-height: 1.9;
  padding-left: 20px;
}

.capability .deliver {
  border-color: #789ac344;
  color: #bdcfea;
  font-size: 14px;
}

.acceptance {
  font-size: 14px!important;
  line-height: 1.8;
}

.white .capability {
  border-color: #c6d4e6;
}

.white .phase-copy .phase-subtitle {
  color: #405b7c;
}

.white .phase-copy p,.white .capability ul {
  color: #4d627c;
}

.white .phase-copy .num {
  color: #3f6094;
}

.white .phase-art {
  border-color: #bacce4;
  background: radial-gradient(ellipse at center,#b0caf526,transparent);
}

.white .phase-deliver,.white .deliver {
  color: #405b7c;
}

.white .network-mini b {
  color: #174582;
}

.white .loop-mini b {
  color: #214e8e;
}

.demonstrations .tabs button {
  border-color: #b8c9e0;
  color: #355276;
}

.demonstrations .tabs button[aria-selected=true] {
  background: #265bc8;
  color: white;
  border-color: #265bc8;
}

.demonstrations .scenario {
  background: #0d203a;
  color: white;
}

.demonstrations .scenario .muted {
  color: #b5c6dc;
}

.artifact-link {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 30px;
  font-size: 14px;
  color: #4e6682;
}

.artifact-link .textlink {
  color: #2458bb;
  border-color: #7190c1;
}

.faq-section {
  display: grid;
  grid-template-columns: .85fr 1.2fr;
  gap: 90px;
}

.artifact summary {
  font-family: 'IBM Plex Sans';
  font-weight: 400;
  gap: 20px;
}

.artifact p {
  font-size: 16px;
}

.faq-section .artifact:first-child {
  padding-top: 0;
}

.closing {
  background: radial-gradient(ellipse at 50% 110%,#255bc88c,transparent 75%),#071324;
  text-align: center;
  justify-content: center;
  position: relative;
  padding-top: 100px;
  padding-bottom: 100px;
}

.closing .eyebrow {
  justify-content: center;
}

.closing h2 {
  font-size: clamp(38px,4.6vw,66px);
  max-width: 950px;
  line-height: 1.1;
}

.closing p {
  font-size: 18px;
  color: #b4c6df;
  margin: 25px 0 30px;
}

.closing-line {
  position: absolute;
  bottom: 0;
  width: 75%;
  height: 1px;
  background: linear-gradient(90deg,transparent,#6b9de1,transparent);
}

.footer {
  border-top: 1px solid #ffffff16;
}

.small {
  font-size: 14px;
}

.white .card ul {
  color: #52657d;
}

.white .textlink {
  color: #2857a6;
}

.system-visual .motion {
  background: #0d223f;
}

.calm .connector i:after {
  left: 35%;
}

[hidden] {
  display: none!important;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px!important;
  transform: translateY(-180%);
  z-index: 100;
  background: white;
  color: #10233d;
  padding: 12px 20px;
  border-radius: 4px;
}

.skip-link:focus {
  transform: none;
}

@keyframes transmit {
  to {
    left: 120%;
  }
}

@media(prefers-reduced-motion:reduce) {
  .connector i:after {
    left: 35%;
  }
}

@media(max-width:850px) {
  .hero .eyebrow {
    font-size: 14px;
  }

  .hero-actions {
    flex-wrap: wrap;
  }

  .system-grid {
    padding-top: 28px;
  }

  .input-stack span,.output-stack span {
    padding: 10px 4px;
  }

  .engine-mark {
    font-size: 38px;
  }

  .human-gate {
    font-size: 14px;
  }

  .system-bottom {
    font-size: 14px;
  }

  .problem-section {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-top: 65px;
    padding-bottom: 65px;
  }

  .problem-lines p {
    font-size: 20px;
  }

  .capability {
    padding: 30px 0;
  }

  .phase-number {
    align-self: start;
  }

  .section-heading {
    margin-bottom: 30px;
  }

  .faq-section {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .closing {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .closing .button {
    margin-top: 0;
  }

  .hero .micro {
    font-size: 14px;
  }

  .navcta {
    padding: 10px 12px;
    font-size: 14px;
    gap: 8px;
  }

  .logo small {
    font-size: 14px;
    letter-spacing: 1px;
  }

  .phase-art {
    height: 150px;
  }

  .intro-grid {
    gap: 20px;
  }

  .footer {
    gap: 18px;
  }

  .scenario {
    gap: 25px;
  }
}

@media(max-width:380px) {
  .navcta {
    display: none;
  }

  .system-grid {
    grid-template-columns: 1fr 15px 1.1fr 15px 1fr;
  }
}

nav .navcta,nav .lang {
  white-space: nowrap;
  flex-shrink: 0;
}

nav .logo {
  flex-shrink: 0;
}

nav .navcta span {
  white-space: nowrap;
}

@media(max-width:850px) {
  nav .logo {
    font-size: 23px;
  }

  nav .logo small {
    max-width: 145px;
    line-height: 1.5;
  }

  nav .navcta {
    padding: 10px;
    font-size: 14px;
  }

  .mobile-menu {
    padding: 4px;
  }
}

@media(max-width:850px) {
  .nav-open .logo {
    order: 0;
  }

  .nav-open .lang {
    order: 1;
  }

  .nav-open .mobile-menu {
    order: 3;
  }

  .nav-open .navlink {
    order: 4;
    flex-basis: 100%;
    padding: 10px 0;
    border-top: 1px solid #ffffff14;
  }

  .nav-open {
    row-gap: 10px;
  }
}

.closing-line {
  left: 12.5%;
  right: 12.5%;
}

:root {
  --type-body: 18px;
  --type-ui: 16px;
  --type-note: 14px;
  --leading-body: 1.65;
}

body {
  font-size: var(--type-body);
  line-height: var(--leading-body);
}

p {
  line-height: var(--leading-body);
}

.hero h1 {
  line-height: 1.1;
  max-width: 1150px;
  letter-spacing: -1.8px;
}

.hero .lede {
  font-size: 20px;
  max-width: 780px;
}

.subhero {
  max-width: 1200px;
}

.subhero h1 {
  font-size: clamp(40px,4.8vw,68px);
  line-height: 1.12;
}

.lede {
  font-size: 18px;
}

.phase-copy p,.phase-copy li,.capability ul,.artifact p,.steps p {
  font-size: 18px;
  line-height: 1.65;
}

.phase-copy .phase-subtitle {
  font-size: 21px;
  line-height: 1.4;
}

.phase-copy h3,.phase-copy h2 {
  line-height: 1.2;
}

.phase-deliver,.capability .deliver,.acceptance {
  font: 400 16px/1.65 'IBM Plex Sans',sans-serif!important;
}

.phase-deliver {
  margin: 18px 0 22px;
}

.phase-copy .deliver b {
  font-size: 14px;
  font-weight: 600;
}

.num,.eyebrow,.micro,.small,.system-top,.system-bottom,.human-gate {
  font-size: 14px;
  line-height: 1.6;
}

.eyebrow {
  letter-spacing: 1px;
}

.micro {
  font-family: 'IBM Plex Sans',sans-serif;
}

.small,.muted.small {
  font-size: 16px;
}

.navlink,.lang,.button,.navcta,.textlink,.tabs button,label,.flow div,.output,.artifact-link {
  font-size: 16px!important;
  line-height: 1.5;
}

.button,.navcta,.lang,.tabs button {
  min-height: 44px;
}

.navlink {
  padding: 8px 0;
}

.textlink {
  display: inline-block;
  padding: 7px 0;
}

.logo {
  font-size: 28px!important;
}

.logo small {
  font: 400 14px/1.5 'IBM Plex Sans';
  letter-spacing: .2px;
  max-width: none!important;
}

.footer {
  font-size: 14px;
  line-height: 1.6;
}

.artifact table {
  font-size: 16px;
  line-height: 1.5;
}

.artifact summary {
  font-size: 22px;
  line-height: 1.4;
}

.artifact table th,.artifact table td {
  padding: 14px 12px;
}

.system-top .motion {
  font-size: 14px;
  min-height: 44px;
  padding: 10px;
}

.input-stack span,.output-stack span {
  font: 400 16px/1.5 'IBM Plex Sans';
  padding: 14px 12px;
}

.ai-engine small {
  font: 400 14px/1.6 'IBM Plex Sans';
  padding: 0 12px;
}

.human-gate {
  font-family: 'IBM Plex Sans';
  margin-top: 24px;
}

.system-bottom {
  font-size: 14px;
}

.phase-number {
  font-size: 54px;
}

.roles {
  line-height: 1.4;
}

.artifact-link {
  align-items: center;
}

.hero .micro {
  font-size: 14px;
}

.engine-mark {
  font-family: 'IBM Plex Sans';
  line-height: 1.2;
}

.formstep input,.formstep select,.formstep textarea {
  font-size: 18px;
}

.acceptance {
  color: #455e7d;
}

.capability-section .acceptance {
  color: #bdcfea;
}

section[id] {
  scroll-margin-top: 120px;
}

@media(max-width:1050px) {
  nav .logo small {
    display: none;
  }

  nav {
    gap: 20px;
  }

  .capability {
    grid-template-columns: 65px 170px 1fr;
    gap: 25px;
  }

  .phase-art {
    height: 170px;
  }
}

@media(max-width:850px) {
  :root {
    --type-body: 17px;
  }

  .hero h1 {
    letter-spacing: -1px;
  }

  .hero .lede {
    font-size: 18px;
  }

  .subhero h1 {
    font-size: clamp(36px,6vw,46px);
  }

  h2 {
    font-size: 36px;
    line-height: 1.2;
  }

  .lede,.phase-copy p,.phase-copy li,.capability ul,.artifact p,.steps p {
    font-size: 17px;
  }

  .phase-copy .phase-subtitle {
    font-size: 20px;
  }

  .hero .eyebrow,.hero .micro {
    font-size: 14px;
  }

  .hero .eyebrow {
    letter-spacing: .5px;
  }

  .hero .micro {
    margin-top: 24px;
  }

  .hero-stage .hero {
    padding-top: 42px;
    padding-bottom: 35px;
  }

  .hero-actions {
    gap: 14px;
  }

  .system-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 26px 0 12px;
  }

  .input-stack,.output-stack {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .connector {
    height: 35px;
    display: flex;
    justify-content: center;
    gap: 22px;
  }

  .connector i {
    width: 1px;
    height: 35px;
  }

  .connector i:after {
    width: 1px;
    height: 35%;
    left: 0;
    top: -35%;
    animation: transmit-down 3.8s linear infinite;
  }

  .ai-engine {
    min-height: 140px;
    margin: 0 8%;
    padding: 18px;
  }

  .ai-engine small {
    font-size: 14px;
  }

  .input-stack span,.output-stack span {
    font-size: 16px;
  }

  .system-top {
    font-size: 14px;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
  }

  .system-top .motion {
    font-size: 14px;
  }

  .human-gate,.system-bottom {
    font-size: 14px;
  }

  .system-bottom {
    align-items: flex-start;
  }

  .system-visual {
    padding: 22px;
  }

  .system-top>span {
    max-width: 190px;
  }

  .input-stack,.output-stack {
    width: 100%;
  }

  .capability {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .phase-art {
    display: none;
  }

  .phase-number {
    font-size: 32px;
  }

  .phase-copy h3,.phase-copy h2 {
    font-size: 31px;
    margin: 0 0 12px;
  }

  .phase-deliver {
    font-size: 16px;
  }

  .navcta {
    display: none!important;
  }

  .nav-open .navcta {
    display: inline-flex!important;
    order: 5;
    flex-basis: 100%;
    justify-content: center;
  }

  .navlink {
    font-size: 17px!important;
  }

  .mobile-menu {
    min-height: 44px;
    min-width: 44px;
    font-size: 24px;
  }

  .lang {
    font-size: 16px!important;
    padding: 8px;
  }

  .logo {
    font-size: 26px!important;
  }

  nav {
    gap: 12px;
    padding: 14px 6%;
  }

  nav .logo small {
    display: none;
  }

  .num,.eyebrow,.micro,.system-bottom {
    font-size: 14px;
  }

  .footer {
    font-size: 14px;
  }

  .small {
    font-size: 16px;
  }

  .artifact table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }

  .artifact table th,.artifact table td {
    min-width: 110px;
  }

  .artifact summary {
    font-size: 21px;
  }

  .artifact-link {
    font-size: 16px;
  }

  .closing h2 {
    font-size: 38px;
  }

  .closing p {
    font-size: 18px;
  }

  section[id] {
    scroll-margin-top: 90px;
  }
}

@media(max-width:380px) {
  .hero h1 {
    font-size: 38px;
  }

  .input-stack span,.output-stack span {
    font-size: 16px;
  }

  .system-top .motion {
    font-size: 14px;
  }

  .eyebrow {
    overflow-wrap: anywhere;
  }

  .system-visual {
    padding: 18px;
  }

  .closing h2 {
    font-size: 35px;
  }
}

@keyframes transmit-down {
  to {
    top: 120%;
  }
}

.calm .connector i:after {
  animation: none;
}

@media(prefers-reduced-motion:reduce) {
  .connector i:after {
    animation: none!important;
  }
}

.hero h1 {
  font-size: clamp(44px,4.5vw,68px);
  text-wrap: balance;
}

.phase-copy .textlink {
  margin-top: 4px;
}

@media(max-width:850px) {
  .hero h1 {
    font-size: clamp(38px,6vw,48px);
  }
}

/* Large service numbers need sufficient contrast on light surfaces too. */
.white .phase-number { color: #426aa8; }

/* v4 QA: readable field guidance and keyboard focus on light surfaces. */
#problem::placeholder {
  color: #b5c7df;
  opacity: 1;
}

.demonstrations .tabs button:focus-visible {
  outline-color: #174582;
}

/* Contact and interaction completion; retain the v4 visual system. */
html { scroll-padding-top: 115px; }
main:focus { outline: none; }
summary:focus-visible, [tabindex="0"]:focus-visible {
  outline: 3px solid #72cfff;
  outline-offset: 5px;
}
.white :focus-visible { outline-color: #174582; }
.white .scenario :focus-visible { outline-color: #72cfff; }
input, textarea, select { border-color: #6b85a6; }
input::placeholder, textarea::placeholder { color: #b5c7df; opacity: 1; }
.button:hover { text-decoration: underline; text-underline-offset: 4px; }
.mark{width:.72em;height:.72em;display:inline-flex;flex:none}
.mark svg{display:block;width:100%;height:100%}
.button .mark{color:#f3f6fa}
.button.light .mark{color:#3067df}
.button:has(.mark){gap:12px}
.network-mini i:empty{display:inline-block;min-width:1.15em;min-height:1.15em}
.textlink:hover, .footer a:hover { text-decoration: underline; text-underline-offset: 5px; }
.tabs button:hover { text-decoration: underline; text-underline-offset: 4px; }
.scenario .textlink { color: #c6dcff; }
.contact-section { padding-top: 10px; padding-bottom: 50px; max-width: 1000px; }
.contact-section form { max-width: none; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-consent { display: flex; align-items: flex-start; gap: 12px; margin: 26px 0; }
.contact-consent input { width: 24px; min-width: 24px; height: 24px; margin: 0; accent-color: #265bc8; }
.contact-privacy { margin: 20px 0 28px; color: #b5c7df; }
.contact-privacy summary { cursor: pointer; padding: 8px 0; }
.contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#contactStatus { max-width: 740px; white-space: pre-wrap; }
#contactStatus[data-state="error"] { color: #ffd0ca; border-left: 3px solid #ffc2b9; padding-left: 16px; }
#contactStatus[data-state="success"] { color: #a1e9df; }
.brief-optional { padding-top: 0; }
.brief-optional .artifact p { color: #b5c7df; }
.brief-optional .subhero, .brief-optional section { padding-left: 0; padding-right: 0; }
.brief-optional .subhero { padding-top: 24px; padding-bottom: 28px; }
.formbuttons { flex-wrap: wrap; }
a, p, h1, h2, h3, label, .output { overflow-wrap: break-word; }
.contact-grid > *, .intro-grid > *, .scenario > * { min-width: 0; }
@media(max-width:1250px) {
  nav { flex-wrap: wrap; gap: 12px; padding: 14px 6%; }
  nav .logo small { display: none; }
  nav .navlink, nav .navcta { display: none!important; }
  .mobile-menu { display: block; background: transparent; color: white; border: 0; min-width: 44px; min-height: 44px; font-size: 24px; }
  .nav-open .logo { order: 0; }
  .nav-open .lang { order: 1; }
  .nav-open .mobile-menu { order: 2; }
  .nav-open .navlink { display: block!important; order: 3; flex-basis: 100%; padding: 10px 0; border-top: 1px solid #ffffff26; }
  .nav-open .navcta { display: inline-flex!important; order: 4; flex-basis: 100%; justify-content: center; white-space: normal; text-align: center; }
}
@media(max-width:600px) {
  .contact-grid { grid-template-columns: 1fr; gap: 0; }
  .button { white-space: normal; }
  .brief-optional .formbuttons .button { flex-basis: 100%; }
}

/* Keyboard access to horizontally scrollable sample tables. */
.artifact table:focus-visible { outline: 3px solid #174582; outline-offset: 4px; }

/* Approved full PDF/SVG lockup: scale as one piece. */
nav .logo {width:300px;flex:0 0 300px;display:flex;align-items:center;justify-content:center;line-height:0;padding:0;}
.logo .brand-wordmark {display:block;width:300px;max-width:100%;height:auto;object-fit:contain;}
.footer .logo {width:300px;flex:0 1 300px;display:flex;align-items:center;justify-content:center;line-height:0;}
@media(max-width:600px) {
 nav {padding:16px;gap:12px;justify-content:center;}
 nav .logo,nav.nav-open .logo {order:0;flex:0 0 100%;width:100%;margin:0;}
 nav .logo .brand-wordmark {width:300px;max-width:100%;}
 nav .lang,nav.nav-open .lang {order:1;margin-left:auto;margin-right:0;}
 nav .mobile-menu,nav.nav-open .mobile-menu {order:2;margin-left:0;margin-right:auto;}
 nav.nav-open .navlink {order:3;}
 nav.nav-open .navcta {order:4;}
}

.examples-approved{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.examples-approved article{margin:0}.examples-approved h3{margin-top:0}@media(max-width:700px){.examples-approved{grid-template-columns:1fr}}

/* Footer lockup owns a centered row; no shrink relative to the header. */
.footer {flex-wrap:wrap;justify-content:center;column-gap:24px;row-gap:18px;text-align:center;}
.footer .logo {flex:0 0 100%;width:100%;margin:0;justify-content:center;}
.footer .logo .brand-wordmark {width:300px;max-width:100%;height:auto;}

/* Integral visual QA: align page grids, readable long copy, clear controls. */
.subhero {max-width:1320px;}
.artifact p {color:#b5c7df;}
.artifact {border-color:#ffffff26;}
.white .artifact {border-color:#ced8e5;}
.white .artifact p {color:#4d627c;}
.engagement-path {padding-top:32px;}
.engagement-path > h2 {margin-top:0;}
.engagement-path .artifact p {max-width:76ch;}
.responsibilities p {max-width:76ch;color:#b5c7df;}
.privacy-content {max-width:1000px;}
.privacy-content h1 {font-size:clamp(36px,4.8vw,60px);line-height:1.12;}
.privacy-content h2 {font-size:clamp(26px,2.5vw,34px);letter-spacing:-.6px;margin:36px 0 14px;}
.privacy-content p {max-width:76ch;color:#c0ccdc;}
.footer a:not(.logo) {min-height:44px;display:inline-flex;align-items:center;padding:8px 0;}
nav a.lang {display:inline-flex;align-items:center;justify-content:center;gap:3px;}
.artifact summary::after {flex:0 0 auto;}
.button:disabled {cursor:not-allowed;opacity:.55;}
@media(max-width:600px) {
 #header {position:relative;}
 .hero-stage .hero {padding-top:28px;}
 .hero .lede {max-width:36ch;}
 .system-visual {padding:18px;}
 .input-stack,.output-stack {display:flex;flex-wrap:wrap;justify-content:center;gap:6px;}
 .input-stack span,.output-stack span {flex:1 1 auto;font-size:14px;padding:10px 8px;overflow-wrap:normal;}
 .system-top {align-items:center;}
 .system-top>span {max-width:150px;}
 .human-gate {margin:18px 0;}
 .section {padding-top:52px;padding-bottom:52px;}
 .engagement-path {padding-top:8px;}
 .subhero {padding-top:42px;padding-bottom:40px;}
 .contact-section {padding-top:0;padding-bottom:36px;}
 .brief-optional {padding-top:0;}
 .privacy-content h2 {margin-top:30px;}
}
@media(max-width:360px) {
 .system-bottom {letter-spacing:0;}
}

/* Web lockup approved by Gustavo, 23 October 2026. Original master preserved. */
.logo .brand-wordmark,nav .logo .brand-wordmark,.footer .logo .brand-wordmark{width:240px;}
@media(min-width:601px){nav .logo{width:240px;flex-basis:240px;}}

/* Preview revision: keep the conversation visible, and show workflows, proof and the path. */
@media(max-width:1250px){
  nav .navcta{display:inline-flex!important;flex:0 1 auto;white-space:normal;}
}
@media(max-width:850px){
  .navcta,nav .navcta{display:inline-flex!important;}
}
@media(max-width:600px){
  nav .navcta,nav.nav-open .navcta{display:inline-flex!important;order:3;flex:1 1 100%;justify-content:center;margin:0;}
}

.situation{
  border:1px solid #6386be48;
  border-radius:12px;
  background:#0a172b;
  padding:22px 28px 26px;
  max-width:1060px;
  margin:auto;
}
.situation-top{
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;
  letter-spacing:.08em;
  color:#a7bcd9;
}
.situation-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 18px;}
.situation-tab{
  font:500 15px 'IBM Plex Sans',sans-serif;
  color:#c0ccdc;
  background:transparent;
  border:1px solid #6887b34f;
  border-radius:5px;
  min-height:44px;
  padding:10px 16px;
}
.situation-tab[aria-selected="true"]{background:#142b49;color:#fff;border-color:#8ab5ff;}
.situation-panel h2{font-size:clamp(28px,3vw,40px);letter-spacing:-1.2px;margin:0 0 8px;}
.situation-panel p{max-width:68ch;color:#d0d9e6;}
.situation-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;}
.situation-flow span{
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;
  line-height:1.45;
  color:#c6dcff;
  background:#0c1b31;
  border:1px solid #7ca9ec70;
  border-radius:5px;
  padding:14px 12px;
}
.situation-panel .small{color:#92a4be;margin-top:14px;}

.proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 0 28px;}
.proof article{border-top:1px solid #ffffff26;padding-top:14px;}
.proof strong{display:block;font-size:clamp(36px,4vw,52px);font-weight:400;letter-spacing:-1.6px;color:#a8c7ff;line-height:1;}
.proof p{margin:10px 0 6px;}
.proof small{display:block;color:#a6b3c7;line-height:1.5;}

.start-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:28px;}
.start-row p{margin:0;max-width:46ch;color:#d0d9e6;}

.entry-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:42px;}
.entry-row article{background:#fff;border:1px solid #d1dbe7;border-radius:8px;padding:18px 18px 8px;}
.entry-row span{font-family:'IBM Plex Mono',monospace;color:#3266d5;font-size:13px;}
.entry-row h3{margin:8px 0 8px;font-size:24px;letter-spacing:-.8px;}
.entry-row p{color:#41546c;}

.owners{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.owners article{border-top:1px solid #ffffff26;padding-top:16px;}
.owners h3{margin:0 0 8px;}
.owners p{color:#d0d9e6;}

.result-figure{display:flex;gap:16px;align-items:baseline;margin:6px 0 4px;}
.result-figure b{flex:0 0 auto;font-size:clamp(32px,3vw,44px);font-weight:400;letter-spacing:-1.4px;color:#3266d5;line-height:1;}
.result-figure span{color:#41546c;}

.engagement-path{counter-reset:pathstep;}
.engagement-path .artifact{position:relative;padding-left:72px;}
.engagement-path .artifact::before{
  counter-increment:pathstep;
  content:counter(pathstep,decimal-leading-zero);
  position:absolute;
  left:0;
  top:22px;
  font-family:'IBM Plex Mono',monospace;
  color:#8aaaff;
  font-size:14px;
}

.intake-chat{border:1px solid #6386be48;border-radius:16px;background:#0a172b;padding:0;overflow:hidden;}
.intake-chat-head{display:flex;gap:12px;align-items:center;padding:16px 18px 14px;border-bottom:1px solid #ffffff1a;}
.intake-chat-head p{margin:4px 0 0;color:#a6b3c7;font-size:14px;line-height:1.45;max-width:46ch;}
.intake-chat-head strong{display:block;font-size:17px;letter-spacing:-.3px;}
.intake-face{flex:0 0 auto;width:36px;height:36px;border-radius:12px;overflow:hidden;line-height:0;}
.intake-face svg{display:block;width:100%;height:100%;}
.intake-thread{display:flex;flex-direction:column;gap:14px;padding:18px 16px;min-height:220px;max-height:420px;overflow:auto;}
.intake-row{display:flex;gap:8px;align-items:flex-end;max-width:100%;}
.intake-row.is-site{justify-content:flex-start;}
.intake-row.is-you{justify-content:flex-end;}
.intake-bubble{max-width:min(92%,46ch);padding:11px 14px 12px;position:relative;}
.intake-bubble p{margin:0;font-size:16px;line-height:1.5;}
.intake-who{display:block;margin-bottom:4px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.04em;}
.intake-row.is-site .intake-bubble{background:#122844;border:1px solid #7ca9ec55;border-radius:16px 16px 16px 4px;}
.intake-row.is-site .intake-who{color:#8aaaff;}
.intake-row.is-site p{color:#d0d9e6;}
.intake-row.is-you .intake-bubble{background:#265bc8;border:0;border-radius:16px 16px 4px 16px;}
.intake-row.is-you .intake-who{color:#c6dcff;text-align:right;}
.intake-row.is-you p{color:#fff;}
.intake-composer{padding:0 20px 18px;max-width:none;}
.intake-compose{display:flex;align-items:flex-end;gap:10px;position:relative;}
.intake-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.intake-compose textarea{flex:1 1 auto;width:auto;min-width:0;min-height:56px;margin:0;}
.intake-compose .button{flex:0 0 auto;margin:0;min-height:52px;justify-content:center;white-space:nowrap;}
.intake-composer #intakeHelp{margin:10px 0 0;}
.intake-composer .contact-consent{margin:12px 0;}
.intake-composer .contact-privacy{margin:0 0 8px;}
.intake-composer .formbuttons{align-items:center;gap:18px;margin:4px 0 0;}
.intake-composer .formbuttons .textlink{background:none;border:0;padding:0;color:#c6dcff;font:inherit;min-height:auto;}
.intake-switch{margin:16px 0 0;}
.intake-switch .textlink{background:none;border:0;border-bottom:1px solid #536078;padding:0 0 4px;color:#c6dcff;font:inherit;min-height:auto;cursor:pointer;}
.contact-section .contact-form{max-width:720px;}
.intake-bubble a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.intake-slots{padding:4px 20px 12px;}
.intake-slots .small{margin:0 0 8px;}
.intake-scheduler{display:grid;grid-template-columns:minmax(220px,1fr) minmax(200px,260px);gap:8px 28px;align-items:start;}
.intake-cal-head,.intake-cal-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}
.intake-cal-head{margin:0 0 6px;color:#8aaaff;font:500 11px 'IBM Plex Sans',sans-serif;text-align:center;text-transform:lowercase;}
.intake-cal-pad{min-height:0;}
.intake-day{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;min-height:56px;padding:6px 4px;background:transparent;border:1px solid #6887b34f;border-radius:8px;color:#c6dcff;font:500 13px 'IBM Plex Sans',sans-serif;cursor:pointer;}
.intake-day-num{font-size:18px;line-height:1;font-weight:600;color:#fff;}
.intake-day.is-on{background:#142b49;color:#fff;border-color:#8ab5ff;}
.intake-day.is-off{opacity:.35;cursor:default;}
.intake-day-title{margin:0 0 12px;color:#fff;font:600 16px 'IBM Plex Sans',sans-serif;}
.intake-slot-list{display:grid;grid-template-columns:1fr;gap:8px;margin:0;}
.intake-slot{width:100%;background:transparent;border:1px solid #6887b34f;border-radius:8px;color:#c6dcff;min-height:48px;padding:12px 16px;font:500 16px 'IBM Plex Sans',sans-serif;cursor:pointer;}
.intake-slot.is-on{background:#142b49;color:#fff;border-color:#8ab5ff;}
@media(max-width:640px){
  .intake-scheduler{grid-template-columns:1fr;}
  .intake-scheduler-times{margin-top:4px;}
}
.intake-phone{display:grid;grid-template-columns:minmax(7rem,9rem) minmax(0,1fr);gap:16px;}
#intakeStatus{padding:0 20px 8px;}
#intakeStatus[data-state=success]{color:#c6dcff;}
#intakeStatus[data-state=error]{color:#ffc9c9;}
@media(max-width:800px){
  .intake-phone{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .intake-compose{flex-wrap:wrap;}
  .intake-compose textarea,.intake-compose .button{flex:1 1 100%;}
}

.contact-layout{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:36px;align-items:start;}
.next-steps h2{font-size:clamp(28px,3vw,40px);margin-top:0;}
.next-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.next-steps li{border-top:1px solid #ffffff26;padding-top:12px;color:#d0d9e6;}
.next-steps b{display:block;margin-bottom:6px;font-family:'IBM Plex Mono',monospace;font-weight:400;color:#8aaaff;}

@media(max-width:800px){
  .situation-flow,.proof,.entry-row,.owners,.contact-layout{grid-template-columns:1fr;}
  .start-row{flex-direction:column;align-items:flex-start;}
  .situation{padding:18px;}
  .result-figure{flex-direction:column;gap:6px;}
  .engagement-path .artifact{padding-left:0;}
  .engagement-path .artifact::before{position:static;display:block;margin-bottom:6px;}
}
.formula{
  font-family:'IBM Plex Mono',monospace;
  font-size:clamp(18px,2.1vw,26px);
  line-height:1.45;
  color:#a8c7ff;
  max-width:34em;
  margin:8px 0 14px;
}
.formula-stage{max-width:1120px}
.formula-run{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:stretch}
.formula-card{margin:0;min-height:168px;padding:16px 16px 18px;border:1px solid #ffffff1c;border-radius:14px;background:linear-gradient(180deg,#122844 0%,#0b1a2e 100%);display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.formula-card b{font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:12px;letter-spacing:.16em;color:#8ec4ff}
.formula-card span{font-size:clamp(22px,1.9vw,30px);letter-spacing:-.7px;line-height:1.12;color:#f2f5fb}
.formula-times{align-self:center;font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:clamp(26px,2.4vw,34px);line-height:1;color:#a8c7ff}
.formula-result{margin:36px 0 0;max-width:12ch;font-size:clamp(48px,6vw,84px);letter-spacing:-2.4px;line-height:.98;color:#f2f5fb;font-weight:400}
.formula-costs{display:flex;flex-wrap:wrap;gap:8px 28px;margin:18px 0 0;font-family:'IBM Plex Mono',monospace;font-size:15px;color:#a6b3c7}
.formula-note{margin:16px 0 0;max-width:46ch;color:#a6b3c7;font-size:16px;line-height:1.55}
.formula-arm:not(.formula-play) .piece{opacity:0;transform:translateY(14px)}
.formula-play .piece{animation:formula-in .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)}
.formula-play .formula-times{animation:formula-in .6s cubic-bezier(.2,.7,.2,1) both,formula-beat 2.8s ease-in-out infinite;animation-delay:var(--d,0s),calc(var(--d,0s) + 2.6s)}
@keyframes formula-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes formula-beat{0%,100%{opacity:.72}50%{opacity:1}}
body.calm .formula-arm .piece{opacity:1;transform:none;animation:none}
@media(prefers-reduced-motion:reduce){
  .formula-arm .piece{opacity:1;transform:none;animation:none}
}
@media(max-width:900px){
  .formula-run{grid-template-columns:1fr;gap:10px}
  .formula-card{min-height:0;gap:10px;padding:16px 18px}
  .formula-times{justify-self:start;padding-left:6px}
  .formula-result{max-width:none}
}
#resources-home .small{max-width:68ch;color:#a6b3c7;}
#start .textlink,#resources-home .textlink{display:inline-flex;margin-top:18px;}

.deliverables{display:grid;gap:22px;}
.deliverable{background:#fff;border:1px solid #d1dbe7;border-radius:8px;padding:22px 22px 6px;}
.deliverable h2{font-size:clamp(22px,2.2vw,28px);letter-spacing:-.6px;margin:0 0 16px;}
.deliverable p{max-width:68ch;color:#41546c;}
.matrix-rows{display:grid;gap:14px;margin-bottom:16px;}
.matrix-row{display:grid;grid-template-columns:1.3fr .8fr 1.2fr;gap:16px;border-top:1px solid #d7e0eb;padding-top:12px;}
.matrix-row p{margin:0;max-width:none;}
.matrix-row span{display:block;margin-bottom:4px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.04em;color:#3266d5;}
.matrix-row strong{font-weight:500;color:#142337;}
.blueprint{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px;padding:0;}
.blueprint li{font-family:'IBM Plex Mono',monospace;font-size:13px;line-height:1.45;color:#142337;background:#f3f6fa;border:1px solid #c5d4ea;border-radius:5px;padding:14px 12px;}
.blueprint li:nth-child(3){border-color:#638fff;color:#174582;}
.blueprint li:nth-child(4){border-color:#75cec3;}
.adopt-steps{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:0;}
.adopt-steps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:baseline;border-top:1px solid #d7e0eb;padding:12px 0;}
.adopt-steps b{font-family:'IBM Plex Mono',monospace;font-weight:400;color:#3266d5;}
.adopt-steps span{color:#142337;}
.value-graph{display:grid;gap:12px;margin:0 0 8px;}
.value-step,.value-read span{margin:0;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#3266d5;}
.value-product{display:flex;flex-wrap:nowrap;align-items:stretch;gap:10px;width:100%;}
.value-product .factor{flex:1 1 0;display:flex;min-width:max-content;}
.value-product .factor span{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:clamp(13px,1.05vw,15px);line-height:1.35;color:#142337;background:#f3f6fa;border:1px solid #c5d4ea;border-radius:5px;padding:8px 12px;white-space:nowrap;}
.value-product > i{flex:0 0 auto;align-self:center;font-style:normal;font-family:'IBM Plex Mono',monospace;color:#3266d5;font-size:20px;line-height:1;}
.value-costs i{font-style:normal;font-family:'IBM Plex Mono',monospace;color:#3266d5;font-size:20px;}
.value-equals{margin:0;max-width:none;font-family:'IBM Plex Mono',monospace;font-size:34px;line-height:1;color:#3266d5;text-align:center;}
.value-result{margin:0;max-width:none;background:#142337;color:#f2f5fb;border-radius:6px;padding:16px 18px;font-size:clamp(24px,2.8vw,32px);letter-spacing:-.7px;line-height:1.15;}
.value-from{margin:0;color:#41546c;}
.value-costs{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.value-costs li{display:flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:16px;color:#142337;background:#f3f6fa;border:1px solid #d7e0eb;border-radius:5px;padding:10px 12px;}
.value-read{background:#e8f0fb;border-left:3px solid #3266d5;border-radius:0 6px 6px 0;padding:12px 14px;}
.value-read span{display:block;margin-bottom:6px;}
.value-read p{margin:0;max-width:62ch;color:#142337;}
.value-graph .value-step{color:#3266d5;}
.value-graph .value-equals{color:#3266d5;}
.value-graph .value-result{color:#f2f5fb;text-align:center;}
@media(max-width:800px){
  .matrix-row,.blueprint{grid-template-columns:1fr;}
  .value-product{flex-direction:column;align-items:stretch;}
  .value-product .factor{min-width:0;width:100%;}
}
a.li{display:inline-block;width:.92em;height:.92em;margin-inline-start:.34em;color:#4d9be8;vertical-align:-.12em;line-height:0}
a.li svg{display:block;width:100%;height:100%}
a.li:hover,a.li:focus-visible{color:#8ec4ff}
a.li:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
