/* A compact phone choreography. Native scrolling drives transforms; no pinning,
   autoplay, additional artwork assets, or perpetual animation loops. */
@media (max-width:760px), (max-width:1000px) and (max-height:600px) {
  .homepage .world-section {display:block;margin:30px 12px 10px;border-radius:24px;overflow:clip;background:#0b0f10;color:#f3f5ed;padding:0}
  .homepage .world-overture {height:auto;min-height:0;padding:30px 0 20px}
  .homepage .overture-sticky {position:relative;top:auto;min-height:0;padding:0;width:calc(100% - 32px)}
  .homepage .overture-layout {display:flex;flex-direction:column;gap:0}
  .homepage .overture-editorial {order:0;width:100%}
  .homepage .overture-editorial>.eyebrow {font-size:8px;letter-spacing:1.5px;margin:0 0 19px;text-align:center}
  .homepage .overture-beats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .homepage .overture-beat+.overture-beat {margin:0}
  .homepage .overture-beat h3 {font-size:clamp(19px,5vw,30px);line-height:1.15;letter-spacing:-.05em}
  .homepage .overture-beat h3 br {display:block}
  .homepage .overture-chapter,.homepage .overture-description,.homepage .overture-controls,
  .homepage .overture-next,.homepage .overture-cue {display:none}
  .homepage .overture-object {order:1;width:min(100%,400px);margin:6px auto 0}
  .homepage .portal-stage {max-height:none;aspect-ratio:1.15}
  .homepage .portal-visual-caption {margin-top:12px;font-size:6px;letter-spacing:1.2px}
  /* Keep all three headings legible, then light each one as its card unfolds. */
  .motion-enhanced .homepage .overture-beat h3 {opacity:.84;transition:opacity .4s}
  .motion-enhanced .homepage .overture-beat.is-active h3 {opacity:1}

  .homepage .mobile-feature-scene {display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:#123c30;isolation:isolate}
  .homepage .feature-mobile-visual .mobile-temple {width:100%;height:100%;object-fit:cover}
  .homepage .feature-mobile-visual .mobile-element {position:absolute;width:43%;height:auto;object-fit:contain;bottom:3%;transform-origin:50% 100%;filter:drop-shadow(0 7px 6px #05170c66)}
  .mobile-fire {left:8%}.mobile-water {right:5%}
  .mobile-gem {position:absolute;top:23%;width:11px;height:18px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
  .mobile-gem-fire {left:36%;background:#ffb34c}.mobile-gem-water {right:27%;top:15%;background:#77e1ff}
  .motion-enhanced .homepage .mobile-fire {translate:calc((1 - var(--card-enter,1))*-28px) calc(var(--feature-scroll,0)*-13px);rotate:calc(var(--feature-scroll,0)*-3deg)}
  .motion-enhanced .homepage .mobile-water {translate:calc((1 - var(--card-enter,1))*28px) calc(var(--feature-scroll,0)*-21px);rotate:calc(var(--feature-scroll,0)*3deg)}
  .motion-enhanced .homepage .mobile-gem {translate:0 calc(var(--feature-scroll,0)*-29px);rotate:calc(var(--feature-scroll,0)*18deg)}
  /* Scale inward so artwork stays complete rather than cropping at the edges. */
  .motion-enhanced .homepage .project-visual>img {transform:translate3d(0,calc((1 - var(--card-enter,1))*15px),0) scale(calc(.955 + var(--card-enter,1)*.045));transition:none;transform-origin:center}
  .homepage .project-card:hover {transform:none}
  .homepage .project-card:hover .visual-open {transform:none}
  .homepage .project-visual:active .visual-open {transform:rotate(45deg) scale(.92)}

  .intro-enter .homepage .home-stage-artwork {animation:mobile-stage-arrive 1.1s .12s var(--ease) backwards}
  .motion-enhanced .stage-in-view .home-stage-entry-icon i {animation:mobile-note .8s ease-in-out 3 alternate}
  .motion-enhanced .stage-in-view .home-stage-entry-icon i:nth-child(2) {animation-delay:.12s}
  .motion-enhanced .stage-in-view .home-stage-entry-icon i:nth-child(3) {animation-delay:.24s}
  .motion-enhanced .stage-in-view .home-stage-entry-icon i:nth-child(4) {animation-delay:.36s}
  .motion-enhanced .stage-in-view .home-stage-entry-star {animation:mobile-star 1.4s .2s var(--ease) both}
  .home-stage-entry:active,.homepage .button:active,.homepage .card-launch:active {transform:scale(.97);box-shadow:none}
  .mobile-nav:not([hidden]) {animation:mobile-menu-in .28s var(--ease) both;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}
  .mobile-nav a {min-height:48px}
  .menu-button {min-width:44px;min-height:44px}
  .cinema-browse {min-height:44px}
}
@media (min-width:761px) and (max-width:1000px) and (max-height:600px) {
  .homepage .overture-layout {display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .homepage .world-overture {padding-block:18px 16px}
  .homepage .overture-object {width:min(100%,calc((100svh - 180px)*1.15));max-width:350px;margin:0 auto}
  .homepage .portal-core-face {padding:8px;gap:4px}
  .homepage .portal-core-face>strong {font-size:8px;font-size:clamp(8px,3.5cqi,10px);letter-spacing:-.04em}
  .homepage .portal-tile-face {padding:7px}
  .homepage .portal-tile-caption {font-size:3px;letter-spacing:.3px}
  .homepage .portal-tile-bottom strong {font-size:7px}
  .homepage .portal-tile-bottom>span {font-size:4px}
  .homepage .overture-beats {gap:9px}
  .homepage .overture-beat h3 {font-size:23px}
}
@keyframes mobile-stage-arrive {from {opacity:.35;scale:.94;translate:0 16px} to {opacity:1;scale:1;translate:0 0}}
@keyframes mobile-note {from {scale:1 .45} to {scale:1 1}}
@keyframes mobile-star {from {rotate:-28deg;scale:.65} to {rotate:0deg;scale:1}}
@keyframes mobile-menu-in {from {opacity:0;translate:0 -8px} to {opacity:1;translate:0 0}}
@media (prefers-reduced-motion:reduce) {
  .homepage .overture-beat h3 {opacity:1!important}
  .homepage .mobile-element,.homepage .mobile-gem,.homepage .project-visual>img {translate:none!important;rotate:none!important;transform:none!important}
  .home-stage-artwork,.home-stage-entry-icon i,.home-stage-entry-star,.mobile-nav {animation:none!important}
}
.motion-paused .homepage .overture-beat h3 {opacity:1!important}
.motion-paused .homepage .mobile-element,.motion-paused .homepage .mobile-gem,.motion-paused .homepage .project-visual>img {translate:none!important;rotate:none!important;transform:none!important}
@media print {.homepage .world-section {display:none}}
