/* Draft v02 — directly designed for this revision; no skill-generated workflow. */
:root {
  --night: #11233f;
  --night-mid: #1c3457;
  --signal: #d3f7a7;
  --ice: #f1f4f8;
  --blue: #254cf4;
  --ink: #11233f;
}
.site-header {
  height: 88px;
  border-bottom-color: #e7ebf1;
}
.header-inner {
  gap: 36px;
}
.brandmark {
  color: var(--blue);
}
.button {
  border-radius: 4px;
}
.button.outline {
  border: 1px solid #bfcbdc;
  background: transparent;
  color: var(--ink);
}
.button.outline:hover {
  background: var(--pale);
}
.home-v2 .hero {
  padding-top: 56px;
}
.home-v2 .hero-heading,
html[lang="en-GB"] .home-v2 .hero-heading {
  grid-template-columns: 1.4fr 1fr;
  align-items: center;
  gap: 70px;
  padding-bottom: 42px;
}
.home-v2 .hero h1,
html[lang="en-GB"] .home-v2 .hero h1 {
  font-size: clamp(42px, 5.6vw, 78px);
  line-height: 1.16;
  white-space: nowrap;
  letter-spacing: -0.04em;
}
.home-v2 .hero-intro p:first-child {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 20px;
}
.home-v2 .hero-intro .button {
  min-height: 45px;
  padding: 12px 18px;
  font-size: 14px;
}
.integration-map {
  background: var(--night);
  color: #fff;
  border-radius: 12px;
  overflow: hidden;
  padding: 25px 38px 0;
}
.map-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #344967;
  padding-bottom: 19px;
  color: #d7e1f1;
  font-size: 14px;
}
.map-topline > span:first-child {
  display: flex;
  gap: 11px;
  align-items: center;
}
.map-topline .icon {
  width: 17px;
  height: 17px;
  color: var(--signal);
}
.map-concept {
  font-size: 14px;
  white-space: nowrap;
  color: #b3c5e0;
}
.map-flow {
  position: relative;
  display: grid;
  grid-template-columns: 260px 1fr 330px;
  gap: 55px;
  align-items: center;
  min-height: 355px;
  padding: 28px 0;
}
.map-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.map-lines path {
  stroke: #405777;
}
.map-lines .wire-active {
  stroke: var(--signal);
  stroke-width: 2;
}
.map-lines .output-wire {
  stroke: #748fae;
}
.map-inputs,
.map-core,
.map-outputs {
  position: relative;
  z-index: 1;
}
.map-inputs {
  display: grid;
  gap: 11px;
}
.map-node {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 12px 14px;
  text-align: left;
  width: 100%;
  border: 1px solid #3b5171;
  background: #1c3050;
  color: #fff;
  border-radius: 7px;
  position: relative;
  transition:
    background 0.2s,
    border-color 0.2s;
}
.map-node .node-symbol {
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  background: #304664;
  color: #c3d5f0;
  border-radius: 6px;
  flex-shrink: 0;
}
.map-node .icon {
  width: 18px;
  height: 18px;
}
.map-node strong {
  font-size: 18px;
  font-weight: 500;
  display: block;
  line-height: 1.3;
}
.map-node small {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  color: #b7c8df;
  margin-top: 3px;
}
.node-port {
  position: absolute;
  right: -4px;
  top: 50%;
  transform: translateY(-50%);
  height: 6px;
  width: 6px;
  border-radius: 50%;
  background: #8ba2c4;
}
.map-node.is-active,
.map-node:hover {
  border-color: var(--signal);
  background: #263e4b;
}
.map-node.is-active .node-symbol {
  background: var(--signal);
  color: var(--night);
}
.map-node.is-active .node-port {
  background: var(--signal);
}
.map-node:focus-visible {
  outline-color: #fff;
  outline-offset: 4px;
}
.map-core {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  height: 290px;
}
.core-orbit {
  position: absolute;
  width: 270px;
  height: 270px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.core-disc {
  width: 203px;
  height: 203px;
  background: var(--signal);
  color: var(--night);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: -19px;
}
.core-disc > span {
  font-size: 76px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.06em;
  margin-bottom: 12px;
}
.core-disc > strong {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
}
.map-core > p {
  position: absolute;
  bottom: 0;
  font-size: 14px;
  color: #c8d7eb;
  white-space: nowrap;
}
.map-outputs {
  display: grid;
  gap: 22px;
}
.map-output {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  background: var(--night);
  padding: 7px 0;
}
.output-symbol {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid #6681a2;
  border-radius: 50%;
  color: var(--signal);
  flex-shrink: 0;
}
.output-symbol .icon {
  width: 17px;
  height: 17px;
}
.map-output-title {
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: -0.02em;
  font-weight: 500;
  margin-bottom: 7px;
}
.map-output p {
  font-size: 14px;
  line-height: 1.7;
  color: #b7c8df;
  max-width: 235px;
}
.map-example {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 20px;
  align-items: center;
  border-top: 1px solid #344967;
  padding: 19px 0 21px;
  text-align: left;
  min-height: 78px;
}
.map-example > span {
  font-size: 14px;
  color: #aebed5;
}
.map-example > span:last-child {
  text-align: right;
}
.map-example > p {
  display: flex;
  align-items: center;
  gap: 13px;
  color: #e2eaf6;
  font-size: 14px;
  line-height: 1.7;
  max-width: none;
}
.map-example strong {
  color: var(--signal);
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
}
.example-arrow .icon {
  width: 17px;
  height: 17px;
  color: #90a5c4;
}
.solution-shortcuts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 17px;
  border-bottom: 1px solid #dbe2ed;
}
.solution-shortcuts > a {
  display: flex;
  align-items: center;
  gap: 17px;
  padding: 21px 24px 23px 0;
}
.solution-shortcuts > a:last-child {
  border-left: 1px solid #dbe2ed;
  padding-left: 32px;
}
.shortcut-symbol {
  width: 41px;
  height: 41px;
  display: grid;
  place-items: center;
  color: var(--blue);
  background: #edf2ff;
  border-radius: 8px;
  flex-shrink: 0;
}
.shortcut-symbol .icon {
  width: 23px;
  height: 23px;
}
.solution-shortcuts > a > span:nth-child(2) {
  flex: 1;
}
.solution-shortcuts small {
  display: block;
  font-size: 14px;
  color: #5d6d84;
  margin-bottom: 5px;
}
.solution-shortcuts strong {
  display: block;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}
.solution-shortcuts > a > .icon {
  width: 19px;
  height: 19px;
  color: var(--blue);
  flex-shrink: 0;
}
.solution-shortcuts a:hover strong {
  color: var(--blue);
}
.home-v2 .audience-band {
  border-bottom: 0;
  padding-block: 30px;
}
.home-v2 .solutions-intro {
  padding-top: 70px;
}
.voice-section {
  background: var(--night);
}
.voice-feature .tags li {
  border-color: #667c9b;
}
.voice-section .feature-copy a:focus-visible {
  outline-color: var(--signal);
}
/* Redrawn product illustrations. */
.dashboard-figure {
  background: #e6edf7;
  padding: 22px 18px 16px;
  border-radius: 8px;
}
.dashboard {
  border-radius: 5px;
  box-shadow: 0 20px 40px -28px #12264770;
}
.dash-top {
  background: #1b3659;
  color: #fff;
  border-bottom: 0;
  padding: 16px 18px;
}
.dash-product .icon {
  color: #d3f7a7;
}
.dash-top .demo-chip {
  background: #355071;
  color: #f0f5ff;
}
.dash-sidebar {
  background: #f1f4f8;
  border-right: 0;
  gap: 27px;
  padding-top: 24px;
}
.dash-sidebar .selected {
  color: #2046f5;
}
.dash-heading h3 {
  font-size: 23px;
}
.demo-tabs {
  gap: 4px;
  border-bottom: 0;
  background: #eef2f8;
  padding: 4px;
  border-radius: 5px;
  margin-top: 22px;
}
.demo-tabs button {
  padding: 7px 12px;
  border-bottom: 0;
  border-radius: 3px;
  font-size: 14px;
  flex: 1;
  min-height: 34px;
}
.demo-tabs button[aria-selected="true"] {
  background: #fff;
  box-shadow: 0 2px 5px #132b5010;
  color: #2449d9;
}
.calendar-track {
  background-color: #fbfcff;
}
.calendar-row {
  min-height: 51px;
}
.calendar-event {
  border-radius: 3px;
}
.voice-console {
  border-radius: 6px;
  box-shadow: none;
  padding: 23px 26px 0;
}
.voice-console-top {
  border-bottom: 1px solid #dfe6ef;
  padding-bottom: 16px;
  font-size: 14px;
}
.voice-orb {
  border-radius: 12px;
  float: left;
  width: 49px;
  height: 49px;
  margin: 22px 14px 12px 0;
  background: #e8f2dd;
}
.voice-orb .icon {
  width: 24px;
  height: 24px;
  color: #345825;
}
.voice-languages {
  justify-content: flex-end;
  padding-top: 27px;
  margin-bottom: 12px;
  gap: 6px;
  min-height: 66px;
}
.voice-languages button {
  border-radius: 4px;
  font-size: 14px;
  padding: 6px 10px;
  min-height: 31px;
}
.wave {
  clear: both;
  max-width: none;
  background: #f2f5fa;
  padding: 10px;
  margin: 18px 0 24px;
  height: 76px;
  border-radius: 4px;
  gap: 6px;
}
.wave i {
  width: 3px;
  background: #315bc9;
}
.wave i:nth-child(3n) {
  background: #7693c3;
}
.speech {
  background: transparent !important;
  border-radius: 0;
  padding: 0 0 0 22px;
  position: relative;
  max-width: none;
  margin: 0 0 21px;
}
.speech:before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 7px;
  height: 7px;
  background: #9badc7;
  border-radius: 50%;
}
.speech.assistant:before {
  background: var(--blue);
}
.speech.caller {
  margin-left: 0;
}
.speech small {
  font-size: 14px;
  margin-bottom: 7px;
  color: #64738b;
}
.speech p {
  font-size: 14px;
  line-height: 1.7;
}
.voice-panel {
  min-height: 179px;
  padding: 0 4px;
}
.voice-bottom {
  margin-top: 0;
  border-top: 1px solid #dfe6ef;
  padding: 17px 0;
}
.voice-figure figcaption {
  padding-top: 12px;
}
.voice-panel:focus-visible,
.dash-panel:focus-visible {
  outline-offset: 2px;
}
.ai-note {
  border-radius: 6px;
  box-shadow: none;
  border: 1px solid #dae3d4;
  padding: 31px;
}
.ai-note-header {
  font-size: 14px;
}
.ai-note h3 {
  font-size: 29px;
}
.review-label {
  border-radius: 3px;
}
.ai-note li {
  font-size: 14px;
}
.ai-figure figcaption {
  font-size: 14px;
}
/* Product pages: a wide operational workbench, and a voice studio. */
.detail-crumb {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 14px;
  color: #66778d;
  padding-block: 25px;
}
.detail-crumb > a {
  color: var(--ink);
}
.detail-crumb .icon {
  width: 13px;
  height: 13px;
}
.product-name {
  font-size: 14px;
  font-weight: 500;
  display: flex;
  gap: 11px;
  align-items: center;
  color: #466077;
}
.product-name .icon {
  width: 19px;
  height: 19px;
  color: var(--blue);
}
.platform-intro {
  padding-block: 35px 70px;
}
.platform-title {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 85px;
  align-items: end;
  margin-top: 30px;
  margin-bottom: 52px;
}
.platform-title h1 {
  font-size: clamp(46px, 5vw, 70px);
  line-height: 1.16;
  letter-spacing: -0.04em;
}
.platform-title h1 span {
  color: var(--blue);
}
.platform-title > div > p:first-child {
  font-size: 16px;
  line-height: 1.8;
  color: #586b82;
  margin-bottom: 24px;
}
.platform-canvas {
  background: var(--night);
  border-radius: 10px;
  padding: 0 20px 20px;
  overflow: hidden;
}
.canvas-top {
  padding: 18px 5px;
  display: flex;
  justify-content: space-between;
  gap: 25px;
  font-size: 14px;
  color: #dce6f5;
}
.canvas-top > span:last-child {
  font-size: 14px;
  color: #aebfd7;
}
.canvas-layout {
  display: grid;
  grid-template-columns: 1.9fr 1fr;
  gap: 0;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
}
.platform-canvas .dashboard-figure {
  background: #fff;
  padding: 0;
  border-radius: 0;
}
.platform-canvas .dashboard {
  box-shadow: none;
  border-radius: 0;
}
.platform-canvas .dash-top {
  background: #f0f4fb;
  color: var(--ink);
  padding: 17px 22px;
  border-bottom: 1px solid #e2e9f3;
}
.platform-canvas .dash-top .demo-chip {
  background: #dae5f7;
  color: #425b7c;
}
.platform-canvas .dash-top .icon {
  color: var(--blue);
}
.platform-canvas .dash-main {
  padding: 28px 27px 14px;
}
.platform-canvas .dash-layout {
  grid-template-columns: 56px 1fr;
}
.platform-canvas .dash-heading h3 {
  font-size: 29px;
}
.platform-canvas .dash-heading p {
  font-size: 14px;
}
.platform-canvas .demo-tabs button {
  font-size: 14px;
}
.platform-canvas .calendar-times {
  font-size: 14px;
  grid-template-columns: 93px repeat(4, 1fr);
}
.platform-canvas .calendar-label {
  font-size: 14px;
  width: 93px;
}
.platform-canvas .calendar-event {
  font-size: 14px;
  padding: 10px;
}
.platform-canvas .calendar-row {
  min-height: 55px;
}
.platform-canvas .dash-panel {
  min-height: 280px;
}
.platform-canvas .dash-hint {
  font-size: 14px;
}
.platform-canvas .task-row {
  padding: 22px 0;
}
.platform-canvas .task-row strong,
.platform-canvas .billing-row strong {
  font-size: 14px;
}
.platform-canvas .task-row small,
.platform-canvas .billing-row small {
  font-size: 14px;
}
.platform-canvas .task-status,
.platform-canvas .billing-row > span {
  font-size: 14px;
}
.platform-canvas figcaption {
  padding: 10px 15px 14px;
  background: #fff;
}
.canvas-assistant {
  background: #e6efd9;
  padding: 33px 28px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
.canvas-ai-mark {
  background: var(--night);
  color: var(--signal);
  font-size: 24px;
  padding: 5px 12px;
  border-radius: 5px;
  font-weight: 600;
  margin-bottom: 30px;
}
.canvas-assistant h2 {
  font-size: 29px;
  line-height: 1.4;
  letter-spacing: -0.025em;
  margin-bottom: 21px;
}
.canvas-assistant > p {
  font-size: 14px;
  line-height: 1.85;
  color: #425c42;
}
.canvas-assistant ul {
  display: grid;
  gap: 18px;
  margin-top: 31px;
}
.canvas-assistant li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 14px;
}
.canvas-assistant li .icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #537c38;
  margin-top: 2px;
}
.canvas-assistant small {
  font-size: 14px;
  color: #526948;
  margin-top: auto;
  padding-top: 25px;
}
.page-rail {
  border-top: 1px solid #dce4ee;
  border-bottom: 1px solid #dce4ee;
  background: #f7f9fc;
}
.page-rail > .wrap {
  display: flex;
  gap: 37px;
  align-items: center;
  min-height: 65px;
}
.page-rail a {
  font-size: 14px;
  line-height: 1.5;
  padding: 15px 0;
  color: #4b607e;
}
.page-rail a:hover {
  color: var(--blue);
}
.page-rail a:last-child {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--blue);
}
.page-rail .icon {
  width: 15px;
  height: 15px;
}
.journey-section .section-heading {
  align-items: start;
}
.journey-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
  border-top: 1px solid #cbd6e6;
}
.journey-steps li {
  padding: 28px 27px 0 0;
}
.journey-steps li + li {
  padding-left: 27px;
  border-left: 1px solid #dae2ed;
}
.journey-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #607594;
  margin-bottom: 34px;
}
.journey-top span {
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.journey-top .icon {
  color: var(--blue);
  width: 23px;
  height: 23px;
}
.journey-steps h3 {
  font-size: 23px;
  line-height: 1.4;
  letter-spacing: -0.025em;
  margin-bottom: 17px;
}
.journey-steps p {
  font-size: 14px;
  line-height: 1.8;
  color: #5e7087;
}
.capability-chapter {
  background: #f1f4f8;
  padding-block: 83px;
}
.chapter-title {
  display: grid;
  grid-template-columns: 1fr 2fr;
  align-items: center;
  gap: 55px;
  margin-bottom: 35px;
}
.chapter-title > span {
  font-size: 14px;
  line-height: 1.65;
  color: #5c6d84;
  max-width: 240px;
}
.chapter-title h2 {
  font-size: 43px;
}
.capability-rows {
  border-top: 1px solid #cbd5e4;
}
.capability-rows article {
  display: grid;
  grid-template-columns: 56px 1fr 1.2fr;
  gap: 35px;
  align-items: start;
  padding: 34px 0;
  border-bottom: 1px solid #cbd5e4;
}
.capability-symbol {
  color: var(--blue);
  padding-top: 2px;
}
.capability-symbol .icon {
  width: 29px;
  height: 29px;
}
.capability-rows h3 {
  font-size: 26px;
  line-height: 1.4;
  letter-spacing: -0.03em;
}
.capability-rows p {
  font-size: 15px;
  line-height: 1.9;
  color: #536781;
}
.assistance-chapter {
  background: #e8f0df;
}
.assistance-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: center;
}
.ai-inline-mark {
  font-size: 14px;
  display: inline-block;
  background: var(--night);
  color: #dcf4c3;
  padding: 6px 11px;
  border-radius: 3px;
  letter-spacing: 0.05em;
  margin-bottom: 26px;
}
.assistance-layout h2 {
  font-size: 46px;
  line-height: 1.25;
  margin-bottom: 22px;
}
.assistance-layout > div > p:not(.product-boundary) {
  font-size: 16px;
  color: #496247;
  line-height: 1.9;
}
.assistance-layout .product-boundary {
  border-color: #bdcdb3;
  color: #4b6245;
  max-width: 65ch;
}
.fit-chapter {
  padding-block: 85px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: start;
  border-bottom: 1px solid #dbe2ec;
}
.fit-chapter h2 {
  font-size: 42px;
  line-height: 1.3;
}
.fit-chapter p {
  font-size: 16px;
  color: #5f7188;
  line-height: 1.85;
}
.fit-chapter .tags {
  margin-bottom: 0;
}
.questions-chapter {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 90px;
}
.questions-chapter h2 {
  font-size: 43px;
}
.questions-chapter > div > p {
  font-size: 14px;
  color: #5e7087;
  margin-top: 20px;
}
.related-strip {
  background: var(--night);
  color: #fff;
  padding-block: 31px;
}
.related-strip > .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
}
.related-strip span {
  font-size: 14px;
  color: #bac9e0;
}
.related-strip a {
  display: flex;
  gap: 25px;
  align-items: center;
  font-size: 22px;
  line-height: 1.5;
}
.related-strip a:hover {
  color: var(--signal);
}
.related-strip a:focus-visible {
  outline-color: var(--signal);
}
.voice-studio {
  background: var(--night);
  color: #fff;
  padding-top: 58px;
}
.studio-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 87px;
  align-items: center;
  padding-bottom: 55px;
}
.studio-copy .product-name {
  color: #b4c7e0;
  font-size: 14px;
  margin-bottom: 28px;
}
.studio-copy .product-name .icon {
  color: var(--signal);
}
.studio-copy h1 {
  font-size: clamp(44px, 4.8vw, 67px);
  line-height: 1.2;
  letter-spacing: -0.035em;
}
.studio-copy > p:not(.studio-status) {
  font-size: 16px;
  color: #c5d3e6;
  line-height: 1.85;
  margin: 26px 0 30px;
  max-width: 500px;
}
.studio-copy .button.light {
  color: var(--night);
  background: var(--signal);
}
.studio-copy .button.light:hover {
  background: #e3fbc6;
}
.studio-copy .button:focus-visible {
  outline-color: #fff;
}
.studio-status {
  font-size: 14px;
  color: #a9bed8;
  line-height: 1.8;
  margin-top: 17px;
}
.studio-languages {
  display: flex;
  gap: 0;
  margin-top: 34px;
  font-size: 14px;
  color: #c7d5e8;
}
.studio-languages span + span {
  margin-left: 19px;
  padding-left: 19px;
  border-left: 1px solid #5f7492;
}
.studio-demo .voice-console {
  padding: 24px 29px 0;
}
.studio-demo .voice-console-top {
  font-size: 14px;
}
.studio-demo figcaption {
  color: #b8c8de;
}
.studio-demo .speech p {
  font-size: 15px;
}
.studio-demo .speech small {
  font-size: 14px;
}
.studio-demo .voice-panel {
  min-height: 200px;
}
.studio-bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  border-top: 1px solid #3e526f;
  padding-block: 24px;
}
.studio-bottom > span {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #d7e2f2;
  font-size: 14px;
}
.studio-bottom .icon {
  color: var(--signal);
  width: 18px;
  height: 18px;
}
/* New project visual system: relationships and infrastructure, no campus images. */
.project-tiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 42px;
}
.project-tile {
  display: block;
}
.tile-art {
  background: #152e51;
  overflow: hidden;
  border-radius: 6px;
}
.tile-art.mint-art {
  background: #dcecc9;
}
.tile-label {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 25px;
  color: #62748c;
  font-size: 14px;
  letter-spacing: 0.05em;
}
.tile-label .icon {
  width: 22px;
  height: 22px;
  color: var(--blue);
}
.project-tile h3 {
  font-size: 27px;
  line-height: 1.35;
  margin-top: 11px;
  letter-spacing: -0.025em;
}
.project-tile p {
  font-size: 14px;
  color: #5f7086;
  margin-top: 14px;
}
.project-tile:hover h3 {
  color: var(--blue);
}
.operations-map {
  padding: 35px 38px 22px;
  background: #152e51;
  color: #fff;
  min-width: 0;
  border-radius: 6px;
}
.ops-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-size: 16px;
  color: #e5edf8;
  padding-bottom: 25px;
  border-bottom: 1px solid #435b7e;
}
.ops-heading .icon {
  color: var(--signal);
  width: 23px;
  height: 23px;
}
.ops-routing {
  padding-top: 8px;
}
.ops-lane {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 24px 0;
  border-bottom: 1px solid #3c5679;
}
.ops-lane > span:first-child {
  display: flex;
  align-items: center;
  gap: 13px;
  font-size: 20px;
  line-height: 1.4;
  flex-shrink: 0;
}
.ops-lane .icon {
  width: 21px;
  height: 21px;
  color: #aac0df;
}
.ops-lane > i {
  display: block;
  background: #738fb2;
  height: 1px;
  flex: 1;
  min-width: 20px;
  position: relative;
}
.ops-lane > i:after {
  content: "";
  position: absolute;
  right: 0;
  top: -3px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #b8cdea;
  border-right: 1px solid #b8cdea;
  transform: rotate(45deg);
}
.ops-target {
  font-size: 14px;
  color: #193727;
  background: #d3f7a7;
  padding: 5px 9px;
  border-radius: 3px;
  flex-shrink: 0;
}
.ops-backbone {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 25px;
}
.ops-backbone > span {
  border: 1px solid #647e9f;
  padding: 10px;
  text-align: center;
  font-size: 14px;
  border-radius: 4px;
}
.operations-map figcaption {
  color: #afc4df;
  font-size: 14px;
  padding-top: 23px;
}
.migration-map {
  background: #dcecc9;
  padding: 35px 36px 21px;
  border-radius: 6px;
  color: #172c38;
}
.migration-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #a6bc95;
  padding-bottom: 24px;
  font-size: 17px;
}
.migration-title > span:first-child {
  color: #55684a;
}
.migration-title strong {
  font-weight: 600;
}
.migration-title .icon {
  width: 23px;
  height: 23px;
}
.server-constellation {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  position: relative;
  margin-top: 29px;
  padding-bottom: 32px;
  border-bottom: 1px solid #7c9a68;
}
.server-unit {
  position: relative;
  min-width: 0;
}
.server-unit:after {
  content: "";
  width: 1px;
  background: #7c9a68;
  height: 24px;
  position: absolute;
  left: 50%;
  bottom: -32px;
}
.server-label {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  display: block;
  margin-bottom: 10px;
}
.server-unit-body {
  background: #203c3e;
  border-radius: 5px;
  padding: 15px 12px 10px;
}
.server-unit-body > i {
  display: block;
  background: #49675f;
  height: 16px;
  border-radius: 2px;
  margin-bottom: 7px;
  position: relative;
}
.server-unit-body > i:after {
  content: "";
  height: 3px;
  width: 10px;
  border-radius: 2px;
  background: #cdecba;
  position: absolute;
  right: 7px;
  top: 6px;
}
.server-leds {
  display: flex;
  gap: 5px;
  margin-top: 11px;
}
.server-leds b {
  display: block;
  width: 4px;
  height: 4px;
  background: #c1e896;
  border-radius: 50%;
}
.server-unit > span:last-child {
  display: block;
  font-size: 14px;
  margin-top: 10px;
  text-align: center;
  color: #425d3b;
}
.ceph-backbone {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 13px;
  padding-top: 24px;
  position: relative;
}
.ceph-backbone > i {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 17px;
  background: #7c9a68;
}
.ceph-backbone strong {
  background: #294837;
  color: #e4f5d7;
  font-size: 17px;
  padding: 6px 13px;
  border-radius: 4px;
  font-weight: 500;
}
.ceph-backbone > span {
  font-size: 14px;
  max-width: 190px;
  line-height: 1.6;
}
.migration-map figcaption {
  color: #4b6240;
  font-size: 14px;
  padding-top: 22px;
}
.compact.operations-map {
  padding: 26px 30px 18px;
}
.compact.operations-map .ops-heading {
  font-size: 14px;
  padding-bottom: 18px;
}
.compact .ops-lane {
  padding: 18px 0;
}
.compact .ops-lane > span:first-child {
  font-size: 18px;
}
.compact .ops-backbone {
  margin-top: 19px;
}
.compact.migration-map {
  padding: 26px 30px 18px;
}
.compact .migration-title {
  font-size: 16px;
  padding-bottom: 18px;
}
.compact .server-constellation {
  margin-top: 20px;
  padding-bottom: 25px;
}
.compact .server-unit-body {
  padding: 13px 10px 9px;
}
.compact .server-unit-body > i {
  height: 14px;
}
.compact .server-unit:after {
  bottom: -25px;
  height: 19px;
}
.compact .ceph-backbone {
  padding-top: 19px;
}
.compact .ceph-backbone > i {
  height: 12px;
}
.compact figcaption {
  padding-top: 16px;
}
.index-intro {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 80px;
  padding-block: 75px 67px;
}
.index-intro h1 {
  font-size: clamp(47px, 5.5vw, 76px);
  line-height: 1.15;
}
.index-intro h1 span {
  color: var(--blue);
}
.index-intro p {
  color: #63748b;
  font-size: 16px;
  line-height: 1.85;
  max-width: 620px;
  margin-top: 28px;
}
.index-word {
  color: #dce3ee;
  font-size: 100px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.055em;
  transform: rotate(90deg);
  transform-origin: center;
  margin-right: 20px;
  user-select: none;
}
.index-word span {
  display: block;
  color: var(--blue);
  font-size: 80px;
  line-height: 1.1;
  margin-top: 10px;
}
.case-filterbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  border-bottom: 1px solid #c8d3e3;
  padding-bottom: 19px;
}
.case-filterbar > div {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.case-filterbar button {
  border: 1px solid #cdd7e4;
  border-radius: 4px;
  background: #fff;
  padding: 10px 17px;
  font-size: 14px;
  color: #526780;
}
.case-filterbar button[aria-pressed="true"] {
  background: var(--night);
  color: white;
  border-color: var(--night);
}
.case-filterbar button:hover {
  border-color: var(--blue);
}
.case-filterbar > span {
  font-size: 14px;
  color: #697c95;
  white-space: nowrap;
}
.project-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 65px;
  padding-block: 48px;
  border-bottom: 1px solid #ccd7e5;
  align-items: center;
}
.project-row-art {
  display: block;
  min-width: 0;
}
.project-row-copy {
  padding-block: 15px;
}
.project-category {
  font-size: 14px;
  color: #5e7390;
  letter-spacing: 0.02em;
}
.project-row-copy h2 {
  font-size: 35px;
  line-height: 1.35;
  margin-top: 16px;
}
.project-row-copy > p {
  font-size: 15px;
  line-height: 1.85;
  color: #5c6f88;
  margin-top: 18px;
}
.project-mini-facts {
  display: flex;
  gap: 43px;
  margin-block: 28px;
}
.project-mini-facts strong {
  display: block;
  font-size: 31px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.035em;
}
.project-mini-facts span {
  display: block;
  font-size: 14px;
  color: #60738d;
  margin-top: 8px;
}
.project-row-copy .button {
  font-size: 14px;
  min-height: 47px;
  padding: 12px 17px;
}
.project-principle {
  display: grid;
  grid-template-columns: 60px 1fr 0.8fr;
  align-items: center;
  gap: 38px;
  padding-block: 85px;
}
.project-principle > span {
  color: var(--blue);
}
.project-principle > span .icon {
  width: 46px;
  height: 46px;
}
.project-principle h2 {
  font-size: 38px;
  line-height: 1.3;
}
.project-principle p {
  font-size: 15px;
  color: #62748c;
  line-height: 1.9;
}
/* Dedicated case studies with their own cover and reading structure. */
.case-cover {
  padding-top: 27px;
}
.case-cover-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.case-cover-top > span:last-child {
  font-size: 14px;
  color: #697b94;
}
.case-cover h1 {
  font-size: clamp(45px, 5.4vw, 75px);
  line-height: 1.16;
  margin-top: 30px;
}
.case-cover h1 > span {
  color: var(--blue);
}
.case-infra .case-cover h1 > span {
  color: #476c35;
}
.case-introduction {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-top: 32px;
  align-items: start;
}
.case-introduction h2 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: -0.015em;
  max-width: 500px;
}
.case-introduction p {
  font-size: 15px;
  color: #5a6f88;
  line-height: 1.9;
}
.case-architecture {
  margin-top: 40px;
}
.case-architecture .operations-map {
  padding: 33px 46px 20px;
}
.case-architecture .ops-heading {
  font-size: 17px;
}
.case-architecture .ops-routing {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  padding-top: 25px;
}
.case-architecture .ops-lane {
  display: block;
  border: 1px solid #4d678a;
  border-radius: 4px;
  padding: 23px;
}
.case-architecture .ops-lane > span:first-child {
  font-size: 24px;
  line-height: 1.4;
}
.case-architecture .ops-lane > i {
  margin: 26px 0 20px;
  width: 100%;
}
.case-architecture .ops-backbone {
  grid-column: 1/-1;
  margin-top: 1px;
}
.case-architecture .ops-backbone > span {
  font-size: 14px;
  padding-block: 13px;
}
.case-architecture .operations-map figcaption {
  text-align: right;
  padding-top: 17px;
}
.case-architecture .migration-map {
  padding: 32px 43px 21px;
  display: grid;
  grid-template-columns: 0.8fr 1.6fr;
  gap: 0 55px;
  align-items: center;
}
.case-architecture .migration-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  border: 0;
  padding-bottom: 0;
  font-size: 28px;
}
.case-architecture .migration-title .icon {
  width: 34px;
  height: 34px;
}
.case-architecture .server-constellation {
  margin-top: 0;
  gap: 35px;
  grid-column: 2;
  grid-row: 1/3;
}
.case-architecture .server-unit-body {
  padding: 20px 15px 13px;
}
.case-architecture .server-unit-body > i {
  height: 19px;
  margin-bottom: 9px;
}
.case-architecture .server-unit-body > i:after {
  top: 8px;
}
.case-architecture .server-label {
  font-size: 14px;
}
.case-architecture .server-unit > span:last-child {
  font-size: 14px;
}
.case-architecture .ceph-backbone {
  grid-column: 2;
  padding-top: 21px;
}
.case-architecture .ceph-backbone strong {
  font-size: 19px;
}
.case-architecture .ceph-backbone > span {
  font-size: 14px;
  max-width: none;
}
.case-architecture .migration-map figcaption {
  grid-column: 1/-1;
  text-align: right;
}
.case-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid #cbd6e5;
  padding-block: 34px;
  margin-bottom: 0;
}
.case-facts > div {
  padding-left: 36px;
  border-left: 1px solid #cbd6e5;
}
.case-facts > div:first-child {
  padding-left: 0;
  border: 0;
}
.case-facts strong {
  display: block;
  font-size: 43px;
  line-height: 1.15;
  letter-spacing: -0.04em;
  font-weight: 500;
}
.case-facts span {
  display: block;
  font-size: 14px;
  color: #5b718c;
  margin-top: 10px;
}
.case-report {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 85px;
  padding-block: 60px 80px;
}
.report-index {
  position: sticky;
  top: 30px;
  align-self: start;
  display: grid;
  gap: 0;
}
.report-index a {
  display: flex;
  gap: 15px;
  align-items: center;
  font-size: 14px;
  color: #5b718d;
  border-bottom: 1px solid #dce4ee;
  padding: 17px 0;
}
.report-index a > span {
  font-size: 14px;
  color: #7d8fa6;
}
.report-index a:last-child {
  border: 0;
  color: var(--blue);
  margin-top: 17px;
}
.report-index .icon {
  width: 16px;
  height: 16px;
}
.report-index a:hover {
  color: var(--blue);
}
.report-chapter {
  padding-bottom: 54px;
  margin-bottom: 42px;
  border-bottom: 1px solid #d8e1ed;
}
.report-chapter > span {
  font-size: 14px;
  color: #657b98;
}
.report-chapter h2 {
  font-size: 39px;
  line-height: 1.3;
  margin-top: 17px;
  margin-bottom: 26px;
}
.report-chapter > p {
  font-size: 16px;
  line-height: 1.95;
  color: #556d89;
  max-width: 68ch;
}
.report-capabilities {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px 25px;
  margin-top: 25px;
}
.report-capabilities span {
  display: flex;
  gap: 9px;
  align-items: center;
  font-size: 14px;
}
.report-capabilities .icon {
  width: 15px;
  height: 15px;
  color: var(--blue);
}
.project-context {
  padding: 27px 30px;
  background: #f0f4fa;
  border-radius: 5px;
}
.project-context h3 {
  font-size: 23px;
  line-height: 1.4;
  margin-bottom: 17px;
}
.project-context p {
  font-size: 14px;
  color: #506985;
  line-height: 1.9;
}
.project-context > div {
  margin-bottom: 20px;
}
.project-context > div > span {
  font-size: 14px;
  letter-spacing: 0.04em;
  color: #5c7152;
  display: block;
  margin-bottom: 17px;
}
.project-context strong {
  font-size: 42px;
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.2;
}
.project-context strong > span {
  font-size: 17px;
  letter-spacing: 0;
}
.case-infra .project-context {
  background: #e5efda;
}
.case-infra .project-context p {
  color: #4c6542;
}
.next-project {
  border-top: 1px solid #cbd6e5;
  padding-block: 35px 65px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
}
.next-project > div > span {
  display: block;
  font-size: 14px;
  color: #61748f;
  margin-bottom: 11px;
}
.next-project > div > a {
  display: flex;
  align-items: center;
  gap: 25px;
  font-size: 27px;
  color: var(--blue);
  line-height: 1.4;
}
.next-project .button {
  font-size: 14px;
  flex-shrink: 0;
}
/* Privacy and contact retain their purpose, with a new reading treatment. */
.privacy-title {
  padding-block: 62px 55px;
  border-bottom: 1px solid #cbd6e5;
}
.privacy-title > span {
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #5f748f;
}
.privacy-title h1 {
  font-size: 66px;
  line-height: 1.15;
  margin-top: 29px;
  color: var(--night);
}
.privacy-title > p {
  font-size: 17px;
  color: var(--blue);
  margin-top: 25px;
}
.privacy-layout {
  display: grid;
  grid-template-columns: 310px 1fr;
  gap: 90px;
  padding-block: 55px 100px;
}
.privacy-layout > aside {
  align-self: start;
  position: sticky;
  top: 35px;
  background: #e9f0de;
  border-radius: 5px;
  padding: 27px;
}
.privacy-layout > aside > strong {
  font-size: 24px;
  font-weight: 500;
}
.privacy-layout > aside > p {
  font-size: 14px;
  color: #50664d;
  line-height: 1.9;
  margin-top: 15px;
}
.privacy-layout > aside > a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  margin-top: 25px;
}
.privacy-layout > aside .icon {
  width: 16px;
  height: 16px;
}
.privacy-layout article > section {
  display: grid;
  grid-template-columns: 35px 1fr;
  gap: 25px;
  padding-bottom: 36px;
  margin-bottom: 32px;
  border-bottom: 1px solid #dce4ef;
}
.privacy-layout article > section > span {
  font-size: 14px;
  color: #6c809a;
  padding-top: 7px;
}
.privacy-layout h2 {
  font-size: 29px;
  margin-bottom: 18px;
  line-height: 1.4;
}
.privacy-layout article p {
  font-size: 15px;
  color: #556e8c;
  line-height: 1.95;
}
.contact-section {
  background: #edf1f7;
  border-top: 1px solid #dbe3ee;
}
.contact-form-wrap {
  border-radius: 6px;
}
.contact-copy h2 {
  color: var(--night);
}
.contact-copy > p,
.email-block > span {
  color: #59718c;
}
.contact-symbol .icon {
  stroke-width: 1;
  color: var(--blue);
}
.site-footer {
  background: #fff;
}
.draft-marker {
  border-color: #cbd6e5;
}
@media (max-width: 1180px) {
  .home-v2 .hero-heading,
  html[lang="en-GB"] .home-v2 .hero-heading {
    gap: 42px;
    grid-template-columns: 1.2fr 1fr;
  }
  .home-v2 .hero h1,
  html[lang="en-GB"] .home-v2 .hero h1 {
    font-size: 62px;
  }
  .integration-map {
    padding-inline: 27px;
  }
  .map-flow {
    grid-template-columns: 222px 1fr 263px;
    gap: 35px;
    min-height: 337px;
  }
  .map-node {
    padding: 12px 11px;
    gap: 10px;
  }
  .map-node strong {
    font-size: 17px;
  }
  .map-node small {
    font-size: 14px;
  }
  .map-node .node-symbol {
    width: 30px;
    height: 30px;
  }
  .core-disc {
    width: 167px;
    height: 167px;
  }
  .core-disc > span {
    font-size: 67px;
  }
  .core-disc > strong {
    font-size: 14px;
  }
  .core-orbit {
    width: 230px;
    height: 230px;
    top: 12px;
  }
  .map-core {
    height: 262px;
  }
  .map-output-title {
    font-size: 19px;
  }
  .map-output p {
    font-size: 14px;
  }
  .map-outputs {
    gap: 21px;
  }
  .map-output {
    gap: 12px;
  }
  .output-symbol {
    width: 34px;
    height: 34px;
  }
  .map-example {
    grid-template-columns: 90px 1fr;
    gap: 18px;
  }
  .map-example > span:last-child {
    display: none;
  }
  .solution-shortcuts strong {
    font-size: 16px;
  }
  .platform-title {
    gap: 45px;
    grid-template-columns: 1.2fr 1fr;
  }
  .platform-title h1 {
    font-size: 61px;
  }
  .canvas-layout {
    grid-template-columns: 1.8fr 1fr;
  }
  .canvas-assistant {
    padding: 29px 23px;
  }
  .canvas-assistant h2 {
    font-size: 25px;
  }
  .canvas-assistant > p {
    font-size: 14px;
  }
  .platform-canvas .dash-main {
    padding: 24px 20px 14px;
  }
  .platform-canvas .dash-heading h3 {
    font-size: 25px;
  }
  .platform-canvas .calendar-label {
    width: 82px;
  }
  .platform-canvas .calendar-times {
    grid-template-columns: 82px repeat(4, 1fr);
  }
  .platform-canvas .calendar-event {
    font-size: 14px;
  }
  .chapter-title {
    gap: 35px;
  }
  .capability-rows article {
    gap: 25px;
  }
  .capability-rows h3 {
    font-size: 24px;
  }
  .assistance-layout {
    gap: 55px;
  }
  .studio-grid {
    gap: 50px;
  }
  .studio-copy h1 {
    font-size: 57px;
  }
  .studio-demo .voice-console {
    padding-inline: 23px;
  }
  .project-tiles {
    gap: 28px;
  }
  .compact.operations-map,
  .compact.migration-map {
    padding-inline: 24px;
  }
  .compact .ops-lane > span:first-child {
    font-size: 17px;
  }
  .index-intro {
    gap: 40px;
  }
  .index-intro h1 {
    font-size: 65px;
  }
  .index-word {
    font-size: 83px;
  }
  .project-row {
    gap: 40px;
    grid-template-columns: 1.1fr 1fr;
  }
  .project-row-copy h2 {
    font-size: 29px;
  }
  .project-row .operations-map,
  .project-row .migration-map {
    padding-inline: 28px;
  }
  .ops-lane > span:first-child {
    font-size: 18px;
  }
  .project-principle {
    grid-template-columns: 45px 1fr 0.8fr;
    gap: 25px;
  }
  .project-principle h2 {
    font-size: 34px;
  }
  .case-cover h1 {
    font-size: 66px;
  }
  .case-introduction {
    gap: 50px;
  }
  .case-report {
    grid-template-columns: 220px 1fr;
    gap: 65px;
  }
  .case-architecture .ops-lane {
    padding: 20px;
  }
  .case-architecture .ops-lane > span:first-child {
    font-size: 21px;
  }
  .privacy-layout {
    grid-template-columns: 270px 1fr;
    gap: 55px;
  }
  .questions-chapter {
    gap: 50px;
  }
  .fit-chapter {
    gap: 50px;
  }
}
@media (max-width: 960px) {
  .site-header {
    height: 80px;
  }
  .header-inner {
    gap: 21px;
  }
  .home-v2 .hero h1,
  html[lang="en-GB"] .home-v2 .hero h1 {
    font-size: 51px;
  }
  .home-v2 .hero-intro p:first-child {
    font-size: 14px;
  }
  .home-v2 .hero-heading {
    padding-bottom: 32px;
  }
  .integration-map {
    padding-inline: 23px;
  }
  .map-topline {
    font-size: 14px;
  }
  .map-flow {
    grid-template-columns: 195px 1fr 213px;
    gap: 20px;
  }
  .map-node strong {
    font-size: 16px;
  }
  .map-node small {
    font-size: 14px;
  }
  .map-node .node-symbol {
    width: 27px;
    height: 27px;
  }
  .map-node .icon {
    width: 16px;
    height: 16px;
  }
  .map-output {
    gap: 9px;
  }
  .map-output-title {
    font-size: 17px;
  }
  .map-output p {
    font-size: 14px;
  }
  .output-symbol {
    width: 29px;
    height: 29px;
  }
  .output-symbol .icon {
    width: 15px;
    height: 15px;
  }
  .core-disc {
    width: 135px;
    height: 135px;
  }
  .core-disc > span {
    font-size: 56px;
    margin-bottom: 9px;
  }
  .core-disc > strong {
    font-size: 14px;
  }
  .core-orbit {
    width: 183px;
    height: 183px;
    top: 27px;
  }
  .map-core {
    height: 246px;
  }
  .map-core > p {
    font-size: 14px;
    bottom: 15px;
  }
  .map-example > p {
    font-size: 14px;
    gap: 8px;
  }
  .map-example strong {
    font-size: 14px;
  }
  .map-example {
    grid-template-columns: 77px 1fr;
    gap: 13px;
  }
  .map-example > span {
    font-size: 14px;
  }
  .solution-shortcuts strong {
    font-size: 14px;
  }
  .solution-shortcuts small {
    font-size: 14px;
  }
  .solution-shortcuts > a:last-child {
    padding-left: 21px;
  }
  .solution-shortcuts > a {
    gap: 11px;
  }
  .shortcut-symbol {
    width: 34px;
    height: 34px;
  }
  .shortcut-symbol .icon {
    width: 20px;
    height: 20px;
  }
  .platform-title {
    gap: 30px;
  }
  .platform-title h1 {
    font-size: 51px;
  }
  .platform-title > div > p:first-child {
    font-size: 14px;
  }
  .platform-canvas {
    padding: 0 13px 13px;
  }
  .canvas-layout {
    grid-template-columns: 1.55fr 1fr;
  }
  .canvas-assistant {
    padding: 25px 20px;
  }
  .canvas-assistant h2 {
    font-size: 23px;
  }
  .canvas-assistant > p {
    font-size: 14px;
  }
  .canvas-ai-mark {
    margin-bottom: 23px;
    font-size: 21px;
  }
  .canvas-assistant ul {
    margin-top: 25px;
    gap: 14px;
  }
  .canvas-assistant li {
    font-size: 14px;
  }
  .platform-canvas .dash-layout {
    grid-template-columns: 38px 1fr;
  }
  .platform-canvas .dash-main {
    padding: 20px 14px 12px;
  }
  .platform-canvas .dash-heading h3 {
    font-size: 21px;
  }
  .platform-canvas .dash-heading p {
    font-size: 14px;
  }
  .platform-canvas .calendar-label {
    font-size: 14px;
    width: 67px;
  }
  .platform-canvas .calendar-times {
    font-size: 14px;
    grid-template-columns: 67px repeat(4, 1fr);
  }
  .platform-canvas .calendar-event {
    font-size: 14px;
    padding: 7px;
  }
  .platform-canvas .demo-tabs button {
    font-size: 14px;
    padding: 6px 7px;
  }
  .platform-canvas .dash-hint {
    font-size: 14px;
  }
  .platform-canvas .dash-top {
    padding: 14px;
  }
  .canvas-top {
    font-size: 14px;
  }
  .canvas-top > span:last-child {
    font-size: 14px;
  }
  .journey-steps li {
    padding-right: 18px;
  }
  .journey-steps li + li {
    padding-left: 18px;
  }
  .journey-steps h3 {
    font-size: 21px;
  }
  .journey-steps p {
    font-size: 14px;
  }
  .chapter-title h2 {
    font-size: 38px;
  }
  .chapter-title > span {
    font-size: 14px;
  }
  .capability-rows article {
    grid-template-columns: 38px 1fr 1.2fr;
    gap: 20px;
  }
  .capability-rows h3 {
    font-size: 23px;
  }
  .capability-rows p {
    font-size: 14px;
  }
  .assistance-layout {
    gap: 33px;
  }
  .assistance-layout h2 {
    font-size: 38px;
  }
  .assistance-layout > div > p:not(.product-boundary) {
    font-size: 14px;
  }
  .ai-note {
    padding: 25px 21px;
  }
  .ai-note h3 {
    font-size: 25px;
  }
  .ai-note li {
    font-size: 14px;
  }
  .fit-chapter h2 {
    font-size: 36px;
  }
  .fit-chapter p {
    font-size: 14px;
  }
  .questions-chapter h2 {
    font-size: 35px;
  }
  .studio-copy h1 {
    font-size: 49px;
  }
  .studio-copy > p:not(.studio-status) {
    font-size: 14px;
  }
  .studio-grid {
    gap: 35px;
  }
  .studio-demo .voice-console {
    padding: 20px 18px 0;
  }
  .studio-demo .voice-console-top {
    font-size: 14px;
  }
  .studio-demo .speech p {
    font-size: 14px;
  }
  .studio-demo .voice-panel {
    min-height: 190px;
  }
  .studio-languages {
    margin-top: 26px;
  }
  .studio-bottom > span {
    font-size: 14px;
    gap: 8px;
  }
  .related-strip a {
    font-size: 19px;
  }
  .operations-map,
  .migration-map {
    padding: 27px 23px 19px;
  }
  .ops-heading {
    font-size: 14px;
  }
  .ops-lane {
    gap: 14px;
  }
  .ops-lane > span:first-child {
    font-size: 16px;
    gap: 10px;
  }
  .ops-lane .icon {
    width: 17px;
    height: 17px;
  }
  .ops-target {
    font-size: 14px;
    padding: 5px 7px;
  }
  .ops-backbone {
    gap: 7px;
  }
  .ops-backbone > span {
    font-size: 14px;
    padding: 9px 7px;
  }
  .migration-title {
    font-size: 14px;
    gap: 8px;
  }
  .server-constellation {
    gap: 15px;
  }
  .server-unit-body {
    padding: 13px 9px 8px;
  }
  .server-unit-body > i {
    height: 13px;
    margin-bottom: 6px;
  }
  .server-unit-body > i:after {
    height: 2px;
    top: 6px;
    right: 5px;
    width: 8px;
  }
  .ceph-backbone > span {
    font-size: 14px;
    max-width: 145px;
  }
  .ceph-backbone strong {
    font-size: 15px;
  }
  .compact .ops-lane > span:first-child {
    font-size: 15px;
  }
  .compact.operations-map,
  .compact.migration-map {
    padding: 23px 22px 17px;
  }
  .compact .ops-lane {
    padding-block: 17px;
  }
  .compact .ops-heading {
    font-size: 14px;
  }
  .compact .migration-title {
    font-size: 14px;
  }
  .project-tile h3 {
    font-size: 23px;
  }
  .project-tile p {
    font-size: 14px;
  }
  .tile-label {
    font-size: 14px;
  }
  .index-intro h1 {
    font-size: 54px;
  }
  .index-intro p {
    font-size: 15px;
  }
  .index-word {
    font-size: 65px;
    margin-right: 0;
  }
  .index-word span {
    font-size: 65px;
  }
  .project-row {
    gap: 27px;
  }
  .project-row-copy h2 {
    font-size: 27px;
  }
  .project-row-copy > p {
    font-size: 14px;
  }
  .project-category {
    font-size: 14px;
  }
  .project-mini-facts {
    margin-block: 22px;
    gap: 30px;
  }
  .project-mini-facts strong {
    font-size: 27px;
  }
  .project-row .operations-map,
  .project-row .migration-map {
    padding-inline: 22px;
  }
  .project-principle {
    grid-template-columns: 35px 1fr 1fr;
    gap: 25px;
  }
  .project-principle h2 {
    font-size: 30px;
  }
  .project-principle p {
    font-size: 14px;
  }
  .case-cover h1 {
    font-size: 57px;
  }
  .case-introduction h2 {
    font-size: 18px;
  }
  .case-introduction p {
    font-size: 14px;
  }
  .case-architecture .operations-map {
    padding-inline: 30px;
  }
  .case-architecture .ops-routing {
    gap: 13px;
  }
  .case-architecture .ops-lane {
    padding: 16px;
  }
  .case-architecture .ops-lane > span:first-child {
    font-size: 17px;
  }
  .case-architecture .ops-backbone > span {
    font-size: 14px;
  }
  .case-architecture .migration-map {
    padding: 28px 30px 20px;
    gap: 0 25px;
  }
  .case-architecture .migration-title {
    font-size: 24px;
  }
  .case-architecture .server-constellation {
    gap: 22px;
  }
  .case-architecture .server-unit-body {
    padding: 16px 11px 10px;
  }
  .case-architecture .ceph-backbone > span {
    font-size: 14px;
  }
  .case-facts strong {
    font-size: 37px;
  }
  .case-facts span {
    font-size: 14px;
  }
  .case-report {
    grid-template-columns: 180px 1fr;
    gap: 45px;
  }
  .report-chapter h2 {
    font-size: 34px;
  }
  .report-chapter > p {
    font-size: 15px;
  }
  .report-index a {
    font-size: 14px;
    gap: 10px;
  }
  .project-context strong {
    font-size: 35px;
  }
  .project-context h3 {
    font-size: 20px;
  }
  .next-project > div > a {
    font-size: 23px;
  }
  .privacy-title h1 {
    font-size: 57px;
  }
  .privacy-layout {
    grid-template-columns: 230px 1fr;
    gap: 40px;
  }
  .privacy-layout > aside {
    padding: 23px;
  }
  .privacy-layout > aside > a {
    font-size: 14px;
    gap: 7px;
  }
  .privacy-layout h2 {
    font-size: 26px;
  }
  .privacy-layout article > section {
    gap: 16px;
    grid-template-columns: 25px 1fr;
  }
  .privacy-layout article p {
    font-size: 14px;
  }
}
@media (max-width: 760px) {
  .site-header {
    height: 76px;
  }
  .header-inner {
    gap: 0;
  }
  .home-v2 .hero {
    padding-top: 38px;
  }
  .home-v2 .hero-heading,
  html[lang="en-GB"] .home-v2 .hero-heading {
    display: block;
    padding-bottom: 30px;
  }
  .home-v2 .hero h1,
  html[lang="en-GB"] .home-v2 .hero h1 {
    font-size: clamp(37px, 8.2vw, 56px);
    white-space: normal;
    line-height: 1.15;
  }
  .home-v2 .hero-intro {
    margin-top: 22px;
  }
  .home-v2 .hero-intro p:first-child {
    font-size: 15px;
    margin-bottom: 20px;
  }
  .integration-map {
    padding: 20px 20px 0;
    border-radius: 8px;
  }
  .map-topline {
    font-size: 14px;
    line-height: 1.7;
    align-items: flex-start;
    gap: 15px;
    padding-bottom: 16px;
  }
  .map-topline > span:first-child {
    align-items: flex-start;
    gap: 8px;
  }
  .map-topline .icon {
    margin-top: 2px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
  }
  .map-concept {
    display: none;
  }
  .map-flow {
    display: flex;
    flex-direction: column;
    padding: 22px 0 23px;
    gap: 0;
  }
  .map-lines {
    display: none;
  }
  .map-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
  }
  .map-node {
    padding: 12px 11px;
    gap: 10px;
    border-radius: 5px;
    min-height: 76px;
  }
  .map-node strong {
    font-size: 17px;
  }
  .map-node small {
    font-size: 14px;
    max-width: 150px;
    line-height: 1.65;
  }
  .map-node .node-symbol {
    width: 29px;
    height: 29px;
  }
  .node-port {
    display: none;
  }
  .map-core {
    height: 245px;
    margin-block: 23px 12px;
    width: 100%;
  }
  .core-disc {
    width: 172px;
    height: 172px;
    margin-top: -17px;
  }
  .core-disc > span {
    font-size: 66px;
    margin-bottom: 10px;
  }
  .core-disc > strong {
    font-size: 14px;
  }
  .core-orbit {
    width: 224px;
    height: 224px;
    top: 0;
  }
  .map-core > p {
    font-size: 14px;
    bottom: 0;
  }
  .map-core:before {
    content: "";
    width: 1px;
    height: 22px;
    background: #7890b0;
    position: absolute;
    left: 50%;
    top: -23px;
  }
  .map-outputs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    width: 100%;
    border-top: 1px solid #415878;
    padding-top: 22px;
    margin-top: 11px;
  }
  .map-output {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 11px;
    background: transparent;
    padding: 0;
  }
  .output-symbol {
    width: 34px;
    height: 34px;
  }
  .output-symbol .icon {
    width: 17px;
    height: 17px;
  }
  .map-output-title {
    font-size: 16px;
    line-height: 1.35;
    margin-bottom: 8px;
  }
  .map-output p {
    font-size: 14px;
    line-height: 1.8;
    max-width: 155px;
  }
  .map-example {
    display: block;
    min-height: 125px;
    padding: 17px 0 20px;
  }
  .map-example > span {
    display: block;
    font-size: 14px;
    margin-bottom: 10px;
  }
  .map-example > p {
    font-size: 14px;
    gap: 8px;
    align-items: flex-start;
    line-height: 1.9;
  }
  .map-example > p > strong {
    font-size: 14px;
    margin-top: 0;
  }
  .example-arrow .icon {
    width: 14px;
    height: 14px;
    margin-top: 3px;
  }
  .map-example > span:last-child {
    display: none;
  }
  .solution-shortcuts {
    grid-template-columns: 1fr;
    margin-top: 10px;
  }
  .solution-shortcuts > a {
    padding: 20px 0;
    gap: 14px;
  }
  .solution-shortcuts > a:last-child {
    padding: 20px 0;
    border-left: 0;
    border-top: 1px solid #dbe2ed;
  }
  .solution-shortcuts small {
    font-size: 14px;
    margin-bottom: 6px;
  }
  .solution-shortcuts strong {
    font-size: 16px;
  }
  .shortcut-symbol {
    width: 37px;
    height: 37px;
  }
  .home-v2 .audience-band {
    padding-block: 26px;
  }
  .home-v2 .solutions-intro {
    padding-top: 48px;
  }
  .dashboard-figure {
    padding: 20px 14px 13px;
  }
  .dash-heading h3 {
    font-size: 21px;
  }
  .demo-tabs {
    gap: 3px;
    margin-top: 18px;
    padding: 3px;
  }
  .demo-tabs button {
    padding: 6px 7px;
    font-size: 14px;
    min-height: 34px;
  }
  .calendar-event {
    font-size: 14px;
  }
  .voice-console {
    padding: 21px 23px 0;
  }
  .voice-console-top {
    font-size: 14px;
    padding-bottom: 16px;
  }
  .voice-languages {
    padding-top: 25px;
    margin-bottom: 8px;
    gap: 5px;
    min-height: 65px;
  }
  .voice-languages button {
    font-size: 14px;
    padding: 6px 8px;
    min-height: 32px;
  }
  .voice-orb {
    width: 43px;
    height: 43px;
    margin: 21px 11px 10px 0;
    border-radius: 9px;
  }
  .voice-orb .icon {
    width: 22px;
    height: 22px;
  }
  .wave {
    gap: 4px;
    height: 68px;
    padding: 10px 0;
    margin-top: 14px;
    margin-bottom: 23px;
  }
  .voice-panel {
    min-height: 180px;
  }
  .speech {
    padding-left: 19px;
    margin-bottom: 20px;
  }
  .speech p {
    font-size: 14px;
  }
  .voice-bottom {
    font-size: 14px;
  }
  .detail-crumb {
    padding-block: 21px;
    font-size: 14px;
    line-height: 1.6;
    gap: 8px;
    flex-wrap: wrap;
  }
  .platform-intro {
    padding-top: 18px;
    padding-bottom: 45px;
  }
  .product-name {
    font-size: 14px;
    line-height: 1.65;
    gap: 9px;
  }
  .platform-title {
    display: block;
    margin-top: 23px;
    margin-bottom: 31px;
  }
  .platform-title h1 {
    font-size: 44px;
    line-height: 1.18;
  }
  .platform-title > div {
    margin-top: 24px;
  }
  .platform-title > div > p:first-child {
    font-size: 15px;
    line-height: 1.85;
    margin-bottom: 21px;
  }
  .platform-canvas {
    padding: 0 10px 10px;
    border-radius: 7px;
  }
  .canvas-top {
    font-size: 14px;
    line-height: 1.7;
    padding: 14px 3px;
    gap: 14px;
  }
  .canvas-top > span:last-child {
    white-space: nowrap;
    font-size: 14px;
  }
  .canvas-layout {
    grid-template-columns: 1fr;
    border-radius: 4px;
  }
  .platform-canvas .dash-layout {
    grid-template-columns: 35px 1fr;
  }
  .platform-canvas .dash-main {
    padding: 19px 13px 11px;
  }
  .platform-canvas .dash-top {
    font-size: 14px;
    padding: 13px 14px;
  }
  .platform-canvas .dash-heading h3 {
    font-size: 23px;
  }
  .platform-canvas .dash-heading p {
    font-size: 14px;
  }
  .platform-canvas .calendar-label {
    font-size: 14px;
    width: 58px;
  }
  .platform-canvas .calendar-times {
    font-size: 14px;
    grid-template-columns: 58px repeat(4, 1fr);
  }
  .platform-canvas .calendar-event {
    font-size: 14px;
    padding: 6px;
  }
  .platform-canvas .calendar-row {
    min-height: 52px;
  }
  .platform-canvas .demo-tabs button {
    font-size: 14px;
    padding: 6px;
  }
  .platform-canvas .dash-hint {
    font-size: 14px;
  }
  .platform-canvas .dash-panel {
    min-height: 259px;
  }
  .platform-canvas .task-row strong,
  .platform-canvas .billing-row strong {
    font-size: 14px;
  }
  .platform-canvas .task-row small,
  .platform-canvas .billing-row small {
    font-size: 14px;
  }
  .platform-canvas .task-status,
  .platform-canvas .billing-row > span {
    font-size: 14px;
  }
  .canvas-assistant {
    padding: 25px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .canvas-ai-mark {
    font-size: 20px;
    justify-self: start;
    margin-bottom: 18px;
  }
  .canvas-assistant h2 {
    font-size: 26px;
    line-height: 1.4;
    margin-bottom: 15px;
  }
  .canvas-assistant > p {
    font-size: 14px;
    line-height: 1.8;
  }
  .canvas-assistant ul {
    margin-top: 20px;
    gap: 13px;
  }
  .canvas-assistant li {
    font-size: 14px;
  }
  .canvas-assistant small {
    padding-top: 21px;
    font-size: 14px;
  }
  .page-rail > .wrap {
    gap: 21px;
    flex-wrap: wrap;
    min-height: 0;
    padding-block: 13px;
    justify-content: flex-start;
  }
  .page-rail a {
    font-size: 14px;
    padding: 4px 0;
  }
  .page-rail a:last-child {
    margin-left: 0;
  }
  .page-rail .icon {
    width: 13px;
    height: 13px;
  }
  .journey-steps {
    grid-template-columns: 1fr 1fr;
    gap: 29px 24px;
    border-top: 0;
  }
  .journey-steps li {
    padding: 22px 0 0;
    border-top: 1px solid #bdcbdc;
  }
  .journey-steps li + li {
    padding-left: 0;
    border-left: 0;
  }
  .journey-top {
    margin-bottom: 22px;
  }
  .journey-top .icon {
    width: 21px;
    height: 21px;
  }
  .journey-top span {
    font-size: 14px;
  }
  .journey-steps h3 {
    font-size: 21px;
    line-height: 1.4;
    margin-bottom: 13px;
  }
  .journey-steps p {
    font-size: 14px;
    line-height: 1.85;
  }
  .capability-chapter {
    padding-block: 57px;
  }
  .chapter-title {
    display: block;
    margin-bottom: 30px;
  }
  .chapter-title > span {
    display: block;
    max-width: none;
    font-size: 14px;
    margin-bottom: 18px;
  }
  .chapter-title h2 {
    font-size: 33px;
    line-height: 1.3;
  }
  .capability-rows article {
    grid-template-columns: 30px 1fr;
    gap: 0 18px;
    padding-block: 26px;
  }
  .capability-symbol {
    grid-row: 1/3;
    padding-top: 1px;
  }
  .capability-symbol .icon {
    width: 25px;
    height: 25px;
  }
  .capability-rows h3 {
    font-size: 23px;
    line-height: 1.45;
  }
  .capability-rows p {
    grid-column: 2;
    font-size: 14px;
    margin-top: 16px;
    line-height: 1.85;
  }
  .assistance-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .ai-inline-mark {
    font-size: 14px;
    margin-bottom: 23px;
  }
  .assistance-layout h2 {
    font-size: 36px;
    line-height: 1.3;
  }
  .assistance-layout > div > p:not(.product-boundary) {
    font-size: 15px;
    line-height: 1.9;
  }
  .assistance-layout .product-boundary {
    font-size: 14px;
  }
  .ai-note {
    padding: 26px 23px;
  }
  .ai-note h3 {
    font-size: 26px;
  }
  .ai-note li {
    font-size: 14px;
  }
  .ai-figure figcaption {
    font-size: 14px;
  }
  .fit-chapter {
    padding-block: 60px;
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .fit-chapter h2 {
    font-size: 35px;
    line-height: 1.35;
  }
  .fit-chapter p {
    font-size: 15px;
  }
  .questions-chapter {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .questions-chapter h2 {
    font-size: 35px;
  }
  .questions-chapter > div > p {
    font-size: 14px;
    margin-top: 16px;
  }
  .related-strip {
    padding-block: 29px;
  }
  .related-strip > .wrap {
    display: block;
  }
  .related-strip span {
    display: block;
    font-size: 14px;
    margin-bottom: 13px;
  }
  .related-strip a {
    font-size: 22px;
    line-height: 1.4;
    gap: 20px;
    justify-content: space-between;
  }
  .related-strip .icon {
    width: 20px;
    height: 20px;
  }
  .voice-studio {
    padding-top: 39px;
  }
  .studio-grid {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-bottom: 31px;
  }
  .studio-copy .product-name {
    font-size: 14px;
    margin-bottom: 23px;
  }
  .studio-copy h1 {
    font-size: 44px;
    line-height: 1.2;
  }
  .studio-copy > p:not(.studio-status) {
    font-size: 15px;
    margin: 23px 0;
    line-height: 1.85;
  }
  .studio-status {
    font-size: 14px;
    margin-top: 15px;
  }
  .studio-languages {
    font-size: 14px;
    margin-top: 24px;
  }
  .studio-demo .voice-console {
    padding: 23px 22px 0;
  }
  .studio-demo .voice-console-top {
    font-size: 14px;
  }
  .studio-demo .speech p {
    font-size: 14px;
  }
  .studio-demo .speech small {
    font-size: 14px;
  }
  .studio-demo .voice-panel {
    min-height: 188px;
  }
  .studio-bottom {
    grid-template-columns: 1fr;
    gap: 15px;
    padding-block: 24px;
  }
  .studio-bottom > span {
    font-size: 14px;
    gap: 12px;
  }
  .studio-bottom .icon {
    width: 18px;
    height: 18px;
  }
  .project-tiles {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .project-tile h3 {
    font-size: 25px;
    margin-top: 11px;
  }
  .project-tile p {
    font-size: 14px;
    margin-top: 13px;
  }
  .tile-label {
    font-size: 14px;
    margin-top: 21px;
  }
  .compact.operations-map,
  .compact.migration-map {
    padding: 27px 26px 19px;
  }
  .compact .ops-heading {
    font-size: 14px;
  }
  .compact .ops-lane {
    padding-block: 19px;
  }
  .compact .ops-lane > span:first-child {
    font-size: 17px;
  }
  .compact .migration-title {
    font-size: 15px;
    gap: 8px;
  }
  .compact .server-constellation {
    gap: 18px;
    margin-top: 23px;
  }
  .compact .server-unit-body > i {
    height: 17px;
  }
  .compact .server-unit-body {
    padding: 14px 11px 10px;
  }
  .compact figcaption {
    font-size: 14px;
    padding-top: 19px;
  }
  .compact .ceph-backbone strong {
    font-size: 16px;
  }
  .compact .ceph-backbone > span {
    font-size: 14px;
  }
  .index-intro {
    padding-block: 41px 39px;
    display: block;
  }
  .index-intro h1 {
    font-size: 44px;
    line-height: 1.2;
  }
  .index-intro p {
    font-size: 15px;
    line-height: 1.85;
    margin-top: 24px;
  }
  .index-word {
    display: none;
  }
  .case-filterbar {
    gap: 10px;
    align-items: flex-start;
    padding-bottom: 18px;
  }
  .case-filterbar > div {
    gap: 7px;
  }
  .case-filterbar button {
    padding: 9px 11px;
    font-size: 14px;
  }
  .case-filterbar > span {
    font-size: 14px;
    margin-top: 10px;
  }
  .project-row {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-block: 32px;
  }
  .project-row-copy {
    padding: 0;
  }
  .project-row-copy h2 {
    font-size: 28px;
    margin-top: 14px;
    line-height: 1.4;
  }
  .project-row-copy > p {
    font-size: 15px;
    line-height: 1.85;
    margin-top: 18px;
  }
  .project-category {
    font-size: 14px;
  }
  .project-mini-facts {
    margin-block: 25px;
    gap: 43px;
  }
  .project-mini-facts strong {
    font-size: 31px;
  }
  .project-mini-facts span {
    font-size: 14px;
  }
  .project-row .operations-map,
  .project-row .migration-map {
    padding: 27px 25px 20px;
  }
  .operations-map .ops-heading {
    font-size: 14px;
  }
  .ops-lane > span:first-child {
    font-size: 18px;
  }
  .migration-title {
    font-size: 16px;
  }
  .server-unit-body {
    padding: 15px 11px 10px;
  }
  .server-unit-body > i {
    height: 17px;
  }
  .server-unit-body > i:after {
    top: 7px;
  }
  .ceph-backbone > span {
    font-size: 14px;
    max-width: 180px;
  }
  .project-principle {
    display: grid;
    grid-template-columns: 1fr;
    gap: 21px;
    padding-block: 55px;
  }
  .project-principle > span .icon {
    width: 36px;
    height: 36px;
  }
  .project-principle h2 {
    font-size: 32px;
    line-height: 1.35;
  }
  .project-principle p {
    font-size: 15px;
    line-height: 1.85;
  }
  .case-cover {
    padding-top: 19px;
  }
  .case-cover-top > span:last-child {
    font-size: 14px;
  }
  .case-cover h1 {
    font-size: 44px;
    line-height: 1.2;
    margin-top: 27px;
  }
  .case-introduction {
    grid-template-columns: 1fr;
    gap: 17px;
    margin-top: 26px;
  }
  .case-introduction h2 {
    font-size: 18px;
    line-height: 1.7;
  }
  .case-introduction p {
    font-size: 14px;
    line-height: 1.9;
  }
  .case-architecture {
    margin-top: 30px;
  }
  .case-architecture .operations-map {
    padding: 26px 23px 19px;
  }
  .case-architecture .ops-heading {
    font-size: 14px;
  }
  .case-architecture .ops-routing {
    grid-template-columns: 1fr;
    gap: 10px;
    padding-top: 20px;
  }
  .case-architecture .ops-lane {
    display: flex;
    align-items: center;
    padding: 16px 15px;
    gap: 14px;
  }
  .case-architecture .ops-lane > span:first-child {
    font-size: 16px;
    gap: 9px;
  }
  .case-architecture .ops-lane > i {
    margin: 0;
    min-width: 12px;
  }
  .case-architecture .ops-target {
    font-size: 14px;
  }
  .case-architecture .ops-backbone {
    gap: 8px;
    margin-top: 6px;
  }
  .case-architecture .ops-backbone > span {
    font-size: 14px;
    padding: 10px 6px;
  }
  .case-architecture .operations-map figcaption {
    font-size: 14px;
    text-align: left;
  }
  .case-architecture .migration-map {
    display: block;
    padding: 27px 24px 19px;
  }
  .case-architecture .migration-title {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    font-size: 16px;
    border-bottom: 1px solid #a6bc95;
    padding-bottom: 24px;
  }
  .case-architecture .migration-title .icon {
    width: 21px;
    height: 21px;
  }
  .case-architecture .server-constellation {
    margin-top: 23px;
    gap: 15px;
  }
  .case-architecture .server-label {
    font-size: 14px;
  }
  .case-architecture .server-unit-body {
    padding: 15px 11px 10px;
  }
  .case-architecture .server-unit-body > i {
    height: 17px;
  }
  .case-architecture .server-unit > span:last-child {
    font-size: 14px;
  }
  .case-architecture .ceph-backbone {
    gap: 10px;
  }
  .case-architecture .ceph-backbone strong {
    font-size: 17px;
  }
  .case-architecture .ceph-backbone > span {
    font-size: 14px;
    max-width: 170px;
  }
  .case-architecture .migration-map figcaption {
    text-align: left;
    font-size: 14px;
  }
  .case-facts {
    padding-block: 25px;
    gap: 10px;
  }
  .case-facts > div {
    padding-left: 12px;
  }
  .case-facts strong {
    font-size: 28px;
  }
  .case-facts span {
    font-size: 14px;
    line-height: 1.7;
    max-width: 120px;
    margin-top: 9px;
  }
  .case-report {
    display: block;
    padding-block: 18px 48px;
  }
  .report-index {
    position: static;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    border-bottom: 1px solid #ccd7e5;
    padding-bottom: 7px;
    margin-bottom: 35px;
  }
  .report-index a {
    padding: 12px 0;
    border: 0;
    font-size: 14px;
    gap: 7px;
  }
  .report-index a > span {
    font-size: 14px;
  }
  .report-index a:last-child {
    display: none;
  }
  .report-chapter {
    padding-bottom: 33px;
    margin-bottom: 32px;
  }
  .report-chapter > span {
    font-size: 14px;
  }
  .report-chapter h2 {
    font-size: 32px;
    line-height: 1.35;
    margin-top: 15px;
    margin-bottom: 20px;
  }
  .report-chapter > p {
    font-size: 15px;
    line-height: 1.9;
  }
  .report-capabilities {
    gap: 13px 15px;
  }
  .report-capabilities span {
    font-size: 14px;
    gap: 7px;
  }
  .report-capabilities .icon {
    width: 14px;
    height: 14px;
  }
  .project-context {
    padding: 24px;
  }
  .project-context h3 {
    font-size: 22px;
    line-height: 1.4;
  }
  .project-context p {
    font-size: 14px;
    line-height: 1.85;
  }
  .project-context strong {
    font-size: 36px;
  }
  .project-context strong > span {
    font-size: 15px;
  }
  .project-context > div > span {
    font-size: 14px;
    line-height: 1.7;
  }
  .next-project {
    display: block;
    padding-block: 28px 49px;
  }
  .next-project > div > a {
    font-size: 25px;
    line-height: 1.5;
    gap: 17px;
  }
  .next-project .button {
    margin-top: 26px;
    font-size: 14px;
  }
  .next-project > div > span {
    font-size: 14px;
  }
  .privacy-title {
    padding-block: 39px;
  }
  .privacy-title > span {
    font-size: 14px;
  }
  .privacy-title h1 {
    font-size: 44px;
    margin-top: 24px;
    line-height: 1.2;
  }
  .privacy-title > p {
    font-size: 15px;
    margin-top: 20px;
  }
  .privacy-layout {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-block: 33px 60px;
  }
  .privacy-layout > aside {
    position: static;
    padding: 26px;
  }
  .privacy-layout > aside > strong {
    font-size: 23px;
  }
  .privacy-layout > aside > p {
    font-size: 14px;
  }
  .privacy-layout > aside > a {
    font-size: 14px;
    margin-top: 20px;
  }
  .privacy-layout article > section {
    grid-template-columns: 23px 1fr;
    gap: 13px;
    padding-bottom: 27px;
    margin-bottom: 27px;
  }
  .privacy-layout h2 {
    font-size: 25px;
    margin-bottom: 16px;
  }
  .privacy-layout article p {
    font-size: 14px;
    line-height: 1.9;
  }
}
@media (max-width: 390px) {
  .home-v2 .hero h1,
  html[lang="en-GB"] .home-v2 .hero h1 {
    font-size: 36px;
  }
  .home-v2 .hero-intro p:first-child {
    font-size: 14px;
  }
  .integration-map {
    padding-inline: 16px;
  }
  .map-node {
    padding: 11px 9px;
    gap: 8px;
    min-height: 79px;
  }
  .map-node .node-symbol {
    width: 25px;
    height: 25px;
  }
  .map-node .icon {
    width: 15px;
    height: 15px;
  }
  .map-node strong {
    font-size: 16px;
  }
  .map-node small {
    font-size: 14px;
    line-height: 1.7;
  }
  .map-inputs {
    gap: 8px;
  }
  .map-outputs {
    gap: 10px;
  }
  .map-output-title {
    font-size: 15px;
  }
  .map-output p {
    font-size: 14px;
  }
  .map-example > p {
    font-size: 14px;
  }
  .map-example strong {
    font-size: 14px;
  }
  .map-topline {
    font-size: 14px;
  }
  .solution-shortcuts strong {
    font-size: 14px;
  }
  .solution-shortcuts small {
    font-size: 14px;
  }
  .platform-title h1,
  .studio-copy h1,
  .index-intro h1,
  .case-cover h1,
  .privacy-title h1 {
    font-size: 39px;
  }
  .platform-canvas .dash-layout {
    grid-template-columns: 29px 1fr;
  }
  .platform-canvas .dash-main {
    padding: 18px 9px 11px;
  }
  .platform-canvas .dash-heading h3 {
    font-size: 20px;
  }
  .platform-canvas .calendar-label {
    width: 50px;
    font-size: 14px;
  }
  .platform-canvas .calendar-times {
    grid-template-columns: 50px repeat(4, 1fr);
    font-size: 14px;
  }
  .platform-canvas .calendar-event {
    font-size: 14px;
    padding: 5px;
  }
  .platform-canvas .demo-tabs button {
    font-size: 14px;
    padding: 6px 5px;
  }
  .platform-canvas .dash-top {
    padding-inline: 10px;
    font-size: 14px;
  }
  .platform-canvas .dash-top .demo-chip {
    font-size: 14px;
  }
  .canvas-top {
    font-size: 14px;
  }
  .canvas-top > span:last-child {
    font-size: 14px;
  }
  .canvas-assistant {
    padding: 22px;
  }
  .canvas-assistant h2 {
    font-size: 25px;
  }
  .page-rail > .wrap {
    gap: 15px;
  }
  .page-rail a {
    font-size: 14px;
  }
  .journey-steps {
    gap: 24px 18px;
  }
  .journey-steps h3 {
    font-size: 19px;
  }
  .journey-steps p {
    font-size: 14px;
  }
  .capability-rows h3 {
    font-size: 21px;
  }
  .chapter-title h2 {
    font-size: 31px;
  }
  .assistance-layout h2 {
    font-size: 33px;
  }
  .voice-console,
  .studio-demo .voice-console {
    padding-inline: 17px;
  }
  .voice-console-top,
  .studio-demo .voice-console-top {
    font-size: 14px;
    gap: 5px;
  }
  .voice-languages {
    gap: 4px;
  }
  .voice-languages button {
    font-size: 14px;
    padding: 5px 7px;
  }
  .voice-orb {
    width: 37px;
    height: 37px;
    margin-right: 7px;
  }
  .wave {
    gap: 3px;
  }
  .voice-panel {
    min-height: 190px;
  }
  .compact.operations-map,
  .compact.migration-map,
  .project-row .operations-map,
  .project-row .migration-map {
    padding-inline: 20px;
  }
  .compact .ops-lane > span:first-child,
  .ops-lane > span:first-child {
    font-size: 15px;
  }
  .compact .migration-title,
  .migration-title {
    font-size: 14px;
    gap: 7px;
  }
  .compact .server-constellation {
    gap: 13px;
  }
  .compact .server-unit-body {
    padding: 12px 9px 9px;
  }
  .project-tile h3 {
    font-size: 23px;
  }
  .case-filterbar > div {
    gap: 5px;
  }
  .case-filterbar button {
    font-size: 14px;
    padding: 9px 8px;
  }
  .case-filterbar > span {
    font-size: 14px;
  }
  .case-filterbar {
    gap: 6px;
  }
  .project-row-copy h2 {
    font-size: 26px;
  }
  .case-architecture .operations-map,
  .case-architecture .migration-map {
    padding-inline: 19px;
  }
  .case-architecture .ops-lane {
    padding: 14px 11px;
    gap: 10px;
  }
  .case-architecture .ops-lane > span:first-child {
    font-size: 14px;
    gap: 7px;
  }
  .case-architecture .migration-title {
    font-size: 14px;
  }
  .case-architecture .server-unit-body {
    padding: 13px 9px 9px;
  }
  .case-architecture .server-constellation {
    gap: 12px;
  }
  .case-facts strong {
    font-size: 25px;
  }
  .case-facts span {
    font-size: 14px;
  }
  .report-chapter h2 {
    font-size: 29px;
  }
  .report-capabilities span {
    font-size: 14px;
  }
  .next-project > div > a {
    font-size: 22px;
  }
  .privacy-layout h2 {
    font-size: 23px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .map-node {
    transition: none;
  }
}

@media (max-width: 760px) {
  .ops-lane {
    gap: 10px;
  }
  .ops-lane > span:first-child {
    flex-shrink: 1;
    min-width: 0;
  }
  .ops-lane > span:first-child .icon {
    flex-shrink: 0;
  }
  .ops-lane > i {
    min-width: 12px;
  }
}

.benefit-summary {
  margin-top: 22px;
  padding: 18px 20px;
  background: #eef4e8;
  border-left: 3px solid #6b944b;
  color: #193727;
}
.benefit-summary > span {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
}
.benefit-summary .icon {
  width: 16px;
  height: 16px;
}
.benefit-summary p,
.project-tile .benefit-summary p {
  margin-top: 8px;
  font-size: 14px;
  color: #294837;
  line-height: 1.8;
}
.benefit-comparison {
  padding-top: 85px;
  padding-bottom: 30px;
  scroll-margin-top: 110px;
}
.benefit-heading > span {
  color: #526a84;
  font-size: 14px;
  letter-spacing: 0.08em;
}
.benefit-heading h2 {
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.25;
  margin-top: 18px;
}
.benefit-heading > p {
  color: #5a6f88;
  margin-top: 20px;
  font-size: 15px;
}
.benefit-rows {
  margin-top: 38px;
}
.benefit-row {
  border-top: 1px solid #cbd6e4;
  padding: 25px 0;
}
.benefit-row h3 {
  display: flex;
  gap: 15px;
  align-items: baseline;
  font-size: 20px;
  margin-bottom: 18px;
}
.benefit-row h3 > span {
  font-size: 14px;
  color: #62748c;
  font-weight: 400;
}
.benefit-stages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.benefit-stages > div {
  padding: 23px;
  background: #f3f5f8;
}
.benefit-stages > div:nth-child(2) {
  background: #eaf0ff;
}
.benefit-stages > .benefit-value {
  background: #11233f;
  color: #fff;
}
.benefit-label {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  color: #52647b;
}
.benefit-value .benefit-label {
  color: #d3f7a7;
}
.benefit-label .icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.benefit-stages p {
  font-size: 15px;
  line-height: 1.85;
  margin-top: 16px;
}
.benefit-evidence {
  color: #5a6f88;
  font-size: 14px;
  max-width: 850px;
  line-height: 1.8;
  margin-top: 10px;
}
@media (max-width: 760px) {
  .benefit-comparison {
    padding-top: 50px;
  }
  .benefit-stages {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .benefit-stages > div {
    padding: 18px;
  }
  .benefit-stages p {
    margin-top: 9px;
    font-size: 14px;
  }
}
.email-draft-label {
  display: block;
  margin-top: 24px;
  font-size: 14px;
}
.email-draft-text {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 14px;
  border: 1px solid #b7c7dc;
  border-radius: 4px;
  font: inherit;
  font-size: 14px;
  background: #fff;
  color: #11233f;
  resize: vertical;
}

.cost-teaser {
  margin-top: 18px;
  padding: 20px;
  border: 1px solid #b9cba8;
  background: #f6f9f1;
  color: #193727;
}
.cost-teaser > span {
  display: block;
  font-size: 14px;
  letter-spacing: 0.04em;
}
.cost-teaser > strong {
  display: block;
  font-size: 32px;
  line-height: 1.3;
  margin: 8px 0;
}
.cost-teaser > small {
  display: block;
  font-size: 14px;
  line-height: 1.7;
}
.cost-comparison {
  padding-block: 80px 30px;
  scroll-margin-top: 110px;
}
.cost-heading > span {
  font-size: 14px;
  color: #526a84;
  letter-spacing: 0.06em;
}
.cost-heading h2 {
  font-size: clamp(29px, 3.2vw, 46px);
  line-height: 1.3;
  margin-top: 18px;
}
.cost-heading > p {
  font-size: 15px;
  line-height: 1.8;
  color: #526a84;
  margin-top: 20px;
  max-width: 850px;
}
.cost-hardware {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding: 22px 0;
  margin-top: 20px;
  font-size: 14px;
  border-block: 1px solid #cbd6e4;
}
.cost-hardware .icon {
  width: 18px;
  height: 18px;
  color: #62748c;
}
.cost-hardware strong {
  margin-left: auto;
  font-size: 14px;
  color: #476c35;
}
.cost-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
}
.cost-cards article {
  padding: 28px;
  background: #f1f4f8;
  border-radius: 5px;
}
.cost-cards article:nth-child(2) {
  background: #e8f1dd;
}
.cost-cards article.cost-saving {
  background: #11233f;
  color: #fff;
}
.cost-cards article > span {
  display: block;
  font-size: 14px;
  min-height: 36px;
}
.cost-cards article > strong {
  display: block;
  font-size: clamp(25px, 2.8vw, 40px);
  line-height: 1.3;
  margin: 14px 0 8px;
  letter-spacing: -0.035em;
}
.cost-cards article > small {
  font-size: 14px;
}
.cost-cards article > p {
  font-size: 14px;
  line-height: 1.8;
  margin-top: 24px;
}
.cost-saving > strong,
.cost-saving > small {
  color: #d3f7a7;
}
.cost-bar {
  height: 6px;
  background: #dce3eb;
  margin-top: 22px;
}
.cost-bar i {
  display: block;
  width: 100%;
  height: 100%;
  background: #62748c;
}
.cost-bar.smaller i {
  background: #476c35;
}
.cost-support-note {
  font-size: 14px;
  line-height: 1.8;
  color: #526a84;
  margin: 20px 0 32px;
  max-width: 950px;
}
.cost-table-scroll {
  overflow-x: auto;
}
.cost-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  min-width: 600px;
}
.cost-table caption {
  text-align: left;
  font-size: 20px;
  font-weight: 600;
  padding-bottom: 20px;
}
.cost-table th,
.cost-table td {
  text-align: left;
  padding: 18px;
  border-bottom: 1px solid #cbd6e4;
  vertical-align: top;
  line-height: 1.8;
}
.cost-table thead {
  background: #11233f;
  color: white;
}
.cost-table th:first-child {
  width: 25%;
}
.cost-table td {
  width: 37.5%;
}
.cost-total {
  background: #e8f1dd;
  font-weight: 600;
}
.cost-notes {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 40px;
  margin-top: 30px;
}
.cost-notes h3 {
  font-size: 17px;
}
.cost-notes p {
  font-size: 14px;
  color: #526a84;
  line-height: 1.9;
  margin-top: 12px;
}
.cost-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-top: 15px;
  font-size: 14px;
}
.cost-source-links a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 760px) {
  .cost-comparison {
    padding-top: 50px;
  }
  .cost-cards,
  .cost-notes {
    grid-template-columns: 1fr;
  }
  .cost-cards article {
    padding: 24px;
  }
  .cost-cards article > span {
    min-height: 0;
  }
  .cost-cards article > strong {
    font-size: 38px;
  }
  .cost-hardware {
    gap: 10px;
    font-size: 14px;
  }
  .cost-hardware strong {
    margin-left: 0;
    flex-basis: 100%;
  }
}

.about-offices { display:flex; align-items:center; gap:10px; font-size: 14px; font-weight:600; color:#254cf4; margin-bottom:24px; }
.about-offices .icon { width:20px; height:20px; flex-shrink:0; }
.about-description + .about-description { margin-top:20px; }
.contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
[data-turnstile] { margin:16px 0; min-height:65px; }
.form-error { margin:14px 0; padding:14px; border:1px solid #b53032; border-radius:4px; color:#892528; background:#fff3f3; font-size: 14px; line-height:1.7; }
.form-reference { overflow-wrap:anywhere; font-size: 14px; margin:18px 0; }
.contact-form button:disabled { opacity:.65; cursor:wait; }
.verification-status { font-size: 14px; line-height:1.7; color:#52647b; margin:12px 0 18px; }

/* A: spacing defects reproduced in screen rendering. */
:root { --space-3: 12px; --space-4: 16px; --space-6: 24px; --space-8: 32px; }
.work-section .section-heading { gap: var(--space-6); }
.footer-main { justify-content: flex-start; gap: var(--space-8); flex-wrap: wrap; }
.footer-main > p { margin: 0; }
.footer-email { margin-left: auto; }
@media (max-width: 700px) { .footer-email { margin-left: 0; } }

/* B: audience-first home and practical routes. */
.role-paths { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:32px; }
.role-paths a { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 16px; border:1px solid #b6c6d9; border-radius:4px; font-size:14px; min-height:44px; }
.home-v2 .hero-heading { grid-template-columns:1.3fr 1fr; gap:40px; }
.home-v2 .hero-heading h1 { font-size:clamp(32px,4vw,60px); line-height:1.2; max-width:20ch; }
.hero-audiences { margin:28px 0; }
.hero-audiences p { font-size:20px; font-weight:600; margin-bottom:12px; }
.hero-audiences ul { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:0; }
.hero-audiences li { font-size:16px; padding:12px; border-left:3px solid var(--blue); background:#f1f5fb; }
.hero-support { max-width:960px; margin-inline:auto; }
.real-scene img { width:100%; border-radius:8px; }
.experience-band { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding-block:64px; border-block:1px solid var(--line); }
.experience-band h2,.management-block h2,.migration-lead h2,.partner-programme h2 { font-size:clamp(28px,3vw,42px); margin:12px 0 24px; }
.eyebrow { font-size:14px; font-weight:600; color:#2449bd; }
.pain-list { padding:0; list-style:none; display:grid; gap:16px; align-content:center; }
.pain-list li { padding:20px; background:#edf3fc; font-size:18px; border-radius:4px; }
.management-block p { max-width:75ch; }
.cta-row { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:24px; }
@media(max-width:760px){.home-v2 .hero-heading,.experience-band{grid-template-columns:1fr;gap:24px}.hero-audiences ul{grid-template-columns:1fr 1fr}.hero-audiences li{font-size:14px}.role-paths{gap:8px;margin-bottom:20px}.role-paths a{flex:1;gap:8px}.home-v2 .hero{padding-top:24px}.hero-audiences{margin:20px 0}.hero-audiences p{font-size:18px}}
/* C: honest text examples; an actual player appears only with a supplied source. */
.voice-languages { clear:both; width:100%; }
.demo-recording { margin-top:20px; }
.demo-recording audio { width:100%; }
.voice-bottom { flex-wrap:wrap; gap:12px; }
/* D: low-commitment contact routes and a persistent mobile entry. */
.partner-programme { background:#f1f5fb; padding:40px; border-radius:8px; margin-block:32px; }
.roadmap { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:24px; }
.roadmap li { padding:12px; font-size:16px; }
.email-fallback { margin-top:24px; padding:20px; border:2px solid #c2d0e7; border-radius:6px; background:#f5f8fd; }
.email-fallback p { font-size:14px; margin-bottom:12px; color:#243d60; }
.email-fallback .button { width:100%; word-break:break-word; }
.extra-contact { display:flex; flex-wrap:wrap; gap:16px; }
.extra-contact:empty { display:none; }
.persistent-contact { position:fixed; bottom:16px; right:16px; z-index:12; display:flex; gap:12px; }
.mobile-contact-link { display:none; }
.whatsapp-link { background:#146b42; color:white; padding:14px 20px; border-radius:30px; }
.voice-studio .demo-cta { color:white; border-color:#b3c5e1; }
@media(max-width:760px){body{padding-bottom:88px}.persistent-contact{left:16px;right:16px;bottom:12px; padding-bottom:env(safe-area-inset-bottom);pointer-events:none}.persistent-contact a{pointer-events:auto}.mobile-contact-link{display:block;padding:14px 24px;background:#2046f5;color:white;border-radius:6px;box-shadow:0 4px 16px #102a5033;margin-left:auto}.draft-marker{bottom:78px}.roadmap{grid-template-columns:1fr;gap:8px}.partner-programme{padding:24px}.cta-row .button{white-space:normal}}
@media print {.persistent-contact {display:none}}
/* E: honest, conditional evidence and legal review pages. */
.legal-page { padding-block:64px; max-width:960px; }
.legal-page h1 { font-size:clamp(36px,5vw,64px); margin-bottom:24px; }
.legal-page section { border-top:1px solid var(--line); padding:28px 0; }
.legal-page h2 { font-size:26px; margin-bottom:16px; }
.legal-review { background:#fff5d9; color:#59400a; padding:20px; margin-bottom:32px; border-left:4px solid #a56c00; }
.team-grid,.client-logos { display:flex; flex-wrap:wrap; gap:24px; margin-block:24px; }
.team-grid img { max-width:160px; }.client-logos img { max-width:160px;max-height:90px;object-fit:contain; }
.company-details { margin-top:24px; font-size:14px; }.company-details:empty{display:none}
.proof-block blockquote { border-left:3px solid #2449bd; padding:24px; margin:20px 0; background:#f2f6fb; }
.trust-details { padding-block:32px; }
/* F: services remain comparable without expanding anything. */
.service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.service-card { padding:32px; border:1px solid #c2d0e2; border-radius:6px; background:white; }
.service-card h3 { font-size:24px; margin:20px 0 12px; }
.service-card > p { min-height:3em; color:#405572; }
.service-card .service-item { border:0; margin-top:16px; }
.service-card .service-item summary { display:flex; justify-content:space-between; padding:12px 0; min-height:44px; font-size:16px; }
.service-card .service-detail { padding:12px 0 0; display:block; }
.service-card .service-detail > * { margin-bottom:20px; }
.migration-lead { border-block:1px solid #c5d2e5; }
.migration-lead strong { color:#2449bd; font-size:32px; }
@media(max-width:700px){.service-grid{grid-template-columns:1fr}.service-card{padding:24px}.service-card > p{min-height:0}}
/* G: readable text and touch targets, preserving the existing component palette. */
.home-v2 .hero-heading h1,html[lang="en-GB"] .home-v2 .hero-heading h1 { white-space:normal; font-size:clamp(32px,4vw,60px); line-height:1.2; }
html[lang="en-GB"] .home-v2 .hero-heading { grid-template-columns:1.3fr 1fr; gap:40px; }
button,.button,summary,.main-nav a,.language-switch,.page-rail a,.text-link,.footer-base a { min-height:44px; }
.main-nav a,.footer-base a { display:inline-flex; align-items:center; }
input:not([type=checkbox]),select,textarea { min-height:44px; font-size:16px; }
.consent { min-height:44px; padding-block:8px; align-items:center; }
small,figcaption { font-size:14px; }
.field label,.form-note,.verification-status { font-size:14px; }
::placeholder { color:#53647a; opacity:1; }
.footer-main > p,.footer-base,.service-subtitle,.stage-note,.project-category { color:#435873; }
.voice-section .stage-note,.voice-studio .studio-status { color:#d7e3f3; }
.demo-chip { color:#edf4ff; }
.dash-top .demo-chip { background:#365474; }
.service-card,.hero-heading > *, .cta-row > *, .footer-main > * { min-width:0; }
.footer-main .brand { flex-shrink:0; }
@media(max-width:760px){html[lang="en-GB"] .home-v2 .hero-heading{grid-template-columns:1fr;gap:24px}.footer-main{align-items:flex-start}.footer-main > p{flex-basis:100%}.calendar-event{font-size:12px;overflow-wrap:anywhere}.calendar-times{font-size:12px}.calendar-label{font-size:12px}.calendar-row{min-height:72px}.demo-tabs button{padding:8px 4px}.dash-heading h3{font-size:20px}.email-fallback{padding:14px}.email-fallback .button{padding-inline:8px}.site-header .header-inner{gap:12px}}
/* H: overseas deployments are clearly identified for UK readers. */
.deployment-label { display:inline-block; margin:16px 0; padding:6px 12px; border:1px solid #b8c9df; color:#294c75; background:#f2f6fb; font-size:14px; }
/* Verified contrast and target corrections from rendered browser measurements. */
.voice-console .demo-chip { color:#405572; background:#f0f3fa; }
.contact-copy > p,.email-block > span { color:#435873; }
.case-filterbar > span,.case-cover-top > span,.report-index a > span,.report-chapter > span,.privacy-layout article > section > span { color:#465b76; }
.menu-toggle { min-width:44px; flex-shrink:0; }
.demo-tabs button,.voice-languages button { min-height:44px; }
.map-output-title { display:block; }
.dash-heading .dash-demo-title { font-size:21px; font-weight:600; color:var(--ink); line-height:1.3; margin-bottom:6px; }
.case-cover-top > span:last-child { color:#465b76; }
.language-switch { min-width:44px; justify-content:center; }
/* Keep mobile contact in the header's own space, away from page content. */
.mobile-contact-label { display:none; }
@media(max-width:760px){
  html { scroll-padding-top:92px; }
  body { padding-bottom:0; }
  .site-header { position:sticky; top:0; z-index:15; }
  .site-header .header-inner { gap:4px; flex-wrap:nowrap; }
  .header-actions { gap:4px; }
  .menu-toggle { margin-left:0; }
  .header-actions .nav-cta { display:flex; min-height:44px; padding:8px; font-size:14px; }
  .nav-cta .desktop-contact-label,.nav-cta .icon { display:none; }
  .mobile-contact-label { display:inline; }
  .persistent-contact .mobile-contact-link { display:none; }
  .draft-marker { position:static; width:fit-content; margin:12px auto; }
}
@media(max-width:360px){.site-header .brandmark{display:none}.site-header .brand{font-size:18px;gap:0}.language-switch .icon{display:none}.header-actions .language-switch{padding:8px}}
@media(max-width:760px){
 .role-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
 .role-paths a { padding:10px 8px; font-size:14px; }
 .home-v2 .hero-heading,html[lang="en-GB"] .home-v2 .hero-heading { padding-bottom:12px; }
 .hero-audiences li { padding:10px; }
 .home-v2 .hero-intro .cta-row { gap:12px; }
 .home-v2 .hero-intro .button { padding:10px 12px; }
}
.role-short { display:none; }
.map-node > span:nth-child(2),.map-output > div { min-width:0; }
.map-node small,.map-output-title,.calendar-label { overflow-wrap:anywhere; }
@media(max-width:760px){.role-short{display:inline}.role-long{display:none}.voice-console-top{flex-wrap:wrap;gap:12px}}
/* Keep the live explanation beside the controls that change it. */
.map-selection { position:relative; z-index:1; min-width:0; width:100%; }
.map-selection .map-example { display:block; margin-top:14px; padding:16px; min-height:164px; border:1px solid #526b89; border-left:3px solid var(--signal); border-radius:5px; background:#1c3050; }
.map-selection .map-example > span { display:block; margin-bottom:8px; text-align:left; color:#b7c8df; }
.map-selection .map-example > p { display:block; margin:0; line-height:1.7; }
.map-selection .map-example strong { display:block; margin-bottom:4px; font-weight:600; }
.map-selection .example-arrow { display:none; }
.map-config-note { border-top:1px solid #344967; padding:16px 0; color:#b7c8df; font-size:14px; }
@media(max-width:760px){.map-selection .map-example{min-height:142px;margin-top:12px}.map-config-note{padding-block:12px}}
/* Connector paths are measured after layout/font changes; never show stale coordinates. */
.map-lines:not([data-ready]) { visibility:hidden; }
