.products-hero {
  background: linear-gradient(135deg, var(--navy-2), var(--navy) 68%, #0c5599);
  padding: 5rem 0 4.5rem;
}
.products-hero .eyebrow {
  display: inline-block;
  margin-bottom: 1rem;
  color: var(--sky);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.products-hero h1 { max-width: 840px; color: var(--white); margin-bottom: 1rem; }
.products-hero .lead {
  max-width: 730px;
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: 1.15rem;
  line-height: 1.65;
}
.products-catalog { background: var(--bg-soft); }
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
.product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  color: var(--text-dark);
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition), box-shadow var(--transition);
}
a.product-card:hover { color: var(--text-dark); transform: translateY(-3px); box-shadow: var(--shadow-md); }
.product-card .visual {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #eaf2f8;
  border-bottom: 1px solid var(--border);
}
.product-card .visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-card .body { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }
.product-card .tag {
  align-self: flex-start;
  margin-bottom: .75rem;
  padding: .28rem .55rem;
  color: var(--navy);
  background: var(--light-blue);
  border-radius: 4px;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.product-card .status {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: .35rem .65rem;
  color: #fff;
  background: var(--navy);
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.product-card h2 { color: var(--navy); font-size: 1.28rem; margin-bottom: .65rem; }
.product-card p { color: var(--text-muted); font-size: .96rem; line-height: 1.55; }
.product-card ul { margin: .15rem 0 1.35rem; padding-left: 1.1rem; color: var(--text-muted); font-size: .88rem; line-height: 1.6; }
.product-card .open-link { margin-top: auto; color: var(--navy); font-weight: 700; }
.catalog-note { max-width: 760px; margin: 2rem auto 0; color: var(--text-muted); text-align: center; font-size: .92rem; }
.nav-list a[aria-current="page"] { color: var(--navy); font-weight: 700; }
@media (max-width: 900px) { .product-grid { grid-template-columns: 1fr; max-width: 640px; margin: 0 auto; } }
@media (max-width: 620px) { .products-hero { padding: 4rem 0 3.5rem; } }
