/* kit-audience — Reference Kit block (Wave 2 P1 rhythm polish) */
.kit-audience {
  container-type: inline-size;
  --kit-audience-text: var(--semantic-text-primary);
  --kit-audience-padding-y: var(--semantic-spacing-3xl, 4rem);
  --kit-audience-padding-x: var(--layout-container-gutter, var(--semantic-spacing-xl, 2rem));
  --kit-audience-radius: var(--semantic-radius-m, .75rem);
  --kit-audience-shadow: none;
  background: var(--kit-audience-band-bg, var(--theme-kit-band-bg, transparent));
  color: var(--kit-audience-text);
  font-family: var(--kit-audience-font-family, inherit);
}
.kit-audience__container {
  width: 100%;
  max-width: var(--layout-container-max-width, var(--semantic-layout-container-max-width, 72rem));
  margin-inline: auto;
  padding: var(--kit-audience-padding-y) var(--kit-audience-padding-x);
  background: var(--kit-audience-bg, var(--semantic-surface-bg-elevated));
  border-radius: var(--kit-audience-radius, var(--semantic-radius-none));
  box-shadow: var(--kit-audience-shadow, none);
}
.kit-audience__header {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin-bottom: 2.25rem;
}
.kit-audience__header--title-center { align-items: center; }
.kit-audience__header--title-left { align-items: flex-start; }
.kit-audience__header--title-right { align-items: flex-end; }
.kit-audience__header-rule {
  width: 3.25rem;
  height: 2px;
  margin: 0 0 .15rem;
  border-radius: 999px;
  background: color-mix(
    in srgb,
    var(--semantic-accent-primary, #c9a227) 88%,
    #f0d78c 12%
  );
  flex: 0 0 auto;
}
.kit-audience__title {
  margin: 0;
  max-width: 36rem;
  font-size: var(
    --kit-audience-title-size-fluid,
    var(--kit-audience-title-size-mobile, var(--semantic-typography-display-section-size))
  );
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.kit-audience__subtitle {
  margin: 0;
  max-width: 40rem;
  font-size: var(
    --kit-audience-subtitle-size-fluid,
    var(--kit-audience-subtitle-size-mobile, var(--semantic-typography-body-l-size))
  );
  line-height: 1.55;
  opacity: .78;
}
.kit-audience__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 1.15rem;
}
.kit-audience--layout-cards .kit-audience__list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 64rem) {
  .kit-audience--layout-cards .kit-audience__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.kit-audience__item {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding: 1.1rem 1.1rem 1.25rem;
  border: 1px solid var(--semantic-border-default);
  border-radius: var(--kit-audience-radius);
  box-shadow: var(--kit-audience-shadow);
  background: var(--semantic-surface-bg-card);
}
.kit-audience__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  margin-top: auto;
  padding: 0.5rem 1rem;
  border-radius: var(--kit-audience-cta-radius, var(--component-button-radius-default, var(--semantic-radius-m, 0.5rem)));
  background: var(--semantic-accent-primary, #2563eb);
  color: var(--semantic-accent-contrast, #fff);
  text-decoration: none;
  font-size: var(--semantic-typography-body-s-size, 0.875rem);
}
.kit-audience__cta:focus-visible {
  outline: 2px solid var(--semantic-accent-primary, currentColor);
  outline-offset: 2px;
}
.kit-audience__media--image {
  margin: 0;
  overflow: hidden;
  border-radius: calc(var(--kit-audience-radius) * .85);
  /* Full card width, compact strip height (~136px) — not a square thumb. */
  width: 100%;
  max-width: 100%;
  height: 8.5rem;
  background: var(--semantic-surface-bg-card);
}
.kit-audience__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.kit-audience__head {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-width: 0;
}
.kit-audience__icon,
.kit-audience__media--letter {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--semantic-accent-primary, var(--kit-audience-text)) 35%, transparent);
  background: color-mix(in srgb, var(--semantic-accent-primary, var(--kit-audience-text)) 12%, transparent);
  color: var(--semantic-accent-primary, var(--kit-audience-text));
  font-size: 1rem;
  line-height: 1;
}
.kit-audience__icon--accent {
  width: 2rem;
  height: 2rem;
  font-size: .95rem;
}
.kit-audience__icon:empty { display: none; }
.kit-audience__item-title {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.3;
}
.kit-audience__item-description {
  margin: 0;
  line-height: 1.55;
  opacity: .8;
}
.kit-audience--layout-grid_2 .kit-audience__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kit-audience--layout-list .kit-audience__list { grid-template-columns: 1fr; }
.kit-audience--layout-list .kit-audience__item {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
}
.kit-audience--layout-list .kit-audience__cta {
  margin-left: 0;
  width: 100%;
}
@media (max-width: 63.999rem) {
  .kit-audience__container {
    padding-block: var(--kit-audience-padding-y-tablet, var(--kit-audience-padding-y));
    padding-inline: var(--kit-audience-padding-x-tablet, var(--kit-audience-padding-x));
  }
}
@media (max-width: 47.999rem) {
  .kit-audience__container {
    padding-block: var(--kit-audience-padding-y-mobile, var(--kit-audience-padding-y));
    padding-inline: var(--kit-audience-padding-x-mobile, var(--kit-audience-padding-x));
  }
  .kit-audience--layout-grid_2 .kit-audience__list { grid-template-columns: 1fr; }
  .kit-audience--layout-list .kit-audience__item { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .kit-audience *,
  .kit-audience *::before,
  .kit-audience *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
.kit-audience,
.kit-audience * { box-sizing: border-box; }
