/* Right-hand introduction with a cropped orbit entering from the lower left. */
.faculty-orbit-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  align-items: center;
  gap: 2rem clamp(2rem, 4vw, 4rem);
  min-height: 0;
  padding: clamp(2rem, 4vw, 4rem) max(1.5rem, calc((100vw - 1480px) / 2));
}

.faculty-orbit-copy,
.faculty-preview {
  position: relative;
  inset: auto;
  grid-column: 2;
  width: 100%;
  margin: 0;
}

.faculty-orbit-copy { grid-row: 1; padding: 0; background: none; }
.faculty-orbit-copy h1 { font-size: clamp(3rem, 4.5vw, 4.8rem); }
.faculty-preview { grid-row: 2; min-height: 0; }

.faculty-orbit-scene {
  position: relative;
  inset: auto;
  grid-column: 1;
  grid-row: 1 / 3;
  width: 100%;
  margin: 0;
  transform: none;
  container-type: inline-size;
}

.faculty-orbit-ring { --orbit-radius: 41cqw; inset: 9%; }
.faculty-orbit-node { width: 15cqw; min-height: 15cqw; }
.faculty-medallion { width: clamp(44px, 14cqw, 112px); height: clamp(44px, 14cqw, 112px); }
.faculty-orbit-node:hover .faculty-medallion,
.faculty-orbit-node:focus-visible .faculty-medallion,
.faculty-orbit-node.is-active .faculty-medallion {
  width: clamp(48px, 15cqw, 120px);
  height: clamp(48px, 15cqw, 120px);
}
.faculty-orbit-core { inset: 24%; }
.faculty-core-halo { inset: -1rem; }
.faculty-orbit-station { display: none; }

.faculty-index-section { padding-top: 0; }
.faculty-index-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.faculty-index-card { text-decoration: none; }
.faculty-index-seal {
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  margin-bottom: .7rem;
  border-radius: 50%;
  background: var(--seal-blue);
  box-shadow: 0 0 0 5px rgba(39,126,175,.07);
}
.faculty-index-seal img { width: 88%; height: 88%; object-fit: contain; }
.faculty-index-card:focus-visible { outline: 3px solid var(--sea-deep); outline-offset: 4px; }

@media (max-width: 1100px) {
  .faculty-orbit-hero { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.5rem; }
  .faculty-orbit-copy h1 { font-size: 3rem; }
  .faculty-preview { padding: 1.2rem; }
  .faculty-index-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 861px) {
  .faculty-orbit-hero { min-height: 850px; }
  .faculty-orbit-scene {
    position: absolute;
    left: clamp(-300px, -20vw, -170px);
    bottom: -440px;
    width: clamp(800px, 78vw, 1120px);
  }
}

@media (max-width: 860px) {
  .faculty-orbit-hero { display: flex; flex-direction: column; padding: 2.5rem 1rem; gap: 2rem; }
  .faculty-orbit-copy, .faculty-preview { width: min(100%, 680px); margin: 0 auto; }
  .faculty-orbit-scene { width: min(100%, 680px); margin: 0 auto; }
}

@media (max-width: 480px) {
  .faculty-index-grid { grid-template-columns: 1fr; }
  .faculty-index-card { padding: 1.4rem; }
}
