.az-site .az-banners {
  padding-block: var(--az-section-space);
}

.az-site .az-banners--authority,
.az-site .az-banners[data-variant="authority"],
.az-site .az-banners.az-banners--authority {
  width: 100%;
}

.az-site .az-banners--authority > .az-container,
.az-site .az-banners[data-variant="authority"] > .az-container,
.az-site .az-banners.az-banners--authority > .az-container {
  width: 100%;
  max-width: var(--az-boxed-max);
  margin-inline: auto;
  padding-inline: var(--az-boxed-pad);
  box-sizing: border-box;
}

.az-site .az-banners__grid {
  align-items: stretch;
}

.az-site .az-banners__stack {
  display: grid;
  gap: clamp(var(--az-space-3), 2.8vw, var(--az-space-6));
}

.az-site .az-banners__item {
  position: relative;
  display: block;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--az-border) 80%, var(--az-primary));
  border-radius: calc(var(--az-radius-current) + 0.125rem);
  background: color-mix(in srgb, var(--az-surface) 92%, var(--az-bg));
  box-shadow: var(--az-shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  text-decoration: none;
  color: inherit;
}

.az-site .az-banners__item:hover {
  text-decoration: none;
}

@media (hover: hover) {
  .az-site .az-banners__item:hover {
    transform: translateY(-4px);
    box-shadow: var(--az-shadow-md);
  }
}

.az-site .az-banners__media,
.az-site .az-banners__media-box {
  display: block;
}

.az-site .az-banners__image {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.az-site .az-banners__item--v1 {
  min-block-size: clamp(11rem, 24vw, 15.5rem);
}

.az-site .az-banners__item--v1 .az-banners__media {
  position: absolute;
  inset: 0;
}

.az-site .az-banners__item--v1 .az-banners__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 28%, color-mix(in srgb, var(--az-brand-blue-dark) 58%, transparent) 100%);
}

.az-site .az-banners__item--v1 .az-banners__content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: var(--az-space-3);
  align-content: end;
  min-block-size: inherit;
  padding: var(--az-space-5);
}

.az-site .az-banners__title {
  margin: 0;
}

.az-site .az-banners__item--v1 .az-banners__title {
  color: color-mix(in srgb, var(--az-surface) 96%, transparent);
}

.az-site .az-banners__text {
  font-size: var(--az-font-size-sm);
  line-height: var(--az-line-base);
  margin-bottom: 10px;
}

.az-site .az-banners__item--v1 .az-banners__text,
.az-site .az-banners__item--v1 .az-banners__text p {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
}

.az-site .az-banners__item--placeholder .az-banners__placeholder,
.az-site .az-banners__item--placeholder .az-banners__placeholder-box {
  display: block;
  min-block-size: clamp(10rem, 22vw, 14rem);
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--az-border) 82%, transparent), transparent),
    linear-gradient(180deg, color-mix(in srgb, var(--az-surface) 96%, var(--az-bg)), color-mix(in srgb, var(--az-bg) 92%, var(--az-border)));
}

.az-site .az-banners__item--v2 {
  display: grid;
  grid-template-columns: minmax(8.5rem, 34%) minmax(0, 1fr);
  align-items: stretch;
  min-block-size: 11rem;
}

.az-site .az-banners__item--v2 .az-banners__media-box {
  min-block-size: 100%;
}

.az-site .az-banners__item--v2 .az-banners__body {
  display: grid;
  gap: var(--az-space-3);
  align-content: center;
  padding: var(--az-space-5);
}

.az-site .az-banners__item--v2 .az-banners__text,
.az-site .az-banners__item--v2 .az-banners__text p {
  margin: 0;
  color: var(--az-muted);
}

.az-site .az-banners--authority {
  background:
    radial-gradient(48rem 20rem at 88% 4%, color-mix(in srgb, var(--az-primary) 9%, transparent), transparent 70%),
    linear-gradient(180deg, color-mix(in srgb, var(--az-surface) 94%, var(--az-bg)), color-mix(in srgb, var(--az-surface) 88%, var(--az-bg)));
}

.az-site .az-banners--authority .az-banners__authority-inner {
  display: grid;
  gap: clamp(var(--az-space-4), 3vw, var(--az-space-6));
  align-items: stretch;
}

.az-site .az-banners--authority .az-banners__authority-col {
  display: grid;
  align-content: start;
  gap: var(--az-space-3);
  min-height: 100%;
  padding: clamp(var(--az-space-5), 3vw, var(--az-space-6));
  border: 1px solid color-mix(in srgb, var(--az-border) 82%, var(--az-primary));
  border-radius: calc(var(--az-radius-current) + 0.125rem);
  background: color-mix(in srgb, var(--az-surface) 96%, var(--az-bg));
  box-shadow: none;
}

.az-site .az-banners--authority .az-banners__authority-col--has-image {
  background-color: var(--az-brand-blue-dark);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-color: color-mix(in srgb, var(--az-surface) 28%, transparent);
}

.az-site .az-banners--authority .az-banners__authority-heading {
  margin: 0;
  font-size: clamp(1.1rem, 2.2vw, 1.35rem);
  font-weight: 800;
  color: var(--az-text);
}

.az-site .az-banners--authority .az-banners__authority-title {
  margin: 0;
  font-size: var(--az-font-size-lg);
  font-weight: 700;
  color: var(--az-text);
}

.az-site .az-banners--authority .az-banners__authority-text {
  color: var(--az-muted);
  line-height: var(--az-line-base);
}

.az-site .az-banners--authority .az-banners__authority-text p:last-child {
  margin-bottom: 0;
}

.az-site .az-banners--authority .az-banners__authority-col--has-image .az-banners__authority-heading,
.az-site .az-banners--authority .az-banners__authority-col--has-image .az-banners__authority-title,
.az-site .az-banners--authority .az-banners__authority-col--has-image .az-banners__authority-text,
.az-site .az-banners--authority .az-banners__authority-col--has-image .az-banners__authority-text p {
  color: color-mix(in srgb, var(--az-surface) 96%, transparent);
}

.az-site .az-banners--authority .az-banners__authority-col--custom-color,
.az-site .az-banners--authority .az-banners__authority-col--custom-color .az-banners__authority-heading,
.az-site .az-banners--authority .az-banners__authority-col--custom-color .az-banners__authority-title,
.az-site .az-banners--authority .az-banners__authority-col--custom-color .az-banners__authority-text,
.az-site .az-banners--authority .az-banners__authority-col--custom-color .az-banners__authority-text p {
  color: var(--az-banner-text-color) !important;
}


.az-site .az-banners--authority .az-banners__authority-col--has-image .az-btn.az-btn-ghost:hover,
.az-site .az-banners--authority .az-banners__authority-col--has-image .az-btn.az-btn-ghost:focus-visible {
  background: var(--az-surface);
  color: var(--az-text);
}

.az-site .az-banners--authority .az-banners__authority-divider {
  display: none;
  inline-size: 100%;
  block-size: 1px;
  background: color-mix(in srgb, var(--az-border) 82%, transparent);
}

.az-site .az-banners--authority .az-banners__authority-col .az-btn {
  min-height: 3rem;
  padding: 0.75rem var(--az-space-6);
  box-shadow: none;
}

@media (min-width: 768px) {
  .az-site .az-banners__stack--cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .az-site .az-banners__stack--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .az-site .az-banners--authority .az-banners__authority-inner {
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
  }

  .az-site .az-banners--authority .az-banners__authority-divider {
    display: block;
    inline-size: 1px;
    block-size: 100%;
  }
}

@media (max-width: 767px) {
  .az-site .az-banners__item--v2 {
    grid-template-columns: minmax(0, 1fr);
  }

  .az-site .az-banners__item--v2 .az-banners__media-box {
    block-size: clamp(8rem, 36vw, 10.5rem);
  }
}
