/* =========================================================================
   Modern Working: brand stylesheet (single source of truth)
   Built from the Claude Design handoff (Contact.dc.html and siblings).
   Values mirror the prototype exactly; change brand tokens in :root only.
   Breakpoints follow the prototype: 620 (form 2-up), 980 (page split),
   1140 (full nav; Menu panel below).
   ========================================================================= */

:root {
  --mw-bg: #0c0b0f;
  --mw-text: #eeedf2;
  --mw-soft: #d6d4dc;
  --mw-muted: #b4b1bd;
  --mw-white: #ffffff;
  --mw-violet: #7C3AED;
  --mw-lilac: #b793f5;
  --mw-focus: #c4b5fd;
  --mw-surface: #141319;
  --mw-surface-hover: #1d1b24;
  --mw-line: #2a2833;
  --mw-line-soft: #221f2b;
  --mw-line-strong: #3a3746;
  --mw-rule: rgba(124, 58, 237, 0.4);
  --mw-rule-soft: rgba(124, 58, 237, 0.25);
  --mw-rule-faint: rgba(124, 58, 237, 0.3);
  --mw-tint: rgba(124, 58, 237, 0.07);
  --mw-err-line: #b91c1c;
  --mw-err-bg: rgba(185, 28, 28, 0.12);
  --mw-err-text: #fecaca;
  --mw-err-field: #f87171;
  --mw-err-msg: #fca5a5;
  --mw-ok: #86efac;
  /* Hover/press tints for the white pills. Not in the handoff (it has no hover
     states); the house rule needs one, so the lightest step of the lilac. */
  --mw-pill-hover: #ebe7f5;
  --mw-font: 'Manrope', sans-serif;
  --mw-mono: 'DM Mono', monospace;
  --mw-gutter: clamp(20px, 6vw, 40px);
  --mw-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* ── Canvas: Astra reset + the 1280px design frame ───────── */
html { background: var(--mw-bg); }
body.mw {
  margin: 0;
  background: var(--mw-bg);
  color: var(--mw-text);
  font-family: var(--mw-font);
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}
body.mw *, body.mw *::before, body.mw *::after { box-sizing: border-box; }
/* #page is the prototype's #top: 1280 max, centred, clips the grid glow. */
body.mw #page.site,
body.mw .hfeed.site {
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  overflow: hidden;
  background: var(--mw-bg);
  color: var(--mw-text);
  font-family: var(--mw-font);
}
/* Violet grid + glow behind the header and the top of the page. */
body.mw #page.site::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 900px;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 300px, rgba(12, 11, 15, 0) 160px, #0c0b0f 600px),
    linear-gradient(rgba(124, 58, 237, 0.14) 1px, transparent 1px) 0 0 / 64px 64px,
    linear-gradient(90deg, rgba(124, 58, 237, 0.14) 1px, transparent 1px) 0 0 / 64px 64px,
    radial-gradient(circle at 50% 300px, rgba(124, 58, 237, 0.28), rgba(12, 11, 15, 0) 540px);
}
body.mw #content.site-content,
body.mw #content .ast-container,
body.mw #primary,
body.mw #main,
body.mw .site-main > article,
body.mw .entry-content { max-width: none; width: auto; margin: 0; padding: 0; background: transparent; }
body.mw .entry-content > * { margin-top: 0; margin-bottom: 0; }
/* Astra lays #primary out as a flex item that can shrink to its content width. */
body.mw #content .ast-container { display: block; }
body.mw #primary { width: 100%; max-width: 100%; flex: 1 1 100%; }
/* Astra caps and centres each top-level block (.entry-content[data-ast-blocks-layout] > *,
   (0,2,0)) at its content width. Our sections are full-bleed inside #page. Only that level:
   resetting deeper would wipe the components' own max-widths. */
body.mw .entry-content[data-ast-blocks-layout] > * { max-width: none; margin-left: 0; margin-right: 0; }
body.mw .site-main > article,
body.mw .ast-page-builder-template .site-main > article { padding: 0 !important; margin: 0 !important; }
body.mw header.site-header:not(#mw-header),
body.mw footer.site-footer:not(#mw-footer),
body.mw .ast-mobile-popup-drawer,
body.mw .ast-mobile-header-wrap,
body.mw .entry-header,
body.mw #ast-scroll-top { display: none !important; }

/* Astra styles headings, paragraphs, lists and labels inside .entry-content. */
/* :where() keeps these at (0,1,1)/(0,2,1) so component rules below always win. */
body.mw :where(.entry-content, .mw-footer, .mw-header) :where(h1, h2, h3, p, ol, ul, li, label) {
  font-family: inherit;
  color: inherit;
}
body.mw .entry-content :where(p, ol, ul, li) { margin: 0; }

/* ── Links and interactive states ─────────────────────────── */
body.mw a { color: var(--mw-soft); text-decoration: none; }
body.mw a:hover { color: var(--mw-white); }
/* Astra underlines every link in page content at (0,2,1) (.ast-single-post .entry-content a). */
body.mw .entry-content a { text-decoration: none; }
body.mw :is(a, button, summary, input, select, textarea):focus { outline: none; }
body.mw :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid var(--mw-focus);
  outline-offset: 3px;
  box-shadow: none;
}
/* The prototype's focus rule rounds elements that have no radius of their own. */
body.mw a:not(.mw-pill):not(.mw-svc__menu a):focus-visible,
body.mw .mw-svc__btn:focus-visible { border-radius: 4px; }

/* Buttons: neutralise Astra's theme button (blue fill, padding, 1em line-height). */
body.mw :is(.mw-svc__btn, .mw-menu-btn, .mw-submit) {
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: none;
  transition: transform 0.18s var(--mw-ease);
}

.mw-mono {
  font-family: var(--mw-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--mw-lilac);
}

/* ── Header ───────────────────────────────────────────────── */
.mw-header {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px var(--mw-gutter);
}
.mw-logo { display: inline-flex; align-items: center; line-height: 0; }
body.mw .mw-logo img,
body.mw .mw-footer__logo img { display: block; width: auto; max-width: none; }

.mw-nav { display: none; }
.mw-header__actions { display: flex; gap: 10px; align-items: center; font-size: 13px; }

body.mw .mw-pill {
  position: relative;
  white-space: nowrap;
  padding: 8px 16px;
  font-weight: 500;
  background: var(--mw-white);
  color: var(--mw-bg);
  border-radius: 999px;
  transition: transform 0.18s var(--mw-ease);
}
body.mw .mw-pill:hover { background: var(--mw-pill-hover); color: var(--mw-bg); }
body.mw .mw-pill:active { transform: scale(0.97); }
/* 44px tap target without changing the 34px pill. */
.mw-pill::after { content: ""; position: absolute; inset: -5px 0; }

body.mw .mw-menu-btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--mw-line);
  border-radius: 999px;
  background: transparent;
  color: var(--mw-text);
  cursor: pointer;
}
body.mw .mw-menu-btn:focus { background: transparent; color: var(--mw-text); }
body.mw .mw-menu-btn:hover,
body.mw .mw-menu-btn:focus-visible { border-color: var(--mw-line-strong); }
body.mw .mw-menu-btn:active { transform: scale(0.97); }
.mw-menu-btn::after { content: ""; position: absolute; inset: -5px 0; }
.mw-menu-btn__bars { display: flex; flex-direction: column; gap: 3px; }
.mw-menu-btn__bars span { width: 14px; height: 1.5px; background: var(--mw-text); }

/* Compact menu panel (below 1140px): sits in the flow under the header. */
.mw-menu {
  position: relative;
  z-index: 5;
  margin: 0 var(--mw-gutter) 16px;
  padding: 8px 20px;
  background: var(--mw-surface);
  border: 1px solid var(--mw-line);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  font-size: 16px;
}
.mw-menu[hidden] { display: none; }
body.mw .mw-menu a { padding: 12px 0; border-bottom: 1px solid var(--mw-line-soft); color: var(--mw-text); }
body.mw .mw-menu a:hover { color: var(--mw-white); }
body.mw .mw-menu a.mw-menu__sub { padding-left: 14px; }
.mw-menu__label {
  padding: 14px 0 4px;
  font-family: var(--mw-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--mw-muted);
}

@media (min-width: 1140px) {
  .mw-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
    padding: 22px var(--mw-gutter);
  }
  .mw-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 22px;
    font-size: 13px;
    color: var(--mw-muted);
    min-width: 0;
  }
  .mw-header__actions { justify-self: end; gap: 18px; min-width: max-content; }
  body.mw .mw-menu-btn,
  body.mw .mw-menu { display: none; }
}
body.mw .mw-nav > a { color: inherit; white-space: nowrap; }
body.mw .mw-nav > a:hover { color: var(--mw-white); }

/* Services dropdown */
.mw-svc { position: relative; display: inline-flex; }
body.mw .mw-svc__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  white-space: nowrap;
}
/* Astra recolours buttons on :focus; keep mouse focus quiet, light up on hover or keyboard focus. */
body.mw .mw-svc__btn:focus { background: transparent; color: inherit; }
body.mw .mw-svc__btn:hover,
body.mw .mw-svc__btn:focus-visible { color: var(--mw-white); }
.mw-svc__icon { font-size: 8px; color: var(--mw-lilac); }
.mw-svc__menu {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 30;
  display: flex;
  flex-direction: column;
  min-width: 240px;
  padding: 6px;
  background: var(--mw-surface);
  border: 1px solid var(--mw-line);
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
  text-align: left;
}
.mw-svc__menu[hidden] { display: none; }
/* The prototype has no global border-box, so its 240px min-width is the content box (254 overall). */
body.mw .mw-svc__menu { box-sizing: content-box; }
body.mw .mw-svc__menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--mw-text);
  font-size: 14px;
  white-space: nowrap;
  background: transparent;
}
body.mw .mw-svc__menu a:hover,
body.mw .mw-svc__menu a[aria-current="page"] { background: var(--mw-surface-hover); color: var(--mw-text); }

/* ── Contact page ─────────────────────────────────────────── */
.mw-contact { position: relative; padding: 80px var(--mw-gutter) 100px; }
.mw-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 40px 64px;
  align-items: start;
}
@media (min-width: 980px) {
  .mw-contact__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
}
.mw-eyebrow {
  font-family: var(--mw-mono);
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--mw-lilac);
  margin-bottom: 22px;
}
body.mw .mw-contact__title {
  font-size: 52px;
  line-height: 1.04;
  font-weight: 500;
  letter-spacing: -0.04em;
  margin: 0 0 22px;
  padding: 0;
  text-wrap: balance;
}
.mw-underline { border-bottom: 3px solid var(--mw-violet); }
body.mw .mw-contact__lede {
  font-size: 18px;
  color: var(--mw-soft);
  margin: 0 0 28px;
  line-height: 1.55;
  text-wrap: pretty;
}
body.mw .mw-steps {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  border-top: 1px solid var(--mw-rule);
}
body.mw .mw-steps li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  padding: 16px 0;
  border-bottom: 1px solid var(--mw-rule-soft);
}
.mw-steps__n {
  font-family: var(--mw-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--mw-lilac);
  padding-top: 3px;
}
.mw-steps__t { font-size: 16px; font-weight: 600; margin-bottom: 4px; }
.mw-steps__d { font-size: 14px; color: var(--mw-soft); line-height: 1.55; }

.mw-call {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 22px;
  margin: 0 0 24px;
  border: 1px solid var(--mw-rule);
  border-radius: 14px;
  background: var(--mw-tint);
}
body.mw .mw-call__num {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: var(--mw-text);
}
body.mw .mw-call__num:hover { color: var(--mw-white); }
body.mw .mw-call p { font-size: 14px; color: var(--mw-soft); line-height: 1.55; }
body.mw .mw-contact__note { font-size: 14px; color: var(--mw-soft); line-height: 1.6; }

/* Form card */
.mw-card {
  background: rgba(255, 255, 255, 0.035);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid var(--mw-rule);
  border-radius: 14px;
  padding: clamp(22px, 4vw, 36px);
}
.mw-form { display: flex; flex-direction: column; gap: 18px; margin: 0; }
.mw-form[hidden],
.mw-form [hidden] { display: none !important; }
.mw-form__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
@media (min-width: 620px) {
  .mw-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.mw-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
/* Astra gives labels a fixed 20px line-height; the handoff uses normal. */
body.mw .mw-label { display: block; margin: 0; font-size: 14px; font-weight: 500; line-height: normal; }
.mw-hint { color: var(--mw-muted); font-weight: 400; }

body.mw .mw-form .mw-control {
  display: block;
  width: 100%;
  height: auto;
  min-height: 46px;
  margin: 0;
  padding: 12px 14px;
  background: var(--mw-surface);
  color: var(--mw-text);
  border: 1px solid var(--mw-line);
  border-radius: 10px;
  font: inherit;
  font-size: 15px;
  box-shadow: none;
  transition: none;
}
body.mw .mw-form .mw-control:focus { background: var(--mw-surface); color: var(--mw-text); border-color: var(--mw-line); box-shadow: none; }
body.mw .mw-form .mw-control[aria-invalid="true"] { border-color: var(--mw-err-field); }
body.mw .mw-form select.mw-control { appearance: auto; -webkit-appearance: auto; background-image: none; }
body.mw .mw-form textarea.mw-control { resize: vertical; line-height: 1.5; }
body.mw .mw-field__err { font-size: 13px; color: var(--mw-err-msg); margin: 0; }

/* Honeypot: off-screen for people, still in the form for bots. */
.mw-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.mw-alert {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid var(--mw-err-line);
  border-radius: 10px;
  background: var(--mw-err-bg);
}
body.mw .mw-alert p { font-size: 14px; font-weight: 600; color: var(--mw-err-text); margin: 0; }
body.mw .mw-alert .mw-alert__title { margin: 0 0 6px; }
.mw-alert[data-mw-summary] { display: block; }
body.mw .mw-alert ul { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.6; }
body.mw .mw-alert a { color: var(--mw-err-text); text-decoration: underline; text-underline-offset: 3px; }

body.mw .mw-form__privacy { font-size: 13px; color: var(--mw-soft); line-height: 1.6; margin: 0; }
body.mw .mw-form__privacy a { color: var(--mw-text); text-decoration: underline; text-underline-offset: 3px; }

body.mw .mw-consent {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: var(--mw-soft);
  line-height: 1.5;
  cursor: pointer;
}
body.mw .mw-consent input {
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  flex: none;
  accent-color: var(--mw-violet);
}

.mw-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
body.mw .mw-submit {
  min-height: 46px;
  margin: 0;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  background: var(--mw-white);
  color: var(--mw-bg);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
}
body.mw .mw-submit:focus { background: var(--mw-white); color: var(--mw-bg); }
body.mw .mw-submit:hover,
body.mw .mw-submit:focus-visible { background: var(--mw-pill-hover); }
body.mw .mw-submit:active { transform: scale(0.98); }
body.mw .mw-submit[aria-disabled="true"] { background: var(--mw-muted); color: var(--mw-bg); cursor: progress; transform: none; }
.mw-form__note { font-size: 13px; color: var(--mw-muted); }

.mw-done { display: flex; flex-direction: column; gap: 14px; padding: 12px 0; }
.mw-done[hidden] { display: none; }
.mw-done__label { color: var(--mw-ok); }
body.mw .mw-done__text { font-size: 22px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.35; margin: 0; }
body.mw .mw-done .mw-done__link { font-size: 14px; color: var(--mw-text); text-decoration: underline; text-underline-offset: 5px; align-self: flex-start; }

/* ── Footer ───────────────────────────────────────────────── */
.mw-footer {
  border-top: 1px solid var(--mw-rule-faint);
  padding: 48px var(--mw-gutter);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 24px 48px;
  align-items: flex-start;
}
.mw-footer__brand { max-width: 420px; }
.mw-footer__logo { margin-bottom: 14px; line-height: 0; }
body.mw .mw-footer__brand p { font-size: 14px; color: var(--mw-muted); line-height: 1.6; margin: 0; }
.mw-footer__cols { display: flex; flex-wrap: wrap; gap: 28px 56px; font-size: 13px; }
.mw-footer__col { display: flex; flex-direction: column; gap: 10px; }
.mw-footer__label {
  font-family: var(--mw-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--mw-muted);
}
body.mw .mw-footer__col a { color: var(--mw-soft); }
body.mw .mw-footer__col a:hover { color: var(--mw-white); }

/* ── Shared page parts (home + inner pages) ───────────────── */
/* The handoff's home page runs on its default props: heading scale 0.9
   (h1 58 / h2 38 / h3 25), body 16, glass cards with accent borders,
   radius 14, density Regular (gap 12, pad 20/32), section padding 100. */
.mw-sec { position: relative; padding: 100px var(--mw-gutter) 0; }
.mw-sec--approach { padding-top: 24px; }
.mw-sec--half { padding-top: 50px; }
.mw-kicker { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--mw-muted); margin-bottom: 12px; }
body.mw .mw-h2 { font-size: 38px; font-weight: 500; letter-spacing: -0.035em; line-height: 1.08; margin: 0; text-wrap: balance; }
body.mw .mw-h3s { font-size: 25px; font-weight: 500; letter-spacing: -0.03em; line-height: 1.15; margin: 0; text-wrap: balance; }
body.mw .mw-card-t { font-size: 17px; font-weight: 600; margin: 0; line-height: 1.3; }
body.mw .mw-card-d { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 0; }
.mw-num { font-family: var(--mw-mono); font-size: 11px; color: var(--mw-lilac); }
body.mw .mw-dt { font-family: var(--mw-mono); font-size: 11px; letter-spacing: 0.08em; color: var(--mw-muted); font-weight: 400; margin: 0 0 6px; }
body.mw .mw-dt--tint { color: var(--mw-lilac); }
.mw-glass {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--mw-rule);
  border-radius: 14px;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
body.mw a.mw-textlink { font-size: 14px; color: var(--mw-text); text-decoration: underline; text-underline-offset: 5px; }
body.mw a.mw-textlink:hover { color: var(--mw-white); }
.mw-loop { display: flex; align-items: center; gap: 10px; margin-top: 14px; font-family: var(--mw-mono); font-size: 11px; color: var(--mw-muted); }
body.mw .mw-loop__line { flex: 1; height: 1px; box-sizing: content-box; border-top: 1px dashed rgba(124, 58, 237, 0.35); }

/* Buttons: white pill + outline (handoff "White pill" / "Outline"). */
.mw-btns { display: flex; flex-wrap: wrap; gap: 10px; font-size: 13px; }
body.mw .mw-btn {
  white-space: nowrap;
  padding: 11px 20px;
  font-weight: 500;
  background: var(--mw-white);
  color: var(--mw-bg);
  border: 0;
  border-radius: 999px;
  text-decoration: none;
  transition: transform 0.18s var(--mw-ease);
}
body.mw .mw-btn:hover { background: var(--mw-pill-hover); color: var(--mw-bg); }
body.mw .mw-btn--ghost { font-weight: 400; color: var(--mw-text); background: rgba(12, 11, 15, 0.6); border: 1px solid var(--mw-line); }
body.mw .mw-btn--ghost:hover { background: rgba(12, 11, 15, 0.6); color: var(--mw-white); border-color: var(--mw-line-strong); }
body.mw .mw-btn:active { transform: scale(0.98); }

/* Hero (centred, "Standard" height) */
.mw-hero { position: relative; padding: 96px var(--mw-gutter); text-align: center; display: flex; flex-direction: column; align-items: center; }
body.mw .mw-hero__title { font-size: 58px; line-height: 1.02; font-weight: 500; letter-spacing: -0.04em; margin: 0 0 20px; max-width: 820px; text-wrap: balance; }
body.mw .mw-hero__lead { font-size: 18px; color: var(--mw-soft); margin: 0 0 32px; max-width: 640px; line-height: 1.5; }

/* From possibility to progress */
.mw-approach__head { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 24px 64px; align-items: start; margin-bottom: 56px; }
body.mw .mw-approach__text { font-size: 16px; color: var(--mw-soft); line-height: 1.6; margin: 0 0 14px; max-width: 560px; }
.mw-approach__cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.mw-approach__card { padding: 20px; display: flex; flex-direction: column; gap: 10px; }
body.mw .mw-approach__foot { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 12px 0 0; }

/* Illustrative possibilities */
.mw-examples__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px 48px; margin-bottom: 40px; }
body.mw .mw-examples__title { line-height: 1.05; max-width: 640px; }
.mw-examples__intro { max-width: 440px; }
body.mw .mw-examples__text { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0 0 10px; }
body.mw .mw-examples__note { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 0; }
.mw-examples__list { display: flex; flex-direction: column; gap: 12px; }
.mw-example { padding: 32px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px 48px; }
.mw-example [hidden] { display: none !important; }
.mw-example__main { min-width: 0; }
.mw-example__side { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.mw-example__n { margin-bottom: 8px; }
body.mw .mw-example__title { font-size: 22px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.25; margin: 0 0 20px; text-wrap: balance; }
body.mw .mw-flow { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
body.mw .mw-flow li { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 44px; }
.mw-flow__mark { position: relative; align-self: stretch; display: flex; justify-content: center; }
.mw-flow__line { position: absolute; top: 0; bottom: 0; width: 1px; background: rgba(124, 58, 237, 0.35); }
.mw-flow__line--first { background: linear-gradient(transparent 50%, rgba(124, 58, 237, 0.35) 50%); }
.mw-flow__line--last { background: linear-gradient(rgba(124, 58, 237, 0.35) 50%, transparent 50%); }
body.mw .mw-flow__dot { position: relative; align-self: center; box-sizing: content-box; width: 10px; height: 10px; border-radius: 50%; background: var(--mw-bg); border: 1px solid var(--mw-violet); }
body.mw .mw-flow__dot--person { background: var(--mw-violet); }
.mw-flow__t { font-size: 14px; color: var(--mw-text); line-height: 1.4; padding: 6px 0; }
.mw-chip { font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.06em; padding: 3px 8px; border-radius: 999px; border: 1px solid var(--mw-line-strong); color: var(--mw-soft); white-space: nowrap; }
.mw-chip--agent { color: var(--mw-muted); }
.mw-chip--person { color: var(--mw-lilac); border-color: rgba(124, 58, 237, 0.35); }
body.mw .mw-example__rows { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px 32px; align-content: start; }
.mw-example__rows > div,
.mw-example__closed { padding-top: 12px; border-top: 1px solid var(--mw-rule-faint); }
body.mw .mw-example__rows dd,
body.mw .mw-example__closed p { margin: 0; font-size: 14px; color: var(--mw-soft); line-height: 1.55; }
body.mw .mw-example__btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid rgba(124, 58, 237, 0.35);
  border-radius: 999px;
  background: transparent;
  color: var(--mw-text);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  box-shadow: none;
  transition: transform 0.18s var(--mw-ease);
}
body.mw .mw-example__btn:focus { background: transparent; color: var(--mw-text); }
body.mw .mw-example__btn:hover,
body.mw .mw-example__btn:focus-visible { border-color: rgba(124, 58, 237, 0.7); color: var(--mw-white); }
body.mw .mw-example__btn:active { transform: scale(0.98); }
.mw-example__icon { font-family: var(--mw-mono); color: var(--mw-lilac); }

/* Four ways (service cards) */
.mw-services__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px 48px; margin-bottom: 40px; }
body.mw .mw-services__title { line-height: 1.05; max-width: 620px; }
body.mw .mw-services__intro { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0; max-width: 480px; }
body.mw .mw-offers { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.mw-offer { padding: 32px; display: flex; flex-direction: column; min-width: 0; }
.mw-offer__label { font-family: var(--mw-mono); font-size: 11px; letter-spacing: 0.08em; color: var(--mw-lilac); margin-bottom: 14px; }
body.mw .mw-offer__title { font-size: 21px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.25; margin: 0 0 12px; text-wrap: balance; }
body.mw .mw-offer__text { font-size: 14px; color: var(--mw-soft); margin: 0 0 24px; line-height: 1.6; }
.mw-offer__price { margin-top: auto; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.1); display: flex; flex-direction: column; gap: 4px; }
body.mw .mw-offer__price p { font-size: 19px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; color: var(--mw-text); margin: 0; }
body.mw .mw-offer__cta {
  margin-top: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  text-align: center;
  font-size: 13px;
  padding: 10px;
  font-weight: 500;
  color: var(--mw-text);
  background: rgba(12, 11, 15, 0.6);
  border: 1px solid var(--mw-line);
  border-radius: 999px;
  transition: transform 0.18s var(--mw-ease);
}
body.mw .mw-offer__cta:hover { color: var(--mw-white); border-color: var(--mw-line-strong); }
body.mw .mw-offer__cta:active { transform: scale(0.98); }
.mw-services__after { margin-top: 20px; display: flex; flex-direction: column; gap: 6px; max-width: 820px; }
body.mw .mw-services__after p { font-size: 14px; color: var(--mw-text); line-height: 1.6; margin: 0; }
.mw-services__links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 8px; font-size: 14px; }

/* How working with us works */
.mw-strip { border-top: 1px solid var(--mw-rule-faint); padding-top: 40px; }
body.mw .mw-strip__title { margin: 0 0 12px; text-wrap: wrap; }
body.mw .mw-strip__text { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0 0 24px; max-width: 640px; }
body.mw .mw-strip__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
body.mw .mw-strip__item { padding: 20px; border: 1px solid var(--mw-rule); border-radius: 14px; background: rgba(255, 255, 255, 0.035); }
.mw-strip__n { margin-bottom: 8px; }
body.mw .mw-strip__item .mw-card-t { margin: 0 0 8px; }

/* Technology ladder */
.mw-ladder__head { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 32px 64px; align-items: start; margin-bottom: 40px; }
body.mw .mw-ladder__title { margin: 0 0 18px; }
body.mw .mw-ladder__text { font-size: 14px; color: var(--mw-muted); line-height: 1.6; margin: 0; max-width: 480px; }
.mw-ladder__example { border: 1px solid rgba(124, 58, 237, 0.35); border-radius: 14px; padding: 32px; background: var(--mw-tint); }
body.mw .mw-ladder__label { margin-bottom: 14px; }
body.mw .mw-ladder__example p { font-size: 18px; line-height: 1.45; margin: 0; color: var(--mw-text); }
body.mw .mw-ladder { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
.mw-ladder__step { min-width: 0; }
.mw-ladder__rail { position: relative; height: 28px; display: flex; align-items: center; margin-bottom: 14px; }
.mw-ladder__tread { position: absolute; left: 0; right: 0; top: 13px; height: 2px; background: var(--mw-tread); }
.mw-ladder__riser { position: absolute; right: -12px; top: -5px; width: 2px; height: 20px; background: var(--mw-tread); display: none; }
body.mw .mw-ladder__dot {
  position: relative;
  box-sizing: content-box;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--mw-bg);
  border: 1px solid var(--mw-violet);
  color: var(--mw-lilac);
  font-family: var(--mw-mono);
  font-size: 11px;
}
body.mw .mw-ladder__step--first .mw-ladder__dot { background: var(--mw-violet); color: var(--mw-white); }
.mw-ladder__t { font-size: 16px; font-weight: 600; line-height: 1.25; margin-bottom: 6px; overflow-wrap: break-word; }
.mw-ladder__d { font-size: 14px; line-height: 1.45; color: var(--mw-muted); overflow-wrap: break-word; }
.mw-ladder__foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 28px;
  padding-top: 14px;
  border-top: 1px solid var(--mw-rule-faint);
  font-family: var(--mw-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  color: #a9a5b5;
}
.mw-ladder__grad { flex: 1; height: 1px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.15), var(--mw-violet)); }
.mw-ladder__end { color: var(--mw-lilac); }
@media (min-width: 800px) {
  body.mw .mw-ladder { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0 12px; }
  .mw-ladder__step { padding-top: calc(var(--mw-k) * 18px); }
  .mw-ladder__step:not(.mw-ladder__step--last) .mw-ladder__tread { right: -12px; }
  .mw-ladder__step:not(.mw-ladder__step--last) .mw-ladder__riser { display: block; }
}

/* Measuring value + "How we work in detail" */
.mw-value__head { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 24px 64px; align-items: start; }
body.mw .mw-value__text { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0; max-width: 560px; }
.mw-details { margin-top: 32px; border: 1px solid var(--mw-rule); border-radius: 14px; background: rgba(255, 255, 255, 0.035); }
.mw-details > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px 32px;
  font-size: 16px;
  font-weight: 600;
}
.mw-details > summary::-webkit-details-marker { display: none; }
.mw-details__hint { font-family: var(--mw-mono); font-size: 11px; letter-spacing: 0.06em; font-weight: 400; color: var(--mw-lilac); }
.mw-details > summary:hover .mw-details__hint { color: var(--mw-white); }
.mw-details__body { padding: 0 32px 32px; border-top: 1px solid var(--mw-rule-faint); }
.mw-details__spacer { padding-top: 20px; }
.mw-details__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 32px; margin-bottom: 20px; }
body.mw .mw-details__row p { font-size: 14px; color: var(--mw-muted); margin: 0; }
body.mw .mw-chain { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
body.mw .mw-chain li { position: relative; padding: 12px 14px; border: 1px solid rgba(124, 58, 237, 0.35); border-radius: 10px; background: var(--mw-bg); min-width: 0; }
.mw-chain__n { font-family: var(--mw-mono); font-size: 11px; color: var(--mw-lilac); margin-bottom: 4px; }
.mw-chain__q { font-size: 14px; color: var(--mw-soft); line-height: 1.4; }
.mw-loop--chain { margin: 10px 0 22px; }
.mw-enablers { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px 24px; padding-top: 18px; border-top: 1px solid var(--mw-rule-faint); }
.mw-enablers__t, .mw-measures__t { font-size: 14px; font-weight: 600; color: var(--mw-text); }
.mw-enablers__t { margin-bottom: 4px; }
.mw-enablers__d, .mw-measures__d { font-size: 14px; color: var(--mw-muted); line-height: 1.5; }
.mw-measures { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--mw-rule-faint); }
body.mw .mw-measures .mw-card-t { margin: 0 0 6px; line-height: normal; }
body.mw .mw-details__row .mw-card-t { line-height: normal; }
.mw-measures__list { display: flex; flex-direction: column; }
.mw-measures__row { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--mw-rule-faint); }

/* Closing CTA ("Split") */
.mw-cta { padding: 70px var(--mw-gutter) 100px; }
.mw-cta__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px 56px; align-items: start; border-top: 1px solid var(--mw-rule-faint); padding-top: 48px; }
@media (min-width: 860px) {
  .mw-cta__grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
}
body.mw .mw-cta__title--plain { text-wrap: wrap; }
body.mw .mw-cta__text { font-size: 16px; color: var(--mw-soft); line-height: 1.55; margin: 0 0 20px; }
body.mw .mw-cta__text--with-note { margin-bottom: 12px; }
body.mw .mw-cta__note { font-size: 14px; color: var(--mw-muted); line-height: 1.6; margin: 0 0 20px; }
.mw-cta__links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 16px; font-size: 14px; }
body.mw .mw-cta__foot { font-size: 14px; color: var(--mw-soft); line-height: 1.55; margin: 16px 0 0; }

/* Breakpoints from the handoff's layout table */
@media (min-width: 560px) {
  body.mw .mw-chain { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mw-enablers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 620px) {
  .mw-approach__cards,
  body.mw .mw-offers,
  body.mw .mw-example__rows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  body.mw .mw-strip__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 980px) {
  .mw-example { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr); }
}
@media (min-width: 1000px) {
  body.mw .mw-chain { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .mw-approach__cards,
  body.mw .mw-offers,
  .mw-enablers { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ── Inner pages (About, How we work, Pricing, services) ──── */
.mw-sec--80 { padding-top: 80px; }
.mw-sec--flush { padding-top: 0; }
.mw-page-hero { position: relative; padding: 96px var(--mw-gutter) 100px; text-align: center; display: flex; flex-direction: column; align-items: center; }
body.mw .mw-page-hero__title { font-size: 58px; line-height: 1.02; font-weight: 500; letter-spacing: -0.04em; margin: 0 0 22px; max-width: 900px; text-wrap: balance; }
body.mw .mw-page-hero__lead { font-size: 18px; color: var(--mw-soft); margin: 0 0 32px; max-width: 700px; line-height: 1.55; text-wrap: pretty; }
body.mw .mw-page-hero--narrow .mw-page-hero__lead { max-width: 680px; }
body.mw .mw-page-hero__lead--tight { margin-bottom: 14px; }
body.mw .mw-page-hero__lead--price { margin-bottom: 24px; }
body.mw .mw-page-hero__note { font-size: 15px; color: var(--mw-text); margin: 0 0 32px; max-width: 640px; line-height: 1.6; text-wrap: pretty; }
.mw-page-hero__price { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0 0 30px; }
body.mw .mw-page-hero__amount { font-size: 22px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; color: var(--mw-text); margin: 0; }
.mw-btns--center { justify-content: center; }
body.mw .mw-btn--ghost { white-space: nowrap; }

/* Two-column prose blocks */
.mw-prose { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px 64px; align-items: start; border-top: 1px solid var(--mw-rule-faint); padding-top: 40px; }
.mw-prose--boxed { border: 1px solid rgba(124, 58, 237, 0.35); border-radius: 14px; padding: clamp(24px, 4vw, 40px); background: var(--mw-tint); }
.mw-prose__body { display: flex; flex-direction: column; gap: 14px; }
body.mw .mw-prose__body p { font-size: 16px; color: var(--mw-soft); line-height: 1.6; margin: 0; }
body.mw .mw-prose__body .mw-prose__em { color: var(--mw-text); font-weight: 500; }
.mw-prose__links { display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 14px; margin-top: 4px; }

/* How an engagement works (seven stages) */
body.mw .mw-stages { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--mw-violet); }
body.mw .mw-stages li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px 40px; padding: 32px 0; border-bottom: 1px solid var(--mw-rule-faint); }
.mw-stages__n { font-family: var(--mw-mono); font-size: 12px; letter-spacing: 0.08em; color: var(--mw-lilac); padding-top: 6px; }
body.mw .mw-stages__t { font-size: 25px; font-weight: 500; letter-spacing: -0.03em; line-height: 1.2; margin: 0; text-wrap: balance; }
.mw-stages__body { display: flex; flex-direction: column; gap: 12px; }
body.mw .mw-stages__body p { font-size: 15px; color: var(--mw-soft); line-height: 1.6; margin: 0; }

/* Section header: h2 left, short text right */
.mw-head-split { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px 48px; margin-bottom: 40px; }
body.mw .mw-head-split__title { max-width: 620px; }
body.mw .mw-head-split__text { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0; max-width: 440px; }
.mw-head-split__kicker { font-size: 12px; color: var(--mw-muted); margin-bottom: 12px; }
body.mw .mw-head-split--svc .mw-head-split__title { max-width: 660px; }
body.mw .mw-head-split--svc .mw-head-split__text { color: var(--mw-muted); max-width: 420px; }

/* Technology Ladder as a staircase of cards (How we work) */
body.mw .mw-stair { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; align-items: end; }
.mw-stair__step { padding: 18px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.mw-stair__n { font-family: var(--mw-mono); font-size: 11px; letter-spacing: 0.08em; color: var(--mw-lilac); }
body.mw .mw-stair__step h3 { font-size: 17px; font-weight: 600; margin: 0; line-height: normal; }
body.mw .mw-stair__step p { font-size: 13px; color: var(--mw-soft); line-height: 1.55; margin: 0; }

/* Pricing: offer cards */
body.mw .mw-plans { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.mw-plan { padding: clamp(24px, 3.5vw, 36px); display: flex; flex-direction: column; gap: 20px; min-width: 0; scroll-margin-top: 24px; }
.mw-plan__head { display: flex; flex-direction: column; gap: 10px; padding-bottom: 20px; border-bottom: 1px solid var(--mw-rule-faint); }
body.mw .mw-plan__head h2 { font-size: 28px; font-weight: 500; letter-spacing: -0.03em; line-height: 1.15; margin: 0; }
body.mw .mw-plan__price { font-size: 22px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; color: var(--mw-text); margin: 0; }
body.mw .mw-plan__tag { font-size: 16px; font-weight: 500; color: var(--mw-text); line-height: 1.5; margin: 0; }
body.mw .mw-plan__desc { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0; }
.mw-plan__block { display: flex; flex-direction: column; gap: 8px; }
body.mw .mw-plan__block h3 { font-family: var(--mw-mono); font-size: 11px; letter-spacing: 0.08em; font-weight: 400; color: var(--mw-lilac); margin: 0; text-transform: uppercase; line-height: normal; }
body.mw .mw-plan__block p { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0; }
.mw-plan__actions { margin-top: auto; padding-top: 8px; }

/* Pricing questions (native details) */
.mw-faq { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px 64px; align-items: start; border-top: 1px solid var(--mw-rule-faint); padding-top: 40px; }
.mw-faq__list { border-top: 1px solid var(--mw-rule-faint); }
.mw-faq__item { border-bottom: 1px solid var(--mw-rule-faint); }
.mw-faq__item > summary { list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 18px 0; cursor: pointer; font-size: 17px; font-weight: 600; line-height: 1.35; }
.mw-faq__item > summary::-webkit-details-marker { display: none; }
.mw-faq__item > summary span { color: var(--mw-lilac); font-weight: 400; font-size: 20px; }
.mw-faq__item > summary:hover { color: var(--mw-white); }
body.mw .mw-faq__item p { font-size: 15px; color: var(--mw-soft); line-height: 1.6; margin: 0 0 20px; max-width: 640px; }

@media (min-width: 600px) {
  body.mw .mw-stair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 860px) {
  .mw-prose,
  body.mw .mw-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  body.mw .mw-stages li { grid-template-columns: 60px minmax(0, 0.8fr) minmax(0, 1.4fr); }
  .mw-faq { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); }
}
@media (min-width: 1100px) {
  body.mw .mw-stair { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  /* Beats the list-item margin reset; with align-items:end it only adds room above. */
  body.mw .mw-stair .mw-stair__step { margin-top: calc(var(--mw-k) * 28px); }
}

/* ── Service pages: shared parts ──────────────────────────── */
/* Related services */
.mw-related { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px 64px; align-items: start; border-top: 1px solid var(--mw-rule-faint); padding-top: 40px; }
body.mw .mw-related__title { margin: 0 0 14px; text-wrap: wrap; }
body.mw .mw-related__text { font-size: 14px; color: var(--mw-muted); line-height: 1.6; margin: 0; max-width: 420px; }
body.mw .mw-related__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--mw-rule-faint); }
body.mw .mw-related__list li { padding: 16px 0; border-bottom: 1px solid var(--mw-rule-faint); }
body.mw .mw-related__list a { display: flex; justify-content: space-between; align-items: center; gap: 16px; color: var(--mw-text); font-size: 17px; font-weight: 600; }
body.mw .mw-related__list a:hover { color: var(--mw-white); }
.mw-related__list a span { color: var(--mw-lilac); }
body.mw .mw-related__list p { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 6px 0 0; }

/* Common questions (button accordion) */
.mw-qa { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px 64px; align-items: start; }
body.mw .mw-qa__title { line-height: 1.05; text-wrap: wrap; }
.mw-qa__list { border-top: 1px solid var(--mw-rule-faint); }
.mw-qa__item { border-bottom: 1px solid var(--mw-rule-faint); }
body.mw .mw-qa__item h3 { margin: 0; font-size: 17px; font-weight: 600; line-height: normal; }
body.mw .mw-qa__item button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 18px 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--mw-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: none;
}
body.mw .mw-qa__item button:focus { background: transparent; color: var(--mw-text); }
body.mw .mw-qa__item button:hover,
body.mw .mw-qa__item button:focus-visible { color: var(--mw-white); }
.mw-qa__item button span { flex: none; font-family: var(--mw-mono); font-size: 16px; color: var(--mw-lilac); }
body.mw .mw-qa__item p { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0 0 18px; max-width: 640px; }
.mw-qa__item p[hidden] { display: none; }

/* Boundary: investment panel, in/out of scope cards, closing statement */
.mw-invest { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px 48px; align-items: start; padding: 28px; margin-bottom: 12px; border: 1px solid rgba(124, 58, 237, 0.5); border-radius: 14px; background: var(--mw-tint); }
.mw-invest__price { display: flex; flex-direction: column; gap: 6px; }
body.mw .mw-invest__label { margin: 0 0 4px; line-height: normal; }
body.mw .mw-invest__amount { font-size: 30px; font-weight: 600; letter-spacing: -0.03em; line-height: 1.2; color: var(--mw-text); margin: 0; }
.mw-invest__body { display: flex; flex-direction: column; gap: 10px; }
body.mw .mw-invest__lead { font-size: 15px; color: var(--mw-text); line-height: 1.6; margin: 0; }
body.mw .mw-invest__more { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0; }
body.mw .mw-bounds { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.mw-bound { padding: 20px; border: 1px dashed var(--mw-line-strong); border-radius: 14px; background: transparent; }
.mw-bound--in { border: 1px solid var(--mw-rule); background: var(--mw-tint); }
body.mw .mw-bound dt { font-family: var(--mw-mono); font-size: 11px; letter-spacing: 0.08em; font-weight: 400; color: var(--mw-muted); margin: 0 0 10px; }
body.mw .mw-bound--in dt { color: var(--mw-lilac); }
body.mw .mw-bound dd { margin: 0; font-size: 14px; color: var(--mw-soft); line-height: 1.6; }
.mw-close { margin-top: 12px; padding: 20px 24px; border: 1px solid rgba(124, 58, 237, 0.5); border-radius: 14px; background: var(--mw-bg); }
body.mw .mw-close__a { font-size: 16px; font-weight: 600; color: var(--mw-text); line-height: 1.5; margin: 0 0 6px; }
body.mw .mw-close__b { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 0 0 6px; }
body.mw .mw-close__c { font-size: 14px; color: var(--mw-soft); line-height: 1.55; margin: 0; }

/* ── Transformation Review ────────────────────────────────── */
/* Change signals widget */
.mw-sig { padding: clamp(20px, 3vw, 32px); display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px 48px; align-items: start; }
.mw-sig__left, .mw-sig__right { min-width: 0; }
.mw-sig__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
body.mw .mw-sig__bar .mw-dt { margin: 0; }
body.mw .mw-sig__play {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  margin: 0;
  padding: 0 14px;
  border: 1px solid var(--mw-line);
  border-radius: 999px;
  background: transparent;
  color: var(--mw-text);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
  box-shadow: none;
}
body.mw .mw-sig__play:focus { background: transparent; color: var(--mw-text); }
body.mw .mw-sig__play:hover,
body.mw .mw-sig__play:focus-visible { border-color: var(--mw-line-strong); color: var(--mw-white); }
.mw-sig__play-icon { font-family: var(--mw-mono); color: var(--mw-lilac); }
.mw-sig__picks { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
body.mw .mw-sig__pick {
  text-align: left;
  min-height: 44px;
  margin: 0;
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid var(--mw-line);
  background: transparent;
  color: var(--mw-text);
  font: inherit;
  font-size: 15px;
  line-height: 1.35;
  cursor: pointer;
  box-shadow: none;
  transition: background 0.4s ease, border-color 0.4s ease;
}
body.mw .mw-sig__pick:focus { background: transparent; color: var(--mw-text); }
body.mw .mw-sig__pick:hover { border-color: var(--mw-line-strong); }
body.mw .mw-sig__pick.is-on { background: rgba(124, 58, 237, 0.16); border-color: rgba(124, 58, 237, 0.7); }
.mw-sig__pick-n { font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.08em; color: var(--mw-lilac); margin-right: 10px; }
body.mw .mw-sig__qlabel { margin: 0 0 10px; }
body.mw .mw-sig__qs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
body.mw .mw-sig__qs[hidden] { display: none; }
body.mw .mw-sig__qs li { font-size: 15px; color: var(--mw-text); line-height: 1.5; padding-left: 14px; border-left: 1px solid rgba(124, 58, 237, 0.6); }
.mw-sig__diagram { position: relative; width: min(100%, 400px); aspect-ratio: 1 / 1; margin: 0 auto 24px; }
.mw-sig__ring { position: absolute; height: 1px; background: rgba(124, 58, 237, 0.28); transform-origin: 0 50%; }
.mw-sig__spoke { position: absolute; left: 50%; top: 50%; width: 40%; height: 2px; margin-top: -1px; background: var(--mw-lilac); opacity: 0.08; transform-origin: 0 50%; transition: opacity 0.6s ease; }
.mw-sig__spoke.is-on { opacity: 0.9; }
body.mw .mw-sig__node {
  position: absolute;
  box-sizing: content-box;
  width: 38px;
  height: 38px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--mw-mono);
  font-size: 12px;
  border: 1px solid var(--mw-line-strong);
  background: var(--mw-surface);
  color: var(--mw-muted);
  box-shadow: none;
  transition: background 0.6s ease, box-shadow 0.6s ease, color 0.6s ease, border-color 0.6s ease;
}
body.mw .mw-sig__node.is-on { background: var(--mw-violet); color: var(--mw-white); border-color: var(--mw-lilac); box-shadow: 0 0 24px rgba(124, 58, 237, 0.6); }
.mw-sig__core {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--mw-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  line-height: 1.5;
  color: var(--mw-white);
  background: radial-gradient(circle at 35% 30%, #b793f5, #7C3AED 50%, #2a1650 100%);
  box-shadow: 0 0 50px rgba(124, 58, 237, 0.45);
}
body.mw .mw-sig__legend { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px 16px; }
body.mw .mw-sig__area { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--mw-line-soft); font-size: 14px; color: var(--mw-muted); transition: color 0.6s ease; }
body.mw .mw-sig__area.is-on { color: var(--mw-text); }
.mw-sig__area-n { font-family: var(--mw-mono); font-size: 11px; color: var(--mw-lilac); min-width: 16px; }
.mw-sig__area-t { flex: 1; }
.mw-sig__chip { font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.06em; padding: 2px 7px; border-radius: 999px; border: 1px solid rgba(124, 58, 237, 0.6); color: var(--mw-lilac); }
.mw-sig__chip[hidden] { display: none; }

/* What the review considers */
.mw-areas { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.mw-area { padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.mw-area__head { display: flex; align-items: center; gap: 10px; }
body.mw .mw-area__n { box-sizing: content-box; width: 28px; height: 28px; flex: none; display: flex; align-items: center; justify-content: center; border: 1px solid var(--mw-rule); border-radius: 8px; color: var(--mw-lilac); font-family: var(--mw-mono); font-size: 10px; }
body.mw .mw-area h3 { font-size: 17px; font-weight: 600; margin: 0; line-height: normal; }
body.mw .mw-area p { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 0; }

/* Outputs: five-step chain + roadmap extract */
body.mw .mw-chain--five { margin: 0 0 12px; grid-template-columns: minmax(0, 1fr); }
.mw-roadmap { padding: 20px; overflow: hidden; }
.mw-roadmap__bar { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 14px; font-family: var(--mw-mono); font-size: 11px; letter-spacing: 0.08em; color: var(--mw-muted); }
.mw-roadmap__title { color: var(--mw-text); }
.mw-roadmap__table { display: flex; flex-direction: column; font-size: 14px; }
.mw-roadmap__th { display: none; }
.mw-roadmap__tr { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px 16px; padding: 12px 0; border-bottom: 1px solid var(--mw-surface-hover); align-items: center; }
.mw-roadmap__p { color: var(--mw-text); }
.mw-roadmap__o { color: var(--mw-muted); }
.mw-roadmap__s { font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.06em; padding: 3px 8px; border-radius: 999px; border: 1px solid var(--mw-line-strong); color: var(--mw-muted); justify-self: start; }
.mw-roadmap__s--now { color: var(--mw-lilac); border-color: rgba(124, 58, 237, 0.6); }
.mw-roadmap__s--next { color: var(--mw-soft); }

@media (min-width: 480px) {
  body.mw .mw-sig__legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 600px) {
  .mw-areas,
  body.mw .mw-bounds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.mw .mw-chain--five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 760px) {
  .mw-roadmap__th { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr) 80px minmax(0, 1.2fr); gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--mw-line); font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.08em; color: var(--mw-muted); }
  .mw-roadmap__tr { grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr) 80px minmax(0, 1.2fr); }
}
@media (min-width: 860px) {
  .mw-related,
  .mw-invest { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  .mw-qa { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); }
  body.mw .mw-bounds { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
  .mw-sig { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (min-width: 1000px) {
  body.mw .mw-chain--five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .mw-areas { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Per-page values the handoff varies (set by the publisher as custom properties). */
body.mw .mw-page-hero__title { max-width: var(--mw-ph-h1, 900px); }
body.mw .mw-page-hero__lead { max-width: var(--mw-ph-lead, 700px); }
body.mw .mw-page-hero--narrow .mw-page-hero__lead { max-width: var(--mw-ph-lead, 680px); }
body.mw .mw-page-hero__lead--tagline { margin-bottom: 18px; }
body.mw .mw-page-hero__tagline { font-family: var(--mw-mono); font-size: 13px; letter-spacing: 0.08em; color: var(--mw-lilac); margin: 0 0 24px; }
body.mw .mw-head-split--svc .mw-head-split__title { max-width: var(--mw-hs-tw, 660px); line-height: var(--mw-hs-lh, 1.08); }
body.mw .mw-head-split--svc .mw-head-split__text { color: var(--mw-hs-pc, var(--mw-muted)); max-width: var(--mw-hs-pw, 420px); }
body.mw .mw-related__title--solo { margin: 0; }
body.mw .mw-cta__extra { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 8px 0 0; }

/* ── AI Ready ─────────────────────────────────────────────── */
/* Better / Different / New */
.mw-kinds { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.mw-kind { padding: 20px; display: flex; flex-direction: column; gap: 10px; }
body.mw .mw-kind h3 { font-size: 22px; font-weight: 600; margin: 0; letter-spacing: -0.02em; line-height: normal; }
body.mw .mw-kind p { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 0; }
.mw-xbox { margin-top: 12px; border: 1px solid rgba(124, 58, 237, 0.35); border-radius: 14px; padding: 32px; background: var(--mw-tint); display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px 48px; }
body.mw .mw-xbox__label { margin: 0 0 14px; }
body.mw .mw-xbox__lead { font-size: 20px; line-height: 1.4; margin: 0; color: var(--mw-text); }
.mw-xbox__rows { display: flex; flex-direction: column; }
.mw-xbox__row { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--mw-rule-faint); }
.mw-xbox__row:last-child { border-bottom: 0; }
.mw-xbox__t { font-size: 14px; font-weight: 600; }
.mw-xbox__d { font-size: 14px; color: var(--mw-soft); line-height: 1.5; }

/* Learn / Protect / Support / Improve */
.mw-pillars { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.mw-pillar { padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.mw-pillar__k { font-family: var(--mw-mono); font-size: 12px; letter-spacing: 0.1em; color: var(--mw-lilac); }
body.mw .mw-pillar h3 { font-size: 17px; font-weight: 600; margin: 0; line-height: 1.3; }
body.mw .mw-pillar p { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 0; }

/* Getting started */
body.mw .mw-starter__title { line-height: 1.05; margin: 0 0 40px; max-width: 720px; }
.mw-starter { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; }
.mw-starter__card { padding: 32px; display: flex; flex-direction: column; }
body.mw .mw-starter__label { margin: 0 0 14px; }
body.mw .mw-starter__card h3 { font-size: 22px; font-weight: 500; letter-spacing: -0.02em; margin: 0 0 12px; line-height: normal; }
body.mw .mw-starter__p { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0 0 22px; }
body.mw .mw-starter__p--last { margin-bottom: 0; }
body.mw .mw-starter__chips-label { margin: 0 0 10px; }
body.mw .mw-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body.mw .mw-chips li { font-size: 14px; color: var(--mw-text); padding: 6px 12px; border: 1px solid rgba(124, 58, 237, 0.35); border-radius: 10px; background: var(--mw-tint); }
body.mw .mw-starter__foot { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--mw-rule-faint); }
.mw-starter__split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px 24px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--mw-rule-faint); }
body.mw .mw-starter__split p { font-size: 14px; color: var(--mw-soft); line-height: 1.55; margin: 0; }

/* Scope and investment */
.mw-terms { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: stretch; }
.mw-term { padding: 28px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
body.mw .mw-term h3 { font-family: var(--mw-mono); font-size: 11px; letter-spacing: 0.08em; font-weight: 400; color: var(--mw-lilac); margin: 0; line-height: normal; }
body.mw .mw-term p { font-size: 15px; color: var(--mw-soft); line-height: 1.6; margin: 0; }
.mw-routes { margin-top: 28px; border-top: 1px solid var(--mw-violet); }
.mw-routes__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px 32px; padding: 16px 0; border-bottom: 1px solid var(--mw-rule-faint); }
.mw-routes__row span:first-child { font-size: 16px; font-weight: 600; line-height: 1.35; }
.mw-routes__row span:last-child { font-size: 14px; color: var(--mw-soft); line-height: 1.6; }
body.mw .mw-scope__close { font-size: 15px; color: var(--mw-text); font-weight: 500; line-height: 1.6; margin: 20px 0 0; max-width: 820px; }

/* What you receive */
.mw-outputs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px 64px; align-items: start; }
body.mw .mw-outputs__title { line-height: 1.05; margin: 0 0 28px; }
.mw-outs { display: flex; flex-direction: column; border-top: 1px solid var(--mw-rule-faint); }
.mw-outs__row { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--mw-rule-faint); }
.mw-outs__n { font-family: var(--mw-mono); font-size: 12px; color: var(--mw-lilac); padding-top: 2px; }
.mw-outs__t { font-size: 17px; font-weight: 600; margin-bottom: 4px; }
.mw-outs__d { font-size: 14px; color: var(--mw-muted); line-height: 1.55; }
.mw-outputs__side { display: flex; flex-direction: column; gap: 12px; }
.mw-reg { background: rgba(255, 255, 255, 0.035); border: 1px solid var(--mw-rule); border-radius: 14px; padding: 20px; overflow: hidden; }
.mw-reg__table { display: flex; flex-direction: column; font-size: 13px; }
.mw-reg__th,
.mw-reg__tr { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.3fr) 90px; gap: 10px; }
.mw-reg__th { padding: 8px 0; border-bottom: 1px solid var(--mw-line); font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.08em; color: var(--mw-muted); }
.mw-reg__tr { padding: 10px 0; border-bottom: 1px solid var(--mw-surface-hover); align-items: center; }
.mw-reg__s--pursue { color: var(--mw-lilac); border-color: rgba(124, 58, 237, 0.5); }
.mw-reg__s--explore { color: var(--mw-soft); }
.mw-reg__base { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--mw-line); }
.mw-reg__base-label { font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.08em; color: var(--mw-muted); margin-bottom: 10px; }
.mw-reg__base-cap { font-size: 13px; color: var(--mw-text); margin-bottom: 10px; }
.mw-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.mw-tile { padding: 10px; border: 1px solid var(--mw-line); border-radius: 10px; }
.mw-tile__k { font-family: var(--mw-mono); font-size: 10px; color: var(--mw-muted); margin-bottom: 4px; }
.mw-tile__v { font-size: 20px; font-weight: 500; }
.mw-tile--target { border-color: rgba(124, 58, 237, 0.5); background: var(--mw-tint); }
.mw-tile--target .mw-tile__k { color: var(--mw-lilac); }
.mw-tile--result { border: 1px dashed var(--mw-line-strong); }
.mw-tile--result .mw-tile__v { font-size: 13px; font-weight: 400; color: var(--mw-soft); line-height: 1.35; }
.mw-note { border: 1px solid rgba(124, 58, 237, 0.35); border-radius: 14px; padding: 20px; background: var(--mw-tint); }
body.mw .mw-note h3 { font-size: 17px; font-weight: 600; margin: 0 0 8px; line-height: normal; }
body.mw .mw-note p { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0; }

/* Governance references */
.mw-refs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px 64px; align-items: start; border-top: 1px solid var(--mw-rule-faint); padding-top: 40px; }
body.mw .mw-refs__title { margin: 0 0 14px; }
body.mw .mw-refs__p { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0 0 12px; max-width: 460px; }
body.mw .mw-refs__p--muted { color: var(--mw-muted); margin: 0; }
.mw-refs__groups { display: flex; flex-direction: column; gap: 28px; }
body.mw .mw-refs__group { margin: 0 0 6px; line-height: normal; }
body.mw .mw-refs__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--mw-rule-faint); }
body.mw .mw-refs__list li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px 16px; padding: 12px 0; border-bottom: 1px solid var(--mw-rule-faint); }
.mw-refs__n { font-size: 14px; font-weight: 600; color: var(--mw-text); }
.mw-refs__d { font-size: 14px; color: var(--mw-muted); line-height: 1.5; }

@media (min-width: 560px) {
  body.mw .mw-refs__list li { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
}
@media (min-width: 620px) {
  .mw-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 760px) {
  .mw-routes__row { grid-template-columns: minmax(0, 0.8fr) minmax(0, 2fr); }
}
@media (min-width: 820px) {
  .mw-kinds,
  .mw-terms { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 860px) {
  .mw-xbox,
  .mw-starter,
  .mw-starter__split,
  .mw-outputs,
  .mw-refs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .mw-pillars { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ── Workforce Capability ─────────────────────────────────── */
body.mw .mw-prose__body .mw-prose__plain { color: var(--mw-text); }

/* Define future human roles */
.mw-shifts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px 64px; align-items: start; }
body.mw .mw-shifts__title { margin: 0 0 14px; }
body.mw .mw-shifts__text { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0; max-width: 440px; }
body.mw .mw-shifts__list { margin: 0; border-top: 1px solid var(--mw-rule-faint); }
.mw-shifts__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 16px; padding: 16px 0; border-bottom: 1px solid var(--mw-rule-faint); }
body.mw .mw-shifts__row dt { font-size: 16px; font-weight: 600; margin: 0; }
body.mw .mw-shifts__row dd { margin: 0; font-size: 14px; color: var(--mw-soft); line-height: 1.55; }

/* Capability gaps */
.mw-group { padding: 20px; display: flex; flex-direction: column; gap: 8px; }
body.mw .mw-group h3 { font-size: 19px; font-weight: 600; margin: 0; line-height: normal; }
body.mw .mw-group p { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 0; }

/* Develop capability through work */
body.mw .mw-steps7 { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
body.mw .mw-steps7 li { padding: 14px; border: 1px solid var(--mw-rule); border-radius: 10px; background: rgba(255, 255, 255, 0.035); min-width: 0; }
.mw-steps7__n { font-family: var(--mw-mono); font-size: 11px; color: var(--mw-lilac); margin-bottom: 6px; }
.mw-steps7__t { font-size: 15px; font-weight: 600; line-height: 1.3; margin-bottom: 6px; }
.mw-steps7__d { font-size: 13px; color: var(--mw-muted); line-height: 1.45; }
.mw-loop--steps7 { margin: 12px 0 20px; }
body.mw .mw-steps7__close { font-size: 15px; color: var(--mw-text); line-height: 1.6; margin: 0; max-width: 780px; }

/* One change, four roles */
.mw-pickcs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
body.mw .mw-pickc {
  min-height: 44px;
  margin: 0;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid var(--mw-line);
  background: transparent;
  color: var(--mw-text);
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  box-shadow: none;
  transition: background 0.3s ease, color 0.3s ease;
}
body.mw .mw-pickc:focus { background: transparent; color: var(--mw-text); }
body.mw .mw-pickc:hover { border-color: var(--mw-line-strong); }
body.mw .mw-pickc.is-on { background: var(--mw-white); color: var(--mw-bg); border-color: var(--mw-white); }
.mw-impact { padding: 20px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
body.mw .mw-impact h3 { font-size: 18px; font-weight: 600; margin: 0; line-height: normal; }
.mw-impact__k { font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.08em; color: var(--mw-muted); margin-bottom: 6px; }
.mw-impact__k--tint { color: var(--mw-lilac); }
body.mw .mw-impact__c { font-size: 14px; color: var(--mw-text); line-height: 1.55; margin: 0; }
.mw-impact__support { padding-top: 12px; border-top: 1px solid var(--mw-rule-faint); }
body.mw .mw-impact__s { font-size: 14px; color: var(--mw-soft); line-height: 1.55; margin: 0; }

@media (min-width: 480px) {
  body.mw .mw-steps7 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 560px) {
  .mw-shifts__row { grid-template-columns: 150px minmax(0, 1fr); }
}
@media (min-width: 760px) {
  body.mw .mw-steps7 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 860px) {
  .mw-shifts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  body.mw .mw-steps7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
}

/* ── Cyber Ready ──────────────────────────────────────────── */
body.mw .mw-head-split--svc { margin-bottom: var(--mw-hs-mb, 40px); }
body.mw .mw-outputs__title--108 { line-height: 1.08; }
.mw-areas--three { grid-template-columns: minmax(0, 1fr); }
.mw-areas--three .mw-area { gap: 10px; }

/* Status colours for the illustrative control record */
.mw-status { font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.06em; padding: 3px 8px; border-radius: 999px; border: 1px solid currentColor; justify-self: start; white-space: nowrap; }
.mw-status--pass, .mw-status-k--pass { color: #9be3bf; }
.mw-status--attention, .mw-status-k--attention { color: #f0c674; }
.mw-status--fail, .mw-status-k--fail { color: #f0a0a0; }
.mw-status--na, .mw-status-k--na, .mw-status--unassessed, .mw-status-k--unassessed { color: var(--mw-muted); }
.mw-status--unassessed { border-style: dashed; }
.mw-ctl__th,
.mw-ctl__tr { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 112px; gap: 10px; }
.mw-ctl__th { padding: 8px 0; border-bottom: 1px solid var(--mw-line); font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.08em; color: var(--mw-muted); }
.mw-ctl__tr { padding: 10px 0; border-bottom: 1px solid var(--mw-surface-hover); align-items: center; }
.mw-finding { margin-top: 14px; padding: 14px; border: 1px solid var(--mw-line); border-radius: 10px; background: var(--mw-bg); }
.mw-finding__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.mw-finding__t { font-size: 13px; font-weight: 600; color: var(--mw-text); }
body.mw .mw-finding dl { margin: 0; display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 6px 12px; font-size: 13px; line-height: 1.45; }
body.mw .mw-finding dt { font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.06em; font-weight: 400; color: var(--mw-muted); padding-top: 2px; margin: 0; }
body.mw .mw-finding dd { margin: 0; color: var(--mw-soft); }
.mw-finding__foot { font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.06em; color: var(--mw-muted); margin-top: 10px; }
body.mw .mw-ctl__caption { font-size: 13px; color: var(--mw-muted); line-height: 1.5; margin: 0; }

/* SHOW / HIDE panels */
.mw-disclose { border-radius: 14px; }
.mw-disclose--tint { border: 1px solid rgba(124, 58, 237, 0.35); background: var(--mw-tint); }
.mw-disclose--glass { border: 1px solid var(--mw-rule); background: rgba(255, 255, 255, 0.035); }
.mw-disclose > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 20px; font-size: 15px; font-weight: 600; }
.mw-disclose > summary::-webkit-details-marker { display: none; }
.mw-disclose > summary:hover .mw-details__hint { color: var(--mw-white); }
body.mw .mw-legend { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px 20px; padding: 0 20px 20px; }
body.mw .mw-legend dt { font-family: var(--mw-mono); font-size: 11px; letter-spacing: 0.06em; font-weight: 400; margin: 0 0 2px; }
body.mw .mw-legend dd { margin: 0; font-size: 13px; color: var(--mw-soft); line-height: 1.45; }

/* Certification readiness */
.mw-cert { border: 1px solid rgba(124, 58, 237, 0.35); border-radius: 14px; padding: clamp(24px, 4vw, 40px); background: var(--mw-tint); }
.mw-cert__top { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px 56px; align-items: start; margin-bottom: 32px; }
body.mw .mw-cert__label { margin: 0 0 14px; }
body.mw .mw-cert__text { font-size: 16px; color: var(--mw-soft); line-height: 1.6; margin: 0 0 16px; }
body.mw .mw-cert__warn { font-size: 17px; font-weight: 600; color: var(--mw-text); line-height: 1.5; margin: 0; padding: 14px 16px; border: 1px solid rgba(124, 58, 237, 0.5); border-radius: 10px; background: var(--mw-bg); }
body.mw .mw-cert__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
body.mw .mw-cert__steps li { padding: 12px 14px; border: 1px solid rgba(124, 58, 237, 0.35); border-radius: 10px; background: var(--mw-bg); min-width: 0; }
.mw-cert__t { font-size: 14px; color: var(--mw-text); line-height: 1.4; }

/* Frameworks covered */
.mw-fw { border-top: 1px solid var(--mw-violet); }
.mw-fw__th { display: none; }
.mw-fw__tr { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px 32px; padding: 16px 0; border-bottom: 1px solid var(--mw-rule-faint); }
.mw-fw__n { font-size: 16px; font-weight: 600; line-height: 1.35; }
.mw-fw__cell { min-width: 0; }
.mw-fw__mlabel { font-family: var(--mw-mono); font-size: 10px; letter-spacing: 0.08em; color: var(--mw-muted); margin-bottom: 4px; }
body.mw .mw-fw__cell > p { font-size: 14px; color: var(--mw-soft); line-height: 1.55; margin: 0; }
.mw-fw__more { margin-top: 8px; }
.mw-fw__more > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--mw-lilac); }
.mw-fw__more > summary::-webkit-details-marker { display: none; }
.mw-fw__more > summary:hover { color: var(--mw-white); }
.mw-fw__more > summary span { font-family: var(--mw-mono); }
body.mw .mw-fw__more p { font-size: 14px; color: var(--mw-muted); line-height: 1.55; margin: 6px 0 0; }

/* Ongoing assurance cycle (six steps, titles only) */
body.mw .mw-steps7--six { grid-template-columns: minmax(0, 1fr); }
body.mw .mw-steps7--six .mw-steps7__t { margin-bottom: 0; }
.mw-loop--six { margin: 12px 0 24px; }
body.mw .mw-steps7__close--small { font-size: 14px; color: var(--mw-soft); max-width: 760px; }

/* Scope cards (Cyber Ready) */
.mw-scard { padding: 22px; border: 1px solid rgba(124, 58, 237, 0.35); border-radius: 14px; }
.mw-scard--dashed { border: 1px dashed var(--mw-line-strong); }
body.mw .mw-scard h3 { font-size: 17px; font-weight: 600; margin: 0 0 10px; line-height: normal; }
body.mw .mw-scard__p { font-size: 14px; color: var(--mw-soft); line-height: 1.6; margin: 0 0 10px; }
body.mw .mw-scard__p:last-child { margin-bottom: 0; }
body.mw .mw-scard__em { font-size: 14px; color: var(--mw-text); font-weight: 500; line-height: 1.55; margin: 0; }

/* Control coverage */
body.mw .mw-controls__title { margin: 0 0 16px; }
body.mw .mw-refs__p--first { color: var(--mw-muted); margin: 0 0 14px; }
body.mw .mw-refs__p--soft { color: var(--mw-soft); margin: 0; }
body.mw .mw-fams { list-style: none; margin: 0; padding: 0 20px 20px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
body.mw .mw-fams li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 8px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--mw-line-soft); font-size: 14px; }
.mw-fams li span { font-family: var(--mw-mono); font-size: 11px; color: var(--mw-lilac); }

@media (min-width: 560px) {
  body.mw .mw-legend,
  body.mw .mw-fams { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.mw .mw-steps7--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 820px) {
  .mw-areas--three,
  body.mw .mw-cert__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 860px) {
  .mw-cert__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mw-fw__th { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr); gap: 32px; padding: 14px 0; border-bottom: 1px solid var(--mw-rule-faint); font-family: var(--mw-mono); font-size: 11px; letter-spacing: 0.08em; color: var(--mw-muted); }
  .mw-fw__tr { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr); }
  .mw-fw__mlabel { display: none; }
}
@media (min-width: 1000px) {
  body.mw .mw-steps7--six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  /* The four-column rule for .mw-areas must not reach the three-column variant. */
  .mw-areas.mw-areas--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Home page variants: taller glow, pill with a 1px transparent border. */
body.mw-page-home #page.site::before {
  height: 1100px;
  background:
    radial-gradient(circle at 50% 330px, rgba(12, 11, 15, 0) 160px, #0c0b0f 640px),
    linear-gradient(rgba(124, 58, 237, 0.14) 1px, transparent 1px) 0 0 / 64px 64px,
    linear-gradient(90deg, rgba(124, 58, 237, 0.14) 1px, transparent 1px) 0 0 / 64px 64px,
    radial-gradient(circle at 50% 330px, rgba(124, 58, 237, 0.28), rgba(12, 11, 15, 0) 560px);
}
body.mw-page-home .mw-pill,
body.mw-page-home .mw-btn:not(.mw-btn--ghost) { border: 1px solid transparent; }

/* ── MOBILE POLISH ────────────────────────────────────────── */
/* Home: the handoff keeps its closing CTA at 1.4fr/1fr on every width (a ~120px text
   column on phones). The inner pages' own layout table stacks CTAs below 860
   (baseLay.cta), so the home CTA does too (see .mw-cta__grid). Deliberate difference. */
/* Footer links are 18px tall in the handoff; on phones each gets a 44px row
   (tap-target rule). Deliberate difference: the phone footer is taller. */
@media (max-width: 720px) {
  .mw-footer__col { gap: 0; }
  .mw-footer__label { margin-bottom: 0; }
  body.mw .mw-footer__col a { display: flex; align-items: center; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  body.mw *, body.mw *::before, body.mw *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
