/* Mobile cloud runway. Desktop geometry and motion are kept in the original CSS. */
.mobile-cloud-browser,.mobile-cloud-flight,.mobile-cloud-anchor{display:none}
@media(max-width:680px),(max-width:900px) and (pointer:coarse){
  .hero.constellation-hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;overflow:clip;padding:116px 0 30px}
  .constellation-hero .hero-sky,.constellation-hero.is-travelling .hero-sky{transform:none;transition:none;background-size:cover,auto 100%;background-position:center,50% calc(65% - 155px)}
  .constellation-hero .scene-intro{position:relative;inset:auto;width:auto;order:0;padding:0 24px;text-align:left;pointer-events:auto}
  .constellation-hero .scene-intro .eyebrow{justify-content:flex-start;font-size:7px;letter-spacing:.12em;margin-bottom:12px}
  .constellation-hero .scene-intro h1{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 7px;font-size:29px;line-height:1.12}
  .constellation-hero .scene-intro h1 br{display:none}
  .constellation-hero .scene-intro h1 em{margin:0;font-size:1.12em}
  .constellation-hero .scene-intro>p:last-child{font-size:10px;line-height:1.65;max-width:none;margin:10px 0 0}
  .scene-corner,.constellation-map,.transit-mist,.scene-controls,.scene-access-hint{display:none}
  .sound-control{top:81px;right:24px;left:auto;bottom:auto;min-height:30px}

  .mobile-cloud-anchor{display:block;block-size:1px;flex:none;order:1;pointer-events:none}
  .mobile-cloud-browser{display:block;position:sticky;top:0;z-index:12;order:1;flex:none;padding:13px 0 5px;background:transparent;isolation:isolate}
  .mobile-cloud-browser.is-pinned{background:linear-gradient(180deg,#e5f1f8fa,#e9f4f9f5 83%,#e9f4f9d9);box-shadow:0 8px 20px #7fa5b013}
  .mobile-cloud-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 21px}
  .mobile-cloud-heading p{font-size:8px;letter-spacing:.14em;color:#517783;font-weight:550;margin:0}
  .mobile-cloud-heading span{display:block;font-size:10px;color:#7c979f;margin-top:5px}
  .mobile-cloud-arrows{display:flex;gap:3px}
  .mobile-cloud-arrows button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #a7c4ca60;border-radius:50%;color:#527e89;background:#f7fbfc66;touch-action:manipulation}
  .mobile-cloud-arrows button:first-child svg{rotate:180deg}
  .mobile-cloud-arrows svg{width:15px;height:15px;stroke-width:1.3}
  .mobile-cloud-rail{position:relative;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:20px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:3px 18px 9px;cursor:grab;touch-action:auto;user-select:none;overflow-anchor:none}
  .mobile-cloud-track{position:relative;display:flex;gap:6px;flex:none;isolation:isolate}
  .mobile-cloud-network{position:absolute;inset:0;width:100%;height:118px;fill:none;stroke:#7ba7b675;stroke-width:.8;pointer-events:none;z-index:-1}
  .mobile-cloud-network .cloud-wire-echo{stroke:#9db9c148;stroke-width:.55}
  .mobile-cloud-network .cloud-data{stroke:#649fab;stroke-width:1.15;stroke-dasharray:6 640;animation:cloud-data-flow 20s linear infinite}
  .mobile-cloud-network circle{fill:#8fb6c0;stroke:#eff8fa;stroke-width:1}
  .mobile-cloud-rail::-webkit-scrollbar{display:none}
  .mobile-cloud-rail:active{cursor:grabbing}
  .mobile-cloud-option{position:relative;display:grid;place-items:center;flex:0 0 153px;height:118px;scroll-snap-align:start;border-radius:40%;color:#315966;touch-action:manipulation;-webkit-tap-highlight-color:#7fa5a426}
  .mobile-cloud-option[hidden]{display:none!important}
  .mobile-cloud-option:focus-visible{outline:2px solid #719ca6;outline-offset:-10px}
  .mobile-cloud-art{position:absolute;inset:-9% -8%;width:116%;height:118%;object-fit:contain;pointer-events:none;opacity:.9;animation:runway-cloud-float 16s ease-in-out infinite;animation-delay:var(--cloud-delay,0s)}
  .mobile-cloud-label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:142px;pointer-events:none;text-align:center;text-shadow:0 1px 9px #fff}
  .mobile-cloud-icon{width:18px;height:18px;margin-bottom:5px;color:#6c929c}
  .mobile-cloud-icon svg{width:18px;height:18px;stroke-width:1.25}
  .mobile-cloud-label strong{font-size:11px;line-height:1.25;font-weight:550;letter-spacing:-.02em}
  .mobile-cloud-label small{font-size:6.8px;line-height:1.5;color:#6a8792;max-width:138px;margin-top:5px}
  .mobile-cloud-option:hover .mobile-cloud-art,.mobile-cloud-rail:active .mobile-cloud-art{animation-play-state:paused}

  .constellation-space{position:relative;inset:auto;perspective:none;order:2;isolation:isolate;pointer-events:none;scroll-margin-top:190px}
  .constellation-space .cloud-island:not(.is-active){display:none}
  .constellation-space .cloud-island.is-active{position:relative;inset:auto;width:100%;height:auto;translate:none;transition:none;will-change:auto;pointer-events:none;padding:15px 24px 20px;z-index:1}
  .constellation-space .cloud-island.is-active .cloud-atmosphere{inset:-12% -35%;animation:none;transform:none;opacity:.48}
  .constellation-space .cloud-island.is-active .cloud-atmosphere{opacity:.24;transition:opacity 1s}
  .constellation-space .cloud-island.is-active.has-arrived .cloud-atmosphere{opacity:.52;animation:central-vapor-breathe 18s ease-in-out infinite}
  .constellation-space .cloud-texture{filter:none;transition:none;opacity:.7}
  .constellation-space .cloud-texture.echo,.constellation-space .cyber-aura,.constellation-space .orbit-select{display:none}
  .constellation-space .is-active .island-panel{position:relative;inset:auto;translate:none;transform:none;display:flex;flex-direction:column;align-items:center;gap:0;width:100%;max-width:390px;margin:0 auto;opacity:1;visibility:visible;transition:none;pointer-events:auto;text-align:center}
  .island-panel::before{display:none}
  .island-copy{display:contents}
  .island-kicker{order:0;justify-content:center;font-size:7px;margin:0 0 11px}
  .island-title{order:1;font-size:31px;line-height:1.08;max-width:100%;margin:0}
  .island-slogan{order:2;font-size:16px;line-height:1.4;margin:10px 0 0}
  .island-description{order:4;font-size:11.5px;line-height:1.85;max-width:350px;margin:0 auto;color:#567780}
  .island-tags{order:5;justify-content:center;margin-top:13px}
  .island-tags>span{font-size:7px}
  .island-actions{order:6;justify-content:center;gap:16px;margin-top:19px}
  .island-actions .button{min-height:44px;font-size:10px;padding:14px 17px}
  .island-more{font-size:12px;min-height:44px;padding:11px 0}
  .hologram-reveal{order:3;width:100%;max-width:270px;margin:21px auto 24px;opacity:1;transform:none;transition:none}
  .is-active .hologram-reveal{transform:none;transition:none}
  .hologram-reveal .island-visual{width:100%;padding:6px;box-shadow:0 10px 22px #3e7b9312;filter:none}
  .hologram-reveal .island-visual img{aspect-ratio:1.8;border-radius:8px}
  .hologram-reveal .island-visual figcaption{font-size:5.5px}
  .is-active.is-projecting .hologram-reveal .island-visual{animation:mobile-projection-unfold 1.25s 0s cubic-bezier(.33,0,.2,1) both}
  .is-active.is-projecting .hologram-scan{animation:projection-scan 1.25s 0s cubic-bezier(.33,0,.2,1) both}
  .projection-network{inset:-9% -8% -12%;width:116%;height:121%;stroke-width:.8}
  .projection-base{height:5px;bottom:-12px;box-shadow:none;transition:opacity .4s,transform .6s}
  .projection-beam{filter:none;opacity:0;background:linear-gradient(to top,#a5d9df30,transparent 80%);transition:opacity .6s,scale .7s}
  .is-active.is-projecting .projection-base,.is-active.is-projecting .projection-beam{transition-delay:0s}
  .mobile-cloud-flight:not([hidden]){display:block;position:fixed;top:0;left:0;width:180px;height:130px;z-index:13;pointer-events:none}
  .mobile-cloud-flight img{width:100%;height:100%;object-fit:contain;pointer-events:none}
  .scene-scroll{position:relative;inset:auto;order:3;align-self:center;margin:17px 0 0;font-size:8px;z-index:1}
  .scene-out-of-view .mobile-cloud-art,.scene-out-of-view .cloud-data,.scene-out-of-view .cloud-atmosphere,.scene-out-of-view .hologram-reveal *{animation-play-state:paused!important}
}
@media(max-width:370px){
  .constellation-hero .scene-intro{padding-inline:22px}
  .constellation-hero .scene-intro h1{font-size:26px}
  .mobile-cloud-option{flex-basis:142px}
  .constellation-space .cloud-island.is-active{padding-inline:22px}
  .island-title{font-size:29px}
  .island-description{font-size:11px}
  .hologram-reveal{max-width:245px}
}
@keyframes runway-cloud-float{0%,100%{transform:translate3d(0,2px,0)}50%{transform:translate3d(0,-3px,0)}}
@keyframes central-vapor-breathe{0%,100%{transform:translate3d(-2px,1px,0) scale(1)}50%{transform:translate3d(2px,-3px,0) scale(1.025)}}
@keyframes cloud-data-flow{to{stroke-dashoffset:-646}}
@keyframes mobile-projection-unfold{0%{opacity:0;clip-path:inset(100% 0 0 0 round 12px);transform:translate3d(0,10px,0) rotate(-3deg)}100%{opacity:1;clip-path:inset(0 0 0 0 round 12px);transform:translate3d(0,0,0) rotate(-3deg)}}
@media(prefers-reduced-motion:reduce){
  .mobile-cloud-art,.cloud-data,.constellation-space .cloud-island.is-active.has-arrived .cloud-atmosphere{animation:none!important}
  .mobile-cloud-rail{scroll-behavior:auto;scroll-snap-type:none}
  .mobile-cloud-flight{display:none!important}
}
