:root {
  --mv-ink: #202020;
  --mv-muted: #62625c;
  --mv-paper: #f6f5f1;
  --mv-line: #d8d7d1;
  --mv-dark: #191919;
}

.mv-factory-page {
  overflow-x: hidden;
  background: #fff;
  color: var(--mv-ink);
}

.mv-factory-page main {
  padding-top: 78px;
}

.mv-factory-page p {
  color: var(--mv-muted);
  font-size: 16px;
  line-height: 1.8;
}

.mv-factory-page h1,
.mv-factory-page h2 {
  color: var(--mv-ink);
  font-family: "Raleway", sans-serif;
  font-weight: 300;
  letter-spacing: -.045em;
}

.mv-factory-page figure {
  margin: 0;
}

.mv-factory-page figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}

.mv-factory-page figure:hover img {
  transform: scale(1.012);
}

.mv-factory-page figcaption {
  margin-top: 11px;
  color: #77776f;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 2px;
}

.mv-factory-skip {
  position: fixed;
  z-index: 100001;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  background: #fff;
  color: #222;
  transform: translateY(-150%);
}

.mv-factory-skip:focus {
  transform: none;
}

.mv-factory-code {
  margin: 0 0 18px;
  color: #77776f !important;
  font-size: 10px !important;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}

.mv-factory-hero {
  display: grid;
  grid-template-columns: minmax(390px, .82fr) minmax(0, 1.18fr);
  min-height: calc(100vh - 78px);
  background: var(--mv-paper);
}

.mv-factory-hero-copy {
  align-self: center;
  padding: 9vw 7vw;
}

.mv-factory-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(48px, 5.4vw, 82px);
  line-height: 1.02;
}

.mv-factory-lead {
  max-width: 620px;
  margin: 30px 0;
  color: #272727 !important;
  font-family: "Raleway", sans-serif;
  font-size: clamp(22px, 2.2vw, 33px) !important;
  line-height: 1.35 !important;
}

.mv-factory-intro {
  max-width: 600px;
}

.mv-factory-textlink {
  display: inline-block;
  margin-top: 14px;
  padding-bottom: 5px;
  border-bottom: 1px solid #777;
  color: #222;
}

.mv-factory-hero-image {
  min-height: 700px;
  overflow: hidden;
}

.mv-factory-hero-image figcaption {
  position: absolute;
  right: 25px;
  bottom: 22px;
  color: #fff;
}

.mv-factory-hero-image {
  position: relative;
}

.mv-factory-technology {
  padding: 130px 0;
  background: var(--mv-dark);
}

.mv-factory-technology h2,
.mv-factory-technology p {
  color: #f2f2ee;
}

.mv-factory-technology .mv-factory-code,
.mv-factory-technology figcaption {
  color: #b7b7b0 !important;
}

.mv-factory-dark-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10%;
  align-items: start;
  margin-bottom: 65px;
}

.mv-factory-dark-head h2,
.mv-factory-section-head h2,
.mv-factory-split-copy h2 {
  margin: 0;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.06;
}

.mv-factory-dark-copy p {
  color: #d5d5d0;
}

.mv-factory-tech-images {
  display: grid;
  grid-template-columns: 1.65fr .85fr;
  gap: 28px;
}

.mv-factory-tech-images figure {
  overflow: hidden;
}

.mv-factory-tech-images figure:first-child img {
  min-height: 560px;
}

.mv-factory-tech-images figure:last-child img {
  min-height: 560px;
}

.mv-factory-team,
.mv-factory-control {
  padding: 130px 0;
}

.mv-factory-split {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 8%;
  align-items: center;
}

/* Bootstrap clearfix pseudo-elements must not occupy grid cells. */
.container.mv-factory-split::before,
.container.mv-factory-split::after {
  display: none;
}

.mv-factory-split > .mv-factory-split-copy {
  order: 0;
  min-width: 0;
}

.mv-factory-split > figure {
  order: 1;
  min-width: 0;
}

.mv-factory-split figure {
  overflow: hidden;
}

.mv-factory-split figure img {
  min-height: 620px;
}

.mv-factory-split-copy h2 {
  margin-bottom: 35px;
}

.mv-factory-facilities {
  padding: 125px 0 135px;
  background: var(--mv-paper);
}

.mv-factory-section-head {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 9%;
  align-items: end;
  margin-bottom: 65px;
}

.mv-factory-section-head .mv-factory-code {
  grid-column: 1 / -1;
  margin-bottom: -6px;
}

.mv-factory-section-copy p:last-child {
  margin-bottom: 0;
}

.mv-factory-gallery {
  display: grid;
  grid-template-columns: 1.5fr .75fr .75fr;
  gap: 22px;
}

.mv-factory-gallery figure {
  overflow: hidden;
}

.mv-factory-gallery img {
  min-height: 470px;
}

.mv-factory-control {
  background: #fff;
}

.mv-factory-split-reverse {
  grid-template-columns: .88fr 1.12fr;
}

.mv-factory-quality-note {
  margin-top: 28px;
  padding: 20px 0 0 22px;
  border-top: 1px solid var(--mv-line);
  border-left: 2px solid #222;
  font-size: 14px !important;
}

.mv-factory-final {
  padding: 115px 0;
  background: #e8e7e1;
}

.mv-factory-final h2 {
  margin: 0 0 25px;
  font-size: clamp(48px, 6vw, 82px);
  line-height: 1.05;
}

.mv-factory-final p:not(.mv-factory-code) {
  max-width: 700px;
  margin: 0 auto 32px;
}

.mv-factory-button {
  display: inline-block;
  padding: 17px 25px;
  background: #222;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.mv-factory-button:hover,
.mv-factory-button:focus {
  background: #444;
  color: #fff;
}

@media (max-width: 991px) {
  .mv-factory-page nav.navbar.bootsnav .navbar-collapse {
    background: #202020;
    border-color: #3d3d3d;
  }

  .mv-factory-page nav.navbar.bootsnav .navbar-nav > li > a {
    color: #fff;
  }

  .mv-factory-page main {
    padding-top: 70px;
  }

  .mv-factory-hero,
  .mv-factory-dark-head,
  .mv-factory-section-head,
  .mv-factory-split,
  .mv-factory-split-reverse {
    grid-template-columns: 1fr;
  }

  .mv-factory-hero {
    min-height: 0;
  }

  .mv-factory-hero-copy {
    padding: 100px 7vw 70px;
  }

  .mv-factory-hero-image {
    min-height: 620px;
  }

  .mv-factory-dark-head,
  .mv-factory-section-head {
    gap: 35px;
  }

  .mv-factory-tech-images {
    grid-template-columns: 1fr 1fr;
  }

  .mv-factory-split {
    gap: 60px;
  }

  .mv-factory-split-reverse .mv-factory-split-copy {
    order: 0;
  }

  .mv-factory-split-reverse figure {
    order: 1;
  }

  .mv-factory-gallery {
    grid-template-columns: 1fr 1fr;
  }

  .mv-gallery-wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .mv-factory-page p {
    font-size: 15px;
    line-height: 1.75;
  }

  .mv-factory-hero-copy {
    padding: 80px 25px 58px;
  }

  .mv-factory-hero h1 {
    font-size: 47px;
  }

  .mv-factory-lead {
    font-size: 24px !important;
  }

  .mv-factory-hero-image {
    min-height: 430px;
  }

  .mv-factory-technology,
  .mv-factory-team,
  .mv-factory-control,
  .mv-factory-facilities,
  .mv-factory-final {
    padding: 82px 0;
  }

  .mv-factory-dark-head h2,
  .mv-factory-section-head h2,
  .mv-factory-split-copy h2 {
    font-size: 43px;
  }

  .mv-factory-tech-images,
  .mv-factory-gallery {
    grid-template-columns: 1fr;
  }

  .mv-gallery-wide {
    grid-column: auto;
  }

  .mv-factory-tech-images figure:first-child img,
  .mv-factory-tech-images figure:last-child img,
  .mv-factory-split figure img,
  .mv-factory-gallery img {
    min-height: 370px;
  }

  .mv-factory-section-head {
    margin-bottom: 45px;
  }

  .mv-factory-final h2 {
    font-size: 49px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mv-factory-page figure img {
    transition: none;
  }
}
