

:root {
  --ease-out: cubic-bezier(.2, .75, .2, 1);
  --ease-wipe: cubic-bezier(.65, 0, .25, 1);
}


.mbw-motion .w {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
  padding: 0.04em 0.02em 0.12em;
  margin: -0.04em -0.02em -0.12em;
}
.mbw-motion .wi {
  display: inline-block;
  translate: 0 110%;
  transition: translate 1000ms var(--ease-out);
  transition-delay: calc(var(--split-base, 0ms) + var(--wi, 0) * 70ms);
}
.mbw-motion .is-in .wi,
.mbw-motion .is-in.wi-host .wi { translate: 0 0; }



.mbw-motion .site-header { animation: mbw-drop 900ms var(--ease-out) 150ms both; }
@keyframes mbw-drop { from { translate: 0 -100%; opacity: 0; } to { translate: 0 0; opacity: 1; } }


.mbw-motion .hero { position: relative; isolation: isolate; overflow: hidden; background: var(--night); }
.mbw-motion .hero::before {
  content: "";
  position: absolute;
  inset: -20% 0;
  z-index: -1;
  background:
    linear-gradient(rgb(13 17 23 / 30%), rgb(13 17 23 / 46%)),
    url("assets/hero/bitcoin-mountain-sunset.webp") center 52% / cover no-repeat,
    var(--night);
  translate: 0 var(--py, 0px);
  scale: var(--pz, 1);
  will-change: translate, scale, transform;
  animation: mbw-hero-in 2400ms var(--ease-out) both;
  pointer-events: none;
}
@media (max-width: 55.99rem) {
  .mbw-motion .hero::before {
    background:
      linear-gradient(rgb(13 17 23 / 34%), rgb(13 17 23 / 50%)),
      url("assets/hero/bitcoin-mountain-sunset.webp") 62% 50% / cover no-repeat,
      var(--night);
  }
}
@keyframes mbw-hero-in {
  from { opacity: 0; transform: scale(1.14); filter: saturate(.6) brightness(.7); }
  45%  { opacity: 1; }
  to   { opacity: 1; transform: none; filter: none; }
}


.mbw-motion .hero__copy > * { animation: mbw-rise 1000ms var(--ease-out) both; }
.mbw-motion .hero__copy > :nth-child(1) { animation-delay: 300ms; }
.mbw-motion .hero__copy > h1           { animation: none; --split-base: 450ms; }
.mbw-motion .hero__copy > :nth-child(3) { animation-delay: 900ms; }
.mbw-motion .hero__copy > :nth-child(4) { animation-delay: 1020ms; }
.mbw-motion .hero__copy > :nth-child(5) { animation-delay: 1140ms; }
@keyframes mbw-rise {
  from { opacity: 0; translate: 0 22px; filter: blur(6px); }
  to   { opacity: 1; translate: 0 0;   filter: blur(0); }
}


.mbw-parallax .hero__grid { translate: 0 calc(var(--py, 0px) * -0.35); opacity: calc(1 - var(--hfade, 0)); }


.mbw-motion .site-header::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--amber);
  transform-origin: 0 50%;
  transform: scaleX(var(--progress, 0));
  opacity: var(--progress-on, 0);
  transition: opacity 240ms ease;
  pointer-events: none;
}


.mbw-motion .rv {
  opacity: 0;
  translate: 0 18px;
  transition:
    opacity 760ms var(--ease-out),
    translate 760ms var(--ease-out);
  transition-delay: var(--rv-delay, 0ms);
}
.mbw-motion .rv.is-in { opacity: 1; translate: 0 0; }


.mbw-motion .moment.rv h3::after {
  width: 0;
  transition: width 620ms var(--ease-out);
  transition-delay: calc(var(--rv-delay, 0ms) + 280ms);
}
.mbw-motion .moment.rv.is-in h3::after { width: 28px; }


.mbw-motion .step.rv { border-top-color: transparent; position: relative; }
.mbw-motion .step.rv::before {
  content: "";
  position: absolute; left: 0; right: 0; top: -2px; height: 2px;
  background: var(--ink);
  transform-origin: 0 50%;
  transform: scaleX(0);
  transition: transform 900ms var(--ease-out);
  transition-delay: var(--rv-delay, 0ms);
}
.mbw-motion .step.rv.is-in::before { transform: scaleX(1); }


.mbw-motion .manifesto__text.rv { translate: 0 0; transition: opacity 400ms ease; }
.mbw-motion .manifesto__text.rv > p {
  clip-path: inset(0 0 100% 0);
  transition: clip-path 1100ms var(--ease-wipe) 120ms;
}
.mbw-motion .manifesto__text.rv.is-in > p { clip-path: inset(0 0 -0.2em 0); }


.mbw-motion .download__head.rv { translate: 0 0; opacity: 1; }
.mbw-motion .download__head.rv h2 { --split-base: 120ms; }
.mbw-motion .download__head.rv .download__title-btc {
  display: inline-block;
  opacity: 0; scale: .5; rotate: -24deg;
  transition: opacity 600ms ease, scale 900ms var(--ease-out), rotate 900ms var(--ease-out);
}
.mbw-motion .download__head.rv.is-in .download__title-btc { opacity: 1; scale: 1; rotate: 0deg; }
.mbw-motion .download__head.rv > p {
  opacity: 0; translate: 0 14px;
  transition: opacity 700ms var(--ease-out) 420ms, translate 700ms var(--ease-out) 420ms;
}
.mbw-motion .download__head.rv.is-in > p { opacity: 1; translate: 0 0; }


.mbw-motion .platforms.rv { opacity: 1; translate: 0 0; }
.mbw-motion .platforms.rv .platform { --cd: calc(var(--i, 0) * 130ms); }
.mbw-motion .platforms.rv .platform::after {
  content: "";
  position: absolute; inset: 0; z-index: 2;
  background: var(--night);
  transform-origin: 50% 0;
  transition: transform 1000ms var(--ease-wipe) var(--cd);
  pointer-events: none;
}
.mbw-motion .platforms.rv.is-in .platform::after { transform: scaleY(0); }
.mbw-motion .platforms.rv .platform > * {
  opacity: 0; translate: 0 26px;
  transition: opacity 800ms var(--ease-out), translate 900ms var(--ease-out);
  transition-delay: calc(var(--cd) + 380ms);
}
.mbw-motion .platforms.rv .platform > .platform__actions { transition-delay: calc(var(--cd) + 500ms); }
.mbw-motion .platforms.rv.is-in .platform > * { opacity: 1; translate: 0 0; }
.mbw-motion .platforms.rv .os-ico {
  scale: .7; transition: scale 900ms var(--ease-out);
  transition-delay: calc(var(--cd) + 420ms);
}
.mbw-motion .platforms.rv.is-in .os-ico { scale: 1; }


.mbw-motion .footer__hero.rv { opacity: 1; translate: 0 0; position: relative; border-bottom-color: transparent; }
.mbw-motion .footer__hero.rv::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
  background: var(--night-line);
  transform-origin: 0 50%; transform: scaleX(0);
  transition: transform 1200ms var(--ease-out) 200ms;
}
.mbw-motion .footer__hero.rv.is-in::after { transform: scaleX(1); }
.mbw-motion .footer__hero.rv .brand--lg img {
  opacity: 0; scale: .6; rotate: -30deg;
  transition: opacity 600ms ease, scale 900ms var(--ease-out), rotate 900ms var(--ease-out);
}
.mbw-motion .footer__hero.rv.is-in .brand--lg img { opacity: 1; scale: 1; rotate: 0deg; }
.mbw-motion .footer__hero.rv .brand--lg b { --split-base: 160ms; }
.mbw-motion .footer__hero.rv > .btn {
  opacity: 0; translate: 0 16px;
  transition: opacity 700ms var(--ease-out) 520ms, translate 800ms var(--ease-out) 520ms, background-color 150ms ease;
}
.mbw-motion .footer__hero.rv.is-in > .btn { opacity: 1; translate: 0 0; }

.mbw-motion .footer__grid.rv { opacity: 1; translate: 0 0; }
.mbw-motion .footer__grid.rv h2,
.mbw-motion .footer__grid.rv li {
  opacity: 0; translate: 0 10px;
  transition: opacity 600ms var(--ease-out), translate 700ms var(--ease-out);
  transition-delay: var(--d, 0ms);
}
.mbw-motion .footer__grid.rv.is-in h2,
.mbw-motion .footer__grid.rv.is-in li { opacity: 1; translate: 0 0; }


.mbw-parallax .manifesto--amber,
.mbw-parallax .site-footer.band--night {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.mbw-parallax .manifesto--amber::before,
.mbw-parallax .site-footer.band--night::before {
  content: "";
  position: absolute;
  inset: -20% 0;
  z-index: -1;
  translate: 0 var(--py, 0px);
  scale: var(--pz, 1);
  will-change: translate, scale;
  pointer-events: none;
}


.mbw-parallax .manifesto--amber { background: var(--amber); }
.mbw-parallax .manifesto--amber::before {
  background:
    linear-gradient(to right, rgb(247 147 26 / 22%), rgb(247 147 26 / 30%) 55%, rgb(247 147 26 / 52%)),
    url("assets/backgrounds/manifesto-contour-lines.webp") center / cover no-repeat,
    var(--amber);
}


.mbw-parallax .download { overflow: hidden; }
.mbw-parallax .download::before {
  inset: -20% 0;
  translate: 0 var(--py, 0px);
  scale: var(--pz, 1);
  will-change: translate, scale;
}


.mbw-parallax .faq { overflow: hidden; background: var(--paper); }
.mbw-parallax .faq::before,
.mbw-parallax .faq::after {
  content: ""; position: absolute; left: 0; right: 0; pointer-events: none;
}
.mbw-parallax .faq::before {
  top: 0; bottom: -14%;
  z-index: -2;
  background: url("assets/backgrounds/faq-stipple-mountains.webp") center bottom / 100% auto no-repeat;
  translate: 0 var(--py, 0px);
  scale: var(--pz, 1);
  transform-origin: 50% 100%;
  will-change: translate, scale;
}
.mbw-parallax .faq::after {
  inset: 0;
  z-index: -1;
  background: linear-gradient(to bottom, var(--paper) 0%, var(--paper) 38%, rgb(247 244 238 / 96%) 55%, rgb(247 244 238 / 72%) 74%, rgb(247 244 238 / 0%) 100%);
}


.mbw-parallax .site-footer.band--night { background: var(--night); }
.mbw-parallax .site-footer.band--night::before {
  background:
    repeating-radial-gradient(circle at 88% 15%, transparent 0 28px, rgb(247 244 238 / 0.8%) 29px 30px),
    linear-gradient(rgb(13 17 23 / 82%), rgb(13 17 23 / 92%)),
    url("assets/backgrounds/night-canyon.webp") center / cover no-repeat,
    var(--night);
}
.mbw-parallax .site-footer > .wrap { position: relative; z-index: 1; }


.mbw-motion .feature { position: relative; isolation: isolate; overflow: hidden; background: var(--night); }
.mbw-motion .feature::before {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(rgb(13 17 23 / 48%), rgb(13 17 23 / 84%)),
    url("assets/backgrounds/news-release-topography.webp") center / cover no-repeat;
  transition: scale 1400ms var(--ease-out);
}
.mbw-motion .feature:hover::before,
.mbw-motion .feature:focus-visible::before { scale: 1.045; }


@media (prefers-reduced-motion: reduce) {
  .mbw-motion *, .mbw-motion *::before, .mbw-motion *::after { animation: none !important; transition: none !important; }
}
@media print {
  .mbw-motion .rv, .mbw-motion .rv *, .mbw-motion .wi { opacity: 1 !important; translate: none !important; clip-path: none !important; }
}
