body[data-power="22"] {
  --hp-accent: var(--revtol-blue);
  --hp-bg: var(--revtol-ink);
  --hp-panel: #080c12;
  background: var(--revtol-ink);
}

body[data-power="22"] .hp-head { mix-blend-mode: normal; }

.hp-brand img { display: block; width: 100%; height: auto; }
.hp-footer img { width: 88px; height: auto; }

body[data-power="22"] a:focus-visible {
  outline: 2px solid var(--hp-accent);
  outline-offset: 5px;
}

.h22-hero__poster,
.h22-hero__video {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 58% center;
  filter: saturate(.82) contrast(1.08);
}

.h22-hero__poster { opacity: 1; }

.h22-hero__video {
  opacity: 0;
  transition: opacity 140ms linear;
}

.revtol-root .h22-hero__poster { transform: scale(1.02); }

.h22-hero[data-hero-media="video"] .h22-hero__video,
.h22-hero[data-hero-media="ended"] .h22-hero__video { opacity: 1; }

.h22-hero::after {
  background:
    linear-gradient(90deg, rgb(3 5 4 / .97) 0 25%, rgb(3 5 4 / .62) 52%, transparent 82%),
    linear-gradient(0deg, rgb(3 5 4 / .94), transparent 64%);
}

.h22-hero .hc-hero__copy { padding-bottom: max(34px, 5.2vh); }

.h22-hero .h22-eyebrow {
  margin: 0;
  color: var(--hp-accent);
  font: 500 10px/1.2 "DM Mono", monospace;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.h22-hero h1 {
  max-width: none;
  margin: 14px 0 20px;
  font-size: clamp(60px, 9.4vw, 150px);
  line-height: .78;
}

.h22-hero h1 span { display: block; }

.h22-hero .h22-lede {
  max-width: 620px;
  margin: 0 0 20px;
  color: rgb(255 255 255 / .8);
  font: 500 clamp(15px, 1.25vw, 19px)/1.55 Manrope, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  text-wrap: pretty;
}

.h22-hero__cta { margin-bottom: 14px; }

.h22-hero .h22-trust {
  max-width: 760px;
  margin: 0;
  color: rgb(255 255 255 / .58);
  font: 500 10px/1.5 "DM Mono", monospace;
  letter-spacing: .035em;
  text-transform: none;
}

.h22-cut .hc-cut__frames figure:nth-child(2) img {
  object-fit: contain;
  object-position: 62% 44%;
  padding: 7vw;
  background: radial-gradient(circle at 64% 48%, #121a26, #020407 58%);
}

.rv-film { background: #000; }

.rv-film__still {
  position: absolute;
  z-index: -4;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  filter: contrast(1.06) saturate(.9);
}

.rv-film video {
  z-index: -3;
}

.rv-film[data-seamless-film] video {
  opacity: 0;
  transition: opacity 140ms linear;
}

.rv-film[data-seamless-film][data-playback="playing"] video,
.rv-film[data-seamless-film][data-playback="ended"] video { opacity: 1; }

.revtol-root .h22-hero__poster,
.revtol-root .h22-hero__video,
.revtol-root .rv-film__still,
.revtol-root .rv-film video {
  object-fit: cover;
  object-position: center;
}

.revtol-root .h22-hero::after {
  background:
    linear-gradient(90deg, rgb(3 5 4 / .6) 0 14%, rgb(3 5 4 / .32) 38%, rgb(3 5 4 / .08) 65%, transparent 80%),
    linear-gradient(0deg, rgb(3 5 4 / .68), rgb(3 5 4 / .18) 42%, transparent 65%);
}

.revtol-root .root-proof {
  position: relative;
  z-index: 5;
  min-height: 52dvh;
  margin-top: -36dvh;
  display: grid;
  align-items: center;
  padding: clamp(48px, 7vh, 78px) 0;
  border-block: 1px solid rgb(255 255 255 / .14);
  background:
    radial-gradient(circle at 63% 32%, rgb(17 104 255 / .12), transparent 28%),
    linear-gradient(112deg, #070a10, #0a101a 56%, #080b11);
  box-shadow: 0 -30px 80px rgb(0 0 0 / .38);
}

.root-proof__inner {
  width: min(1240px, calc(100vw - 96px));
  display: grid;
  grid-template-columns: minmax(230px, .78fr) minmax(390px, 1.42fr) minmax(210px, .72fr);
  align-items: stretch;
  gap: clamp(28px, 4vw, 70px);
}

.root-proof__head {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}

.root-proof__head p,
.root-proof__primary > p:first-child,
.root-proof__qualifier {
  margin: 0;
  color: var(--hp-accent);
  font: 500 9px/1.45 "DM Mono", monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.root-proof__head h2 {
  margin: 15px 0 0;
  color: #f4f6f1;
  font: 500 clamp(40px, 4vw, 56px)/.82 "Space Grotesk", sans-serif;
  letter-spacing: -.055em;
  text-transform: uppercase;
}

.root-proof__head h2 span { display: block; white-space: nowrap; }

.root-proof__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  margin-top: auto;
  padding-top: 34px;
}

.root-proof__actions .hp-button {
  min-height: 46px;
  padding-inline: 18px;
  white-space: nowrap;
}

.root-proof__link {
  position: relative;
  padding: 10px 18px 10px 0;
  color: rgb(255 255 255 / .76);
  font: 500 9px/1 "DM Mono", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .2s ease, transform .2s ease;
}

.root-proof__link::after {
  content: "\2192";
  position: absolute;
  right: 0;
  transition: transform .2s ease;
}

.root-proof__link:hover,
.root-proof__link:focus-visible { color: #f4f6f1; transform: translateY(-2px); }
.root-proof__link:hover::after,
.root-proof__link:focus-visible::after { transform: translateX(4px); }

.root-proof__primary {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  padding: 2px 0 0 clamp(26px, 3.3vw, 52px);
  border-left: 1px solid rgb(255 255 255 / .15);
}

.root-proof__value {
  display: flex;
  align-items: baseline;
  gap: clamp(8px, 1.2vw, 18px);
  margin: auto 0;
  color: #f4f6f1;
  white-space: nowrap;
}

.root-proof__value span,
.root-proof__value b {
  font: 500 clamp(12px, 1vw, 15px)/1 "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.root-proof__value strong {
  font: 500 clamp(94px, 11vw, 176px)/.7 "Space Grotesk", sans-serif;
  letter-spacing: -.09em;
}

.root-proof__value b { color: rgb(255 255 255 / .66); }

.root-proof__supports {
  display: grid;
  min-width: 0;
  margin: 0;
  border-left: 1px solid rgb(255 255 255 / .15);
}

.root-proof__supports > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding-left: clamp(24px, 2.8vw, 44px);
}

.root-proof__supports > div + div { border-top: 1px solid rgb(255 255 255 / .12); }

.root-proof__supports dt {
  color: #f4f6f1;
  font: 500 clamp(44px, 4.6vw, 74px)/.78 "Space Grotesk", sans-serif;
  letter-spacing: -.07em;
}

.root-proof__supports dd {
  max-width: 22ch;
  margin: 10px 0 0;
  color: rgb(255 255 255 / .58);
  font: 500 9px/1.5 "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.root-proof__qualifier {
  max-width: 55ch;
  margin-top: 20px;
  color: rgb(255 255 255 / .42);
  font-size: 8px;
  line-height: 1.55;
  letter-spacing: .04em;
  text-transform: none;
}

.rv-film__status {
  position: absolute;
  z-index: 2;
  right: 38px;
  bottom: 30px;
  margin: 0;
  color: rgb(255 255 255 / .6);
  font: 500 9px/1.3 "DM Mono", monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.h22-cut .hc-cut__copy ol {
  gap: clamp(14px, 2.2vw, 38px);
}

.h22-cut .hc-cut__copy li {
  display: grid;
  align-content: start;
  gap: 10px;
  color: rgb(255 255 255 / .28);
}

.h22-cut .hc-cut__copy li strong {
  font: 500 clamp(26px, 3.7vw, 58px)/.9 "Space Grotesk", sans-serif;
  letter-spacing: -.06em;
  text-transform: uppercase;
}

.h22-cut .hc-cut__copy li span {
  max-width: 25ch;
  color: rgb(255 255 255 / .22);
  font: 500 clamp(10px, .9vw, 13px)/1.45 Manrope, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  transition: color 180ms linear;
}

.h22-cut .hc-cut__copy li.is-active,
.h22-cut .hc-cut__copy li.is-active span { color: #f5f7f2; }

.h22-statement { min-height: 108dvh; }

.h22-statement p {
  max-width: 12ch;
  font-size: clamp(54px, 7.8vw, 126px);
}

.h22-return .hconv-play__copy h2 { max-width: 12ch; }

.h22-return .hconv-play__disclosure { max-width: 760px; }

.h22-models .hc-models__head {
  display: block;
  max-width: 1100px;
}

.h22-models .hc-models__head h2 {
  max-width: 12ch;
}

.h22-models__copy {
  max-width: 640px;
  margin: 24px 0 0;
  color: var(--hp-muted);
  font-size: clamp(15px, 1.25vw, 19px);
  line-height: 1.6;
}

.h22-models .hc-models__rail { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.h22-models .hc-models__rail a { min-height: 440px; }

.h22-models .hc-models__rail span small {
  display: block;
  margin-top: 14px;
  color: rgb(255 255 255 / .64);
  font: 500 9px/1.2 "DM Mono", monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.h22-models .hc-models__rail span { font-size: clamp(38px, 4.4vw, 72px); }

.h22-close .hc-close__copy { padding-bottom: max(42px, 7vh); }

.h22-close h2 {
  max-width: 12ch;
  margin-bottom: 22px;
  font-size: clamp(60px, 8.4vw, 136px);
}

.h22-close .hc-close__copy > .h22-close__body {
  max-width: 690px;
  margin: 0 0 26px;
  color: rgb(255 255 255 / .78);
  font-family: Manrope, sans-serif;
  font-weight: 500;
  font-size: clamp(15px, 1.25vw, 19px);
  line-height: 1.58;
  letter-spacing: 0;
  text-transform: none;
  text-wrap: pretty;
}

.h22-close .hc-close__copy > .h22-close__trust {
  max-width: 720px;
  margin: 16px 0 0;
  color: rgb(255 255 255 / .58);
  font: 500 10px/1.5 "DM Mono", monospace;
  letter-spacing: .035em;
  text-transform: none;
}

.rv-architecture {
  display: grid;
  align-items: end;
}

.rv-architecture > img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.62) contrast(1.1) saturate(.78);
}

.rv-architecture::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(0deg, rgb(3 6 10 / .88), transparent 58%);
}

.rv-architecture .hconv-powerfield-showcase__copy h2 { max-width: 11ch; }

@media (max-width: 900px) {
  .h22-hero__poster,
  .h22-hero__video { object-position: 68% center; }

  .revtol-root .h22-hero__poster,
  .revtol-root .h22-hero__video { object-position: center; }

  .h22-models .hc-models__rail { grid-template-columns: 1fr; }

  .root-proof__inner {
    grid-template-columns: minmax(210px, .78fr) minmax(0, 1.22fr);
  }

  .root-proof__supports {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid rgb(255 255 255 / .12);
    border-left: 0;
  }

  .root-proof__supports > div { padding: 24px 0 0; }
  .root-proof__supports > div + div { padding-left: 28px; border-top: 0; border-left: 1px solid rgb(255 255 255 / .12); }
}

@media (max-width: 600px) {
  .revtol-root .root-proof {
    min-height: auto;
    padding: 40px 0 34px;
  }

  .root-proof__inner { width: calc(100vw - 40px); grid-template-columns: 1fr; gap: 30px; }
  .root-proof__head h2 { margin-top: 10px; font-size: 12.2vw; }
  .root-proof__actions { margin-top: 26px; padding-top: 0; }
  .root-proof__actions .hp-button { min-height: 43px; padding-inline: 14px; font-size: 7.5px; }
  .root-proof__link { font-size: 7.5px; }
  .root-proof__primary { min-height: 200px; padding: 24px 0 0; border-top: 1px solid rgb(255 255 255 / .15); border-left: 0; }
  .root-proof__value { margin: 32px 0 24px; gap: 10px; }
  .root-proof__value strong { font-size: 31vw; }
  .root-proof__value span,
  .root-proof__value b { font-size: 9px; }
  .root-proof__supports { grid-column: auto; }
  .root-proof__supports > div { padding-top: 22px; }
  .root-proof__supports > div + div { padding-left: 20px; }
  .root-proof__supports dt { font-size: 16vw; }
  .root-proof__supports dd { margin-top: 7px; font-size: 7px; }
  .root-proof__qualifier { margin-top: 0; font-size: 6.5px; line-height: 1.5; }

  .h22-hero .hc-hero__copy { padding-bottom: max(24px, env(safe-area-inset-bottom)); }

  .h22-hero h1 {
    margin-bottom: 17px;
    font-size: 12.8vw;
    line-height: .82;
  }

  .h22-hero .h22-lede { margin-bottom: 16px; font-size: 14px; }
  .h22-hero__cta { min-height: 43px; margin-bottom: 11px; padding-inline: 15px; font-size: 8px; }
  .h22-hero .h22-trust { max-width: 44ch; font-size: 8px; line-height: 1.4; }

  .h22-cut .hc-cut__copy ol {
    gap: 14px 10px;
  }

  .h22-cut .hc-cut__copy li { gap: 5px; }
  .h22-cut .hc-cut__copy li strong { font-size: 7.4vw; }
  .h22-cut .hc-cut__copy li span { font-size: 9px; }

  .h22-statement p { font-size: 13.2vw; }
  .h22-models .hc-models__head h2 { font-size: 14.6vw; }
  .h22-models .hc-models__rail a { min-height: 54dvh; }

  .h22-close h2 { font-size: 13.8vw; }
  .h22-close .hc-close__copy > .h22-close__body { max-width: 44ch; font-size: 14px; }
  .h22-close .hc-close__copy > .h22-close__trust { max-width: 44ch; font-size: 8px; }
  .h22-return .hconv-play__disclosure { max-width: 290px; }
  .hp-footer img { width: 80px; }
}

@media (prefers-reduced-motion: reduce) {
  .revtol-root .root-proof { min-height: auto; margin-top: 0; }

  .h22-hero__video { display: none !important; }

  body[data-power="22"] .hconv-play video { display: none !important; }

  .h22-cut .hc-cut__copy li,
  .h22-cut .hc-cut__copy li span { color: #f5f7f2; }
}
