/* HCS/HKDI Home Hero Orbit Responsive Float v20260710-6
   Purpose: keep PC design intact, but let large tablet landscape feel closer to PC.
   Cards/core are larger than v5 and float in a wider, freer orbit while staying inside the viewport.
*/

/* Large tablet landscape / compact desktop: closer to PC size, still bounded. */
@media (min-width: 1481px) and (max-width: 1720px) and (max-height: 980px) {
  body.hkdi-body .soul-home,
  body.hkdi-body .soul-home .soul-hero {
    overflow-x: hidden !important;
  }

  body.hkdi-body .soul-home .soul-container {
    width: min(calc(100% - 46px), 1540px) !important;
  }

  body.hkdi-body .soul-home .soul-hero-grid {
    grid-template-columns: minmax(610px, .96fr) minmax(760px, 1.04fr) !important;
    gap: 18px !important;
    align-items: center !important;
    padding: 28px 0 20px !important;
  }

  body.hkdi-body .soul-home .soul-title {
    font-size: clamp(56px, 4.5vw, 82px) !important;
    line-height: 1.02 !important;
    max-width: 760px !important;
  }
  body.hkdi-body .soul-home .soul-lead {
    font-size: 18px !important;
    line-height: 1.55 !important;
    max-width: 780px !important;
  }
  body.hkdi-body .soul-home .soul-actions { gap: 12px !important; margin-bottom: 18px !important; }
  body.hkdi-body .soul-home .soul-btn { padding: 14px 19px !important; font-size: 16px !important; }
  body.hkdi-body .soul-home .soul-motto { gap: 12px !important; max-width: 780px !important; }
  body.hkdi-body .soul-home .motto-chip { min-height: 82px !important; padding: 15px 16px !important; }

  body.hkdi-body .soul-home .soul-orbit {
    width: min(845px, 52vw) !important;
    min-height: min(760px, calc(100vh - 135px)) !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    transform: none !important;
    animation: hkdiOrbitFloatBreathV6 13s ease-in-out infinite !important;
  }

  body.hkdi-body .soul-home .orbit-core {
    width: clamp(245px, 16.5vw, 280px) !important;
    height: clamp(245px, 16.5vw, 280px) !important;
    z-index: 3 !important;
    animation: hkdiCorePulseV6 9s ease-in-out infinite !important;
  }
  body.hkdi-body .soul-home .orbit-core .seal { width: 60px !important; height: 60px !important; font-size: 24px !important; }
  body.hkdi-body .soul-home .orbit-core strong { font-size: 27px !important; }
  body.hkdi-body .soul-home .orbit-core span { font-size: 13px !important; letter-spacing: .15em !important; }

  body.hkdi-body .soul-home .orbit-ring.r1 { width: min(760px, 47vw) !important; height: min(760px, 47vw) !important; }
  body.hkdi-body .soul-home .orbit-ring.r2 { width: min(590px, 37vw) !important; height: min(590px, 37vw) !important; }
  body.hkdi-body .soul-home .orbit-ring.r3 { width: min(380px, 24vw) !important; height: min(380px, 24vw) !important; }

  body.hkdi-body .soul-home .orbit-card {
    position: absolute !important;
    width: clamp(220px, 14.2vw, 250px) !important;
    min-height: clamp(146px, 9.2vw, 166px) !important;
    padding: 20px 21px !important;
    border-radius: 24px !important;
    z-index: 4 !important;
    will-change: transform !important;
  }
  body.hkdi-body .soul-home .orbit-card i { font-size: 24px !important; margin-bottom: 9px !important; }
  body.hkdi-body .soul-home .orbit-card strong { font-size: 21px !important; margin-bottom: 7px !important; }
  body.hkdi-body .soul-home .orbit-card span { font-size: 14px !important; line-height: 1.48 !important; }

  body.hkdi-body .soul-home .orbit-card.c1 {
    left: 43% !important; right: auto !important; top: 0 !important; bottom: auto !important;
    animation: hkdiFloatTopLargeV6 10.2s ease-in-out infinite !important;
  }
  body.hkdi-body .soul-home .orbit-card.c2 {
    right: 0 !important; left: auto !important; top: 36% !important; bottom: auto !important;
    animation: hkdiFloatRightLargeV6 10.7s ease-in-out infinite .28s !important;
  }
  body.hkdi-body .soul-home .orbit-card.c3 {
    left: 0 !important; right: auto !important; top: 52% !important; bottom: auto !important;
    animation: hkdiFloatLeftLargeV6 10.4s ease-in-out infinite .7s !important;
  }
  body.hkdi-body .soul-home .orbit-card.c4 {
    left: 58% !important; right: auto !important; top: auto !important; bottom: 0 !important;
    animation: hkdiFloatBottomLargeV6 11.2s ease-in-out infinite 1.1s !important;
  }
}

/* Tablet landscape / small laptop: enlarged to approach PC visual density. */
@media (min-width: 1101px) and (max-width: 1480px) {
  body.hkdi-body .soul-home,
  body.hkdi-body .soul-home .soul-hero { overflow-x: hidden !important; }

  body.hkdi-body .soul-home .soul-container { width: min(calc(100% - 36px), 1370px) !important; }

  body.hkdi-body .soul-home .soul-hero-grid {
    grid-template-columns: minmax(470px, .92fr) minmax(650px, 1.08fr) !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 20px 0 14px !important;
  }

  body.hkdi-body .soul-home .soul-title { font-size: clamp(46px, 4.55vw, 70px) !important; line-height: 1.02 !important; max-width: 690px !important; }
  body.hkdi-body .soul-home .soul-lead { font-size: 16.8px !important; line-height: 1.52 !important; max-width: 690px !important; }
  body.hkdi-body .soul-home .soul-kicker { margin-bottom: 13px !important; letter-spacing: .18em !important; }
  body.hkdi-body .soul-home .soul-actions { gap: 10px !important; margin-bottom: 14px !important; }
  body.hkdi-body .soul-home .soul-btn { padding: 13px 17px !important; border-radius: 15px !important; font-size: 15px !important; }
  body.hkdi-body .soul-home .soul-motto { gap: 10px !important; max-width: 660px !important; }
  body.hkdi-body .soul-home .motto-chip { min-height: 74px !important; padding: 13px 14px !important; }
  body.hkdi-body .soul-home .motto-chip strong { font-size: 16px !important; }
  body.hkdi-body .soul-home .motto-chip span { font-size: 12.5px !important; }

  body.hkdi-body .soul-home .soul-orbit {
    width: min(735px, 100%) !important;
    min-height: 665px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    transform: none !important;
    transform-origin: center center !important;
    animation: hkdiOrbitFloatBreathV6 12s ease-in-out infinite !important;
  }

  body.hkdi-body .soul-home .orbit-core { width: 240px !important; height: 240px !important; z-index: 3 !important; animation: hkdiCorePulseV6 9s ease-in-out infinite !important; }
  body.hkdi-body .soul-home .orbit-core .seal { width: 58px !important; height: 58px !important; font-size: 23px !important; margin-bottom: 10px !important; }
  body.hkdi-body .soul-home .orbit-core strong { font-size: 26px !important; }
  body.hkdi-body .soul-home .orbit-core span { font-size: 12.7px !important; }

  body.hkdi-body .soul-home .orbit-ring { display: block !important; z-index: 1 !important; }
  body.hkdi-body .soul-home .orbit-ring.r1 { width: 675px !important; height: 675px !important; }
  body.hkdi-body .soul-home .orbit-ring.r2 { width: 520px !important; height: 520px !important; }
  body.hkdi-body .soul-home .orbit-ring.r3 { width: 330px !important; height: 330px !important; }

  body.hkdi-body .soul-home .orbit-card {
    position: absolute !important;
    width: 218px !important;
    min-height: 144px !important;
    padding: 19px 20px !important;
    border-radius: 24px !important;
    z-index: 4 !important;
    will-change: transform !important;
  }
  body.hkdi-body .soul-home .orbit-card i { font-size: 23px !important; margin-bottom: 8px !important; }
  body.hkdi-body .soul-home .orbit-card strong { font-size: 20px !important; margin-bottom: 7px !important; }
  body.hkdi-body .soul-home .orbit-card span { font-size: 13.6px !important; line-height: 1.47 !important; }

  body.hkdi-body .soul-home .orbit-card.c1 { left: 43% !important; right: auto !important; top: 0 !important; bottom: auto !important; animation: hkdiFloatTopWideV6 9.8s ease-in-out infinite !important; }
  body.hkdi-body .soul-home .orbit-card.c2 { right: 0 !important; left: auto !important; top: 36% !important; bottom: auto !important; animation: hkdiFloatRightWideV6 10.2s ease-in-out infinite .35s !important; }
  body.hkdi-body .soul-home .orbit-card.c3 { left: 0 !important; right: auto !important; top: 53% !important; bottom: auto !important; animation: hkdiFloatLeftWideV6 9.9s ease-in-out infinite .8s !important; }
  body.hkdi-body .soul-home .orbit-card.c4 { left: 57% !important; right: auto !important; top: auto !important; bottom: 0 !important; animation: hkdiFloatBottomWideV6 10.7s ease-in-out infinite 1.15s !important; }
}

/* Short tablet landscape: keep the PC-like size, but compress vertical margins just enough. */
@media (min-width: 1101px) and (max-width: 1480px) and (max-height: 850px) {
  body.hkdi-body .soul-home .soul-hero { min-height: calc(100vh - 66px) !important; }
  body.hkdi-body .soul-home .soul-hero-grid {
    grid-template-columns: minmax(455px, .92fr) minmax(650px, 1.08fr) !important;
    gap: 8px !important;
    padding: 16px 0 10px !important;
  }
  body.hkdi-body .soul-home .soul-title { font-size: clamp(45px, 4.4vw, 66px) !important; }
  body.hkdi-body .soul-home .soul-lead { font-size: 16.2px !important; }
  body.hkdi-body .soul-home .soul-orbit { width: min(710px, 100%) !important; min-height: min(650px, calc(100vh - 120px)) !important; }
  body.hkdi-body .soul-home .orbit-core { width: 228px !important; height: 228px !important; }
  body.hkdi-body .soul-home .orbit-core .seal { width: 54px !important; height: 54px !important; font-size: 22px !important; }
  body.hkdi-body .soul-home .orbit-ring.r1 { width: 640px !important; height: 640px !important; }
  body.hkdi-body .soul-home .orbit-ring.r2 { width: 492px !important; height: 492px !important; }
  body.hkdi-body .soul-home .orbit-ring.r3 { width: 315px !important; height: 315px !important; }
  body.hkdi-body .soul-home .orbit-card { width: 206px !important; min-height: 134px !important; padding: 17px 18px !important; border-radius: 23px !important; }
  body.hkdi-body .soul-home .orbit-card i { font-size: 22px !important; margin-bottom: 7px !important; }
  body.hkdi-body .soul-home .orbit-card strong { font-size: 18.8px !important; }
  body.hkdi-body .soul-home .orbit-card span { font-size: 12.9px !important; line-height: 1.43 !important; }
  body.hkdi-body .soul-home .orbit-card.c1 { top: 0 !important; left: 43% !important; }
  body.hkdi-body .soul-home .orbit-card.c2 { right: 0 !important; top: 35% !important; }
  body.hkdi-body .soul-home .orbit-card.c3 { left: 0 !important; top: 53% !important; }
  body.hkdi-body .soul-home .orbit-card.c4 { bottom: 0 !important; left: 57% !important; }
}

/* Narrower tablet landscape / portrait tablets: single-column orbit but still spacious. */
@media (min-width: 761px) and (max-width: 1100px) {
  body.hkdi-body .soul-home .soul-hero-grid { grid-template-columns: 1fr !important; gap: 20px !important; padding: 34px 0 30px !important; }
  body.hkdi-body .soul-home .soul-orbit { width: min(720px, calc(100vw - 48px)) !important; min-height: 650px !important; margin: 8px auto 0 !important; transform: none !important; animation: hkdiOrbitFloatBreathV6 12s ease-in-out infinite !important; }
  body.hkdi-body .soul-home .orbit-core { width: 225px !important; height: 225px !important; z-index: 3 !important; animation: hkdiCorePulseV6 9s ease-in-out infinite !important; }
  body.hkdi-body .soul-home .orbit-ring.r1 { width: 610px !important; height: 610px !important; }
  body.hkdi-body .soul-home .orbit-ring.r2 { width: 460px !important; height: 460px !important; }
  body.hkdi-body .soul-home .orbit-ring.r3 { width: 300px !important; height: 300px !important; }
  body.hkdi-body .soul-home .orbit-card { position: absolute !important; width: 200px !important; min-height: 130px !important; padding: 17px !important; z-index: 4 !important; }
  body.hkdi-body .soul-home .orbit-card.c1 { left: 44% !important; right:auto !important; top: 0 !important; bottom:auto !important; animation: hkdiFloatTopWideV6 9.8s ease-in-out infinite !important; }
  body.hkdi-body .soul-home .orbit-card.c2 { right: 0 !important; left:auto !important; top: 38% !important; bottom:auto !important; animation: hkdiFloatRightWideV6 10.2s ease-in-out infinite .35s !important; }
  body.hkdi-body .soul-home .orbit-card.c3 { left: 0 !important; right:auto !important; top: 54% !important; bottom:auto !important; animation: hkdiFloatLeftWideV6 9.9s ease-in-out infinite .8s !important; }
  body.hkdi-body .soul-home .orbit-card.c4 { left: 57% !important; right:auto !important; top:auto !important; bottom: 0 !important; animation: hkdiFloatBottomWideV6 10.7s ease-in-out infinite 1.15s !important; }
}

@keyframes hkdiOrbitFloatBreathV6 {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8px) scale(1.014); }
}
@keyframes hkdiCorePulseV6 {
  0%, 100% { transform: translate(-50%, -50%) scale(1); }
  50% { transform: translate(-50%, -50%) scale(.988); }
}
@keyframes hkdiFloatTopLargeV6 {
  0%, 100% { transform: translate(-50%, 0) scale(1); }
  30% { transform: translate(calc(-50% - 30px), -22px) scale(1.052); }
  66% { transform: translate(calc(-50% + 30px), 15px) scale(.985); }
}
@keyframes hkdiFloatRightLargeV6 {
  0%, 100% { transform: translate(0, -50%) scale(1); }
  34% { transform: translate(28px, calc(-50% - 24px)) scale(1.05); }
  68% { transform: translate(-22px, calc(-50% + 22px)) scale(.985); }
}
@keyframes hkdiFloatLeftLargeV6 {
  0%, 100% { transform: translate(0, -50%) scale(1); }
  34% { transform: translate(-28px, calc(-50% + 22px)) scale(1.05); }
  70% { transform: translate(22px, calc(-50% - 19px)) scale(.985); }
}
@keyframes hkdiFloatBottomLargeV6 {
  0%, 100% { transform: translate(-50%, 0) scale(1); }
  32% { transform: translate(calc(-50% + 30px), 20px) scale(1.052); }
  70% { transform: translate(calc(-50% - 26px), -17px) scale(.985); }
}
@keyframes hkdiFloatTopWideV6 {
  0%, 100% { transform: translate(-50%, 0) scale(1); }
  28% { transform: translate(calc(-50% - 24px), -17px) scale(1.05); }
  62% { transform: translate(calc(-50% + 25px), 13px) scale(.983); }
}
@keyframes hkdiFloatRightWideV6 {
  0%, 100% { transform: translate(0, -50%) scale(1); }
  32% { transform: translate(24px, calc(-50% - 22px)) scale(1.048); }
  66% { transform: translate(-20px, calc(-50% + 20px)) scale(.983); }
}
@keyframes hkdiFloatLeftWideV6 {
  0%, 100% { transform: translate(0, -50%) scale(1); }
  35% { transform: translate(-24px, calc(-50% + 20px)) scale(1.048); }
  70% { transform: translate(20px, calc(-50% - 18px)) scale(.983); }
}
@keyframes hkdiFloatBottomWideV6 {
  0%, 100% { transform: translate(-50%, 0) scale(1); }
  30% { transform: translate(calc(-50% + 26px), 17px) scale(1.05); }
  68% { transform: translate(calc(-50% - 22px), -15px) scale(.983); }
}

/* HCS/HKDI Home Hero Tablet Scroll Safety v20260710-7
   Purpose: restore reliable finger scroll on tablet/PWA while keeping orbit animation.
   The orbit cards are decorative on the home hero; on touch screens they should not capture touch gestures.
*/
@media (hover: none) and (pointer: coarse) and (min-width: 761px) {
  html,
  body,
  body.hkdi-body,
  body.hkdi-body .soul-home {
    scroll-snap-type: none !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }

  body.hkdi-body .soul-home {
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  body.hkdi-body .soul-home > .soul-hero,
  body.hkdi-body .soul-home .soul-hero,
  body.hkdi-body .soul-home .soul-screen {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
    touch-action: pan-y !important;
    overscroll-behavior-y: auto !important;
  }

  body.hkdi-body .soul-home .soul-hero-grid,
  body.hkdi-body .soul-home .soul-copy {
    touch-action: pan-y !important;
  }

  /* Decorative orbit should never block vertical finger scrolling. */
  body.hkdi-body .soul-home .soul-orbit,
  body.hkdi-body .soul-home .orbit-ring,
  body.hkdi-body .soul-home .orbit-core,
  body.hkdi-body .soul-home .orbit-card {
    pointer-events: none !important;
    touch-action: pan-y !important;
    -webkit-user-select: none !important;
    user-select: none !important;
  }

  /* Real links/buttons remain tappable. */
  body.hkdi-body .soul-home a,
  body.hkdi-body .soul-home button,
  body.hkdi-body .soul-home .soul-btn,
  body.hkdi-body .soul-home .motto-chip,
  body.hkdi-body .soul-home .soul-pillar,
  body.hkdi-body .soul-home .ebook-mini {
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
}

/* Android/Chrome PWA sometimes treats animated transformed blocks as gesture targets.
   On tablet touch screens, slightly reduce motion amplitude while preserving the floating feel. */
@media (hover: none) and (pointer: coarse) and (min-width: 1101px) and (max-width: 1720px) {
  body.hkdi-body .soul-home .soul-orbit {
    animation-duration: 15s !important;
  }
  body.hkdi-body .soul-home .orbit-card.c1,
  body.hkdi-body .soul-home .orbit-card.c2,
  body.hkdi-body .soul-home .orbit-card.c3,
  body.hkdi-body .soul-home .orbit-card.c4 {
    animation-duration: 13.5s !important;
  }
}

/* HCS/HKDI Home Hero Tablet Scroll Unlock v20260710-8
   Purpose: solve intermittent tablet/PWA scroll lock and occasional orbit-card flicker.
   Strategy: remove scroll snap broadly on tablet widths, prevent decorative orbit from becoming a touch target,
   and use smaller, non-scaling tablet animations to avoid GPU layer flicker.
*/
@media (min-width: 761px) and (max-width: 1720px) {
  html,
  body {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scroll-snap-type: none !important;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: auto !important;
  }

  body.hkdi-body,
  body.hkdi-body .soul-home {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    scroll-snap-type: none !important;
    overscroll-behavior-y: auto !important;
  }

  body.hkdi-body .soul-home > .soul-hero,
  body.hkdi-body .soul-home > .soul-section,
  body.hkdi-body .soul-home .soul-screen,
  body.hkdi-body .soul-home .soul-section {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }

  body.hkdi-body .soul-home .soul-hero {
    height: auto !important;
    min-height: max(720px, calc(100svh - 74px)) !important;
    overflow: visible !important;
    touch-action: pan-y !important;
  }

  body.hkdi-body .soul-home .soul-hero-grid,
  body.hkdi-body .soul-home .soul-copy,
  body.hkdi-body .soul-home .soul-container {
    touch-action: pan-y !important;
  }

  /* Orbit is visual: it must not intercept swipe-up/down gestures. */
  body.hkdi-body .soul-home .soul-orbit,
  body.hkdi-body .soul-home .orbit-ring,
  body.hkdi-body .soul-home .orbit-core,
  body.hkdi-body .soul-home .orbit-card,
  body.hkdi-body .soul-home .orbit-card * {
    pointer-events: none !important;
    touch-action: pan-y !important;
    -webkit-user-select: none !important;
    user-select: none !important;
  }

  /* Real controls must remain tappable. */
  body.hkdi-body .soul-home a,
  body.hkdi-body .soul-home button,
  body.hkdi-body .soul-home .soul-btn,
  body.hkdi-body .soul-home .motto-chip,
  body.hkdi-body .soul-home .soul-pillar,
  body.hkdi-body .soul-home .ebook-mini {
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  /* Prevent intermittent card disappearance caused by aggressive transform compositing. */
  body.hkdi-body .soul-home .soul-orbit,
  body.hkdi-body .soul-home .orbit-card,
  body.hkdi-body .soul-home .orbit-core {
    opacity: 1 !important;
    visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-backface-visibility: visible !important;
    transform-style: flat !important;
    will-change: auto !important;
  }

  body.hkdi-body .soul-home .orbit-card {
    z-index: 8 !important;
  }
  body.hkdi-body .soul-home .orbit-core {
    z-index: 5 !important;
  }
}

/* Tablet/PWA stable floating: no scale, smaller movement, no opacity changes. */
@media (min-width: 761px) and (max-width: 1720px) and (hover: none),
       (min-width: 761px) and (max-width: 1720px) and (pointer: coarse) {
  body.hkdi-body .soul-home .soul-orbit {
    animation: hkdiOrbitStableV8 18s ease-in-out infinite !important;
  }
  body.hkdi-body .soul-home .orbit-core {
    animation: hkdiCoreStableV8 14s ease-in-out infinite !important;
  }
  body.hkdi-body .soul-home .orbit-card.c1 { animation: hkdiFloatTopStableV8 15s ease-in-out infinite !important; }
  body.hkdi-body .soul-home .orbit-card.c2 { animation: hkdiFloatRightStableV8 15.5s ease-in-out infinite .25s !important; }
  body.hkdi-body .soul-home .orbit-card.c3 { animation: hkdiFloatLeftStableV8 15.2s ease-in-out infinite .55s !important; }
  body.hkdi-body .soul-home .orbit-card.c4 { animation: hkdiFloatBottomStableV8 16s ease-in-out infinite .85s !important; }
}

@keyframes hkdiOrbitStableV8 {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
@keyframes hkdiCoreStableV8 {
  0%, 100% { transform: translate(-50%, -50%); }
  50% { transform: translate(-50%, -50%) translateY(-3px); }
}
@keyframes hkdiFloatTopStableV8 {
  0%, 100% { transform: translate(-50%, 0); }
  35% { transform: translate(calc(-50% - 16px), -10px); }
  70% { transform: translate(calc(-50% + 14px), 8px); }
}
@keyframes hkdiFloatRightStableV8 {
  0%, 100% { transform: translate(0, -50%); }
  35% { transform: translate(13px, calc(-50% - 12px)); }
  70% { transform: translate(-12px, calc(-50% + 10px)); }
}
@keyframes hkdiFloatLeftStableV8 {
  0%, 100% { transform: translate(0, -50%); }
  35% { transform: translate(-13px, calc(-50% + 10px)); }
  70% { transform: translate(12px, calc(-50% - 10px)); }
}
@keyframes hkdiFloatBottomStableV8 {
  0%, 100% { transform: translate(-50%, 0); }
  35% { transform: translate(calc(-50% + 15px), 9px); }
  70% { transform: translate(calc(-50% - 14px), -8px); }
}

/* HCS/HKDI Home Hero Core Breath v20260710-9
   Purpose: keep tablet scroll stable while making the central HKDI circle feel alive.
   The four cards remain as stable anchor points; the core gently swims between them and breathes.
*/
@media (min-width: 761px) and (max-width: 1720px) {
  /* Keep the whole orbit stable for scrolling; let the core do the living motion. */
  body.hkdi-body .soul-home .soul-orbit {
    animation: none !important;
    overflow: visible !important;
  }

  /* Four cards become calm anchor islands around the living core. */
  body.hkdi-body .soul-home .orbit-card.c1 { animation: hkdiCardAnchorTopV9 16s ease-in-out infinite !important; }
  body.hkdi-body .soul-home .orbit-card.c2 { animation: hkdiCardAnchorRightV9 17s ease-in-out infinite .35s !important; }
  body.hkdi-body .soul-home .orbit-card.c3 { animation: hkdiCardAnchorLeftV9 16.5s ease-in-out infinite .75s !important; }
  body.hkdi-body .soul-home .orbit-card.c4 { animation: hkdiCardAnchorBottomV9 17.5s ease-in-out infinite 1.05s !important; }

  /* The core swims in the empty center, then returns. No -50% transform is used because the core is flex-centered. */
  body.hkdi-body .soul-home .orbit-core {
    animation: hkdiCoreSwimBreathV9 12.8s cubic-bezier(.42,0,.22,1) infinite !important;
    transform-origin: center center !important;
    will-change: transform, filter, box-shadow !important;
  }

  body.hkdi-body .soul-home .orbit-core::after {
    animation: hkdiCoreHaloBreathV9 6.6s ease-in-out infinite !important;
  }

  body.hkdi-body .soul-home .orbit-ring.r1 { animation: hkdiRingBreathClockV9 38s linear infinite, hkdiRingBreathV9 9s ease-in-out infinite !important; }
  body.hkdi-body .soul-home .orbit-ring.r2 { animation: hkdiRingBreathCounterV9 50s linear infinite, hkdiRingBreathV9 10.5s ease-in-out infinite .8s !important; }
  body.hkdi-body .soul-home .orbit-ring.r3 { animation: hkdiRingBreathClockV9 32s linear infinite, hkdiRingBreathV9 8s ease-in-out infinite 1.2s !important; }
}

/* Touch tablets: keep motion graceful but not disruptive. */
@media (min-width: 761px) and (max-width: 1720px) and (hover: none),
       (min-width: 761px) and (max-width: 1720px) and (pointer: coarse) {
  body.hkdi-body .soul-home .soul-orbit { animation: none !important; }
  body.hkdi-body .soul-home .orbit-core { animation: hkdiCoreSwimBreathTouchV9 14s cubic-bezier(.42,0,.22,1) infinite !important; }
  body.hkdi-body .soul-home .orbit-card.c1 { animation: hkdiCardAnchorTopTouchV9 18s ease-in-out infinite !important; }
  body.hkdi-body .soul-home .orbit-card.c2 { animation: hkdiCardAnchorRightTouchV9 18.5s ease-in-out infinite .35s !important; }
  body.hkdi-body .soul-home .orbit-card.c3 { animation: hkdiCardAnchorLeftTouchV9 18.2s ease-in-out infinite .75s !important; }
  body.hkdi-body .soul-home .orbit-card.c4 { animation: hkdiCardAnchorBottomTouchV9 19s ease-in-out infinite 1.05s !important; }
}

@keyframes hkdiCoreSwimBreathV9 {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(1);
    filter: saturate(1) brightness(1);
    box-shadow: 0 0 0 12px rgba(255,255,255,.06), 0 32px 90px rgba(0,0,0,.36), 0 0 90px rgba(242,212,122,.34);
  }
  18% {
    transform: translate3d(12px, -10px, 0) scale(1.018);
    filter: saturate(1.08) brightness(1.025);
  }
  37% {
    transform: translate3d(-10px, -5px, 0) scale(.992);
    filter: saturate(.99) brightness(.995);
  }
  58% {
    transform: translate3d(-14px, 11px, 0) scale(1.026);
    filter: saturate(1.12) brightness(1.035);
    box-shadow: 0 0 0 13px rgba(255,255,255,.07), 0 36px 98px rgba(0,0,0,.38), 0 0 124px rgba(255,214,122,.50);
  }
  78% {
    transform: translate3d(10px, 8px, 0) scale(.997);
    filter: saturate(1.02) brightness(1.005);
  }
}

@keyframes hkdiCoreSwimBreathTouchV9 {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(1);
    filter: saturate(1) brightness(1);
  }
  22% { transform: translate3d(8px, -7px, 0) scale(1.012); filter: saturate(1.05) brightness(1.02); }
  48% { transform: translate3d(-8px, 6px, 0) scale(1.018); filter: saturate(1.08) brightness(1.025); }
  74% { transform: translate3d(7px, 5px, 0) scale(.996); filter: saturate(1.01) brightness(1); }
}

@keyframes hkdiCoreHaloBreathV9 {
  0%, 100% { opacity:.38; transform:scale(1); }
  48% { opacity:.96; transform:scale(1.075); }
  72% { opacity:.54; transform:scale(1.035); }
}

@keyframes hkdiRingBreathClockV9 {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes hkdiRingBreathCounterV9 {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(-360deg); }
}
@keyframes hkdiRingBreathV9 {
  0%, 100% { opacity: .72; }
  50% { opacity: 1; }
}

@keyframes hkdiCardAnchorTopV9 {
  0%, 100% { transform: translate(-50%, 0); }
  45% { transform: translate(calc(-50% - 10px), -6px); }
  72% { transform: translate(calc(-50% + 8px), 5px); }
}
@keyframes hkdiCardAnchorRightV9 {
  0%, 100% { transform: translate(0, -50%); }
  42% { transform: translate(9px, calc(-50% - 8px)); }
  70% { transform: translate(-7px, calc(-50% + 6px)); }
}
@keyframes hkdiCardAnchorLeftV9 {
  0%, 100% { transform: translate(0, -50%); }
  42% { transform: translate(-9px, calc(-50% + 7px)); }
  70% { transform: translate(7px, calc(-50% - 6px)); }
}
@keyframes hkdiCardAnchorBottomV9 {
  0%, 100% { transform: translate(-50%, 0); }
  45% { transform: translate(calc(-50% + 10px), 7px); }
  72% { transform: translate(calc(-50% - 8px), -5px); }
}

@keyframes hkdiCardAnchorTopTouchV9 {
  0%, 100% { transform: translate(-50%, 0); }
  50% { transform: translate(calc(-50% - 6px), -4px); }
}
@keyframes hkdiCardAnchorRightTouchV9 {
  0%, 100% { transform: translate(0, -50%); }
  50% { transform: translate(6px, calc(-50% - 5px)); }
}
@keyframes hkdiCardAnchorLeftTouchV9 {
  0%, 100% { transform: translate(0, -50%); }
  50% { transform: translate(-6px, calc(-50% + 5px)); }
}
@keyframes hkdiCardAnchorBottomTouchV9 {
  0%, 100% { transform: translate(-50%, 0); }
  50% { transform: translate(calc(-50% + 6px), 4px); }
}

@media (prefers-reduced-motion: reduce) {
  body.hkdi-body .soul-home .soul-orbit,
  body.hkdi-body .soul-home .orbit-core,
  body.hkdi-body .soul-home .orbit-core::after,
  body.hkdi-body .soul-home .orbit-ring,
  body.hkdi-body .soul-home .orbit-card {
    animation: none !important;
  }
}
