.category-hero {
  padding: clamp(3rem, 8vw, 5rem) 0 clamp(2rem, 5vw, 3rem);
  background: linear-gradient(180deg, #f5f5f7 0%, #ffffff 100%);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.category-hero__inner {
  display: grid;
  gap: 2rem;
  align-items: center;
}

.category-hero__copy {
  max-width: 34rem;
}

.category-hero__copy .eyebrow {
  margin-bottom: 0.75rem;
}

.category-hero__copy .headline-xl {
  margin: 0 0 1rem;
}

.category-hero__copy .body-lg {
  margin: 0;
  color: var(--color-text-muted);
}

.category-hero__visual {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 220px;
}

.category-hero__visual img {
  width: min(100%, 420px);
  max-height: 320px;
  object-fit: contain;
  filter: drop-shadow(0 24px 48px rgba(0, 0, 0, 0.12));
}

.category-page__grid {
  padding-top: 3rem;
  padding-bottom: 4rem;
}

@media (min-width: 900px) {
  .category-hero__inner {
    grid-template-columns: 1.1fr 0.9fr;
  }
}

@media (max-width: 768px) {
  .category-hero {
    padding: 2rem 0 1.5rem;
  }

  .category-hero__inner {
    gap: 1.25rem;
  }

  .category-hero__visual {
    min-height: 160px;
    order: -1;
  }

  .category-hero__visual img {
    max-height: 200px;
  }

  .category-hero__copy .headline-xl {
    font-size: clamp(1.65rem, 7vw, 2.1rem);
  }

  .category-hero__copy .body-lg {
    font-size: 1rem;
  }

  .category-page__grid {
    padding-top: 2rem;
    padding-bottom: 2.5rem;
  }
}

@media (max-width: 480px) {
  .category-hero__visual img {
    max-height: 160px;
  }
}
