/* The mascot appears only in the homepage About section. */
.mascot-figure {
  position: relative;
  isolation: isolate;
  width: min(100%, 310px);
  min-width: 0;
  margin: 0;
  justify-self: center;
  align-self: center;
  pointer-events: none;
}

.mascot-figure::before {
  position: absolute;
  z-index: -1;
  inset: 20% -8% 8%;
  content: "";
  background: radial-gradient(ellipse, rgba(0, 181, 226, 0.12), transparent 68%);
}

.mascot-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: contain;
  filter: drop-shadow(0 12px 20px rgba(0, 40, 85, 0.16));
}

.mascot-about-layout {
  grid-template-columns: 74px minmax(0, 1fr) minmax(220px, 310px);
  align-items: center;
  gap: clamp(28px, 4vw, 54px);
}

@media (min-width: 768px) and (max-width: 1199px) {
  .mascot-about-layout {
    grid-template-columns: minmax(0, 1fr) 250px;
    gap: 28px;
  }

  .mascot-about-layout > .section-index {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .mascot-about-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .mascot-about-layout > .mascot-figure {
    width: 200px;
    margin-top: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mascot-figure {
    animation: none;
    transition: none;
  }
}
