/* Accepted R2 design, with brand refinements and Sean’s annotated R3 edits. */
.brand-refresh .brand {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.brand-refresh .brand img {
  display: block;
  width: 190px;
  height: auto;
}
.brand-refresh .return,
.brand-refresh .invitation,
.brand-refresh .resolve-copy {
  color: var(--wordmark-cream);
}
.brand-refresh .chapter-number {
  color: var(--body-slate);
}
.brand-refresh .landscapes figcaption span,
.brand-refresh .environment-note {
  color: var(--mist);
}
.brand-refresh .action {
  color: var(--button-cream);
}
.brand-refresh .action:hover {
  background: var(--deep-mountain);
  color: var(--button-cream);
}
.brand-refresh .hero-bottom .action,
.brand-refresh .invitation .action {
  background: var(--button-cream);
  color: var(--alpine-ink);
}
.brand-refresh .hero-bottom .action:hover,
.brand-refresh .invitation .action:hover {
  background: var(--wordmark-cream);
  color: var(--alpine-ink);
}
.brand-refresh :is(a, button, summary):focus-visible {
  outline-color: var(--alpine-ink);
}
.brand-refresh
  :is(header, .journey, .return, .invitation)
  :is(a, button, summary):focus-visible {
  outline-color: var(--peach-light);
}
@media (max-width: 760px) {
  .brand-refresh .brand img {
    width: 170px;
  }
}

/* Give the terrain two viewport heights of scrolling before leaving the stage. */
.brand-refresh .journey {
  height: 300svh;
}
.brand-refresh .hero-bottom {
  justify-content: flex-end;
}
.brand-refresh .resolve-phone {
  pointer-events: none;
}
.brand-refresh .snow {
  animation: none;
}
.brand-refresh .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.brand-refresh .store-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.brand-refresh .store-link[aria-disabled="true"] {
  cursor: default;
}
.brand-refresh .store-icon {
  margin-top: 16px;
  min-width: 48px;
  min-height: 48px;
}
.brand-refresh footer nav {
  margin-left: auto;
  display: flex;
  gap: 24px;
}
.brand-refresh footer nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 12px;
}
@media (max-width: 760px) {
  .brand-refresh .journey {
    height: 280svh;
  }
  .brand-refresh footer nav {
    margin-left: 0;
  }
}
.brand-refresh.no-webgl .journey {
  height: 100svh;
}
@media (prefers-reduced-motion: reduce) {
  .brand-refresh .journey {
    height: 100svh;
  }
}

/* Equal-size rows in the original display typography, tucked into the ridge. */
.brand-refresh .hero-title h1 {
  font-size: min(9.2vw, calc((45svh - 112px) / 1.92), 174px);
  letter-spacing: -.075em;
  line-height: .96;
}
.brand-refresh .hero-title h1 > span,
.brand-refresh .hero-title h1 > em {
  display: block;
  white-space: nowrap;
}
.brand-refresh .hero-title h1 > em {
  margin-left: 10vw;
  font-size: inherit;
  line-height: inherit;
}
@media (max-width: 760px) {
  .brand-refresh .hero-title h1 > em { margin-left: 2vw; }
}

/* One stable invitation; do not compete with each chapter's content. */
.brand-refresh header {
  position: fixed;
  height: 88px;
  padding: 0 max(20px, 4.5%);
  gap: 24px;
  background: var(--alpine-ink);
  border-bottom: 1px solid #fff5de26;
}
.brand-refresh header .compact-wordmark { display: none; }
.brand-refresh .store-discovery { display: grid; justify-items: center; flex: 0 0 auto; }
.brand-refresh .store-badge { padding: 10px; min-height: 60px; }
.brand-refresh .store-badge img { display: block; width: 120px; height: 40px; }
.brand-refresh #download { scroll-margin-top: 100px; }
.brand-refresh #attempt { scroll-margin-top: 104px; }
.brand-refresh .attempt-film .media-note {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--body-slate);
  text-align: center;
}
@media (min-width: 761px) {
  .brand-refresh .attempt-film { top: 112px; }
}
@media (max-width: 760px) {
  .brand-refresh .attempt-film { top: auto; }
}
/* Anchor the headline to the opening skyline, including short viewports.
   Keep the sun below the type so cream lettering stays on the dark sky. */
.brand-refresh .hero-title { top: auto; bottom: 55%; left: 5%; }
.brand-refresh .sun { top: 46%; }
@media (max-width: 374px) {
  .brand-refresh header { height: 96px; padding: 0 20px; gap: 0; }
  .brand-refresh header .wide-wordmark { display: none; }
  .brand-refresh header .compact-wordmark { display: block; width: 140px; }
  .brand-refresh .store-discovery { width: 140px; }
}
