@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("/_assets/fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.woff2") format("woff2");
}

:root {
  --execution-page-pad: 80px;
  --execution-copy-width: 800px;
  --execution-item-gap: 100px;
  --execution-motion-title: 500ms;
  --execution-ease-title: cubic-bezier(0, .46, .56, 1);
  color-scheme: light;
  font-family: var(--font-brand);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { background: var(--color-page); scroll-behavior: smooth; }
body {
  min-width: 320px;
  margin: 0;
  overflow-x: clip;
  background: var(--color-page);
  color: var(--color-text-primary);
}
body, button { font-family: inherit; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }

.execution-page {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 160px var(--execution-page-pad) 240px;
  overflow: clip;
  background: var(--color-page);
}

.execution-intro,
.execution-list {
  width: 100%;
  max-width: 1800px;
  margin-inline: auto;
}

.execution-intro { max-width: min(1800px, var(--execution-copy-width)); margin-inline: max(0px, calc((100% - 1800px) / 2)) 0; }
.execution-title {
  max-width: var(--execution-copy-width);
  margin: 0;
  font-size: var(--type-display-size);
  font-weight: var(--type-display-weight);
  letter-spacing: -.035em;
  line-height: var(--type-display-leading);
}
.execution-title-text { display: inline-block; opacity: 1; transform: none; }
.execution-intro__lead,
.execution-intro__support { max-width: var(--execution-copy-width); margin: 0; font-weight: 500; }
.execution-intro__lead { margin-top: 24px; font-size: 32px; letter-spacing: -.025em; line-height: 1.4; }
.execution-intro__support { margin-top: 24px; font-size: 24px; line-height: 1.4; }

.execution-list { margin-top: 160px; }
.execution-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: var(--execution-item-gap);
  opacity: 1;
  transform: none;
}
.execution-item + .execution-item { margin-top: 100px; }
.execution-item__eyebrow {
  grid-column: 1 / -1;
  margin: 0 0 12px;
  color: var(--color-action);
  font-size: var(--type-label-size);
  font-weight: var(--type-label-weight);
  line-height: var(--type-label-leading);
}
.execution-item__copy { min-width: 0; }
.execution-item__copy h2 {
  margin: 0;
  font-size: 47px;
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.2;
}
.execution-item__copy p { margin: 20px 0 0; font-size: 24px; font-weight: 400; line-height: 1.4; }
.execution-item__action { align-self: start; }

.js-execution-motion [data-execution-reveal]:not(.is-visible) { opacity: 0; transform: translate3d(30px, 0, 0); }
.js-execution-motion .execution-title[data-reveal-ready]:not(.is-visible) .execution-title-text { opacity: .001; transform: translate3d(50px, 0, 0); }
.js-execution-motion .execution-title[data-reveal-ready].is-visible .execution-title-text { opacity: 1; transform: none; transition: opacity var(--execution-motion-title) var(--execution-ease-title) 200ms, transform var(--execution-motion-title) var(--execution-ease-title) 200ms; }
.js-execution-motion [data-execution-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1439.98px) {
  :root { --execution-page-pad: 64px; }
  .execution-page { padding-bottom: 160px; }
  .execution-title { font-size: var(--type-display-size); }
  .execution-intro__support { font-size: 22px; }
  .execution-list { margin-top: 120px; }
}

@media (max-width: 1099.98px) {
  .execution-item { grid-template-columns: minmax(0, 1fr); }
  .execution-item__action { margin-top: 64px; margin-left: 30px; }
}

@media (max-width: 800px) {
  .execution-item__action { margin-top: 96px; }
}

@media (max-width: 767.98px) {
  :root { --execution-page-pad: 16px; }
  .execution-page { padding-top: 120px; padding-bottom: 160px; }
  .execution-intro__lead { font-size: 32px; }
  .execution-intro__support { font-size: 20px; }
  .execution-list { margin-top: 80px; }
  .execution-item__copy h2 { font-size: 47px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js-execution-motion [data-execution-reveal]:not(.is-visible),
  .js-execution-motion [data-execution-reveal].is-visible,
  .js-execution-motion .execution-title[data-reveal-ready]:not(.is-visible) .execution-title-text,
  .js-execution-motion .execution-title[data-reveal-ready].is-visible .execution-title-text {
    opacity: 1;
    transition: none;
    transform: none;
  }
}
