/* Shared, self-contained service-page system. Homepage may reuse these classes. */
:root {
  --orange: #ff681b;
  --yellow: #f4d538;
  --ink: #1a1a1c;
  --paper: #f3f2ee;
  --muted: #706d66;
  --line: #dedbd3;
  --white: #fff;
  --orange-text: #b83e00;
  --max: 1420px;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body.marketing-theme {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font:
    16px/1.45 "Plus Jakarta Sans",
    Arial,
    sans-serif;
}
a {
  color: inherit;
}
.mk-shell {
  max-width: 1236px;
  margin: auto;
  padding-inline: 30px;
}
.mk-nav {
  background: #171719;
  color: #eee;
  min-height: 84px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 10px max(30px, calc((100vw - 1236px) / 2 + 30px));
  position: relative;
  z-index: 3;
}
.mk-logo img {
  display: block;
  width: 190px;
  height: auto;
}
.mk-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  flex: 1;
}
.mk-nav a,
.mk-drop button {
  font:
    600 12px/1 "JetBrains Mono",
    monospace;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}
.mk-drop {
  position: relative;
}
.mk-drop button {
  color: #eee;
  background: none;
  border: 0;
  padding: 18px 0;
  cursor: pointer;
}
.mk-drop button::after {
  content: "⌄";
  font-size: 10px;
  margin-left: 6px;
}
.mk-menu {
  display: none;
  position: absolute;
  min-width: 250px;
  top: 48px;
  left: -18px;
  background: #222225;
  border: 1px solid #46433d;
  padding: 12px;
}
.mk-drop.open .mk-menu {
  display: grid;
  gap: 2px;
}
.mk-menu b {
  font: 600 10px "JetBrains Mono";
  letter-spacing: 0.14em;
  color: var(--yellow);
  padding: 8px 10px 3px;
  text-transform: uppercase;
}
.mk-menu a {
  padding: 8px 10px;
  letter-spacing: 0.04em;
  font: 600 12px "Plus Jakarta Sans";
}
.mk-menu a:hover,
.mk-menu a:focus {
  background: #34332e;
}
.mk-book,
.mk-final-button {
  background: var(--orange);
  color: #111 !important;
  padding: 19px 28px !important;
  font:
    700 15px "Sora",
    sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none;
  display: inline-block;
  clip-path: polygon(0 0, 92% 0, 100% 14%, 100% 100%, 0 100%);
}
.mk-mobile {
  display: none;
  background: transparent;
  border: 0;
  color: white;
  font-size: 26px;
}
.mk-mobile-panel {
  display: none;
}
.mk-hero {
  background: linear-gradient(90deg, #ff792d, #f25c0c);
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px), linear-gradient(90deg, #ff792d, #f25c0c);
  background-size:
    64px 64px,
    64px 64px,
    100% 100%;
  padding: 82px 0 78px;
}
.mk-breadcrumb {
  font-size: 15px;
  margin: 0 0 34px;
  color: #3c2d23;
}
.mk-breadcrumb a {
  text-decoration: none;
}
.mk-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.72fr);
  gap: 90px;
  align-items: center;
}
.mk-hero h1,
.mk-section-title,
.mk-outcome h2,
.mk-cta h2 {
  font:
    800 clamp(42px, 5.2vw, 76px)/0.96 "Sora",
    sans-serif;
  letter-spacing: -0.055em;
  text-transform: uppercase;
  margin: 0;
  max-width: 960px;
}
.mk-hero h1 .light,
.mk-cta h2 .light {
  color: #fff;
}
.mk-lede {
  font-size: 20px;
  line-height: 1.5;
  max-width: 900px;
  margin: 32px 0 0;
}
.mk-who {
  background: #1c1c1e;
  color: #c9c6c0;
  padding: 32px 36px;
  clip-path: polygon(0 0, 96% 0, 100% 8%, 100% 100%, 3% 100%, 0 94%);
  font-size: 17px;
}
.mk-who h2 {
  font: 700 22px "Sora";
  color: var(--yellow);
  margin: 0 0 15px;
}
.mk-who p {
  margin: 0 0 12px;
}
.mk-strip {
  background: #111114;
  color: #e9e7e1;
  padding: 40px 0;
}
.mk-strip-grid {
  display: grid;
  grid-template-columns: 1.35fr repeat(3, 1fr);
  gap: 42px;
}
.mk-strip-lead {
  font: 700 20px/1.22 "Sora";
}
.mk-strip-lead strong {
  color: var(--yellow);
}
.mk-strip-item {
  border-left: 4px solid var(--orange);
  padding-left: 18px;
}
.mk-strip-item b {
  display: block;
  font: 700 17px "Sora";
}
.mk-strip-item span {
  color: #aaa69f;
}
.mk-content {
  padding: 70px 0;
}
.mk-intro {
  display: grid;
  grid-template-columns: 0.6fr 1.4fr;
  gap: 72px;
  padding-bottom: 60px;
  border-bottom: 2px solid var(--line);
}
.mk-intro h2 {
  font: 800 39px/0.98 "Sora";
  letter-spacing: -0.05em;
  margin: 0;
}
.mk-intro p {
  font-size: 17px;
  margin: 0;
}
.mk-bullets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px 54px;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 16px;
}
.mk-bullets li::before {
  content: "◆";
  color: var(--orange);
  font-size: 12px;
  margin-right: 17px;
}
.mk-section-title {
  font-size: 37px;
  text-transform: none;
  margin: 63px 0 12px;
}
.mk-section-copy {
  font-size: 17px;
  color: #666159;
  max-width: 1100px;
  margin: 0 0 30px;
}
.mk-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.mk-card {
  background: #fff;
  border: 1px solid #e1ded7;
  border-radius: 6px;
  overflow: hidden;
}
.mk-diagram {
  padding: 25px;
  border-bottom: 1px solid #e0ddd6;
  min-height: 180px;
  background: #faf9f6;
}
.mk-card-content {
  padding: 27px;
}
.mk-card h3 {
  font: 700 22px/1.1 "Sora";
  margin: 0 0 16px;
}
.mk-card p {
  font-size: 16px;
  margin: 0;
}
.mk-list {
  padding: 0;
  margin: 18px 0 0;
  list-style: none;
}
.mk-list li {
  padding: 10px 0;
  border-top: 1px solid #e5e2db;
}
.mk-list li:before {
  content: "■";
  font-size: 9px;
  color: var(--orange);
  margin-right: 13px;
}
.mk-outcome {
  background: #1b1b1d;
  color: #eee;
  padding: 70px 0;
}
.mk-outcome-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 70px;
}
.mk-outcome h2 {
  font-size: 37px;
  text-transform: none;
  margin-bottom: 28px;
}
.mk-outcomes {
  padding: 0;
  margin: 0;
  list-style: none;
}
.mk-outcomes li {
  border-bottom: 1px solid #363638;
  padding: 16px 0;
  font-size: 17px;
}
.mk-outcomes small {
  display: block;
  color: #938f86;
  margin-top: 4px;
}
.mk-dont {
  border: 3px solid var(--yellow);
  padding: 30px;
  color: #bbb6ad;
  font-size: 17px;
  align-self: start;
}
.mk-dont h3 {
  font: 700 25px "Sora";
  color: white;
  margin: 0 0 18px;
}
.mk-runs {
  padding: 70px 0;
}
.mk-runs h2 {
  font: 800 39px "Sora";
  letter-spacing: -0.05em;
  margin: 0 0 30px;
}
.mk-run-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.mk-run {
  background: #fff;
  border: 1px solid #e1ded7;
  border-top: 5px solid var(--orange);
  padding: 30px;
  min-height: 250px;
}
.mk-run:nth-child(2) {
  border-top-color: var(--yellow);
}
.mk-run:nth-child(3) {
  border-top-color: #1b1b1d;
}
.mk-run small {
  font: 600 13px "JetBrains Mono";
  letter-spacing: 0.1em;
  color: #6f6b63;
}
.mk-run h3 {
  font: 700 26px "Sora";
  margin: 18px 0;
}
.mk-run p {
  font-size: 16px;
  color: #656158;
}
.mk-cta {
  background: linear-gradient(100deg, #ff792d, #f25c0c);
  padding: 75px 0;
}
.mk-cta-grid {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 90px;
  align-items: center;
}
.mk-cta h2 {
  font-size: 48px;
}
.mk-cta-note {
  font-size: 18px;
}
.mk-final-button {
  background: #171719;
  color: var(--yellow) !important;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 20px 34px !important;
}
.mk-footer {
  background: #111114;
  color: #85817a;
  padding: 30px max(30px, calc((100vw - 1236px) / 2 + 30px));
  display: flex;
  justify-content: space-between;
  font-size: 14px;
}
.mk-sequence {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}
.mk-stage {
  background: white;
  border: 1px solid #e0ddd6;
  border-top: 4px solid var(--orange);
  padding: 16px;
  min-height: 225px;
}
.mk-stage b {
  font: 700 18px/1.15 "Sora";
  display: block;
}
.mk-stage p {
  font-size: 14px;
  color: #68645c;
}
.mk-stage strong {
  font-size: 13px;
}
.mk-rowcards {
  display: grid;
  gap: 7px;
}
.mk-rowcards div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid #dfdcd5;
  padding: 8px 0;
  font-size: 13px;
}
.mk-pill {
  padding: 3px 8px;
  background: #ffeadf;
  color: #b64b2e;
  font-weight: 700;
}
.mk-roadmap {
  display: grid;
  gap: 8px;
}
.mk-roadmap-row {
  display: grid;
  grid-template-columns: 160px repeat(8, 1fr);
  gap: 4px;
  align-items: center;
  font-size: 12px;
}
.mk-roadmap-row b {
  font-family: "Sora";
}
.mk-bar {
  min-height: 28px;
  padding: 6px;
  background: var(--orange);
  font-weight: 700;
  white-space: nowrap;
}
.mk-bar.yellow {
  background: var(--yellow);
}
.mk-phone-roadmap {
  display: none;
}
@media (max-width: 1100px) {
  .mk-links,
  .mk-nav > .mk-book {
    display: none;
  }
  .mk-mobile {
    display: block;
    margin-left: auto;
  }
  .mk-mobile-panel {
    position: absolute;
    display: none;
    top: 68px;
    left: 0;
    right: 0;
    background: #1b1b1d;
    padding: 16px 20px;
    border-top: 1px solid #45423d;
  }
  .mk-mobile-panel.open {
    display: grid;
    gap: 12px;
  }
  .mk-mobile-panel a {
    font: 600 13px "JetBrains Mono";
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    padding: 8px 0;
  }
  .mk-nav {
    min-height: 68px;
  }
  .mk-hero-grid {
    gap: 42px;
  }
  .mk-strip-grid {
    grid-template-columns: 1.25fr repeat(3, 1fr);
    gap: 24px;
  }
  .mk-sequence {
    grid-template-columns: repeat(2, 1fr);
  }
  .mk-roadmap-row {
    grid-template-columns: 130px repeat(8, 1fr);
  }
}
@media (max-width: 760px) {
  .mk-shell {
    padding-inline: 20px;
  }
  .mk-nav {
    padding: 10px 20px;
  }
  .mk-logo img {
    width: 145px;
  }
  .mk-hero {
    padding: 45px 0 48px;
    background-size:
      45px 45px,
      45px 45px,
      100% 100%;
  }
  .mk-breadcrumb {
    font-size: 13px;
    margin-bottom: 25px;
  }
  .mk-hero-grid,
  .mk-cta-grid,
  .mk-outcome-grid,
  .mk-intro {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .mk-hero h1 {
    font-size: clamp(42px, 13vw, 60px);
  }
  .mk-lede {
    font-size: 18px;
    margin-top: 24px;
  }
  .mk-who {
    font-size: 16px;
    padding: 27px;
  }
  .mk-strip-grid {
    grid-template-columns: 1fr;
  }
  .mk-strip {
    padding: 34px 0;
  }
  .mk-strip-lead {
    font-size: 20px;
  }
  .mk-strip-item {
    padding-block: 3px;
  }
  .mk-content,
  .mk-outcome,
  .mk-runs,
  .mk-cta {
    padding-block: 56px;
  }
  .mk-intro {
    padding-bottom: 48px;
  }
  .mk-intro h2,
  .mk-section-title,
  .mk-runs h2 {
    font-size: 39px;
  }
  .mk-intro p,
  .mk-section-copy {
    font-size: 17px;
  }
  .mk-bullets {
    grid-template-columns: 1fr;
    gap: 14px;
    font-size: 16px;
  }
  .mk-section-title {
    margin-top: 52px;
  }
  .mk-cards,
  .mk-run-grid {
    grid-template-columns: 1fr;
  }
  .mk-card h3 {
    font-size: 23px;
  }
  .mk-outcome h2,
  .mk-cta h2 {
    font-size: 39px;
  }
  .mk-dont {
    padding: 25px;
  }
  .mk-footer {
    padding: 26px 20px;
    display: grid;
    gap: 10px;
    font-size: 12px;
  }
  .mk-sequence {
    grid-template-columns: 1fr;
  }
  .mk-stage {
    min-height: 0;
  }
  .mk-roadmap {
    display: none;
  }
  .mk-phone-roadmap {
    display: grid;
    gap: 12px;
  }
  .mk-phone-roadmap article {
    background: #fff;
    border: 1px solid #dedbd3;
    padding: 16px;
  }
  .mk-phone-roadmap h3 {
    margin: 0;
    font: 700 18px "Sora";
  }
  .mk-phone-roadmap p {
    margin: 7px 0;
    font-size: 14px;
  }
  .mk-rowcards div {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .mk-rowcards div span:first-child {
    grid-column: 1/-1;
    font-weight: 700;
  }
  .mk-cta-note {
    font-size: 17px;
  }
}
.mk-audit-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mk-finding {
  padding: 24px;
  min-height: 330px;
}
.mk-finding h3 {
  font: 700 22px/1.1 "Sora";
  margin: 0 0 18px;
}
.mk-finding p {
  margin: 9px 0;
  font-size: 16px;
}
.mk-finding .finding {
  background: #f3f1ec;
  border-left: 4px solid var(--orange);
  padding: 14px;
  margin-top: 22px;
}
.mk-finding small,
.mk-diagram-label {
  display: block;
  font: 700 12px "JetBrains Mono";
  letter-spacing: 0.08em;
  color: #8c887f;
  text-transform: uppercase;
}
.mk-diagram-large {
  padding: 24px;
  min-height: 260px;
  border-bottom: 1px solid var(--line);
}
.mk-matrix {
  display: grid;
  gap: 6px;
}
.mk-matrix div {
  display: grid;
  grid-template-columns: 1.8fr repeat(3, 1fr);
  gap: 8px;
  border-bottom: 1px solid var(--line);
  padding: 7px 0;
  font-size: 13px;
}
.mk-dot {
  display: inline-block;
  width: 13px;
  height: 13px;
  border-radius: 3px;
  background: var(--orange);
}
.mk-gauge {
  width: 105px;
  height: 105px;
  border: 13px solid var(--orange);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font: 700 24px "Sora";
}
.mk-email-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.mk-email-grid div {
  border: 1px solid var(--line);
  padding: 12px;
  font-size: 13px;
}
.mk-estate {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.mk-estate article {
  padding: 18px;
  background: #f3f1ec;
  border: 1px solid var(--line);
}
.mk-watchtower {
  margin-top: 20px;
  padding: 24px;
  background: #1c1c1e;
  color: #ddd;
  display: flex;
  gap: 24px;
  align-items: center;
}
.mk-watchtower b {
  color: var(--yellow);
  font: 700 24px "Sora";
}
.mk-calendar {
  display: grid;
  grid-template-columns: 72px repeat(5, 1fr);
  gap: 5px;
  font-size: 13px;
}
.mk-calendar div {
  padding: 10px;
  background: #f0eee9;
}
.mk-calendar .event {
  background: var(--orange);
  font-weight: 700;
}
.mk-flow {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.mk-flow span {
  padding: 12px;
  background: #f3f1ec;
  border: 1px solid var(--line);
  font-weight: 700;
}
.mk-flow span:nth-child(2) {
  background: var(--orange);
}
.mk-flow span:nth-child(3) {
  background: #1b1b1d;
  color: white;
}
.mk-report-pages {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.mk-report-pages article {
  background: #fff;
  border: 1px solid var(--line);
  min-height: 250px;
  padding: 22px;
  box-shadow: 0 10px 22px #0001;
}
.mk-report-pages article:first-child {
  background: #1b1b1d;
  color: white;
}
.mk-report-pages b {
  font: 700 23px/1.1 "Sora";
  display: block;
  margin-top: 28px;
}
@media (max-width: 760px) {
  .mk-audit-cards,
  .mk-estate,
  .mk-report-pages {
    grid-template-columns: 1fr;
  }
  .mk-matrix div {
    grid-template-columns: 1fr 1fr;
  }
  .mk-matrix div span:first-child {
    grid-column: 1/-1;
    font-weight: 700;
  }
  .mk-watchtower {
    display: block;
  }
  .mk-email-grid {
    grid-template-columns: 1fr;
  }
}
/* Complete native service compositions, scoped away from the homepage. */
.service-page .mk-hero {
  padding: 65px 0 70px;
}
.service-page .mk-hero-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.75fr);
  gap: 100px;
  align-items: end;
}
.service-page .mk-hero h1 {
  font-size: 66px;
  line-height: 0.98;
  letter-spacing: -0.055em;
  overflow-wrap: anywhere;
}
.service-page .mk-lede {
  font-size: 20px;
  line-height: 1.42;
  margin-top: 30px;
}
.service-page .mk-who {
  font-size: 16px;
  padding: 30px;
  line-height: 1.45;
  margin-bottom: 2px;
}
.service-page .mk-who h2 {
  font-size: 18px;
}
.service-page .mk-breadcrumb {
  font-size: 13px;
  margin-bottom: 34px;
}
.service-page .mk-strip {
  padding: 35px 0;
}
.service-page .mk-strip-grid {
  grid-template-columns: 1.35fr repeat(3, 1fr);
  align-items: center;
  gap: 38px;
}
.service-page .mk-strip-lead {
  font-size: 17px;
  line-height: 1.22;
}
.service-page .mk-strip-item {
  border-left-width: 3px;
  padding-left: 16px;
}
.service-page .mk-strip-item b {
  font-size: 15px;
  margin-bottom: 4px;
}
.service-page .mk-strip-item span {
  font-size: 13px;
  display: block;
  line-height: 1.4;
}
.service-page .mk-content {
  padding: 75px 0;
}
.service-page .mk-intro {
  grid-template-columns: 0.6fr 1.4fr;
  gap: 70px;
  padding-bottom: 65px;
  border-bottom: 1px solid var(--line);
}
.service-page .mk-intro h2 {
  font-size: 34px;
  margin-bottom: 18px;
}
.service-page .mk-intro p {
  font-size: 16px;
  line-height: 1.5;
}
.service-page .mk-bullets {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 16px;
  line-height: 1.45;
}
.service-page .mk-bullets li {
  position: relative;
  padding-left: 20px;
}
.service-page .mk-bullets li:before {
  position: absolute;
  left: 0;
  margin: 0;
  font-size: 11px;
  top: 3px;
}
.service-page .svc-two-column {
  display: block;
  columns: 2;
  column-gap: 35px;
}
.service-page .svc-two-column li {
  break-inside: avoid;
  margin-bottom: 20px;
}
.service-page .mk-section-title {
  font-size: 35px;
  line-height: 1.06;
  letter-spacing: -0.045em;
  margin: 55px 0 12px;
  text-transform: none;
}
.service-page .mk-section-copy {
  font-size: 16px;
  line-height: 1.48;
  margin-bottom: 26px;
}
.svc-section-heading {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 65px;
  align-items: center;
  margin: 58px 0 28px;
}
.service-page .svc-section-heading .mk-section-title,
.service-page .svc-section-heading .mk-section-copy {
  margin: 0;
}
.service-page .svc-sequence-copy {
  max-width: 825px;
}
.service-page .mk-cards {
  gap: 24px;
}
.service-page .mk-card {
  border-radius: 4px;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.service-page .mk-card-content {
  padding: 25px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.service-page .mk-card h3 {
  font-size: 23px;
  letter-spacing: -0.04em;
  line-height: 1.13;
  margin-bottom: 14px;
}
.service-page .mk-card p {
  font-size: 16px;
  line-height: 1.47;
  color: #6c6962;
}
.service-page .mk-list {
  font-size: 16px;
  line-height: 1.45;
  margin: 0;
}
.service-page .mk-card-content > p + .mk-list {
  margin-top: 15px;
}
.service-page .mk-list li {
  padding: 11px 0 11px 16px;
  position: relative;
}
.service-page .mk-list li:before {
  position: absolute;
  left: 0;
  top: 14px;
  font-size: 8px;
  margin: 0;
}
.service-page .svc-tags {
  margin-top: auto;
  padding-top: 14px;
}
.svc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.svc-tags span {
  display: inline-block;
  background: #f2f0eb;
  border: 1px solid #e4e1db;
  padding: 5px 7px;
  font-size: 12px;
  line-height: 1.25;
  color: #69665f;
  border-radius: 2px;
}
.svc-diagram {
  padding: 22px;
  background: #faf9f6;
  border-bottom: 1px solid #e7e4de;
  min-height: 275px;
  min-width: 0;
  color: #282829;
}
.svc-diagram h4 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  font:
    700 15px/1.3 "Sora",
    sans-serif;
  color: var(--ink);
  margin: 0 0 14px;
  letter-spacing: -0.025em;
}
/* Every figure in these diagrams is illustrative, so say so once, in the same place on each. */
.svc-diagram h4::after {
  content: "Example";
  flex-shrink: 0;
  font:
    600 10px/1 "JetBrains Mono",
    monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6f6b63;
  border: 1px solid #d6d2c9;
  border-radius: 999px;
  padding: 4px 8px;
}
.svc-diagram p,
.service-page .svc-diagram p {
  font-size: 12px;
  line-height: 1.4;
  margin: 0;
}
.svc-diagram small {
  display: block;
  color: #6f6b63;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
}
.svc-diagram-label {
  font:
    12px "JetBrains Mono",
    monospace;
  letter-spacing: 0.03em;
  margin: 14px 0 7px;
}
.svc-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 12px;
  line-height: 1.4;
  text-align: left;
  table-layout: fixed;
}
.svc-table th,
.svc-table td {
  padding: 7px 5px;
  border-bottom: 1px solid #e6e2da;
  vertical-align: middle;
  overflow-wrap: anywhere;
}
.svc-table thead th {
  font:
    11px/1.35 "JetBrains Mono",
    monospace;
  color: #6f6b63;
  text-transform: uppercase;
  font-weight: 400;
}
.svc-table th:first-child {
  width: 52%;
  padding-left: 0;
}
.svc-table tbody th {
  font-weight: 600;
}
.svc-table tbody td {
  font-size: 11px;
  color: #6f6b63;
}
.svc-table tbody td:last-child {
  font-weight: 600;
  color: #282829;
}
.svc-table small {
  font-size: 11px;
}
.svc-status {
  display: inline-block;
  min-width: 58px;
  width: 100%;
  text-align: center;
  padding: 3px 4px;
  background: #e4e1da;
  color: #343330;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
}
.svc-status.red {
  background: #ffe3dd;
  color: #a8473a;
}
.svc-status.amber {
  background: #fff0d3;
  color: #86600f;
}
.svc-status.green {
  background: #e5f3e8;
  color: #43704c;
}
.svc-status.dark {
  background: #242424;
  color: #ecd23c;
}
.svc-status.orange {
  background: var(--orange);
  color: #222;
}
.svc-status.high {
  background: #c92a19;
  color: white;
}
.svc-tags b {
  color: #333;
}
.svc-diagram .svc-tags {
  margin-top: 13px;
  padding-top: 10px;
  border-top: 1px solid #e4e1da;
}
.svc-diagram .svc-tags span {
  background: #fff;
  font-size: 11px;
}
.svc-diagram .svc-tags span:first-child {
  background: #242424;
  color: #eee;
}
.svc-diagram .svc-tags span:first-child b {
  color: var(--yellow);
}
.svc-scenario {
  background: #fff;
  box-shadow: 0 7px 18px #00000012;
  border: 1px solid #e4e1da;
  padding: 16px;
  font-size: 12px;
}
.svc-training {
  list-style: none;
  margin: 13px 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
}
.svc-training li {
  padding: 7px;
  background: #edeae4;
  font-size: 12px;
  font-weight: 700;
}
.svc-training li:nth-child(-n + 2) {
  background: var(--orange);
}
.svc-training li:nth-child(3) {
  background: #232323;
  color: var(--yellow);
}
.svc-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  margin-top: 15px;
  padding-top: 10px;
  border-top: 1px solid #e4e1da;
}
.svc-pair b {
  display: block;
  font-size: 12px;
}
.svc-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 26px 0 30px;
}
.svc-timeline > div {
  border-top: 2px solid #e0dcd3;
  padding-top: 17px;
  position: relative;
  min-width: 0;
}
.svc-timeline > div:before {
  content: "";
  position: absolute;
  top: -7px;
  left: 7px;
  width: 12px;
  height: 12px;
  background: var(--orange);
  border-radius: 50%;
}
.svc-timeline b {
  display: block;
  font: 700 12px "Sora";
}
.svc-timeline span,
.svc-timeline strong {
  display: block;
  font: 12px/1.6 "JetBrains Mono";
}
.svc-timeline span {
  color: #6f6b63;
  text-decoration: line-through;
}
.svc-timeline em {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.service-page .mk-sequence {
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 12px;
}
.service-page .mk-stage {
  padding: 15px 13px;
  min-width: 0;
  min-height: 0;
  position: relative;
  border-radius: 3px;
  border-top-width: 3px;
}
.service-page .mk-stage:nth-child(3n + 2) {
  border-top-color: var(--yellow);
}
.service-page .mk-stage:nth-child(3n) {
  border-top-color: #242424;
}
.service-page .mk-stage h3 {
  font: 700 13px/1.18 "Sora";
  letter-spacing: -0.025em;
  margin: 0 0 10px;
}
.service-page .mk-stage p {
  font-size: 12px;
  line-height: 1.4;
  margin: 0 0 14px;
  color: #6f6b63;
}
.service-page .mk-stage small {
  font: 11px "JetBrains Mono";
  color: #6f6b63;
  display: block;
  margin: 17px 0 6px;
}
.service-page .mk-stage .svc-stage-result {
  font-size: 12px;
  color: #625e57;
  margin-bottom: 0;
}
.svc-stage-state {
  padding-left: 13px;
  position: relative;
  margin: 10px 0;
}
.svc-stage-state:before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 4px;
  background: var(--orange);
}
.svc-stage-state.today:before {
  background: #e34439;
}
.service-page .svc-stage-state b {
  font: bold 10px "Plus Jakarta Sans";
}
.service-page .svc-stage-state p {
  font-size: 12px;
  margin: 3px 0 0;
}
.service-page .svc-stage-state.today p {
  color: #b5523f;
}
.svc-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 12px;
  color: #6f6b63;
  margin: 17px 0 0;
}
.svc-legend .today {
  color: #bf3e2e;
}
.svc-legend .after,
.svc-legend .quick {
  color: var(--orange-text);
}
.svc-legend .harden {
  color: #7f6d0c;
}
.svc-rings {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 28px;
  text-align: center;
}
.svc-ring {
  width: 92px;
  height: 92px;
  aspect-ratio: 1;
  border: 9px solid var(--orange);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto 15px;
  background: #faf9f6;
  flex-shrink: 0;
}
.svc-ring b {
  font: 700 20px/1.2 "JetBrains Mono";
  letter-spacing: -0.04em;
}
.svc-ring small {
  font: 11px "JetBrains Mono";
  color: #6f6b63;
  margin-top: 4px;
}
.svc-rings strong {
  font-size: 12px;
  display: block;
  margin-bottom: 5px;
}
.svc-mail-routes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-bottom: 12px;
}
.svc-mail-routes > div {
  background: white;
  border: 1px solid #e2dfd9;
  padding: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  font-size: 11px;
  align-items: center;
}
.svc-mail-routes b {
  grid-row: span 2;
}
.svc-mail-routes span {
  color: #6f6b63;
}
.svc-mail-routes strong {
  padding-left: 7px;
  border-left: 2px solid var(--orange);
}
.svc-mail-routes em {
  display: none;
}
.svc-score {
  display: flex;
  gap: 18px;
  align-items: center;
  margin: 20px 0;
}
.svc-score .svc-ring {
  margin: 0;
}
.svc-score > div:last-child > b {
  font-size: 12px;
}
.service-page .svc-score p {
  font-size: 12px;
  margin-top: 7px;
}
.svc-ring.score {
  border-color: #ff681c #ff681c #ff681c #e5e1d8;
}
.svc-system-categories {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.svc-system-categories > div {
  padding: 11px;
  background: white;
  border: 1px solid #e6e3dc;
  font-size: 12px;
}
.service-page .svc-system-categories p {
  font-size: 11px;
  margin-top: 6px;
}
.svc-estate-section {
  background: white;
  padding: 65px 0;
}
.svc-estate-section h2 {
  font: 700 35px/1.1 "Sora";
  letter-spacing: -0.045em;
  margin: 0 0 14px;
}
.svc-estate-section > .mk-shell > p {
  max-width: 850px;
  color: #6f6b63;
  font-size: 16px;
  margin: 0 0 26px;
}
.svc-estate {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.svc-estate article {
  background: #f5f3ee;
  padding: 17px 13px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #e7e4de;
  border-radius: 4px;
  min-width: 0;
}
.svc-estate h3 {
  font: 700 12px/1.3 "Sora";
  margin: 0 0 5px;
}
.svc-estate p {
  font-size: 12px;
  color: #6f6b63;
  margin: 0 0 9px;
}
.svc-estate strong {
  font-size: 12px;
  line-height: 1.35;
  display: block;
  border-left: 2px solid var(--orange);
  padding-left: 7px;
}
.svc-estate .svc-ring {
  width: 55px;
  height: 55px;
  border-width: 6px;
  margin: 0;
}
.svc-estate .svc-ring b {
  font-size: 12px;
}
.svc-estate .svc-ring small {
  font-size: 7px;
  margin-top: 2px;
}
.svc-black-strip {
  display: flex;
  gap: 24px;
  align-items: center;
  background: #19191b;
  padding: 22px;
  color: #9b978f;
  border-radius: 3px;
  margin-top: 18px;
  font-size: 12px;
}
.svc-black-strip > b {
  color: var(--yellow);
  font-size: 14px;
  white-space: nowrap;
}
.svc-black-strip p {
  margin: 0;
  line-height: 1.45;
}
.svc-black-strip strong {
  color: #e6e3dc;
}
.svc-watchtower > b {
  color: var(--orange);
  font: 700 20px "JetBrains Mono";
  letter-spacing: 0.08em;
  min-width: 190px;
  text-align: center;
}
.svc-roadmap {
  padding: 24px;
  background: #fff;
  border: 1px solid #e1ded7;
  border-radius: 4px;
  margin-top: 18px;
}
.svc-roadmap-years {
  display: grid;
  grid-template-columns: 16% 42% 42%;
  font-size: 12px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
}
.svc-roadmap-quarters {
  display: grid;
  grid-template-columns: 16% repeat(8, 1fr);
  font: 12px "JetBrains Mono";
  color: #6f6b63;
  text-align: center;
  padding: 8px 0 16px;
}
.svc-roadmap-row {
  display: grid;
  grid-template-columns: 16% 84%;
  border-bottom: 1px solid #edeae4;
  padding: 11px 0;
  align-items: center;
  min-height: 56px;
}
.svc-roadmap-row b {
  font-size: 12px;
}
.svc-roadmap-row small {
  display: block;
  font-size: 11px;
  color: #6f6b63;
}
.svc-roadmap-track {
  position: relative;
  min-height: 30px;
}
.svc-roadmap-track > span {
  position: absolute;
  top: 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  padding: 6px 7px;
  border-radius: 3px;
  white-space: nowrap;
}
.svc-roadmap-track .quick {
  background: var(--orange);
}
.svc-roadmap-track .harden {
  background: var(--yellow);
}
.svc-roadmap-track .build {
  background: #e4e1da;
}
.svc-roadmap-track .sustain {
  background: #202022;
  color: #fff;
}
.svc-roadmap-rows {
  position: relative;
}
.svc-now {
  position: absolute;
  top: -18px;
  bottom: 0;
  left: 25%;
  border-left: 2px dashed #333;
  z-index: 1;
  pointer-events: none;
}
.svc-now span {
  position: absolute;
  top: -13px;
  left: -25px;
  width: 60px;
  font-size: 11px;
  font-weight: 700;
  background: white;
}
.svc-milestones > span {
  font-size: 11px;
  padding: 6px 0;
  white-space: normal;
  max-width: 21%;
}
.svc-milestones > span::first-letter {
  color: var(--orange);
}
.svc-capability th:first-child {
  width: 38%;
}
.svc-capability thead th {
  font-family: "Plus Jakarta Sans";
  font-size: 11px;
  text-transform: none;
}
.svc-capability td {
  text-align: center;
}
.svc-cap {
  display: inline-block;
  height: 11px;
  width: 11px;
  background: #e4e1da;
  border-radius: 2px;
}
.svc-cap.keep {
  background: var(--orange);
}
.svc-cap.retire {
  background: #ffe3dd;
  color: #c55942;
}
.svc-cap.retire:after {
  content: "×";
  line-height: 10px;
  font-size: 10px;
  font-weight: bold;
  display: block;
}
.svc-cap.stay {
  background: #cdc9c0;
}
.svc-cap > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.svc-riskbar {
  height: 7px;
  background: #e3e0d8;
  display: block;
  border-radius: 6px;
  min-width: 30px;
}
.svc-riskbar i {
  display: block;
  height: 100%;
  background: var(--orange);
  border-radius: 6px;
}
.svc-license-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.svc-license-pair .svc-table th:first-child {
  width: 70%;
}
.svc-license-pair .svc-table th,
.svc-license-pair .svc-table td {
  padding: 4px;
  font-size: 11px;
}
.svc-license-pair .svc-table .licensed {
  background: var(--orange);
}
.svc-license-pair .svc-table .licensed td {
  color: #222;
}
.svc-license-pair .svc-table .retired {
  background: #ffe2d9;
  color: #9e4d38;
}
.svc-license-pair .svc-table .retired th {
  text-decoration: line-through;
}
.svc-diagram .svc-products {
  font-size: 12px;
  margin: 10px 0 3px;
}
.svc-products s {
  color: #707070;
  font-size: 12px;
  margin-right: 6px;
}
.svc-policy-docs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.svc-policy-docs article {
  background: #fff;
  border: 1px solid #e4e1da;
  box-shadow: 0 5px 13px #0000000a;
  padding: 12px 10px;
  font-size: 12px;
  min-height: 120px;
  display: flex;
  flex-direction: column;
}
.svc-policy-docs b {
  font-size: 12px;
}
.svc-policy-docs small {
  font-size: 11px;
  margin-top: 4px;
}
.svc-policy-docs strong {
  background: var(--yellow);
  font-size: 11px;
  padding: 3px;
  align-self: start;
  margin-top: auto;
}
.svc-paper-lines {
  height: 28px;
  background: repeating-linear-gradient(#e5e1d9 0 2px, transparent 2px 7px);
  margin: 8px 0;
}
.svc-appetite-title {
  display: block;
  font-size: 12px;
  margin: 18px 0 10px;
}
.svc-appetites > div {
  display: grid;
  grid-template-columns: 1fr 1.7fr 0.7fr;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
  font-size: 11px;
}
.svc-appetites > div > span:last-child {
  text-align: right;
  color: #6f6b63;
}
.svc-slider {
  height: 5px;
  background: #e4e0d7;
  position: relative;
}
.svc-slider i {
  width: 8px;
  height: 8px;
  background: var(--orange);
  border-radius: 50%;
  display: block;
  position: absolute;
  top: -2px;
}
.service-page .svc-classification-note {
  font-size: 12px;
  color: #6f6b63;
  margin-top: 14px;
  line-height: 1.4;
}
.svc-programme {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.svc-programme li {
  padding: 10px 8px;
  background: #fff;
  border: 1px solid #e1ded7;
  border-radius: 3px;
  min-width: 0;
  font-size: 12px;
}
.service-page .svc-programme p {
  font-size: 12px;
  margin: 8px 0 10px;
  color: #6f6b63;
  min-height: 31px;
}
.svc-programme strong {
  font-size: 11px;
  line-height: 1.4;
  font-weight: 400;
  display: block;
}
.svc-programme strong::first-letter {
  color: var(--orange);
}
.svc-programme-was,
.svc-programme-now {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 10px;
  margin-top: 10px;
  font-size: 12px;
  border-radius: 3px;
}
.svc-programme-was {
  color: #a24b38;
  background: #ffe2da;
}
.svc-programme-now {
  color: #bbb6ad;
  background: #222;
}
.svc-programme-now b {
  color: var(--yellow);
}
.svc-programme-was > b,
.svc-programme-now > span:last-child {
  white-space: nowrap;
  font-weight: 400;
}
.svc-calendar th:first-child {
  width: 12%;
}
.svc-calendar td {
  background: #eeece6;
  border: 4px solid #faf9f6;
  padding: 0 !important;
  text-align: center;
  font-size: 0 !important;
  color: transparent !important;
}
.svc-calendar .svc-status {
  display: block;
  min-width: 0;
  font-size: 11px;
  padding: 8px 2px;
  color: #222;
}
.svc-calendar .svc-status.dark {
  color: var(--yellow);
}
.svc-calendar tbody th {
  font-size: 11px;
  color: #6f6b63;
  font-weight: 400;
}
.svc-calendar thead th {
  text-align: center;
  text-transform: none;
  font-family: "Plus Jakarta Sans";
}
.svc-engagement {
  border: 0;
  padding: 0;
  margin-top: 6px;
}
.svc-engagement > div {
  background: white;
  border: 1px solid #dedbd3;
  padding: 10px;
}
.service-page .mk-outcome {
  padding: 78px 0;
}
.service-page .mk-outcome-grid {
  grid-template-columns: 1.45fr 0.85fr;
  gap: 75px;
}
.service-page .mk-outcome h2 {
  font-size: 35px;
  line-height: 1.1;
  margin-bottom: 27px;
}
.service-page .mk-outcomes li {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  font-size: 15px;
  line-height: 1.4;
  padding: 17px 0;
  border-color: #2c2c2e;
}
.service-page .mk-outcomes li > div {
  flex: 1;
}
.service-page .mk-outcomes small {
  font-size: 13px;
  line-height: 1.4;
  margin-top: 16px;
  color: #9a958a;
}
.svc-audience {
  font-size: 12px;
  text-align: right;
  max-width: 185px;
  color: #9a958a;
  flex-shrink: 0;
}
.service-page .mk-dont {
  border-width: 2px;
  padding: 30px;
  font-size: 16px;
  line-height: 1.45;
}
.service-page .mk-dont h3 {
  font-size: 23px;
  letter-spacing: -0.03em;
}
.service-page .mk-dont p {
  margin: 0 0 16px;
}
.service-page .mk-dont p:last-child {
  margin-bottom: 0;
}
.service-page .mk-dont a {
  text-decoration-color: var(--orange);
  text-underline-offset: 4px;
}
.service-page .mk-runs {
  padding: 72px 0;
}
.service-page .mk-runs h2 {
  font-size: 35px;
}
.service-page .mk-run {
  border-top-width: 3px;
  border-radius: 4px;
  padding: 27px;
  min-height: 240px;
}
.service-page .mk-run small {
  font-size: 10px;
}
.service-page .mk-run h3 {
  font-size: 23px;
  letter-spacing: -0.03em;
  margin: 17px 0 12px;
}
.service-page .mk-run p {
  font-size: 16px;
  line-height: 1.45;
  margin: 0 0 8px;
}
.service-page .mk-run .mk-run-key {
  margin: 18px 0 8px;
  padding-left: 14px;
  border-left: 3px solid var(--orange);
  color: var(--ink);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
}
.service-page .mk-run .mk-run-note {
  font-size: 14px;
  margin: 0;
}
.service-page .mk-cta {
  padding: 85px 0;
}
.service-page .mk-cta-grid {
  grid-template-columns: 1.1fr 1fr;
  gap: 90px;
}
.service-page .mk-cta h2 {
  font-size: 52px;
  line-height: 0.98;
  overflow-wrap: anywhere;
}
.service-page .mk-cta h3 {
  font: 700 23px/1.15 "Sora";
  margin: 0 0 16px;
  letter-spacing: -0.03em;
}
.service-page .mk-cta-note {
  font-size: 17px;
  line-height: 1.45;
  margin: 0 0 30px;
}
.service-page .mk-final-button {
  font-size: 16px !important;
}
.service-page .mk-footer {
  font-size: 11px;
  padding-block: 36px;
}
.service-page .mk-finding {
  padding: 25px;
  min-height: 0;
}
.service-page .mk-finding h3 {
  font-size: 21px;
  line-height: 1.2;
}
.service-page .mk-finding p {
  font-size: 15px;
  line-height: 1.5;
  margin: 8px 0 15px;
  color: #615d56;
}
.service-page .mk-finding .finding {
  margin-top: auto;
  font-size: 14px;
  line-height: 1.45;
  padding: 17px;
}
.service-page .mk-finding .finding small {
  font-size: 11px;
  margin-bottom: 8px;
  color: #6f6b63;
}
.service-page .svc-score-note {
  font-size: 12px;
  color: #6f6b63;
  margin: 18px 0;
}
.svc-inbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 60px;
  margin-top: 55px;
}
.service-page .svc-inbox .mk-section-title {
  margin: 0 0 16px;
}
.svc-deliverables {
  margin: 36px 0 0;
}
.svc-deliverables dt {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 17px;
  font-weight: bold;
  margin-top: 25px;
}
.svc-deliverables dt > span {
  font-size: 12px;
  font-weight: 400;
  color: #6f6b63;
  text-align: right;
}
.svc-deliverables dd {
  margin: 9px 0 0;
  font-size: 16px;
  line-height: 1.45;
}
.svc-report-sample {
  min-width: 0;
  padding-top: 15px;
}
.svc-report-sample > span {
  font-size: 12px;
  color: #6f6b63;
}
.service-page .svc-report-sample .mk-report-stack {
  height: 420px;
  margin-top: 20px;
}
.service-page .svc-report-sample .mk-page {
  min-height: 310px;
  width: 44%;
  padding: 18px;
  left: 25%;
  font-size: 8px;
}
.service-page .svc-report-sample .mk-page:first-child {
  left: 0;
  top: 22px;
}
.service-page .svc-report-sample .mk-page:last-child {
  left: 54%;
  top: 32px;
  width: 46%;
}
.service-page .svc-report-sample .mk-page > small {
  font-size: 6px;
  margin-bottom: 22px;
}
.service-page .svc-report-sample .mk-page > small > span {
  float: right;
}
.service-page .svc-report-sample .mk-page > b {
  font-size: 13px;
}
.service-page .svc-report-sample .mk-page.report-cover > b {
  font-size: 21px;
  margin-top: 45px;
}
.service-page .svc-report-sample .mk-page p,
.service-page .svc-report-sample .mk-page li {
  font-size: 8px;
  line-height: 1.45;
  margin: 7px 0;
}
.service-page .svc-report-sample .mk-page strong {
  font-size: 8px;
}
.service-page .svc-report-sample .mk-page footer {
  font-size: 8px;
  margin-top: 76px;
}
.service-page .svc-report-sample .report-note {
  font-size: 8px;
}
.svc-inbox-note {
  grid-column: 1/-1;
  font-size: 15px;
  max-width: 850px;
  line-height: 1.5;
  margin-top: 22px;
}
@media (max-width: 1100px) {
  .service-page .mk-hero-grid {
    gap: 45px;
  }
  .service-page .mk-hero h1 {
    font-size: 54px;
  }
  .service-page .mk-lede {
    font-size: 18px;
  }
  .service-page .mk-strip-grid {
    gap: 20px;
  }
  .service-page .mk-strip-lead {
    font-size: 15px;
  }
  .service-page .mk-strip-item span {
    font-size: 12px;
  }
  .service-page .mk-intro {
    gap: 36px;
  }
  .svc-section-heading {
    gap: 35px;
  }
  .service-page .mk-card-content {
    padding: 21px;
  }
  .svc-diagram {
    padding: 17px;
  }
  .svc-status {
    min-width: 0;
  }
  .svc-estate {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .service-page .mk-outcome-grid {
    gap: 35px;
  }
  .service-page .mk-outcomes li {
    display: block;
  }
  .svc-audience {
    display: block;
    text-align: left;
    margin-top: 8px;
    max-width: none;
  }
  .service-page .mk-cta-grid {
    gap: 45px;
  }
  .service-page .mk-cta h2 {
    font-size: 43px;
  }
  .svc-roadmap-track > span {
    font-size: 11px;
    padding-inline: 4px;
  }
  .svc-roadmap-row b {
    font-size: 12px;
  }
  .svc-roadmap-row small {
    font-size: 11px;
  }
  .svc-milestones > span {
    font-size: 11px;
  }
  .service-page .mk-sequence {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .service-page .mk-stage h3 {
    font-size: 16px;
  }
  .service-page .mk-stage p,
  .service-page .mk-stage .svc-stage-result {
    font-size: 14px;
  }
  .service-page .mk-stage small {
    font-size: 12px;
  }
  .service-page .svc-stage-state b,
  .service-page .svc-stage-state p {
    font-size: 13px;
  }
  .svc-policy-docs {
    gap: 6px;
  }
  .svc-policy-docs article {
    padding: 8px 6px;
  }
  .svc-inbox {
    gap: 0 30px;
  }
  .service-page .svc-report-sample .mk-page {
    padding: 12px;
  }
  .service-page .mk-audit-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .svc-ring {
    width: 75px;
    height: 75px;
    border-width: 7px;
  }
  .svc-ring b {
    font-size: 17px;
  }
  .svc-programme {
    gap: 5px;
  }
  .svc-programme li {
    padding: 8px 5px;
  }
  .svc-programme b {
    font-size: 12px;
  }
}
@media (max-width: 760px) {
  .service-page .mk-hero {
    padding: 40px 0 45px;
  }
  .service-page .mk-hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .service-page .mk-hero h1 {
    font-size: clamp(36px, 10.8vw, 60px);
    line-height: 1.01;
    overflow-wrap: normal;
  }
  .service-page .mk-breadcrumb {
    font-size: 12px;
    margin-bottom: 27px;
  }
  .service-page .mk-lede {
    font-size: 17px;
    margin-top: 25px;
  }
  .service-page .mk-who {
    padding: 26px;
    font-size: 16px;
  }
  .service-page .mk-strip-grid {
    grid-template-columns: 1fr;
    gap: 23px;
  }
  .service-page .mk-strip-lead {
    font-size: 18px;
  }
  .service-page .mk-strip-item b {
    font-size: 16px;
  }
  .service-page .mk-strip-item span {
    font-size: 14px;
  }
  .service-page .mk-content {
    padding: 45px 0;
  }
  .service-page .mk-intro {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-bottom: 40px;
  }
  .service-page .mk-intro h2 {
    font-size: 30px;
  }
  .service-page .mk-bullets,
  .service-page .svc-two-column {
    display: flex;
    columns: auto;
    gap: 14px;
  }
  .service-page .svc-two-column li {
    margin: 0;
  }
  .service-page .mk-section-title {
    font-size: 30px;
    margin-top: 43px;
  }
  .service-page .mk-section-copy {
    font-size: 16px;
  }
  .svc-section-heading {
    grid-template-columns: 1fr;
    gap: 17px;
    margin: 43px 0 25px;
  }
  .service-page .mk-cards,
  .service-page .mk-audit-cards {
    grid-template-columns: 1fr;
    gap: 23px;
  }
  .service-page .mk-card-content {
    padding: 22px;
  }
  .service-page .mk-card h3 {
    font-size: 23px;
  }
  .service-page .mk-list,
  .service-page .mk-card p {
    font-size: 16px;
  }
  .svc-diagram {
    padding: 19px;
    min-height: 0;
  }
  .svc-diagram h4 {
    font-size: 15px;
    margin-bottom: 15px;
  }
  .svc-diagram small {
    font-size: 12px;
  }
  .svc-table,
  .svc-table tbody,
  .svc-table tr,
  .svc-table td,
  .svc-table th {
    display: block;
    width: 100% !important;
  }
  .svc-table thead {
    display: none;
  }
  .svc-table tr {
    padding: 12px 0;
    border-bottom: 1px solid #ded9d0;
  }
  .svc-table tbody th {
    font-size: 14px;
    border: 0;
    padding: 0 0 7px !important;
    font-weight: 700;
  }
  .svc-table small {
    font-size: 12px;
  }
  .svc-table tbody td {
    display: grid;
    grid-template-columns: minmax(64px, 0.65fr) minmax(0, 1.35fr);
    align-items: center;
    gap: 10px;
    padding: 5px 0;
    border: 0;
    font-size: 13px;
    min-height: 28px;
    color: #6f6b63;
  }
  .svc-table td::before {
    content: attr(data-label);
    font-weight: 700;
    color: #686158;
    font-size: 11px;
  }
  .svc-status {
    font-size: 12px;
    padding: 5px;
    max-width: 100%;
  }
  .svc-tags span,
  .svc-diagram .svc-tags span {
    font-size: 12px;
  }
  .service-page .mk-sequence {
    grid-template-columns: 1fr;
  }
  .service-page .mk-stage {
    padding: 22px;
  }
  .service-page .mk-stage h3 {
    font-size: 19px;
  }
  .service-page .mk-stage p,
  .service-page .mk-stage .svc-stage-result {
    font-size: 15px;
  }
  .service-page .mk-stage small {
    font-size: 12px;
  }
  .service-page .svc-stage-state b {
    font-size: 13px;
  }
  .service-page .svc-stage-state p {
    font-size: 14px;
  }
  .svc-stage-state {
    padding-left: 16px;
  }
  .svc-stage-state:before {
    top: 6px;
  }
  .svc-legend {
    font-size: 12px;
    line-height: 1.4;
    gap: 8px 14px;
  }
  .svc-scenario {
    padding: 15px;
    font-size: 13px;
  }
  .svc-scenario > small {
    margin-top: 6px;
  }
  .svc-training {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }
  .svc-training li {
    font-size: 12px;
  }
  .service-page .svc-diagram p {
    font-size: 12px;
  }
  .svc-pair {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .svc-pair b {
    font-size: 13px;
  }
  .svc-pair small {
    font-size: 12px;
    margin-top: 4px;
  }
  .svc-timeline {
    grid-template-columns: 1fr 1fr;
    gap: 25px 10px;
    margin: 26px 0;
  }
  .svc-timeline b {
    font-size: 13px;
  }
  .svc-timeline span,
  .svc-timeline strong {
    font-size: 12px;
  }
  .svc-timeline em {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip-path: none;
    font-style: normal;
    font: 12px "Plus Jakarta Sans";
    margin-right: 5px;
  }
  .svc-rings {
    grid-template-columns: 1fr;
    gap: 25px;
    margin: 24px 0;
  }
  .svc-rings > div {
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 0 15px;
    text-align: left;
    align-items: center;
  }
  .svc-rings .svc-ring {
    grid-row: span 2;
    margin: 0;
  }
  .svc-rings strong {
    font-size: 13px;
    align-self: end;
    margin-bottom: 4px;
  }
  .service-page .svc-rings p {
    font-size: 12px;
    align-self: start;
  }
  .svc-mail-routes {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .svc-mail-routes > div {
    font-size: 12px;
    padding: 12px;
    grid-template-columns: 1fr;
  }
  .svc-mail-routes b {
    grid-row: auto;
  }
  .svc-mail-routes span,
  .svc-mail-routes strong {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 7px;
    margin-top: 4px;
  }
  .svc-mail-routes em {
    display: inline;
    font-style: normal;
    font-size: 12px;
    color: #776d60;
  }
  .svc-score {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin: 23px 0;
  }
  .svc-score .svc-ring {
    width: 88px;
    height: 88px;
  }
  .svc-score > div:last-child > b {
    font-size: 14px;
  }
  .service-page .svc-score p {
    font-size: 13px;
  }
  .svc-system-categories {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .svc-system-categories > div {
    font-size: 13px;
  }
  .service-page .svc-system-categories p {
    font-size: 12px;
  }
  .svc-estate-section {
    padding: 45px 0;
  }
  .svc-estate-section h2 {
    font-size: 30px;
  }
  .svc-estate {
    grid-template-columns: 1fr;
  }
  .svc-estate article {
    padding: 19px;
    gap: 18px;
  }
  .svc-estate h3 {
    font-size: 14px;
  }
  .svc-estate p,
  .svc-estate strong {
    font-size: 12px;
  }
  .svc-estate .svc-ring {
    width: 65px;
    height: 65px;
  }
  .svc-estate .svc-ring b {
    font-size: 14px;
  }
  .svc-estate .svc-ring small {
    font-size: 9px;
  }
  .svc-black-strip {
    display: block;
    padding: 22px;
    font-size: 13px;
  }
  .svc-black-strip > b {
    display: block;
    margin-bottom: 12px;
  }
  .svc-watchtower > b {
    text-align: left;
    min-width: 0;
    font-size: 19px;
  }
  .svc-roadmap {
    display: none;
  }
  .service-page .mk-phone-roadmap {
    display: grid;
    gap: 12px;
  }
  .service-page .mk-phone-roadmap article {
    border-top: 3px solid var(--orange);
    border-radius: 3px;
  }
  .service-page .mk-phone-roadmap h3 {
    font-size: 20px;
  }
  .service-page .mk-phone-roadmap p {
    font-size: 14px;
    line-height: 1.45;
  }
  .service-page .mk-phone-roadmap small {
    font-size: 12px;
    color: #6f6b63;
  }
  .svc-capability td {
    text-align: left;
  }
  .svc-cap {
    width: auto;
    height: auto;
    display: block;
    background: transparent !important;
    font-size: 12px;
    color: #666;
  }
  .svc-cap.keep {
    color: #b14915;
  }
  .svc-cap.retire {
    color: #b55746;
  }
  .svc-cap.retire:after {
    display: none;
  }
  .svc-cap > span {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip-path: none;
  }
  .svc-riskbar {
    height: 10px;
    width: 100%;
  }
  .svc-license-pair {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .svc-license-pair .svc-table thead {
    display: block;
  }
  .svc-license-pair .svc-table thead th {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 7px;
  }
  .svc-license-pair .svc-table th {
    font-size: 13px;
  }
  .svc-license-pair .svc-table .licensed,
  .svc-license-pair .svc-table .retired {
    padding-inline: 10px;
  }
  .svc-license-pair .svc-table td {
    font-size: 12px;
  }
  .svc-policy-docs {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .svc-policy-docs article {
    padding: 16px;
    min-height: 145px;
  }
  .svc-policy-docs b {
    font-size: 14px;
  }
  .svc-policy-docs small {
    font-size: 12px;
  }
  .svc-policy-docs strong {
    font-size: 12px;
  }
  .svc-appetite-title {
    font-size: 14px;
    margin: 25px 0 18px;
  }
  .svc-appetites > div {
    grid-template-columns: 1fr 1fr;
    font-size: 12px;
    gap: 12px;
    margin: 18px 0;
  }
  .svc-appetites > div > b {
    grid-column: 1/-1;
  }
  .svc-appetites > div > span:last-child {
    font-size: 12px;
  }
  .service-page .svc-classification-note {
    font-size: 12px;
    margin-top: 18px;
  }
  .svc-programme {
    grid-template-columns: 1fr;
    gap: 13px;
  }
  .svc-programme li {
    padding: 15px;
    font-size: 14px;
  }
  .svc-programme b {
    font-size: 15px;
  }
  .service-page .svc-programme p {
    font-size: 13px;
    min-height: 0;
  }
  .svc-programme strong {
    font-size: 12px;
  }
  .svc-programme-was,
  .svc-programme-now {
    display: block;
    font-size: 12px;
    padding: 14px;
  }
  .svc-programme-was > b,
  .svc-programme-now > span:last-child {
    display: block;
    margin-top: 8px;
    font-size: 12px;
  }
  .svc-calendar td {
    background: transparent;
    border: 0 !important;
    padding: 5px 0 !important;
    font-size: 12px !important;
    color: #9b968e !important;
    text-align: left;
  }
  .svc-calendar .svc-status {
    font-size: 12px;
    padding: 6px;
  }
  .svc-calendar tbody th {
    font-size: 15px;
  }
  .svc-engagement > div {
    padding: 14px;
  }
  .service-page .mk-outcome {
    padding: 50px 0;
  }
  .service-page .mk-outcome-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .service-page .mk-outcome h2 {
    font-size: 30px;
  }
  .service-page .mk-outcomes li {
    font-size: 16px;
    line-height: 1.5;
  }
  .service-page .mk-outcomes small {
    font-size: 13px;
  }
  .svc-audience {
    font-size: 12px;
  }
  .service-page .mk-dont {
    padding: 24px;
  }
  .service-page .mk-runs {
    padding: 45px 0;
  }
  .service-page .mk-runs h2 {
    font-size: 30px;
  }
  .service-page .mk-run {
    min-height: 0;
    padding: 25px;
  }
  .service-page .mk-run h3 {
    font-size: 24px;
  }
  .service-page .mk-run .mk-run-key {
    font-size: 16px;
  }
  .service-page .mk-cta {
    padding: 50px 0;
  }
  .service-page .mk-cta-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .service-page .mk-cta h2 {
    font-size: clamp(34px, 10.7vw, 50px);
    overflow-wrap: normal;
  }
  .service-page .mk-cta h3 {
    font-size: 22px;
  }
  .service-page .mk-cta-note {
    font-size: 16px;
  }
  .service-page .mk-footer {
    font-size: 11px;
  }
  .service-page .mk-finding {
    padding: 24px;
  }
  .service-page .mk-finding h3 {
    font-size: 23px;
  }
  .service-page .mk-finding p {
    font-size: 16px;
  }
  .service-page .mk-finding .finding {
    font-size: 15px;
    margin-top: 10px;
  }
  .svc-inbox {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-top: 40px;
  }
  .svc-deliverables dt {
    font-size: 17px;
    display: block;
  }
  .svc-deliverables dt > span {
    display: block;
    text-align: left;
    margin-top: 7px;
  }
  .svc-report-sample {
    padding: 0;
  }
  .service-page .svc-report-sample .mk-report-stack {
    height: 270px;
  }
  .service-page .svc-report-sample .mk-page {
    padding: 9px;
    min-height: 215px;
    top: 20px;
  }
  .service-page .svc-report-sample .mk-page > small {
    font-size: 4px;
    margin-bottom: 14px;
  }
  .service-page .svc-report-sample .mk-page > b {
    font-size: 8px;
  }
  .service-page .svc-report-sample .mk-page.report-cover > b {
    font-size: 12px;
    margin-top: 27px;
  }
  .service-page .svc-report-sample .mk-page.report-cover > span {
    font-size: 6px;
  }
  .service-page .svc-report-sample .mk-page p,
  .service-page .svc-report-sample .mk-page li {
    font-size: 5px;
    margin: 5px 0;
  }
  .service-page .svc-report-sample .mk-page strong {
    font-size: 5px;
  }
  .service-page .svc-report-sample .mk-page footer {
    font-size: 5px;
    margin-top: 45px;
  }
  .service-page .svc-report-sample .report-note {
    font-size: 5px;
    padding: 5px;
  }
  .svc-inbox-note {
    font-size: 15px;
    margin-top: 0;
  }
  .service-page .mk-hero-grid > *,
  .service-page .mk-intro > *,
  .service-page .mk-outcome-grid > *,
  .service-page .mk-cta-grid > * {
    min-width: 0;
  }
}

/* Align paired diagram baselines while keeping content native and reflowable. */
@media (min-width: 761px) {
  .service-page .mk-cards:not(.mk-audit-cards) > .mk-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    row-gap: 0;
  }
  .svc-principles th:first-child {
    width: 82%;
  }
  .svc-classification th:first-child {
    width: 24%;
  }
  .svc-platform th:first-child {
    width: 28%;
  }
  .svc-platform th:nth-child(2) {
    width: 29%;
  }
  .svc-priorities th:first-child {
    width: 56%;
  }
  .svc-priorities th:nth-child(2) {
    width: 23%;
  }
  .svc-priorities th:nth-child(3) {
    width: 9%;
  }
  .svc-priorities th:nth-child(4) {
    width: 12%;
  }
}
.service-page .svc-ring small {
  text-decoration: line-through;
}
.service-page .svc-report-sample .mk-page:last-child > strong {
  display: block;
  border-left: 3px solid var(--orange);
  padding-left: 6px;
}
.service-page .svc-report-sample .mk-page:last-child > strong:nth-of-type(2) {
  border-left-color: var(--yellow);
}
.service-page .svc-report-sample .mk-page:last-child > strong:nth-of-type(3) {
  border-left-color: #979087;
}
.svc-paper-meter {
  height: 5px;
  background: var(--orange);
  margin: 5px 0 9px;
}
@media (max-width: 760px) {
  .service-page .svc-ring b:before {
    content: "After";
    display: block;
    font: 8px "Plus Jakarta Sans";
    letter-spacing: 0;
    color: #777;
  }
  .service-page .svc-ring small {
    text-decoration: none;
  }
  .service-page .svc-ring small:before {
    content: "Before ";
    font: 8px "Plus Jakarta Sans";
  }
}
/* Homepage compositions from the supplied design. */
.home-hero {
  padding: 35px 0;
}
.home-hero-inner {
  max-width: 1366px;
  margin: auto;
  padding: 0 30px;
  display: grid;
  grid-template-columns: 470px 1fr;
  gap: 42px;
}
.home-hero h1 {
  font-size: 83px;
  line-height: 0.96;
  letter-spacing: -0.045em;
}
.home-framed {
  position: relative;
  padding: 24px;
  margin: 20px 0 0;
  max-width: 398px;
  font-size: 17px;
  line-height: 1.5;
  background:
    linear-gradient(white, white) left top/12px 2px no-repeat,
    linear-gradient(white, white) left top/2px 12px no-repeat,
    linear-gradient(white, white) right top/12px 2px no-repeat,
    linear-gradient(white, white) right top/2px 12px no-repeat,
    linear-gradient(white, white) left bottom/12px 2px no-repeat,
    linear-gradient(white, white) left bottom/2px 12px no-repeat,
    linear-gradient(white, white) right bottom/12px 2px no-repeat,
    linear-gradient(white, white) right bottom/2px 12px no-repeat;
  color: #fff;
}
.home-hero-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding-left: 5px;
}
.home-mascot {
  width: 360px;
  max-width: 100%;
  height: 340px;
  object-fit: contain;
  margin: 0 0 38px 15px;
}
.home-actions {
  display: grid;
  gap: 13px;
  width: 380px;
  max-width: 100%;
}
.home-action {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font:
    700 15px "Sora",
    sans-serif;
}
.home-action.dark {
  color: var(--yellow);
  background: #131315;
  clip-path: polygon(0 0, 96% 0, 100% 24%, 100% 100%, 4% 100%, 0 76%);
}
.home-action small {
  margin-left: 8px;
  background: var(--yellow);
  color: #111;
  font: 700 12px "JetBrains Mono";
  padding: 1px 3px;
}
.home-action.outline {
  border: 3px solid #fff;
  color: #fff;
}
.home-services {
  padding-top: 75px;
  padding-bottom: 75px;
}
.home-service-row {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  gap: 34px;
  padding: 0 0 36px;
  margin-bottom: 36px;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 30px;
}
.home-service-row:last-of-type {
  border-bottom: 0;
  margin-bottom: 42px;
}
.home-group small {
  display: inline-block;
  font: 700 12px "JetBrains Mono";
  background: #252527;
  color: #fff;
  padding: 4px 6px;
}
.home-group h2 {
  font: 700 28px/1.06 "Sora";
  letter-spacing: -0.04em;
  margin: 15px 0;
}
.home-group p {
  font-size: 15px;
  color: var(--muted);
  max-width: 255px;
  margin: 0;
}
.home-card {
  background: white;
  border: 1px solid #e4e1db;
  border-radius: 4px;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.home-card-copy {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.home-card h3 {
  font: 700 22px/1.08 "Sora";
  letter-spacing: -0.035em;
  margin: 0 0 12px;
}
.home-card p {
  font-size: 15px;
  color: var(--muted);
  margin: 0;
  line-height: 1.4;
}
.home-more {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  margin-top: auto;
  padding-top: 25px;
}
.home-more span {
  font-size: 26px;
  color: var(--orange);
  line-height: 1;
}
.home-audit {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  min-height: 320px;
}
.home-audit-preview {
  background: #faf9f6;
  border-left: 1px solid #e4e1db;
  padding: 16px 22px;
}
.home-audit-preview h4 {
  font: 700 13px "Sora";
  margin: 0;
}
.mk-report-stack {
  height: 270px;
  position: relative;
  isolation: isolate;
  max-width: 100%;
  margin-top: 12px;
}
.mk-page {
  position: absolute;
  width: 38%;
  min-height: 210px;
  background: #fff;
  box-shadow: 0 16px 20px #0002;
  font-size: 7px;
  line-height: 1.45;
  padding: 15px;
  top: 25px;
  left: 29%;
  transform: rotate(0deg);
  z-index: 2;
}
.mk-page:first-child {
  left: 1%;
  top: 4px;
  transform: rotate(-7deg);
  background: #222225;
  color: #fff;
  border-bottom: 20px solid var(--orange);
  z-index: 1;
}
.mk-page:last-child {
  left: 61%;
  top: 17px;
  transform: rotate(5deg);
  z-index: 3;
}
.mk-page > small {
  display: block;
  font: 700 5px "Sora";
  color: var(--orange);
  margin-bottom: 20px;
}
.mk-page > b {
  display: block;
  font: 700 11px/1.2 "Sora";
  margin-bottom: 7px;
}
.mk-page p {
  font-size: 6px;
  margin: 6px 0;
}
.mk-page ul {
  padding-left: 9px;
  margin: 9px 0;
  font-size: 6px;
}
.mk-page li {
  margin: 6px 0;
}
.mk-page li::marker {
  color: var(--orange);
}
.mk-page strong {
  font: 700 6px "Sora";
}
.mk-page footer {
  font-size: 6px;
  margin-top: 54px;
}
.mk-page.report-cover > b {
  margin-top: 32px;
  font-size: 17px;
}
.mk-page.report-cover > span {
  display: block;
  font-size: 7px;
}
.report-note {
  background: #19191b;
  color: white;
  padding: 7px;
  font-size: 6px;
  margin-top: 12px;
}
.home-fix-cards {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
}
.home-product-preview,
.home-soc-preview {
  background: #faf9f6;
  padding: 18px 20px;
  min-height: 270px;
  border-bottom: 1px solid #e4e1db;
}
.home-product-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  text-align: left;
}
.home-product-table th,
.home-product-table td {
  vertical-align: top;
  padding: 7px 5px;
  border-bottom: 1px solid var(--line);
  line-height: 1.3;
}
.home-product-table th {
  font-size: 12px;
  min-width: 80px;
}
.home-product-table td {
  color: var(--muted);
}
.home-product-table td:last-child {
  color: #222;
  border-left: 2px solid var(--orange);
  font-weight: 700;
}
.home-product-table thead th {
  font: 11px "JetBrains Mono";
  text-transform: uppercase;
  color: #707070;
}
.home-score-line {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  margin: 13px 0 0;
}
.home-score-line > b:last-child {
  color: var(--orange-text);
}
.home-score-bar {
  flex: 1;
  background: linear-gradient(90deg, var(--orange) 78%, #e4e0d8 78%);
  height: 9px;
}
.home-soc-preview h4 {
  font: 700 15px/1.1 "Sora";
  margin: 0 0 12px;
}
.home-alert-number {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  font-size: 12px;
  align-items: center;
}
.home-alert-number b,
.home-alert-number strong {
  font: 700 15px "JetBrains Mono";
  padding: 6px;
  background: #dedbd3;
}
.home-alert-number strong {
  grid-column: 2;
  background: var(--orange);
}
.home-alert-number small {
  font-size: 11px;
  color: #707070;
}
.home-soc-stats {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 13px;
  gap: 6px;
  font-size: 11px;
  color: #707070;
}
.home-soc-stats b {
  display: block;
  color: #222;
  margin-top: 6px;
  font: 700 12px "JetBrains Mono";
  white-space: nowrap;
}
.home-advise-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.home-strategy-preview,
.home-ai-preview,
.home-advisory-preview {
  height: 195px;
  position: relative;
  background: #faf9f6;
  padding: 18px;
  border-bottom: 1px solid #e4e1db;
}
.home-quarters {
  display: flex;
  justify-content: space-around;
  font: 11px "JetBrains Mono";
  color: #707070;
  margin: 10px 0;
}
.home-strategy-preview > b {
  display: block;
  background: var(--orange);
  width: 35%;
  padding: 6px;
  font-size: 12px;
}
.home-strategy-preview > strong {
  display: block;
  background: var(--yellow);
  width: 85%;
  margin: 8px 0 0 13%;
  padding: 6px;
  font-size: 12px;
  white-space: nowrap;
}
.home-strategy-preview > span {
  display: block;
  font-size: 12px;
  text-align: right;
  margin-top: 10px;
}
.home-strategy-preview > small {
  position: absolute;
  bottom: 20px;
  font-size: 11px;
}
.home-policy {
  width: 130px;
  height: 135px;
  background: white;
  box-shadow: 0 4px 20px #0001;
  padding: 14px;
  font-size: 11px;
}
.home-policy hr {
  border: 0;
  border-top: 2px solid #e7e4dc;
  margin: 8px 0;
}
.ai-label {
  position: absolute;
  padding: 6px;
  font-size: 12px;
  white-space: nowrap;
}
.ai-label.one {
  background: #222;
  color: white;
  right: 18px;
  top: 38px;
}
.ai-label.two {
  background: var(--orange);
  right: 18px;
  top: 72px;
}
.ai-label.three {
  background: var(--yellow);
  right: 18px;
  top: 106px;
}
.home-ai-preview > small {
  position: absolute;
  bottom: 13px;
  right: 18px;
  font-size: 11px;
  color: #707070;
  text-align: right;
}
.home-advisory-preview > div {
  background: white;
  border: 1px solid #e7e4dd;
  border-radius: 5px;
  padding: 6px;
  margin-bottom: 7px;
  max-width: 90%;
}
.home-advisory-preview small {
  font-size: 11px;
  color: #707070;
}
.home-advisory-preview p {
  font-size: 12px;
  line-height: 1.3;
  margin-top: 2px;
  color: #222;
}
.home-advisory-preview > div.home-chat-reply {
  background: #222;
  color: white;
  margin-left: 14%;
  max-width: 90%;
}
.home-chat-reply small {
  color: var(--yellow);
}
.home-chat-reply p {
  color: white;
}
.home-call-strip {
  background: #1b1b1d;
  padding: 34px 38px;
  border-radius: 4px;
  color: #aaa;
  display: flex;
  gap: 35px;
  align-items: center;
}
.home-call-strip p {
  margin: 0;
  line-height: 1.6;
  flex: 1;
  font-size: 18px;
}
.home-call-strip b {
  color: #eee;
}
.home-call-strip .mk-book {
  font-size: 13px !important;
  white-space: nowrap;
}
.home-founder {
  background: #1b1b1d;
  color: #a9a59c;
  padding: 90px 0;
}
.home-founder-grid {
  display: grid;
  grid-template-columns: 440px 1fr;
  gap: 76px;
}
.home-portrait {
  margin: 0;
  background: #29292e;
  border: 1px solid #3c3b3d;
  display: flex;
  flex-direction: column;
  justify-content: end;
  min-height: 495px;
}
.home-portrait svg {
  width: 250px;
  margin: auto;
  max-width: 100%;
}
.home-portrait figcaption {
  background: #18181a;
  color: #9a958a;
  padding: 14px;
  font-size: 12px;
  border-top: 1px solid #3c3b3d;
}
.home-founder h2 {
  font: 700 42px/1.1 "Sora";
  letter-spacing: -0.04em;
  color: #eee;
  margin: 10px 0 22px;
}
.home-founder p {
  font-size: 17px;
  line-height: 1.5;
  margin: 0 0 18px;
}
.home-credentials {
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 35px 0 40px;
  font-size: 13px;
}
.home-credentials > img {
  width: 134px;
  height: auto;
}
.home-credentials > div {
  flex: 1;
  min-width: 0;
}
.home-credentials b,
.home-credentials span {
  display: block;
  font-size: 13px;
  line-height: 1.4;
}
.home-credentials b {
  color: #ddd;
}
.home-ce {
  display: flex;
  align-items: center;
  gap: 10px;
}
.home-ce > span {
  border-radius: 50%;
  border: 3px solid #4cbaed;
  background: #06679b;
  min-width: 47px;
  min-height: 47px;
  display: grid;
  place-items: center;
  color: white;
  font: bold 19px "Sora";
}
.home-ce > b {
  font-size: 12px;
}
.home-founder blockquote {
  margin: 0;
  border-top: 1px solid #2b2b2c;
  padding-top: 25px;
  font: 700 21px/1.3 "Sora";
  color: #9a958a;
}
.home-founder cite {
  display: block;
  font: 13px "Plus Jakarta Sans";
  margin-top: 14px;
}
.home-proof {
  padding-top: 70px;
  padding-bottom: 80px;
}
.home-proof-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 30px;
}
.home-proof h2 {
  font: 700 32px/1.05 "Sora";
  letter-spacing: -0.04em;
  max-width: 470px;
  margin: 0;
}
.home-proof p {
  font-size: 16px;
  color: var(--muted);
  margin: 0;
}
.home-proof-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.home-proof-chips span {
  padding: 11px 13px;
  background: #fff;
  border: 1px solid #e4e1db;
  font-size: 13px;
  font-weight: 700;
}
.home-proof-chips span::before {
  content: "◆";
  color: var(--orange);
  font-size: 11px;
  margin-right: 8px;
}
.home-proof-chips span:nth-child(3n)::before {
  color: var(--yellow);
}
.home-proof-chips span:nth-child(3n + 2)::before {
  color: #333;
}
.home-closing {
  padding: 90px 0;
}
.home-closing h2 {
  font-size: 62px;
  line-height: 0.98;
}
.home-closing h3 {
  font: 700 25px/1.1 "Sora";
  margin: 0 0 38px;
}
.home-closing p {
  font-size: 18px;
}
.home-closing ul {
  list-style: none;
  padding: 0;
  margin: 25px 0;
  font-size: 14px;
}
.home-closing li {
  border-bottom: 1px solid #17171930;
  padding: 10px 0;
}
.home-closing-button {
  width: 210px;
  font-size: 13px;
}
@media (min-width: 1101px) {
  .mk-nav {
    min-height: 68px;
    padding-block: 8px;
    gap: 22px;
  }
  .mk-logo img {
    width: 140px;
  }
  .mk-nav a,
  .mk-drop button {
    font-size: 10px;
  }
  .mk-links {
    gap: 25px;
  }
  .mk-nav > .mk-book {
    font-size: 13px !important;
    padding: 16px 26px !important;
  }
  .mk-menu {
    top: 42px;
  }
  .mk-nav a[aria-current="page"] {
    color: var(--orange);
    text-decoration: underline;
    text-underline-offset: 14px;
  }
}
@media (max-width: 1100px) {
  .home-hero-inner {
    grid-template-columns: 40% 1fr;
    gap: 30px;
  }
  .home-hero h1 {
    font-size: clamp(54px, 6.3vw, 78px);
  }
  .home-mascot {
    width: 320px;
    height: 310px;
  }
  .home-service-row {
    grid-template-columns: 230px 1fr;
    gap: 25px;
  }
  .home-group h2 {
    font-size: 25px;
  }
  .home-advise-cards {
    gap: 12px;
  }
  .home-card-copy {
    padding: 18px;
  }
  .home-card h3 {
    font-size: 20px;
  }
  .home-fix-cards {
    grid-template-columns: 1.5fr 1fr;
    gap: 12px;
  }
  .home-product-table {
    font-size: 11px;
  }
  .home-founder-grid {
    grid-template-columns: 34% 1fr;
    gap: 40px;
  }
  .home-credentials {
    flex-wrap: wrap;
    gap: 18px;
  }
  .home-credentials > div {
    flex: none;
  }
  .home-closing h2 {
    font-size: 48px;
  }
}
@media (max-width: 760px) {
  .home-hero-inner {
    display: flex;
    flex-direction: column;
    padding: 0 20px;
    gap: 25px;
  }
  .home-hero h1 {
    font-size: clamp(48px, 13.4vw, 78px);
  }
  .home-framed {
    font-size: 16px;
    max-width: 430px;
  }
  .home-hero-right {
    padding: 0;
    align-items: center;
  }
  .home-actions {
    order: -1;
    width: 100%;
  }
  .home-mascot {
    margin: 28px 0 0;
    width: 280px;
    height: 255px;
  }
  .home-services {
    padding-block: 50px;
  }
  .home-service-row {
    display: block;
    margin-bottom: 30px;
    padding-bottom: 30px;
  }
  .home-group {
    margin-bottom: 22px;
  }
  .home-group h2 {
    font-size: 28px;
  }
  .home-group h2 br {
    display: none;
  }
  .home-group p {
    max-width: 100%;
  }
  .home-audit {
    display: flex;
    min-height: 0;
  }
  .home-audit-preview {
    border-left: 0;
    border-top: 1px solid #e4e1db;
    padding: 20px;
    min-height: 280px;
  }
  .home-card-copy {
    padding: 22px;
    min-height: 205px;
  }
  .home-card h3 {
    font-size: 23px;
  }
  .home-card p {
    font-size: 16px;
  }
  .home-more {
    padding-top: 25px;
  }
  .home-fix-cards,
  .home-advise-cards {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .home-product-preview {
    min-height: 0;
  }
  .home-product-table,
  .home-product-table tbody,
  .home-product-table tr,
  .home-product-table td,
  .home-product-table th {
    display: block;
  }
  .home-product-table thead {
    display: none;
  }
  .home-product-table tr {
    border-bottom: 1px solid var(--line);
    padding: 8px 0;
  }
  .home-product-table th {
    border: 0;
    padding: 5px 0;
    font: 700 14px "Sora";
  }
  .home-product-table td {
    display: grid;
    grid-template-columns: 65px 1fr;
    border: 0 !important;
    padding: 5px 0;
    font-size: 12px;
  }
  .home-product-table td::before {
    content: attr(data-label);
    font-weight: 700;
    color: #333;
  }
  .home-soc-preview {
    min-height: 200px;
  }
  .home-alert-number {
    font-size: 13px;
    max-width: 280px;
  }
  .home-soc-stats {
    font-size: 12px;
  }
  .home-soc-stats b {
    font-size: 12px;
  }
  .home-strategy-preview,
  .home-ai-preview,
  .home-advisory-preview {
    height: 220px;
  }
  .home-strategy-preview > strong {
    font-size: 12px;
    white-space: normal;
  }
  .home-strategy-preview > b,
  .home-strategy-preview > span {
    font-size: 12px;
  }
  .home-quarters {
    font-size: 12px;
  }
  .home-policy {
    height: 155px;
    width: 150px;
    font-size: 12px;
  }
  .ai-label {
    font-size: 12px;
  }
  .home-advisory-preview small {
    font-size: 12px;
  }
  .home-advisory-preview p {
    font-size: 12px;
  }
  .home-call-strip {
    display: block;
    padding: 25px;
  }
  .home-call-strip p {
    font-size: 16px;
  }
  .home-call-strip .mk-book {
    margin-top: 20px;
  }
  .home-founder {
    padding: 50px 0;
  }
  .home-founder-grid {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
  .home-portrait {
    min-height: 330px;
    max-width: 440px;
    width: 100%;
  }
  .home-founder h2 {
    font-size: 33px;
  }
  .home-founder p {
    font-size: 16px;
  }
  .home-credentials {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .home-founder blockquote {
    font-size: 19px;
  }
  .home-proof {
    padding-block: 50px;
  }
  .home-proof-intro {
    display: block;
    margin-bottom: 25px;
  }
  .home-proof h2 {
    font-size: 29px;
  }
  .home-proof p {
    margin-top: 18px;
  }
  .home-proof-chips {
    gap: 8px;
  }
  .home-proof-chips span {
    font-size: 12px;
    padding: 9px;
  }
  .home-closing {
    padding-block: 55px;
  }
  .home-closing h2 {
    font-size: clamp(36px, 10.6vw, 56px);
  }
  .home-closing h3 {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .home-closing p {
    font-size: 16px;
  }
  .home-closing-button {
    width: 220px;
  }
  .home-score-line {
    flex-wrap: wrap;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 5px;
}

/* Final header and phone refinements, shared only by the seven marketing pages. */
.mk-nav {
  background: #1a1a1c;
  padding-inline: 36px;
}
.mk-nav-active {
  color: var(--orange) !important;
  text-decoration: underline;
  text-underline-offset: 14px;
}
.mk-menu a[aria-current="page"] {
  color: var(--orange);
}
.mk-drop:last-child .mk-menu {
  left: auto;
  right: 0;
}
.mk-mobile-panel {
  max-height: calc(100dvh - 68px);
  overflow-y: auto;
}
.mk-mobile-panel a {
  line-height: 1.45;
}
.home-hero-right .home-mascot {
  order: -1;
  width: 415px;
  height: 365px;
  margin-left: 0;
}
.home-product-table.mk-matrix {
  display: table;
}
.home-product-table.mk-matrix div {
  display: block;
}
.mk-cta-grid > * {
  min-width: 0;
}
.home-founder {
  background: #1a1a1c;
}
.mk-footer,
.mk-strip {
  background: #111113;
}
@media (max-width: 1100px) {
  .mk-nav {
    padding-inline: 24px;
  }
  .home-hero-right .home-mascot {
    width: 320px;
    height: 310px;
  }
}
@media (min-width: 761px) and (max-width: 900px) {
  .home-service-row {
    grid-template-columns: 1fr;
  }
  .home-group p {
    max-width: 500px;
  }
  .home-group h2 br {
    display: none;
  }
  .home-fix-cards {
    grid-template-columns: 2fr 1fr;
  }
  .home-product-table {
    font-size: 12px;
  }
  .home-product-table th {
    font-size: 12px;
  }
}
@media (max-width: 760px) {
  .mk-nav {
    padding-inline: 20px;
  }
  .home-hero-right .home-mascot {
    order: 0;
    width: 280px;
    height: 255px;
    margin: 28px 0 0;
  }
  .home-actions {
    order: 0;
  }
  .home-closing h2 {
    font-size: clamp(30px, 9.5vw, 56px);
  }
  .home-product-table.mk-matrix {
    display: block;
  }
  .home-audit-preview .mk-report-stack {
    height: auto;
    display: grid;
    gap: 16px;
    margin-top: 20px;
  }
  .home-audit-preview .mk-page {
    position: static;
    width: 100%;
    transform: none;
    min-height: 0;
    padding: 22px;
    font-size: 12px;
    border-bottom-width: 14px;
  }
  .home-audit-preview .mk-page > small {
    font-size: 10px;
    margin-bottom: 20px;
  }
  .home-audit-preview .mk-page > b,
  .home-audit-preview .mk-page.report-cover > b {
    font-size: 22px;
    margin-top: 0;
  }
  .home-audit-preview .mk-page p,
  .home-audit-preview .mk-page li,
  .home-audit-preview .mk-page strong,
  .home-audit-preview .mk-page ul,
  .home-audit-preview .mk-page footer,
  .home-audit-preview .mk-page > span,
  .home-audit-preview .report-note {
    font-size: 12px;
  }
  .home-audit-preview .mk-page footer {
    margin-top: 25px;
  }
  .home-score-line {
    font-size: 12px;
  }
  .home-score-bar {
    min-width: 50px;
  }
}

.svc-desktop-break {
  display: none;
}
@media (min-width: 1101px) {
  .sentinel-page .mk-hero h1 {
    font-size: 60px;
  }
  .svc-desktop-break {
    display: block;
  }
}

@media (min-width: 1101px) {
  .tenant-audit-page .mk-hero h1 {
    font-size: 64px;
  }
}

/* Sentinel response workflow: responsibilities rather than advertised timings. */
.sentinel-page .svc-response-flow {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 26px 0;
  padding: 0;
}
.sentinel-page .svc-response-flow li {
  position: relative;
  min-width: 0;
  border-top: 2px solid #dedbd3;
  padding: 20px 0 0;
}
.sentinel-page .svc-response-flow li::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--orange);
}
.sentinel-page .svc-response-flow h5 {
  font:
    700 12px/1.3 "Sora",
    sans-serif;
  margin: 0 0 9px;
}
.sentinel-page .svc-response-flow p,
.sentinel-page .svc-response-flow strong {
  display: block;
  font:
    12px/1.5 "Plus Jakarta Sans",
    sans-serif;
  margin: 0;
}
.sentinel-page .svc-response-flow p {
  color: #746e65;
  margin-bottom: 8px;
}
.sentinel-page .svc-response-flow strong {
  font-weight: 700;
}
.sentinel-page .svc-response-note {
  font-size: 12px;
  line-height: 1.5;
  color: #746e65;
  margin: 0 0 15px;
}
@media (max-width: 1100px) {
  .sentinel-page .svc-response-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 20px;
  }
  .sentinel-page .svc-response-flow h5 {
    font-size: 14px;
  }
  .sentinel-page .svc-response-flow p,
  .sentinel-page .svc-response-flow strong {
    font-size: 12px;
  }
}
@media (max-width: 760px) {
  .sentinel-page .svc-response-flow {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .sentinel-page .svc-response-flow h5 {
    font-size: 16px;
  }
  .sentinel-page .svc-response-flow p,
  .sentinel-page .svc-response-flow strong,
  .sentinel-page .svc-response-note {
    font-size: 14px;
  }
}

/* Sentinel page: make the two real workflows visible without implying a sequence between work areas. */
.sentinel-page .svc-work-areas > .mk-card {
  position: relative;
  display: flex !important;
  grid-row: auto !important;
  grid-template-rows: none !important;
}
.sentinel-page .svc-work-label {
  font:
    600 12px/1.25 "JetBrains Mono",
    monospace;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #6f6b63;
  margin: 0;
  padding: 12px 22px 0;
}
.sentinel-page .svc-work-label + .svc-diagram {
  margin-top: 10px;
}
.sentinel-page .svc-detail-link {
  margin: 16px 0 0;
  font:
    600 12px/1.3 "JetBrains Mono",
    monospace;
}
.sentinel-page .svc-detail-link a {
  color: #b74b19;
  text-decoration-color: var(--orange);
  text-underline-offset: 4px;
}
.sentinel-page .svc-detection-detail {
  margin-top: 28px;
  padding: 26px 28px 29px;
  border-left: 4px solid var(--orange);
  background: #f4f2ed;
}
.sentinel-page .svc-detection-detail-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  gap: 35px;
  align-items: start;
  margin-bottom: 22px;
}
.sentinel-page .svc-detection-detail .svc-work-label {
  padding: 4px 0 0;
  color: #a14a20;
}
.sentinel-page .svc-detection-detail h2 {
  font:
    700 25px/1.12 "Sora",
    sans-serif;
  letter-spacing: -0.035em;
  margin: 0 0 10px;
}
.sentinel-page .svc-detection-detail .mk-section-copy {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}
.sentinel-page .svc-detection-detail-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
}
.sentinel-page .svc-detection-detail-columns article {
  min-width: 0;
}
.sentinel-page .svc-detection-detail-columns h3 {
  font:
    700 17px/1.2 "Sora",
    sans-serif;
  letter-spacing: -0.025em;
  margin: 0 0 10px;
}
.sentinel-page .svc-detection-detail-columns p {
  font-size: 14px;
  line-height: 1.5;
  color: #6c6962;
  margin: 0;
}
.sentinel-page .svc-detection-detail-columns .mk-list {
  font-size: 14px;
  line-height: 1.45;
  margin-top: 11px;
}
.sentinel-page .svc-detection-detail-columns .mk-list li {
  padding-block: 8px;
}
/* Connectors use the step boxes directly, so their stroke and arrowheads stay pixel sized. */
.sentinel-page .svc-flow-wrap {
  position: relative;
}
.sentinel-page .svc-response-flow {
  --flow-gap: 14px;
  position: relative;
  gap: var(--flow-gap);
}
.sentinel-page .svc-response-flow li {
  border: 0;
  padding-top: 26px;
}
.sentinel-page .svc-response-flow li::before {
  top: 0;
  left: 0;
}
.sentinel-page .svc-flow-link {
  position: absolute;
  pointer-events: none;
  display: block;
  top: 5px;
  left: 18px;
  width: calc(100% + var(--flow-gap) - 22px);
  height: 2px;
  background: var(--orange);
}
.sentinel-page .svc-flow-link::after {
  content: "";
  position: absolute;
  right: 0;
  top: -4px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid var(--orange);
}
.sentinel-page .svc-run-flow {
  --flow-gap: 28px;
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  gap: var(--flow-gap);
}
.sentinel-page .svc-run-flow .mk-run {
  position: relative;
  overflow: visible;
}
.sentinel-page .svc-run-flow .svc-flow-link {
  top: 28px;
  left: calc(100% + 3px);
  width: calc(var(--flow-gap) - 6px);
}
.sentinel-page .svc-detection-detail-heading {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}
.sentinel-page .svc-detection-detail-heading .svc-work-label {
  margin-bottom: 8px;
}
.sentinel-page .svc-flow-ready.is-drawing .svc-flow-link {
  animation: svc-flow-draw 0.7s cubic-bezier(0.4, 0, 0.2, 1) both;
}
@keyframes svc-flow-draw {
  from {
    clip-path: inset(-6px 100% -6px -6px);
  }
  to {
    clip-path: inset(-6px -6px -6px -6px);
  }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .sentinel-page .svc-response-flow {
    --flow-gap: 20px;
    gap: 48px var(--flow-gap);
  }
  .sentinel-page .svc-response-flow li:nth-child(2) > .svc-flow-link {
    width: calc(100% - 6px);
    height: calc(100% + 19px);
    background: none;
    border: 2px solid var(--orange);
    border-left: 0;
    border-radius: 0 4px 4px 0;
  }
  .sentinel-page .svc-response-flow li:nth-child(2) > .svc-flow-link i {
    position: absolute;
    right: 100%;
    bottom: -2px;
    width: calc(100% + 40px);
    height: 24px;
    border-top: 2px solid var(--orange);
    border-left: 2px solid var(--orange);
    transform: translateY(22px);
    border-radius: 4px 0 0 0;
  }
  .sentinel-page .svc-response-flow li:nth-child(2) > .svc-flow-link::after {
    right: calc(200% + 35px);
    top: calc(100% + 16px);
    border: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid var(--orange);
  }
  .sentinel-page .svc-flow-ready.is-drawing .svc-response-flow li:nth-child(2) > .svc-flow-link {
    animation-name: svc-flow-draw-return;
  }
}
@media (max-width: 1100px) {
  .sentinel-page .svc-work-label {
    padding-inline: 17px;
  }
}
@media (max-width: 760px) {
  .sentinel-page .svc-work-label {
    padding: 14px 19px 0;
    font-size: 12px;
  }
  .sentinel-page .svc-detection-detail {
    margin-top: 23px;
    padding: 22px 20px 24px;
  }
  .sentinel-page .svc-detection-detail h2 {
    font-size: 23px;
  }
  .sentinel-page .svc-detection-detail-columns {
    grid-template-columns: 1fr;
    gap: 23px;
  }
  .sentinel-page .svc-detection-detail-columns h3 {
    font-size: 18px;
  }
  .sentinel-page .svc-detection-detail-columns p,
  .sentinel-page .svc-detection-detail-columns .mk-list {
    font-size: 15px;
  }
  .sentinel-page .svc-detection-detail-heading {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .sentinel-page .svc-response-flow {
    --flow-gap: 32px;
    gap: var(--flow-gap);
    padding-left: 0;
  }
  .sentinel-page .svc-response-flow li {
    padding: 0 0 0 26px;
  }
  .sentinel-page .svc-response-flow li::before {
    top: 4px;
  }
  .sentinel-page .svc-response-flow .svc-flow-link {
    top: 22px;
    left: 5px;
    width: 2px;
    height: calc(100% + var(--flow-gap) - 22px);
  }
  .sentinel-page .svc-response-flow .svc-flow-link::after {
    top: auto;
    bottom: 0;
    left: -4px;
    right: auto;
    border: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid var(--orange);
  }
  .sentinel-page .svc-run-flow {
    --flow-gap: 32px;
    grid-template-columns: 1fr;
    gap: var(--flow-gap);
  }
  .sentinel-page .svc-run-flow .svc-flow-link {
    top: calc(100% + 3px);
    left: 26px;
    width: 2px;
    height: calc(var(--flow-gap) - 6px);
  }
  .sentinel-page .svc-run-flow .svc-flow-link::after {
    top: auto;
    bottom: 0;
    left: -4px;
    right: auto;
    border: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid var(--orange);
  }
  .sentinel-page .svc-flow-ready.is-drawing .svc-flow-link {
    animation-name: svc-flow-draw-down;
  }
}
@keyframes svc-flow-draw-return {
  from {
    clip-path: inset(-6px -6px 100% calc(-100% - 50px));
  }
  to {
    clip-path: inset(-6px -6px -30px calc(-100% - 50px));
  }
}
@keyframes svc-flow-draw-down {
  from {
    clip-path: inset(-6px -6px 100% -6px);
  }
  to {
    clip-path: inset(-6px -6px -6px -6px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .sentinel-page .svc-flow-ready.is-drawing .svc-flow-link {
    animation: none !important;
  }
}

/* Phone: keep the capability matrix as a grid. Stacked, it became 35 rows of "Vendor A: —". */
@media (max-width: 760px) {
  .svc-table.svc-capability {
    display: table;
    width: 100% !important;
    table-layout: fixed;
  }
  .svc-capability thead {
    display: table-header-group;
  }
  .svc-capability tbody {
    display: table-row-group;
  }
  .svc-capability tr {
    display: table-row;
    padding: 0;
  }
  .svc-capability th,
  .svc-capability td,
  .svc-capability tbody td {
    display: table-cell;
    width: auto !important;
    padding: 9px 2px !important;
    border-bottom: 1px solid #ded9d0;
    vertical-align: middle;
    text-align: center;
    min-height: 0;
  }
  .svc-capability th:first-child {
    width: 34% !important;
    text-align: left;
    font-size: 13px;
    line-height: 1.25;
  }
  .svc-capability thead th {
    font-size: 10px;
    line-height: 1.2;
    color: #6f6b63;
    vertical-align: bottom;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .svc-capability td::before {
    content: none;
  }
  .svc-capability .svc-cap {
    display: inline-block;
    width: 14px;
    height: 14px;
    background: #e4e1da !important;
  }
  .svc-capability .svc-cap.keep {
    background: var(--orange) !important;
  }
  .svc-capability .svc-cap.retire {
    background: #ffe3dd !important;
    color: #b55746;
  }
  .svc-capability .svc-cap.retire:after {
    display: block;
    line-height: 14px;
    font-size: 12px;
  }
  .svc-capability .svc-cap.stay {
    background: #cdc9c0 !important;
  }
  .svc-capability .svc-cap > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
}

/* The rings sit in a card as tall as its neighbour's table; centre them rather than leave a gap below. */
.svc-diagram:has(> .svc-rings) {
  display: flex;
  flex-direction: column;
}
.svc-diagram > .svc-rings {
  margin-block: auto;
}

/* Advise row: the vCISO chat ran under the tile heading. Give all three previews room for it. */
.home-strategy-preview,
.home-ai-preview,
.home-advisory-preview {
  height: 250px;
}
.home-advisory-preview > div:last-child {
  margin-bottom: 0;
}
@media (min-width: 761px) and (max-width: 1100px) {
  .home-strategy-preview,
  .home-ai-preview,
  .home-advisory-preview {
    height: 282px;
  }
}
@media (max-width: 760px) {
  .home-strategy-preview,
  .home-ai-preview,
  .home-advisory-preview {
    height: auto;
    min-height: 219px;
  }
}

/* ---------- Shared: secondary action beside a CTA button ---------- */
.mk-cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
}
.mk-cta-secondary {
  font:
    700 15px "Sora",
    sans-serif;
  color: var(--ink);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

/* ---------- References ---------- */
.ref-grid {
  columns: 2;
  column-gap: 28px;
  padding-top: 0;
}
.ref-card {
  break-inside: avoid;
  margin: 0 0 28px;
  background: #fff;
  border: 1px solid #e1ded7;
  border-top: 4px solid var(--orange);
  border-radius: 6px;
  padding: 30px 32px 28px;
}
.ref-card:nth-child(2) {
  border-top-color: var(--yellow);
}
.ref-card:nth-child(3) {
  border-top-color: var(--ink);
}
.ref-card blockquote {
  margin: 0;
}
.ref-card blockquote p {
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.6;
  color: #4a4740;
}
.ref-card blockquote b {
  color: var(--ink);
}
.ref-card-featured blockquote p:first-child {
  font:
    700 21px/1.4 "Sora",
    sans-serif;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.ref-card figcaption {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #e8e5de;
}
.ref-card figcaption b {
  font:
    700 16px "Sora",
    sans-serif;
}
.ref-card figcaption span {
  font:
    600 12px "JetBrains Mono",
    monospace;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6f6b63;
}
@media (max-width: 900px) {
  .ref-grid {
    columns: 1;
  }
  .ref-card {
    padding: 24px 22px;
  }
  .ref-card-featured blockquote p:first-child {
    font-size: 18px;
  }
}

/* ---------- Ebooks & Guides ---------- */
.ebooks-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.9fr);
  gap: 48px;
  align-items: start;
}
.ebooks-head .mk-section-title {
  margin-top: 0;
}
.ebooks-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 28px;
}
.ebook-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e1ded7;
  border-radius: 6px;
  padding: 22px;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.ebook-card.is-selected {
  border-color: var(--orange);
  box-shadow: 0 0 0 2px var(--orange);
}
.ebook-cover,
.ebook-cover-art {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  max-height: 260px;
  object-fit: cover;
  border-radius: 3px 6px 6px 3px;
  margin-bottom: 20px;
}
.ebook-cover-art {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #19191b;
  color: #fff;
  padding: 22px 20px 20px 30px;
  box-shadow:
    inset 8px 0 0 var(--orange),
    0 14px 28px -18px rgba(0, 0, 0, 0.6);
}
.ebook-cover-art small {
  font:
    700 11px "JetBrains Mono",
    monospace;
  letter-spacing: 0.12em;
  color: var(--orange);
}
.ebook-cover-art b {
  font:
    800 23px/1.1 "Sora",
    sans-serif;
  letter-spacing: -0.03em;
}
.ebook-cover-art span {
  font-size: 12px;
  color: #b9b4aa;
}
.ebook-title {
  font:
    700 19px/1.25 "Sora",
    sans-serif;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}
.ebook-desc {
  font-size: 15px;
  line-height: 1.5;
  color: #5c5951;
  margin: 0 0 18px;
  flex: 1;
}
.ebook-select-btn {
  align-self: flex-start;
  font:
    700 14px "Sora",
    sans-serif;
  background: transparent;
  color: var(--ink);
  border: 2px solid var(--ink);
  padding: 10px 16px;
  cursor: pointer;
}
.ebook-select-btn:hover,
.ebook-select-btn:focus-visible {
  background: var(--ink);
  color: var(--yellow);
}
.ebook-card.is-selected .ebook-select-btn {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--ink);
}
.ebook-capture {
  position: sticky;
  top: 24px;
  margin-top: 0;
  background: #fff;
  border: 1px solid #e1ded7;
  border-top: 4px solid var(--orange);
  border-radius: 6px;
  padding: 30px;
}
.ebook-capture h2 {
  font:
    700 26px/1.15 "Sora",
    sans-serif;
  letter-spacing: -0.03em;
  margin: 0 0 8px;
}
.ebook-form-intro {
  color: #5c5951;
  margin: 0 0 22px;
}
.ebook-field {
  display: block;
  margin-bottom: 16px;
}
.ebook-field span {
  display: block;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 6px;
}
.ebook-field input,
.ebook-field select {
  width: 100%;
  font:
    16px "Plus Jakarta Sans",
    sans-serif;
  color: var(--ink);
  background: #faf9f6;
  border: 1px solid #cfcac0;
  border-radius: 4px;
  padding: 12px 14px;
}
.ebook-field input:focus,
.ebook-field select:focus {
  outline: 2px solid var(--orange);
  outline-offset: 1px;
  border-color: var(--orange);
}
.ebook-check {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 10px;
  align-items: start;
  font-size: 14px;
  line-height: 1.45;
  color: #4a4740;
  margin-bottom: 12px;
}
.ebook-check input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--orange);
}
.ebook-actions {
  margin-top: 20px;
}
.ebook-actions .mk-final-button {
  border: 0;
  cursor: pointer;
  font:
    700 16px "Sora",
    sans-serif !important;
}
.ebook-actions .mk-final-button:disabled {
  opacity: 0.6;
  cursor: progress;
}
.ebook-message {
  min-height: 1.4em;
  margin: 12px 0 0;
  font-size: 14px;
  color: #5c5951;
}
.ebook-message.is-error {
  color: #a8331f;
}
.ebook-message.is-success {
  color: #2f6b3b;
}
@media (max-width: 1100px) {
  .ebooks-layout {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .ebook-capture {
    position: static;
    margin-top: 40px;
  }
}
@media (max-width: 760px) {
  .ebooks-grid {
    grid-template-columns: 1fr;
  }

  .ebook-cover,
  .ebook-cover-art {
    max-height: 200px;
  }
  .ebook-capture {
    padding: 24px 20px;
  }
}
/* Closing call-to-action headline: looser tracking, readable leading, balanced lines,
   and the last words of the highlighted phrase kept together so they never split. */
.mk-cta h2 {
  letter-spacing: -0.01em;
  line-height: 1.04;
  text-wrap: balance;
}
.service-page .mk-cta h2 {
  font-size: clamp(32px, 3.2vw, 42px);
  line-height: 1.04;
  overflow-wrap: normal;
}
.mk-cta h2 .mk-cta-keep {
  white-space: nowrap;
}
@media (max-width: 760px) {
  .service-page .mk-cta h2 {
    font-size: clamp(28px, 8.4vw, 40px);
  }
}

/* Section rhythm: one spacing token for every section below the hero.
   Differently coloured neighbours get 2 x --sec-y between them; neighbours on the
   same page background collapse to --sec-y + --sec-y-same. */
:root {
  --sec-y: 48px;
  --sec-y-same: 16px;
}
@media (max-width: 760px) {
  :root {
    --sec-y: 32px;
  }
}
:is(.service-page, .home-theme) main > section:not(.mk-hero, .mk-strip) {
  padding-top: var(--sec-y);
  padding-bottom: var(--sec-y);
}
:is(.service-page, .home-theme)
  main
  > :is(.mk-content, .sec:not(.tint, .white), .mk-runs, .home-services, .home-proof)
  + :is(.mk-content, .sec:not(.tint, .white), .mk-runs, .mk-cta, .home-proof, .home-closing),
:is(.service-page, .home-theme) main > .sec.white + .sec.white {
  padding-top: var(--sec-y-same);
}
/* When the intro is the only thing left in its section, drop the divider it used to draw. */
.service-page .mk-content .mk-intro:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

/* Light bands only: the audit strip and outcome, and the homepage founder section,
   move off near-black to match the rest of the site. The hero and footer stay as they are. */
.tenant-audit-page .mk-strip {
  background: #fff1e8;
  color: var(--ink);
  border-top: 1px solid #f5c9ad;
  border-bottom: 1px solid #f5c9ad;
}
.tenant-audit-page .mk-strip-lead strong {
  color: #c4480c;
}
.tenant-audit-page .mk-strip-lead a {
  color: var(--ink);
  text-decoration-color: var(--orange);
}
.tenant-audit-page .mk-strip-item span {
  color: #5f5b54;
}
.tenant-audit-page .mk-outcome {
  background: #fff;
  color: var(--ink);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.tenant-audit-page .mk-outcomes li {
  border-color: #e4e1db;
}
.tenant-audit-page .svc-audience,
.tenant-audit-page .mk-outcomes small {
  color: #6f6b63;
}
.tenant-audit-page .mk-dont {
  background: #fff1e8;
  border-color: #f5c9ad;
  color: #3b2a1f;
}
.tenant-audit-page .mk-dont h3,
.tenant-audit-page .mk-dont a {
  color: var(--ink);
}

.home-theme .home-founder {
  background: #fff;
  color: #4a4741;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.home-theme .home-portrait {
  background: #f3f1ec;
  border-color: #e4e1db;
}
.home-theme .home-portrait figcaption {
  background: #faf9f6;
  color: #6f6b63;
  border-top-color: #e4e1db;
}
.home-theme .home-founder h2 {
  color: var(--ink);
}
.home-theme .home-credentials b {
  color: var(--ink);
}
.home-theme .home-founder blockquote {
  border-top-color: #e4e1db;
  color: #3b3933;
}
.home-theme .home-founder cite {
  color: #6f6b63;
}
.home-theme .home-portrait svg * {
  fill: #cfcac1;
}
.home-theme .home-call-strip {
  background: #fff1e8;
  border: 1px solid #f5c9ad;
  color: #4a4741;
}
.home-theme .home-call-strip b {
  color: var(--ink);
}

/* Homepage hero: headline about 11% smaller, and the copy / buttons / mascot group centred
   in the orange area instead of hugging the left with empty space on the right. */
.home-hero h1 {
  font-size: 74px;
  text-wrap: balance;
}
@media (max-width: 1100px) {
  .home-hero h1 {
    font-size: clamp(48px, 5.6vw, 70px);
  }
}
@media (max-width: 760px) {
  .home-hero h1 {
    font-size: clamp(43px, 11.9vw, 70px);
  }
}

/* Homepage hero without buttons: headline on the left; the cat with the framed text
   under it on the right. The cat image has wide transparent margins, so negative
   margins trim its layout box to the visible cat and nothing reads as empty space. */
.home-hero .home-hero-right .home-mascot {
  --cat: 480px;
  order: 0;
  width: var(--cat);
  height: var(--cat);
  max-width: none;
  object-fit: contain;
  margin: calc(var(--cat) * -0.21) calc(var(--cat) * -0.147) calc(var(--cat) * -0.177) calc(var(--cat) * -0.227);
}
@media (min-width: 761px) {
  .home-hero-inner {
    grid-template-columns: auto auto;
    grid-template-areas:
      "h1 cat"
      "h1 text";
    justify-content: center;
    align-items: center;
    column-gap: 80px;
    row-gap: 22px;
  }
  .home-hero-copy,
  .home-hero-right {
    display: contents;
  }
  .home-hero h1 {
    grid-area: h1;
    margin: 0;
  }
  .home-hero .home-hero-right .home-mascot {
    grid-area: cat;
    justify-self: center;
    align-self: end;
  }
  .home-hero .home-framed {
    grid-area: text;
    margin: 0;
    align-self: start;
  }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .home-hero-inner {
    column-gap: 48px;
  }
  .home-hero .home-hero-right .home-mascot {
    --cat: 380px;
  }
}
@media (max-width: 760px) {
  .home-hero .home-hero-right .home-mascot {
    --cat: 340px;
    margin-top: calc(var(--cat) * -0.21 + 20px);
  }
}

/* Dojo: a NEW dot on the Free Tools menu, a NEW tag on its menu link, and a slim card above the call strip */
.mk-new-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 6px;
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 0 0 2px rgba(244, 213, 56, 0.25);
  vertical-align: 2px;
}
.mk-new-tag {
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--yellow);
  color: #111;
  font: 700 10.5px "JetBrains Mono";
  vertical-align: 1px;
}
.home-dojo-strip {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 18px;
  margin-bottom: 14px;
  padding: 14px 16px 14px 14px;
  border-radius: 18px;
  background: #131315;
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 16px 32px -18px rgba(0, 0, 0, 0.7);
  transition:
    transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Periodic light sweep, as in the approved Mix option */
.home-dojo-strip::after {
  content: "";
  position: absolute;
  top: -30%;
  bottom: -30%;
  width: 18%;
  left: -30%;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.16) 45%, rgba(255, 245, 200, 0.3) 50%, rgba(255, 255, 255, 0.16) 55%, transparent 100%);
  transform: skewX(-20deg);
  animation: dojo-sweep 6s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes dojo-sweep {
  0% {
    left: -30%;
  }
  25%,
  100% {
    left: 120%;
  }
}
.home-dojo-ico {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--yellow);
  color: #131315;
}
.home-dojo-ico svg {
  width: 22px;
  height: 22px;
}
.home-dojo-txt b {
  display: block;
  font: 700 18px "Sora";
}
.home-dojo-txt small {
  position: relative;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--yellow);
  color: #111;
  font: 700 11px "JetBrains Mono";
  vertical-align: 2px;
}
.home-dojo-txt small::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 999px;
  border: 2px solid var(--yellow);
  opacity: 0;
  animation: dojo-pulse 2.4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes dojo-pulse {
  0% {
    opacity: 0.7;
    transform: scale(0.9);
  }
  70%,
  100% {
    opacity: 0;
    transform: scale(1.35);
  }
}
.home-dojo-txt > span {
  display: block;
  margin-top: 3px;
  font-size: 15px;
  color: #c9c6c0;
}
.home-dojo-go {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.08);
  color: var(--yellow);
  transition:
    transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.home-dojo-strip:hover {
  transform: translateY(-3px);
  border-color: rgba(244, 213, 56, 0.55);
  box-shadow: 0 20px 38px -18px rgba(0, 0, 0, 0.75);
}
.home-dojo-strip:hover .home-dojo-go {
  transform: translateX(3px);
  background: var(--yellow);
  color: #131315;
}
.home-dojo-strip:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 3px;
}
@media (max-width: 760px) {
  .home-dojo-strip {
    grid-template-columns: 40px minmax(0, 1fr) 30px;
    gap: 12px;
    padding: 12px;
  }
  .home-dojo-ico {
    width: 40px;
    height: 40px;
  }
  .home-dojo-go {
    width: 30px;
    height: 30px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-dojo-strip,
  .home-dojo-go {
    transition: none;
  }
  .home-dojo-strip::after,
  .home-dojo-txt small::after {
    animation: none;
    display: none;
  }
}

/* Hero supporting line: dark ink like "SHOULD." so it passes contrast on the orange, slightly larger */
.home-hero .home-framed {
  color: var(--ink);
  font-size: 19px;
  font-weight: 500;
  line-height: 1.45;
}
@media (max-width: 760px) {
  .home-hero .home-framed {
    font-size: 17px;
  }
}

/* Hero supporting line: a soft translucent panel behind the text, inside the corner brackets */
.home-hero .home-framed {
  background-color: rgba(255, 255, 255, 0.2);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

/* Booking buttons in the approved Mix style.
   Full card in CTA bands; compact pill with an arrow chip in the nav, phone menu and call strip. */
.mk-call-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 14px;
  width: 100%;
  max-width: 400px;
  padding: 12px 12px 12px 12px;
  border-radius: 18px;
  background: #131315;
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 16px 32px -18px rgba(0, 0, 0, 0.7);
  transition:
    transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.mk-call-card::after {
  content: "";
  position: absolute;
  top: -30%;
  bottom: -30%;
  width: 30%;
  left: -50%;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.16) 45%, rgba(255, 245, 200, 0.3) 50%, rgba(255, 255, 255, 0.16) 55%, transparent 100%);
  transform: skewX(-20deg);
  animation: call-sweep 6s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes call-sweep {
  0% {
    left: -50%;
  }
  25%,
  100% {
    left: 130%;
  }
}
.mk-call-ico {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--yellow);
  color: #131315;
}
.mk-call-txt b {
  display: block;
  font: 700 16px "Sora";
  color: #fff;
}
.mk-call-txt > span {
  display: block;
  margin-top: 2px;
  font: 14px "Plus Jakarta Sans";
  color: #c9c6c0;
}
.mk-call-go {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.08);
  color: var(--yellow);
  transition:
    transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.mk-call-card:hover {
  transform: translateY(-3px);
  border-color: rgba(244, 213, 56, 0.55);
  box-shadow: 0 20px 38px -18px rgba(0, 0, 0, 0.75);
}
.mk-call-card:hover .mk-call-go {
  transform: translateX(3px);
  background: var(--yellow);
  color: #131315;
}
.mk-call-card:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
.home-closing-button.mk-call-card {
  width: 100%;
  max-width: 400px;
}

/* Compact pill */
.mk-book {
  clip-path: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 999px;
  padding: 7px 7px 7px 20px !important;
  box-shadow: 0 8px 18px -12px rgba(0, 0, 0, 0.6);
  transition:
    transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.mk-chip {
  width: 30px;
  height: 30px;
  flex: none;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #131315;
  color: var(--yellow);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.mk-book:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 22px -12px rgba(0, 0, 0, 0.7);
}
.mk-book:hover .mk-chip {
  transform: translateX(2px);
}
.mk-nav > .mk-book {
  padding: 6px 6px 6px 18px !important;
}
.mk-nav > .mk-book .mk-chip {
  width: 28px;
  height: 28px;
}
@media (min-width: 1101px) {
  .mk-nav > .mk-book {
    padding: 5px 5px 5px 16px !important;
  }
  .mk-nav > .mk-book .mk-chip {
    width: 26px;
    height: 26px;
  }
}
@media (max-width: 760px) {
  .mk-call-card {
    max-width: none;
  }
  .home-closing-button.mk-call-card {
    max-width: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mk-call-card,
  .mk-call-go,
  .mk-book,
  .mk-chip {
    transition: none;
  }
  .mk-call-card::after {
    animation: none;
    display: none;
  }
}

/* ---------- Radius scale: no square corners on cards, panels or samples ----------
   Large cards 20px · preview windows 14px · inputs, chips, small tiles 10px ·
   paper samples and KPI tiles 8px · pills fully round.
   Left alone: the hero's viewfinder brackets, the cat, and anything meant to be a circle. */
:root {
  --r-lg: 20px;
  --r-md: 14px;
  --r-sm: 10px;
  --r-doc: 8px;
}

/* Large cards and boxed panels */
.home-card,
.design-v2 .mk-run,
.service-page .mk-run,
.service-page .mk-card,
.mk-dont,
.service-page .mk-dont,
.mk-stage,
.home-call-strip,
.home-portrait,
.ref-card,
.ebook-card,
.ebook-capture {
  border-radius: var(--r-lg) !important;
}
.home-portrait {
  overflow: hidden;
}
/* The grey preview stage at the top of each homepage card follows the card's corners */
.home-card > .hp-stage {
  border-radius: calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px) 0 0 !important;
}

/* Preview panels and mock app windows */
.hp-win,
.opt-page .lw,
.opt-page .soft,
.opt-page .ba,
.svc-roadmap,
.opt-page .svc-roadmap,
.hp-stage.pp-stage,
.aw-item {
  border-radius: var(--r-md) !important;
}

/* Inputs, chips, small tiles and notes */
.home-proof-chips > span,
.opt-page .good-foot,
.opt-page .pa-nopim,
.aw-limits > div,
.finding,
.stamp,
.ebook-capture input,
.ebook-capture select,
.mk-shell input,
.mk-shell select,
.mk-shell textarea {
  border-radius: var(--r-sm) !important;
}

/* Paper samples and KPI tiles: a gentle 8px so they still read as pages */
.rp-doc,
.rp-slide,
.rp-out-cover,
.rp-out-pack,
.rp-out-slide,
.rp-out-sheet,
.rp-kpi,
.rp-table,
.rp-wb {
  border-radius: var(--r-doc) !important;
}
.rp-out-cover,
.rp-table,
.rp-wb {
  overflow: hidden;
}
.rp-actions > li {
  border-radius: 6px;
}

/* Hero question-and-answer card (replaces the bracketed text panel; the card's own corners do that job now) */
.mk-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.home-qa {
  width: 420px;
  max-width: 100%;
  padding: 20px 20px 10px;
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  box-shadow: 0 18px 36px -20px rgba(60, 20, 0, 0.65);
}
.home-qa p {
  margin: 0;
}
.home-qa-q {
  margin-bottom: 12px !important;
  font: 700 21px/1.25 "Sora";
  letter-spacing: -0.01em;
}
.home-qa-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-top: 1px solid #ece9e3;
}
.home-qa-row b {
  font: 700 15px/1.3 "Sora";
}
.home-qa-ico {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #131315;
  color: var(--yellow);
}
.home-qa-done {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid #a7e3b8;
  background: #dcf5e3;
  color: #15803d;
  font: 700 11.5px "Plus Jakarta Sans";
}
/* Play-in, only once the script has prepared it */
.home-qa.qa-ready .home-qa-row,
.home-qa.qa-ready .home-qa-done {
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.home-qa.qa-ready .home-qa-done {
  transform: scale(0.8);
}
.home-qa.qa-in .home-qa-row,
.home-qa.qa-in .home-qa-done {
  opacity: 1;
  transform: none;
}
.home-qa.qa-in .home-qa-row:nth-of-type(3) .home-qa-done {
  transition-delay: 0.45s;
}
.home-qa.qa-in .home-qa-row:nth-of-type(4) {
  transition-delay: 0.85s;
}
.home-qa.qa-in .home-qa-row:nth-of-type(4) .home-qa-done {
  transition-delay: 1.3s;
}
@media (min-width: 761px) {
  .home-hero .home-qa {
    grid-area: text;
    align-self: start;
  }
}
@media (max-width: 760px) {
  .home-qa {
    width: 100%;
    margin-top: 22px;
    padding: 18px 16px 8px;
  }
  .home-qa-q {
    font-size: 19px;
  }
  .home-qa-row b {
    font-size: 14.5px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-qa .home-qa-row,
  .home-qa .home-qa-done {
    transition: none !important;
  }
}
@media (min-width: 1101px) {
  /* The card is taller than the old text line, so trim the cat a touch to keep both columns level */
  .home-hero .home-hero-right .home-mascot {
    --cat: 450px;
  }
  .home-hero-inner {
    row-gap: 16px;
  }
}

/* Inner-page hero with the cat (same layout as the homepage): headline and lede left;
   the cat with the question card under it on the right. The cat image is trimmed to its visible area. */
.mk-hero-cat-layout .mk-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
  gap: 80px;
  align-items: center;
}
.mk-hero-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.mk-hero-cat {
  --cat: 420px;
  display: block;
  width: var(--cat);
  height: var(--cat);
  max-width: none;
  object-fit: contain;
  margin: calc(var(--cat) * -0.21) calc(var(--cat) * -0.147) calc(var(--cat) * -0.177) calc(var(--cat) * -0.227);
}
.mk-hero-side .home-qa {
  width: 100%;
}
.service-page.mk-hero-cat-layout .mk-hero,
.service-page .mk-hero.mk-hero-cat-layout {
  padding: 48px 0;
}
/* "Who this is for" moves out of the hero into the outcomes column */
.mk-aside-stack {
  display: grid;
  gap: 18px;
  align-self: start;
}
.mk-who-box {
  padding: 26px 30px;
  border-radius: var(--r-lg);
  background: #fff;
  border: 1px solid var(--line);
  color: #3b3933;
  font-size: 16px;
  line-height: 1.45;
}
.mk-who-box h3 {
  margin: 0 0 12px;
  font: 700 21px "Sora";
  letter-spacing: -0.03em;
  color: var(--ink);
}
.mk-who-box p {
  margin: 0 0 12px;
}
.mk-who-box p:last-child {
  margin-bottom: 0;
}
@media (max-width: 1100px) {
  .mk-hero-cat-layout .mk-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 360px);
    gap: 40px;
  }
  .mk-hero-cat {
    --cat: 340px;
  }
}
@media (max-width: 760px) {
  .mk-hero-cat-layout .mk-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .mk-hero-side .home-qa {
    margin-top: 0;
    order: -1;
  }
  .mk-hero-cat {
    --cat: 320px;
    margin-top: calc(var(--cat) * -0.21 + 12px);
  }
  .service-page .mk-hero.mk-hero-cat-layout {
    padding: 32px 0 28px;
  }
}

/* Inner-page hero "Who this is for" box, restyled as a white card under the cat
   (same family as the homepage question card). Wording is unchanged on every page. */
.mk-hero-cat-layout .mk-hero-grid {
  align-items: center;
}
.mk-hero-cat-layout .mk-who {
  clip-path: none;
  width: 100%;
  margin: 0;
  padding: 20px 22px 22px;
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, 0.94);
  color: #2f2d29;
  font-size: 15.5px;
  line-height: 1.45;
  box-shadow: 0 18px 36px -20px rgba(60, 20, 0, 0.65);
}
.mk-hero-cat-layout .mk-who h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #ece9e3;
  font: 700 19px "Sora";
  letter-spacing: -0.02em;
  color: var(--ink);
}
.mk-hero-cat-layout .mk-who h2::before {
  content: "";
  flex: none;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23f4d538' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='5.5' r='2.5'/%3E%3Cpath d='M1.8 13.5c0-2.4 1.9-4 4.2-4s4.2 1.6 4.2 4'/%3E%3Cpath d='M10.5 3.2a2.4 2.4 0 0 1 0 4.6M12 9.8c1.3.5 2.2 1.8 2.2 3.7'/%3E%3C/svg%3E")
      center / 18px no-repeat,
    #131315;
}
.mk-hero-cat-layout .mk-who p {
  margin: 0 0 10px;
}
.mk-hero-cat-layout .mk-who p:last-child {
  margin: 0;
}
.mk-hero-cat-layout .mk-who p + p:last-child {
  margin-top: 4px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff1e8;
  color: #5a3a1f;
  font-size: 14.5px;
}
.service-page .mk-hero.mk-hero-cat-layout {
  padding: 48px 0;
}
@media (max-width: 760px) {
  .mk-hero-cat-layout .mk-who {
    order: -1;
    padding: 18px 16px 18px;
  }
}
/* Smaller cat that sits on the top edge of the card, so the right column isn't taller than the headline */
.mk-hero-cat-layout .mk-hero-side {
  gap: 0;
}
.mk-hero-cat-layout .mk-hero-cat {
  --cat: 300px;
  position: relative;
  z-index: 1;
  margin-bottom: calc(var(--cat) * -0.177 - 22px);
}
@media (max-width: 1100px) {
  .mk-hero-cat-layout .mk-hero-cat {
    --cat: 260px;
  }
}
@media (max-width: 760px) {
  .service-page .mk-hero.mk-hero-cat-layout,
  .mk-hero.mk-hero-cat-layout {
    padding: 32px 0 28px;
  }
  .mk-hero-cat-layout .mk-who {
    order: 0;
  }
  .mk-hero-cat-layout .mk-hero-cat {
    --cat: 260px;
    margin-top: calc(var(--cat) * -0.21 + 8px);
  }
}

/* Pilot: "Who this is for" as a designed card. A header chip, three audience rows with icons,
   and a gentle play-in. The cat goes back to homepage size and sits on the card's top edge. */
.mk-hero-cat-layout .mk-hero-cat {
  --cat: 470px;
  margin-bottom: calc(var(--cat) * -0.177 - 28px);
}
.mk-hero-cat-layout .mk-who-card {
  padding: 30px 20px 14px;
}
.mk-hero-cat-layout .mk-who-card h2 {
  display: inline-flex;
  margin: 0 0 6px;
  padding: 5px 12px;
  border: 0;
  border-radius: 999px;
  background: #131315;
  color: var(--yellow);
  font: 700 11.5px "JetBrains Mono";
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mk-hero-cat-layout .mk-who-card h2::before {
  content: none;
}
.mk-who-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mk-who-card li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid #ece9e3;
  font: 600 15px/1.35 "Plus Jakarta Sans";
  color: var(--ink);
}
.mk-who-card li:first-child {
  border-top: 0;
}
.mk-who-ico {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #f3f1ec;
  color: #131315;
}
.mk-who-card .mk-who-when {
  font-weight: 500;
  color: #5a3a1f;
}
.mk-who-card .mk-who-when .mk-who-ico {
  background: #fff1e8;
  color: #c4480c;
}
.mk-who-card.who-ready li {
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.mk-who-card.who-in li {
  opacity: 1;
  transform: none;
}
.mk-who-card.who-in li:nth-child(2) {
  transition-delay: 0.2s;
}
.mk-who-card.who-in li:nth-child(3) {
  transition-delay: 0.4s;
}
@media (max-width: 1100px) {
  .mk-hero-cat-layout .mk-hero-cat {
    --cat: 380px;
  }
}
@media (max-width: 760px) {
  .mk-hero-cat-layout .mk-hero-cat {
    --cat: 340px;
    margin-top: calc(var(--cat) * -0.21 + 8px);
  }
  .mk-who-card li {
    font-size: 14.5px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mk-who-card li {
    transition: none !important;
  }
}

/* Page name above each inner-page headline (replaces the breadcrumb, so visitors know where they are) */
.mk-page-name {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 20px;
  padding: 6px 14px;
  border-radius: 999px;
  background: #131315;
  color: var(--yellow);
  font: 700 12.5px "JetBrains Mono";
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mk-page-name::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--orange);
}
@media (max-width: 760px) {
  .mk-page-name {
    margin-bottom: 16px;
    font-size: 11.5px;
  }
}

/* References: the strip under the hero goes light, like the audit page */
.references-page .mk-strip {
  background: #fff1e8;
  color: var(--ink);
  border-top: 1px solid #f5c9ad;
  border-bottom: 1px solid #f5c9ad;
}
.references-page .mk-strip-lead strong {
  color: #c4480c;
}
.references-page .mk-strip-item span {
  color: #5f5b54;
}

/* Short-headline pages: a slightly smaller cat so the cat and card don't tower over the text */
@media (min-width: 1101px) {
  :is(.service-page) .mk-hero-cat-layout .mk-hero-cat {
    --cat: 390px;
  }
}
@media (min-width: 761px) and (max-width: 1100px) {
  :is(.service-page) .mk-hero-cat-layout .mk-hero-cat {
    --cat: 320px;
  }
}

/* Headline with one sentence per line (Strategy & Architecture) */
.h1-lines span:not(.light) {
  display: block;
}
.h1-lines .light {
  display: contents;
}
@media (min-width: 1101px) {
  .h1-lines span:not(.light) {
    white-space: nowrap;
  }
}
@media (min-width: 1101px) {
  .service-page .mk-hero h1.h1-lines {
    font-size: 59px;
  }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .service-page .mk-hero h1.h1-lines {
    font-size: 47px;
  }
}
/* Shortest headlines get the smallest cat, so the text column isn't floating in space */
@media (min-width: 1101px) {
  :is(.strategy-page, .references-page, .tenant-audit-page) .mk-hero-cat-layout .mk-hero-cat {
    --cat: 330px;
  }
}
@media (min-width: 761px) and (max-width: 1100px) {
  :is(.strategy-page, .references-page, .tenant-audit-page) .mk-hero-cat-layout .mk-hero-cat {
    --cat: 280px;
  }
}

/* Each sentence on its own line, wrapped evenly (no one-word last line) */
.h1-balance > span {
  display: block;
  text-wrap: balance;
}
@media (min-width: 1101px) {
  /* Optimisation: the white sentence sits on exactly two lines */
  .service-page .mk-hero h1.h1-balance {
    font-size: 63px;
  }
  .h1-balance > .light {
    text-wrap: wrap;
    white-space: nowrap;
  }
}

/* "Early access" note for services that aren't fully open yet */
.mk-early {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  font: 600 15px "Plus Jakarta Sans";
  color: var(--ink);
}
.mk-early span {
  padding: 4px 11px;
  border-radius: 999px;
  background: #131315;
  color: var(--yellow);
  font: 700 11.5px "JetBrains Mono";
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mk-new-tag {
  white-space: nowrap;
}
.mk-menu a:has(.mk-new-tag) {
  white-space: nowrap;
}

/* Homepage hero: a touch smaller cat whose feet sit on the top edge of the question card,
   matching the inner pages and trimming the hero height */
@media (min-width: 761px) {
  .home-hero .home-hero-right .home-mascot {
    position: relative;
    z-index: 2;
    margin-bottom: calc(var(--cat) * -0.177 - 16px - 28px);
  }
  .home-hero .home-qa {
    padding-top: 30px;
  }
}
@media (min-width: 1101px) {
  .home-hero .home-hero-right .home-mascot {
    --cat: 420px;
  }
}

/* Hero call to action on inner pages (e.g. the AI quick check) */
.mk-hero-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin: 26px 0 0;
}
.mk-hero-cta span {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--ink);
}
.mk-cta-alt {
  display: inline-block;
  margin-top: 16px;
  font: 700 15px "Sora";
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--ink);
  text-underline-offset: 5px;
}
.mk-hero-cta .mk-book {
  background: #131315;
  color: #fff !important;
}
.mk-hero-cta .mk-book .mk-chip {
  background: var(--yellow);
  color: #131315;
}

/* Founder section testimonial as a light quote card */
.home-theme .home-founder blockquote {
  position: relative;
  margin: 28px 0 0;
  padding: 26px 26px 22px 64px;
  border: 1px solid #f5c9ad;
  border-radius: var(--r-lg, 20px);
  background: #fff7f1;
  color: var(--ink);
  font: 600 18px/1.45 "Sora";
  letter-spacing: -0.01em;
}
.home-theme .home-founder blockquote::before {
  content: "“";
  position: absolute;
  left: 20px;
  top: 8px;
  font: 800 64px/1 "Sora";
  color: var(--orange);
}
.home-theme .home-founder cite {
  display: block;
  margin-top: 12px;
  font: 600 13.5px "Plus Jakarta Sans";
  font-style: normal;
  color: #6f6b63;
}
.home-theme .home-founder cite a {
  color: var(--ink);
  text-decoration-color: var(--orange);
  text-underline-offset: 3px;
}
@media (max-width: 760px) {
  .home-theme .home-founder blockquote {
    padding: 22px 18px 18px 50px;
    font-size: 16px;
  }
  .home-theme .home-founder blockquote::before {
    left: 14px;
    font-size: 52px;
  }
}

/* Plain-English lines, "In IT terms" toggles, credibility strip, Cyber Essentials callout and FAQ */
.service-page .plain {
  margin: 10px 0 16px;
  font: 700 19px/1.35 "Sora";
  letter-spacing: -0.01em;
  color: var(--ink);
}
.service-page .plain-sm {
  margin: 4px 0 10px;
  font: 600 15px/1.45 "Plus Jakarta Sans";
  color: #3b3933;
}

/* AI tools covered: text-only name chips, no logos */
.ai-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}
.ai-tools li {
  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  font: 600 13px/1.3 "Plus Jakarta Sans";
  color: var(--ink);
}
.ai-tools-note {
  margin: 0 0 18px;
  font: 600 15px/1.45 "Plus Jakarta Sans";
  color: #3b3933;
}
.mk-footer {
  flex-wrap: wrap;
  row-gap: 8px;
}
.mk-footer .mk-tm {
  flex-basis: 100%;
  font-size: 12px;
}

/* "In IT terms" toggle */
.it-terms {
  margin: 8px 0 4px;
}
.it-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid #d8d3c8;
  background: #fff;
  color: var(--ink);
  font: 700 12.5px "Plus Jakarta Sans";
  cursor: pointer;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.it-btn:hover {
  border-color: var(--orange);
}
.it-btn:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 2px;
}
.it-btn svg {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.it-btn[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
.it-body {
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: var(--r-md, 14px);
  background: #faf9f6;
  border: 1px solid #ece9e3;
}
.it-body > :first-child {
  margin-top: 0;
}
.it-body > :last-child {
  margin-bottom: 0;
}
.it-body .svc-tags {
  margin-top: 12px;
}
@media print {
  .it-body[hidden] {
    display: block !important;
  }
  .it-btn {
    display: none;
  }
}

/* Credibility strip */
.cred-strip {
  padding: 18px 0 !important;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.cred-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 22px;
  font: 600 14px "Plus Jakarta Sans";
  color: var(--ink);
}
.cred-row span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.cred-row svg {
  flex: none;
  width: 20px;
  height: 20px;
  padding: 3px;
  border-radius: 50%;
  background: #16a34a;
  color: #fff;
}
.cred-row a {
  margin-left: auto;
  font-weight: 700;
  color: var(--ink);
  text-decoration-color: var(--orange);
  text-underline-offset: 4px;
}

/* Cyber Essentials callout */
.ce-callout {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin: 8px 0 22px;
  padding: 20px 22px;
  border-radius: var(--r-lg, 20px);
  background: #eef6fd;
  border: 1px solid #c6ddf2;
}
.ce-badge {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 3px solid #4cbaed;
  background: #06679b;
  color: #fff;
  font: 700 18px "Sora";
}
.ce-callout b {
  display: block;
  font: 700 18px "Sora";
  color: var(--ink);
}
.ce-callout p {
  margin: 6px 0 0;
  color: #33475b;
  font-size: 15.5px;
  line-height: 1.5;
}

/* FAQ */
.faq-sec h2 {
  margin: 0 0 6px;
  font: 800 34px/1.1 "Sora";
  letter-spacing: -0.04em;
}
.faq-list {
  display: grid;
  gap: 10px;
  max-width: 860px;
}
.faq-item {
  border-radius: var(--r-md, 14px);
  background: #fff;
  border: 1px solid var(--line);
}
.faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 52px 16px 20px;
  position: relative;
  font: 700 16.5px "Sora";
  color: var(--ink);
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff1e8;
  color: #c4480c;
  font: 700 18px/1 "Sora";
}
.faq-item[open] summary::after {
  content: "−";
}
.faq-item summary:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 2px;
  border-radius: var(--r-md, 14px);
}
.faq-item p {
  margin: 0;
  padding: 0 20px 18px;
  color: #4a4741;
  font-size: 15.5px;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .service-page .plain {
    font-size: 17px;
  }
  .cred-row {
    gap: 8px;
    font-size: 13.5px;
  }
  .cred-row a {
    margin-left: 0;
  }
  .ce-callout {
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 16px;
  }
  .ce-badge {
    width: 40px;
    height: 40px;
    font-size: 14px;
  }
  .faq-sec h2 {
    font-size: 28px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .it-btn,
  .it-btn svg {
    transition: none;
  }
}

/* Ninja cat poses: small upright accents placed in existing empty space, so they add no height.
   js/marketing.js hides any pose that would sit over text at the current width. */
.np-host {
  position: relative;
}
.ninja-pose {
  position: absolute;
  display: block;
  width: auto;
  max-width: none;
  pointer-events: none;
  filter: drop-shadow(0 8px 12px rgba(60, 30, 5, 0.16));
  transition:
    opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.np-ready .ninja-pose:not(.in) {
  opacity: 0;
  transform: translateY(12px) scale(0.96);
}
.ninja-pose.np-nofit {
  display: none;
}
/* Corner poses wait for js/marketing.js to line them up with the bottom of their row */
.np-br:not(.np-placed),
.np-bl:not(.np-placed) {
  visibility: hidden;
}
.np-br {
  right: 0;
  bottom: 0;
}
.np-bl {
  left: 0;
  bottom: 0;
}
.np-h92 {
  height: 92px;
}
.np-h110 {
  height: 110px;
}
.np-h115 {
  height: 115px;
}
.np-h120 {
  height: 120px;
}
/* FAQ: in the empty column to the right of the questions */
.faq-list {
  position: relative;
}
.np-faq {
  left: calc(100% + 48px);
  top: 4px;
  height: 110px;
}
/* Homepage section headers: in the empty space to the right of the heading */
.mx-head {
  position: relative;
}
.np-head {
  right: 24px;
  bottom: 0;
  height: 118px;
}
@media (max-width: 1100px) {
  .np-head {
    right: 0;
    height: 96px;
  }
}
/* Lying along the top edge of a card */
.mock-early {
  position: relative;
}
.np-edge {
  right: 40px;
  bottom: calc(100% - 14px);
  height: 74px;
}
@media (max-width: 1240px) {
  .np-faq {
    display: none;
  }
}
@media (max-width: 760px) {
  .ninja-pose {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ninja-pose {
    transition: none;
  }
}

/* Founder section without a photo: welcome text and credentials left, testimonial right */
.home-founder-grid.home-founder-nophoto {
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
}
.home-founder-nophoto .home-credentials {
  gap: 22px;
  margin-bottom: 0;
}
.home-founder-nophoto .home-credentials > div {
  flex: 0 1 auto;
}
.home-founder-nophoto > blockquote {
  margin: 0;
}
@media (max-width: 1100px) {
  .home-founder-grid.home-founder-nophoto {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}

/* Larger header logo so the "Cyber Security Consultancy" strapline reads (source is 1200px wide, so it stays sharp at 2x).
   The artwork has transparent padding (about a third above, a quarter below, 13% on the right), so negative margins
   let the visible logo grow without making the menu bar taller or pushing the links. */
.mk-logo img {
  width: 300px;
  margin: -32px -40px -26px -11px;
}
@media (min-width: 1101px) {
  .mk-logo img {
    width: 280px;
    margin: -24px -37px -20px -10px;
  }
}
@media (max-width: 760px) {
  .mk-logo img {
    width: 240px;
    margin: -22px -32px -18px -9px;
  }
}
