/* Mobile four-lever story: one pinned frame, four complete scroll chapters. */
@media (max-width: 900px) {
  .system.system-mobile-pinned {
    position: relative;
    display: block !important;
    min-height: 400svh;
    background: #101216;
    isolation: isolate;
  }

  .system-mobile-pinned .system-sticky {
    position: sticky !important;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100svh !important;
    min-height: 0 !important;
    padding: max(76px, calc(env(safe-area-inset-top) + 64px)) 22px 20px !important;
    overflow: hidden;
    background:
      linear-gradient(180deg, rgba(16,18,22,.98), #101216 72%),
      #101216;
  }

  .system-mobile-pinned .system-top {
    min-height: 54px;
    justify-content: flex-end;
    align-items: flex-start;
  }

  .system-mobile-pinned .system-progress {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0;
  }

  .system-mobile-pinned .system-progress [data-system-index] {
    font: 700 clamp(48px, 14vw, 62px)/.78 var(--sans);
    letter-spacing: -.085em;
    color: transparent;
    background: linear-gradient(112deg, #768fea 0%, #ee7892 46%, #ee7823 100%);
    -webkit-background-clip: text;
    background-clip: text;
  }

  .system-mobile-pinned .system-progress-total {
    color: rgba(255,255,255,.72);
    font: 600 10px/1 var(--mono);
  }

  .system-mobile-pinned h2 {
    max-width: 100%;
    margin: 10px 0 0 !important;
    font-size: clamp(40px, 10.8vw, 54px) !important;
    line-height: .91 !important;
    letter-spacing: -.072em;
    white-space: nowrap;
  }

  .system-mobile-pinned .system-description {
    max-width: 35ch;
    min-height: 5.2em;
    margin: 24px 0 0 !important;
    padding-left: 17px;
    border-left: 2px solid var(--step-color, var(--orange));
    color: rgba(255,255,255,.76) !important;
    font-size: clamp(15px, 4vw, 17px) !important;
    line-height: 1.52;
    transition: border-color .34s ease;
  }

  .system-mobile-pinned .system-dial { display: none !important; }
  .system-mobile-pinned .system-sticky::before {
    content: none !important;
    display: none !important;
  }

  .system-mobile-pinned .system-steps {
    position: sticky !important;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100svh;
    min-height: 0;
    margin-top: -100svh;
    padding: 0 !important;
    overflow: hidden;
    pointer-events: none;
    background: transparent;
  }

  .system-mobile-pinned .system-step,
  .system-mobile-pinned .system-step:nth-child(n) {
    position: absolute !important;
    inset: clamp(335px, 43svh, 390px) 22px max(18px, env(safe-area-inset-bottom));
    width: auto;
    height: auto;
    min-height: 0 !important;
    margin: 0;
    padding: clamp(20px, 5.5vw, 27px) !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.18);
    border-radius: 0 !important;
    background: transparent;
    box-shadow: none;
    visibility: hidden;
    opacity: 0 !important;
    clip-path: inset(12% 0 12% 0);
    transform: translateY(24px) !important;
    transition:
      opacity .26s ease,
      transform .48s cubic-bezier(.16,1,.3,1),
      clip-path .48s cubic-bezier(.16,1,.3,1),
      visibility 0s linear .48s;
  }

  .system-mobile-pinned[data-system-direction="backward"] .system-step {
    transform: translateY(-24px) !important;
  }

  .system-mobile-pinned .system-step.is-active {
    visibility: visible;
    opacity: 1 !important;
    clip-path: inset(0);
    transform: translateY(0) !important;
    transition:
      opacity .3s ease,
      transform .52s cubic-bezier(.16,1,.3,1),
      clip-path .52s cubic-bezier(.16,1,.3,1);
  }

  .system-mobile-pinned .system-step > span { display: none !important; }
  .system-mobile-pinned .system-step::before,
  .system-mobile-pinned .system-step::after { display: none !important; }

  .system-mobile-pinned .system-step .feature-icon {
    width: 44px;
    height: 44px;
    margin: 0 0 clamp(18px, 3svh, 26px);
    color: var(--step-color, var(--orange));
    border: 1px solid currentColor;
    border-radius: 15px;
    background: rgba(16,18,22,.42);
  }

  .system-mobile-pinned .system-step h3,
  .system-mobile-pinned .system-step:last-child h3,
  .system-mobile-pinned .system-step:nth-child(2) h3 {
    width: auto;
    max-width: 100% !important;
    margin: 0 0 13px;
    color: var(--step-color, #f5f1eb);
    font-size: clamp(34px, 9.8vw, 48px) !important;
    line-height: .92;
    letter-spacing: -.065em !important;
    white-space: normal;
  }

  .system-mobile-pinned .system-step:nth-child(-n+3) h3 {
    color: #f5f1eb;
  }

  .system-mobile-pinned .system-step p {
    max-width: 38ch;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: clamp(13px, 3.65vw, 15px) !important;
    line-height: 1.48 !important;
  }

  .system-mobile-pinned .system-step ul {
    gap: 6px;
    margin: clamp(16px, 2.5svh, 22px) 0 0;
  }

  .system-mobile-pinned .system-step li {
    padding: 6px 0 !important;
    border: 0;
    border-radius: 0;
    color: rgba(255,255,255,.72);
    font-size: 10px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 900px) and (max-height: 720px) {
  .system-mobile-pinned .system-sticky {
    padding-top: max(66px, calc(env(safe-area-inset-top) + 58px)) !important;
  }
  .system-mobile-pinned h2 { font-size: clamp(38px, 10.8vw, 46px) !important; }
  .system-mobile-pinned .system-description {
    min-height: 4em;
    margin-top: 14px !important;
    font-size: 14px !important;
    line-height: 1.42;
  }
  .system-mobile-pinned .system-step,
  .system-mobile-pinned .system-step:nth-child(n) {
    inset-block-start: clamp(340px, 49svh, 355px);
    padding: 18px !important;
  }
  .system-mobile-pinned .system-step .feature-icon { width: 38px; height: 38px; margin-bottom: 14px; }
  .system-mobile-pinned .system-step ul { margin-top: 12px; }
  .system-mobile-pinned .system-step li { padding-block: 4px !important; }
}

@media (max-width: 900px) and (max-height: 520px) and (orientation: landscape) {
  .system-mobile-pinned .system-sticky {
    padding: max(64px, calc(env(safe-area-inset-top) + 56px)) 22px 14px !important;
  }
  .system-mobile-pinned .system-top {
    width: 40%;
    min-height: 36px;
    justify-content: flex-start;
  }
  .system-mobile-pinned .system-progress [data-system-index] { font-size: 40px; }
  .system-mobile-pinned h2 {
    width: 40%;
    margin-top: 5px !important;
    font-size: clamp(31px, 4.4vw, 38px) !important;
  }
  .system-mobile-pinned .system-description {
    width: 40%;
    max-width: 35ch;
    min-height: 0;
    margin-top: 16px !important;
    font-size: 12px !important;
    line-height: 1.38;
  }
  .system-mobile-pinned .system-step,
  .system-mobile-pinned .system-step:nth-child(n) {
    inset: max(68px, calc(env(safe-area-inset-top) + 60px)) 22px 14px 45%;
    padding: 18px !important;
  }
  .system-mobile-pinned .system-step .feature-icon {
    width: 36px;
    height: 36px;
    margin-bottom: 12px;
  }
  .system-mobile-pinned .system-step h3,
  .system-mobile-pinned .system-step:last-child h3,
  .system-mobile-pinned .system-step:nth-child(2) h3 {
    margin-bottom: 9px;
    font-size: clamp(29px, 4.2vw, 36px) !important;
  }
  .system-mobile-pinned .system-step p {
    font-size: 12px !important;
    line-height: 1.38 !important;
  }
  .system-mobile-pinned .system-step ul { margin-top: 10px; }
  .system-mobile-pinned .system-step li { font-size: 8px !important; padding-block: 3px !important; }
}

@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  .system.system-mobile-pinned { min-height: 0; }
  .system-mobile-pinned .system-sticky {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 38px !important;
  }
  .system-mobile-pinned .system-steps {
    position: relative !important;
    height: auto;
    margin: 0;
    padding: 0 22px 72px !important;
    overflow: visible;
  }
  .system-mobile-pinned .system-step,
  .system-mobile-pinned .system-step:nth-child(n) {
    position: relative !important;
    inset: auto;
    min-height: 300px !important;
    margin-top: 14px;
    visibility: visible;
    opacity: 1 !important;
    clip-path: none;
    transform: none !important;
    transition: none;
  }
}

/* Without JavaScript every lever stays available in normal document flow. */
@media (max-width: 900px) {
  html:not(.js) .system.system-mobile-pinned { min-height: 0; }
  html:not(.js) .system-mobile-pinned .system-sticky {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
  }
  html:not(.js) .system-mobile-pinned .system-steps {
    position: relative !important;
    height: auto;
    margin: 0;
    padding: 0 22px 72px !important;
    overflow: visible;
  }
  html:not(.js) .system-mobile-pinned .system-step,
  html:not(.js) .system-mobile-pinned .system-step:nth-child(n) {
    position: relative !important;
    inset: auto;
    min-height: 300px !important;
    margin-top: 14px;
    visibility: visible;
    opacity: 1 !important;
    clip-path: none;
    transform: none !important;
  }
}
