/* Mobile scrollytelling:
   Block 1 = title fixed center (in-place reveal / fade)
   Block 2 = desc fixed center (in-place deploy / fade)
   Block 3 = sections normal flow + parallax (existing reveal) */

@media (max-width: 767px) {
  .title-block {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: min(92vw, 420px) !important;
    max-width: 92vw !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    z-index: 60 !important;
    pointer-events: none !important;
    transform: translate(-50%, -50%);
    will-change: opacity, transform;
  }

  .title-block .title {
    padding-right: 0 !important;
    text-align: center !important;
    font-size: clamp(48px, 13vw, 64px) !important; /* bigger */
    line-height: 0.88 !important;
    writing-mode: horizontal-tb !important;
  }

  .title-block .title > span {
    display: block !important;
  }

  .title-block .letter-mask,
  .title-block .letter-char {
    display: inline !important;
    overflow: visible !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .desc {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: min(88vw, 360px) !important;
    max-width: 88vw !important;
    margin: 0 !important;
    text-align: center !important;
    z-index: 55 !important;
    pointer-events: none !important;
    transform: translate(-50%, -50%);
    will-change: opacity, transform;
  }

  .desc .lead,
  .desc .body {
    transform: none !important;
  }

  /* Runway so scroll has distance for phases 1+2 before sections */
  .mobile-hero-spacer {
    display: block;
    height: 220vh;
    width: 100%;
    pointer-events: none;
    visibility: hidden;
  }

  /* Keep hero from taking vertical space that pushes layout oddly */
  .hero {
    min-height: 0 !important;
    padding-top: calc(var(--header-h, 40px) + 24px) !important;
    padding-bottom: 0 !important;
  }
}

@media (min-width: 768px) {
  .mobile-hero-spacer { display: none !important; }
}
