.large-event-page {
  --ev-night: #090b0f;
  --ev-night-soft: #12161c;
  --ev-panel: #181d24;
  --ev-paper: #f2efe7;
  --ev-white: #fffdf7;
  --ev-ink: #11151a;
  --ev-muted: #6e7173;
  --ev-dark-muted: #aeb3b9;
  --ev-line: #d6d0c4;
  --ev-dark-line: rgb(255 255 255 / 14%);
  --ev-orange: #ff5b3d;
  --ev-orange-dark: #d8432d;
  --ev-yellow: #f2c94c;
  --ev-blue: #3458ff;
  background: var(--ev-paper);
  color: var(--ev-ink);
}

.large-event-page main {
  overflow: hidden;
}

.large-event-page .site-header {
  position: relative;
  z-index: 50;
}

.large-event-page h1,
.large-event-page h2,
.large-event-page h3,
.large-event-page p,
.large-event-page figure,
.large-event-page dl,
.large-event-page dd,
.large-event-page blockquote {
  margin-top: 0;
}

.large-event-page button,
.large-event-page a {
  -webkit-tap-highlight-color: transparent;
}

.ev-hero {
  position: relative;
  display: flex;
  min-height: min(860px, calc(100svh - 88px));
  overflow: hidden;
  background: var(--ev-night);
  color: var(--ev-white);
  isolation: isolate;
}

.ev-hero-video,
.ev-hero-shade,
.ev-hero-grid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.ev-hero-video {
  z-index: -4;
  object-fit: cover;
  object-position: center 58%;
  filter: saturate(0.78) contrast(1.08);
}

.ev-hero-shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgb(7 9 13 / 96%) 0%, rgb(7 9 13 / 80%) 43%, rgb(7 9 13 / 24%) 76%, rgb(7 9 13 / 42%) 100%),
    linear-gradient(0deg, rgb(7 9 13 / 84%) 0%, transparent 42%, rgb(7 9 13 / 18%) 100%);
}

.ev-hero-grid {
  z-index: -1;
  background-image:
    linear-gradient(rgb(255 255 255 / 7%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 7%) 1px, transparent 1px);
  background-position: center;
  background-size: 25% 25%;
  mask-image: linear-gradient(90deg, #000, rgb(0 0 0 / 26%) 70%, transparent);
}

.ev-hero-copy {
  display: flex;
  width: min(830px, 68vw);
  justify-content: center;
  padding: clamp(82px, 9vw, 148px) var(--gutter, 5vw) clamp(134px, 14vw, 190px);
  flex-direction: column;
}

.ev-eyebrow,
.ev-section-heading > p:first-child,
.ev-section-heading > div > p:first-child,
.ev-process-intro > p:first-child,
.ev-boundaries > div > p:first-child,
.ev-final > p:first-child,
.ev-dialog-copy > p:first-child {
  margin-bottom: 22px;
  color: var(--ev-orange);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.ev-eyebrow {
  display: flex;
  align-items: center;
  color: var(--ev-white);
  gap: 12px;
}

.ev-eyebrow span {
  display: block;
  width: 36px;
  height: 3px;
  background: var(--ev-orange);
}

.ev-hero h1 {
  max-width: 830px;
  margin-bottom: 0;
  font-size: clamp(58px, 6.6vw, 108px);
  font-weight: 900;
  letter-spacing: -0.072em;
  line-height: 0.99;
}

.ev-hero h1 em {
  color: var(--ev-orange);
  font-style: normal;
}

.ev-hero-intro {
  max-width: 660px;
  margin: 34px 0 0;
  color: #d7dade;
  font-size: 17px;
  line-height: 1.9;
}

.ev-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 38px;
  gap: 13px;
}

.ev-button,
.ev-process-intro a,
.ev-final a,
.ev-dialog-copy a {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 14px 23px;
  gap: 10px;
  font-size: 14px;
  font-weight: 800;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.ev-button:hover,
.ev-button:focus-visible,
.ev-process-intro a:hover,
.ev-process-intro a:focus-visible,
.ev-final a:hover,
.ev-final a:focus-visible,
.ev-dialog-copy a:hover,
.ev-dialog-copy a:focus-visible {
  transform: translateY(-2px);
}

.ev-button-primary {
  background: var(--ev-orange);
  color: var(--ev-white);
}

.ev-button-primary:hover,
.ev-button-primary:focus-visible {
  background: var(--ev-orange-dark);
}

.ev-button-ghost {
  border: 1px solid rgb(255 255 255 / 42%);
  background: rgb(7 9 13 / 22%);
  color: var(--ev-white);
  backdrop-filter: blur(6px);
}

.ev-button-ghost:hover,
.ev-button-ghost:focus-visible {
  border-color: var(--ev-orange);
  color: var(--ev-orange);
}

.ev-hero-boundary {
  max-width: 620px;
  margin: 20px 0 0;
  color: #a5a9ae;
  font-size: 11px;
  line-height: 1.75;
}

.ev-hero-status {
  position: absolute;
  right: var(--gutter, 5vw);
  bottom: 48px;
  width: min(515px, 40vw);
  border: 1px solid rgb(255 255 255 / 24%);
  background: rgb(9 11 15 / 76%);
  backdrop-filter: blur(13px);
}

.ev-hero-status > p {
  display: flex;
  min-height: 60px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0;
  padding: 15px 20px;
  border-bottom: 1px solid var(--ev-dark-line);
  gap: 20px;
}

.ev-hero-status > p span {
  color: var(--ev-orange);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.16em;
}

.ev-hero-status > p strong {
  font-size: 13px;
}

.ev-hero-status ul {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
}

.ev-hero-status li {
  display: grid;
  min-height: 104px;
  align-content: center;
  padding: 16px 18px;
  gap: 6px;
}

.ev-hero-status li + li {
  border-left: 1px solid var(--ev-dark-line);
}

.ev-hero-status li i {
  margin-bottom: 7px;
  color: var(--ev-yellow);
  font-size: 23px;
}

.ev-hero-status li span {
  font-size: 12px;
  font-weight: 800;
}

.ev-hero-status li strong {
  color: #858b92;
  font-size: 9px;
  letter-spacing: 0.14em;
}

.ev-hero-scroll {
  position: absolute;
  bottom: 49px;
  left: var(--gutter, 5vw);
  display: flex;
  align-items: center;
  color: #a8adb2;
  gap: 13px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.ev-hero-scroll i {
  display: grid;
  width: 34px;
  height: 34px;
  border: 1px solid rgb(255 255 255 / 28%);
  border-radius: 50%;
  color: var(--ev-white);
  place-items: center;
}

.ev-capability-strip {
  display: grid;
  min-height: 126px;
  margin: 0;
  padding: 0 var(--gutter, 5vw);
  border-bottom: 1px solid var(--ev-line);
  background: var(--ev-white);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
}

.ev-capability-strip li {
  position: relative;
  display: grid;
  align-content: center;
  padding: 24px clamp(18px, 2vw, 34px) 24px clamp(56px, 5.2vw, 76px);
}

.ev-capability-strip li + li {
  border-left: 1px solid var(--ev-line);
}

.ev-capability-strip li > span {
  position: absolute;
  top: 17px;
  right: 18px;
  color: #b6b0a6;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.ev-capability-strip li i {
  position: absolute;
  top: 50%;
  left: clamp(18px, 2vw, 30px);
  color: var(--ev-orange);
  font-size: 27px;
  transform: translateY(-50%);
}

.ev-capability-strip li strong {
  margin-bottom: 6px;
  font-size: 14px;
}

.ev-capability-strip li small {
  color: var(--ev-muted);
  font-size: 11px;
}

.ev-build,
.ev-scenes,
.ev-reel,
.ev-delivery {
  padding: clamp(80px, 8.5vw, 132px) var(--gutter, 5vw);
}

.ev-section-heading {
  margin-bottom: clamp(48px, 6vw, 86px);
}

.ev-section-heading h2,
.ev-process h2,
.ev-boundaries h2,
.ev-final h2 {
  max-width: 1060px;
  margin-bottom: 0;
  font-size: clamp(42px, 5vw, 78px);
  font-weight: 900;
  letter-spacing: -0.058em;
  line-height: 1.09;
}

.ev-section-heading h2 span,
.ev-process h2 span,
.ev-boundaries h2 span,
.ev-final h2 span {
  display: block;
  color: var(--ev-orange);
}

.ev-heading-split {
  display: grid;
  align-items: end;
  gap: clamp(40px, 6vw, 100px);
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
}

.ev-heading-split > p {
  max-width: 500px;
  margin: 0 0 5px auto;
  color: var(--ev-muted);
  font-size: 14px;
  line-height: 1.95;
}

.ev-build {
  background: var(--ev-paper);
}

.ev-build-grid {
  display: grid;
  border-top: 1px solid var(--ev-line);
  border-left: 1px solid var(--ev-line);
  grid-template-columns: minmax(380px, 1.25fr) minmax(320px, 0.75fr);
}

.ev-build-grid > article {
  position: relative;
  min-height: 260px;
  padding: clamp(34px, 4vw, 58px);
  border-right: 1px solid var(--ev-line);
  border-bottom: 1px solid var(--ev-line);
  background: var(--ev-white);
}

.ev-build-grid > article:not(.ev-build-lead) {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 26px;
}

.ev-build-grid > article:not(.ev-build-lead) > span {
  grid-column: 1 / -1;
  margin-bottom: 34px;
  color: var(--ev-orange);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.15em;
}

.ev-build-grid > article:not(.ev-build-lead) > i {
  color: var(--ev-orange);
  font-size: 34px;
  grid-row: 2 / 4;
}

.ev-build-grid > article h3 {
  margin-bottom: 13px;
  font-size: clamp(24px, 2.2vw, 34px);
  font-weight: 850;
  letter-spacing: -0.035em;
  line-height: 1.2;
}

.ev-build-grid > article p {
  margin-bottom: 0;
  color: var(--ev-muted);
  font-size: 13px;
  line-height: 1.85;
}

.ev-build-lead {
  min-height: 780px !important;
  background: var(--ev-night) !important;
  color: var(--ev-white);
  grid-row: span 3;
}

.ev-build-number {
  position: absolute;
  top: 28px;
  right: 34px;
  color: rgb(255 255 255 / 12%);
  font-size: clamp(82px, 11vw, 164px);
  font-weight: 900;
  letter-spacing: -0.08em;
  line-height: 1;
}

.ev-build-lead > i {
  display: grid;
  width: 76px;
  height: 76px;
  margin: clamp(120px, 15vw, 225px) 0 50px;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 50%;
  color: var(--ev-yellow);
  font-size: 34px;
  place-items: center;
}

.ev-build-lead h3 {
  max-width: 630px;
  margin-bottom: 24px !important;
  font-size: clamp(42px, 5.2vw, 76px) !important;
  line-height: 1.06 !important;
}

.ev-build-lead > p {
  max-width: 620px;
  color: var(--ev-dark-muted) !important;
  font-size: 15px !important;
}

.ev-build-lead dl {
  display: grid;
  margin: 54px 0 0;
  border-top: 1px solid var(--ev-dark-line);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ev-build-lead dl > div {
  padding: 24px 18px 0 0;
}

.ev-build-lead dl > div + div {
  padding-left: 24px;
  border-left: 1px solid var(--ev-dark-line);
}

.ev-build-lead dt {
  margin-bottom: 7px;
  color: var(--ev-orange);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.ev-build-lead dd {
  color: var(--ev-dark-muted);
  font-size: 12px;
}

.ev-routes {
  padding: clamp(80px, 8.5vw, 132px) var(--gutter, 5vw);
  background: var(--ev-night);
  color: var(--ev-white);
}

.ev-routes .ev-section-heading h2 {
  max-width: 1000px;
}

.ev-route-list {
  border-top: 1px solid var(--ev-dark-line);
}

.ev-route-list article {
  position: relative;
  display: grid;
  min-height: 245px;
  align-items: center;
  padding: clamp(34px, 4vw, 56px) 0;
  border-bottom: 1px solid var(--ev-dark-line);
  gap: clamp(26px, 4vw, 64px);
  grid-template-columns: 62px minmax(280px, 1.05fr) minmax(280px, 0.85fr) minmax(150px, 0.35fr);
}

.ev-route-list article.is-featured::before {
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: calc(var(--gutter, 5vw) * -1);
  width: 6px;
  background: var(--ev-orange);
  content: "";
}

.ev-route-index {
  color: rgb(255 255 255 / 20%);
  font-size: 54px;
  font-weight: 900;
}

.ev-route-list article > div > p:first-child {
  margin-bottom: 12px;
  color: var(--ev-orange);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.17em;
}

.ev-route-list h3 {
  margin-bottom: 16px;
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 850;
  letter-spacing: -0.04em;
}

.ev-route-list article > div > p:last-child {
  max-width: 600px;
  margin-bottom: 0;
  color: var(--ev-dark-muted);
  font-size: 13px;
  line-height: 1.85;
}

.ev-route-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ev-route-list li {
  position: relative;
  padding: 8px 0 8px 20px;
  color: #c8cbd0;
  font-size: 12px;
}

.ev-route-list li::before {
  position: absolute;
  top: 15px;
  left: 0;
  width: 7px;
  height: 7px;
  background: var(--ev-yellow);
  content: "";
}

.ev-route-list article > strong {
  padding: 11px 13px;
  border: 1px solid var(--ev-dark-line);
  color: #9da2a8;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.55;
  text-align: center;
}

.ev-route-list article.is-featured > strong {
  border-color: var(--ev-orange);
  background: var(--ev-orange);
  color: var(--ev-white);
}

.ev-scenes {
  background: var(--ev-yellow);
}

.ev-scenes .ev-section-heading > div > p:first-child {
  color: var(--ev-ink);
}

.ev-scenes .ev-section-heading h2 span {
  color: var(--ev-white);
  text-shadow: 0 1px 0 rgb(0 0 0 / 8%);
}

.ev-scenes .ev-heading-split > p {
  color: rgb(17 21 26 / 72%);
}

.ev-scene-grid {
  display: grid;
  border-top: 1px solid rgb(17 21 26 / 30%);
  border-left: 1px solid rgb(17 21 26 / 30%);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ev-scene-grid article {
  position: relative;
  min-height: 330px;
  padding: clamp(28px, 3vw, 44px);
  border-right: 1px solid rgb(17 21 26 / 30%);
  border-bottom: 1px solid rgb(17 21 26 / 30%);
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.ev-scene-grid article:hover {
  z-index: 1;
  background: var(--ev-night);
  color: var(--ev-white);
  transform: translateY(-8px);
}

.ev-scene-grid article > span {
  display: block;
  margin-bottom: 56px;
  color: rgb(17 21 26 / 42%);
  font-size: 10px;
  font-weight: 800;
}

.ev-scene-grid article:hover > span {
  color: var(--ev-orange);
}

.ev-scene-grid article i {
  display: block;
  margin-bottom: 32px;
  font-size: 40px;
}

.ev-scene-grid article h3 {
  margin-bottom: 14px;
  font-size: 23px;
  font-weight: 850;
  letter-spacing: -0.03em;
}

.ev-scene-grid article p {
  margin-bottom: 0;
  color: rgb(17 21 26 / 68%);
  font-size: 12px;
  line-height: 1.75;
}

.ev-scene-grid article:hover p {
  color: var(--ev-dark-muted);
}

.ev-process {
  display: grid;
  padding: clamp(80px, 8.5vw, 132px) var(--gutter, 5vw);
  background: var(--ev-night-soft);
  color: var(--ev-white);
  gap: clamp(60px, 8vw, 130px);
  grid-template-columns: minmax(320px, 0.8fr) minmax(500px, 1.2fr);
}

.ev-process-intro {
  align-self: start;
}

.ev-process-intro h2 {
  max-width: 660px;
}

.ev-process-intro > p:nth-of-type(2) {
  max-width: 520px;
  margin: 30px 0 0;
  color: var(--ev-dark-muted);
  font-size: 14px;
  line-height: 1.9;
}

.ev-process-intro a {
  margin-top: 32px;
  border: 1px solid var(--ev-orange);
  color: var(--ev-orange);
}

.ev-process-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--ev-dark-line);
  list-style: none;
}

.ev-process-list li {
  display: grid;
  min-height: 142px;
  align-items: center;
  padding: 26px 0;
  border-bottom: 1px solid var(--ev-dark-line);
  gap: 34px;
  grid-template-columns: 62px 1fr;
}

.ev-process-list li > span {
  display: grid;
  width: 48px;
  height: 48px;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 50%;
  color: var(--ev-orange);
  font-size: 11px;
  font-weight: 850;
  place-items: center;
}

.ev-process-list h3 {
  margin-bottom: 8px;
  font-size: 22px;
  font-weight: 800;
}

.ev-process-list p {
  max-width: 660px;
  margin-bottom: 0;
  color: var(--ev-dark-muted);
  font-size: 12px;
  line-height: 1.8;
}

.ev-reel {
  background: var(--ev-paper);
}

.ev-reel-placeholder {
  display: grid;
  align-items: start;
  padding: clamp(30px, 4vw, 54px);
  border: 1px solid var(--ev-line);
  background: var(--ev-white);
  gap: 22px;
  grid-template-columns: auto minmax(0, 1fr) minmax(240px, 0.55fr);
}

.ev-reel-placeholder > i {
  color: var(--ev-orange);
  font-size: 36px;
}

.ev-reel-placeholder strong {
  font-size: 22px;
}

.ev-reel-placeholder p,
.ev-reel-placeholder ul {
  color: var(--ev-muted);
  font-size: 11px;
  line-height: 1.85;
}

.ev-reel-placeholder p {
  margin: 10px 0 0;
}

.ev-reel-placeholder ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ev-reel-placeholder li::before {
  margin-right: 8px;
  color: var(--ev-orange);
  content: "—";
}

.ev-reel-grid {
  display: grid;
  gap: clamp(30px, 3.5vw, 54px) clamp(16px, 2vw, 28px);
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.ev-reel-card {
  min-width: 0;
  grid-column: span 4;
}

.ev-reel-card-wide {
  grid-column: span 8;
}

.ev-reel-card > button {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  border: 0;
  background: var(--ev-night);
  color: var(--ev-white);
  cursor: pointer;
  aspect-ratio: 16 / 9;
}

.ev-reel-card > button::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgb(9 11 15 / 58%), transparent 45%);
  content: "";
  pointer-events: none;
}

.ev-reel-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 300ms ease, transform 650ms ease;
}

.ev-reel-card button:hover img,
.ev-reel-card button:focus-visible img {
  filter: saturate(1.12) contrast(1.05);
  transform: scale(1.045);
}

.ev-reel-play {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  width: 66px;
  height: 66px;
  border: 1px solid rgb(255 255 255 / 68%);
  border-radius: 50%;
  background: rgb(9 11 15 / 64%);
  color: var(--ev-white);
  font-size: 22px;
  place-items: center;
  transform: translate(-50%, -50%);
  transition: background 180ms ease, transform 180ms ease;
}

.ev-reel-play i {
  transform: translateX(2px);
}

.ev-reel-card button:hover .ev-reel-play,
.ev-reel-card button:focus-visible .ev-reel-play {
  background: var(--ev-orange);
  transform: translate(-50%, -50%) scale(1.08);
}

.ev-reel-number {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 14px;
  color: var(--ev-white);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.ev-reel-card > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-top: 18px;
  gap: 18px;
}

.ev-reel-card h3 {
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 800;
}

.ev-reel-card > div p {
  margin-bottom: 0;
  color: var(--ev-muted);
  font-size: 10px;
  text-align: right;
}

.ev-reel-more {
  display: flex;
  justify-content: center;
  margin-top: clamp(48px, 5vw, 72px);
}

.ev-reel-more button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  padding: 12px 20px;
  border: 1px solid var(--ev-ink);
  background: transparent;
  color: var(--ev-ink);
  cursor: pointer;
  gap: 10px;
  font-size: 12px;
  font-weight: 800;
}

.ev-reel-more button:hover,
.ev-reel-more button:focus-visible {
  background: var(--ev-ink);
  color: var(--ev-white);
}

.ev-delivery {
  background: var(--ev-white);
}

.ev-delivery-grid {
  display: grid;
  border: 1px solid var(--ev-line);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ev-delivery-grid article {
  padding: clamp(34px, 4vw, 58px);
}

.ev-delivery-grid article + article {
  border-left: 1px solid var(--ev-line);
  background: var(--ev-night);
  color: var(--ev-white);
}

.ev-delivery-grid article > p {
  margin-bottom: 34px;
  color: var(--ev-orange);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.16em;
}

.ev-delivery-grid ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ev-delivery-grid li {
  display: grid;
  min-height: 94px;
  align-items: start;
  padding: 20px 0;
  border-top: 1px solid var(--ev-line);
  gap: 18px;
  grid-template-columns: 30px 1fr;
}

.ev-delivery-grid article + article li {
  border-color: var(--ev-dark-line);
}

.ev-delivery-grid li i {
  display: grid;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--ev-orange);
  color: var(--ev-white);
  font-size: 14px;
  place-items: center;
}

.ev-delivery-grid li span {
  display: grid;
  gap: 6px;
}

.ev-delivery-grid li strong {
  font-size: 14px;
}

.ev-delivery-grid li small {
  color: var(--ev-muted);
  font-size: 11px;
  line-height: 1.65;
}

.ev-delivery-grid article + article li small {
  color: var(--ev-dark-muted);
}

.ev-boundaries {
  display: grid;
  padding: clamp(80px, 8.5vw, 132px) var(--gutter, 5vw);
  background: var(--ev-paper);
  gap: clamp(44px, 6vw, 92px);
  grid-template-columns: minmax(150px, 0.3fr) minmax(360px, 0.8fr) minmax(440px, 0.9fr);
}

.ev-boundaries-mark {
  align-self: start;
  padding-top: 5px;
  color: var(--ev-orange);
  font-size: clamp(46px, 6vw, 88px);
  font-weight: 900;
  letter-spacing: -0.075em;
  line-height: 0.82;
}

.ev-boundaries > div:nth-child(2) > p:last-child {
  max-width: 620px;
  margin: 26px 0 0;
  color: var(--ev-muted);
  font-size: 13px;
  line-height: 1.85;
}

.ev-boundaries ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--ev-line);
  list-style: none;
}

.ev-boundaries li {
  display: grid;
  padding: 22px 0;
  border-bottom: 1px solid var(--ev-line);
  gap: 20px;
  grid-template-columns: 36px 1fr;
}

.ev-boundaries li > span {
  color: var(--ev-orange);
  font-size: 10px;
  font-weight: 850;
}

.ev-boundaries li p {
  margin-bottom: 0;
  color: var(--ev-muted);
  font-size: 12px;
  line-height: 1.75;
}

.ev-boundaries li strong {
  display: block;
  margin-bottom: 5px;
  color: var(--ev-ink);
  font-size: 14px;
}

.ev-final {
  position: relative;
  padding: clamp(90px, 10vw, 158px) var(--gutter, 5vw);
  overflow: hidden;
  background: var(--ev-orange);
  color: var(--ev-white);
}

.ev-final::after {
  position: absolute;
  top: -35%;
  right: -4%;
  width: 520px;
  height: 520px;
  border: 80px solid rgb(255 255 255 / 9%);
  border-radius: 50%;
  content: "";
}

.ev-final > p:first-child {
  color: var(--ev-white);
}

.ev-final h2 {
  position: relative;
  z-index: 1;
  max-width: 1160px;
}

.ev-final h2 span {
  color: var(--ev-night);
}

.ev-final > p:nth-of-type(2) {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 32px 0 0;
  color: rgb(255 255 255 / 84%);
  font-size: 14px;
  line-height: 1.9;
}

.ev-final > div {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  margin-top: 38px;
  gap: 12px;
}

.ev-final a {
  background: var(--ev-night);
  color: var(--ev-white);
}

.ev-final a + a {
  border: 1px solid rgb(255 255 255 / 58%);
  background: transparent;
}

.ev-dialog {
  width: min(1180px, calc(100vw - 40px));
  max-width: none;
  max-height: calc(100vh - 40px);
  padding: 0;
  overflow: auto;
  border: 0;
  background: transparent;
  color: var(--ev-white);
}

.ev-dialog::backdrop {
  background: rgb(4 5 7 / 88%);
  backdrop-filter: blur(10px);
}

.ev-dialog-shell {
  position: relative;
  display: grid;
  overflow: hidden;
  background: var(--ev-night);
  grid-template-columns: minmax(0, 1.65fr) minmax(310px, 0.65fr);
}

.ev-dialog figure {
  min-width: 0;
  margin-bottom: 0;
  background: #000;
}

.ev-dialog video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: contain;
}

.ev-dialog-copy {
  display: flex;
  justify-content: center;
  padding: clamp(42px, 5vw, 72px) clamp(30px, 4vw, 56px);
  flex-direction: column;
}

.ev-dialog-copy h2 {
  margin-bottom: 16px;
  font-size: clamp(30px, 3vw, 46px);
  font-weight: 850;
  letter-spacing: -0.045em;
  line-height: 1.12;
}

.ev-dialog-copy > strong {
  margin-bottom: 20px;
  color: var(--ev-yellow);
  font-size: 11px;
}

.ev-dialog-copy > span {
  color: var(--ev-dark-muted);
  font-size: 13px;
  line-height: 1.8;
}

.ev-dialog-note {
  margin: 24px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--ev-dark-line);
  color: #838991;
  font-size: 10px;
  line-height: 1.7;
}

.ev-dialog-copy a {
  align-self: flex-start;
  margin-top: 30px;
  background: var(--ev-orange);
  color: var(--ev-white);
}

.ev-dialog-close {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 14px;
  display: grid;
  width: 44px;
  height: 44px;
  border: 1px solid rgb(255 255 255 / 34%);
  border-radius: 50%;
  background: rgb(9 11 15 / 78%);
  color: var(--ev-white);
  cursor: pointer;
  font-size: 20px;
  place-items: center;
}

@media (max-width: 1180px) {
  .ev-hero-copy {
    width: min(780px, 72vw);
  }

  .ev-hero-status {
    width: min(470px, 44vw);
  }

  .ev-route-list article {
    grid-template-columns: 54px minmax(260px, 1fr) minmax(240px, 0.8fr);
  }

  .ev-route-list article > strong {
    justify-self: start;
    grid-column: 2 / -1;
  }

  .ev-boundaries {
    grid-template-columns: minmax(120px, 0.25fr) minmax(320px, 0.75fr) minmax(380px, 1fr);
  }
}

@media (max-width: 960px) {
  .ev-hero {
    min-height: 900px;
  }

  .ev-hero-copy {
    width: 100%;
    justify-content: flex-start;
    padding-top: 96px;
    padding-bottom: 250px;
  }

  .ev-hero-video {
    object-position: 64% center;
  }

  .ev-hero-shade {
    background:
      linear-gradient(90deg, rgb(7 9 13 / 94%) 0%, rgb(7 9 13 / 72%) 64%, rgb(7 9 13 / 35%) 100%),
      linear-gradient(0deg, rgb(7 9 13 / 90%) 0%, transparent 58%);
  }

  .ev-hero-status {
    right: var(--gutter, 5vw);
    bottom: 35px;
    left: var(--gutter, 5vw);
    width: auto;
  }

  .ev-hero-scroll {
    display: none;
  }

  .ev-capability-strip,
  .ev-scene-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ev-capability-strip li:nth-child(3),
  .ev-capability-strip li:nth-child(4) {
    border-top: 1px solid var(--ev-line);
  }

  .ev-capability-strip li:nth-child(3) {
    border-left: 0;
  }

  .ev-heading-split,
  .ev-process,
  .ev-boundaries {
    grid-template-columns: 1fr;
  }

  .ev-heading-split {
    align-items: start;
  }

  .ev-heading-split > p {
    max-width: 650px;
    margin-left: 0;
  }

  .ev-build-grid {
    grid-template-columns: 1fr;
  }

  .ev-build-lead {
    min-height: 680px !important;
    grid-row: auto;
  }

  .ev-build-lead > i {
    margin-top: 110px;
  }

  .ev-route-list article {
    align-items: start;
    grid-template-columns: 54px 1fr;
  }

  .ev-route-list article > ul,
  .ev-route-list article > strong {
    grid-column: 2;
  }

  .ev-scene-grid article:nth-child(3) {
    border-left: 0;
  }

  .ev-process {
    gap: 56px;
  }

  .ev-reel-card,
  .ev-reel-card-wide {
    grid-column: span 6;
  }

  .ev-delivery-grid {
    grid-template-columns: 1fr;
  }

  .ev-delivery-grid article + article {
    border-top: 1px solid var(--ev-line);
    border-left: 0;
  }

  .ev-boundaries-mark {
    line-height: 0.92;
  }

  .ev-dialog-shell {
    grid-template-columns: 1fr;
  }

  .ev-dialog video {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .ev-dialog-copy {
    padding-top: 32px;
  }
}

@media (max-width: 640px) {
  .ev-hero {
    min-height: 830px;
  }

  .ev-hero-video {
    object-position: 63% center;
  }

  .ev-hero-grid {
    background-size: 50% 25%;
  }

  .ev-hero-copy {
    padding: 68px 22px 250px;
  }

  .ev-hero h1 {
    font-size: clamp(50px, 15.6vw, 68px);
  }

  .ev-hero-intro {
    margin-top: 26px;
    font-size: 14px;
    line-height: 1.8;
  }

  .ev-hero-actions {
    align-items: stretch;
    margin-top: 28px;
    flex-direction: column;
  }

  .ev-button {
    width: 100%;
  }

  .ev-hero-boundary {
    font-size: 10px;
  }

  .ev-hero-status {
    right: 18px;
    bottom: 22px;
    left: 18px;
  }

  .ev-hero-status > p {
    min-height: 52px;
  }

  .ev-hero-status > p strong {
    font-size: 11px;
  }

  .ev-hero-status li {
    min-height: 88px;
    padding: 12px;
  }

  .ev-hero-status li i {
    font-size: 20px;
  }

  .ev-hero-status li span {
    font-size: 10px;
  }

  .ev-capability-strip,
  .ev-scene-grid,
  .ev-reel-grid {
    grid-template-columns: 1fr;
  }

  .ev-capability-strip {
    padding: 0 22px;
  }

  .ev-capability-strip li {
    min-height: 104px;
    border-left: 0 !important;
  }

  .ev-capability-strip li + li {
    border-top: 1px solid var(--ev-line);
  }

  .ev-build,
  .ev-scenes,
  .ev-reel,
  .ev-delivery,
  .ev-routes,
  .ev-process,
  .ev-boundaries,
  .ev-final {
    padding-right: 22px;
    padding-left: 22px;
  }

  .ev-section-heading {
    margin-bottom: 44px;
  }

  .ev-section-heading h2,
  .ev-process h2,
  .ev-boundaries h2,
  .ev-final h2 {
    font-size: clamp(36px, 11.5vw, 51px);
  }

  .ev-heading-split {
    gap: 26px;
  }

  .ev-build-grid {
    border-left: 0;
  }

  .ev-build-grid > article {
    min-height: 250px;
    padding: 30px 24px;
    border-left: 1px solid var(--ev-line);
  }

  .ev-build-grid > article:not(.ev-build-lead) {
    grid-template-columns: 1fr;
  }

  .ev-build-grid > article:not(.ev-build-lead) > i {
    margin-bottom: 26px;
    grid-row: auto;
  }

  .ev-build-lead {
    min-height: 610px !important;
  }

  .ev-build-lead > i {
    margin: 95px 0 38px;
  }

  .ev-build-lead h3 {
    font-size: 42px !important;
  }

  .ev-build-lead dl {
    grid-template-columns: 1fr;
  }

  .ev-build-lead dl > div + div {
    padding-left: 0;
    border-left: 0;
  }

  .ev-route-list article {
    min-height: 0;
    gap: 24px 18px;
    grid-template-columns: 38px 1fr;
  }

  .ev-route-index {
    font-size: 40px;
  }

  .ev-route-list article > ul,
  .ev-route-list article > strong {
    grid-column: 1 / -1;
  }

  .ev-route-list article.is-featured::before {
    left: -22px;
  }

  .ev-scene-grid {
    border-left: 1px solid rgb(17 21 26 / 30%);
  }

  .ev-scene-grid article {
    min-height: 280px;
  }

  .ev-process-list li {
    align-items: start;
    gap: 18px;
    grid-template-columns: 48px 1fr;
  }

  .ev-process-list li > span {
    width: 42px;
    height: 42px;
  }

  .ev-reel-card,
  .ev-reel-card-wide {
    grid-column: 1;
  }

  .ev-reel-card > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .ev-reel-card > div p {
    text-align: left;
  }

  .ev-reel-play {
    width: 56px;
    height: 56px;
  }

  .ev-delivery-grid article {
    padding: 32px 24px;
  }

  .ev-boundaries-mark {
    font-size: 56px;
  }

  .ev-final::after {
    right: -65%;
  }

  .ev-final > div {
    align-items: stretch;
    flex-direction: column;
  }

  .ev-final a {
    width: 100%;
  }

  .ev-dialog {
    width: calc(100vw - 18px);
    max-height: calc(100vh - 18px);
  }

  .ev-dialog-copy {
    padding: 30px 24px;
  }

  .ev-dialog-close {
    top: 10px;
    right: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ev-hero-video {
    display: none;
  }

  .ev-button,
  .ev-reel-card img,
  .ev-reel-play,
  .ev-scene-grid article {
    transition: none;
  }
}
