:root {
  --mh-navy: #0b1f3a;
  --mh-red: #ba1635;
  --mh-red-dark: #99102b;
  --mh-paper: #f7f5ef;
  --mh-white: #fff;
  --mh-ink: #182b40;
  --mh-muted: #536171;
  --mh-line: #dcded7;
  --mh-control-border: #657660;
  --mh-mint: #e2eadf;
  --mh-serif: Georgia,'Times New Roman',serif;
  --mh-sans: -apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
}

*,*::before,*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 0;
}

.site-body {
  margin: 0;
  background: var(--mh-paper);
  color: var(--mh-ink);
  font-family: var(--mh-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

button,a {
  -webkit-tap-highlight-color: transparent;
}

button {
  font: inherit;
}

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

img {
  display: block;
  max-width: 100%;
  height: auto;
}

button,a {
  touch-action: manipulation;
}

button {
  cursor: pointer;
}

button:focus-visible,a:focus-visible,summary:focus-visible {
  outline: 3px solid var(--mh-red);
  outline-offset: 5px;
}

.mh-people :focus-visible {
  outline-color: #fff;
}

.mh-home h1,.mh-home h2,.mh-home h3,.mh-home p {
  margin: 0;
}

.mh-home h1,.mh-home h2,.mh-home h3 {
  line-height: 1.1;
  letter-spacing: -.04em;
}

.mh-home p {
  color: var(--mh-muted);
}

svg {
  display: block;
}

button svg,a svg {
  flex-shrink: 0;
}

section {
  scroll-margin-top: 100px;
}

.mh-wrap {
  width: min(1240px,calc(100% - 96px));
  margin-inline: auto;
}

.mh-arrow {
  width: 20px;
  height: 20px;
}

.mh-eyebrow {
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .17em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--mh-muted);
}

.mh-eyebrow::before {
  content: '';
  display: block;
  width: 18px;
  height: 2px;
  background: var(--mh-red);
}

.mh-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 51px;
  padding: 13px 21px;
  border: 1px solid transparent;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.4;
  transition: background .15s,color .15s;
}

.mh-button.mh-primary {
  color: white;
  background: var(--mh-red);
}

.mh-button.mh-primary:hover {
  background: var(--mh-red-dark);
}

.mh-button.mh-secondary {
  border-color: #c8cec7;
  background: transparent;
  color: var(--mh-navy);
}

.mh-button.mh-secondary:hover {
  background: #eeeee6;
}

.mh-text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 650;
  font-size: 14px;
  padding-block: 9px;
  border-bottom: 1px solid currentColor;
}

.mh-actions {
  display: flex;
  align-items: center;
  gap: 13px;
  flex-wrap: wrap;
}

.mh-site-header {
  position: sticky;
  top: 0;
  background: rgba(247,245,239,.97);
  border-bottom: 1px solid var(--mh-line);
  z-index: 30;
}

.mh-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 88px;
  gap: 30px;
}

.mh-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-size: 23px;
  font-weight: 750;
  letter-spacing: -1px;
  white-space: nowrap;
}

.mh-brand-mark {
  display: grid;
  place-items: center;
  background: var(--mh-red);
  color: #fff;
  width: 35px;
  height: 35px;
  border-radius: 5px;
  font-size: 12px;
  letter-spacing: -.5px;
  font-weight: 800;
}

.mh-nav-links {
  display: flex;
  align-items: center;
  gap: 29px;
}

.mh-nav-links>a {
  font-size: 13px;
  font-weight: 600;
  color: var(--mh-muted);
  padding-block: 10px;
}

.mh-nav-links>a:hover {
  color: var(--mh-red);
}

.mh-nav-right {
  display: flex;
  align-items: center;
  gap: 22px;
}

.mh-nav-signin {
  font-size: 13px;
  font-weight: 600;
}

.mh-nav-right .mh-button {
  min-height: 43px;
  padding: 10px 17px;
  font-size: 13px;
  gap: 16px;
}

.mh-mobile-navigation {
  display: none;
}

.mh-menu-toggle {
  display: none;
  background: none;
  border: 1px solid var(--mh-line);
  border-radius: 4px;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  color: var(--mh-navy);
  list-style: none;
  cursor: pointer;
}

.mh-menu-toggle::-webkit-details-marker { display: none; }

.mh-mobile-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: calc(100dvh - 77px);
  overflow-y: auto;
  background: var(--mh-paper);
  border-top: 1px solid var(--mh-line);
  padding: 12px 24px 22px;
}

.mh-mobile-menu a {
  display: block;
  padding: 10px 0;
  font-size: 16px;
  font-weight: 600;
}

.mh-hero {
  padding: 69px 0 53px;
}

.mh-hero-grid {
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  align-items: center;
  gap: 56px;
}

.mh-hero-copy .mh-eyebrow {
  margin-bottom: 27px;
}

.mh-hero h1 {
  font-size: clamp(46px,4.55vw,68px);
  font-weight: 650;
  letter-spacing: -.053em;
  max-width: 590px;
  line-height: 1.04;
}

.mh-hero h1 em {
  font-family: var(--mh-serif);
  font-weight: 400;
  letter-spacing: -.065em;
  color: var(--mh-red);
}

.mh-hero-copy>p {
  font-size: 17px;
  line-height: 1.75;
  max-width: 450px;
  margin-top: 24px;
}

.mh-hero .mh-actions {
  margin-top: 29px;
}

.mh-hero-note {
  font-size: 11px;
  letter-spacing: .01em;
  margin-top: 19px;
  color: var(--mh-muted);
}

.mh-hero-visual {
  position: relative;
  min-width: 0;
  min-height: 466px;
  padding-top: 27px;
}

.mh-canvas {
  position: absolute;
  inset: 0 0 20px 26px;
  background: #e7eae0;
  border-radius: 5px;
}

.mh-canvas::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 39%;
  height: 29%;
  border-top: 1px solid #cdd3c6;
  border-left: 1px solid #cdd3c6;
  background: #d9e2d5;
}

.mh-canvas-label {
  position: absolute;
  left: 28px;
  top: 22px;
  display: flex;
  gap: 9px;
  align-items: center;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #3d534b;
}

.mh-canvas-label span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #3d534b;
}

.mh-browser-window {
  position: relative;
  background: white;
  border: 1px solid #c8ceca;
  border-radius: 8px;
  box-shadow: 0 24px 45px -26px rgba(11,31,58,.5);
  margin-top: 41px;
  width: calc(100% - 49px);
  overflow: hidden;
  z-index: 2;
}

.mh-window-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  height: 34px;
  padding: 0 12px;
  border-bottom: 1px solid #dde1e3;
}

.mh-window-dots {
  display: flex;
  gap: 4px;
}

.mh-window-dots span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #cdd3d5;
}

.mh-window-title {
  font-size: 9px;
  letter-spacing: .06em;
  color: #687785;
}

.mh-window-screen {
  height: 263px;
  overflow: hidden;
}

.mh-window-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.mh-phone {
  position: absolute;
  width: 174px;
  right: 8px;
  bottom: 0;
  border: 5px solid var(--mh-navy);
  border-radius: 29px;
  overflow: hidden;
  box-shadow: 0 25px 36px -20px rgba(11,31,58,.6);
  z-index: 3;
  background: #f7f8fa;
}

.mh-phone img {
  width: 100%;
}

.mh-visual-label {
  position: absolute;
  left: 27px;
  bottom: 24px;
  max-width: 230px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--mh-navy);
  z-index: 2;
}

.mh-visual-label strong {
  display: block;
  font-weight: 650;
  margin-bottom: 4px;
}

.mh-visual-label span {
  display: block;
  font-size: 11px;
  color: var(--mh-muted);
}

.mh-hero-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  padding-top: 48px;
  font-size: 12px;
  color: var(--mh-muted);
}

.mh-hero-foot .mh-service-types {
  display: flex;
  gap: 19px;
  flex-wrap: wrap;
  align-items: center;
}

.mh-hero-foot .mh-service-types span {
  color: var(--mh-navy);
  font-weight: 600;
}

.mh-hero-foot .mh-service-types span+span::before {
  content: '·';
  padding-right: 19px;
  color: #9ba49a;
}

.mh-hero-foot .mh-small-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.mh-day {
  background: white;
  border-block: 1px solid var(--mh-line);
  padding: 57px 0;
}

.mh-day-grid {
  display: grid;
  grid-template-columns: .85fr 1.7fr;
  gap: 70px;
  align-items: start;
}

.mh-day h2 {
  font-size: 32px;
  font-weight: 650;
  line-height: 1.15;
  max-width: 330px;
}

.mh-day h2 em {
  font-family: var(--mh-serif);
  font-weight: 400;
}

.mh-day>p {
  margin-top: 15px;
}

.mh-day-items {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 29px;
}

.mh-day-item {
  border-top: 2px solid var(--mh-line);
  padding-top: 15px;
}

.mh-day-item .mh-number {
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .12em;
  color: var(--mh-red);
  margin-bottom: 17px;
}

.mh-day-item h3 {
  font-size: 18px;
  letter-spacing: -.025em;
  line-height: 1.3;
  margin-bottom: 10px;
  font-weight: 650;
}

.mh-day-item p {
  font-size: 13px;
  line-height: 1.7;
}

.mh-day-item a {
  display: inline-block;
  font-size: 11px;
  font-weight: 650;
  margin-top: 15px;
  border-bottom: 1px solid #bcc6be;
  color: var(--mh-navy);
}

.mh-suite {
  padding: 84px 0 79px;
}

.mh-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  margin-bottom: 38px;
}

.mh-section-heading h2 {
  font-size: 43px;
  font-weight: 650;
  margin-top: 15px;
  max-width: 620px;
  line-height: 1.12;
}

.mh-section-heading>p {
  max-width: 290px;
  font-size: 14px;
  line-height: 1.7;
}

.mh-product-screen {
  background: white;
  border: 1px solid #d5d9d6;
  border-radius: 7px;
  overflow: hidden;
  min-width: 0;
  position: relative;
  box-shadow: 0 13px 22px -19px rgba(11,31,58,.35);
}

.mh-assets-showcase {
  min-height: 337px;
  background: #edf0e9;
  padding: 24px 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mh-asset-root {
  background: var(--mh-navy);
  color: white;
  padding: 15px 18px;
  display: flex;
  align-items: center;
  gap: 13px;
  border-radius: 4px;
  max-width: 320px;
  margin-inline: auto;
  width: 100%;
}

.mh-asset-root svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.mh-asset-root strong {
  font-size: 15px;
  line-height: 1.3;
}

.mh-asset-root small {
  color: #c3d0dc;
  display: block;
  font-size: 11px;
  margin-top: 3px;
}

.mh-asset-connector {
  height: 23px;
  width: 1px;
  background: #97a493;
  margin-inline: auto;
}

.mh-asset-branches {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
  position: relative;
  border-top: 1px solid #97a493;
  padding-top: 20px;
}

.mh-asset-box {
  background: white;
  padding: 17px 10px;
  text-align: center;
  border: 1px solid #d1d8cd;
  border-radius: 3px;
  position: relative;
}

.mh-asset-box::before {
  content: '';
  position: absolute;
  left: 50%;
  height: 20px;
  width: 1px;
  top: -21px;
  background: #97a493;
}

.mh-asset-box svg {
  width: 22px;
  height: 22px;
  margin: 0 auto 8px;
  color: #425748;
}

.mh-asset-box strong {
  display: block;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.mh-asset-box small {
  display: block;
  font-size: 10px;
  color: var(--mh-muted);
  margin-top: 5px;
}

.mh-assets-caption {
  font-size: 10px;
  text-align: center;
  margin-top: 17px;
  color: var(--mh-muted);
}

.mh-people {
  background: var(--mh-navy);
  color: white;
  padding: 70px 0;
}

.mh-people-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 95px;
  align-items: center;
}

.mh-people .mh-eyebrow {
  color: #bac7d3;
}

.mh-people .mh-eyebrow::before {
  background: #ee6c7e;
}

.mh-people h2 {
  font-size: 44px;
  line-height: 1.17;
  font-weight: 550;
  margin-top: 19px;
  letter-spacing: -.04em;
}

.mh-people h2 em {
  font-family: var(--mh-serif);
  font-weight: 400;
  color: #edd3c5;
}

.mh-people-copy p {
  color: #cbd4dd;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 19px;
}

.mh-people-copy p:last-of-type {
  margin-bottom: 23px;
}

.mh-people-copy a {
  color: white;
  border-color: #738095;
  font-size: 13px;
}

.mh-people-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 31px;
}

.mh-people-list span {
  border: 1px solid #3c4d63;
  border-radius: 3px;
  padding: 5px 10px;
  font-size: 10px;
  color: #cbd4dd;
  letter-spacing: .02em;
}

.mh-setup {
  padding: 82px 0;
}

.mh-setup-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 88px;
}

.mh-setup h2 {
  font-size: 39px;
  line-height: 1.16;
  letter-spacing: -.04em;
  font-weight: 600;
  margin-top: 18px;
  margin-bottom: 20px;
}

.mh-setup-copy>p {
  max-width: 400px;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 25px;
}

.mh-questions {
  border-top: 1px solid var(--mh-line);
}

.mh-questions details {
  border-bottom: 1px solid var(--mh-line);
}

.mh-questions summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
  padding: 20px 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--mh-navy);
}

.mh-questions summary::-webkit-details-marker {
  display: none;
}

.mh-questions summary::after {
  content: '+';
  font-size: 23px;
  font-weight: 350;
  color: var(--mh-red);
}

.mh-questions details[open] summary::after {
  content: '−';
}

.mh-questions p {
  padding: 0 24px 20px 0;
  font-size: 13px;
  line-height: 1.8;
  max-width: 490px;
}

.mh-site-footer {
  border-top: 1px solid var(--mh-line);
  padding: 27px 0 24px;
}

.mh-footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}

.mh-footer-top .mh-brand {
  font-size: 18px;
}

.mh-footer-top .mh-brand-mark {
  width: 27px;
  height: 27px;
  font-size: 9px;
}

.mh-footer-links {
  display: flex;
  gap: 20px;
  font-size: 11px;
  flex-wrap: wrap;
}

.mh-footer-note {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  flex-wrap: wrap;
  margin-top: 19px;
  font-size: 10px;
  line-height: 1.6;
  color: var(--mh-muted);
}

@media(min-width:1450px) {
  .mh-hero {
    padding-top: 82px;
  }
  .mh-hero h1 {
    font-size: 72px;
  }
}

@media(max-width:1100px) {
  .mh-wrap {
    width: calc(100% - 64px);
  }
  .mh-nav-links {
    gap: 19px;
  }
  .mh-nav-right {
    gap: 14px;
  }
  .mh-hero-grid {
    gap: 30px;
    grid-template-columns: 1fr 1fr;
  }
  .mh-hero h1 {
    font-size: 55px;
  }
  .mh-hero-visual {
    min-height: 430px;
  }
  .mh-window-screen {
    height: 228px;
  }
  .mh-phone {
    width: 157px;
  }
  .mh-visual-label {
    max-width: 180px;
    font-size: 16px;
  }
  .mh-day-grid {
    gap: 40px;
    grid-template-columns: .8fr 1.7fr;
  }
  .mh-day-items {
    gap: 20px;
  }
  .mh-people-grid {
    gap: 60px;
  }
  .mh-people h2 {
    font-size: 40px;
  }
  .mh-setup-grid {
    gap: 60px;
  }
}

@media(max-width:900px) {
  .mh-nav-links,.mh-nav-signin {
    display: none;
  }
  .mh-menu-toggle {
    display: flex;
  }
  .mh-mobile-navigation {
    display: block;
  }
  .mh-nav-right {
    gap: 12px;
  }
  .mh-nav {
    min-height: 76px;
  }
  .mh-hero {
    padding: 49px 0 39px;
  }
  .mh-hero-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .mh-hero h1 {
    font-size: 62px;
    max-width: 650px;
  }
  .mh-hero-copy>p {
    max-width: 560px;
  }
  .mh-hero-visual {
    min-height: 468px;
    max-width: 680px;
    width: 100%;
    margin-inline: auto;
  }
  .mh-browser-window {
    width: calc(100% - 94px);
  }
  .mh-window-screen {
    height: 290px;
  }
  .mh-phone {
    width: 180px;
    right: 15px;
  }
  .mh-visual-label {
    max-width: 260px;
    bottom: 20px;
  }
  .mh-hero-foot {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    padding-top: 34px;
  }
  .mh-day-grid {
    grid-template-columns: 1fr;
    gap: 31px;
  }
  .mh-day h2 {
    max-width: 470px;
  }
  .mh-day-items {
    gap: 29px;
  }
  .mh-section-heading {
    align-items: start;
  }
  .mh-section-heading h2 {
    font-size: 36px;
  }
  .mh-section-heading>p {
    max-width: 240px;
  }
  .mh-assets-showcase {
    padding: 24px 15px;
    min-height: 269px;
  }
  .mh-asset-branches {
    gap: 9px;
  }
  .mh-asset-box {
    padding: 13px 5px;
  }
  .mh-people-grid {
    gap: 39px;
  }
  .mh-people h2 {
    font-size: 35px;
  }
  .mh-setup-grid {
    gap: 35px;
  }
  .mh-setup h2 {
    font-size: 32px;
  }
}

@media(max-width:620px) {
  html {
    scroll-padding-top: 0;
  }
  .mh-wrap {
    width: calc(100% - 40px);
  }
  .mh-nav {
    gap: 15px;
    min-height: 71px;
  }
  .mh-brand {
    font-size: 21px;
    gap: 9px;
  }
  .mh-brand-mark {
    width: 31px;
    height: 31px;
    font-size: 11px;
  }
  .mh-nav-right>.mh-button {
    display: none;
  }
  .mh-hero {
    padding: 39px 0 31px;
  }
  .mh-hero-copy .mh-eyebrow {
    font-size: 9px;
    letter-spacing: .13em;
    margin-bottom: 23px;
  }
  .mh-hero h1 {
    font-size: clamp(44px,11.5vw,60px);
    max-width: 100%;
    line-height: 1.04;
  }
  .mh-hero-copy>p {
    font-size: 15px;
    line-height: 1.8;
    margin-top: 20px;
  }
  .mh-hero .mh-actions {
    gap: 9px;
    margin-top: 23px;
  }
  .mh-button {
    font-size: 12px;
    padding: 12px 16px;
    gap: 12px;
    min-height: 47px;
  }
  .mh-hero-note {
    font-size: 14px;
    margin-top: 13px;
  }
  .mh-hero-grid {
    gap: 27px;
  }
  .mh-hero-visual {
    min-height: 342px;
    padding-top: 12px;
  }
  .mh-canvas {
    left: 12px;
    bottom: 8px;
  }
  .mh-canvas-label {
    left: 17px;
    top: 18px;
    font-size: 8px;
    gap: 7px;
  }
  .mh-browser-window {
    width: calc(100% - 50px);
    margin-top: 42px;
    border-radius: 5px;
  }
  .mh-window-top {
    height: 26px;
    padding: 0 8px;
  }
  .mh-window-title {
    font-size: 8px;
  }
  .mh-window-screen {
    height: 181px;
  }
  .mh-phone {
    width: 123px;
    border-width: 3px;
    border-radius: 21px;
    right: 3px;
    bottom: 0;
  }
  .mh-visual-label {
    font-size: 11px;
    max-width: calc(100% - 151px);
    left: 27px;
    bottom: 16px;
    line-height: 1.5;
  }
  .mh-visual-label span {
    font-size: 9px;
  }
  .mh-hero-foot {
    font-size: 11px;
    gap: 12px;
    padding-top: 27px;
  }
  .mh-hero-foot .mh-service-types {
    gap: 8px 12px;
  }
  .mh-hero-foot .mh-service-types span+span::before {
    padding-right: 12px;
  }
  .mh-hero-foot .mh-small-label {
    font-size: 9px;
  }
  .mh-day {
    padding: 33px 0;
  }
  .mh-day-grid {
    gap: 25px;
  }
  .mh-day h2 {
    font-size: 28px;
  }
  .mh-day-items {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .mh-day-item {
    display: block;
    padding-top: 13px;
  }
  .mh-day-item .mh-number {
    margin-top: 3px;
    margin-bottom: 11px;
  }
  .mh-day-item h3 {
    font-size: 17px;
    margin-bottom: 6px;
  }
  .mh-day-item a {
    margin-top: 10px;
  }
  .mh-suite {
    padding: 49px 0;
  }
  .mh-section-heading {
    flex-direction: column;
    gap: 18px;
    margin-bottom: 25px;
  }
  .mh-section-heading h2 {
    font-size: 33px;
    margin-top: 13px;
  }
  .mh-section-heading>p {
    font-size: 13px;
    max-width: 100%;
  }
  .mh-assets-showcase {
    padding: 23px 15px;
    min-height: 288px;
  }
  .mh-asset-box strong {
    font-size: 10px;
  }
  .mh-asset-box small {
    font-size: 9px;
  }
  .mh-people {
    padding: 44px 0;
  }
  .mh-people-grid {
    grid-template-columns: 1fr;
    gap: 29px;
  }
  .mh-people h2 {
    font-size: 36px;
    margin-top: 16px;
  }
  .mh-people-list {
    margin-top: 23px;
  }
  .mh-people-copy p {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 15px;
  }
  .mh-setup {
    padding: 45px 0;
  }
  .mh-setup-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .mh-setup h2 {
    font-size: 32px;
    max-width: 350px;
    margin-bottom: 17px;
  }
  .mh-setup-copy>p {
    font-size: 14px;
    margin-bottom: 17px;
  }
  .mh-questions summary {
    font-size: 14px;
    padding: 18px 0;
  }
  .mh-questions p {
    font-size: 12px;
  }
  .mh-site-footer {
    padding: 25px 0;
  }
  .mh-footer-top {
    align-items: start;
    flex-direction: column;
    gap: 19px;
  }
  .mh-footer-links {
    gap: 13px;
    font-size: 10px;
  }
  .mh-footer-note {
    gap: 9px;
    margin-top: 20px;
  }
}

@media(max-width:355px) {
  .mh-hero h1 {
    font-size: 42px;
  }
  .mh-actions .mh-button {
    padding: 11px 12px;
    font-size: 11px;
    gap: 8px;
  }
  .mh-hero-visual {
    min-height: 306px;
  }
  .mh-window-screen {
    height: 155px;
  }
  .mh-phone {
    width: 109px;
  }
  .mh-visual-label {
    max-width: calc(100% - 126px);
    font-size: 10px;
    left: 21px;
    bottom: 8px;
  }
  .mh-asset-box {
    padding-inline: 3px;
  }
  .mh-asset-box strong {
    font-size: 9px;
  }
}

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

@media print {
  .mh-site-header,.mh-hero .mh-actions,.mh-menu-toggle,.mh-mobile-menu,.mh-questions,.mh-footer-links {
    display: none;
  }
  .mh-wrap {
    width: 100%;
  }
  .mh-hero,.mh-suite,.mh-people,.mh-setup,.mh-day {
    padding: 25px 0;
    break-inside: avoid;
  }
  .mh-people {
    background: white;
    color: var(--mh-navy);
  }
  .mh-people-copy p,.mh-people .mh-eyebrow {
    color: var(--mh-muted);
  }
  .mh-hero-visual {
    min-height: 440px;
  }
  .mh-site-footer {
    font-size: 10px;
  }
}

/* Public pages share the same navigation while technical and legal content
   retains its own reading layout. */
.mh-site-header a,.mh-site-footer a {
  text-decoration: none;
}

.mh-anchor {
  display: block;
  scroll-margin-top: 100px;
}

.mh-home .mh-day {
  background: #fff;
}

.mh-home .mh-people {
  background: var(--mh-navy);
}

.mh-home .mh-hero,.mh-home .mh-suite,.mh-home .mh-setup,.mh-home .mh-pricing {
  background: var(--mh-paper);
}

.mh-home .mh-connect {
  background: #fff;
  padding: 60px 0;
  border-block: 1px solid var(--mh-line);
}

.mh-connect-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 50px;
}

.mh-connect h2 {
  font-size: 32px;
  font-weight: 600;
  margin: 17px 0;
  line-height: 1.16;
}

.mh-connect h3 {
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 13px;
  line-height: 1.3;
}

.mh-connect p {
  font-size: 13px;
  line-height: 1.8;
}

.mh-connect-item {
  border-top: 2px solid var(--mh-line);
  padding-top: 19px;
}

.mh-connect-item .mh-text-link {
  font-size: 12px;
  margin-top: 14px;
}

.mh-pricing {
  padding: 76px 0 30px;
  background: var(--mh-paper);
}

.mh-price-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
}

.mh-price-option {
  border-top: 2px solid var(--mh-navy);
  padding-top: 23px;
}

.mh-price-option h3 {
  font-size: 28px;
  font-weight: 600;
  margin: 18px 0 15px;
  line-height: 1.2;
}

.mh-price-option h3 span {
  font-size: 13px;
  letter-spacing: 0;
  font-weight: 400;
  white-space: nowrap;
}

.mh-price-option p,.mh-price-option li {
  font-size: 13px;
  line-height: 1.8;
}

.mh-price-option ul {
  padding-left: 18px;
  margin: 16px 0 18px;
  color: var(--mh-muted);
}

.mh-addon-prices {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 25px;
  border-block: 1px solid var(--mh-line);
  padding: 22px 0;
  margin-top: 33px;
}

.mh-addon-prices h3 {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -.02em;
  padding-top: 3px;
}

.mh-addon-prices dl {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 20px;
  margin: 0;
}

.mh-addon-prices dt {
  font-size: 13px;
  font-weight: 650;
  margin-bottom: 4px;
}

.mh-addon-prices dd {
  font-size: 12px;
  color: var(--mh-muted);
  margin: 0;
  line-height: 1.7;
}

.mh-addon-prices dd small {
  font-size: 10px;
}

.mh-addon-prices dd a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mh-home .mh-price-note {
  font-size: 11px;
  line-height: 1.8;
  margin-top: 17px;
  max-width: 850px;
}

.mh-home .mh-questions p a {
  color: var(--mh-red);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mh-home .mh-enquiry {
  background: #e4e9de;
  padding: 65px 0;
  border-top: 1px solid #d7dfd0;
}

.mh-enquiry-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 95px;
  align-items: start;
}

.mh-enquiry h2 {
  font-size: 43px;
  font-weight: 600;
  margin: 18px 0 21px;
  line-height: 1.1;
}

.mh-enquiry-copy>p {
  font-size: 14px;
  line-height: 1.8;
  max-width: 360px;
  margin-bottom: 22px;
}

.mh-contact-link {
  display: block;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.8;
  width: fit-content;
  margin-bottom: 7px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.mh-enquiry-copy .mh-contact-note {
  font-size: 11px;
  margin-top: 21px;
  max-width: 300px;
}

.mh-enquiry-form {
  min-width: 0;
}

.mh-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.mh-form-field {
  margin-bottom: 19px;
  min-width: 0;
}

.mh-form-field label {
  display: block;
  font-size: 12px;
  font-weight: 650;
  margin-bottom: 7px;
}

.mh-form-field label span {
  font-weight: 400;
  color: var(--mh-muted);
}

.mh-form-field input,.mh-form-field textarea,.mh-form-field select {
  display: block;
  width: 100%;
  border: 1px solid var(--mh-control-border);
  border-radius: 4px;
  background: #fff;
  color: var(--mh-ink);
  padding: 11px 12px;
  font: inherit;
  font-size: 16px;
  min-height: 44px;
}

.mh-form-field textarea {
  resize: vertical;
  min-height: 118px;
}

.mh-form-field input:focus,.mh-form-field textarea:focus,.mh-form-field select:focus {
  outline: 2px solid var(--mh-red);
  outline-offset: 2px;
}

.mh-home .mh-field-help {
  font-size: 11px;
  line-height: 1.7;
  margin-top: 8px;
}

.mh-form-submit {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 23px;
}

.mh-home .mh-form-submit p {
  font-size: 10px;
  line-height: 1.7;
  max-width: 240px;
}

.mh-form-submit p a {
  color: var(--mh-navy);
  text-decoration: underline;
}

.mh-form-errors.validation-summary-valid {
  display: none;
}

.mh-form-errors {
  border-left: 3px solid var(--mh-red);
  padding: 13px 17px;
  background: #fff4f2;
  font-size: 13px;
  color: #8b1527;
  margin-bottom: 22px;
  line-height: 1.7;
}

.mh-form-errors ul {
  padding-left: 17px;
  margin: 0;
}

.mh-form-success {
  background: white;
  padding: 28px;
  border-left: 3px solid #377148;
  border-radius: 4px;
}

.mh-form-success h3 {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.35;
  margin-bottom: 14px;
}

.mh-form-success p {
  font-size: 14px;
  line-height: 1.8;
}

.mh-form-success a {
  text-decoration: underline;
}

.mh-site-footer {
  background: var(--mh-paper);
  color: var(--mh-ink);
}

.mh-site-footer .mh-footer-note {
  font-size: 11px;
  line-height: 1.8;
}

.mh-site-footer .mh-footer-note a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mh-page-intro {
  padding: 54px 0 43px;
}

.mh-page-intro h1 {
  font-size: clamp(35px,4.5vw,55px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.04em;
  margin: 19px 0;
}

.mh-page-intro>p {
  max-width: 690px;
  font-size: 17px;
  line-height: 1.8;
  color: var(--mh-muted);
}

.mh-product-jumps {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  padding: 19px 0;
  border-block: 1px solid var(--mh-line);
  margin-top: 28px;
}

.mh-product-jumps a {
  font-size: 13px;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 5px;
  color: var(--mh-navy);
}

.mh-product-detail {
  padding: 53px 0;
  border-top: 1px solid var(--mh-line);
  background: var(--mh-paper)!important;
}

.mh-product-detail-grid {
  display: grid;
  grid-template-columns: .8fr 1.3fr;
  gap: 70px;
  align-items: start;
}

.mh-product-detail h2 {
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1.14;
  margin: 17px 0;
}

.mh-product-detail p,.mh-product-detail li {
  font-size: 14px;
  color: var(--mh-muted);
  line-height: 1.8;
}

.mh-product-detail ul {
  margin: 17px 0 23px;
  padding-left: 18px;
}

.mh-product-detail .mh-actions {
  margin-top: 20px;
}

.mh-product-detail figure {
  margin: 0;
  min-width: 0;
}

.mh-product-detail figure>img {
  width: 100%;
  border: 1px solid var(--mh-line);
  border-radius: 5px;
}

.mh-product-detail figcaption {
  font-size: 11px;
  line-height: 1.7;
  color: var(--mh-muted);
  margin-top: 12px;
}

.mh-core-detail-shots {
  display: flex;
  justify-content: center;
  gap: 25px;
  background: #e7eae0;
  padding: 27px;
  border-radius: 5px;
  height: auto;
}

.mh-core-detail-shots img {
  width: 175px;
  border: 3px solid var(--mh-navy);
  border-radius: 25px;
  align-self: flex-start;
}

.mh-core-detail-shots img+img {
  margin-top: 25px;
}

.mh-products-followup {
  padding: 45px 0 55px;
  background: #fff!important;
  border-top: 1px solid var(--mh-line);
}

.mh-products-followup p {
  max-width: 650px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--mh-muted);
  margin-top: 16px;
}

.mh-products-followup h2 {
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.2;
}

.mh-products-followup .mh-actions {
  margin-top: 23px;
}

.site-body .guide-hero {
  padding-top: 45px;
  background: var(--mh-paper);
}

.site-body .privacy-page {
  padding-top: 49px;
}

.site-body .cm-wrap {
  padding-top: 49px;
}

.site-body .footer-contact {
  flex-wrap: wrap;
  justify-content: center;
}

.site-body .guide-subnav {
  top: 88px;
}

.site-body .guide-layout {
  padding-top: 30px;
}

.site-body .guide-sidebar {
  top: 110px;
}

.site-body .guide-section {
  background: transparent!important;
}

@media(max-width:1000px) {
  .mh-enquiry-grid {
    gap: 50px;
  }
  .mh-addon-prices {
    grid-template-columns: 1fr;
  }
  .mh-product-detail-grid {
    gap: 35px;
    grid-template-columns: 1fr 1.2fr;
  }
  .mh-connect-grid {
    gap: 30px;
  }
}

@media(max-width:768px) {
  .mh-connect-grid {
    grid-template-columns: 1fr;
  }
  .mh-connect h2 {
    font-size: 29px;
  }
  .mh-pricing {
    padding-top: 45px;
  }
  .mh-price-options {
    gap: 25px;
  }
  .mh-price-option h3 {
    font-size: 24px;
  }
  .mh-addon-prices dl {
    grid-template-columns: 1fr 1fr;
  }
  .mh-enquiry-grid,.mh-product-detail-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .mh-product-detail {
    padding: 37px 0;
  }
  .mh-product-detail h2 {
    font-size: 30px;
  }
  .mh-page-intro>p {
    font-size: 15px;
  }
  .mh-enquiry h2 {
    font-size: 36px;
  }
  .mh-enquiry-copy>p {
    max-width: 530px;
  }
  .mh-enquiry-copy .mh-contact-note {
    max-width: 420px;
  }
  .mh-home .mh-enquiry {
    padding: 45px 0;
  }
  .mh-core-detail-shots {
    height: auto;
  }
  .mh-core-detail-shots img {
    width: 148px;
  }
}

@media(max-width:620px) {
  .mh-price-options {
    grid-template-columns: 1fr;
  }
  .mh-price-option h3 {
    font-size: 26px;
  }
  .mh-form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .mh-form-submit {
    align-items: start;
    flex-direction: column;
    gap: 13px;
  }
  .mh-home .mh-form-submit p {
    max-width: 100%;
  }
  .mh-form-success {
    padding: 23px;
  }
  .mh-connect {
    padding: 37px 0;
  }
  .mh-connect-grid {
    gap: 26px;
  }
  .mh-page-intro {
    padding: 37px 0 30px;
  }
  .mh-page-intro h1 {
    font-size: 37px;
  }
  .mh-product-detail ul {
    margin-top: 13px;
  }
  .mh-core-detail-shots {
    height: auto;
    padding: 20px;
    gap: 18px;
  }
  .mh-core-detail-shots img {
    width: 126px;
  }
  .mh-product-detail figure>img {
    border-radius: 4px;
  }
  .mh-products-followup h2 {
    font-size: 28px;
  }
  .mh-product-jumps {
    gap: 13px 23px;
  }
  .site-body .guide-hero {
    padding-top: 33px;
  }
  .site-body .privacy-page {
    padding-top: 34px;
  }
  .site-body .cm-wrap {
    padding-top: 34px;
  }
}

@media(max-width:355px) {
  .mh-core-detail-shots {
    padding-inline: 12px;
    gap: 13px;
  }
  .mh-core-detail-shots img {
    width: 112px;
  }
}

@media print {
  .mh-enquiry {
    display: none;
  }
  .mh-product-detail {
    break-inside: avoid;
  }
}

.site-body #main-content {
  scroll-margin-top: 100px;
}

.site-body .guide-main,.site-body .guide-sidebar {
  min-width: 0;
}

.site-body .guide-section {
  overflow-wrap: anywhere;
}

@media print {
  .mh-home .mh-people {
    background: #fff;
    color: var(--mh-navy);
  }
}

.site-body .guide-section {
  padding: 0 0 36px;
  margin-bottom: 36px;
}

@media(max-width:800px) {
  .site-body .guide-sidebar {
    position: static;
    max-width: 100%;
  }
}

@media(max-width:620px) {
  .site-body .guide-sidebar {
    position: static;
  }
}

/* An overview visitors can read without changing tabs. */
.mh-suite > .mh-wrap {
  max-width: 1020px;
}
.mh-suite-jumps {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  padding-bottom: 22px;
  color: var(--mh-navy);
  font-size: 13px;
}
.mh-suite-jumps span {
  color: var(--mh-muted);
  font-size: 12px;
}
.mh-suite-jumps a {
  text-decoration: underline;
  text-underline-offset: 5px;
  font-weight: 650;
}
.mh-suite-row {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  align-items: center;
  gap: 48px;
  padding: 44px 0;
  border-top: 1px solid var(--mh-line);
  scroll-margin-top: 100px;
}
.mh-suite-row:last-child {
  padding-bottom: 0;
}
.mh-home .mh-suite-copy h3 {
  font-size: 31px;
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1.2;
  margin-bottom: 16px;
}
.mh-home .mh-suite-copy p {
  font-size: 15px;
  line-height: 1.8;
  max-width: 450px;
}
.mh-home .mh-suite-copy .mh-suite-lead {
  color: var(--mh-navy);
  font-size: 18px;
  font-weight: 550;
  line-height: 1.45;
  margin-bottom: 12px;
}
.mh-home .mh-suite-copy .mh-suite-fit {
  font-size: 12px;
  margin-top: 18px;
}
.mh-suite-copy .mh-text-link {
  margin-top: 13px;
}
.mh-suite-figure {
  margin: 0;
  min-width: 0;
}
.mh-suite-figure figcaption {
  color: var(--mh-muted);
  font-size: 11px;
  line-height: 1.7;
  margin-top: 14px;
}
.mh-suite-shot {
  width: 100%;
  height: auto;
  border: 1px solid #c8ceca;
  border-radius: 5px;
}
.mh-suite-phones {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 26px;
  padding: 6px 0;
}
.mh-suite-phones img {
  width: min(45%,240px);
  border: 3px solid var(--mh-navy);
  border-radius: 25px;
}
.mh-suite-phones img+img {
  margin-top: 24px;
}
.mh-suite-equipment {
  padding: 30px;
  background: #edf0e9;
  border-radius: 5px;
}
.mh-suite-equipment-top {
  display: flex;
  align-items: center;
  gap: 13px;
  font-size: 14px;
  line-height: 1.6;
  border-bottom: 1px solid #c6cfc1;
  padding-bottom: 21px;
}
.mh-suite-equipment-top svg {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
}
.mh-suite-equipment dl {
  margin: 5px 0 0;
}
.mh-suite-equipment dl div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #d3dace;
  padding: 13px 0;
}
.mh-suite-equipment dl div:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.mh-suite-equipment dt {
  font-size: 14px;
  font-weight: 600;
}
.mh-suite-equipment dd {
  color: var(--mh-muted);
  font-size: 13px;
  text-align: right;
  margin: 0;
}
@media(max-width:1100px) {
  .mh-suite-row {
    gap: 44px;
  }
}
@media(max-width:900px) {
  .mh-suite-row {
    gap: 30px;
  }
  .mh-home .mh-suite-copy h3 {
    font-size: 28px;
  }
  .mh-suite-phones img {
    width: min(45%,190px);
  }
  .mh-suite-phones {
    gap: 17px;
  }
}
@media(max-width:620px) {
  .mh-suite-row {
    grid-template-columns: minmax(0,1fr);
    gap: 24px;
    padding: 32px 0;
  }
  .mh-suite-phones img {
    width: min(45%,240px);
  }
  .mh-suite-jumps {
    gap: 13px 20px;
    padding-bottom: 22px;
  }
  .mh-suite-jumps span {
    flex-basis: 100%;
  }
  .mh-home .mh-suite-copy h3 {
    font-size: 28px;
    margin-bottom: 13px;
  }
  .mh-home .mh-suite-copy p {
    font-size: 14px;
  }
  .mh-home .mh-suite-copy .mh-suite-lead {
    font-size: 17px;
  }
  .mh-suite-equipment {
    padding: 23px;
  }
  .mh-suite-equipment-top {
    font-size: 12px;
  }
  .mh-suite-equipment dt {
    font-size: 12px;
  }
  .mh-suite-equipment dd {
    font-size: 11px;
  }
}
@media(max-width:355px) {
  .mh-suite-phones img {
    width: 118px;
  }
}
@media print {
  .mh-suite-jumps {
    display: none;
  }
  .mh-suite-row {
    break-inside: avoid;
  }
}

/* Shared, readable supporting pages and product evidence. */
.mh-services { padding: 64px 0; border-top: 1px solid var(--mh-line); }
.mh-services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.mh-services h2 { font-size: clamp(32px,4vw,44px); margin: 12px 0 22px; }
.mh-services p { font-size: 16px; line-height: 1.75; }
.mh-services ul { list-style: none; padding: 0; margin: 0; }
.mh-services li { padding: 18px 0; border-top: 1px solid var(--mh-line); font-size: 16px; }
.mh-services li strong { display: block; color: var(--mh-navy); margin-bottom: 5px; }
.mh-home .mh-service-example-note { margin-top: 20px; font-size: 14px; }
.mh-product-status { margin: 14px 0; font-size: 14px; }
.mh-product-status span,.mh-feature-status { display: inline-block; padding: 4px 10px; background: #e2eadf; color: #243b2a; border-radius: 4px; font-size: 14px; font-weight: 650; }
.mh-screenshot-link { display: inline-block; font-size: 14px; text-decoration: underline; text-underline-offset: .2em; margin-top: 12px; padding: 5px 0; }
.mh-form-instructions,.mh-home .mh-form-instructions,.mh-field-help,.mh-home .mh-field-help,.mh-home .mh-form-submit p { font-size: 14px; line-height: 1.6; margin-bottom: 12px; }
.mh-field-error { display: block; color: #99102b; font-size: 14px; margin-top: 5px; }
.mh-form-errors { border: 2px solid #99102b; padding: 20px; margin-bottom: 24px; }
.mh-form-errors h3 { font-size: 20px; margin-bottom: 12px; }
.mh-form-errors a { text-decoration: underline; text-underline-offset: .2em; }
.mh-form-errors:focus,.mh-form-success:focus,.cm-saved-banner:focus { outline: 3px solid var(--mh-navy); outline-offset: 4px; }
.mh-form-field label,.mh-footer-links,.mh-site-footer .mh-footer-note,.mh-suite-jumps,.mh-suite-jumps span,.mh-suite-figure figcaption,.mh-product-detail figcaption { font-size: 14px; }
.mh-home .mh-suite-copy p,.mh-product-detail p,.mh-product-detail li,.mh-home .mh-questions details p { font-size: 16px; }
.mh-home .mh-suite-copy .mh-suite-fit,.mh-home .mh-price-note,.mh-addon-prices small,.mh-home .mh-contact-note { font-size: 14px; }
.site-body .guide-main,.site-body .guide-layout>* { min-width: 0; }
.site-body .guide-sidebar a { font-size: 14px; }
.site-body .guide-section p,.site-body .guide-bullets li,.privacy-inner p,.privacy-inner ul { font-size: 16px; }
.site-body .guide-section a { text-decoration: underline; text-underline-offset: .2em; }
.site-body .integ-pre { overflow-x: auto; white-space: pre; scrollbar-width: auto; }
.integ-table-region { overflow-x: auto; margin: 20px 0; scrollbar-width: auto; }
.integ-table-region table { margin: 0; }
.integ-table-region:focus-visible,.integ-pre:focus-visible,.guide-sidebar:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline: 3px solid var(--mh-navy); outline-offset: 4px; }
.mh-roadmap { --roadmap-text: #182b40; --roadmap-muted: #536171; --roadmap-bg: #f7f5ef; --roadmap-surface: #fff; --roadmap-line: #bdc4c0; background: var(--roadmap-bg); color: var(--roadmap-text); padding: 64px 0 80px; }
.mh-roadmap[data-theme="dark"] { --roadmap-text: #f3f5f7; --roadmap-muted: #c4ccd5; --roadmap-bg: #0b1f3a; --roadmap-surface: #152d49; --roadmap-line: #687e96; }
.mh-roadmap .mh-wrap { max-width: 1080px; }
.mh-roadmap-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.mh-roadmap h1 { font-size: clamp(32px,4vw,48px); line-height: 1.15; margin: 12px 0 20px; }
.mh-roadmap h2 { font-size: 28px; margin: 0 0 12px; }
.mh-roadmap h3 { font-size: 20px; line-height: 1.4; margin: 14px 0 10px; }
.mh-roadmap p { color: var(--roadmap-muted); font-size: 16px; line-height: 1.7; }
.mh-roadmap .mh-eyebrow { color: var(--roadmap-muted); }
.mh-theme-toggle { flex-shrink: 0; padding: 10px 16px; border: 2px solid var(--roadmap-line); border-radius: 4px; background: var(--roadmap-surface); color: var(--roadmap-text); }
.mh-theme-toggle[hidden] { display: none; }
.mh-roadmap-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 26px 0; border-bottom: 1px solid var(--roadmap-line); }
.mh-roadmap-nav a { text-decoration: underline; text-underline-offset: .25em; padding: 5px 0; }
.mh-roadmap-nav a[aria-current="page"] { font-weight: 750; text-decoration-thickness: 3px; }
.mh-roadmap-intro { padding: 24px 0; }
.mh-roadmap-section { padding: 30px 0; border-top: 1px solid var(--roadmap-line); }
.mh-roadmap-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 24px; }
.mh-roadmap-feature { padding: 24px; background: var(--roadmap-surface); border: 1px solid var(--roadmap-line); border-radius: 5px; }
.mh-roadmap-next { padding-top: 40px; border-top: 1px solid var(--roadmap-line); }
.mh-roadmap-next .mh-text-link { margin: 20px; color: var(--roadmap-text); }
.mh-roadmap[data-theme="dark"] :focus-visible { outline-color: #fff; }
.mh-guide-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 24px 0; }
@media(max-width:800px) {
  .mh-suite-row,.mh-services-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .mh-suite-figure { width: 100%; max-width: 620px; justify-self: center; }
  .mh-home .mh-suite-copy p { max-width: none; }
  .mh-services { padding: 42px 0; }
  .mh-roadmap-heading { flex-direction: column; }
  .mh-roadmap-features { grid-template-columns: minmax(0,1fr); }
  .mh-roadmap { padding-top: 40px; }
}
@media (forced-colors: active) {
  :focus-visible { outline: 3px solid Highlight !important; }
  .mh-form-field input,.mh-form-field textarea,.mh-form-field select,.mh-theme-toggle { border-color: ButtonText; }
}
@media print {
  .mh-roadmap { --roadmap-text:#182b40 !important; --roadmap-muted:#536171 !important; --roadmap-bg:#fff !important; --roadmap-surface:#fff !important; }
  .mh-theme-toggle,.mh-roadmap-nav { display: none; }
  .mh-roadmap-features { display: block; }
  .mh-roadmap-feature { break-inside: avoid; margin-bottom: 16px; }
}

.mh-home .mh-people .mh-founder-credit { color: #cbd4dd; font-size: 14px; margin-top: 22px; }
.mh-home .mh-people-copy p { font-size: 16px; }
.mh-services h3 { font-size: 20px; margin: 0 0 8px; }
.mh-home .mh-availability-note { font-size: 16px; margin: 0 0 26px; max-width: 68ch; }
.mh-roadmap .mh-roadmap-section,.mh-roadmap .mh-roadmap-next { background: transparent; }
.site-body .cm-legend .chip.roadmap,.site-body .cm-feature .chip.roadmap { color: #805100; background: #f2e8d4; }

.mh-hero-note,.mh-hero-foot { font-size: 14px; }
.mh-hero-foot .mh-small-label { font-size: 12px; }

@media(max-width:800px) {
  .site-body .guide-sidebar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding: 12px; white-space: normal; overflow: visible; }
  .site-body .guide-sidebar-title { display: block; grid-column: 1/-1; padding: 4px 10px 10px; font-size: 14px; }
  .site-body .guide-sidebar a,.site-body .guide-sidebar a.sub { white-space: normal; padding: 10px; border: 0; overflow-wrap: anywhere; }
  .site-body .guide-sidebar a:hover,.site-body .guide-sidebar a.active { background: #e2eadf; }
}
.mh-form-field input,.mh-form-field select,.mh-form-field textarea,.cm-answer textarea,.cm-field input,.privacy-inner h2[id] { scroll-margin-top: 120px; }

/* Shorter section transitions, with reading and control spacing preserved. */
@media screen {
  .mh-home > .mh-hero { padding: 48px 0 36px; }
  .mh-home > .mh-day,
  .mh-home > .mh-services,
  .mh-home > .mh-information,
  .mh-home > .mh-suite,
  .mh-home > .mh-people,
  .mh-home > .mh-connect,
  .mh-home > .mh-pricing,
  .mh-home > .mh-setup,
  .mh-home > .mh-enquiry { padding: 44px 0; }
  .mh-hero-foot { padding-top: 32px; }
  .mh-section-heading { margin-bottom: 26px; }
  .mh-suite-row { padding: 30px 0; }
  .mh-suite-row:last-child { padding-bottom: 0; }
  .mh-product-detail,.mh-products-followup { padding: 40px 0; }
}
.mh-home .mh-core-highlights {
  list-style: none;
  margin: 18px 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.mh-core-highlights a,.mh-core-topics a {
  color: var(--mh-navy);
  font-size: 16px;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: .2em;
}
.mh-core-highlights a { display: inline-block; padding: 4px 0; }
.mh-core-highlights span { display: block; font-size: 16px; line-height: 1.6; color: var(--mh-muted); }
.mh-core-topics { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 16px 0; }
.mh-core-topics a { display: inline-flex; align-items: center; min-height: 44px; }
.mh-product-features { margin-top: 32px; }
.mh-product-features h3 { font-size: 26px; line-height: 1.3; margin-bottom: 12px; }
.mh-product-features > p { max-width: 68ch; }
.mh-product-detail .mh-product-feature-list {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px 32px;
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
}
.mh-product-feature-list li { min-width: 0; border-top: 1px solid var(--mh-line); padding-top: 16px; scroll-margin-top: 120px; }
.mh-product-feature-list h4 { color: var(--mh-navy); font-size: 19px; line-height: 1.4; margin-bottom: 8px; }
.mh-product-feature-list p + p { margin-top: 12px; }
.mh-product-features[id] { scroll-margin-top: 120px; }
.mh-services .mh-service-examples { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
@media screen and (max-width:1000px) {
  .mh-product-detail .mh-product-feature-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:800px) {
  .mh-home > .mh-hero { padding: 32px 0 28px; }
  .mh-home > .mh-day,
  .mh-home > .mh-services,
  .mh-home > .mh-information,
  .mh-home > .mh-suite,
  .mh-home > .mh-people,
  .mh-home > .mh-connect,
  .mh-home > .mh-pricing,
  .mh-home > .mh-setup,
  .mh-home > .mh-enquiry { padding: 30px 0; }
  .mh-suite-row { padding: 24px 0; }
  .mh-suite-row:last-child { padding-bottom: 0; }
  .mh-product-detail,.mh-products-followup { padding: 30px 0; }
  .mh-core-detail-shots { padding: 20px 12px; gap: 16px; }
  .mh-core-detail-shots img { width: min(45%,175px); height: auto; }
  .mh-product-features { margin-top: 28px; }
}
@media screen and (max-width:600px) {
  .mh-product-detail .mh-product-feature-list { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .mh-services .mh-service-examples { grid-template-columns: minmax(0,1fr); }
}

/* Plain-language app and data information, using the same compact rhythm. */
.mh-home > .mh-information { background: var(--mh-paper) !important; border-top: 1px solid var(--mh-line); }
.mh-home > .mh-services { background: var(--mh-paper) !important; }
.mh-home > .mh-trust { background: #edf0e9 !important; }
.mh-information-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 64px; }
.mh-information h2 { font-size: clamp(32px,4vw,44px); line-height: 1.15; margin: 12px 0 22px; }
.mh-information p { font-size: 16px; line-height: 1.75; }
.mh-information h3 { font-size: 20px; line-height: 1.4; margin: 0 0 8px; }
.mh-information-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 20px; }
.mh-information-list li { min-width: 0; border-top: 1px solid var(--mh-line); padding-top: 16px; }
.mh-information-list-pairs { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.mh-information-links { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 20px; }
.mh-information-links a,.mh-product-feature-list a { text-decoration: underline; text-underline-offset: .2em; }
.mh-information-links a { display: inline-flex; align-items: center; min-height: 44px; }
@media(max-width:800px) {
  .mh-information-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
}
@media(max-width:600px) {
  .mh-information-list-pairs { grid-template-columns: minmax(0,1fr); }
}

/* Illustrative asset branches may have different depths and names. */
.mh-asset-tree .mh-asset-root strong { font-size: 16px; }
.mh-asset-tree .mh-asset-root small { font-size: 14px; }
.mh-product-detail .mh-asset-tree-branches {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.mh-asset-tree-branches > li { min-width: 0; padding: 16px; background: #fff; border: 1px solid var(--mh-line); border-radius: 3px; }
.mh-asset-tree-branches strong { color: var(--mh-navy); }
.mh-product-detail .mh-asset-tree-branches ul { list-style: none; padding: 0 0 0 12px; border-left: 2px solid #97a493; margin: 12px 0 0; }
.mh-product-detail .mh-asset-tree-branches li { font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
.mh-suite-equipment-top,.mh-suite-equipment dt,.mh-suite-equipment dd { font-size: 14px; }
@media(max-width:600px) {
  .mh-product-detail .mh-asset-tree-branches { grid-template-columns: minmax(0,1fr); }
}
