.service-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--ink);
}

.service-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(520px, 1.12fr);
  align-items: center;
  gap: clamp(48px, 8vw, 120px);
  min-height: calc(100svh - var(--header-h));
  padding-block: clamp(78px, 9vw, 136px);
}

.service-hero h1 {
  max-width: 810px;
  margin-bottom: 30px;
  font-size: clamp(3.7rem, 6.3vw, 7.2rem);
  line-height: 0.92;
  letter-spacing: -0.073em;
  font-weight: 630;
}

.service-hero__copy > p:not(.eyebrow):not(.service-hero__note) {
  max-width: 680px;
  margin-bottom: 34px;
  color: var(--ink-soft);
  font-size: 1.05rem;
  line-height: 1.62;
}

.service-hero__note {
  max-width: 620px;
  margin: 42px 0 0;
  padding-top: 17px;
  border-top: 1px solid var(--rule-dark);
  color: var(--ink-faint);
  font-size: 0.68rem;
}

.cluster-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--ink);
}

.cluster-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(480px, 0.78fr);
  align-items: center;
  gap: clamp(54px, 9vw, 150px);
  min-height: calc(100svh - var(--header-h));
  padding-block: clamp(78px, 10vw, 150px);
}

.cluster-hero h1 {
  max-width: 880px;
  margin-bottom: 28px;
  font-size: clamp(3.7rem, 6vw, 6.8rem);
  line-height: 0.93;
  letter-spacing: -0.072em;
  font-weight: 630;
}

.cluster-hero__copy > p:not(.eyebrow):not(.service-hero__note) {
  max-width: 690px;
  margin-bottom: 34px;
  color: var(--ink-soft);
  font-size: 1.04rem;
  line-height: 1.62;
}

.cluster-console {
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--white);
  box-shadow: 12px 12px 0 var(--red);
}

.cluster-console__head {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  border-bottom: 1px solid #3c403e;
  color: #aeb2ad;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.58rem;
  letter-spacing: 0.06em;
}

.cluster-console__signal {
  padding: 34px 26px;
  border-bottom: 1px solid #3c403e;
}

.cluster-console__signal small {
  color: #ff857a;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.58rem;
}

.cluster-console__signal strong {
  display: block;
  max-width: 420px;
  margin-top: 18px;
  font-size: 1.35rem;
  line-height: 1.25;
  letter-spacing: -0.035em;
}

.cluster-ledger > div {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  min-height: 72px;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border-bottom: 1px solid #343836;
}

.cluster-ledger > div:last-child { border-bottom: 0; }
.cluster-ledger span { color: #ff857a; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.57rem; }
.cluster-ledger strong { font-size: 0.72rem; }
.cluster-ledger em { color: #77c99d; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.53rem; font-style: normal; }

.intent-section {
  padding-block: clamp(96px, 11vw, 176px);
  background: var(--paper-pure);
}

.intent-ledger {
  border-top: 1px solid var(--ink);
}

.intent-ledger article {
  display: grid;
  grid-template-columns: 70px minmax(240px, 0.65fr) 1fr;
  min-height: 150px;
  align-items: center;
  gap: 34px;
  border-bottom: 1px solid var(--rule);
}

.intent-ledger article > span {
  color: var(--red);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.61rem;
}

.intent-ledger h3 { margin: 0; font-size: 1.3rem; letter-spacing: -0.035em; }
.intent-ledger p { max-width: 680px; margin: 0; color: var(--ink-soft); font-size: 0.82rem; }

.cluster-links {
  padding-block: 56px;
  border-top: 1px solid var(--rule);
}

.cluster-links__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.cluster-links p { margin: 0; color: var(--ink-faint); font-size: 0.72rem; }
.cluster-links div { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.cluster-links a { font-size: 0.7rem; font-weight: 680; }

.services-hub-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--ink);
}

.services-hub-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(470px, 0.82fr);
  align-items: center;
  gap: clamp(58px, 9vw, 148px);
  min-height: calc(100svh - var(--header-h));
  padding-block: clamp(82px, 10vw, 148px);
}

.services-hub-hero h1 {
  max-width: 920px;
  margin-bottom: 30px;
  font-size: clamp(3.8rem, 6.25vw, 7rem);
  line-height: 0.92;
  letter-spacing: -0.074em;
  font-weight: 630;
}

.services-hub-hero__copy > p:not(.eyebrow):not(.service-hero__note) {
  max-width: 690px;
  margin-bottom: 34px;
  color: var(--ink-soft);
  font-size: 1.05rem;
  line-height: 1.62;
}

.services-hub-console {
  border: 1px solid var(--ink);
  background: var(--paper-pure);
  box-shadow: 14px 14px 0 var(--red-soft);
}

.services-hub-console__head {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 18px;
  border-bottom: 1px solid var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.58rem;
  letter-spacing: 0.06em;
}

.services-hub-console__head > span:last-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--green);
}

.services-hub-console__head i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 0 color-mix(in srgb, var(--green), transparent 58%);
  animation: service-hub-pulse 2.2s ease-out infinite;
}

.services-hub-console__signal {
  position: relative;
  overflow: hidden;
  padding: 30px 24px;
  border-bottom: 1px solid var(--rule-dark);
}

.services-hub-console__signal::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--red);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  animation: service-hub-scan 4.8s var(--ease-out) infinite;
}

.services-hub-console__signal small,
.services-hub-console__result small {
  display: block;
  margin-bottom: 9px;
  color: var(--red);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.57rem;
}

.services-hub-console__signal strong {
  display: block;
  font-size: 1.18rem;
  line-height: 1.3;
  letter-spacing: -0.03em;
}

.services-hub-console__rows > div {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  min-height: 64px;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border-bottom: 1px solid var(--rule);
}

.services-hub-console__rows span {
  color: var(--red);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.57rem;
}

.services-hub-console__rows strong { font-size: 0.72rem; }
.services-hub-console__rows em { color: var(--green); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.52rem; font-style: normal; }

.services-hub-console__result {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 16px;
  padding: 24px 18px;
  background: var(--ink);
  color: var(--white);
}

.services-hub-console__result > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--green);
  color: var(--green);
}

.services-hub-console__result p { margin: 0; }
.services-hub-console__result strong { display: block; font-size: 0.76rem; }

.service-hub-catalogue {
  padding-block: clamp(100px, 12vw, 188px);
  background: var(--paper-pure);
}

.service-hub-list {
  border-top: 1px solid var(--ink);
}

.service-hub-item {
  display: grid;
  grid-template-columns: 52px minmax(260px, 0.8fr) minmax(300px, 1fr) auto;
  min-height: 178px;
  align-items: center;
  gap: clamp(22px, 4vw, 64px);
  padding: 24px 0;
  border-bottom: 1px solid var(--rule);
  color: var(--ink);
  transition: background-color 240ms var(--ease-out), padding 240ms var(--ease-out);
}

.service-hub-item:hover,
.service-hub-item:focus-visible {
  padding-inline: 24px;
  background: var(--red-soft);
}

.service-hub-item__number {
  color: var(--red);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.62rem;
}

.service-hub-item small {
  display: block;
  margin-bottom: 13px;
  color: var(--ink-faint);
  font-size: 0.58rem;
  letter-spacing: 0.08em;
}

.service-hub-item h3 {
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.service-hub-item p {
  max-width: 600px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.84rem;
  line-height: 1.58;
}

.service-hub-item em {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}

.service-hub-item em span {
  color: var(--red);
  transition: transform 220ms var(--ease-out);
}

.service-hub-item:hover em span,
.service-hub-item:focus-visible em span { transform: translate(3px, -3px); }

.service-hub-path {
  padding-block: clamp(100px, 12vw, 182px);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.service-hub-path__rail {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 18px;
}

.service-hub-path__rail > div {
  min-height: 220px;
  padding: 28px;
  border: 1px solid var(--ink);
  background: var(--paper-pure);
}

.service-hub-path__rail > div > span {
  color: var(--red);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.6rem;
}

.service-hub-path__rail strong {
  display: block;
  margin-top: 72px;
  font-size: 1.32rem;
  letter-spacing: -0.04em;
}

.service-hub-path__rail p {
  max-width: 340px;
  margin: 10px 0 0;
  color: var(--ink-soft);
  font-size: 0.78rem;
  line-height: 1.55;
}

.service-hub-path__rail > i { align-self: center; color: var(--red); font-style: normal; }

@keyframes service-hub-scan {
  0%, 16% { transform: scaleX(0); opacity: 1; }
  58%, 82% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(1); opacity: 0; }
}

@keyframes service-hub-pulse {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--green), transparent 58%); }
  74%, 100% { box-shadow: 0 0 0 8px transparent; }
}

.voice-console {
  border: 1px solid var(--ink);
  background: var(--paper-pure);
  box-shadow: 14px 14px 0 var(--red-soft);
}

.voice-console__head {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 18px;
  border-bottom: 1px solid var(--rule);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.6rem;
  letter-spacing: 0.06em;
}

.voice-console__head > span:last-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--green);
}

.voice-console__head i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}

.voice-wave {
  display: flex;
  height: 112px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-bottom: 1px solid var(--rule);
  background-image: linear-gradient(90deg, var(--rule) 1px, transparent 1px);
  background-size: 30px 100%;
}

.voice-wave span {
  width: 3px;
  height: 24px;
  background: var(--red);
  transform-origin: center;
  animation: voice-wave 1.3s ease-in-out infinite alternate;
}

.voice-wave span:nth-child(2n) { height: 52px; animation-delay: -0.3s; }
.voice-wave span:nth-child(3n) { height: 76px; animation-delay: -0.65s; }
.voice-wave span:nth-child(4n) { height: 38px; animation-delay: -0.9s; }

.voice-dialogue {
  display: grid;
  gap: 18px;
  padding: 28px;
}

.voice-dialogue > div {
  width: min(80%, 480px);
  padding: 16px 18px;
  border: 1px solid var(--rule-dark);
  background: var(--paper);
}

.voice-dialogue__assistant {
  margin-left: auto;
  border-color: var(--ink) !important;
  background: var(--ink) !important;
  color: var(--white);
}

.voice-dialogue small {
  display: block;
  margin-bottom: 10px;
  color: var(--red);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.55rem;
}

.voice-dialogue p {
  margin: 0;
  font-size: 0.77rem;
}

.voice-actions {
  border-top: 1px solid var(--ink);
}

.voice-actions > div {
  display: grid;
  grid-template-columns: auto 1fr auto;
  min-height: 58px;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  font-size: 0.67rem;
}

.voice-actions > div + div { border-top: 1px solid var(--rule); }
.voice-actions span { color: var(--red); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.55rem; }
.voice-actions em { color: var(--green); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.53rem; font-style: normal; }

.service-competences,
.service-workflow,
.service-faq {
  padding-block: clamp(96px, 11vw, 176px);
}

.service-competences { background: var(--paper-pure); }

.competence-ledger {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--ink);
}

.competence-ledger article {
  min-height: 270px;
  padding: 28px;
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.competence-ledger article:nth-child(3n) { border-right: 0; }
.competence-ledger article:nth-child(n + 4) { border-bottom: 0; }
.competence-ledger span { display: block; margin-bottom: 68px; color: var(--red); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.6rem; }
.competence-ledger h3 { margin-bottom: 10px; font-size: 1.15rem; letter-spacing: -0.035em; }
.competence-ledger p { color: var(--ink-soft); font-size: 0.78rem; }
.competence-ledger small { color: var(--ink-faint); font-size: 0.61rem; text-transform: uppercase; letter-spacing: 0.06em; }

.service-workflow { border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }

.service-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 12px;
}

.service-flow > div {
  display: grid;
  min-height: 158px;
  align-content: space-between;
  padding: 18px;
  border: 1px solid var(--ink);
  background: var(--paper-pure);
}

.service-flow > i { color: var(--red); font-style: normal; }
.service-flow span, .service-flow img { display: grid; width: 36px; height: 36px; place-items: center; }
.service-flow__number { color: var(--red); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.6rem; }
.service-flow__h { background: var(--red); color: var(--white); font-weight: 800; }
.service-flow strong { display: block; margin-top: 24px; font-size: 0.76rem; }
.service-flow small { display: block; margin-top: 5px; color: var(--ink-faint); font-size: 0.61rem; }
.service-flow__complete { border-color: var(--green) !important; }
.service-flow__complete span { border: 1px solid var(--green); color: var(--green); }
.third-party-note { margin: 20px 0 0; color: var(--ink-faint); font-size: 0.63rem; }

.service-faq { background: var(--paper-pure); }
.service-faq__grid { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: clamp(50px, 10vw, 170px); }
.service-faq h2 { font-size: clamp(2.7rem, 4.5vw, 5rem); line-height: 0.98; letter-spacing: -0.06em; font-weight: 610; }
.faq-list { border-top: 1px solid var(--ink); }
.faq-list details { border-bottom: 1px solid var(--rule); }
.faq-list summary { position: relative; padding: 25px 48px 25px 0; cursor: pointer; font-size: 0.92rem; font-weight: 680; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 4px; top: 23px; color: var(--red); font-size: 1.25rem; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 680px; padding: 0 48px 24px 0; color: var(--ink-soft); font-size: 0.82rem; line-height: 1.62; }

@keyframes voice-wave { to { transform: scaleY(0.28); opacity: 0.55; } }

@media (max-width: 1024px) {
  .service-hero__inner { grid-template-columns: 1fr; min-height: auto; }
  .cluster-hero__inner { grid-template-columns: 1fr; min-height: auto; }
  .cluster-console { width: min(100%, 700px); margin-left: auto; }
  .voice-console { width: min(100%, 760px); margin-left: auto; }
  .competence-ledger { grid-template-columns: repeat(2, 1fr); }
  .competence-ledger article:nth-child(3n) { border-right: 1px solid var(--rule); }
  .competence-ledger article:nth-child(2n) { border-right: 0; }
  .competence-ledger article:nth-child(n + 4) { border-bottom: 1px solid var(--rule); }
  .competence-ledger article:nth-child(n + 5) { border-bottom: 0; }
  .service-flow { grid-template-columns: repeat(5, 1fr); gap: 10px; }
  .service-flow > i { display: none; }
  .services-hub-hero__inner { grid-template-columns: 1fr; min-height: auto; }
  .services-hub-console { width: min(100%, 720px); margin-left: auto; }
  .service-hub-item { grid-template-columns: 42px minmax(220px, 0.8fr) 1fr auto; gap: 22px; }
}

@media (max-width: 760px) {
  .service-hero h1 { font-size: clamp(3.15rem, 14vw, 5rem); }
  .cluster-hero h1 { font-size: clamp(3.05rem, 13vw, 4.9rem); }
  .cluster-hero__inner { padding-block: 58px 78px; }
  .cluster-console { box-shadow: 7px 7px 0 var(--red); }
  .service-hero__inner { padding-block: 58px 78px; }
  .voice-console { box-shadow: 7px 7px 0 var(--red-soft); }
  .voice-console__head > span:first-child { display: none; }
  .voice-console__head { justify-content: flex-end; }
  .voice-dialogue { padding: 18px; }
  .voice-dialogue > div { width: 100%; }
  .competence-ledger { grid-template-columns: 1fr; }
  .competence-ledger article,
  .competence-ledger article:nth-child(2n),
  .competence-ledger article:nth-child(3n),
  .competence-ledger article:nth-child(n + 5) { min-height: 230px; border-right: 0; border-bottom: 1px solid var(--rule); }
  .competence-ledger article:last-child { border-bottom: 0; }
  .service-flow { grid-template-columns: 1fr; }
  .service-flow > div { min-height: 126px; }
  .service-faq__grid { grid-template-columns: 1fr; }
  .intent-ledger article { grid-template-columns: 44px 1fr; gap: 12px; padding-block: 25px; }
  .intent-ledger article p { grid-column: 2; }
  .cluster-links__inner { align-items: flex-start; flex-direction: column; }
  .services-hub-hero__inner { padding-block: 58px 78px; }
  .services-hub-hero h1 { font-size: clamp(3.05rem, 13vw, 4.9rem); }
  .services-hub-console { box-shadow: 7px 7px 0 var(--red-soft); }
  .service-hub-item {
    grid-template-columns: 34px 1fr;
    min-height: 0;
    gap: 12px 16px;
    padding: 30px 0;
  }
  .service-hub-item p,
  .service-hub-item em { grid-column: 2; }
  .service-hub-item:hover,
  .service-hub-item:focus-visible { padding-inline: 12px; }
  .service-hub-path__rail { grid-template-columns: 1fr; }
  .service-hub-path__rail > i { display: none; }
  .service-hub-path__rail > div { min-height: 190px; }
  .service-hub-path__rail strong { margin-top: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .voice-wave span { animation: none; }
  .services-hub-console__head i,
  .services-hub-console__signal::after { animation: none; }
}

/* Service refinement — depth, editorial rhythm and finite choreography. */
.service-page .service-hero,
.service-page .cluster-hero,
.service-page .services-hub-hero {
  isolation: isolate;
  border-bottom-color: var(--rule-dark);
  background: radial-gradient(ellipse at 82% 40%, #ef483617, transparent 49%), var(--paper);
}

.service-page :is(.service-hero, .cluster-hero, .services-hub-hero)::after {
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--red), transparent);
  opacity: .48;
  content: "";
  pointer-events: none;
}

.service-page :is(.service-hero h1, .cluster-hero h1, .services-hub-hero h1) {
  text-wrap: balance;
  font-weight: 590;
  line-height: .99;
  letter-spacing: -.062em;
}

.service-page :is(.service-hero__inner, .cluster-hero__inner, .services-hub-hero__inner) {
  gap: clamp(40px, 5.8vw, 100px);
}

.service-page :is(.cluster-console, .voice-console, .services-hub-console) {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #343b3a;
  border-radius: 5px;
  box-shadow: 0 2px 3px #101b1a0a, 0 14px 26px -16px #101b1a40, 0 46px 85px -48px #101b1a55;
  transition: box-shadow 650ms var(--ease-out), transform 650ms var(--ease-out);
}

.service-page .cluster-console {
  background: radial-gradient(ellipse at top right, #33433d 0%, #1b2320 46%, #141916 100%);
  color: #fafaf6;
  border-color: #47544c;
}

.service-example-label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  min-height: 35px;
  padding: 9px 18px;
  border-bottom: 1px solid #dce0d7;
  background: #f5f5ed;
  color: #515d54;
  font-size: .63rem;
  font-weight: 540;
  letter-spacing: .025em;
}

.service-example-label::before {
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #758e7b;
  content: "";
}

.cluster-console .service-example-label {
  background: #ffffff05;
  color: #bfc9c1;
  border-bottom-color: #ffffff16;
}

.service-page .cluster-console__head {
  flex-wrap: wrap;
  gap: 9px 18px;
  padding-block: 15px;
  color: #c0c8c2;
  font-size: .6rem;
  border-color: #ffffff16;
}

.service-page .cluster-console__signal {
  position: relative;
  padding: clamp(25px, 3vw, 42px) 26px;
  border-color: #ffffff16;
}

.service-page .cluster-console__signal strong {
  font-size: clamp(1.26rem, 1.85vw, 1.7rem);
  line-height: 1.3;
  letter-spacing: -.035em;
  font-weight: 540;
}

.service-page .cluster-ledger > div {
  min-height: 76px;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 10px;
  padding: 14px 20px;
  border-color: #ffffff12;
}

.service-page .cluster-ledger strong { font-size: .75rem; font-weight: 510; }
.service-page .cluster-ledger em { color: #a7dbb4; font-size: .54rem; }
.service-page .voice-console__head,
.service-page .services-hub-console__head { color: #58625d; }
.service-page .voice-dialogue { padding: 26px; gap: 22px; }
.service-page .voice-dialogue > div { border-radius: 2px 13px 13px 13px; border-color: #d4d9ce; }
.service-page .voice-dialogue__assistant { border-radius: 13px 2px 13px 13px !important; }
.service-page .voice-dialogue p { line-height: 1.6; }
.service-page .voice-wave { height: 102px; background-color: #fafaf5; }
.service-page .voice-wave span { animation: voice-wave 1.5s ease-in-out 3 alternate; }
.service-page .services-hub-console__head i { animation-iteration-count: 2; }
.service-page .services-hub-console__signal::after { animation-iteration-count: 1; }
.service-page .service-hero__note { font-size: .73rem; line-height: 1.6; max-width: 530px; color: #5b635e; }
.service-page .section-intro h2 { text-wrap: balance; }

/* Capabilities read as a numbered editorial ledger, not interchangeable cards. */
.service-page .competence-ledger { display: block; border-inline: 0; border-bottom: 0; }
.service-page .competence-ledger article {
  display: grid;
  grid-template-columns: 50px minmax(170px, .65fr) minmax(230px, 1fr) minmax(130px, .45fr);
  gap: 28px;
  align-items: center;
  min-height: 135px;
  padding: 26px 0;
  border: 0;
  border-bottom: 1px solid var(--rule);
}
.service-page .competence-ledger span,
.service-page .competence-ledger h3,
.service-page .competence-ledger p { margin: 0; }
.service-page .competence-ledger h3 { line-height: 1.25; }
.service-page .competence-ledger p { font-size: .84rem; line-height: 1.65; }
.service-page .competence-ledger small { font-size: .6rem; line-height: 1.6; color: #5b635e; text-transform: none; letter-spacing: .02em; }
.service-page .intent-ledger article { min-height: 140px; }
.service-page .intent-ledger h3 { font-weight: 570; }
.service-page .intent-ledger p { font-size: .86rem; line-height: 1.65; }
.service-page .service-hub-item { transition: background-color 400ms var(--ease-out), padding 400ms var(--ease-out); }
.service-page .service-hub-item h3 { font-weight: 590; }
.service-page .service-hub-item small { color: #5b635e; }
.service-page .service-hub-item:hover,
.service-page .service-hub-item:focus-visible { background: #f1ede5; }

.service-page .service-workflow { background: linear-gradient(150deg, #f0f1e8 0%, #f6f4ed 70%); }
.service-page .service-flow { gap: 18px; }
.service-page .service-flow > div {
  position: relative;
  border: 0;
  border-top: 1px solid #aeb8ad;
  background: transparent;
  padding: 27px 0 0;
  min-height: 175px;
}
.service-page .service-flow > div::before {
  position: absolute;
  inset: -1px 0 auto;
  height: 2px;
  background: var(--red);
  content: "";
  transform-origin: left;
  transform: scaleX(1);
}
.service-page .service-flow__complete::before { background: #3e7956 !important; }
.service-page .service-flow strong { font-size: .84rem; font-weight: 590; }
.service-page .service-flow small { color: #5b635e; font-size: .69rem; line-height: 1.5; }
.service-page .service-flow > i { align-self: start; margin-top: 29px; opacity: .6; }
.service-page .third-party-note { max-width: 690px; margin-top: 38px; font-size: .69rem; line-height: 1.6; }

.service-assurance { padding-block: clamp(90px, 10vw, 150px); background: #17221b; color: #f6f6ed; }
.service-assurance__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 16px clamp(40px, 9vw, 150px); align-items: end; }
.service-assurance__intro .section-label { grid-column: 1 / -1; color: #cad5c3; }
.service-assurance h2 { margin: 0; max-width: 690px; font-size: clamp(2.6rem, 4.4vw, 4.8rem); font-weight: 540; line-height: 1.03; letter-spacing: -.055em; text-wrap: balance; }
.service-assurance__intro > p:last-child { max-width: 520px; margin: 0; color: #c8d2c7; font-size: .96rem; line-height: 1.7; }
.service-assurance__rail { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 42px; margin-top: 70px; }
.service-assurance__rail > div { padding-top: 23px; border-top: 1px solid #ffffff35; }
.service-assurance__rail span { color: #b5c8a5; font-size: .62rem; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.service-assurance__rail h3 { margin: 35px 0 12px; font-size: 1.04rem; line-height: 1.35; font-weight: 570; letter-spacing: -.02em; }
.service-assurance__rail p { max-width: 330px; margin: 0; color: #c8d2c7; font-size: .82rem; line-height: 1.65; }
.service-page .service-faq h2 { text-wrap: balance; font-weight: 540; }
.service-page .faq-list summary { padding-block: 29px; font-weight: 570; line-height: 1.45; }
.service-page .faq-list summary::after { top: 27px; transition: transform 240ms var(--ease-out); }
.service-page .faq-list summary:hover::after { transform: rotate(90deg); }
.service-page .faq-list summary:focus-visible { outline: 2px solid var(--red); outline-offset: 5px; }
.service-page .faq-list details[open] { background: linear-gradient(90deg, transparent, #f5f3ed); }
.service-page .faq-list details p { font-size: .88rem; line-height: 1.7; padding-bottom: 29px; }
.service-related { padding-block: 38px 66px; background: var(--paper-pure); }
.service-related nav { display: flex; flex-wrap: wrap; gap: 14px 36px; }
.service-related a { display: inline-flex; align-items: center; min-height: 44px; gap: 16px; font-size: .8rem; font-weight: 560; }
.service-related a span { color: var(--red); transition: transform 260ms var(--ease-out); }
.service-related a:hover span { transform: translate(2px, -2px); }
.service-page .service-hub-path__rail { gap: 30px; }
.service-page .service-hub-path__rail > div { border: 0; border-top: 1px solid #aeb8ad; padding: 28px 0; background: transparent; }
.service-page .service-hub-path__rail strong { margin-top: 42px; font-weight: 570; }
.service-page .final-cta h2 { text-wrap: balance; }

@media (hover: hover) and (pointer: fine) {
  .service-page :is(.cluster-console, .voice-console, .services-hub-console):hover {
    transform: translateY(-3px);
    box-shadow: 0 3px 5px #101b1a0a, 0 22px 36px -18px #101b1a40, 0 52px 90px -42px #101b1a50;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .service-page .is-visible :is(.cluster-ledger, .voice-actions, .services-hub-console__rows) > div {
    animation: service-row-arrive 800ms cubic-bezier(.2,.8,.2,1) both;
  }
  .service-page .is-visible :is(.cluster-ledger, .voice-actions, .services-hub-console__rows) > div:nth-child(2) { animation-delay: 100ms; }
  .service-page .is-visible :is(.cluster-ledger, .voice-actions, .services-hub-console__rows) > div:nth-child(3) { animation-delay: 200ms; }
  .service-page .is-visible :is(.cluster-ledger, .voice-actions, .services-hub-console__rows) > div:nth-child(4) { animation-delay: 300ms; }
  .service-page .service-flow.is-visible > div::before { animation: service-line-arrive 750ms cubic-bezier(.2,.8,.2,1) both; }
  .service-page .service-flow.is-visible > div:nth-of-type(2)::before { animation-delay: 130ms; }
  .service-page .service-flow.is-visible > div:nth-of-type(3)::before { animation-delay: 260ms; }
  .service-page .service-flow.is-visible > div:nth-of-type(4)::before { animation-delay: 390ms; }
  .service-page .service-flow.is-visible > div:nth-of-type(5)::before { animation-delay: 520ms; }
}

@keyframes service-row-arrive { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
@keyframes service-line-arrive { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes service-line-arrive-vertical { from { transform: scaleY(0); } to { transform: scaleY(1); } }

@media (min-width: 1025px) {
  .service-page .service-faq__grid > div:first-child { position: sticky; top: calc(var(--header-h) + 40px); align-self: start; }
}

@media (max-width: 1024px) {
  .service-page .competence-ledger article { grid-template-columns: 32px minmax(180px, .7fr) 1fr; gap: 18px 24px; }
  .service-page .competence-ledger small { grid-column: 3; }
  .service-assurance__intro { gap: 24px 45px; }
  .service-assurance__rail { gap: 28px; }
}

@media (max-width: 760px) {
  .service-page :is(.service-hero__inner, .cluster-hero__inner, .services-hub-hero__inner) { gap: 44px; padding-block: 58px 72px; }
  .service-page :is(.service-hero h1, .cluster-hero h1, .services-hub-hero h1) { font-size: clamp(2.65rem, 11vw, 4.65rem); line-height: 1.025; letter-spacing: -.057em; }
  .service-page .service-hero__note { margin-top: 28px; font-size: .73rem; }
  .service-page .voice-console__head > span:first-child { display: initial; }
  .service-page .voice-console__head { justify-content: space-between; gap: 8px; font-size: .48rem; }
  .service-page .voice-dialogue { padding: 20px; }
  .service-page .cluster-console__head { font-size: .52rem; padding-inline: 16px; }
  .service-page .cluster-console__signal { padding: 28px 20px; }
  .service-page .cluster-ledger > div { padding: 14px 15px; gap: 8px; }
  .service-page .cluster-ledger strong { font-size: .71rem; line-height: 1.45; }
  .service-page .cluster-ledger em { font-size: .47rem; }
  .service-page .competence-ledger article { grid-template-columns: 28px 1fr; gap: 12px 15px; min-height: 0; padding-block: 27px; }
  .service-page .competence-ledger :is(p, small) { grid-column: 2; }
  .service-page .intent-ledger article { grid-template-columns: 28px 1fr; min-height: 0; }
  .service-page .service-flow { gap: 0; padding-left: 12px; }
  .service-page .service-flow > div { grid-template-columns: 40px 1fr; grid-template-rows: auto auto; gap: 3px 24px; align-content: center; min-height: 110px; border-top: 0; border-left: 1px solid #aeb8ad; padding: 22px 0 22px 26px; }
  .service-page .service-flow > div::before { inset: 0 auto 0 -1px; width: 2px; height: auto; transform-origin: top; }
  .service-page .service-flow > div > :first-child { grid-row: 1 / 3; align-self: center; }
  .service-page .service-flow.is-visible > div::before { animation-name: service-line-arrive-vertical; }
  .service-page .service-flow strong { margin-top: 0; }
  .service-page .service-flow small { margin-top: 3px; }
  .service-assurance__intro { grid-template-columns: 1fr; }
  .service-assurance h2 { font-size: clamp(2.45rem, 10vw, 3.6rem); }
  .service-assurance__rail { grid-template-columns: 1fr; margin-top: 45px; gap: 30px; }
  .service-assurance__rail > div { display: grid; grid-template-columns: 28px 1fr; gap: 8px 15px; }
  .service-assurance__rail h3 { margin: 0; }
  .service-assurance__rail p { grid-column: 2; max-width: none; }
  .service-page .service-faq__grid { gap: 38px; }
  .service-page .faq-list summary { font-size: .9rem; padding-right: 34px; }
  .service-page .faq-list details p { padding-right: 8px; font-size: .84rem; }
  .service-related nav { flex-direction: column; gap: 0; }
  .service-related a { justify-content: space-between; min-height: 52px; border-bottom: 1px solid var(--rule); }
  .service-page .service-hub-path__rail > div { min-height: 155px; }
  .service-page .service-hub-path__rail strong { margin-top: 25px; }
}

@media (prefers-reduced-motion: reduce) {
  .service-page *, .service-page *::before, .service-page *::after {
    animation: none !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .service-page :is(.cluster-console, .voice-console, .services-hub-console):hover { transform: none; }
}
