@media (max-width: 700px) {
  html {
    height: -webkit-fill-available;
  }

  html,
  body,
  #root {
    min-height: 100%;
  }

  .deck {
    --phone-bottom-pad: max(32px, env(safe-area-inset-bottom));
    height: 100svh;
    min-height: 100svh;
    grid-template-rows: 84px minmax(0, 1fr) calc(72px + var(--phone-bottom-pad));
    overflow: hidden;
  }

  .deck.slide-8,
  .deck.slide-9,
  .deck.slide-10 {
    --phone-bottom-pad: max(52px, env(safe-area-inset-bottom));
  }

  @supports not (height: 100svh) {
    .deck {
      height: -webkit-fill-available;
      min-height: -webkit-fill-available;
    }
  }

  .stage {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: calc(var(--phone-bottom-pad) + 10px);
  }

  .cover-page {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
    height: auto;
    min-height: 100%;
    padding: 34px 26px 30px;
  }

  .cover-copy {
    max-width: 100%;
    width: 100%;
  }

  .cover-company {
    margin-bottom: 16px;
    font-size: 17px;
  }

  .cover-copy h1 {
    max-width: 100%;
    font-size: clamp(52px, 16vw, 64px);
    line-height: 0.98;
  }

  .cover-tagline {
    margin-top: 20px;
    font-size: 25px;
    line-height: 1.18;
  }

  .cover-copy button {
    display: inline-flex;
    align-items: center;
    width: auto;
    margin-top: 24px;
    padding: 15px 23px;
    position: relative;
    z-index: 2;
  }

  .cover-mark {
    width: min(54vw, 220px);
    margin: 0 auto;
    align-self: center;
    justify-self: center;
  }

  .controls {
    min-height: calc(72px + var(--phone-bottom-pad));
    padding: 0 18px var(--phone-bottom-pad);
    position: relative;
    z-index: 45;
  }

  .slide-0 .controls {
    background: var(--deep);
  }

  .contents {
    top: 84px;
    bottom: calc(72px + var(--phone-bottom-pad));
  }

  .nav-buttons {
    margin-left: auto;
    gap: 10px;
  }

  .nav-buttons button {
    min-width: 48px;
    min-height: 48px;
  }
}
