/* NovaCraft's opening composition, with the ALMS type and color system. */
body.alms-shared-navigation.alms-process-video #main.alms-authored-page-content { padding-top: 0 !important; }
body.alms-shared-navigation.alms-process-video .alms-page-header:not(.alms-header-returned):not(.is-menu-open) { color: #f9f9f9; }
body.alms-shared-navigation.alms-process-video .alms-page-header:not(.alms-header-returned):not(.is-menu-open) .alms-page-brand img { filter: invert(1); }
.nv-hero { background: #222; color: #fff; isolation: isolate; overflow: clip; position: relative; }
.nv-media, .nv-media::after, .nv-media video { height: 100%; inset: 0; position: absolute; width: 100%; }
.nv-media { z-index: -1; }
.nv-media video { object-fit: cover; object-position: center; }
.nv-media::after { background: rgba(0, 0, 0, 0.65); content: ""; }
.nv-shell { margin-inline: auto; max-width: 1390px; padding: 238px 20px 35px; }
.nv-intro { align-items: center; display: grid; gap: 28px; grid-template-columns: 1fr minmax(0, 780px) 1fr; }
.np-process .nv-category { display: flex; font-size: 14px; gap: 28px; justify-content: space-between; line-height: 1.4; }
.nv-category--right { text-align: right; }
.nv-title-wrap { grid-column: 2; text-align: center; }
.np-process .nv-title-wrap h1 { color: inherit; font-size: clamp(56px, 6.3vw, 96px); font-weight: 500; letter-spacing: -.045em; line-height: 1.02; }
.nv-title-wrap h1 em, .nv-title-wrap h1 > span { display: block; }
.np-process .nv-title-wrap h1 em { font-family: "Playfair Display", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.05em; }
.np-process .nv-subtitle { font-size: 18px; line-height: 1.4; margin: 47px auto 0; }
.nv-details { align-items: end; display: flex; gap: 64px; justify-content: space-between; margin-top: 93px; }
.nv-description { max-width: 355px; }
.np-process .nv-description > p { font-size: 20px; letter-spacing: -.025em; line-height: 1.4; }
.np-process .nv-cta { align-items: center; display: inline-flex; font-size: 14px; font-weight: 500; gap: 3px; margin-top: 22px; }
.nv-cta > span:first-child { align-items: center; background: #f9f9f9; border-radius: 100px; color: #111; display: flex; min-height: 54px; padding: 15px 24px; }
.nv-cta .nv-arrow { align-items: center; background: #ff595c; border-radius: 50%; color: #111; display: flex; font-size: 25px; height: 54px; justify-content: center; transition: transform 240ms ease; width: 54px; }
.nv-cta:hover .nv-arrow { transform: rotate(45deg); }
.nv-metrics { display: grid; gap: 32px; grid-template-columns: 1fr 1fr; width: 430px; }
.np-process .nv-metric { font-family: "Raleway", Arial, sans-serif; font-size: 54px; font-weight: 500; letter-spacing: -.04em; line-height: 1.2; white-space: nowrap; }
.nv-unit { font-size: .56em; letter-spacing: -.04em; }
.np-process .nv-metric + p { font-size: 16px; line-height: 1.4; margin-top: 12px; }
.nv-video-toggle { align-items: center; background: #ffffff18; border: 1px solid #ffffff70; border-radius: 50%; color: #fff; cursor: pointer; display: flex; height: 36px; justify-content: center; padding: 0; position: absolute; right: 24px; top: 130px; width: 36px; }
.nv-video-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.nv-hero + .np-shell { padding-top: 128px; }
.nv-motion [data-nv-enter] { animation: nv-enter 1000ms cubic-bezier(.165,.84,.44,1) var(--nv-delay, 0ms) both; }
@keyframes nv-enter { from { opacity: 0; transform: translate3d(0,100px,0); } to { opacity: 1; transform: none; } }
@media (max-width: 1199.98px) {
  .nv-shell { padding-top: 220px; }
  .nv-intro { gap: 20px; grid-template-columns: 1fr minmax(0, 660px) 1fr; }
  .np-process .nv-category { flex-direction: column; gap: 5px; }
  .np-process .nv-title-wrap h1 { font-size: 72px; }
  .nv-metrics { width: 390px; }
}
@media (max-width: 991.98px) {
  .nv-shell { padding: 176px 32px 40px; }
  .nv-intro { display: flex; flex-direction: column; gap: 28px; }
  .np-process .nv-category { flex-direction: row; font-size: 13px; gap: 26px; }
  .nv-category--right { display: none !important; }
  .np-process .nv-title-wrap h1 { font-size: clamp(58px, 8.8vw, 82px); }
  .np-process .nv-subtitle { margin-top: 28px; }
  .nv-details { gap: 32px; margin-top: 80px; }
  .nv-description { max-width: 310px; }
  .nv-metrics { gap: 24px; width: 340px; }
  .np-process .nv-metric { font-size: 44px; }
  .np-process .nv-metric + p { font-size: 14px; }
  .nv-hero + .np-shell { padding-top: 96px; }
}
@media (max-width: 767.98px) {
  .nv-shell { padding: 152px 24px 36px; }
  .nv-intro { gap: 24px; }
  .np-process .nv-title-wrap h1 { font-size: clamp(40px, 8.8vw, 66px); line-height: 1.1; }
  .np-process .nv-subtitle { font-size: 16px; margin-top: 24px; max-width: 330px; }
  .nv-details { align-items: start; flex-direction: column; gap: 40px; margin-top: 68px; }
  .nv-description { max-width: 340px; }
  .np-process .nv-description > p { font-size: 17px; }
  .np-process .nv-cta { margin-top: 20px; }
  .nv-metrics { gap: 28px; max-width: 430px; width: 100%; }
  .np-process .nv-metric { font-size: 42px; }
  .nv-video-toggle { right: 22px; top: 108px; }
  .nv-hero + .np-shell { padding-top: 72px; }
}
@media (max-width: 379.98px) {
  .nv-shell { padding-inline: 20px; }
  .np-process .nv-title-wrap h1 { font-size: 36px; }
  .nv-metrics { gap: 14px; }
  .np-process .nv-metric { font-size: 36px; }
  .np-process .nv-metric + p { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .nv-motion [data-nv-enter] { animation: none; }
  .nv-cta .nv-arrow { transition: none; }
}
