:root {
  --elysia-accent: #b456a0;
  --elysia-accent-deep: #874679;
  --elysia-ink: #2b1738;
}

/* Keep the replacement character inside the original particle composition. */
#top_particle {
  scale: 0.98;
}

@media (width < 742px) {
  #top_particle {
    inline-size: 72dvw;
    left: 14dvw;
    top: 66dvh;
    scale: 1.85;
  }
}

.header-logo {
  inline-size: clamp(86px, 7vw, 116px);
  block-size: 30px;
  object-fit: contain;
  object-position: left center;
}

.footer-logo {
  inline-size: clamp(92px, 8vw, 128px);
  block-size: 34px;
  object-fit: contain;
  object-position: left center;
}

.footer-copyright {
  max-inline-size: 34rem;
  line-height: 1.5;
  text-align: right;
}

/* Keep both project entries on one consistent editorial image grid. */
.container-stack-works-image {
  aspect-ratio: 1412 / 571;
  overflow: hidden;
}

.works-image-content {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
}

/* Member portraits read as identities, not rectangular content thumbnails. */
.about-member-list-item-icon {
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  flex: 0 0 auto;
}

.about-member-list-item-icon-image {
  inline-size: 100%;
  block-size: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

.about-member-list-item-text {
  align-self: center;
}

/* Replace the remaining corporate blue calls-to-action with Elysia's restrained palette. */
.title-en,
.title-ja,
.works-link,
.contact-link,
.scroll-title {
  color: var(--elysia-accent);
}

.title-ja::before,
.scroll-down::before {
  background-color: var(--elysia-accent);
}

.works-link,
.contact-link {
  color: #fff;
  background-color: var(--elysia-accent);
}

.works-link:focus-visible,
.contact-link:focus-visible {
  outline: 2px solid var(--elysia-accent-deep);
  outline-offset: 4px;
}
