/* Official subsidiary crests converge into the shared group emblem. */
.houses .section-heading { margin-bottom: 36px; }
.galaxy { --emblem-width: clamp(200px, 25vw, 300px); --emblem-height: calc(var(--emblem-width) * 126.11 / 109.97); position: relative; border-top: 1px solid rgba(242,238,232,.18); border-bottom: 1px solid rgba(242,238,232,.18); }
.galaxy-stage { position: relative; isolation: isolate; padding-top: 48px; }
.galaxy-houses { display: none; pointer-events: none; }
.galaxy-house { display: block; position: absolute; top: 0; left: 0; width: clamp(32px, 3.4vw, 44px); aspect-ratio: 185.245 / 212.523; height: auto; overflow: hidden; transform-origin: center; }
.galaxy-core { position: relative; width: var(--emblem-width); height: var(--emblem-height); margin: 0 auto; }
.galaxy-emblem { display: block; width: 100%; height: 100%; overflow: hidden; }
.galaxy-brand { position: relative; width: 100%; padding: 32px 0 36px; text-align: center; }
.galaxy-wordmark { display: block; width: 48%; max-width: 300px; height: auto; margin-inline: auto; overflow: hidden; }
.galaxy-brand > p { margin-top: 20px; font-size: 14px; line-height: 1.5; color: rgba(242,238,232,.76); }
.galaxy-logos { border: 0; padding-block: 52px 20px; gap: 24px 32px; }
.galaxy-logos img { width: 100%; height: 100px; object-fit: contain; padding: 22px 20px; opacity: 1; }

/* Keep the deliberately slow, user-controlled runway already approved. */
.galaxy.is-enhanced { height: 320svh; }
.galaxy.is-enhanced .galaxy-stage { position: sticky; top: calc(var(--header-height) + 1px); height: calc(100svh - var(--header-height) - 1px); max-height: none; min-height: 0; padding: 0; overflow: hidden; }
.galaxy.is-enhanced .galaxy-houses { display: block; position: absolute; inset: 0; }
.galaxy.is-enhanced .galaxy-core { position: absolute; top: 50%; left: 50%; margin: 0; transform: translate(-50%,-50%); }
.galaxy.is-enhanced .galaxy-brand { position: absolute; top: calc(50% + var(--emblem-height) / 2 + 28px); left: 0; padding: 0; pointer-events: none; }

@media (max-width: 900px) {
  .galaxy-logos { gap: 18px; }
  .galaxy-logos img { padding: 20px 12px; }
}
@media (max-width: 640px) {
  .galaxy { --emblem-width: clamp(154px, 45vw, 190px); }
  .galaxy-house { width: 28px; }
  .galaxy-wordmark { width: 60%; max-width: 220px; }
  .galaxy-brand > p { font-size: 13px; margin-top: 18px; }
  .galaxy.is-enhanced { height: 360svh; }
  .galaxy-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; padding-block: 32px 12px; }
  .galaxy-logos img { height: 64px; padding: 8px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .galaxy.is-enhanced { height: auto; }
  .galaxy.is-enhanced .galaxy-stage { position: relative; top: auto; height: auto; max-height: none; overflow: visible; padding-top: 48px; }
  .galaxy.is-enhanced .galaxy-core { position: relative; inset: auto; margin: 0 auto; transform: none; }
  .galaxy.is-enhanced .galaxy-brand { position: relative; inset: auto; transform: none !important; opacity: 1 !important; }
  .galaxy.is-enhanced .galaxy-brand { padding: 32px 0 36px; }
  .galaxy-emblem { transform: none !important; opacity: 1 !important; }
  .galaxy.is-enhanced .galaxy-houses { display: none; }
}
