/* Homepage and business directory cards: full-scene illustration with a soft, readable copy zone. */
body :is(.section-links, .types) .business-type-card {
  align-items: stretch;
  padding: 0;
  background: #edf4fc;
  color: #17263d;
}

body :is(.section-links, .types) .business-type-card::before {
  display: none;
}

body :is(.section-links, .types) .business-type-card .type-card-art {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  transition: transform .45s ease;
}

body :is(.section-links, .types) .business-type-card::after {
  z-index: 1;
  background: linear-gradient(180deg,
    rgba(248, 251, 255, 0) 0%,
    rgba(248, 251, 255, 0) 48%,
    rgba(248, 251, 255, .56) 62%,
    rgba(248, 251, 255, .96) 79%,
    #f8fbff 100%);
}

body :is(.section-links, .types) .business-type-card .type-card-content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: inherit;
  flex-direction: column;
  align-items: flex-start;
  padding: 25px 27px 24px;
}

body :is(.section-links, .types) .business-type-card .type-card-top {
  position: absolute;
  top: 22px;
  left: 27px;
  right: 27px;
  margin: 0;
  color: #174b91;
  font-size: 11px;
  letter-spacing: .045em;
}

body :is(.section-links, .types) .business-type-card .type-card-top > span {
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 2px 8px rgba(23,38,61,.07);
}

body :is(.section-links, .types) .business-type-card .type-card-top em {
  width: 34px;
  height: 34px;
  border-color: rgba(255,255,255,.8);
  background: rgba(255,255,255,.86);
  color: #174b91;
  box-shadow: 0 2px 8px rgba(23,38,61,.07);
}

body :is(.section-links, .types) .business-type-card :is(h3, .business-type-title) {
  max-width: 100%;
  margin: auto 0 8px;
  color: #17263d;
  font-size: clamp(22px, 2.05vw, 28px);
}

body :is(.section-links, .types) .business-type-card :is(p, .business-type-description) {
  max-width: 100%;
  min-height: 0;
  color: #52647d;
  font-size: 13px;
  line-height: 1.48;
}

body :is(.section-links, .types) .business-type-card .type-card-label {
  margin-top: 12px;
  color: #1557b5;
  font-size: 12px;
}

body :is(.section-links, .types) .business-type-card:hover .type-card-art { transform: scale(1.035); }

@media (max-width: 1000px) {
  body :is(.section-links, .types) .business-type-card .type-card-content { padding: 22px 23px; }
  body :is(.section-links, .types) .business-type-card .type-card-top { top: 19px; left: 23px; right: 23px; }
  body :is(.section-links, .types) .business-type-card :is(h3, .business-type-title) { font-size: 23px; }
  body :is(.section-links, .types) .business-type-card :is(p, .business-type-description) { font-size: 12px; }
}

@media (max-width: 680px) {
  body :is(.section-links, .types) .business-type-card { min-height: 335px; }
  body :is(.section-links, .types) .business-type-card .type-card-content { padding: 19px 19px 20px; }
  body :is(.section-links, .types) .business-type-card .type-card-top { top: 16px; left: 19px; right: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  body :is(.section-links, .types) .business-type-card .type-card-art { transition: none; }
}
