.mvs-site {
  --mvs-navy: #0b1f36;
  --mvs-blue: #20364f;
  --mvs-orange: #f15a29;
  --mvs-ink: #17212b;
  --mvs-muted: #5f6b76;
  --mvs-line: #d9e1ea;
  --mvs-soft: #f5f7fa;
  --mvs-white: #fff;
  color: var(--mvs-ink);
  font-family: inherit;
  line-height: 1.7;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  background: #fff;
  padding: 0;
}

body,
.site,
.site-content,
#content,
.content-area,
.entry-content {
  background: #fff !important;
}

body .content-area {
  margin-top: 0 !important;
}

body #masthead {
  box-shadow: 0 1px 0 rgba(255, 255, 255, .08);
}

body #masthead .custom-logo {
  width: auto;
  max-width: 210px;
}

body #masthead .site-header-upper-wrap,
body #masthead .site-main-header-inner-wrap {
  min-height: 92px !important;
  height: 92px !important;
  max-height: 92px !important;
}

body #masthead .main-navigation .primary-menu-container > ul {
  align-items: center;
  column-gap: 24px;
  row-gap: 6px;
}

body #masthead .main-navigation .primary-menu-container > ul > li > a {
  white-space: nowrap;
  font-size: 14px;
  font-weight: 800;
}

body #masthead .header-button,
body #masthead .mobile-header-button {
  white-space: nowrap;
  min-width: 112px;
  line-height: 1.1 !important;
  padding: 12px 18px !important;
}

.mvs-site * {
  box-sizing: border-box;
}

.mvs-site a {
  text-decoration: none;
}

.mvs-site-hero,
.mvs-site-page-hero,
.mvs-site-section,
.mvs-site-final,
.mvs-site-form-page,
.mvs-site-simple-page,
.mvs-site-stats,
.mvs-site-strip,
.mvs-site-footer {
  width: min(1240px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
}

.mvs-site-hero,
.mvs-site-page-hero {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(440px, 1fr);
  gap: 72px;
  align-items: center;
  padding: 46px 0 54px;
}

.mvs-site-page-hero {
  padding-top: 56px;
}

.mvs-site-hero-editorial {
  min-height: 520px;
}

.mvs-site-hero-compact {
  grid-template-columns: minmax(0, .95fr) minmax(390px, .85fr);
  min-height: 520px;
  padding-bottom: 68px;
}

.mvs-site-page-hero-flip > div:first-child {
  order: 2;
}

.mvs-site-page-hero-flip > div:last-child {
  order: 1;
}

.mvs-site-hero-copy {
  position: relative;
}

.mvs-site-kicker {
  margin: 0 0 14px;
  color: var(--mvs-orange);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mvs-site h1,
.mvs-site h2,
.mvs-site h3 {
  color: var(--mvs-ink);
  letter-spacing: 0;
}

.mvs-site h1 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(40px, 4.2vw, 62px);
  line-height: 1.04;
  font-weight: 900;
}

.mvs-site h2 {
  margin: 0 0 18px;
  max-width: 780px;
  font-size: clamp(34px, 3.6vw, 50px);
  line-height: 1.08;
  font-weight: 900;
}

.mvs-site h3 {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.16;
  font-weight: 900;
}

.mvs-site p,
.mvs-site li {
  font-size: 17px;
}

.mvs-site-lede {
  max-width: 720px;
  margin: 24px 0 0;
  color: var(--mvs-muted);
  font-size: 20px !important;
  line-height: 1.65;
}

.mvs-site-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.mvs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 5px;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 900;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.mvs-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(11, 31, 54, .16);
}

.mvs-btn-primary {
  background: var(--mvs-orange);
  color: #fff;
}

.mvs-btn-secondary {
  border: 1px solid var(--mvs-navy);
  color: var(--mvs-navy);
  background: #fff;
}

.mvs-text-link {
  display: inline-flex;
  color: var(--mvs-orange);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .02em;
}

.mvs-site-image {
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid var(--mvs-line);
  background: #fff;
  box-shadow: 0 24px 60px rgba(11, 31, 54, .13);
}

.mvs-site-image img {
  display: block;
  width: 100%;
  min-height: 360px;
  aspect-ratio: 16 / 10;
  object-fit: contain;
  padding: 18px;
  background: #fff;
}

.mvs-site-hero-media .mvs-site-image img,
.mvs-site-page-hero .mvs-site-image img {
  min-height: 390px;
}

.mvs-site-image-fallback {
  display: grid;
  min-height: 360px;
  place-items: center;
  background: var(--mvs-soft);
  color: var(--mvs-navy);
  font-size: 28px;
  font-weight: 900;
}

.mvs-site-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 0;
  margin-bottom: 0;
  border-top: 1px solid var(--mvs-line);
  border-bottom: 1px solid var(--mvs-line);
  background: #fff;
}

.mvs-site-stats div {
  padding: 42px 32px;
  border-right: 1px solid var(--mvs-line);
}

.mvs-site-stats div:last-child {
  border-right: 0;
}

.mvs-site-stats strong {
  display: block;
  color: var(--mvs-navy);
  font-size: clamp(44px, 5vw, 76px);
  line-height: .95;
  font-weight: 900;
}

.mvs-site-stats span {
  display: block;
  max-width: 220px;
  margin-top: 16px;
  color: var(--mvs-muted);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
}

.mvs-site-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 0;
  margin-bottom: 0;
  background: var(--mvs-navy);
  color: #fff;
}

.mvs-site-strip span {
  padding: 22px 18px;
  text-align: center;
  font-size: 14px;
  font-weight: 900;
  border-right: 1px solid rgba(255, 255, 255, .14);
}

.mvs-site-section {
  padding: 104px 0;
}

.mvs-site-section:nth-of-type(even) {
  background: transparent;
}

.mvs-site-heading {
  max-width: 820px;
  margin-bottom: 42px;
}

.mvs-site-heading p {
  max-width: 760px;
  color: var(--mvs-muted);
}

.mvs-site-company-intro {
  width: 100%;
  max-width: none;
  background: var(--mvs-soft);
  padding: 108px max(24px, calc((100vw - 1240px) / 2));
}

.mvs-site-eyebrow-grid {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) minmax(260px, .55fr);
  gap: 44px;
  align-items: start;
}

.mvs-site-eyebrow-grid .mvs-site-kicker {
  margin-top: 12px;
}

.mvs-site-eyebrow-grid p:not(.mvs-site-kicker) {
  margin: 0;
  color: var(--mvs-muted);
  font-size: 19px;
}

.mvs-site-grid {
  display: grid;
  gap: 18px;
}

.mvs-site-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mvs-site-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mvs-site-card {
  display: block;
  min-height: 100%;
  border: 1px solid var(--mvs-line);
  border-top: 4px solid #c8d2dc;
  border-radius: 8px;
  background: #fff;
  padding: 30px;
  color: var(--mvs-ink);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.mvs-site-card p {
  margin: 0;
  color: var(--mvs-muted);
}

.mvs-site-card span {
  display: inline-block;
  margin-top: 22px;
  color: var(--mvs-orange);
  font-size: 14px;
  font-weight: 900;
}

.mvs-site-card-link:hover,
.mvs-site-card:hover {
  transform: translateY(-4px);
  border-color: rgba(241, 90, 41, .55);
  border-top-color: var(--mvs-orange);
  box-shadow: 0 18px 44px rgba(11, 31, 54, .1);
}

.mvs-site-split,
.mvs-site-form-page {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 72px;
  align-items: center;
}

.mvs-site-split {
  border-top: 1px solid var(--mvs-line);
  border-bottom: 1px solid var(--mvs-line);
}

.mvs-site-form-page {
  align-items: start;
  padding: 86px 0;
}

.mvs-site-simple-page {
  max-width: 900px;
  padding: 96px 0 92px;
}

.mvs-site-checks {
  margin: 24px 0 28px;
  padding: 0;
  list-style: none;
}

.mvs-site-checks li {
  position: relative;
  margin: 11px 0;
  padding-left: 28px;
}

.mvs-site-checks li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .7em;
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: var(--mvs-orange);
}

.mvs-site-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--mvs-line);
  background: #fff;
}

.mvs-site-steps-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.mvs-site-steps div {
  position: relative;
  min-height: 220px;
  border-right: 1px solid var(--mvs-line);
  background: #fff;
  padding: 30px 24px;
}

.mvs-site-steps div:last-child {
  border-right: 0;
}

.mvs-site-steps span {
  display: block;
  margin-bottom: 38px;
  color: var(--mvs-orange);
  font-size: 14px;
  font-weight: 900;
}

.mvs-site-steps span:after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  top: 66px;
  height: 1px;
  background: var(--mvs-line);
}

.mvs-site-steps p {
  margin: 0;
  color: var(--mvs-muted);
  font-size: 15px;
}

.mvs-site-capabilities {
  padding-top: 112px;
}

.mvs-capability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.mvs-capability-tile {
  display: grid;
  min-height: 100%;
  border: 1px solid var(--mvs-line);
  border-radius: 8px;
  background: #fff;
  color: var(--mvs-ink);
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.mvs-capability-tile .mvs-site-image {
  border: 0;
  border-bottom: 1px solid var(--mvs-line);
  border-radius: 0;
  box-shadow: none;
}

.mvs-capability-tile .mvs-site-image img {
  min-height: 240px;
  aspect-ratio: 16 / 9;
  padding: 10px;
}

.mvs-capability-tile span {
  display: block;
  padding: 26px 28px 0;
  font-size: 22px;
  font-weight: 900;
}

.mvs-capability-tile p {
  margin: 0;
  padding: 10px 28px 28px;
  color: var(--mvs-muted);
  font-size: 16px;
}

.mvs-capability-tile:hover {
  transform: translateY(-4px);
  border-color: rgba(241, 90, 41, .5);
  box-shadow: 0 20px 48px rgba(11, 31, 54, .1);
}

.mvs-site-projects {
  width: 100%;
  max-width: none;
  background: var(--mvs-soft);
  padding: 112px max(24px, calc((100vw - 1240px) / 2));
}

.mvs-project-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.mvs-project-card {
  display: grid;
  grid-template-columns: minmax(240px, .9fr) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  border: 1px solid var(--mvs-line);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.mvs-project-card .mvs-site-image {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.mvs-project-card .mvs-site-image img {
  min-height: 100%;
  height: 100%;
  aspect-ratio: auto;
  padding: 12px;
}

.mvs-project-card > div:last-child {
  padding: 34px;
}

.mvs-project-card p:last-child {
  margin: 0;
  color: var(--mvs-muted);
}

.mvs-site-proof,
.mvs-site-quality,
.mvs-site-case-studies {
  width: 100%;
  max-width: none;
  padding-left: max(24px, calc((100vw - 1240px) / 2));
  padding-right: max(24px, calc((100vw - 1240px) / 2));
}

.mvs-site-proof {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .7fr);
  gap: 60px;
  align-items: center;
  background: var(--mvs-navy);
  color: #fff;
  padding-top: 96px;
  padding-bottom: 96px;
}

.mvs-site-proof h2,
.mvs-site-proof p {
  color: #fff;
}

.mvs-site-proof-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.mvs-site-proof-list span {
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 6px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  padding: 18px;
  font-size: 15px;
  font-weight: 900;
}

.mvs-site-case-studies,
.mvs-site-quality {
  background: #fff;
}

.mvs-site-dark {
  width: 100%;
  max-width: none;
  background: var(--mvs-navy);
  color: #fff;
  padding: 104px max(24px, calc((100vw - 1240px) / 2));
}

.mvs-site-dark h2,
.mvs-site-dark p {
  color: #fff;
}

.mvs-site-dark .mvs-site-grid div {
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 6px;
  padding: 22px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  font-weight: 900;
}

.mvs-site-software {
  border-top: 1px solid var(--mvs-line);
  border-bottom: 1px solid var(--mvs-line);
}

.mvs-site-logo-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 12px;
}

.mvs-site-logo-grid span {
  border: 1px solid var(--mvs-line);
  border-radius: 6px;
  background: #fff;
  padding: 18px 12px;
  text-align: center;
  color: var(--mvs-navy);
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(11, 31, 54, .05);
}

.mvs-site-faq-list {
  display: grid;
  gap: 12px;
}

.mvs-site-faq details {
  border: 1px solid var(--mvs-line);
  border-radius: 8px;
  background: #fff;
  padding: 0;
}

.mvs-site-faq summary {
  cursor: pointer;
  padding: 24px 28px;
  color: var(--mvs-navy);
  font-size: 19px;
  font-weight: 900;
}

.mvs-site-faq details p {
  margin: 0;
  padding: 0 28px 26px;
  color: var(--mvs-muted);
}

.mvs-site-resource-page {
  padding-bottom: 32px;
}

.mvs-site-note,
.mvs-site-formbox {
  border: 1px solid var(--mvs-line);
  border-radius: 8px;
  background: #fff;
  padding: 28px;
  box-shadow: 0 12px 32px rgba(11, 31, 54, .05);
}

.mvs-site-career-note {
  margin-top: 30px;
}

.mvs-site-formbox h2 {
  font-size: 28px;
}

.mvs-site-formbox p {
  margin: 0 0 12px;
}

.mvs-site-formbox form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}

.mvs-site-formbox form > p:has(textarea),
.mvs-site-formbox form > p:has(input[type="file"]),
.mvs-site-formbox form > p:has(input[type="submit"]),
.mvs-site-formbox form > p:has(.wpcf7-submit) {
  grid-column: 1 / -1;
}

.mvs-site-formbox label {
  display: block;
  color: var(--mvs-ink);
  font-size: 14px;
  font-weight: 800;
}

.mvs-site-formbox input,
.mvs-site-formbox textarea,
.mvs-site-formbox select {
  width: 100%;
  max-width: 100%;
  border: 1px solid #cbd6e2;
  border-radius: 5px;
  background: #fff;
  color: var(--mvs-ink);
  font-size: 15px;
  padding: 10px 12px;
}

.mvs-site-formbox input,
.mvs-site-formbox select {
  min-height: 42px;
}

.mvs-site-formbox textarea {
  min-height: 126px;
  resize: vertical;
}

.mvs-site-formbox input[type="submit"],
.mvs-site-formbox .wpcf7-submit {
  width: auto;
  min-width: 144px;
  border: 0;
  background: var(--mvs-orange);
  color: #fff;
  cursor: pointer;
  font-weight: 900;
}

.mvs-site-final {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  margin-top: 0;
  margin-bottom: 0;
  background: var(--mvs-navy);
  color: #fff;
  padding: 54px 58px;
}

.mvs-site-final h2,
.mvs-site-final p {
  color: #fff;
}

.mvs-site-final p {
  margin-bottom: 0;
}

.mvs-site-footer {
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) repeat(3, minmax(160px, .8fr));
  gap: 46px;
  width: 100%;
  max-width: none;
  background: #071726;
  color: #fff;
  padding: 72px max(24px, calc((100vw - 1240px) / 2));
}

.mvs-site-footer h2,
.mvs-site-footer h3,
.mvs-site-footer p,
.mvs-site-footer a {
  color: #fff;
}

.mvs-site-footer h2 {
  margin: 0 0 14px;
  font-size: 34px;
}

.mvs-site-footer h3 {
  margin: 0 0 16px;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: .09em;
}

.mvs-site-footer p {
  margin: 0 0 12px;
  color: rgba(255, 255, 255, .76);
  font-size: 15px;
}

.mvs-site-footer a:not(.mvs-btn) {
  display: block;
  margin: 9px 0;
  color: rgba(255, 255, 255, .82);
  font-size: 15px;
  font-weight: 700;
}

.mvs-animate {
  animation: mvsFadeUp .64s ease both;
}

.mvs-site-section:nth-of-type(2) {
  animation-delay: .06s;
}

.mvs-site-section:nth-of-type(3) {
  animation-delay: .12s;
}

@keyframes mvsFadeUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mvs-animate,
  .mvs-btn,
  .mvs-site-card,
  .mvs-capability-tile {
    animation: none;
    transition: none;
  }
}

/* v0.9.50: shared Makro Draft blog archive and article layout. */
.mvs-site.mvs-blog-page, .mvs-site.mvs-blog-article { background-color:#fff!important; background-image:linear-gradient(rgba(11,31,54,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(11,31,54,.075) 1px,transparent 1px)!important; background-size:34px 34px!important; min-height:60vh; }
.mvs-blog-hero, .mvs-blog-article-hero, .mvs-blog-listing, .mvs-blog-prose, .mvs-blog-next { max-width:1120px; margin:0 auto; padding-left:24px; padding-right:24px; }
.mvs-blog-hero { padding-top:34px; padding-bottom:22px; max-width:1120px; }
.mvs-blog-page .mvs-site-kicker, .mvs-blog-article .mvs-site-kicker { display:block; margin:0 0 8px!important; color:#f15a29!important; font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.mvs-blog-hero h1, .mvs-blog-article-hero h1 { max-width:760px; margin:0 0 14px!important; color:#0b1f36; font-size:clamp(36px,5vw,62px); line-height:1.02; letter-spacing:-.035em; }
.mvs-blog-hero h1 { max-width:none; white-space:nowrap; font-size:clamp(36px,4.35vw,54px); }
.mvs-blog-hero .mvs-site-lede { max-width:none; margin:0; color:#536578; font-size:17px; white-space:nowrap; }
.mvs-blog-listing { padding-bottom:70px; }
.mvs-blog-toolbar { display:flex; justify-content:flex-end; align-items:center; gap:16px; margin:0 0 20px; }
.mvs-blog-toolbar p, .mvs-blog-toolbar label { font-size:13px; font-weight:800; color:#0b1f36; }
.mvs-blog-toolbar form { display:flex; align-items:center; gap:9px; }
.mvs-blog-toolbar select { border:1px solid #b7c5d5; border-radius:4px; background:#fff; color:#0b1f36; padding:9px 30px 9px 10px; font-weight:700; }
.mvs-blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.mvs-blog-card { min-height:340px; overflow:hidden; border:1px solid #c8d4df; border-top:4px solid #f15a29; border-radius:7px; background:rgba(255,255,255,.96); box-shadow:0 12px 28px rgba(11,31,54,.08); }
.mvs-blog-card-image { display:block; height:170px; border-radius:0; }.mvs-blog-card-image img { width:100%; height:100%; object-fit:cover; }
.mvs-blog-card-body { display:flex; min-height:336px; flex-direction:column; padding:24px; }.mvs-blog-card-image + .mvs-blog-card-body { min-height:166px; }
.mvs-blog-date { margin:0 0 7px; color:#f15a29; font-size:12px; font-weight:800; letter-spacing:.04em; }
.mvs-blog-card h2 { margin:0 0 10px; color:#0b1f36; font-size:25px; line-height:1.08; letter-spacing:-.02em; }.mvs-blog-card h2 a { color:inherit; }
.mvs-blog-card-body > p:not(.mvs-blog-date) { margin:0 0 18px; color:#536578; font-size:15px; line-height:1.6; }.mvs-blog-read { margin-top:auto; color:#f15a29; font-weight:900; }.mvs-blog-read span { margin-left:5px; }
.mvs-blog-reading { max-width:1120px; margin:34px auto 38px; border:1px solid #d6e0e8; border-radius:8px; background:#fff; box-shadow:0 18px 38px rgba(11,31,54,.08); overflow:hidden; }
.mvs-blog-article-hero { max-width:none; padding-top:38px; padding-bottom:16px; }.mvs-blog-article-hero h1 { width:100%!important; max-width:1080px!important; margin-bottom:12px!important; font-size:clamp(34px,3.55vw,44px)!important; line-height:1.05!important; letter-spacing:-.045em!important; word-spacing:normal!important; }.mvs-blog-article-hero .mvs-blog-date { margin-bottom:8px; }.mvs-blog-article-hero img { display:block; width:100%; height:clamp(240px,34vw,430px); margin-top:22px; border:1px solid #c8d4df; border-radius:7px; object-fit:cover; }
.mvs-blog-prose { max-width:980px; padding-top:12px; padding-bottom:38px; color:#24394e!important; font-size:15px!important; line-height:1.58!important; letter-spacing:-.008em!important; word-spacing:normal!important; text-align:left!important; }.mvs-blog-prose > :first-child { margin-top:0!important; }.mvs-blog-prose p { max-width:none!important; margin:0 0 13px!important; color:#24394e!important; font-size:15px!important; line-height:1.58!important; letter-spacing:-.008em!important; word-spacing:normal!important; }.mvs-blog-prose h1 { display:none!important; }.mvs-blog-prose h2, .mvs-blog-prose h3 { margin:23px 0 8px!important; color:#0b1f36!important; font-size:clamp(21px,1.75vw,25px)!important; line-height:1.18!important; letter-spacing:-.014em!important; word-spacing:normal!important; }.mvs-blog-prose h3 { font-size:18px!important; }.mvs-blog-prose ol, .mvs-blog-prose ul { margin:0 0 14px!important; padding-left:22px!important; }.mvs-blog-prose li { margin:0 0 6px!important; font-size:15px!important; line-height:1.52!important; letter-spacing:-.008em!important; word-spacing:normal!important; }
.mvs-blog-next { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding-bottom:72px; }.mvs-blog-next a { display:flex; min-height:155px; flex-direction:column; justify-content:center; gap:7px; border-top:4px solid #f15a29; border-radius:7px; background:#0b1f36; padding:24px; color:#fff; box-shadow:0 10px 20px rgba(11,31,54,.12); }.mvs-blog-next strong { color:#f15a29!important; font-size:22px; line-height:1.1; }.mvs-blog-next span { color:#d9e5ef; font-size:14px; line-height:1.5; }
@media (max-width:780px) { .mvs-blog-hero,.mvs-blog-article-hero { padding-top:32px; }.mvs-blog-reading { margin:20px 14px 30px; }.mvs-blog-hero h1,.mvs-blog-hero .mvs-site-lede { white-space:normal; }.mvs-blog-article-hero h1 { font-size:clamp(31px,8.2vw,40px)!important; }.mvs-blog-grid,.mvs-blog-next { grid-template-columns:1fr; }.mvs-blog-toolbar { align-items:flex-start; flex-direction:column; }.mvs-blog-toolbar form { width:100%; justify-content:space-between; }.mvs-blog-toolbar select { max-width:62%; }.mvs-blog-card-body { min-height:250px; }.mvs-blog-prose,.mvs-blog-prose p,.mvs-blog-prose li { font-size:16px!important; } }

/* Keep the shared footer visually identical to the homepage after legacy footer resets. */
.mvs-site footer.mvs-site-footer,
.mvs-site .mvs-site-footer,
.mvs-global-footer .mvs-site-footer {
  background-color: #0b1f36 !important;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.05) 1px, transparent 1px) !important;
  background-size: 36px 36px !important;
}

/* v0.9.3 Millwork Forum: focused, moderated knowledge-hub page. */
.mvs-site .mvs-forum-hero {
  display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: 54px;
  align-items: end; padding: 82px max(24px, calc((100vw - 1120px) / 2));
  background: linear-gradient(120deg, #f7f5ef 0%, #f7f5ef 62%, #e7edf0 100%);
}
.mvs-site .mvs-forum-hero h1 { max-width: 760px; margin: 0 0 18px; }
.mvs-site .mvs-forum-hero .mvs-site-lede { max-width: 680px; }
.mvs-site .mvs-forum-brief { padding: 30px; color: #fff; background: #102b48; border-top: 4px solid var(--mvs-orange); box-shadow: 0 18px 38px rgba(11,31,54,.18); }
.mvs-site .mvs-forum-brief span, .mvs-site .mvs-forum-question-list span { display:block; margin-bottom: 17px; color: var(--mvs-orange); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mvs-site .mvs-forum-brief strong { display:block; font-size: 1.55rem; line-height: 1.22; }
.mvs-site .mvs-forum-brief p { margin: 17px 0 0; color: rgba(255,255,255,.76); }
.mvs-site .mvs-forum-topics { padding-top: 72px; padding-bottom: 78px; }
.mvs-site .mvs-forum-topic-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 34px; }
.mvs-site .mvs-forum-topic-grid article { min-height: 220px; padding: 25px; border: 1px solid #cad4dc; background:#fff; box-shadow: 0 8px 22px rgba(11,31,54,.045); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.mvs-site .mvs-forum-topic-grid article:hover { transform: translateY(-5px); border-color: var(--mvs-orange); box-shadow: 0 18px 30px rgba(11,31,54,.13); }
.mvs-site .mvs-forum-number { color: var(--mvs-orange); font-size: .78rem; font-weight: 800; letter-spacing: .1em; }
.mvs-site .mvs-forum-topic-grid h3 { margin: 26px 0 10px; color: var(--mvs-navy); }
.mvs-site .mvs-forum-topic-grid p { margin:0; color:#59697a; }
.mvs-site .mvs-forum-questions { display:grid; grid-template-columns: minmax(250px,.76fr) minmax(0,1.24fr); gap: 56px; padding: 76px max(24px, calc((100vw - 1120px) / 2)); background: #102b48; }
.mvs-site .mvs-forum-question-intro h2 { margin:0 0 14px; color:#fff; }
.mvs-site .mvs-forum-question-intro p:not(.mvs-site-kicker) { color:rgba(255,255,255,.75); }
.mvs-site .mvs-forum-question-list { display:grid; gap: 1px; border:1px solid rgba(255,255,255,.2); }
.mvs-site .mvs-forum-question-list article { padding: 23px 25px; background:rgba(255,255,255,.98); }
.mvs-site .mvs-forum-question-list span { margin-bottom: 9px; }
.mvs-site .mvs-forum-question-list h3 { margin:0 0 8px; color:var(--mvs-navy); font-size:1.1rem; }
.mvs-site .mvs-forum-question-list p { margin:0; color:#5a6877; }
.mvs-site .mvs-forum-ask { display:flex; align-items:center; justify-content:space-between; gap:36px; padding: 64px max(24px, calc((100vw - 1120px) / 2)); background: #f3f5f6; }
.mvs-site .mvs-forum-ask h2 { margin:0 0 10px; }
.mvs-site .mvs-forum-ask p:not(.mvs-site-kicker) { max-width:660px; margin:0; }
@media (max-width: 860px) { .mvs-site .mvs-forum-hero, .mvs-site .mvs-forum-questions { grid-template-columns:1fr; gap:32px; } .mvs-site .mvs-forum-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .mvs-site .mvs-forum-ask { align-items:flex-start; flex-direction:column; } }
@media (max-width: 560px) { .mvs-site .mvs-forum-hero { padding-top:55px; padding-bottom:54px; } .mvs-site .mvs-forum-topic-grid { grid-template-columns:1fr; } .mvs-site .mvs-forum-questions, .mvs-site .mvs-forum-ask { padding-top:52px; padding-bottom:52px; } .mvs-site .mvs-forum-ask .mvs-site-actions { width:100%; } }

/* v0.9.3 Forum feed: retain AnsPress behavior inside the Makro Draft visual system. */
.mvs-site .mvs-forum-feed { padding: 76px max(24px, calc((100vw - 1120px) / 2)); background: linear-gradient(rgba(11,31,54,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(11,31,54,.045) 1px, transparent 1px), #f3f5f6; background-size:34px 34px; }
.mvs-site .mvs-forum-feed-heading { max-width: 720px; margin-bottom: 32px; }
.mvs-site .mvs-forum-feed-heading h2 { margin:0 0 10px; }
.mvs-site .mvs-forum-feed-heading p:not(.mvs-site-kicker) { margin:0; }
.mvs-site .mvs-forum-anspress { padding: 22px; border:1px solid #c9d5e0; background:#fff; box-shadow:0 14px 34px rgba(11,31,54,.08); }
.mvs-site .mvs-forum-anspress #anspress { max-width:none; color:var(--mvs-navy); }
.mvs-site .mvs-forum-anspress .ap-list-head, .mvs-site .mvs-forum-anspress .ap-question-tab, .mvs-site .mvs-forum-anspress .ap-filter-toggle { border-color:#d3dde4; }
.mvs-site .mvs-forum-anspress .ap-btn, .mvs-site .mvs-forum-anspress .ap-btn-submit, .mvs-site .mvs-forum-anspress .ap-ask-btn { border-radius:2px; background:var(--mvs-orange); border-color:var(--mvs-orange); color:#fff; font-weight:800; }
.mvs-site .mvs-forum-anspress .ap-btn:hover, .mvs-site .mvs-forum-anspress .ap-btn-submit:hover, .mvs-site .mvs-forum-anspress .ap-ask-btn:hover { background:#c8431d; border-color:#c8431d; color:#fff; }
.mvs-site .mvs-forum-anspress .ap-q, .mvs-site .mvs-forum-anspress .ap-question-item { border-color:#d7e0e6; }
.mvs-site .mvs-forum-anspress .ap-q-title a, .mvs-site .mvs-forum-anspress .ap-question-title a, .mvs-site .mvs-forum-anspress a { color:var(--mvs-navy); }
.mvs-site .mvs-forum-anspress .ap-q-title a:hover, .mvs-site .mvs-forum-anspress .ap-question-title a:hover { color:var(--mvs-orange); }
.mvs-site .mvs-forum-anspress input[type="text"], .mvs-site .mvs-forum-anspress input[type="search"], .mvs-site .mvs-forum-anspress textarea, .mvs-site .mvs-forum-anspress select { border-color:#bccbd6; border-radius:2px; }
.mvs-site .mvs-forum-anspress input:focus, .mvs-site .mvs-forum-anspress textarea:focus, .mvs-site .mvs-forum-anspress select:focus { border-color:var(--mvs-orange); box-shadow:0 0 0 2px rgba(229,83,42,.15); }
@media (max-width:560px) { .mvs-site .mvs-forum-feed { padding-top:52px; padding-bottom:52px; } .mvs-site .mvs-forum-anspress { padding:14px; } }

/* v0.9.7 Forum privacy polish: retain records for SEO, remove repetitive public bylines and dates. */
.mvs-site .mvs-forum-anspress .ap-display-question-meta .history { display: none; }
.mvs-site .mvs-forum-anspress .ap-display-question-meta .views:after { content: 'Anonymous'; display: inline-block; margin-left: 12px; padding-left: 12px; border-left: 1px solid #d4dde4; color: #6a7784; font-style: normal; }
.mvs-site .mvs-forum-anspress .ap-display-question-meta .views i { font-style: normal; }

/* v0.9.8 Forum-first flow: questions arrive immediately after the page introduction. */
.mvs-site .mvs-forum-hero { padding-top: 54px; padding-bottom: 52px; }
.mvs-site .mvs-forum-topics { padding-top: 34px; padding-bottom: 38px; }
.mvs-site .mvs-forum-topics .mvs-site-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; }
.mvs-site .mvs-forum-topics .mvs-site-heading .mvs-site-kicker { margin:0; }
.mvs-site .mvs-forum-topics .mvs-site-heading h2 { margin:0; font-size:1.35rem; }
.mvs-site .mvs-forum-topics .mvs-forum-topic-grid { margin-top:16px; gap:10px; }
.mvs-site .mvs-forum-topic-grid > a { display:block; min-height:0; padding:16px 18px; border:1px solid #ced9e1; background:#fff; color:inherit; text-decoration:none; box-shadow:none; transition:border-color .2s ease, transform .2s ease; }
.mvs-site .mvs-forum-topic-grid > a:hover { transform:translateY(-2px); border-color:var(--mvs-orange); }
.mvs-site .mvs-forum-topic-grid > a h3 { margin:0 0 5px; font-size:1rem; color:var(--mvs-navy); }
.mvs-site .mvs-forum-topic-grid > a p { margin:0; font-size:.86rem; color:#5a6877; }
.mvs-site .mvs-forum-feed { padding-top:48px; padding-bottom:54px; }
.mvs-site .mvs-forum-feed-heading { margin-bottom:22px; }
.mvs-site .mvs-forum-feed-heading .mvs-site-kicker { margin-bottom:6px; }
@media (max-width: 560px) { .mvs-site .mvs-forum-hero { padding-top:42px; padding-bottom:42px; } .mvs-site .mvs-forum-topics .mvs-site-heading { display:block; } .mvs-site .mvs-forum-topics .mvs-site-heading .mvs-site-kicker { margin-bottom:6px; } }

/* v0.9.9: forum topic alignment and shared footer for legacy pages. */
.mvs-site .mvs-forum-topics .mvs-site-heading { display:block !important; }
.mvs-site .mvs-forum-topics .mvs-site-heading .mvs-site-kicker { margin:0 0 6px !important; color:var(--mvs-orange) !important; }
.mvs-site .mvs-forum-topics .mvs-site-heading h2 { margin:0 !important; }
.mvs-site .mvs-forum-topics .mvs-forum-topic-grid { display:grid !important; grid-template-columns:repeat(3, minmax(0, 1fr)) !important; grid-auto-flow:row !important; align-items:stretch !important; }
.mvs-site .mvs-forum-topics .mvs-forum-topic-grid > a { width:auto !important; margin:0 !important; min-width:0 !important; }
body:has(.mvs-global-footer) #colophon,
body:has(.mvs-global-footer) footer.site-footer,
body:has(.mvs-global-footer) .site-footer { display:none !important; }
.mvs-global-footer .mvs-site-footer { margin:0 !important; }
@media (max-width: 680px) { .mvs-site .mvs-forum-topics .mvs-forum-topic-grid { grid-template-columns:1fr !important; } }

/* v0.9.10: neutralize inherited card-placement animation on the compact forum topics. */
.mvs-site .mvs-forum-topics .mvs-forum-topic-grid > a { position:static !important; transform:none !important; opacity:1 !important; }
.mvs-site .mvs-forum-topics .mvs-forum-topic-grid > a:nth-child(1) { grid-column:1 !important; grid-row:1 !important; order:1 !important; }
.mvs-site .mvs-forum-topics .mvs-forum-topic-grid > a:nth-child(2) { grid-column:2 !important; grid-row:1 !important; order:2 !important; }
.mvs-site .mvs-forum-topics .mvs-forum-topic-grid > a:nth-child(3) { grid-column:3 !important; grid-row:1 !important; order:3 !important; }
@media (max-width: 680px) { .mvs-site .mvs-forum-topics .mvs-forum-topic-grid > a:nth-child(n) { grid-column:1 !important; grid-row:auto !important; } }

/* v0.9.11: replacement topic strip with isolated, predictable layout. */
.mvs-site .mvs-forum-topic-strip { width:min(1120px, calc(100% - 48px)); margin:0 auto; padding:34px 0 38px; }
.mvs-site .mvs-forum-topic-strip .mvs-site-kicker { margin:0 0 10px; color:var(--mvs-orange) !important; }
.mvs-site .mvs-forum-topic-strip > div { display:flex; gap:12px; }
.mvs-site .mvs-forum-topic-strip a { flex:1 1 0; display:block; min-width:0; padding:16px 18px; border:1px solid #ced9e1; background:#fff; color:var(--mvs-navy); text-decoration:none; transition:border-color .2s ease, transform .2s ease; }
.mvs-site .mvs-forum-topic-strip a:hover { border-color:var(--mvs-orange); transform:translateY(-2px); }
.mvs-site .mvs-forum-topic-strip strong { display:block; margin-bottom:5px; font-size:1rem; }
.mvs-site .mvs-forum-topic-strip span { display:block; color:#5a6877; font-size:.86rem; line-height:1.45; }
@media (max-width:680px) { .mvs-site .mvs-forum-topic-strip > div { flex-direction:column; } }

/* v0.9.12: homepage footer treatment and unobtrusive return-to-top control. */
.mvs-site-footer,.mvs-global-footer .mvs-site-footer,.mvs-site footer.mvs-site-footer { background-color:#0b1f36 !important; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) !important; background-size:36px 36px !important; }
.mvs-scroll-top { position:fixed; right:26px; bottom:92px; z-index:999; display:flex; align-items:center; gap:6px; padding:10px 13px; border:1px solid rgba(255,255,255,.35); border-radius:2px; background:#0b1f36; color:#fff; font:800 12px/1 inherit; letter-spacing:.04em; cursor:pointer; opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity .2s ease,transform .2s ease,background .2s ease; }
.mvs-scroll-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.mvs-scroll-top:hover { background:var(--mvs-orange); border-color:var(--mvs-orange); }
.mvs-scroll-top > span { text-transform:uppercase; }
@media (max-width:680px) { .mvs-scroll-top { right:18px; bottom:86px; padding:10px; } .mvs-scroll-top > span { display:none; } }

@media (max-width: 1080px) {
  .mvs-site-hero,
  .mvs-site-page-hero,
  .mvs-site-split,
  .mvs-site-form-page,
  .mvs-site-proof,
  .mvs-site-eyebrow-grid,
  .mvs-project-card,
  .mvs-site-footer {
    grid-template-columns: 1fr;
  }

  .mvs-site-page-hero-flip > div:first-child,
  .mvs-site-page-hero-flip > div:last-child {
    order: initial;
  }

  .mvs-site-grid-4,
  .mvs-site-grid-3,
  .mvs-capability-grid,
  .mvs-project-grid,
  .mvs-site-stats,
  .mvs-site-strip,
  .mvs-site-steps,
  .mvs-site-logo-grid {
    grid-template-columns: 1fr 1fr;
  }

  .mvs-site-steps div:nth-child(2n),
  .mvs-site-stats div:nth-child(2n) {
    border-right: 0;
  }

  .mvs-site-hero,
  .mvs-site-hero-compact {
    min-height: auto;
  }
}

@media (max-width: 680px) {
  .mvs-site-hero,
  .mvs-site-page-hero,
  .mvs-site-section,
  .mvs-site-final,
  .mvs-site-form-page,
  .mvs-site-simple-page,
  .mvs-site-stats,
  .mvs-site-strip {
    width: min(100% - 28px, 1240px);
  }

  .mvs-site-hero,
  .mvs-site-page-hero,
  .mvs-site-section,
  .mvs-site-company-intro,
  .mvs-site-projects,
  .mvs-site-dark,
  .mvs-site-proof,
  .mvs-site-quality,
  .mvs-site-case-studies {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .mvs-site h1 {
    font-size: 38px;
  }

  .mvs-site h2 {
    font-size: 30px;
  }

  .mvs-site p,
  .mvs-site li {
    font-size: 16px;
  }

  .mvs-site-lede {
    font-size: 17px !important;
  }

  .mvs-site-grid-4,
  .mvs-site-grid-3,
  .mvs-capability-grid,
  .mvs-project-grid,
  .mvs-site-stats,
  .mvs-site-strip,
  .mvs-site-steps,
  .mvs-site-proof-list,
  .mvs-site-logo-grid,
  .mvs-site-formbox form {
    grid-template-columns: 1fr;
  }

  .mvs-site-stats div,
  .mvs-site-steps div {
    border-right: 0;
    border-bottom: 1px solid var(--mvs-line);
  }

  .mvs-site-image img,
  .mvs-site-hero-media .mvs-site-image img,
  .mvs-site-page-hero .mvs-site-image img {
    min-height: 260px;
  }

  .mvs-site-final {
    display: block;
    padding: 34px 28px;
  }

  .mvs-site-final .mvs-btn {
    margin-top: 20px;
  }
}

/* v0.8.2: service-page contrast and rhythm correction. */
.mvs-service-hero .mvs-btn-secondary,
.mvs-service-final .mvs-btn-secondary {
  background: transparent;
  color: #fff;
}

.mvs-service-hero .mvs-btn-secondary:hover,
.mvs-service-final .mvs-btn-secondary:hover {
  background: rgba(255, 255, 255, .12);
}

.mvs-service-environments .mvs-industry-cloud span {
  color: var(--mvs-navy) !important;
}

.mvs-service-directory {
  padding-top: 54px;
  padding-bottom: 54px;
}

.mvs-service-link-card {
  min-height: 228px;
  padding: 22px;
}

.mvs-service-link-card h3 {
  margin-top: 22px;
}

.mvs-service-link-card p {
  margin-bottom: 18px;
}

.mvs-service-proof {
  padding-top: 56px;
  padding-bottom: 56px;
}

/* v0.8.3: shared service-page hierarchy and motion. */
.mvs-service-hero {
  padding-top: 48px;
}

.mvs-service-hero h1 {
  margin-top: 0;
}

.mvs-service-hero-media {
  overflow: hidden;
  border-radius: 6px;
}

.mvs-service-hero-media .mvs-site-image {
  animation: mvs-service-image-float 8s ease-in-out infinite;
}

.mvs-service-hero-media img {
  animation: mvs-service-image-drift 14s ease-in-out infinite alternate;
  transform-origin: center center;
}

.mvs-service-focus {
  width: 100%;
  max-width: none;
  padding: 56px max(24px, calc((100vw - 1120px) / 2));
  background:
    linear-gradient(rgba(11, 31, 54, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 31, 54, .045) 1px, transparent 1px),
    #f3f5f6;
  background-size: 34px 34px;
}

.mvs-service-focus .mvs-site-card {
  background: rgba(255, 255, 255, .92);
}

.mvs-service-focus .mvs-site-kicker,
.mvs-service-directory .mvs-site-kicker,
.mvs-service-production .mvs-site-kicker,
.mvs-service-environments .mvs-site-kicker,
.mvs-service-proof .mvs-site-kicker,
.mvs-service-final .mvs-site-kicker,
.mvs-site-faq .mvs-site-kicker {
  margin-bottom: 6px;
  color: var(--mvs-orange) !important;
}

.mvs-service-focus .mvs-site-heading h2,
.mvs-service-directory .mvs-site-heading h2,
.mvs-service-production .mvs-site-heading h2,
.mvs-service-proof .mvs-site-heading h2,
.mvs-site-faq .mvs-site-heading h2 {
  margin-top: 0 !important;
  margin-bottom: 12px;
}

.mvs-service-link-card {
  min-height: 208px;
  border-top: 3px solid transparent;
  background: #fff;
}

.mvs-service-link-card h3 {
  margin: 0 0 10px;
}

.mvs-service-link-card:hover {
  border-top-color: var(--mvs-orange);
}

.mvs-service-link-card a {
  color: var(--mvs-orange);
}

.mvs-service-link-card a:hover {
  color: #c8431d;
}

.mvs-service-production .mvs-site-steps div {
  min-height: 128px;
}

.mvs-service-production .mvs-site-steps h3 {
  margin-top: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .mvs-service-link-card,
  .mvs-service-proof-grid article {
    opacity: .2;
    transform: translate3d(0, 16px, 0);
    transition: opacity .5s ease var(--mvs-delay, 0ms), transform .5s ease var(--mvs-delay, 0ms), border-color .25s ease, box-shadow .25s ease;
  }

  .mvs-service-link-card.mvs-motion-in,
  .mvs-service-proof-grid article.mvs-motion-in {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes mvs-service-image-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -7px, 0); }
}

@keyframes mvs-service-image-drift {
  from { transform: scale(1.02) translate3d(-1%, 0, 0); }
  to { transform: scale(1.08) translate3d(1%, -1%, 0); }
}

/* v0.9.1 final cascade: production is contained; FAQ grid spans the page. */
.mvs-site .mvs-service-production {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 38px 32px !important;
}

.mvs-site .mvs-site-faq {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: max(24px, calc((100vw - 1120px) / 2)) !important;
  padding-right: max(24px, calc((100vw - 1120px) / 2)) !important;
  background: linear-gradient(rgba(11, 31, 54, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(11, 31, 54, .04) 1px, transparent 1px), #fff !important;
  background-size: 34px 34px !important;
}

@media (max-width: 680px) {
  .mvs-site .mvs-service-production { width: calc(100% - 32px) !important; padding: 30px 20px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .mvs-service-hero-media .mvs-site-image,
  .mvs-service-hero-media img {
    animation: none;
    transform: none;
  }
}

/* v0.9.59 final cascade: equal, centered four-and-three core service cards. */
.mvs-site .mvs-service-directory .mvs-service-card-grid { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 16px !important; }
.mvs-site .mvs-service-directory .mvs-service-link-card,
.mvs-site .mvs-service-directory .mvs-service-link-card:nth-child(n + 5) { flex: 0 0 calc((100% - 48px) / 4) !important; min-height: 184px !important; padding: 24px !important; border: 1px solid rgba(255,255,255,.12) !important; border-top: 4px solid var(--mvs-orange) !important; border-radius: 7px; background: var(--mvs-navy) !important; box-shadow: 0 14px 28px rgba(11,31,54,.14) !important; }
.mvs-site .mvs-service-directory .mvs-service-link-card:hover { border-color: rgba(255,255,255,.3) !important; border-top-color: var(--mvs-orange) !important; background: #102b47 !important; }
.mvs-site .mvs-service-directory .mvs-service-link-card-title { margin: 0 0 10px !important; color: #fff !important; font-size: 19px !important; font-weight: 800 !important; line-height: 1.16 !important; }
.mvs-site .mvs-service-directory .mvs-service-link-card-copy { color: rgba(255,255,255,.84) !important; font-size: 13px !important; line-height: 1.48 !important; }
.mvs-site .mvs-service-directory .mvs-service-link-card-cta { color: var(--mvs-orange) !important; font-size: 12px !important; font-weight: 800 !important; }
@media (max-width: 980px) { .mvs-site .mvs-service-directory .mvs-service-link-card, .mvs-site .mvs-service-directory .mvs-service-link-card:nth-child(n + 5) { flex-basis: calc((100% - 16px) / 2) !important; } }
@media (max-width: 600px) { .mvs-site .mvs-service-directory .mvs-service-link-card, .mvs-site .mvs-service-directory .mvs-service-link-card:nth-child(n + 5) { flex-basis: 100% !important; min-height: 166px !important; } }

/* v0.9.60: keep the core-services introduction compact on desktop. */
.mvs-site .mvs-service-directory .mvs-site-heading { max-width: none !important; }
@media (min-width: 981px) {
  .mvs-site .mvs-service-directory .mvs-site-heading h2 { white-space: nowrap; font-size: clamp(34px, 3.3vw, 48px) !important; }
  .mvs-site .mvs-service-directory .mvs-site-heading > p:not(.mvs-site-kicker) { white-space: nowrap; }
}

/* v0.9.61: separate the two service rows without widening the cards. */
.mvs-site .mvs-service-directory .mvs-service-card-grid { column-gap: 16px !important; row-gap: 30px !important; }

/* v0.9.58: keep service-directory cards readable at a normal text rhythm. */
.mvs-site .mvs-service-directory .mvs-service-link-card-title,
.mvs-site .mvs-service-directory .mvs-service-link-card-copy,
.mvs-site .mvs-service-directory .mvs-service-link-card-cta {
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

.mvs-site .mvs-service-directory .mvs-service-link-card-copy {
  text-transform: none !important;
}

/* v0.9.59: give the seven core services one clear, equal-card presentation. */
.mvs-site .mvs-service-directory .mvs-service-card-grid {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

.mvs-site .mvs-service-directory .mvs-service-link-card,
.mvs-site .mvs-service-directory .mvs-service-link-card:nth-child(n + 5) {
  flex: 0 0 calc((100% - 48px) / 4);
  min-height: 184px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-top: 4px solid var(--mvs-orange) !important;
  border-radius: 7px;
  background: var(--mvs-navy) !important;
  box-shadow: 0 14px 28px rgba(11, 31, 54, .14);
}

.mvs-site .mvs-service-directory .mvs-service-link-card:hover {
  border-color: rgba(255, 255, 255, .3) !important;
  border-top-color: var(--mvs-orange) !important;
  background: #102b47 !important;
}

.mvs-site .mvs-service-directory .mvs-service-link-card-title {
  margin: 0 0 10px;
  color: #fff !important;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.16;
}

.mvs-site .mvs-service-directory .mvs-service-link-card-copy {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 13px;
  line-height: 1.48;
}

.mvs-site .mvs-service-directory .mvs-service-link-card-cta {
  color: var(--mvs-orange) !important;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 980px) {
  .mvs-site .mvs-service-directory .mvs-service-link-card,
  .mvs-site .mvs-service-directory .mvs-service-link-card:nth-child(n + 5) {
    flex-basis: calc((100% - 16px) / 2);
  }
}

@media (max-width: 600px) {
  .mvs-site .mvs-service-directory .mvs-service-link-card,
  .mvs-site .mvs-service-directory .mvs-service-link-card:nth-child(n + 5) {
    flex-basis: 100%;
    min-height: 166px;
  }
}

/* v0.9.48: match the compact homepage kicker-to-heading rhythm. */
.mvs-site .mvs-site-contact-page .mvs-site-kicker,
.mvs-site .mvs-site-simple-page .mvs-site-kicker {
  display: block;
  margin: 0 0 8px !important;
}

.mvs-site .mvs-site-contact-page h1,
.mvs-site .mvs-site-simple-page h1 {
  margin-top: 0 !important;
}

/* v0.9.47 final cascade: white blueprint treatment for Contact and Career. */
.mvs-site .mvs-site-contact-page,
.mvs-site .mvs-site-simple-page {
  width: 100%;
  max-width: none;
  min-height: 520px;
  margin: 0;
  padding: 58px max(24px, calc((100vw - 1120px) / 2)) 72px;
  background: linear-gradient(rgba(11, 31, 54, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(11, 31, 54, .045) 1px, transparent 1px), #fff;
  background-size: 38px 38px, 38px 38px, auto;
}

.mvs-site .mvs-site-contact-page {
  grid-template-columns: minmax(0, .92fr) minmax(360px, .78fr);
  gap: 64px;
  align-items: start;
}

.mvs-site .mvs-site-contact-page .mvs-site-kicker,
.mvs-site .mvs-site-simple-page .mvs-site-kicker {
  margin-bottom: 6px;
  color: var(--mvs-orange);
  font-size: 10px;
}

.mvs-site .mvs-site-contact-page .mvs-site-lede,
.mvs-site .mvs-site-simple-page .mvs-site-lede {
  max-width: 660px;
  margin-top: 14px;
}

.mvs-site .mvs-site-contact-page .mvs-site-note,
.mvs-site .mvs-site-simple-page .mvs-site-note,
.mvs-site .mvs-site-contact-page .mvs-site-formbox {
  border-color: #c9d5e0;
  border-radius: 4px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 16px 38px rgba(11, 31, 54, .08);
}

.mvs-site .mvs-site-contact-page .mvs-site-note { margin-top: 28px; }
.mvs-site .mvs-site-simple-page > :not(.mvs-site-kicker) { max-width: 760px; }
.mvs-site .mvs-site-simple-page .mvs-site-career-note { max-width: 720px; margin-top: 28px; }

@media (max-width: 820px) {
  .mvs-site .mvs-site-contact-page,
  .mvs-site .mvs-site-simple-page {
    min-height: 0;
    padding: 42px 18px 52px;
    background-size: 30px 30px, 30px 30px, auto;
  }

  .mvs-site .mvs-site-contact-page {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* v0.9.47 final cascade: white blueprint treatment for Contact and Career. */
.mvs-site .mvs-site-contact-page,
.mvs-site .mvs-site-simple-page {
  width: 100%;
  max-width: none;
  min-height: 520px;
  margin: 0;
  padding: 58px max(24px, calc((100vw - 1120px) / 2)) 72px;
  background:
    linear-gradient(rgba(11, 31, 54, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 31, 54, .045) 1px, transparent 1px),
    #fff;
  background-size: 38px 38px, 38px 38px, auto;
}

.mvs-site .mvs-site-contact-page {
  grid-template-columns: minmax(0, .92fr) minmax(360px, .78fr);
  gap: 64px;
  align-items: start;
}

.mvs-site .mvs-site-contact-page .mvs-site-kicker,
.mvs-site .mvs-site-simple-page .mvs-site-kicker {
  margin-bottom: 6px;
  color: var(--mvs-orange);
  font-size: 10px;
}

.mvs-site .mvs-site-contact-page .mvs-site-lede,
.mvs-site .mvs-site-simple-page .mvs-site-lede {
  max-width: 660px;
  margin-top: 14px;
}

.mvs-site .mvs-site-contact-page .mvs-site-note,
.mvs-site .mvs-site-simple-page .mvs-site-note,
.mvs-site .mvs-site-contact-page .mvs-site-formbox {
  border-color: #c9d5e0;
  border-radius: 4px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 16px 38px rgba(11, 31, 54, .08);
}

.mvs-site .mvs-site-contact-page .mvs-site-note { margin-top: 28px; }
.mvs-site .mvs-site-simple-page > :not(.mvs-site-kicker) { max-width: 760px; }
.mvs-site .mvs-site-simple-page .mvs-site-career-note { max-width: 720px; margin-top: 28px; }

@media (max-width: 820px) {
  .mvs-site .mvs-site-contact-page,
  .mvs-site .mvs-site-simple-page {
    min-height: 0;
    padding: 42px 18px 52px;
    background-size: 30px 30px, 30px 30px, auto;
  }

  .mvs-site .mvs-site-contact-page {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* v0.9.47: Contact and Career inherit the approved white-grid page language. */
.mvs-site-contact-page,
.mvs-site-simple-page {
  position: relative;
  width: 100%;
  max-width: none;
  min-height: 520px;
  margin: 0;
  padding: 58px max(24px, calc((100vw - 1120px) / 2)) 72px;
  background:
    linear-gradient(rgba(11, 31, 54, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 31, 54, .045) 1px, transparent 1px),
    #fff;
  background-size: 38px 38px, 38px 38px, auto;
}

.mvs-site-contact-page {
  grid-template-columns: minmax(0, .92fr) minmax(360px, .78fr);
  gap: 64px;
  align-items: start;
}

.mvs-site-contact-page .mvs-site-kicker,
.mvs-site-simple-page .mvs-site-kicker {
  margin-bottom: 6px;
  color: var(--mvs-orange);
  font-size: 10px;
}

.mvs-site-contact-page h1,
.mvs-site-simple-page h1 {
  max-width: 720px;
}

.mvs-site-contact-page .mvs-site-lede,
.mvs-site-simple-page .mvs-site-lede {
  max-width: 660px;
  margin-top: 14px;
}

.mvs-site-contact-page .mvs-site-note,
.mvs-site-simple-page .mvs-site-note,
.mvs-site-contact-page .mvs-site-formbox {
  border-color: #c9d5e0;
  border-radius: 4px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 16px 38px rgba(11, 31, 54, .08);
}

.mvs-site-contact-page .mvs-site-note {
  margin-top: 28px;
}

.mvs-site-simple-page > :not(.mvs-site-kicker) {
  max-width: 760px;
}

.mvs-site-simple-page .mvs-site-career-note {
  max-width: 720px;
  margin-top: 28px;
}

@media (max-width: 820px) {
  .mvs-site-contact-page,
  .mvs-site-simple-page {
    min-height: 0;
    padding: 42px 18px 52px;
    background-size: 30px 30px, 30px 30px, auto;
  }

  .mvs-site-contact-page {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* v0.9.40: compact homepage quality-control strip. */
.mvs-site .mvs-quality-section .mvs-quality-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 22px;
}

.mvs-site .mvs-quality-section .mvs-quality-strip span {
  min-height: 58px;
  padding: 10px 12px;
  font-size: 11px;
  line-height: 1.25;
}

@media (max-width: 760px) {
  .mvs-site .mvs-quality-section .mvs-quality-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .mvs-site .mvs-quality-section .mvs-quality-strip span {
    min-height: 54px;
    padding: 9px 10px;
  }
}

/* v0.9.43: compact main Services-hub directory only. */
.mvs-site .mvs-service-directory .mvs-service-card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mvs-site .mvs-service-directory .mvs-service-link-card {
  flex: 0 0 calc((100% - 30px) / 4);
  min-height: 154px;
  padding: 16px;
}

.mvs-site .mvs-service-directory .mvs-service-link-card:nth-child(n + 5) {
  flex-basis: calc((100% - 20px) / 3);
}

.mvs-site .mvs-service-directory .mvs-service-link-card h3 {
  margin: 0 0 7px;
  font-size: 18px;
  line-height: 1.12;
}

.mvs-site .mvs-service-directory .mvs-service-link-card p {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.42;
}

.mvs-site .mvs-service-directory .mvs-service-link-card a {
  margin-top: auto;
  font-size: 11px;
}

@media (max-width: 980px) {
  .mvs-site .mvs-service-directory .mvs-service-link-card,
  .mvs-site .mvs-service-directory .mvs-service-link-card:nth-child(n + 5) {
    flex-basis: calc((100% - 10px) / 2);
  }
}

@media (max-width: 600px) {
  .mvs-site .mvs-service-directory .mvs-service-link-card,
  .mvs-site .mvs-service-directory .mvs-service-link-card:nth-child(n + 5) {
    flex-basis: 100%;
    min-height: 132px;
  }
}

/* v0.9.44: make each main Services-hub card a single, full-card link. */
.mvs-site .mvs-service-directory a.mvs-service-link-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 16px;
  color: inherit !important;
  text-decoration: none;
}

.mvs-site .mvs-service-directory .mvs-service-link-card-title {
  display: block;
  margin: 0 0 7px;
  color: var(--mvs-ink);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.12;
}

.mvs-site .mvs-service-directory .mvs-service-link-card-copy {
  display: block;
  color: var(--mvs-slate);
  font-size: 12px;
  line-height: 1.42;
}

.mvs-site .mvs-service-directory .mvs-service-link-card-cta {
  margin-top: auto;
  color: var(--mvs-orange);
  font-size: 11px;
  font-weight: 900;
}

.mvs-site .mvs-service-directory a.mvs-service-link-card:focus-visible {
  outline: 3px solid var(--mvs-orange);
  outline-offset: -3px;
}

/* v0.9.35: approved capacity gauge and composed mobile service heroes. */
.mvs-site .mvs-executive-service-page .mvs-service-hero,
.mvs-site .mvs-architectural-page .mvs-service-hero {
  grid-template-columns: minmax(0, .92fr) minmax(260px, .68fr);
  align-items: center;
}

.mvs-site .mvs-executive-service-page .mvs-service-hero-gauge,
.mvs-site .mvs-architectural-page .mvs-service-hero-gauge {
  min-height: 330px;
}

@media (max-width: 760px) {
  .mvs-site .mvs-site-page-hero .mvs-site-kicker,
  .mvs-site .mvs-site-heading .mvs-site-kicker {
    max-width: 100%;
    margin-bottom: 9px !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    letter-spacing: .105em !important;
  }

  .mvs-site .mvs-site-page-hero h1 {
    max-width: 100%;
    margin-bottom: 14px;
    font-size: clamp(32px, 9.2vw, 43px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.038em;
    overflow-wrap: normal;
    text-wrap: balance;
  }

  .mvs-site .mvs-site-page-hero .mvs-site-lede {
    max-width: 34rem;
    font-size: 15px !important;
    line-height: 1.58 !important;
  }

  .mvs-site .mvs-executive-service-page .mvs-service-hero,
  .mvs-site .mvs-architectural-page .mvs-service-hero {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .mvs-site .mvs-executive-service-page .mvs-service-hero-gauge,
  .mvs-site .mvs-architectural-page .mvs-service-hero-gauge {
    min-height: 242px;
    padding: 0 0 6px;
  }

  .mvs-site .mvs-executive-service-page .mvs-hero-gauge-dial,
  .mvs-site .mvs-architectural-page .mvs-hero-gauge-dial {
    width: 190px;
    height: 190px;
  }

  .mvs-site .mvs-executive-service-page .mvs-hero-gauge-dial strong,
  .mvs-site .mvs-architectural-page .mvs-hero-gauge-dial strong {
    font-size: 56px;
  }

  .mvs-site .mvs-site-page-hero .mvs-site-actions { gap: 9px; }

  .mvs-site .mvs-site-page-hero .mvs-btn {
    min-height: 42px;
    padding: 11px 13px;
    font-size: 12px;
  }
}

/* v0.9.39: the capacity gauge belongs to the Services hub only. */
.mvs-site .mvs-service-directory .mvs-service-hero {
  grid-template-columns: minmax(0, .92fr) minmax(260px, .68fr);
  align-items: center;
}

.mvs-site .mvs-service-directory .mvs-service-hero-gauge {
  min-height: 322px;
}

@media (max-width: 760px) {
  .mvs-site .mvs-service-directory .mvs-service-hero {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-top: 38px;
    padding-bottom: 34px;
  }

  .mvs-site .mvs-service-directory .mvs-service-hero .mvs-site-kicker {
    font-size: 10px !important;
    letter-spacing: .1em !important;
  }

  .mvs-site .mvs-service-directory .mvs-service-hero h1 {
    font-size: clamp(32px, 9vw, 40px) !important;
    line-height: 1.06 !important;
  }

  .mvs-site .mvs-service-directory .mvs-service-hero .mvs-site-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .mvs-site .mvs-service-directory .mvs-service-hero .mvs-btn {
    width: 100%;
    min-height: 46px;
    justify-content: center;
  }

  .mvs-site .mvs-service-directory .mvs-service-hero-gauge {
    min-height: 248px;
    padding-bottom: 4px;
  }

  /* Keep the Services hub's start/pricing split from inheriting desktop columns. */
  .mvs-site .mvs-service-directory .mvs-site-split {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .mvs-site .mvs-service-directory .mvs-site-split > div {
    min-width: 0;
  }

  .mvs-site .mvs-service-directory .mvs-site-split .mvs-btn {
    display: flex;
    width: 100%;
    min-height: 46px;
    justify-content: center;
  }

  .mvs-site .mvs-service-directory .mvs-hero-gauge-dial {
    width: 186px;
    height: 186px;
  }

  .mvs-site .mvs-service-directory .mvs-hero-gauge-dial strong {
    font-size: 54px;
  }
}

/* v0.9.1: production is a contained panel; FAQ grid spans the page. */
.mvs-site .mvs-service-production {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 38px 32px !important;
}

.mvs-site .mvs-site-faq {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: max(24px, calc((100vw - 1120px) / 2)) !important;
  padding-right: max(24px, calc((100vw - 1120px) / 2)) !important;
  background: linear-gradient(rgba(11, 31, 54, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(11, 31, 54, .04) 1px, transparent 1px), #fff !important;
  background-size: 34px 34px !important;
}

@media (max-width: 680px) {
  .mvs-site .mvs-service-production { width: calc(100% - 32px) !important; padding: 30px 20px !important; }
}

/* v0.8.9: a practical readiness signal, with a quiet shared footer. */
.mvs-site .mvs-hero-gauge-dial strong {
  font-size: 40px;
  letter-spacing: .04em;
  transform: none;
}

.mvs-site .mvs-site-footer {
  background-image: none !important;
  background-color: #0b1f36 !important;
}

/* v0.9.0: aligned production panel and explicit extended-team promise. */
.mvs-site .mvs-hero-gauge-dial strong {
  font-size: 64px;
  letter-spacing: -.05em;
  transform: translateX(-.035em);
}

.mvs-site .mvs-service-production {
  width: min(1120px, calc(100% - 48px)) !important;
  padding: 38px 32px !important;
}

.mvs-site .mvs-service-production .mvs-site-steps {
  gap: 12px;
}

.mvs-site .mvs-service-production .mvs-site-steps div {
  min-height: 112px;
  padding: 16px;
}

.mvs-site footer.mvs-site-footer,
.mvs-site .mvs-site-footer {
  background: #0b1f36 !important;
  background-image: none !important;
}

.mvs-site footer.mvs-site-footer:before,
.mvs-site footer.mvs-site-footer:after {
  display: none !important;
  content: none !important;
}

/* v0.8.8: practical hero gauge and aligned service-production panel. */
.mvs-site .mvs-service-hero-gauge {
  align-self: start;
  min-height: 0;
  padding-top: 0;
}

.mvs-site .mvs-hero-gauge-dial strong {
  transform: translateX(-.03em);
  font-size: 68px;
}

.mvs-site .mvs-hero-gauge-label {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.mvs-site .mvs-hero-gauge-fit {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px;
  max-width: 340px;
  margin-top: 14px;
}

.mvs-site .mvs-hero-gauge-fit span {
  padding: 7px 9px;
  border: 1px solid rgba(255, 255, 255, .2);
  color: rgba(255, 255, 255, .9);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.mvs-site .mvs-service-directory .mvs-service-link-card {
  border-top: 3px solid var(--mvs-orange) !important;
}

.mvs-site .mvs-service-production {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 48px !important;
}

.mvs-site .mvs-service-production .mvs-site-steps div {
  min-height: 132px;
  padding: 18px;
}

@media (max-width: 680px) {
  .mvs-site .mvs-service-production {
    width: calc(100% - 32px) !important;
    padding: 30px 20px !important;
  }
}

/* v0.8.4: service-page operating-signal gauges. */
.mvs-service-hero {
  grid-template-columns: minmax(0, .86fr) minmax(400px, .74fr);
}

.mvs-service-hero-gauge {
  --mvs-gauge: 0;
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 400px;
  padding: 20px;
  text-align: center;
}

.mvs-hero-gauge-dial {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 248px;
  height: 248px;
  border-radius: 50%;
  background: conic-gradient(from 220deg, var(--mvs-orange) calc(var(--mvs-gauge) * 1%), rgba(255, 255, 255, .15) 0);
  box-shadow: 0 0 0 12px rgba(243, 84, 40, .07), 0 24px 50px rgba(0, 0, 0, .22);
}

.mvs-hero-gauge-dial:before {
  content: "";
  position: absolute;
  inset: 17px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 50%;
  background: #102b48;
}

.mvs-hero-gauge-dial strong,
.mvs-hero-gauge-dial span {
  position: relative;
  z-index: 1;
}

.mvs-hero-gauge-dial strong {
  color: #fff;
  font-size: 72px;
  line-height: 1;
  letter-spacing: -.07em;
  transform: translateX(-.035em);
}

.mvs-hero-gauge-dial span {
  margin-top: 10px;
  color: rgba(255, 255, 255, .56);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.mvs-hero-gauge-steps {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 26px;
}

.mvs-hero-gauge-steps span {
  padding: 7px 9px;
  border: 1px solid rgba(255, 255, 255, .2);
  color: rgba(255, 255, 255, .88);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.mvs-service-hero-gauge > p {
  max-width: 300px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .66);
  font-size: 13px;
}

.mvs-service-directory,
.mvs-service-environments {
  background:
    linear-gradient(rgba(11, 31, 54, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 31, 54, .045) 1px, transparent 1px),
    #fff !important;
  background-size: 34px 34px !important;
}

.mvs-service-production,
.mvs-service-proof {
  width: 100%;
  max-width: none;
  padding-left: max(24px, calc((100vw - 1120px) / 2));
  padding-right: max(24px, calc((100vw - 1120px) / 2));
  background:
    linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px),
    #102b48 !important;
  background-size: 36px 36px !important;
}

.mvs-service-production .mvs-site-kicker,
.mvs-service-production .mvs-site-heading h2,
.mvs-service-production .mvs-site-heading p,
.mvs-service-proof .mvs-site-kicker,
.mvs-service-proof .mvs-site-heading h2,
.mvs-service-proof .mvs-site-heading p {
  color: #fff !important;
}

.mvs-service-production .mvs-site-heading p:not(.mvs-site-kicker),
.mvs-service-proof .mvs-site-heading p:not(.mvs-site-kicker) {
  color: rgba(255, 255, 255, .72) !important;
}

.mvs-service-proof-grid article {
  box-shadow: 0 18px 42px rgba(0, 0, 0, .2);
}

@media (max-width: 1080px) {
  .mvs-service-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .mvs-service-hero-gauge {
    min-height: 350px;
  }

  .mvs-hero-gauge-dial {
    width: 210px;
    height: 210px;
  }
}

.mvs-service-signals {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: 52px;
  align-items: center;
  width: 100%;
  max-width: none;
  padding: 48px max(24px, calc((100vw - 1120px) / 2));
  background:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px),
    #102b48;
  background-size: 36px 36px;
  color: #fff;
}

.mvs-service-signals .mvs-site-kicker {
  margin-bottom: 6px;
  color: var(--mvs-orange) !important;
}

.mvs-service-signals h2 {
  max-width: 520px;
  margin: 0 0 12px;
  color: #fff;
}

.mvs-service-signals > div:first-child > p:not(.mvs-site-kicker) {
  max-width: 500px;
  margin: 0;
  color: rgba(255, 255, 255, .76);
}

.mvs-service-gauge-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.mvs-service-gauge {
  --mvs-gauge: 0;
  min-height: 270px;
  padding: 18px 14px;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(7, 24, 43, .38);
  text-align: center;
}

.mvs-gauge-dial {
  position: relative;
  display: grid;
  place-items: center;
  width: 142px;
  height: 142px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: conic-gradient(from 220deg, var(--mvs-orange) calc(var(--mvs-gauge) * 1%), rgba(255, 255, 255, .16) 0);
}

.mvs-gauge-dial:before {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  background: #102b48;
}

.mvs-gauge-dial strong,
.mvs-gauge-dial span {
  position: relative;
  z-index: 1;
}

.mvs-gauge-dial strong {
  font-size: 40px;
  line-height: 1;
  letter-spacing: -.05em;
}

.mvs-gauge-dial span {
  margin-top: -48px;
  color: rgba(255, 255, 255, .55);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mvs-service-gauge h3 {
  margin: 0 0 7px;
  color: #fff;
  font-size: 16px;
}

.mvs-service-gauge p {
  margin: 0;
  color: rgba(255, 255, 255, .68);
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 1080px) {
  .mvs-service-signals {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 680px) {
  .mvs-service-signals {
    padding: 42px 18px;
  }

  .mvs-service-gauge-grid {
    grid-template-columns: 1fr;
  }

  .mvs-service-gauge {
    min-height: 0;
  }
}

/* v0.3: compact, editorial, page-specific Makro Draft system */
body:has(.mvs-site) #colophon,
body:has(.mvs-site) footer.site-footer:not(.mvs-site-footer),
body:has(.mvs-site) .site-footer:not(.mvs-site-footer) {
  display: none !important;
}

.mvs-site {
  --mvs-paper: #fbfbf8;
  --mvs-warm: #efede7;
  --mvs-blueprint: #e9f0f6;
  line-height: 1.55;
  background: var(--mvs-paper);
}

.mvs-site-hero,
.mvs-site-page-hero,
.mvs-site-section,
.mvs-site-final,
.mvs-site-form-page,
.mvs-site-simple-page,
.mvs-site-stats,
.mvs-site-strip {
  width: min(1120px, calc(100% - 48px));
}

.mvs-site-hero,
.mvs-site-page-hero {
  grid-template-columns: minmax(0, .95fr) minmax(360px, .82fr);
  gap: 52px;
  min-height: 0;
  padding: 44px 0 42px;
}

.mvs-home-hero {
  padding-top: 54px;
  padding-bottom: 42px;
}

.mvs-site-hero-compact {
  min-height: 0;
  padding-bottom: 42px;
}

.mvs-site h1 {
  max-width: 610px;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.02;
}

.mvs-site h2 {
  max-width: 680px;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
  margin-bottom: 14px;
}

.mvs-site h3 {
  font-size: 18px;
}

.mvs-site p,
.mvs-site li {
  font-size: 15px;
}

.mvs-site-lede {
  max-width: 590px;
  margin-top: 18px;
  font-size: 16px !important;
  line-height: 1.7;
}

.mvs-site-kicker {
  font-size: 10px;
  letter-spacing: .16em;
  margin-bottom: 12px;
}

.mvs-btn {
  min-height: 38px;
  padding: 10px 16px;
  font-size: 13px;
  border-radius: 4px;
}

.mvs-site-actions {
  gap: 10px;
  margin-top: 22px;
}

.mvs-site-image {
  border-radius: 4px;
  box-shadow: 0 18px 44px rgba(11, 31, 54, .1);
}

.mvs-site-image img,
.mvs-site-hero-media .mvs-site-image img,
.mvs-site-page-hero .mvs-site-image img {
  min-height: 0;
  height: 100%;
  max-height: none;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  padding: 0;
}

.mvs-hero-feature .mvs-site-image img {
  aspect-ratio: 16 / 10;
}

.mvs-site-stats {
  width: min(1120px, calc(100% - 48px));
  background: #fff;
}

.mvs-site-stats div {
  min-width: 0;
  padding: 26px 24px;
}

.mvs-site-stats strong {
  font-size: clamp(34px, 4.2vw, 52px);
  letter-spacing: -.03em;
}

.mvs-site-stats div:last-child strong {
  font-size: clamp(28px, 3.2vw, 40px);
}

.mvs-site-stats span {
  margin-top: 8px;
  font-size: 13px;
}

.mvs-site-strip span {
  padding: 12px;
  font-size: 12px;
}

.mvs-site-section {
  padding: 62px 0;
}

.mvs-site-heading {
  margin-bottom: 26px;
}

.mvs-site-heading p {
  font-size: 14px;
}

.mvs-site-statement {
  width: 100%;
  max-width: none;
  padding: 54px max(24px, calc((100vw - 1120px) / 2));
  background: var(--mvs-navy);
  color: #fff;
}

.mvs-site-statement p {
  margin: 0 0 8px;
  color: rgba(255, 255, 255, .68);
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.mvs-site-statement h2 {
  max-width: 880px;
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 4vw, 52px);
}

.mvs-site-company-intro {
  padding: 52px max(24px, calc((100vw - 1120px) / 2));
  background: var(--mvs-warm);
}

.mvs-editorial-row,
.mvs-site-eyebrow-grid {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) 140px;
  gap: 36px;
  align-items: start;
}

.mvs-editorial-row p:not(.mvs-site-kicker) {
  max-width: 620px;
  margin: 0;
  color: var(--mvs-muted);
}

.mvs-site-capabilities {
  padding-top: 64px;
  padding-bottom: 64px;
}

.mvs-capability-layout {
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}

.mvs-capability-layout > div:first-child > p {
  max-width: 560px;
  color: var(--mvs-muted);
}

.mvs-capability-layout .mvs-site-image {
  margin-top: 22px;
}

.mvs-capability-list {
  border-top: 1px solid var(--mvs-line);
}

.mvs-capability-tile {
  display: grid;
  grid-template-columns: minmax(150px, .55fr) minmax(0, 1fr);
  gap: 28px;
  min-height: 0;
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid var(--mvs-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.mvs-capability-tile span {
  padding: 0;
  font-size: 17px;
}

.mvs-capability-tile p {
  padding: 0;
  font-size: 14px;
}

.mvs-capability-tile:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--mvs-orange);
}

.mvs-service-ledger {
  background: #fff;
}

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

.mvs-service-list .mvs-site-card,
.mvs-service-ledger .mvs-site-card {
  display: grid;
  grid-template-columns: minmax(190px, .45fr) minmax(0, 1fr) 92px;
  gap: 22px;
  align-items: center;
  padding: 18px 0;
  border: 0;
  border-bottom: 1px solid var(--mvs-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.mvs-service-list .mvs-site-card:hover,
.mvs-service-ledger .mvs-site-card:hover {
  transform: none;
  border-bottom-color: var(--mvs-orange);
}

.mvs-service-list .mvs-site-card span,
.mvs-service-ledger .mvs-site-card span {
  margin: 0;
  text-align: right;
}

.mvs-production-split,
.mvs-site-split {
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1fr);
  gap: 48px;
  padding-top: 54px;
  padding-bottom: 54px;
}

.mvs-site-steps {
  border-radius: 4px;
}

.mvs-site-steps div {
  min-height: 160px;
  padding: 20px 16px;
}

.mvs-site-steps span {
  margin-bottom: 26px;
  font-size: 11px;
}

.mvs-site-steps span:after {
  top: 48px;
  left: 16px;
  right: 16px;
}

.mvs-site-steps h3 {
  font-size: 15px;
}

.mvs-site-steps p {
  font-size: 12px;
}

.mvs-site-projects {
  padding: 64px max(24px, calc((100vw - 1120px) / 2));
  background: var(--mvs-blueprint);
}

.mvs-project-grid {
  gap: 14px;
}

.mvs-project-card {
  grid-template-columns: 150px minmax(0, 1fr);
  border-radius: 4px;
}

.mvs-project-card .mvs-site-image img {
  aspect-ratio: 1 / 1;
}

.mvs-project-card > div:last-child {
  padding: 22px;
}

.mvs-site-dark {
  padding: 64px max(24px, calc((100vw - 1120px) / 2));
}

.mvs-site-logo-grid span {
  padding: 12px 8px;
  font-size: 12px;
}

.mvs-site-card {
  padding: 20px;
  border-radius: 4px;
}

.mvs-trust-row .mvs-site-card,
.mvs-site-quality .mvs-site-card,
.mvs-site-case-studies .mvs-site-card {
  padding: 18px;
}

.mvs-site-proof {
  grid-template-columns: minmax(0, .95fr) minmax(260px, .55fr);
  gap: 44px;
  padding-top: 64px;
  padding-bottom: 64px;
  padding-left: max(24px, calc((100vw - 1120px) / 2));
  padding-right: max(24px, calc((100vw - 1120px) / 2));
}

.mvs-site-case-studies,
.mvs-site-quality {
  padding-top: 56px;
  padding-bottom: 56px;
  padding-left: max(24px, calc((100vw - 1120px) / 2));
  padding-right: max(24px, calc((100vw - 1120px) / 2));
}

.mvs-site-faq summary {
  padding: 15px 18px;
  font-size: 15px;
}

.mvs-site-faq details p {
  padding: 0 18px 16px;
  font-size: 13px;
}

.mvs-site-final {
  width: min(980px, calc(100% - 48px));
  padding: 34px 40px;
  border-radius: 0;
}

.mvs-site-final h2 {
  font-size: clamp(24px, 3vw, 34px);
}

.mvs-site-footer {
  grid-template-columns: minmax(240px, 1.1fr) repeat(3, minmax(150px, .75fr));
  padding: 48px max(24px, calc((100vw - 1120px) / 2));
}

.mvs-site-footer h2 {
  font-size: 25px;
}

.mvs-site-footer h3,
.mvs-site-footer p,
.mvs-site-footer a:not(.mvs-btn) {
  font-size: 13px;
}

.mvs-site-form-page {
  gap: 42px;
  padding: 56px 0;
}

.mvs-site-formbox,
.mvs-site-note {
  padding: 22px;
  border-radius: 4px;
}

.mvs-site-formbox input,
.mvs-site-formbox textarea,
.mvs-site-formbox select {
  font-size: 13px;
  padding: 8px 10px;
}

.mvs-site-formbox input,
.mvs-site-formbox select {
  min-height: 34px;
}

.mvs-site-formbox textarea {
  min-height: 112px;
}

.mvs-site-about-hero {
  background: linear-gradient(90deg, var(--mvs-paper) 0 55%, var(--mvs-warm) 55% 100%);
  width: 100%;
  max-width: none;
  padding-left: max(24px, calc((100vw - 1120px) / 2));
  padding-right: max(24px, calc((100vw - 1120px) / 2));
}

.mvs-site-about-copy {
  background: #fff;
}

.mvs-site-resource-page {
  width: min(760px, calc(100% - 48px));
  padding: 58px 0 34px;
}

.mvs-site-contact-page {
  align-items: start;
}

.mvs-site-contact-page .mvs-site-note {
  background: var(--mvs-warm);
}

@media (max-width: 1080px) {
  .mvs-editorial-row,
  .mvs-capability-layout,
  .mvs-capability-tile,
  .mvs-service-list .mvs-site-card,
  .mvs-service-ledger .mvs-site-card {
    grid-template-columns: 1fr;
  }

  .mvs-service-list .mvs-site-card span,
  .mvs-service-ledger .mvs-site-card span {
    text-align: left;
  }
}

@media (max-width: 680px) {
  .mvs-site-hero,
  .mvs-site-page-hero,
  .mvs-site-section,
  .mvs-site-final,
  .mvs-site-form-page,
  .mvs-site-simple-page,
  .mvs-site-stats,
  .mvs-site-strip {
    width: min(100% - 28px, 1120px);
  }

  .mvs-site h1 {
    font-size: 32px;
  }

  .mvs-site h2 {
    font-size: 25px;
  }

  .mvs-site-section,
  .mvs-site-statement,
  .mvs-site-company-intro,
  .mvs-site-projects,
  .mvs-site-dark,
  .mvs-site-proof,
  .mvs-site-quality,
  .mvs-site-case-studies {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .mvs-project-card {
    grid-template-columns: 1fr;
  }
}

/* v0.3.1 homepage-first polish */
body:has(.mvs-site) #ast-scroll-top,
body:has(.mvs-site) .ast-scroll-top-icon,
body:has(.mvs-site) .astra-scroll-to-top,
body:has(.mvs-site) #kt-scroll-up,
body:has(.mvs-site) #kt-scroll-up-reader,
body:has(.mvs-site) .kadence-scroll-to-top {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.mvs-home-hero {
  align-items: center;
}

.mvs-hero-proof {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  margin-top: 22px;
  max-width: 620px;
}

.mvs-hero-proof span {
  position: relative;
  padding-left: 18px;
  color: var(--mvs-ink);
  font-size: 13px;
  font-weight: 850;
}

.mvs-hero-proof span:before {
  content: "";
  position: absolute;
  left: 0;
  top: .58em;
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: var(--mvs-orange);
}

.mvs-site-stats {
  position: relative;
  margin-top: 10px;
}

.mvs-site-stats:before {
  content: "Trusted by production teams for over a decade.";
  position: absolute;
  left: 0;
  top: -34px;
  color: var(--mvs-muted);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mvs-site-statement {
  padding-top: 62px;
  padding-bottom: 62px;
}

.mvs-site-statement h2 {
  max-width: 960px;
  font-size: clamp(34px, 4.3vw, 56px);
  line-height: 1.08;
}

.mvs-home-timeline {
  background: var(--mvs-warm);
  width: 100%;
  max-width: none;
  padding: 58px max(24px, calc((100vw - 1120px) / 2));
}

.mvs-home-timeline .mvs-site-heading {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1fr);
  gap: 42px;
  max-width: none;
  align-items: end;
}

.mvs-home-timeline .mvs-site-heading p:not(.mvs-site-kicker) {
  margin-bottom: 12px;
}

.mvs-timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 2px solid rgba(11, 31, 54, .2);
}

.mvs-timeline div {
  position: relative;
  padding: 24px 20px 0 0;
}

.mvs-timeline div:before {
  content: "";
  position: absolute;
  top: -7px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--mvs-orange);
}

.mvs-timeline span {
  display: block;
  margin-bottom: 12px;
  color: var(--mvs-orange);
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mvs-timeline h3 {
  font-size: 17px;
}

.mvs-timeline p {
  margin: 0;
  color: var(--mvs-muted);
  font-size: 13px;
}

.mvs-site-process {
  background: #fff;
}

.mvs-home-industries {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1fr);
  gap: 54px;
  align-items: center;
  background: var(--mvs-navy);
  color: #fff;
  width: 100%;
  max-width: none;
  padding: 64px max(24px, calc((100vw - 1120px) / 2));
}

.mvs-home-industries h2,
.mvs-home-industries p,
.mvs-home-industries a {
  color: #fff;
}

.mvs-home-industries p:not(.mvs-site-kicker) {
  color: rgba(255, 255, 255, .78);
}

.mvs-industry-cloud {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.mvs-industry-cloud span {
  min-height: 86px;
  display: flex;
  align-items: end;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 4px;
  background: rgba(255, 255, 255, .055);
  padding: 16px;
  color: #fff;
  font-weight: 900;
}

.mvs-site-quality {
  background: var(--mvs-paper);
}

.mvs-site-quality .mvs-site-card {
  background: #fff;
}

@media (max-width: 1080px) {
  .mvs-home-timeline .mvs-site-heading,
  .mvs-home-industries {
    grid-template-columns: 1fr;
  }

  .mvs-timeline,
  .mvs-industry-cloud {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .mvs-hero-proof,
  .mvs-timeline,
  .mvs-industry-cloud {
    grid-template-columns: 1fr;
  }

  .mvs-site-stats:before {
    position: static;
    display: block;
    grid-column: 1 / -1;
    padding: 16px;
  }

  .mvs-site-statement h2 {
    font-size: 34px;
  }
}

/* v0.3.3 homepage authority pass */
.mvs-home-hero .mvs-site-lede {
  max-width: 680px;
}

.mvs-site .mvs-site-heading h2 {
  font-size: clamp(30px, 3.3vw, 46px);
  line-height: 1.08;
}

.mvs-site .mvs-site-heading p:not(.mvs-site-kicker) {
  max-width: 820px;
}

.mvs-site-control {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr);
  gap: 64px;
  align-items: center;
  width: 100%;
  max-width: none;
  padding: 68px max(24px, calc((100vw - 1120px) / 2));
  background:
    linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px),
    radial-gradient(circle at 76% 24%, rgba(243, 84, 40, .2), transparent 34%),
    var(--mvs-navy);
  background-size: 44px 44px, 44px 44px, auto, auto;
  color: #fff;
}

.mvs-site-control .mvs-site-kicker,
.mvs-site-control h2,
.mvs-site-control p {
  color: #fff;
}

.mvs-site-control h2 {
  max-width: 660px;
  margin: 0 0 18px;
  font-size: clamp(38px, 4.7vw, 62px);
  line-height: 1;
}

.mvs-home-hero .mvs-site-kicker {
  margin-bottom: 8px;
  font-size: 9px;
}

.mvs-home-hero .mvs-site-actions {
  margin-top: 24px;
}

.mvs-site-control p:not(.mvs-site-kicker) {
  max-width: 610px;
  color: rgba(255, 255, 255, .78);
  font-size: 18px;
  line-height: 1.75;
}

.mvs-control-points {
  display: grid;
  gap: 10px;
  margin-top: 28px;
}

.mvs-control-points span {
  position: relative;
  padding-left: 24px;
  color: rgba(255, 255, 255, .9);
  font-weight: 800;
}

.mvs-control-points span:before {
  content: "";
  position: absolute;
  left: 0;
  top: .7em;
  width: 8px;
  height: 8px;
  background: var(--mvs-orange);
  border-radius: 50%;
}

.mvs-drawing-board {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 6px;
  background:
    linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px),
    #102b48;
  background-size: 28px 28px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .32);
}

.mvs-drawing-board:before {
  content: "REVISION CONTROL";
  position: absolute;
  right: 22px;
  bottom: 18px;
  color: rgba(255, 255, 255, .16);
  font-size: 38px;
  font-weight: 900;
  letter-spacing: .08em;
}

.mvs-board-sheet {
  position: absolute;
  background: rgba(255, 255, 255, .96);
  color: var(--mvs-navy);
  border-radius: 4px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .28);
}

.mvs-board-sheet span,
.mvs-board-sheet em {
  display: block;
  color: var(--mvs-orange);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mvs-board-sheet b {
  display: block;
  margin: 18px 0;
  font-size: 68px;
  line-height: .9;
}

.mvs-board-sheet i {
  display: block;
  height: 1px;
  margin: 15px 0;
  background: #b8c6d4;
}

.mvs-board-sheet-main {
  left: 44px;
  top: 44px;
  width: 58%;
  min-height: 300px;
  padding: 30px;
  transform: rotate(-2deg);
  animation: mvs-paper-settle-main 7s ease-in-out infinite;
}

.mvs-board-sheet-small {
  right: 42px;
  top: 116px;
  width: 34%;
  min-height: 190px;
  padding: 24px;
  transform: rotate(3deg);
  animation: mvs-paper-settle-small 7s ease-in-out infinite .7s;
}

.mvs-board-callout {
  position: absolute;
  left: 58%;
  top: 58px;
  padding: 11px 16px;
  border-radius: 999px;
  background: var(--mvs-orange);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(243, 84, 40, .35);
  animation: mvs-callout-pop 4.8s ease-in-out infinite;
}

.mvs-board-callout-two {
  left: auto;
  right: 36px;
  top: auto;
  bottom: 54px;
  background: #fff;
  color: var(--mvs-navy);
  animation-delay: .9s;
}

.mvs-board-sheet i {
  transform-origin: left center;
  animation: mvs-line-draw 4.8s ease-in-out infinite;
}

.mvs-board-sheet i:nth-of-type(2) {
  animation-delay: .18s;
}

.mvs-board-sheet i:nth-of-type(3) {
  animation-delay: .36s;
}

@keyframes mvs-paper-settle-main {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(-2deg);
  }
  50% {
    transform: translate3d(0, -7px, 0) rotate(-1.2deg);
  }
}

@keyframes mvs-paper-settle-small {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(3deg);
  }
  50% {
    transform: translate3d(5px, -5px, 0) rotate(2.2deg);
  }
}

@keyframes mvs-callout-pop {
  0%, 58%, 100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  66% {
    transform: translate3d(0, -3px, 0) scale(1.04);
  }
}

@keyframes mvs-line-draw {
  0%, 46%, 100% {
    transform: scaleX(1);
    opacity: 1;
  }
  58% {
    transform: scaleX(.82);
    opacity: .62;
  }
  76% {
    transform: scaleX(1);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mvs-board-sheet-main,
  .mvs-board-sheet-small,
  .mvs-board-callout,
  .mvs-board-sheet i {
    animation: none !important;
  }
}

.mvs-project-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 22px 0 0;
  background: var(--mvs-line);
  border: 1px solid var(--mvs-line);
}

.mvs-project-card dl div {
  padding: 13px;
  background: #fff;
}

.mvs-project-card dt {
  margin-bottom: 4px;
  color: var(--mvs-orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.mvs-project-card dd {
  margin: 0;
  color: var(--mvs-navy);
  font-size: 13px;
  font-weight: 800;
}

.mvs-site-quality .mvs-site-heading h2,
.mvs-site-faq .mvs-site-heading h2,
.mvs-site-software .mvs-site-heading h2 {
  max-width: 760px;
  font-size: clamp(28px, 3vw, 42px);
}

@media (max-width: 1080px) {
  .mvs-site-control {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .mvs-site-control {
    padding: 48px 18px;
  }

  .mvs-site-control h2 {
    font-size: 38px;
  }

  .mvs-drawing-board {
    min-height: 360px;
  }

  .mvs-board-sheet-main {
    left: 22px;
    width: 72%;
  }

  .mvs-board-sheet-small {
    right: 18px;
    width: 52%;
  }

  .mvs-project-card dl {
    grid-template-columns: 1fr;
  }
}

/* v0.3.7 homepage rhythm, motion, and section contrast pass */
.mvs-home-hero {
  padding-top: 38px;
  padding-bottom: 30px;
}

.mvs-home-hero .mvs-site-kicker {
  margin-bottom: 6px;
  font-size: 10px;
}

.mvs-home-hero .mvs-site-lede {
  margin-top: 14px;
}

.mvs-site-stats {
  margin-top: 12px;
  margin-bottom: 34px;
}

.mvs-site-stats div {
  padding-top: 24px;
  padding-bottom: 24px;
}

.mvs-site-statement {
  padding-top: 46px;
  padding-bottom: 48px;
}

.mvs-site-statement p {
  margin-bottom: 10px;
}

.mvs-site-statement h2 {
  max-width: 940px;
  font-size: clamp(32px, 4vw, 52px);
}

.mvs-home-timeline {
  padding-top: 54px;
  padding-bottom: 54px;
}

.mvs-home-timeline .mvs-site-heading {
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 34px;
  align-items: start;
  margin-bottom: 34px;
}

.mvs-home-timeline .mvs-site-heading .mvs-site-kicker {
  padding-top: 8px;
}

.mvs-home-timeline .mvs-site-heading h2 {
  max-width: 720px;
}

.mvs-home-timeline .mvs-site-heading p:not(.mvs-site-kicker) {
  grid-column: 1 / -1;
  max-width: 650px;
  margin: 0;
}

.mvs-timeline div,
.mvs-site-steps div,
.mvs-project-card,
.mvs-site-quality .mvs-site-card {
  opacity: .2;
  transform: translate3d(0, 18px, 0);
  transition:
    opacity .55s ease var(--mvs-delay, 0ms),
    transform .55s ease var(--mvs-delay, 0ms),
    border-color .25s ease,
    box-shadow .25s ease;
}

.mvs-timeline div.mvs-motion-in,
.mvs-site-steps div.mvs-motion-in,
.mvs-project-card.mvs-motion-in,
.mvs-site-quality .mvs-site-card.mvs-motion-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.mvs-timeline div:before {
  transform: scale(.75);
  transition: transform .45s ease var(--mvs-delay, 0ms), box-shadow .45s ease var(--mvs-delay, 0ms);
}

.mvs-timeline div.mvs-motion-in:before {
  transform: scale(1);
  box-shadow: 0 0 0 7px rgba(243, 84, 40, .12);
}

.mvs-timeline div:last-child:before {
  width: 16px;
  height: 16px;
  top: -9px;
}

.mvs-timeline div:last-child.mvs-motion-in:before {
  transform: scale(1.18);
  box-shadow: 0 0 0 10px rgba(243, 84, 40, .15);
}

.mvs-site-control {
  gap: 56px;
  padding-top: 54px;
  padding-bottom: 58px;
}

.mvs-site-control h2 {
  margin-bottom: 14px;
}

.mvs-site-control p:not(.mvs-site-kicker) {
  font-size: 16px;
  line-height: 1.65;
}

.mvs-drawing-board {
  min-height: 360px;
}

.mvs-board-sheet-main {
  animation-duration: 5.8s;
}

.mvs-board-sheet-small {
  animation: mvs-redline-drop 5.2s cubic-bezier(.2, .9, .22, 1) infinite;
}

.mvs-board-callout {
  animation: mvs-callout-pop 3.8s ease-in-out infinite;
}

.mvs-board-callout-two {
  animation: mvs-review-badge 4.4s ease-in-out infinite .6s;
}

@keyframes mvs-redline-drop {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(3deg);
  }
  16% {
    transform: translate3d(0, -26px, 0) rotate(1deg);
  }
  34% {
    transform: translate3d(7px, 4px, 0) rotate(4.2deg);
  }
  52% {
    transform: translate3d(4px, -5px, 0) rotate(2.4deg);
  }
}

@keyframes mvs-review-badge {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  42% {
    transform: translate3d(-10px, -8px, 0) scale(1.04);
  }
  58% {
    transform: translate3d(-2px, 2px, 0) scale(1);
  }
}

.mvs-site-process {
  padding-top: 52px;
  padding-bottom: 48px;
}

.mvs-site-process .mvs-site-heading {
  margin-bottom: 20px;
}

.mvs-site-process .mvs-site-heading p:not(.mvs-site-kicker) {
  max-width: 900px;
}

.mvs-site-steps div {
  min-height: 138px;
}

.mvs-site-projects {
  padding-top: 56px;
  padding-bottom: 58px;
}

.mvs-project-grid {
  gap: 18px;
}

.mvs-project-card {
  grid-template-columns: 170px minmax(0, 1fr);
  overflow: hidden;
  background: #fff;
}

.mvs-project-card > div:last-child {
  padding: 24px 26px;
}

.mvs-project-card p:not(.mvs-site-kicker) {
  margin-bottom: 0;
}

.mvs-project-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.mvs-project-tags span {
  border: 1px solid rgba(11, 31, 54, .14);
  border-radius: 999px;
  background: var(--mvs-paper);
  padding: 7px 10px;
  color: var(--mvs-navy);
  font-size: 12px;
  font-weight: 850;
}

.mvs-home-industries {
  background: var(--mvs-navy) !important;
  padding-top: 58px;
  padding-bottom: 58px;
}

.mvs-home-industries h2,
.mvs-home-industries p,
.mvs-home-industries a,
.mvs-home-industries .mvs-site-kicker,
.mvs-industry-cloud span {
  color: #fff !important;
}

.mvs-industry-cloud span {
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.mvs-industry-cloud span:hover {
  transform: translateY(-4px);
  border-color: rgba(243, 84, 40, .75);
  background: rgba(243, 84, 40, .12);
}

.mvs-site-quality {
  width: 100%;
  max-width: none;
  padding: 58px max(24px, calc((100vw - 1120px) / 2));
  background:
    linear-gradient(90deg, rgba(233, 240, 246, .72), rgba(251, 251, 248, .94));
}

.mvs-site-quality .mvs-site-grid {
  gap: 18px;
}

.mvs-site-quality .mvs-site-card {
  border-top: 4px solid rgba(11, 31, 54, .18);
  box-shadow: 0 14px 34px rgba(11, 31, 54, .045);
}

.mvs-site-quality .mvs-site-card:hover {
  border-top-color: var(--mvs-orange);
  transform: translateY(-3px);
}

.mvs-site-faq {
  padding-top: 50px;
  padding-bottom: 42px;
}

.mvs-site-faq .mvs-site-heading {
  margin-bottom: 18px;
}

.mvs-site-software {
  padding-top: 42px;
  padding-bottom: 38px;
  overflow: hidden;
  border-top: 1px solid var(--mvs-line);
  border-bottom: 1px solid var(--mvs-line);
}

.mvs-site-software .mvs-site-heading {
  margin-bottom: 18px;
}

.mvs-site-software .mvs-site-heading h2 {
  font-size: clamp(24px, 2.3vw, 34px);
}

.mvs-software-marquee {
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.mvs-software-marquee .mvs-site-logo-grid {
  display: flex;
  width: max-content;
  gap: 12px;
  animation: mvs-logo-marquee 28s linear infinite;
}

.mvs-software-marquee .mvs-site-logo-grid span {
  min-width: 142px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(11, 31, 54, .055);
  font-size: 13px;
}

@keyframes mvs-logo-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.mvs-site-final {
  margin-top: 28px;
  margin-bottom: 34px;
}

.mvs-site-footer {
  padding-top: 42px;
  padding-bottom: 44px;
}

@media (prefers-reduced-motion: reduce) {
  .mvs-timeline div,
  .mvs-site-steps div,
  .mvs-project-card,
  .mvs-site-quality .mvs-site-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .mvs-board-sheet-small,
  .mvs-board-callout-two,
  .mvs-software-marquee .mvs-site-logo-grid {
    animation: none !important;
  }
}

@media (max-width: 1080px) {
  .mvs-home-timeline .mvs-site-heading {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

@media (max-width: 680px) {
  .mvs-site-stats {
    margin-bottom: 24px;
  }

  .mvs-project-card {
    grid-template-columns: 1fr;
  }
}

/* v0.4.0 flagship homepage pass */
.mvs-home-hero {
  width: min(1220px, calc(100% - 56px));
  grid-template-columns: minmax(0, .92fr) minmax(430px, .9fr);
  gap: 62px;
  padding-top: 46px;
  padding-bottom: 40px;
}

.mvs-home-hero .mvs-site-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  color: var(--mvs-orange);
  font-size: 11px;
}

.mvs-home-hero .mvs-site-kicker:before {
  content: "";
  width: 34px;
  height: 2px;
  background: var(--mvs-orange);
}

.mvs-home-hero h1 {
  font-size: clamp(42px, 5vw, 68px);
  letter-spacing: -.035em;
}

.mvs-home-hero .mvs-site-lede {
  max-width: 690px;
  font-size: 17px !important;
}

.mvs-hero-stage {
  position: relative;
  min-height: 430px;
  border: 1px solid rgba(11, 31, 54, .12);
  border-radius: 8px;
  background:
    linear-gradient(rgba(11, 31, 54, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 31, 54, .045) 1px, transparent 1px),
    linear-gradient(145deg, #fff, #eef3f7);
  background-size: 34px 34px, 34px 34px, auto;
  box-shadow: 0 28px 70px rgba(11, 31, 54, .12);
  overflow: hidden;
}

.mvs-hero-stage:before {
  content: "13+ YEARS / 1200+ PROJECTS";
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 5;
  color: rgba(11, 31, 54, .36);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .12em;
}

.mvs-hero-slide {
  position: absolute;
  inset: 36px 36px auto auto;
  width: 74%;
  min-height: 255px;
  opacity: 0;
  transform: translate3d(34px, 0, 0) scale(.96);
  animation: mvs-hero-slide-show 15s ease-in-out infinite;
}

.mvs-hero-slide-2 {
  animation-delay: 5s;
}

.mvs-hero-slide-3 {
  animation-delay: 10s;
}

.mvs-hero-slide .mvs-site-image {
  height: 100%;
  border-radius: 6px;
  box-shadow: 0 24px 60px rgba(11, 31, 54, .2);
}

.mvs-hero-slide .mvs-site-image img {
  aspect-ratio: 16 / 10;
  min-height: 255px;
}

.mvs-hero-slide span {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  border-radius: 999px;
  background: rgba(11, 31, 54, .88);
  padding: 8px 12px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.mvs-hero-drawing-card {
  position: absolute;
  left: 34px;
  top: 94px;
  z-index: 6;
  width: 260px;
  min-height: 185px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .96);
  padding: 24px;
  box-shadow: 0 22px 55px rgba(11, 31, 54, .18);
  transform: rotate(-3deg);
  animation: mvs-hero-drawing-float 7s ease-in-out infinite;
}

.mvs-hero-drawing-card span,
.mvs-hero-drawing-card em {
  display: block;
  color: var(--mvs-orange);
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.mvs-hero-drawing-card strong {
  display: block;
  margin: 14px 0;
  color: var(--mvs-navy);
  font-size: 48px;
  line-height: 1;
}

.mvs-hero-drawing-card i {
  display: block;
  width: 100%;
  height: 1px;
  margin: 12px 0;
  background: #bac8d6;
  transform-origin: left center;
  animation: mvs-line-draw 4.2s ease-in-out infinite;
}

.mvs-hero-status {
  position: absolute;
  z-index: 8;
  border-radius: 999px;
  padding: 10px 15px;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 16px 30px rgba(11, 31, 54, .16);
}

.mvs-hero-status-one {
  right: 34px;
  top: 56px;
  background: var(--mvs-orange);
  color: #fff;
  animation: mvs-status-pulse 4.4s ease-in-out infinite;
}

.mvs-hero-status-two {
  left: 72px;
  bottom: 82px;
  background: #fff;
  color: var(--mvs-navy);
  animation: mvs-status-drift 5.4s ease-in-out infinite .5s;
}

@keyframes mvs-hero-slide-show {
  0%, 30% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
  38%, 100% {
    opacity: 0;
    transform: translate3d(-24px, 0, 0) scale(.985);
  }
}

@keyframes mvs-hero-drawing-float {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(-3deg);
  }
  50% {
    transform: translate3d(0, -10px, 0) rotate(-1.5deg);
  }
}

@keyframes mvs-status-pulse {
  0%, 100% {
    transform: scale(1);
  }
  46% {
    transform: scale(1.06);
  }
}

@keyframes mvs-status-drift {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(12px, -8px, 0);
  }
}

.mvs-site-stats {
  width: min(1120px, calc(100% - 56px));
  border-radius: 0 0 8px 8px;
}

.mvs-site-statement {
  position: relative;
  overflow: hidden;
}

.mvs-site-statement:after {
  content: "";
  position: absolute;
  inset: auto -10% -80px auto;
  width: 420px;
  height: 220px;
  background: radial-gradient(circle, rgba(243, 84, 40, .18), transparent 65%);
}

.mvs-site-process {
  position: relative;
  background:
    linear-gradient(90deg, rgba(233, 240, 246, .6), rgba(255, 255, 255, .95));
}

.mvs-site-steps {
  position: relative;
  overflow: hidden;
}

.mvs-site-steps:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 3px;
  background: var(--mvs-orange);
  animation: mvs-process-progress 5.8s ease-in-out infinite;
}

@keyframes mvs-process-progress {
  0%, 12% {
    width: 0;
  }
  78%, 100% {
    width: 100%;
  }
}

.mvs-home-services {
  width: 100%;
  max-width: none;
  padding: 64px max(24px, calc((100vw - 1120px) / 2));
  background: #fff;
}

.mvs-service-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--mvs-line);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 20px 55px rgba(11, 31, 54, .06);
}

.mvs-service-board-card {
  position: relative;
  display: flex;
  min-height: 265px;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid var(--mvs-line);
  background:
    linear-gradient(180deg, rgba(233, 240, 246, .22), rgba(255, 255, 255, 1));
  padding: 26px;
  color: var(--mvs-navy);
  overflow: hidden;
  opacity: .2;
  transform: translate3d(0, 18px, 0);
  transition:
    opacity .55s ease var(--mvs-delay, 0ms),
    transform .55s ease var(--mvs-delay, 0ms),
    background .28s ease,
    color .28s ease;
}

.mvs-service-board-card:last-child {
  border-right: 0;
}

.mvs-service-board-card:before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--mvs-orange);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
}

.mvs-service-board-card:after {
  content: "";
  position: absolute;
  right: -50px;
  bottom: -50px;
  width: 140px;
  height: 140px;
  border-radius: 999px;
  background: rgba(243, 84, 40, .1);
  transform: scale(.2);
  transition: transform .3s ease;
}

.mvs-service-board-card.mvs-motion-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.mvs-service-board-card:hover {
  background: var(--mvs-navy);
  color: #fff;
  transform: translateY(-4px);
}

.mvs-service-board-card:hover:before {
  transform: scaleX(1);
}

.mvs-service-board-card:hover:after {
  transform: scale(1);
}

.mvs-service-board-card span {
  color: var(--mvs-orange);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .12em;
}

.mvs-service-board-card h3 {
  max-width: 230px;
  font-size: 22px;
  line-height: 1.1;
}

.mvs-service-board-card p {
  color: inherit;
  opacity: .76;
}

.mvs-service-board-card a {
  position: relative;
  z-index: 2;
  color: inherit;
  font-size: 13px;
  font-weight: 950;
  text-decoration: none;
}

.mvs-service-board-card a:hover {
  color: #fff;
}

.mvs-site-projects {
  background:
    radial-gradient(circle at 82% 12%, rgba(243, 84, 40, .1), transparent 30%),
    var(--mvs-blueprint);
}

.mvs-home-industries {
  position: relative;
  overflow: hidden;
}

.mvs-home-industries:before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 42px 42px;
  pointer-events: none;
}

.mvs-home-industries > * {
  position: relative;
  z-index: 1;
}

.mvs-industry-cloud span {
  opacity: .2;
  transform: translate3d(0, 18px, 0);
  transition:
    opacity .55s ease var(--mvs-delay, 0ms),
    transform .55s ease var(--mvs-delay, 0ms),
    background .25s ease,
    border-color .25s ease;
}

.mvs-industry-cloud span.mvs-motion-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.mvs-site-quality {
  background:
    linear-gradient(rgba(11, 31, 54, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 31, 54, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(233, 240, 246, .86), rgba(251, 251, 248, .94));
  background-size: 38px 38px, 38px 38px, auto;
}

.mvs-site-faq {
  width: min(1060px, calc(100% - 56px));
}

.mvs-site-final {
  width: min(1020px, calc(100% - 56px));
  border-radius: 8px;
  box-shadow: 0 24px 60px rgba(11, 31, 54, .12);
}

@media (prefers-reduced-motion: reduce) {
  .mvs-hero-slide,
  .mvs-hero-drawing-card,
  .mvs-hero-drawing-card i,
  .mvs-hero-status,
  .mvs-site-steps:before {
    animation: none !important;
  }

  .mvs-hero-slide {
    opacity: 1;
    transform: none;
  }

  .mvs-hero-slide:not(.mvs-hero-slide-1) {
    display: none;
  }

  .mvs-service-board-card,
  .mvs-industry-cloud span {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (max-width: 1080px) {
  .mvs-home-hero,
  .mvs-service-board {
    grid-template-columns: 1fr 1fr;
  }

  .mvs-hero-stage {
    min-height: 390px;
  }
}

@media (max-width: 760px) {
  .mvs-home-hero,
  .mvs-service-board {
    grid-template-columns: 1fr;
  }

  .mvs-home-hero {
    width: min(100% - 28px, 1120px);
    gap: 28px;
  }

  .mvs-hero-stage {
    min-height: 420px;
  }

  .mvs-hero-slide {
    inset: 24px 20px auto 20px;
    width: auto;
  }

  .mvs-hero-drawing-card {
    left: 20px;
    top: 185px;
    width: 230px;
  }

  .mvs-service-board-card {
    min-height: 220px;
    border-right: 0;
    border-bottom: 1px solid var(--mvs-line);
  }
}

/* v0.4.1 homepage authority pass */
.mvs-home-hero {
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(0, .95fr) minmax(420px, .86fr);
  gap: clamp(36px, 5vw, 76px);
  padding: 58px max(30px, calc((100vw - 1160px) / 2)) 62px;
  background:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px),
    radial-gradient(circle at 82% 15%, rgba(243, 84, 40, .2), transparent 34%),
    var(--mvs-navy);
  background-size: 42px 42px, 42px 42px, auto, auto;
  color: #fff;
}

.mvs-home-hero .mvs-site-kicker {
  margin-bottom: 14px;
  color: rgba(255, 255, 255, .78);
  font-size: 10px;
}

.mvs-home-hero .mvs-site-kicker:before {
  width: 24px;
}

.mvs-home-hero h1 {
  max-width: 700px;
  color: #fff;
  font-size: clamp(40px, 4.7vw, 64px);
}

.mvs-home-hero .mvs-site-lede {
  max-width: 650px;
  margin-top: 18px;
  color: rgba(255, 255, 255, .78);
  font-size: 16px !important;
}

.mvs-home-hero .mvs-site-actions {
  margin-top: 24px;
}

.mvs-home-hero .mvs-btn-secondary {
  border-color: rgba(255, 255, 255, .55);
  color: #fff;
}

.mvs-hero-stage {
  min-height: 372px;
  border-color: rgba(255, 255, 255, .18);
  background:
    linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
    rgba(255, 255, 255, .04);
  background-size: 32px 32px, 32px 32px, auto;
  box-shadow: 0 30px 75px rgba(0, 0, 0, .34);
}

.mvs-hero-stage:before,
.mvs-hero-drawing-card,
.mvs-hero-status {
  display: none !important;
}

.mvs-hero-slide {
  inset: 24px;
  width: auto;
  min-height: 0;
  transform: translate3d(28px, 0, 0) scale(.98);
}

.mvs-hero-slide .mvs-site-image {
  height: 100%;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .08);
}

.mvs-hero-slide .mvs-site-image img {
  min-height: 320px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.mvs-hero-slide span {
  left: 18px;
  bottom: 18px;
  background: rgba(11, 31, 54, .78);
  border: 1px solid rgba(255, 255, 255, .18);
}

.mvs-site-stats {
  position: relative;
  margin-top: 0;
  margin-bottom: 28px;
  border-radius: 0 0 10px 10px;
}

.mvs-site-stats:before {
  left: 0;
  right: 0;
  top: -36px;
  text-align: center;
}

.mvs-site-stats strong {
  font-size: clamp(34px, 3.6vw, 54px);
}

.mvs-site-statement {
  padding-top: 38px;
  padding-bottom: 42px;
}

.mvs-site-statement p {
  margin-bottom: 6px;
}

.mvs-site-statement h2 {
  font-size: clamp(32px, 4.2vw, 58px);
}

.mvs-home-timeline .mvs-site-heading {
  grid-template-columns: 1fr;
  gap: 12px;
}

.mvs-home-timeline .mvs-site-heading .mvs-site-kicker {
  padding-top: 0;
}

.mvs-home-timeline .mvs-site-heading p:not(.mvs-site-kicker) {
  grid-column: auto;
}

.mvs-timeline div:last-child span {
  color: var(--mvs-navy);
}

.mvs-site-control {
  padding-top: 48px;
  padding-bottom: 54px;
}

.mvs-site-control .mvs-site-kicker {
  margin-bottom: 8px;
}

.mvs-board-sheet-small {
  animation-duration: 4.2s;
}

.mvs-board-callout {
  animation-duration: 3.2s;
}

.mvs-site-process {
  width: 100%;
  max-width: none;
  padding: 58px max(24px, calc((100vw - 1120px) / 2));
  background:
    linear-gradient(rgba(11, 31, 54, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 31, 54, .035) 1px, transparent 1px),
    linear-gradient(135deg, #f4f8fb, #fff 58%);
  background-size: 38px 38px, 38px 38px, auto;
}

.mvs-site-process .mvs-site-heading h2 {
  max-width: 820px;
}

.mvs-site-steps {
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(11, 31, 54, .065);
}

.mvs-site-steps div {
  position: relative;
  min-height: 170px;
  padding: 24px 18px;
  background: rgba(255, 255, 255, .94);
}

.mvs-site-steps div:not(:last-child):after {
  content: "";
  position: absolute;
  right: -8px;
  top: 50%;
  z-index: 5;
  width: 16px;
  height: 16px;
  border-top: 2px solid rgba(243, 84, 40, .62);
  border-right: 2px solid rgba(243, 84, 40, .62);
  background: #fff;
  transform: translateY(-50%) rotate(45deg);
}

.mvs-service-board-card:nth-child(1) {
  background: linear-gradient(180deg, #fff, #f2f7fb);
}

.mvs-service-board-card:nth-child(2) {
  background: linear-gradient(180deg, #fff, #fff6f1);
}

.mvs-service-board-card:nth-child(3) {
  background: linear-gradient(180deg, #fff, #f4f7ef);
}

.mvs-service-board-card:nth-child(4) {
  background: linear-gradient(180deg, #fff, #eef4fa);
}

.mvs-service-board-card:hover h3,
.mvs-service-board-card:hover p,
.mvs-service-board-card:hover span,
.mvs-service-board-card:hover a {
  color: #fff;
}

.mvs-site-projects {
  padding-top: 62px;
  padding-bottom: 64px;
}

.mvs-site-projects .mvs-site-heading h2 {
  max-width: 850px;
}

.mvs-project-grid {
  gap: 24px;
}

.mvs-project-card {
  grid-template-columns: 190px minmax(0, 1fr);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(11, 31, 54, .065);
}

.mvs-project-card:nth-child(2),
.mvs-project-card:nth-child(3) {
  transform: translate3d(0, 18px, 0);
}

.mvs-project-card:nth-child(2).mvs-motion-in,
.mvs-project-card:nth-child(3).mvs-motion-in {
  transform: translate3d(0, 10px, 0);
}

.mvs-project-card h3 {
  font-size: 24px;
}

.mvs-project-tags span {
  border-radius: 4px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(11, 31, 54, .12);
}

.mvs-home-industries {
  margin-top: 0;
}

.mvs-site-quality {
  padding-top: 54px;
  padding-bottom: 54px;
}

.mvs-site-quality .mvs-site-grid {
  position: relative;
}

.mvs-site-quality .mvs-site-card:not(:last-child):after {
  content: "";
  position: absolute;
  right: -18px;
  top: 44px;
  width: 22px;
  height: 2px;
  background: rgba(243, 84, 40, .45);
}

.mvs-site-faq {
  padding-top: 40px;
  padding-bottom: 36px;
}

.mvs-site-faq-list details {
  background: #fff;
  box-shadow: 0 10px 26px rgba(11, 31, 54, .035);
}

.mvs-site-final {
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
  padding: 58px max(24px, calc((100vw - 1120px) / 2));
  box-shadow: none;
}

.mvs-site-footer {
  padding-top: 42px;
}

.mvs-site-footer .mvs-btn {
  display: inline-flex;
  margin-top: 10px;
}

@media (max-width: 1080px) {
  .mvs-home-hero {
    grid-template-columns: 1fr;
  }

  .mvs-site-steps div:not(:last-child):after,
  .mvs-site-quality .mvs-site-card:not(:last-child):after {
    display: none;
  }
}

@media (max-width: 760px) {
  .mvs-home-hero {
    padding: 42px 20px 44px;
  }

  .mvs-hero-stage {
    min-height: 300px;
  }

  .mvs-hero-slide .mvs-site-image img {
    min-height: 250px;
  }

  .mvs-site-stats:before {
    position: static;
    display: block;
    padding: 14px 12px;
  }

  .mvs-project-card,
  .mvs-project-card:nth-child(2).mvs-motion-in,
  .mvs-project-card:nth-child(3).mvs-motion-in {
    grid-template-columns: 1fr;
    transform: none;
  }
}

/* v0.4.3 buyer-flow homepage rewrite */
.mvs-home-hero {
  padding-top: clamp(36px, 4.2vw, 52px);
  padding-bottom: clamp(42px, 4.5vw, 60px);
}

.mvs-home-hero .mvs-site-kicker {
  display: none !important;
}

.mvs-home-hero h1 {
  max-width: 760px;
  font-size: clamp(42px, 4.9vw, 66px);
}

.mvs-home-hero .mvs-site-lede {
  max-width: 680px;
  font-size: 18px !important;
}

.mvs-home-hero .mvs-site-actions {
  margin-top: 28px;
}

.mvs-home-hero .mvs-btn-secondary {
  background: transparent;
  color: #fff;
}

.mvs-home-hero .mvs-btn-secondary:hover {
  background: rgba(255, 255, 255, .1);
}

.mvs-hero-stage {
  min-height: clamp(320px, 34vw, 430px);
}

.mvs-site-stats {
  margin-bottom: 0;
  border-radius: 0;
}

.mvs-home-problem {
  width: 100%;
  max-width: none;
  padding: 82px max(24px, calc((100vw - 1120px) / 2));
  background:
    radial-gradient(circle at 88% 8%, rgba(241, 90, 41, .12), transparent 28%),
    linear-gradient(180deg, #fff, #f6f9fc);
}

.mvs-problem-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.mvs-problem-grid article {
  min-height: 210px;
  border: 1px solid var(--mvs-line);
  border-radius: 8px;
  background: #fff;
  padding: 26px;
  box-shadow: 0 16px 38px rgba(11, 31, 54, .055);
  opacity: .16;
  transform: translateY(18px);
  transition: opacity .55s ease var(--mvs-delay, 0ms), transform .55s ease var(--mvs-delay, 0ms), border-color .25s ease;
}

.mvs-problem-grid article:hover {
  border-color: rgba(241, 90, 41, .56);
  transform: translateY(-4px);
}

.mvs-problem-grid article.mvs-motion-in {
  opacity: 1;
  transform: translateY(0);
}

.mvs-problem-grid span {
  display: inline-flex;
  margin-bottom: 22px;
  color: var(--mvs-orange);
  font-size: 13px;
  font-weight: 950;
}

.mvs-problem-grid h3,
.mvs-problem-grid p {
  margin: 0;
}

.mvs-problem-grid p {
  color: var(--mvs-muted);
}

.mvs-home-situations,
.mvs-home-project-types {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 58px;
  align-items: center;
  padding: 82px max(24px, calc((100vw - 1120px) / 2));
}

.mvs-home-situations {
  background: #fff;
}

.mvs-situation-list,
.mvs-project-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.mvs-situation-list span,
.mvs-project-type-grid span {
  display: block;
  border: 1px solid var(--mvs-line);
  border-radius: 8px;
  background: #fff;
  padding: 18px 20px;
  color: var(--mvs-navy);
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(11, 31, 54, .045);
  opacity: .18;
  transform: translateY(16px);
  transition: opacity .52s ease var(--mvs-delay, 0ms), transform .52s ease var(--mvs-delay, 0ms), border-color .24s ease, background .24s ease;
}

.mvs-situation-list span.mvs-motion-in,
.mvs-project-type-grid span.mvs-motion-in {
  opacity: 1;
  transform: translateY(0);
}

.mvs-situation-list span:hover,
.mvs-project-type-grid span:hover {
  border-color: rgba(241, 90, 41, .54);
  background: #fff7f3;
}

.mvs-home-solution {
  width: 100%;
  max-width: none;
  padding: 88px max(24px, calc((100vw - 1120px) / 2));
  background:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px),
    radial-gradient(circle at 82% 20%, rgba(241, 90, 41, .17), transparent 34%),
    var(--mvs-navy);
  background-size: 40px 40px, 40px 40px, auto, auto;
  color: #fff;
}

.mvs-home-solution h2,
.mvs-home-solution p {
  color: #fff;
}

.mvs-home-solution .mvs-site-heading p:not(.mvs-site-kicker) {
  color: rgba(255, 255, 255, .78);
}

.mvs-solution-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 36px;
}

.mvs-solution-flow span {
  position: relative;
  min-height: 92px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  background: rgba(255, 255, 255, .075);
  padding: 22px 18px;
  color: #fff;
  font-size: 17px;
  font-weight: 950;
  opacity: .2;
  transform: translateY(16px);
  transition: opacity .5s ease var(--mvs-delay, 0ms), transform .5s ease var(--mvs-delay, 0ms);
}

.mvs-solution-flow span:not(:last-child):after {
  content: "";
  position: absolute;
  right: -11px;
  top: 50%;
  z-index: 4;
  width: 20px;
  height: 2px;
  background: var(--mvs-orange);
}

.mvs-solution-flow span.mvs-motion-in {
  opacity: 1;
  transform: translateY(0);
}

.mvs-home-engagement {
  padding-top: 78px;
  padding-bottom: 78px;
}

.mvs-home-engagement .mvs-site-card,
.mvs-home-pricing .mvs-site-card {
  opacity: .18;
  transform: translateY(16px);
  transition: opacity .52s ease var(--mvs-delay, 0ms), transform .52s ease var(--mvs-delay, 0ms), box-shadow .24s ease, border-color .24s ease;
}

.mvs-home-engagement .mvs-site-card.mvs-motion-in,
.mvs-home-pricing .mvs-site-card.mvs-motion-in {
  opacity: 1;
  transform: translateY(0);
}

.mvs-home-project-types {
  background:
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
    var(--mvs-navy);
  background-size: 38px 38px, 38px 38px, auto;
  color: #fff;
}

.mvs-home-project-types h2,
.mvs-home-project-types p {
  color: #fff;
}

.mvs-home-project-types p:not(.mvs-site-kicker) {
  color: rgba(255, 255, 255, .78);
}

.mvs-home-project-types .mvs-project-type-grid span {
  border-color: rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .075);
  color: #fff;
  box-shadow: none;
}

.mvs-home-project-types .mvs-project-type-grid span:hover {
  background: rgba(255, 255, 255, .12);
}

.mvs-home-pricing {
  width: 100%;
  max-width: none;
  padding: 82px max(24px, calc((100vw - 1120px) / 2));
  background: linear-gradient(180deg, #fff, #f6f9fc);
}

.mvs-site-process {
  padding-top: 78px;
  padding-bottom: 78px;
}

.mvs-site-quality {
  padding-top: 78px;
  padding-bottom: 78px;
  background: #fff;
}

.mvs-site-projects {
  padding-top: 82px;
  padding-bottom: 88px;
}

.mvs-site-software {
  padding-top: 70px;
  padding-bottom: 70px;
}

.mvs-site-faq {
  padding-top: 70px;
  padding-bottom: 70px;
}

.mvs-site-final {
  padding-top: 68px;
  padding-bottom: 68px;
}

@media (prefers-reduced-motion: reduce) {
  .mvs-problem-grid article,
  .mvs-situation-list span,
  .mvs-solution-flow span,
  .mvs-home-engagement .mvs-site-card,
  .mvs-project-type-grid span,
  .mvs-home-pricing .mvs-site-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (max-width: 1080px) {
  .mvs-problem-grid,
  .mvs-solution-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mvs-home-situations,
  .mvs-home-project-types {
    grid-template-columns: 1fr;
  }

  .mvs-solution-flow span:not(:last-child):after {
    display: none;
  }
}

@media (max-width: 760px) {
  .mvs-home-hero .mvs-site-actions {
    margin-top: 22px;
  }

  .mvs-problem-grid,
  .mvs-situation-list,
  .mvs-solution-flow,
  .mvs-project-type-grid {
    grid-template-columns: 1fr;
  }
}

/* v0.4.5 first-screen hero and trust-bar tightening */
.mvs-home-hero {
  min-height: min(440px, calc(100vh - 315px));
  padding-top: clamp(22px, 2.8vw, 34px);
  padding-bottom: clamp(22px, 2.8vw, 34px);
}

.mvs-home-hero h1 {
  max-width: 720px;
  font-size: clamp(42px, 4.5vw, 62px);
}

.mvs-home-hero .mvs-site-lede {
  max-width: 700px;
  margin-top: 20px;
  font-size: 17px !important;
}

.mvs-home-hero .mvs-site-actions {
  margin-top: 24px;
}

.mvs-hero-stage {
  min-height: clamp(270px, 28vw, 350px);
}

.mvs-hero-slide .mvs-site-image img {
  min-height: clamp(235px, 25vw, 315px);
}

.mvs-site-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(1120px, calc(100% - 48px));
  margin-top: 0;
  background: #fff;
}

.mvs-site-stats:before {
  content: "Trusted by production teams for over a decade.";
  position: static !important;
  display: block;
  grid-column: 1 / -1;
  padding: 12px 24px 8px;
  border-bottom: 1px solid var(--mvs-line);
  color: var(--mvs-muted);
  text-align: center;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mvs-site-stats div {
  padding: 20px 32px 22px;
}

.mvs-site-stats div:nth-child(4) {
  border-right: 0;
}

.mvs-site-stats strong {
  font-size: clamp(36px, 3.8vw, 54px);
}

@media (max-width: 900px) {
  .mvs-home-hero {
    min-height: auto;
  }

  .mvs-site-stats {
    grid-template-columns: 1fr;
  }

  .mvs-site-stats div {
    border-right: 0;
    border-bottom: 1px solid var(--mvs-line);
  }
}

/* v0.5.1 memorable first-screen refinement */
body #masthead .custom-logo {
  max-width: 160px !important;
  max-height: 52px !important;
  width: auto !important;
  display: block !important;
  margin: 0 !important;
}

body #masthead .site-header-upper-wrap,
body #masthead .site-main-header-inner-wrap {
  min-height: 76px !important;
  height: 76px !important;
  max-height: 76px !important;
}

body #masthead .site-branding,
body #masthead .brand.has-logo-image,
body #masthead .site-header-item,
body #masthead .site-header-main-section-left {
  min-height: 76px !important;
  height: 76px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
}

body #masthead .header-button,
body #masthead .mobile-header-button {
  min-height: 42px !important;
  padding: 10px 18px !important;
}

.mvs-home-hero {
  min-height: 0;
  padding-top: clamp(18px, 2.2vw, 28px);
  padding-bottom: clamp(18px, 2.2vw, 28px);
}

.mvs-home-hero h1 {
  max-width: 660px;
  font-size: clamp(36px, 4.15vw, 56px);
  line-height: 1.02;
}

.mvs-home-hero .mvs-site-lede {
  max-width: 640px;
  margin-top: 16px;
  font-size: 16px !important;
  line-height: 1.6;
}

.mvs-home-hero .mvs-site-actions {
  margin-top: 20px;
}

.mvs-hero-stage {
  min-height: clamp(250px, 26vw, 326px);
  border-color: rgba(255, 255, 255, .22);
  background: #10263c;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .34);
}

.mvs-hero-slide {
  inset: 20px 28px;
}

.mvs-hero-slide .mvs-site-image {
  box-shadow: 0 24px 58px rgba(0, 0, 0, .26);
}

.mvs-hero-slide .mvs-site-image img {
  min-height: clamp(225px, 23.5vw, 300px);
}

.mvs-hero-slide span {
  display: none !important;
}

.mvs-site-stats:before {
  padding: 10px 20px 6px;
  text-align: center;
}

.mvs-site-stats {
  background: #fff;
  box-shadow: 0 0 0 100vmax #fff;
  clip-path: inset(0 -100vmax);
}

.mvs-site-stats div {
  padding: 16px 30px 18px;
}

.mvs-site-stats strong {
  font-size: clamp(32px, 3.4vw, 48px);
}

.mvs-site-stats span {
  margin-top: 6px;
  font-size: 12px;
}

@media (max-width: 760px) {
  body #masthead .custom-logo {
    max-width: 140px !important;
  }

  body #masthead .site-header-upper-wrap,
  body #masthead .site-main-header-inner-wrap {
    min-height: 68px !important;
    height: 68px !important;
    max-height: 68px !important;
  }

  .mvs-home-hero h1 {
    font-size: 36px;
  }

  .mvs-hero-stage {
    min-height: 260px;
  }
}

/* v0.5.2 pressure section rebuild */
.mvs-home-problem {
  position: relative;
  overflow: hidden;
  padding-top: clamp(48px, 5vw, 64px);
  padding-bottom: clamp(48px, 5vw, 68px);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .72)),
    radial-gradient(circle at 92% 8%, rgba(241, 90, 41, .20), transparent 30%),
    linear-gradient(180deg, #f3f7fb, #fff 58%);
  box-shadow: inset 0 1px 0 rgba(11, 31, 54, .08);
}

.mvs-home-problem:before {
  content: "PRESSURE";
  position: absolute;
  top: 18px;
  right: max(24px, calc((100vw - 1120px) / 2));
  color: rgba(11, 31, 54, .045);
  font-size: clamp(64px, 10vw, 128px);
  line-height: 1;
  font-weight: 950;
  letter-spacing: .08em;
  pointer-events: none;
}

.mvs-home-problem .mvs-site-heading {
  position: relative;
  max-width: 860px;
  margin-bottom: 26px;
  padding-left: 22px;
  border-left: 4px solid var(--mvs-orange);
}

.mvs-home-problem .mvs-site-kicker {
  margin-bottom: 12px;
  color: var(--mvs-orange);
}

.mvs-home-problem h2 {
  max-width: 760px;
  margin-bottom: 12px;
  font-size: clamp(34px, 4vw, 56px);
  line-height: .98;
}

.mvs-home-problem .mvs-site-heading p:not(.mvs-site-kicker) {
  max-width: 760px;
  margin-top: 0;
  font-size: 16px;
  line-height: 1.65;
}

.mvs-problem-grid {
  position: relative;
  gap: 14px;
}

.mvs-problem-grid article {
  position: relative;
  min-height: 176px;
  padding: 22px;
  border-color: rgba(11, 31, 54, .18);
  border-top: 3px solid var(--mvs-orange);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 18px 42px rgba(11, 31, 54, .09);
}

.mvs-problem-grid article:before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(241, 90, 41, 0);
  transition: box-shadow .28s ease;
  pointer-events: none;
}

.mvs-problem-grid article:hover:before {
  box-shadow: inset 0 0 0 1px rgba(241, 90, 41, .52);
}

.mvs-problem-grid article:nth-child(2) {
  --mvs-delay: 90ms;
}

.mvs-problem-grid article:nth-child(3) {
  --mvs-delay: 180ms;
}

.mvs-problem-grid article:nth-child(4) {
  --mvs-delay: 270ms;
}

.mvs-problem-grid span {
  margin-bottom: 34px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(241, 90, 41, .48);
}

.mvs-problem-grid h3 {
  margin-bottom: 8px;
  font-size: 18px;
}

@media (max-width: 760px) {
  .mvs-home-problem {
    padding-top: 42px;
    padding-bottom: 46px;
  }

  .mvs-home-problem .mvs-site-heading {
    padding-left: 16px;
  }

  .mvs-problem-grid article {
    min-height: 0;
  }
}

/* v0.5.3 return pressure section to Makro Draft design language */
.mvs-home-problem {
  overflow: visible;
  padding-top: clamp(46px, 5vw, 62px);
  padding-bottom: clamp(52px, 5vw, 70px);
  background:
    linear-gradient(180deg, #fff, #f7fafc 100%);
  box-shadow: inset 0 1px 0 rgba(11, 31, 54, .08);
}

.mvs-home-problem:before {
  display: none;
}

.mvs-home-problem .mvs-site-heading {
  max-width: 820px;
  margin-bottom: 24px;
  padding-left: 0;
  border-left: 0;
}

.mvs-home-problem .mvs-site-kicker {
  margin-bottom: 10px;
  color: var(--mvs-orange);
}

.mvs-home-problem h2 {
  max-width: 760px;
  margin-bottom: 14px;
  font-size: clamp(34px, 3.7vw, 50px);
  line-height: 1.02;
}

.mvs-home-problem .mvs-site-heading p:not(.mvs-site-kicker) {
  max-width: 740px;
  font-size: 16px;
  line-height: 1.62;
}

.mvs-problem-grid {
  gap: 16px;
}

.mvs-problem-grid article {
  min-height: 188px;
  padding: 24px;
  border: 1px solid var(--mvs-line);
  border-top: 1px solid var(--mvs-line);
  background: #fff;
  box-shadow: 0 18px 42px rgba(11, 31, 54, .055);
}

.mvs-problem-grid article:before {
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 8px 0 0 8px;
  background: var(--mvs-orange);
  box-shadow: none;
  opacity: .9;
  transform: scaleY(.26);
  transform-origin: top;
  transition: transform .45s ease var(--mvs-delay, 0ms), opacity .25s ease;
}

.mvs-problem-grid article.mvs-motion-in:before,
.mvs-problem-grid article:hover:before {
  transform: scaleY(1);
}

.mvs-problem-grid article:hover {
  border-color: rgba(241, 90, 41, .36);
  box-shadow: 0 22px 48px rgba(11, 31, 54, .085);
}

.mvs-problem-grid span {
  margin-bottom: 24px;
  padding-bottom: 0;
  border-bottom: 0;
}

.mvs-problem-grid span:after {
  content: "";
  display: block;
  width: 28px;
  height: 1px;
  margin-top: 12px;
  background: rgba(241, 90, 41, .55);
}

.mvs-problem-grid h3 {
  margin-bottom: 9px;
  font-size: 18px;
}

.mvs-problem-grid p {
  line-height: 1.55;
}

/* v0.5.4 compact premium problem cards */
.mvs-home-problem {
  padding-top: clamp(40px, 4.4vw, 56px);
  padding-bottom: clamp(44px, 4.6vw, 60px);
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.mvs-home-problem:before,
.mvs-problem-grid article:before {
  content: none !important;
  display: none !important;
}

.mvs-home-problem .mvs-site-heading {
  max-width: 880px;
  margin-bottom: 20px;
}

.mvs-home-problem .mvs-site-kicker {
  margin-bottom: 9px;
}

.mvs-home-problem h2 {
  max-width: 780px;
  margin-bottom: 12px;
  font-size: clamp(32px, 3.35vw, 46px);
  line-height: 1.04;
}

.mvs-home-problem .mvs-site-heading p:not(.mvs-site-kicker) {
  max-width: 850px;
  font-size: 15.5px;
  line-height: 1.58;
}

.mvs-problem-grid {
  gap: 12px;
}

.mvs-problem-grid article {
  min-height: 0;
  padding: 18px 18px 20px;
  border: 1px solid rgba(190, 204, 218, .92);
  border-top: 2px solid rgba(241, 90, 41, .7);
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(11, 31, 54, .052);
  opacity: 0;
  transform: translateY(18px) scale(.975);
  transition:
    opacity .48s ease var(--mvs-delay, 0ms),
    transform .48s cubic-bezier(.2, .8, .2, 1) var(--mvs-delay, 0ms),
    border-color .22s ease,
    box-shadow .22s ease;
}

.mvs-problem-grid article.mvs-motion-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.mvs-problem-grid article:hover {
  border-color: rgba(241, 90, 41, .44);
  box-shadow: 0 18px 42px rgba(11, 31, 54, .09);
  transform: translateY(-3px) scale(1);
}

.mvs-problem-grid span {
  margin-bottom: 18px;
  color: var(--mvs-orange);
}

.mvs-problem-grid span:after {
  width: 18px;
  margin-top: 9px;
}

.mvs-problem-grid h3 {
  margin-bottom: 7px;
  font-size: 17px;
  line-height: 1.15;
}

.mvs-problem-grid p {
  font-size: 14px;
  line-height: 1.48;
}

@media (max-width: 760px) {
  .mvs-home-problem h2 {
    font-size: 32px;
  }

  .mvs-problem-grid {
    gap: 10px;
  }
}

/* v0.5.6 premium pressure section */
.mvs-home-problem {
  padding-top: clamp(30px, 3.2vw, 44px);
  padding-bottom: clamp(26px, 2.8vw, 38px);
  background:
    radial-gradient(circle at 18% 18%, rgba(241, 90, 41, .08), transparent 30%),
    linear-gradient(180deg, #f7fafc 0%, #eef4f8 100%);
}

.mvs-home-problem + .mvs-home-situations {
  padding-top: clamp(30px, 3vw, 42px);
}

.mvs-home-problem .mvs-site-heading {
  max-width: 1120px;
  margin-bottom: 15px;
}

.mvs-home-problem .mvs-site-kicker {
  margin-bottom: 4px;
}

.mvs-home-problem h2 {
  max-width: none;
  margin-bottom: 10px;
  font-size: clamp(30px, 3.15vw, 40px);
  line-height: 1;
  white-space: nowrap;
}

.mvs-home-problem .mvs-site-heading p:not(.mvs-site-kicker) {
  max-width: 820px;
  font-size: 15px;
  line-height: 1.5;
}

.mvs-problem-grid {
  gap: 10px;
}

.mvs-problem-grid article {
  position: relative;
  overflow: hidden;
  padding: 16px 16px 17px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-top: 2px solid rgba(241, 90, 41, .9);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)),
    #0b2238;
  box-shadow: 0 18px 38px rgba(6, 22, 40, .16);
  color: #fff;
  opacity: 0;
  transform: perspective(900px) translateY(34px) rotateX(12deg) scale(.94);
  transform-origin: 50% 100%;
  transition:
    opacity .18s ease var(--mvs-delay, 0ms),
    transform .72s cubic-bezier(.18, .9, .2, 1) var(--mvs-delay, 0ms),
    border-color .22s ease,
    box-shadow .22s ease;
}

.mvs-problem-grid article:after {
  content: "";
  position: absolute;
  inset: auto -20% -45% 20%;
  height: 100px;
  background: radial-gradient(circle, rgba(241, 90, 41, .18), transparent 68%);
  pointer-events: none;
}

.mvs-problem-grid article.mvs-motion-in {
  opacity: 1;
  transform: perspective(900px) translateY(0) rotateX(0) scale(1);
}

.mvs-problem-grid article:hover {
  border-color: rgba(241, 90, 41, .72);
  box-shadow: 0 24px 48px rgba(6, 22, 40, .22);
  transform: perspective(900px) translateY(-5px) rotateX(0) scale(1.015);
}

.mvs-problem-grid span {
  margin-bottom: 12px;
  color: var(--mvs-orange);
}

.mvs-problem-grid h3 {
  margin-bottom: 6px;
  color: #fff;
  font-size: 16.5px;
}

.mvs-problem-grid p {
  color: rgba(255, 255, 255, .78);
  font-size: 13.5px;
  line-height: 1.43;
}

@media (max-width: 980px) {
  .mvs-home-problem h2 {
    white-space: normal;
  }
}

/* v0.5.7 tighter kicker rhythm and stronger card numerals */
.mvs-site .mvs-site-kicker,
.mvs-site .mvs-site-heading .mvs-site-kicker {
  margin-bottom: 6px;
}

.mvs-home-problem .mvs-site-kicker {
  margin-bottom: 3px;
}

.mvs-problem-grid span {
  display: inline-block;
  margin-bottom: 14px;
  color: #ff6a3a;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: .08em;
}

.mvs-problem-grid span:after {
  content: none !important;
  display: none !important;
}

/* v0.5.8 tighter pressure section */
.mvs-home-problem {
  padding-top: clamp(18px, 2.2vw, 28px);
  padding-bottom: clamp(16px, 2vw, 26px);
}

.mvs-home-problem + .mvs-home-situations {
  padding-top: clamp(22px, 2.4vw, 32px);
}

.mvs-home-problem .mvs-site-heading {
  margin-bottom: 11px;
}

.mvs-home-problem .mvs-site-kicker {
  margin-bottom: 0 !important;
  line-height: 1;
}

.mvs-home-problem h2 {
  margin-top: 0 !important;
  margin-bottom: 7px;
  font-size: clamp(29px, 3vw, 38px);
}

.mvs-home-problem .mvs-site-heading p:not(.mvs-site-kicker) {
  margin-top: 0;
  margin-bottom: 0;
  max-width: 760px;
  line-height: 1.42;
}

.mvs-problem-grid {
  gap: 8px;
}

.mvs-problem-grid article {
  min-height: 126px;
  padding: 13px 14px 14px;
}

.mvs-problem-grid article:before {
  content: "";
  position: absolute;
  left: 14px;
  top: 0;
  width: 34px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 106, 58, .18), #ff6a3a, rgba(255, 106, 58, .18));
  box-shadow: 0 0 18px rgba(255, 106, 58, .45);
  transform: translateX(0);
  animation: mvs-pressure-line-cruise 3.6s ease-in-out infinite;
}

.mvs-problem-grid article:nth-child(2):before {
  animation-delay: .35s;
}

.mvs-problem-grid article:nth-child(3):before {
  animation-delay: .7s;
}

.mvs-problem-grid article:nth-child(4):before {
  animation-delay: 1.05s;
}

.mvs-problem-grid span {
  margin-bottom: 9px;
  font-size: 15px;
  font-weight: 950;
}

.mvs-problem-grid h3 {
  margin-bottom: 5px;
  font-size: 16px;
}

.mvs-problem-grid p {
  font-size: 13px;
  line-height: 1.36;
}

@keyframes mvs-pressure-line-cruise {
  0%, 100% {
    transform: translateX(0);
    opacity: .72;
  }

  50% {
    transform: translateX(42px);
    opacity: 1;
  }
}

/* v0.6.0 balanced pressure rhythm */
.mvs-home-problem {
  padding-top: clamp(22px, 2.5vw, 34px);
  padding-bottom: clamp(22px, 2.4vw, 32px);
}

.mvs-home-problem + .mvs-home-situations {
  padding-top: clamp(28px, 2.8vw, 38px);
}

.mvs-site .mvs-home-problem .mvs-site-heading {
  margin-bottom: 14px;
}

.mvs-site .mvs-home-problem .mvs-site-kicker {
  margin-bottom: 5px !important;
  line-height: 1;
}

.mvs-site .mvs-home-problem .mvs-site-heading h2,
.mvs-site .mvs-home-problem h2 {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  line-height: 1.03;
}

.mvs-site .mvs-home-problem .mvs-site-heading p:not(.mvs-site-kicker) {
  line-height: 1.42;
}

.mvs-problem-grid article {
  min-height: 132px;
  padding: 16px 16px 15px;
}

.mvs-problem-grid span {
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 1;
}

.mvs-problem-grid h3 {
  margin-bottom: 6px;
  line-height: 1.16;
}

.mvs-problem-grid p {
  line-height: 1.38;
}

/* v0.6.1 readable pressure rhythm */
.mvs-home-problem {
  padding-top: clamp(26px, 2.8vw, 38px);
  padding-bottom: clamp(26px, 2.8vw, 38px);
}

.mvs-home-problem + .mvs-home-situations {
  padding-top: clamp(34px, 3.2vw, 46px);
}

.mvs-site .mvs-home-problem .mvs-site-heading {
  margin-bottom: 18px;
}

.mvs-site .mvs-home-problem .mvs-site-heading p:not(.mvs-site-kicker) {
  max-width: 1040px;
  line-height: 1.52;
}

.mvs-problem-grid {
  gap: 12px;
}

.mvs-problem-grid article {
  min-height: 146px;
  padding: 19px 18px 18px;
}

.mvs-problem-grid span {
  margin-bottom: 13px;
}

.mvs-problem-grid h3 {
  margin-bottom: 8px;
}

.mvs-problem-grid p {
  line-height: 1.45;
}

/* v0.6.2 creative-director homepage refinement */
.mvs-home-problem {
  padding-top: clamp(42px, 4.4vw, 58px);
  padding-bottom: clamp(44px, 4.6vw, 64px);
  background:
    radial-gradient(circle at 92% 8%, rgba(241, 90, 41, .08), transparent 28%),
    linear-gradient(180deg, #fff 0%, #f4f8fb 100%);
}

.mvs-home-problem .mvs-site-heading {
  max-width: 1040px;
  margin-bottom: 26px !important;
}

.mvs-home-problem h2 {
  max-width: 900px !important;
  white-space: normal;
}

.mvs-home-problem .mvs-site-heading p:not(.mvs-site-kicker) {
  max-width: 980px !important;
  font-size: 16px;
}

.mvs-problem-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px !important;
}

.mvs-problem-grid-3 article {
  min-height: 178px !important;
  padding: 24px 24px 22px !important;
}

.mvs-line-icon {
  width: 38px;
  height: 38px;
  display: inline-grid !important;
  place-items: center;
  margin-bottom: 24px !important;
  border: 1px solid rgba(255, 106, 58, .42);
  border-radius: 999px;
  color: #ff6a3a;
  font-size: 13px !important;
  letter-spacing: 0 !important;
}

.mvs-home-situations {
  align-items: start;
  padding-top: clamp(64px, 6vw, 84px);
  padding-bottom: clamp(64px, 6vw, 84px);
}

.mvs-home-situations > div:first-child {
  position: sticky;
  top: 110px;
}

.mvs-home-situations h2 {
  max-width: 460px;
}

.mvs-situation-list {
  gap: 14px;
}

.mvs-situation-list article {
  position: relative;
  min-height: 126px;
  border: 1px solid var(--mvs-line);
  border-radius: 8px;
  background: #fff;
  padding: 22px 22px 20px;
  box-shadow: 0 14px 34px rgba(11, 31, 54, .045);
  opacity: .14;
  transform: translateY(18px);
  transition: opacity .52s ease var(--mvs-delay, 0ms), transform .52s ease var(--mvs-delay, 0ms), background .24s ease, border-color .24s ease;
}

.mvs-situation-list article:nth-child(2),
.mvs-situation-list article:nth-child(3) {
  background: #f7fafc;
}

.mvs-situation-list article:nth-child(even) {
  transform: translateY(30px);
}

.mvs-situation-list article.mvs-motion-in {
  opacity: 1;
  transform: translateY(0);
}

.mvs-situation-list article > span {
  display: block;
  width: 32px;
  height: 2px;
  margin-bottom: 18px;
  background: var(--mvs-orange);
}

.mvs-situation-list article h3,
.mvs-situation-list article p {
  margin: 0;
}

.mvs-situation-list article h3 {
  margin-bottom: 8px;
  font-size: 18px;
}

.mvs-situation-list article p {
  color: var(--mvs-muted);
}

.mvs-solution-layout {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1fr);
  gap: 58px;
  align-items: center;
}

.mvs-solution-copy p:not(.mvs-site-kicker) {
  max-width: 680px;
  color: rgba(255, 255, 255, .78);
}

.mvs-team-stack {
  display: grid;
  gap: 12px;
}

.mvs-team-stack span {
  position: relative;
  display: block;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  background: rgba(255, 255, 255, .075);
  padding: 16px 18px;
  color: #fff;
  font-weight: 950;
  opacity: .2;
  transform: translateY(16px);
  transition: opacity .52s ease var(--mvs-delay, 0ms), transform .52s ease var(--mvs-delay, 0ms), border-color .22s ease;
}

.mvs-team-stack span:not(:last-child):after {
  content: "";
  position: absolute;
  left: 28px;
  bottom: -13px;
  width: 2px;
  height: 13px;
  background: var(--mvs-orange);
}

.mvs-team-stack span:nth-child(4) {
  border-color: rgba(255, 106, 58, .62);
  background: rgba(241, 90, 41, .14);
}

.mvs-team-stack span.mvs-motion-in {
  opacity: 1;
  transform: translateY(0);
}

.mvs-model-card {
  min-height: 170px;
}

.mvs-model-card > span {
  display: block;
  width: 34px;
  height: 34px;
  margin-bottom: 18px;
  border-radius: 8px;
  border: 1px solid rgba(241, 90, 41, .35);
  background: linear-gradient(135deg, rgba(241, 90, 41, .16), rgba(11, 31, 54, .04));
}

.mvs-site-process {
  background: linear-gradient(180deg, #fff, #f8fbfd);
}

.mvs-site-steps {
  position: relative;
}

.mvs-site-steps:before {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--mvs-orange), rgba(241, 90, 41, .12));
  transform: scaleX(0);
  transform-origin: left;
  animation: mvs-line-draw 1.2s ease .25s forwards;
}

.mvs-site-steps > div p {
  min-height: 0;
}

@keyframes mvs-line-draw {
  to {
    transform: scaleX(1);
  }
}

.mvs-quality-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}

.mvs-quality-strip span {
  min-height: 118px;
  display: grid;
  place-items: center;
  border: 1px solid var(--mvs-line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(11, 31, 54, .03), rgba(241, 90, 41, .05)),
    #fff;
  color: var(--mvs-navy);
  text-align: center;
  font-weight: 950;
  opacity: .18;
  transform: translateY(16px);
  transition: opacity .52s ease var(--mvs-delay, 0ms), transform .52s ease var(--mvs-delay, 0ms);
}

.mvs-quality-strip span.mvs-motion-in {
  opacity: 1;
  transform: translateY(0);
}

.mvs-project-type-images {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mvs-project-type-images article {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  background: rgba(255, 255, 255, .075);
  opacity: .18;
  transform: translateY(16px);
  transition: opacity .52s ease var(--mvs-delay, 0ms), transform .52s ease var(--mvs-delay, 0ms), border-color .24s ease;
}

.mvs-project-type-images article.mvs-motion-in {
  opacity: 1;
  transform: translateY(0);
}

.mvs-project-type-images .mvs-site-image {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.mvs-project-type-images img {
  height: 150px;
  object-fit: cover;
}

.mvs-project-type-images h3 {
  margin: 0;
  padding: 16px;
  color: #fff;
  font-size: 16px;
}

.mvs-pricing-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.mvs-pricing-row span {
  display: block;
  border: 1px solid var(--mvs-line);
  border-radius: 8px;
  background: #fff;
  padding: 24px;
  color: var(--mvs-navy);
  font-size: 18px;
  font-weight: 950;
  opacity: .18;
  transform: translateY(16px);
  transition: opacity .52s ease var(--mvs-delay, 0ms), transform .52s ease var(--mvs-delay, 0ms);
}

.mvs-pricing-row span.mvs-motion-in {
  opacity: 1;
  transform: translateY(0);
}

.mvs-proof-meta {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px 14px;
  margin-top: 18px;
}

.mvs-proof-meta span {
  color: var(--mvs-orange);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mvs-proof-meta strong {
  color: var(--mvs-muted);
  font-weight: 700;
}

.mvs-site-software {
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}

.mvs-home-comparison {
  background: #f4f8fb;
}

.mvs-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.mvs-comparison-grid > div {
  border: 1px solid var(--mvs-line);
  border-radius: 8px;
  background: #fff;
  padding: 28px;
}

.mvs-comparison-grid > div:nth-child(2) {
  border-color: rgba(241, 90, 41, .34);
  box-shadow: 0 22px 48px rgba(11, 31, 54, .08);
}

.mvs-comparison-grid h3 {
  margin: 0 0 18px;
}

.mvs-comparison-grid p {
  margin: 0;
  padding: 14px 0;
  border-top: 1px solid var(--mvs-line);
  opacity: .2;
  transform: translateY(12px);
  transition: opacity .5s ease var(--mvs-delay, 0ms), transform .5s ease var(--mvs-delay, 0ms);
}

.mvs-comparison-grid p.mvs-motion-in {
  opacity: 1;
  transform: translateY(0);
}

/* v0.7.2: surgical fixes for the restored homepage only. */
.mvs-proof-grid .mvs-proof-card {
  display: flex;
  flex-direction: column;
  min-height: 430px;
}

.mvs-proof-grid .mvs-proof-meta {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0;
  margin-top: 16px;
}

.mvs-proof-grid .mvs-proof-meta p {
  display: block;
  margin: 0;
  padding: 9px 0;
  color: var(--mvs-muted);
  font-size: 13px;
  line-height: 1.45;
}

.mvs-proof-grid .mvs-proof-meta p:nth-child(3) {
  margin-top: auto;
}

.mvs-proof-grid .mvs-proof-meta strong {
  color: var(--mvs-navy);
}

.mvs-home-comparison .mvs-comparison-grid p {
  border-top: 0;
  padding: 11px 0;
}

@media (max-width: 1080px) {
  .mvs-problem-grid-3,
  .mvs-quality-strip,
  .mvs-project-type-images,
  .mvs-pricing-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mvs-solution-layout,
  .mvs-comparison-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .mvs-problem-grid-3,
  .mvs-quality-strip,
  .mvs-project-type-images,
  .mvs-pricing-row {
    grid-template-columns: 1fr;
  }

  .mvs-home-situations > div:first-child {
    position: static;
  }
}

/* v0.7.3: keep the solution workflow connector in the gap between cards. */
.mvs-home-solution .mvs-team-stack span:not(:last-child)::after {
  left: auto;
  right: -10px;
  top: 50%;
  bottom: auto;
  z-index: 3;
  width: 10px;
  height: 0;
  transform: translateY(-50%);
  border-top: 2px dashed var(--mvs-orange);
  background: none;
  pointer-events: none;
}

/* v0.8.0: reusable commercial service-page system. */
.mvs-service-hero {
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(0, .9fr) minmax(420px, .82fr);
  gap: 64px;
  padding: 42px max(24px, calc((100vw - 1120px) / 2)) 48px;
  background:
    linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px),
    radial-gradient(circle at 78% 22%, rgba(243, 84, 40, .14), transparent 32%),
    var(--mvs-navy);
  background-size: 44px 44px, 44px 44px, auto, auto;
  color: #fff;
}

.mvs-service-hero .mvs-site-kicker {
  margin-bottom: 6px;
  color: var(--mvs-orange);
  font-size: 10px;
}

.mvs-service-hero h1,
.mvs-service-hero .mvs-site-lede {
  color: #fff;
}

.mvs-service-hero .mvs-site-lede {
  margin-top: 14px;
  color: rgba(255, 255, 255, .78);
}

.mvs-service-hero .mvs-btn-secondary,
.mvs-service-final .mvs-btn-secondary {
  border-color: rgba(255, 255, 255, .48);
  color: #fff;
}

.mvs-service-directory {
  width: 100%;
  max-width: none;
  padding-left: max(24px, calc((100vw - 1120px) / 2));
  padding-right: max(24px, calc((100vw - 1120px) / 2));
  background: #fff;
}

.mvs-service-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.mvs-service-link-card {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 24px;
  border: 1px solid var(--mvs-line);
  background: var(--mvs-paper);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.mvs-service-link-card:hover {
  transform: translateY(-4px);
  border-color: var(--mvs-orange);
  box-shadow: 0 18px 40px rgba(11, 31, 54, .09);
}

.mvs-service-link-card > span {
  color: var(--mvs-orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
}

.mvs-service-link-card h3 {
  margin: 30px 0 10px;
  font-size: 21px;
}

.mvs-service-link-card p {
  margin-bottom: 22px;
  color: var(--mvs-muted);
}

.mvs-service-link-card a {
  margin-top: auto;
  color: var(--mvs-navy);
  font-size: 13px;
  font-weight: 900;
}

.mvs-service-card-current {
  border-top: 4px solid var(--mvs-orange);
}

.mvs-service-production {
  padding-top: 56px;
  padding-bottom: 56px;
}

.mvs-service-environments {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1fr);
  gap: 58px;
  align-items: center;
  width: 100%;
  max-width: none;
  padding: 62px max(24px, calc((100vw - 1120px) / 2));
  background:
    linear-gradient(rgba(11, 31, 54, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 31, 54, .05) 1px, transparent 1px),
    var(--mvs-blueprint);
  background-size: 38px 38px;
}

.mvs-service-environments h2,
.mvs-service-environments p,
.mvs-service-environments .mvs-industry-cloud span {
  color: var(--mvs-navy);
}

.mvs-service-environments .mvs-industry-cloud span {
  border-color: rgba(11, 31, 54, .18);
  background: rgba(255, 255, 255, .82);
}

.mvs-service-proof {
  width: 100%;
  max-width: none;
  padding: 64px max(24px, calc((100vw - 1120px) / 2));
  background: var(--mvs-warm);
}

.mvs-service-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.mvs-service-proof-grid article {
  overflow: hidden;
  background: #fff;
  box-shadow: 0 16px 36px rgba(11, 31, 54, .08);
}

.mvs-service-proof-grid .mvs-site-image {
  border-radius: 0;
  box-shadow: none;
}

.mvs-service-proof-grid .mvs-site-image img {
  aspect-ratio: 4 / 3;
}

.mvs-service-proof-grid article > div:last-child {
  padding: 22px;
}

.mvs-service-proof-grid span {
  color: var(--mvs-orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mvs-service-proof-grid h3 {
  margin: 8px 0 10px;
}

.mvs-service-final {
  gap: 28px;
}

.mvs-service-final .mvs-site-actions {
  flex-shrink: 0;
  margin-top: 0;
}

@media (max-width: 1080px) {
  .mvs-service-hero,
  .mvs-service-environments {
    grid-template-columns: 1fr;
  }

  .mvs-service-card-grid,
  .mvs-service-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .mvs-service-hero {
    gap: 32px;
    padding: 34px 18px 40px;
  }

  .mvs-service-card-grid,
  .mvs-service-proof-grid {
    grid-template-columns: 1fr;
  }

  .mvs-service-link-card {
    min-height: 220px;
  }

  .mvs-service-final .mvs-site-actions {
    width: 100%;
  }
}

/* v0.8.7 final service-page cascade: cards, grids, and production contrast. */
.mvs-site .mvs-service-production,
.mvs-site .mvs-service-proof,
.mvs-site .mvs-service-final {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background-image: linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px) !important;
  background-size: 36px 36px !important;
  background-color: #102b48 !important;
}

.mvs-site .mvs-service-production .mvs-site-kicker,
.mvs-site .mvs-service-proof .mvs-site-kicker,
.mvs-site .mvs-service-final .mvs-site-kicker { color: var(--mvs-orange) !important; }

.mvs-site .mvs-service-production .mvs-site-steps {
  gap: 14px; padding: 0; overflow: visible; background: transparent; box-shadow: none;
}
.mvs-site .mvs-service-production .mvs-site-steps:before,
.mvs-site .mvs-service-production .mvs-site-steps div:after { display: none; }
.mvs-site .mvs-service-production .mvs-site-steps div {
  min-height: 156px; padding: 24px 20px; border: 1px solid rgba(255, 255, 255, .24); border-radius: 4px;
  background: rgba(255, 255, 255, .97); box-shadow: 0 14px 30px rgba(0, 0, 0, .16);
  opacity: 1 !important; transform: none !important;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.mvs-site .mvs-service-production .mvs-site-steps div:hover {
  transform: translateY(-5px) !important; border-color: var(--mvs-orange); box-shadow: 0 22px 38px rgba(0, 0, 0, .24);
}
.mvs-site .mvs-service-production .mvs-site-steps h3 { color: var(--mvs-navy); }
.mvs-site .mvs-service-production .mvs-site-steps p { color: #526174; }

.mvs-site .mvs-service-link-card {
  border: 1px solid #c9d5e0; box-shadow: 0 10px 24px rgba(11, 31, 54, .055);
  opacity: 1 !important; transform: none !important;
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.mvs-site .mvs-service-link-card:hover {
  transform: translateY(-5px) !important; border-color: var(--mvs-orange); box-shadow: 0 20px 38px rgba(11, 31, 54, .14);
}

.mvs-site .mvs-service-environments .mvs-site-kicker { margin-bottom: 6px !important; }
.mvs-site .mvs-service-environments .mvs-site-heading h2 { margin-top: 0 !important; margin-bottom: 12px; }
.mvs-site .mvs-service-environments .mvs-industry-cloud span { transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.mvs-site .mvs-service-environments .mvs-industry-cloud span:hover {
  transform: translateY(-3px); border-color: var(--mvs-orange); box-shadow: 0 10px 20px rgba(11, 31, 54, .12);
}

.mvs-site .mvs-service-proof-grid article {
  border: 1px solid rgba(255, 255, 255, .28); opacity: 1 !important; transform: none !important;
  transition: transform .24s ease, box-shadow .24s ease;
}
.mvs-site .mvs-service-proof-grid article:hover { transform: translateY(-6px) !important; box-shadow: 0 24px 42px rgba(0, 0, 0, .28); }

.mvs-site .mvs-site-faq {
  background: linear-gradient(rgba(11, 31, 54, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(11, 31, 54, .04) 1px, transparent 1px), #fff !important;
  background-size: 34px 34px !important;
}
.mvs-site .mvs-site-footer {
  background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px) !important;
  background-size: 36px 36px !important;
}

/* v0.8.2 final cascade overrides for service-page contrast and rhythm. */
.mvs-service-hero .mvs-btn-secondary,
.mvs-service-final .mvs-btn-secondary {
  background: transparent;
  color: #fff;
}

.mvs-service-hero .mvs-btn-secondary:hover,
.mvs-service-final .mvs-btn-secondary:hover {
  background: rgba(255, 255, 255, .12);
}

.mvs-service-environments .mvs-industry-cloud span {
  color: var(--mvs-navy) !important;
}

.mvs-service-directory {
  padding-top: 54px;
  padding-bottom: 54px;
}

.mvs-service-link-card {
  min-height: 228px;
  padding: 22px;
}

.mvs-service-link-card h3 {
  margin-top: 22px;
}

.mvs-service-link-card p {
  margin-bottom: 18px;
}

.mvs-service-proof {
  padding-top: 56px;
  padding-bottom: 56px;
}

/* v0.8.3 final cascade overrides for service-page hierarchy and motion. */
.mvs-service-hero {
  padding-top: 48px;
}

.mvs-service-hero h1 {
  margin-top: 0;
}

.mvs-service-hero-media {
  overflow: hidden;
  border-radius: 6px;
}

.mvs-service-hero-media .mvs-site-image {
  animation: mvs-service-image-float 8s ease-in-out infinite;
}

.mvs-service-hero-media img {
  animation: mvs-service-image-drift 14s ease-in-out infinite alternate;
  transform-origin: center center;
}

.mvs-service-focus {
  width: 100%;
  max-width: none;
  padding: 56px max(24px, calc((100vw - 1120px) / 2));
  background:
    linear-gradient(rgba(11, 31, 54, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 31, 54, .045) 1px, transparent 1px),
    #f3f5f6;
  background-size: 34px 34px;
}

.mvs-service-focus .mvs-site-card {
  background: rgba(255, 255, 255, .92);
}

.mvs-service-focus .mvs-site-kicker,
.mvs-service-directory .mvs-site-kicker,
.mvs-service-production .mvs-site-kicker,
.mvs-service-environments .mvs-site-kicker,
.mvs-service-proof .mvs-site-kicker,
.mvs-service-final .mvs-site-kicker,
.mvs-site-faq .mvs-site-kicker {
  margin-bottom: 6px;
  color: var(--mvs-orange) !important;
}

.mvs-service-focus .mvs-site-heading h2,
.mvs-service-directory .mvs-site-heading h2,
.mvs-service-production .mvs-site-heading h2,
.mvs-service-proof .mvs-site-heading h2,
.mvs-site-faq .mvs-site-heading h2 {
  margin-top: 0 !important;
  margin-bottom: 12px;
}

.mvs-service-link-card {
  min-height: 208px;
  border-top: 3px solid transparent;
  background: #fff;
}

.mvs-service-link-card h3 {
  margin: 0 0 10px;
}

.mvs-service-link-card:hover {
  border-top-color: var(--mvs-orange);
}

.mvs-service-link-card a {
  color: var(--mvs-orange);
}

.mvs-service-link-card a:hover {
  color: #c8431d;
}

.mvs-service-production .mvs-site-steps div {
  min-height: 128px;
}

.mvs-service-production .mvs-site-steps h3 {
  margin-top: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .mvs-service-link-card,
  .mvs-service-proof-grid article {
    opacity: .2;
    transform: translate3d(0, 16px, 0);
    transition: opacity .5s ease var(--mvs-delay, 0ms), transform .5s ease var(--mvs-delay, 0ms), border-color .25s ease, box-shadow .25s ease;
  }

  .mvs-service-link-card.mvs-motion-in,
  .mvs-service-proof-grid article.mvs-motion-in {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes mvs-service-image-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -7px, 0); }
}

@keyframes mvs-service-image-drift {
  from { transform: scale(1.02) translate3d(-1%, 0, 0); }
  to { transform: scale(1.08) translate3d(1%, -1%, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .mvs-service-hero-media .mvs-site-image,
  .mvs-service-hero-media img {
    animation: none;
    transform: none;
  }
}
