.wbx-pattern-section {
  position: relative;
  padding-block: var(--wp--preset--spacing--lg);
}
.wbx-pattern-inner {
  width: min(100% - (2 * var(--wbx-gutter)), var(--wbx-content-default));
  margin-inline: auto;
}
.wbx-pattern-inner--wide {
  width: min(100% - (2 * var(--wbx-gutter)), var(--wbx-content-wide));
}
.wbx-pattern-stack,
.wbx-pattern-card,
.wbx-pattern-query-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--wp--preset--spacing--sm);
}
.wbx-pattern-stack > *,
.wbx-pattern-card > *,
.wbx-pattern-query-card > * {
  margin-block: 0;
}
.wbx-pattern-intro {
  max-width: 48rem;
  margin-block-end: var(--wp--preset--spacing--md);
}
.wbx-pattern-title { max-width: 18ch; }
.wbx-pattern-lead {
  max-width: 66ch;
  font-size: var(--wp--preset--font-size--lead);
  line-height: 1.5;
}
.wbx-pattern-card,
.wbx-pattern-query-card {
  padding: var(--wp--preset--spacing--md);
  border: 1px solid var(--wbx-color-border);
  border-radius: var(--wbx-radius-card);
  background: var(--wbx-color-white);
  box-shadow: var(--wbx-shadow-soft);
}
.wbx-pattern-card > .wp-block-buttons,
.wbx-pattern-query-card > .wp-block-post-excerpt,
.wbx-pattern-query-card > .wp-block-read-more {
  margin-block-start: auto;
}
.wbx-pattern-grid,
.wbx-pattern-bento,
.wbx-pattern-services,
.wbx-pattern-competence,
.wbx-pattern-query-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--wp--preset--spacing--sm);
}
.wbx-pattern-hero-grid,
.wbx-pattern-split,
.wbx-pattern-two-column {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: var(--wp--preset--spacing--md);
}
.wbx-pattern-grid > *,
.wbx-pattern-bento > *,
.wbx-pattern-services > *,
.wbx-pattern-competence > *,
.wbx-pattern-query-grid > *,
.wbx-pattern-hero-grid > *,
.wbx-pattern-split > *,
.wbx-pattern-two-column > *,
.wbx-pattern-ui > *,
.wbx-pattern-accordion > *,
.wbx-pattern-location-visual > *,
.wbx-showcase-hero-grid > *,
.wbx-showcase-bento > *,
.wbx-showcase-chips > * {
  margin-block: 0;
}
.wbx-pattern-hero {
  background:
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--wbx-color-mint) 24%, transparent), transparent 19rem),
    linear-gradient(145deg, var(--wbx-color-white), var(--wbx-color-offwhite));
}
.wbx-pattern-hero-copy .wp-block-buttons,
.wbx-pattern-band .wp-block-buttons {
  margin-block-start: var(--wp--preset--spacing--sm);
}
.wbx-pattern-bento .wbx-pattern-card,
.wbx-pattern-services .wbx-pattern-card,
.wbx-pattern-competence .wbx-pattern-card,
.wbx-pattern-query-card { height: 100%; }
.wbx-pattern-band {
  padding: var(--wp--preset--spacing--md);
  border: 1px solid var(--wbx-color-border);
  border-radius: var(--wbx-radius-card);
}
.wbx-pattern-band--dark {
  background: var(--wbx-color-navy);
  color: var(--wbx-color-white);
}
.wbx-pattern-band--dark :where(h2, h3, p) { color: inherit; }
.wbx-pattern-media {
  min-height: clamp(18rem, 55vw, 34rem);
  border: 1px solid var(--wbx-color-border);
  border-radius: var(--wbx-radius-card);
  background: var(--wbx-color-surface);
  overflow: hidden;
}
.wbx-pattern-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wbx-pattern-ui {
  display: grid;
  gap: var(--wp--preset--spacing--sm);
  padding: var(--wp--preset--spacing--md);
  border: 1px solid var(--wbx-color-border);
  border-radius: var(--wbx-radius-card);
  background: var(--wbx-color-offwhite);
}
.wbx-pattern-ui-row {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--sm);
  padding: var(--wp--preset--spacing--sm);
  border-radius: var(--wp--custom--radius--small);
  background: var(--wbx-color-white);
}
.wbx-pattern-checklist { padding-inline-start: 1.2em; }
.wbx-pattern-checklist li + li { margin-block-start: var(--wp--preset--spacing--xs); }
.wbx-pattern-accordion {
  display: grid;
  gap: var(--wp--preset--spacing--xs);
}
.wbx-pattern-accordion .wp-block-details {
  padding: var(--wp--preset--spacing--sm);
  border-block-end: 1px solid var(--wbx-color-border);
}
.wbx-pattern-accordion summary {
  cursor: pointer;
  font-weight: 700;
}
.wbx-pattern-location-visual {
  display: grid;
  min-height: 18rem;
  place-content: center;
  justify-items: center;
  gap: var(--wp--preset--spacing--sm);
  padding: var(--wp--preset--spacing--md);
  border-radius: var(--wbx-radius-card);
  background: var(--wp--preset--color--navy-soft);
  text-align: center;
}
.wbx-pattern-query-grid .wp-block-post-template {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--wp--preset--spacing--sm);
}
@media (min-width: 48rem) {
  .wbx-pattern-grid--2,
  .wbx-pattern-query-grid .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wbx-pattern-services,
  .wbx-pattern-competence,
  .wbx-pattern-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 64rem) {
  .wbx-pattern-hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(28rem, 0.95fr);
  }
  .wbx-pattern-split,
  .wbx-pattern-two-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wbx-pattern-grid--3,
  .wbx-pattern-services,
  .wbx-pattern-competence,
  .wbx-pattern-query-grid .wp-block-post-template {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .wbx-pattern-bento {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .wbx-pattern-bento > * { grid-column: span 2; }
  .wbx-pattern-bento > :nth-child(1),
  .wbx-pattern-bento > :nth-child(4) { grid-column: span 3; }
}
@media (prefers-reduced-motion: reduce) {
  .wbx-pattern-section *,
  .wbx-pattern-section *::before,
  .wbx-pattern-section *::after {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
  }
}

.wbx-pattern-inner--hero {
  width: min(100% - (2 * var(--wbx-gutter)), var(--wbx-content-hero));
}

.wbx-showcase-hero {
  position: relative;
  overflow: hidden;
  background: var(--wbx-color-white);
}

.wbx-showcase-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: var(--wp--preset--spacing--lg);
}

.wbx-showcase-title {
  max-width: none;
}

.wbx-showcase-copy {
  max-width: 38rem;
}

.wbx-showcase-bento {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--wp--preset--spacing--sm);
}

.wbx-showcase-card {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--wp--preset--spacing--sm);
  padding: var(--wp--preset--spacing--md);
  border: 1px solid var(--wbx-color-border);
  border-radius: var(--wbx-radius-card);
  box-shadow: var(--wbx-shadow-soft);
}

.wbx-showcase-card > * {
  margin-block: 0;
}

.wbx-showcase-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--xs);
  margin-block-start: var(--wp--preset--spacing--md);
}

.wbx-showcase-chip {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: var(--wp--preset--spacing--2xs);
  padding: 0.4rem 0.7rem;
  border: 1px solid var(--wbx-color-border);
  border-radius: var(--wbx-radius-pill);
  background: var(--wbx-color-white);
}

.wbx-showcase-chip p {
  margin: 0;
  font-size: var(--wp--preset--font-size--small);
}

@media (min-width: 48rem) {
  .wbx-showcase-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 72rem) {
  .wbx-showcase-hero-grid {
    grid-template-columns: minmax(30rem, 0.9fr) minmax(42rem, 1.1fr);
  }

  .wbx-showcase-bento {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .wbx-showcase-bento > :nth-child(1),
  .wbx-showcase-bento > :nth-child(2) {
    grid-column: span 6;
  }

  .wbx-showcase-bento > :nth-child(3) {
    grid-column: span 7;
  }

  .wbx-showcase-bento > :nth-child(4) {
    grid-column: span 5;
  }

  .wbx-showcase-bento > :nth-child(5) {
    grid-column: span 5;
  }

  .wbx-showcase-bento > :nth-child(6) {
    grid-column: span 7;
  }
}
