.catalog-hero {
  background: radial-gradient(ellipse at 88% 20%, #0057b8, transparent 65%), #0a2e59;
  color: white;
}
.catalog-hero .wrap { padding-block: 3.5rem; }
.catalog-hero .eyebrow { color: #ffb46e; }
.catalog-hero h1 { margin-bottom: .65rem; }
.catalog-hero p:not(.eyebrow) { color: #d7eaff; font-size: 1.1rem; }
.catalog-content { padding-top: 2rem; }
.catalog-filters { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1rem; margin: 1.5rem 0 .85rem; }
.catalog-card { overflow: hidden; border: 1px solid var(--line); border-radius: .85rem; background: white; }
.catalog-image { display: block; width: 100%; height: auto; aspect-ratio: 2; background: var(--light); }
.catalog-copy { padding: 1.05rem 1.2rem 1.25rem; }
.catalog-copy .eyebrow { margin-bottom: .45rem; }
.catalog-copy h2 { font-size: 1.3rem; line-height: 1.25; margin: 0 0 .5rem; letter-spacing: -.02em; }
.catalog-copy h2 a { color: var(--ink); }
.catalog-copy p:last-child { margin-bottom: 0; }
.catalog-copy p:not(.eyebrow) { color: var(--muted); }
.catalog-detail > .eyebrow { margin: 1.5rem 0 .65rem; }
.catalog-detail .catalog-image { border: 1px solid var(--line); border-radius: .85rem; margin: 1.4rem 0; }
@media (max-width: 560px) {
  .catalog-filters { grid-template-columns: 1fr; }
  .catalog-hero .wrap { padding-block: 2.75rem; }
}
