[x-cloak] {
  display: none;
}

body {
  font-family: 'DM Sans', system-ui, sans-serif;
}

/* McMaster page: white background, maroon/gold/grey palette */
.bg-page {
  background: #fff;
  overflow-x: hidden;
}


/* McMaster crest: right -37%, left edge under "Join the webring" / table; not cropped, no mobile rules */
.bg-logo-watermark {
  position: absolute;
  top: 0;
  right: -37%;
  bottom: 0;
  width: 85%;
  min-width: 55%;
  pointer-events: none;
  z-index: -1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  overflow: visible;
}

.bg-logo-watermark img {
  width: 100%;
  height: auto;
  max-height: 90%;
  object-fit: contain;
  object-position: right center;
  opacity: 0.05;
}

/* Watermark spans full content section (list + ring), bleeds into ring background */
.content-section {
  position: relative;
}

.content-watermark.bg-logo-watermark {
  position: absolute;
  inset: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 0;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.content-watermark.bg-logo-watermark img {
  opacity: 0.06;
  object-position: center center;
}

.content-panel {
  position: relative;
  z-index: 1;
}

.member-row {
  transition: background-color 0.15s ease;
}

.member-row:hover {
  background-color: rgba(122, 0, 60, 0.06);
}

.member-row.member-row--highlight {
  background-color: rgba(253, 191, 87, 0.12);
}

details summary::-webkit-details-marker {
  display: none;
}

.search-input:focus {
  outline: none;
  border-color: #7A003C;
  box-shadow: 0 0 0 2px rgba(122, 0, 60, 0.12);
}

.btn-join {
  background: #7A003C;
  color: #fff;
  font-weight: 500;
  transition: background 0.2s ease, transform 0.05s ease;
}

.btn-join:hover {
  background: #5a002d;
}

.btn-join:active {
  transform: scale(0.98);
}

.badge-program {
  background: rgba(122, 0, 60, 0.14);
  color: #7A003C;
}

.badge-year {
  background: rgba(73, 89, 101, 0.12);
  color: #495965;
}

.heading-tight {
  letter-spacing: -0.02em;
}

/* Orbit box: no grid, clean background */
.ring-orbit-body {
  background: #fff;
}

/* Ring rotation: alternating directions */
@keyframes ring-rotate-cw {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes ring-rotate-ccw {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}
#ring-orbit-container .ring-rotate-cw {
  transform-origin: 50% 50%;
  animation: ring-rotate-cw 120s linear infinite;
}
#ring-orbit-container .ring-rotate-ccw {
  transform-origin: 50% 50%;
  animation: ring-rotate-ccw 120s linear infinite;
}

/* Pointer on orbit nodes */
#ring-orbit-container circle[pointer-events="auto"] {
  cursor: pointer;
}

/* Content panels: McMaster colors, ring confined to panel size */
.content-panel-label {
  color: #fff;
  background: #7A003C;
}

