/* Studio / discipline orbital system — desktop enhancement only.
   Mobile keeps the existing vertical selector unchanged. */
.discipline-orbits-svg, .discipline-beam, .discipline-trail { display: none; }
.inner-body.studio-orbit-page .inner-header {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
@media (min-width: 921px) {
  .discipline-orbit {
    min-height: 780px;
    height: 780px;
    height: clamp(780px, 62vw, 860px);
    margin-top: 62px;
    overflow: hidden;
    border-top: 1px solid rgba(255,255,255,.055);
    border-bottom: 1px solid rgba(255,255,255,.055);
    background:
      radial-gradient(circle at 50% 50%, rgba(70,94,255,.055), transparent 21%),
      radial-gradient(circle at 18% 48%, rgba(255,65,157,.045), transparent 25%),
      radial-gradient(circle at 83% 44%, rgba(72,215,255,.045), transparent 28%);
    -webkit-perspective: 1100px;
    perspective: 1100px;
    contain: layout paint;
  }

  .discipline-orbit:before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background:
      radial-gradient(circle at 50% 50%, transparent 0 33%, rgba(4,6,12,.08) 55%, rgba(4,6,12,.54) 100%),
      linear-gradient(180deg, rgba(6,8,14,.1), transparent 16%, transparent 84%, rgba(6,8,14,.25));
  }

  .discipline-orbit:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 410px;
    height: 410px;
    margin: -205px 0 0 -205px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 2;
    opacity: .62;
    background: radial-gradient(circle,
      rgba(255,255,255,.035) 0 8%,
      rgba(108,103,255,.06) 14%,
      rgba(255,78,168,.045) 27%,
      transparent 66%);
  }

  .discipline-orbits-svg {
    display: block;
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
    z-index: 3;
    opacity: 0;
    -webkit-transition: opacity 1s ease .18s, -webkit-transform .35s cubic-bezier(.22,.76,.24,1);
    transition: opacity 1s ease .18s, transform .35s cubic-bezier(.22,.76,.24,1);
  }

  .discipline-orbit.orbit-visible .discipline-orbits-svg { opacity: .88; }

  .discipline-orbits-svg .discipline-path {
    fill: none;
    stroke-width: 1.05;
    vector-effect: non-scaling-stroke;
    stroke-linecap: round;
    stroke-dasharray: 8 13 2 24;
    opacity: .56;
  }
  .discipline-orbits-svg .discipline-path-ghost {
    fill: none;
    stroke: rgba(255,255,255,.075);
    stroke-width: .8;
    vector-effect: non-scaling-stroke;
    opacity: .72;
  }
  .discipline-orbits-svg .discipline-path.d1 { stroke: rgba(229,112,211,.5); }
  .discipline-orbits-svg .discipline-path.d2 { stroke: rgba(99,207,255,.52); }
  .discipline-orbits-svg .discipline-path.d3 { stroke: rgba(255,167,87,.46); }
  .discipline-orbits-svg .discipline-path.d4 { stroke: rgba(188,231,92,.44); }
  .discipline-orbits-svg .discipline-path.d5 { stroke: rgba(255,84,179,.48); }

  .discipline-orbits-svg .discipline-ring {
    fill: none;
    stroke: rgba(255,255,255,.075);
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
  }

  .discipline-orbit.orbit-visible .discipline-path {
    -webkit-animation: disciplinePathDrift 24s linear infinite;
    animation: disciplinePathDrift 24s linear infinite;
  }

  .discipline-core {
    left: 50%;
    top: 50%;
    width: 198px;
    height: 198px;
    z-index: 12;
    border: 1px solid rgba(173,220,255,.18);
    color: #fff;
    font-size: 4.65rem;
    line-height: 1;
    text-shadow: 0 0 18px rgba(255,255,255,.65);
    background:
      radial-gradient(circle at 50% 48%, #fff 0 2%, #c9f6ff 4%, #76dfff 9%, #7270ff 18%, #ff4ea8 32%, rgba(255,78,168,.28) 46%, rgba(13,16,30,.18) 64%, transparent 72%);
    box-shadow:
      0 0 18px rgba(122,220,255,.28),
      0 0 54px rgba(108,103,255,.29),
      0 0 96px rgba(255,78,168,.17),
      inset 0 0 36px rgba(255,255,255,.1);
    -webkit-transform: translate3d(var(--core-x,0px),var(--core-y,0px),0) translate(-50%,-50%) scale(var(--core-scale,1));
    transform: translate3d(var(--core-x,0px),var(--core-y,0px),0) translate(-50%,-50%) scale(var(--core-scale,1));
    -webkit-transition: box-shadow .45s ease, border-color .45s ease;
    transition: box-shadow .45s ease, border-color .45s ease;
    isolation: isolate;
  }

  .discipline-core:before,
  .discipline-core:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 50%;
    pointer-events: none;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    z-index: -1;
  }

  .discipline-core:before {
    width: 144%;
    height: 144%;
    border: 1px solid rgba(107,220,255,.15);
    box-shadow: 0 0 38px rgba(110,103,255,.1);
    -webkit-animation: disciplineCorona 5.4s ease-in-out infinite;
    animation: disciplineCorona 5.4s ease-in-out infinite;
  }

  .discipline-core:after {
    width: 196%;
    height: 196%;
    border: 1px solid rgba(255,92,181,.08);
    background: radial-gradient(circle, transparent 57%, rgba(255,78,168,.025) 69%, transparent 73%);
    -webkit-animation: disciplineCoronaOuter 7.2s ease-in-out infinite reverse;
    animation: disciplineCoronaOuter 7.2s ease-in-out infinite reverse;
  }

  .discipline-orbit.has-focus .discipline-core {
    border-color: rgba(173,231,255,.38);
    box-shadow:
      0 0 22px rgba(122,220,255,.38),
      0 0 72px rgba(108,103,255,.4),
      0 0 124px rgba(255,78,168,.25),
      inset 0 0 42px rgba(255,255,255,.13);
  }

  .discipline-item,
  .discipline-item.d1,
  .discipline-item.d2,
  .discipline-item.d3,
  .discipline-item.d4,
  .discipline-item.d5 {
    width: 154px;
    height: 154px;
    left: 50%;
    right: auto;
    top: 50%;
    bottom: auto;
    margin: 0;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    overflow: visible;
    color: #f9f8f4;
    font-family: var(--sans);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .13em;
    line-height: 1.2;
    text-transform: uppercase;
    cursor: pointer;
    background:
      radial-gradient(circle at 30% 22%, rgba(255,255,255,.16), transparent 11%),
      radial-gradient(circle at 34% 27%, rgba(var(--planet-rgb),.34), transparent 25%),
      radial-gradient(circle at 50% 48%, rgba(var(--planet-rgb),.18), rgba(11,15,25,.9) 56%, rgba(4,6,12,.98) 82%);
    box-shadow:
      0 0 0 1px rgba(var(--planet-rgb),.05),
      0 0 28px rgba(var(--planet-rgb),.18),
      0 0 56px rgba(var(--planet-rgb),.07),
      inset 0 0 34px rgba(var(--planet-rgb),.17),
      inset -22px -24px 42px rgba(0,0,0,.55);
    text-shadow: 0 1px 10px rgba(0,0,0,.7);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    -webkit-transition: border-color .3s ease, box-shadow .3s ease, opacity .28s ease;
    transition: border-color .3s ease, box-shadow .3s ease, opacity .28s ease;
    will-change: transform, opacity;
    isolation: isolate;
  }

  .discipline-item.d1 { --planet-rgb: 211,99,194; width: 164px; height: 164px; }
  .discipline-item.d2 { --planet-rgb: 85,193,245; width: 154px; height: 154px; }
  .discipline-item.d3 { --planet-rgb: 239,145,71; width: 160px; height: 160px; }
  .discipline-item.d4 { --planet-rgb: 179,219,83; width: 148px; height: 148px; }
  .discipline-item.d5 { --planet-rgb: 234,80,169; width: 144px; height: 144px; }

  .discipline-item:before {
    content: "";
    position: absolute;
    top: 8px; right: 8px; bottom: 8px; left: 8px;
    inset: 8px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.05);
    background:
      radial-gradient(circle at 28% 22%, rgba(255,255,255,.12), transparent 12%),
      linear-gradient(128deg, transparent 15%, rgba(255,255,255,.035) 42%, transparent 61%);
    pointer-events: none;
    z-index: 0;
  }

  .discipline-item:after {
    content: "";
    position: absolute;
    top: -9px; right: -9px; bottom: -9px; left: -9px;
    inset: -9px;
    border-radius: 50%;
    border: 1px solid rgba(var(--planet-rgb),.11);
    box-shadow: 0 0 21px rgba(var(--planet-rgb),.11);
    pointer-events: none;
    z-index: 0;
    opacity: .72;
  }

  .discipline-item .discipline-label {
    position: relative;
    z-index: 3;
    pointer-events: none;
  }

  .discipline-item .discipline-trail {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 98px;
    height: 1px;
    z-index: -1;
    pointer-events: none;
    opacity: var(--trail-opacity,.2);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    background: linear-gradient(90deg, rgba(var(--planet-rgb),.58), rgba(var(--planet-rgb),.13) 48%, transparent 100%);
    box-shadow: 0 0 8px rgba(var(--planet-rgb),.14);
  }

  .discipline-orbit.orbit-enhanced:not(.orbit-visible) .discipline-item {
    opacity: 0 !important;
  }

  .discipline-orbit.orbit-visible .discipline-item {
    -webkit-transition: border-color .3s ease, box-shadow .3s ease, opacity .8s ease;
    transition: border-color .3s ease, box-shadow .3s ease, opacity .8s ease;
  }

  .discipline-orbit.has-focus .discipline-item:not(.is-focused) {
    opacity: .48 !important;
  }

  .discipline-orbit .discipline-item:hover,
  .discipline-orbit .discipline-item.active,
  .discipline-orbit .discipline-item.is-focused {
    border-color: rgba(var(--planet-rgb),.72);
    background:
      radial-gradient(circle at 30% 22%, rgba(255,255,255,.2), transparent 11%),
      radial-gradient(circle at 34% 27%, rgba(var(--planet-rgb),.44), transparent 27%),
      radial-gradient(circle at 50% 48%, rgba(var(--planet-rgb),.24), rgba(10,13,22,.88) 55%, rgba(4,6,12,.98) 82%);
    box-shadow:
      0 0 0 1px rgba(var(--planet-rgb),.1),
      0 0 32px rgba(var(--planet-rgb),.24),
      0 0 72px rgba(var(--planet-rgb),.08),
      inset 0 0 38px rgba(var(--planet-rgb),.17),
      inset -22px -24px 42px rgba(0,0,0,.48);
  }

  .discipline-beam {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    height: 1px;
    width: 0;
    z-index: 7;
    opacity: 0;
    pointer-events: none;
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    background: linear-gradient(90deg, rgba(155,221,255,.06), rgba(255,255,255,.5) 48%, rgba(255,89,181,.16));
    box-shadow: 0 0 12px rgba(123,206,255,.16);
    -webkit-transition: opacity .24s ease;
    transition: opacity .24s ease;
  }

  .discipline-orbit.has-focus .discipline-beam { opacity: .7; }

  .discipline-detail {
    z-index: 30;
    bottom: 15px;
    width: 640px;
    max-width: 72%;
    padding: 13px 18px 0;
    color: #aeb4c2;
    font-size: .92rem;
    line-height: 1.65;
    text-shadow: 0 1px 8px #05070d;
  }

  .discipline-orbit.orbit-enhanced .discipline-detail:before {
    content: "";
    display: block;
    width: 72px;
    height: 1px;
    margin: 0 auto 14px;
    background: linear-gradient(90deg, transparent, rgba(121,223,255,.55), transparent);
  }

  .discipline-orbit.orbit-reduced .discipline-path,
  .discipline-orbit.orbit-reduced .discipline-core:before,
  .discipline-orbit.orbit-reduced .discipline-core:after {
    -webkit-animation: none !important;
    animation: none !important;
  }
}

@media (min-width: 921px) and (max-width: 1120px) {
  .discipline-orbit {
    min-height: 720px;
    height: 720px;
  }
  .discipline-core { width: 174px; height: 174px; font-size: 4.15rem; }
  .discipline-item.d1 { width: 142px; height: 142px; }
  .discipline-item.d2 { width: 136px; height: 136px; }
  .discipline-item.d3 { width: 140px; height: 140px; }
  .discipline-item.d4 { width: 132px; height: 132px; }
  .discipline-item.d5 { width: 128px; height: 128px; }
  .discipline-detail { max-width: 68%; font-size: .86rem; }
}

@media (prefers-reduced-motion: reduce) and (min-width: 921px) {
  .discipline-orbits-svg .discipline-path,
  .discipline-core:before,
  .discipline-core:after {
    -webkit-animation: none !important;
    animation: none !important;
  }
  .discipline-item { will-change: auto; }
}

@-webkit-keyframes disciplinePathDrift {
  to { stroke-dashoffset: -190; }
}
@keyframes disciplinePathDrift {
  to { stroke-dashoffset: -190; }
}
@-webkit-keyframes disciplineCorona {
  0%,100% { opacity:.42; -webkit-transform:translate(-50%,-50%) scale(.96); transform:translate(-50%,-50%) scale(.96); }
  50% { opacity:.78; -webkit-transform:translate(-50%,-50%) scale(1.08); transform:translate(-50%,-50%) scale(1.08); }
}
@keyframes disciplineCorona {
  0%,100% { opacity:.42; -webkit-transform:translate(-50%,-50%) scale(.96); transform:translate(-50%,-50%) scale(.96); }
  50% { opacity:.78; -webkit-transform:translate(-50%,-50%) scale(1.08); transform:translate(-50%,-50%) scale(1.08); }
}
@-webkit-keyframes disciplineCoronaOuter {
  0%,100% { opacity:.24; -webkit-transform:translate(-50%,-50%) scale(.92); transform:translate(-50%,-50%) scale(.92); }
  50% { opacity:.5; -webkit-transform:translate(-50%,-50%) scale(1.04); transform:translate(-50%,-50%) scale(1.04); }
}
@keyframes disciplineCoronaOuter {
  0%,100% { opacity:.24; -webkit-transform:translate(-50%,-50%) scale(.92); transform:translate(-50%,-50%) scale(.92); }
  50% { opacity:.5; -webkit-transform:translate(-50%,-50%) scale(1.04); transform:translate(-50%,-50%) scale(1.04); }
}

/* 2026 reference-fidelity refinement: desktop-only orbital art direction. */
@media (min-width: 921px) {
  .discipline-orbit {
    position: relative;
    left: 50%;
    width: calc(100vw - 24px);
    max-width: 1600px;
    min-height: 820px;
    height: 860px;
    height: clamp(820px, 56vw, 900px);
    margin-top: 56px;
    margin-left: 0;
    overflow: hidden;
    border-top-color: rgba(255,255,255,.025);
    border-bottom-color: rgba(255,255,255,.025);
    background:
      radial-gradient(circle at 50% 49%, rgba(255,83,180,.07), transparent 17%),
      radial-gradient(circle at 50% 49%, rgba(73,128,255,.08), transparent 31%),
      radial-gradient(circle at 16% 43%, rgba(214,89,194,.08), transparent 27%),
      radial-gradient(circle at 84% 43%, rgba(58,211,255,.08), transparent 29%),
      linear-gradient(90deg, rgba(13,8,18,.11), rgba(4,7,13,.02) 48%, rgba(5,17,26,.12));
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .discipline-orbit:before {
    background:
      radial-gradient(circle at 50% 50%, transparent 0 30%, rgba(4,6,12,.025) 48%, rgba(4,6,12,.2) 76%, rgba(4,6,12,.44) 100%),
      radial-gradient(circle at 50% 50%, rgba(255,255,255,.014), transparent 56%);
  }

  .discipline-orbit:after {
    width: 560px;
    height: 560px;
    margin: -280px 0 0 -280px;
    opacity: .95;
    background: radial-gradient(circle,
      rgba(255,255,255,.05) 0 5%,
      rgba(114,227,255,.075) 10%,
      rgba(92,103,255,.095) 19%,
      rgba(255,78,168,.075) 30%,
      rgba(255,78,168,.018) 44%,
      transparent 69%);
  }

  .discipline-orbit.orbit-visible .discipline-orbits-svg { opacity: 1; }
  .discipline-orbits-svg .discipline-path-ghost {
    stroke: rgba(255,255,255,.09);
    stroke-width: .85;
    opacity: .82;
  }
  .discipline-orbits-svg .discipline-path {
    stroke-width: 1.25;
    stroke-dasharray: 7 11 1 19;
    opacity: .82;
  }
  .discipline-orbits-svg .discipline-path.d1 { stroke: rgba(242,114,225,.73); }
  .discipline-orbits-svg .discipline-path.d2 { stroke: rgba(94,215,255,.76); }
  .discipline-orbits-svg .discipline-path.d3 { stroke: rgba(255,162,80,.71); }
  .discipline-orbits-svg .discipline-path.d4 { stroke: rgba(198,240,83,.7); }
  .discipline-orbits-svg .discipline-path.d5 { stroke: rgba(255,82,184,.75); }
  .discipline-orbits-svg .discipline-ring { stroke: rgba(255,255,255,.1); }

  .discipline-orbits-svg .discipline-node-path {
    fill: none;
    stroke-width: 3.5;
    vector-effect: non-scaling-stroke;
    stroke-linecap: round;
    stroke-dasharray: 1 112 1 196;
    opacity: .82;
    -webkit-filter: drop-shadow(0 0 5px currentColor);
    filter: drop-shadow(0 0 5px currentColor);
  }
  .discipline-node-path.d1 { stroke: rgb(247,139,231); color: rgb(247,139,231); }
  .discipline-node-path.d2 { stroke: rgb(119,226,255); color: rgb(119,226,255); }
  .discipline-node-path.d3 { stroke: rgb(255,181,99); color: rgb(255,181,99); }
  .discipline-node-path.d4 { stroke: rgb(211,247,93); color: rgb(211,247,93); }
  .discipline-node-path.d5 { stroke: rgb(255,108,198); color: rgb(255,108,198); }
  .discipline-orbit.orbit-visible .discipline-node-path {
    -webkit-animation: disciplineNodeDrift 15s linear infinite;
    animation: disciplineNodeDrift 15s linear infinite;
  }
  .discipline-orbit.orbit-visible .discipline-node-path.d2 { -webkit-animation-duration:17s; animation-duration:17s; }
  .discipline-orbit.orbit-visible .discipline-node-path.d3 { -webkit-animation-duration:19s; animation-duration:19s; }
  .discipline-orbit.orbit-visible .discipline-node-path.d4 { -webkit-animation-duration:21s; animation-duration:21s; }
  .discipline-orbit.orbit-visible .discipline-node-path.d5 { -webkit-animation-duration:13s; animation-duration:13s; }

  .discipline-orbit.orbit-scrolling .discipline-path,
  .discipline-orbit.orbit-scrolling .discipline-node-path,
  .discipline-orbit.orbit-scrolling .discipline-core:before,
  .discipline-orbit.orbit-scrolling .discipline-core:after {
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
  }

  .discipline-core {
    width: 246px;
    height: 246px;
    font-size: 5.7rem;
    border-color: rgba(185,232,255,.3);
    background: radial-gradient(circle at 48% 46%,
      #fff 0 2.5%, #ebffff 4.5%, #7be8ff 10%, #7076ff 19%, #ff4ead 34%,
      rgba(255,78,168,.46) 45%, rgba(123,80,255,.18) 58%, rgba(8,12,25,.22) 70%, transparent 76%);
    box-shadow:
      0 0 20px rgba(145,237,255,.44),
      0 0 55px rgba(111,111,255,.5),
      0 0 105px rgba(255,78,168,.32),
      0 0 152px rgba(255,78,168,.12),
      inset 0 0 48px rgba(255,255,255,.16);
  }
  .discipline-core:before {
    width: 154%; height: 154%;
    border-color: rgba(122,228,255,.24);
    box-shadow: 0 0 52px rgba(120,199,255,.17), inset 0 0 30px rgba(255,87,189,.08);
  }
  .discipline-core:after {
    width: 224%; height: 224%;
    border-color: rgba(255,99,190,.14);
    background: radial-gradient(circle, transparent 54%, rgba(255,78,168,.04) 61%, rgba(102,154,255,.025) 69%, transparent 74%);
  }

  .discipline-item,
  .discipline-item.d1,
  .discipline-item.d2,
  .discipline-item.d3,
  .discipline-item.d4,
  .discipline-item.d5 {
    padding: 0 24px;
    border-color: rgba(255,255,255,.24);
    background:
      radial-gradient(circle at 31% 20%, rgba(255,255,255,.25), transparent 7%),
      radial-gradient(circle at 30% 24%, rgba(var(--planet-rgb),.5), transparent 22%),
      radial-gradient(circle at 62% 66%, rgba(var(--planet-rgb),.17), transparent 31%),
      radial-gradient(circle at 48% 46%, rgba(var(--planet-rgb),.24), rgba(10,14,25,.82) 52%, rgba(3,6,12,.98) 82%),
      linear-gradient(140deg, rgba(255,255,255,.045), transparent 36%, rgba(0,0,0,.18) 72%);
    box-shadow:
      0 0 0 1px rgba(var(--planet-rgb),.1),
      0 0 34px rgba(var(--planet-rgb),.3),
      0 0 76px rgba(var(--planet-rgb),.13),
      inset 0 0 47px rgba(var(--planet-rgb),.24),
      inset -34px -32px 56px rgba(0,0,0,.59),
      inset 15px 12px 24px rgba(255,255,255,.04);
  }
  .discipline-item.d1 { width: 206px; height: 206px; }
  .discipline-item.d2 { width: 196px; height: 196px; }
  .discipline-item.d3 { width: 202px; height: 202px; }
  .discipline-item.d4 { width: 192px; height: 192px; }
  .discipline-item.d5 { width: 184px; height: 184px; }

  .discipline-item:before {
    inset: 11px;
    border-color: rgba(255,255,255,.08);
    background:
      radial-gradient(circle at 28% 20%, rgba(255,255,255,.17), transparent 9%),
      radial-gradient(circle at 72% 70%, rgba(var(--planet-rgb),.09), transparent 24%),
      linear-gradient(128deg, transparent 11%, rgba(255,255,255,.05) 38%, transparent 58%);
    box-shadow: inset 0 0 23px rgba(var(--planet-rgb),.065);
  }
  .discipline-item:after {
    inset: -13px;
    border-color: rgba(var(--planet-rgb),.2);
    box-shadow: 0 0 28px rgba(var(--planet-rgb),.23), 0 0 56px rgba(var(--planet-rgb),.09);
    opacity: .92;
  }
  .discipline-item .discipline-label {
    font-size: .82rem;
    letter-spacing: .15em;
    text-shadow: 0 0 11px rgba(var(--planet-rgb),.22), 0 2px 12px rgba(0,0,0,.92);
  }
  .discipline-item .discipline-label:before {
    content: "";
    display: block;
    width: 20px;
    height: 1px;
    margin: 0 auto 12px;
    background: rgba(var(--planet-rgb),.78);
    box-shadow: 0 0 8px rgba(var(--planet-rgb),.5);
  }
  .discipline-item .discipline-trail {
    width: 140px;
    height: 1.2px;
    background: linear-gradient(90deg, rgba(var(--planet-rgb),.78), rgba(var(--planet-rgb),.27) 42%, transparent 100%);
    box-shadow: 0 0 10px rgba(var(--planet-rgb),.3);
  }

  .discipline-orbit .discipline-item:hover,
  .discipline-orbit .discipline-item.active,
  .discipline-orbit .discipline-item.is-focused {
    border-color: rgba(var(--planet-rgb),.9);
    box-shadow:
      0 0 0 1px rgba(var(--planet-rgb),.19),
      0 0 40px rgba(var(--planet-rgb),.4),
      0 0 92px rgba(var(--planet-rgb),.16),
      inset 0 0 52px rgba(var(--planet-rgb),.26),
      inset -28px -30px 48px rgba(0,0,0,.48);
  }

  .discipline-beam {
    height: 1.2px;
    background: linear-gradient(90deg, rgba(132,224,255,.08), rgba(255,255,255,.76) 45%, rgba(255,95,190,.24));
    box-shadow: 0 0 14px rgba(132,224,255,.3), 0 0 30px rgba(255,95,190,.08);
  }
  .discipline-orbit.has-focus .discipline-beam { opacity: .84; }

  .discipline-detail {
    bottom: 12px;
    max-width: 680px;
    color: #b6bdcb;
    background: linear-gradient(90deg, transparent, rgba(7,10,17,.36) 16%, rgba(7,10,17,.36) 84%, transparent);
  }
}

@media (min-width: 921px) and (max-width: 1120px) {
  .discipline-orbit { width: calc(100vw - 20px); min-height: 720px; height: 720px; }
  .discipline-core { width: 194px; height: 194px; font-size: 4.55rem; }
  .discipline-item.d1 { width: 158px; height: 158px; }
  .discipline-item.d2 { width: 152px; height: 152px; }
  .discipline-item.d3 { width: 156px; height: 156px; }
  .discipline-item.d4 { width: 148px; height: 148px; }
  .discipline-item.d5 { width: 142px; height: 142px; }
  .discipline-item .discipline-label { font-size: .68rem; }
}

@-webkit-keyframes disciplineNodeDrift { to { stroke-dashoffset: -510; } }
@keyframes disciplineNodeDrift { to { stroke-dashoffset: -510; } }

/* Preserve the detailed orbit artwork without repainting the full-width SVG on
   every frame. The planets provide the visible motion; these paths stay crisp. */
@media (min-width: 921px) {
  .discipline-orbit.orbit-visible .discipline-path,
  .discipline-orbit.orbit-visible .discipline-node-path {
    -webkit-animation: none;
    animation: none;
  }
}

/* Cleaner Studio orbit: planets move without pathway graphics or label dashes. */
@media (min-width: 921px) {
  .discipline-orbits-svg { display: none; }
  .discipline-item .discipline-label:before { display: none; }
}
