.clipo-mobile-hero {
  display: none;
}

/* Prepare the shared desktop/mobile scene tree without adding a desktop box. */
.clipo-mobile-story {
  display: contents;
}

@media (max-width: 768px) {
  html[data-instatic-layout-id="mobile"] [data-instatic-responsive-stage] {
    width: 390px;
    position: relative;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero {
    --mobile-hero-height: var(--instatic-logical-viewport-height, 844px);
    --mobile-blue: #2336f1;
    --mobile-paper: #f7f7f6;
    --mobile-secondary: #e0e0df;
    --mobile-yellow: #fad84c;
    --mobile-ink: #131313;
    display: block;
    position: absolute;
    inset: 0 auto auto 0;
    z-index: 20;
    width: 390px;
    height: var(--mobile-hero-height);
    min-height: var(--mobile-hero-height);
    overflow: hidden;
    color: var(--mobile-paper);
    background: transparent;
    pointer-events: none;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero *,
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero *::before,
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero *::after {
    box-sizing: border-box;
    animation: none !important;
    transition: none !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero a,
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero button {
    pointer-events: auto;
  }

html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__header {
    position: absolute;
    top: 23px;
    left: 16px;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 358px;
    height: 40px;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__brand { display: block; width: 100px; height: 31.22px; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__brand img { display: block; width: 100px; height: 31.22px; object-fit: contain; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__actions { display: flex; align-items: stretch; height: 40px; }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__download {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 145px;
    height: 40px;
    padding: 8px;
    border: 1px solid var(--mobile-blue);
    color: var(--mobile-ink);
    background: var(--mobile-yellow);
    text-decoration: none;
    white-space: nowrap;
    font-family: "Ronzino", Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -0.28px;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__menu {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 40px;
    height: 40px;
    padding: 8px;
    border: 1px solid var(--mobile-blue);
    background: var(--mobile-yellow);
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__menu span { display: block; width: 16px; height: 2px; background: var(--mobile-ink); }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__handle {
    position: absolute;
    z-index: 2;
    width: 8px;
    height: 8px;
    border: 1px solid var(--mobile-blue);
    background: var(--mobile-yellow);
    pointer-events: none;
  }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__handle--tl { top: -4.5px; left: -4.5px; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__handle--tr { top: -4.5px; right: -4.5px; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__handle--br { right: -4.5px; bottom: -4.5px; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__handle--bl { bottom: -4.5px; left: -4.5px; }

  /* Figma 390 × 844: preserve row spacing, move the entire poster with the bottom edge. */
  html.is-clipo-mobile-copy-pending[data-instatic-layout-id="mobile"] .clipo-mobile-hero__copy {
    visibility: hidden;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__copy {
    position: absolute;
    left: 16px;
    bottom: 8px;
    width: 358px;
    height: 198px;
    z-index: 3;
    font-family: "Phonk", var(--font-clipo-font-poster, Impact, sans-serif);
    font-size: 40px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: -1.6px;
    line-height: .84;
  }

  /* Scroll owns the outer group's x; entrance bounce owns the inner rows' y. */
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__text-group { position: absolute; inset: 0; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__text-group > p,
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__text-group > span { position: absolute; margin: 0; white-space: nowrap; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__clip { left: 155px; top: 0px; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__thing { left: 0; top: 34px; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__where { left: 0; top: 65px; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__make { left: 0; top: 99px; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__right-arrow { display: inline-block; transform-origin: 50% 50%; color: #a3b4f4; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__swap { left: 0; top: 132px; color: #a3b4f4; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__object { right: 0; top: 130px; width: 229px; text-align: right; }
  html[data-instatic-layout-id="mobile"] .clipo-mobile-hero__object > span { display: block; }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-story {
    --mobile-hero-height: var(--instatic-logical-viewport-height, 844px);
    --mobile-problem-height: calc(
      var(--mobile-hero-height) +
      var(--mobile-hero-height) +
      var(--mobile-hero-height) +
      var(--mobile-hero-height) +
      var(--mobile-hero-height)
    );
    position: relative;
    display: block;
    width: 390px;
    height: calc(var(--mobile-hero-height) + var(--mobile-problem-height));
    background: #2336f1;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-story > .clipo-mobile-hero {
    position: sticky;
    top: 0;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-story > .clipo-hero-scroll-scene {
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    z-index: 1 !important;
    width: 390px !important;
    height: calc(var(--mobile-hero-height) + var(--mobile-problem-height)) !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    background: #2336f1 !important;
    pointer-events: none;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-story .clipo-three-direct {
    display: block !important;
    position: sticky !important;
    inset: auto !important;
    top: 0 !important;
    z-index: 1 !important;
    width: 390px !important;
    height: var(--mobile-hero-height) !important;
    min-height: var(--mobile-hero-height) !important;
    max-height: var(--mobile-hero-height) !important;
    overflow: hidden !important;
    background: #2336f1 !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-story .clipo-three-direct__stage,
  html[data-instatic-layout-id="mobile"] .clipo-mobile-story .clipo-three-direct canvas {
    display: block !important;
    width: 390px !important;
    height: var(--mobile-hero-height) !important;
    min-height: var(--mobile-hero-height) !important;
    max-height: var(--mobile-hero-height) !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-story .clipo-three-direct canvas {
    touch-action: pan-y !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-hero-scroll-scene > .clipo-hero,
  html[data-instatic-layout-id="mobile"] .clipo-hero-scroll-scene > .clipo-hero-scroll-track,
  html[data-instatic-layout-id="mobile"] .clipo-hero-scroll-scene > .clipo-problem,
  html[data-instatic-layout-id="mobile"] .clipo-hero-scroll-scene .clipo-problem-overlay-track,
  html[data-instatic-layout-id="mobile"] .clipo-hero-scroll-scene .clipo-three-end-hold {
    display: none !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-story > .clipo-problem {
    position: absolute !important;
    top: var(--mobile-hero-height) !important;
    left: 0 !important;
    z-index: 3 !important;
    display: block !important;
    width: 390px !important;
    height: var(--mobile-problem-height) !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    color: #f7f7f6 !important;
    background: transparent !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__mobile-sticky {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 2 !important;
    display: block !important;
    width: 390px !important;
    height: var(--mobile-hero-height) !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__mask-layer {
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    z-index: 2 !important;
    width: 390px !important;
    height: var(--mobile-hero-height) !important;
    clip-path: none !important;
    pointer-events: none;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__headline {
    position: absolute !important;
    display: block !important;
    margin: 0 !important;
    color: #f7f7f6 !important;
    font-family: "PhonkSansHeavy", Impact, sans-serif !important;
    font-size: 32px !important;
    font-weight: 900 !important;
    line-height: .84 !important;
    letter-spacing: -1.28px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Exit both complete groups with the actual rendered 3D shader mask. */
  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--you,
  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--save,
  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--down {
    translate: calc(-1 * var(--clipo-mobile-mask-exit-x, 0px)) 0;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--then,
  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--lost,
  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--question {
    translate: var(--clipo-mobile-mask-exit-x, 0px) 0;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--you {
    top: 201px !important;
    left: 16px !important;
    width: 366px !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--save {
    top: 228px !important;
    left: 75px !important;
    width: 116px !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--down {
    top: 255px !important;
    left: 16px !important;
    display: flex !important;
    align-items: flex-start !important;
    width: 175px !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__down-arrow {
    display: block !important;
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 27px !important;
    overflow: hidden !important;
    opacity: .5 !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__down-arrow-track {
    display: block !important;
    width: 32px !important;
    height: 54px !important;
    transform: none !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__down-arrow-glyph {
    display: flex !important;
    align-items: flex-start !important;
    width: 32px !important;
    height: 27px !important;
    line-height: 27px !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__down-arrow-glyph + .clipo-problem__down-arrow-glyph {
    display: none !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__down-it {
    margin-left: 27px !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--then {
    top: 507px !important;
    left: 260px !important;
    width: 114px !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--lost {
    top: 534px !important;
    left: 199px !important;
    width: 175px !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__headline--question {
    top: 563px !important;
    left: 260px !important;
    display: flex !important;
    align-items: flex-start !important;
    width: 114px !important;
    opacity: .5 !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__right-arrow {
    display: block !important;
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 27px !important;
    overflow: hidden !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__right-arrow-track {
    display: flex !important;
    width: 64px !important;
    height: 27px !important;
    transform: none !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__right-arrow-glyph {
    display: flex !important;
    flex: 0 0 32px !important;
    align-items: flex-start !important;
    height: 27px !important;
    line-height: 27px !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__right-arrow-glyph + .clipo-problem__right-arrow-glyph {
    display: none !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__question-mark {
    margin-left: 4px !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__reveal-copy {
    position: absolute !important;
    top: auto !important;
    bottom: 61px !important;
    left: 16px !important;
    z-index: 4 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 358px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #131313 !important;
    background: transparent !important;
    font-family: "Phonk", var(--font-clipo-font-poster, Impact, sans-serif) !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    line-height: .84 !important;
    letter-spacing: -1.04px !important;
    text-transform: uppercase !important;
    text-align: left !important;
    overflow-wrap: break-word;
    text-indent: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    clip-path: none !important;
    transition:
      opacity .12s linear,
      visibility 0s linear .72s !important;
    pointer-events: none !important;
    transform: none !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-story.is-mobile-copy-visible .clipo-problem__mask-layer {
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-mobile-story.is-mobile-copy-visible .clipo-problem__reveal-copy {
    opacity: 1 !important;
    visibility: visible !important;
    clip-path: none !important;
    transition:
      opacity .01s linear,
      visibility 0s linear 0s !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__reveal-copy.is-line-masked {
    text-indent: 0 !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__measure-word {
    display: inline !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__reveal-line-mask {
    display: block !important;
    width: 100% !important;
    height: .84em !important;
    overflow: visible !important;
  }

  html[data-instatic-layout-id="mobile"] .clipo-problem__reveal-line {
    display: block !important;
    width: max-content !important;
    max-width: none !important;
    height: .84em !important;
    padding-left: 0 !important;
    padding-right: 1em !important;
    white-space: nowrap !important;
    will-change: clip-path !important;
  }
}
