@layer components {
  .button { display: inline-flex; min-height: 2.625rem; align-items: center; justify-content: center; padding: 0.5625rem 1.875rem 0.625rem; border: 0.03125rem solid currentColor; border-radius: var(--radius-pill); font-size: var(--text-meta); font-style: italic; line-height: var(--line-height-ui); text-decoration: none; transition: color var(--transition-fast), background-color var(--transition-fast); }
  .button--dark { color: var(--color-white); background: var(--color-black); }
  .button--dark:hover { color: var(--color-black); background: var(--color-white); }
  h2.wp-block-heading { font-family: var(--font-display); font-size: var(--text-section-title); font-weight: 400; line-height: var(--line-height-tight); }
  h2.wp-block-heading[class*="is-style-marker-"] { display: table; }
  h2.wp-block-heading[class*="is-style-marker-"] .heading-marker__text,
  .editor-styles-wrapper h2.wp-block-heading[class*="is-style-marker-"] { background-image: linear-gradient(transparent 68%, var(--heading-marker) 68%, var(--heading-marker) 94%, transparent 94%); background-repeat: no-repeat; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
  h2.wp-block-heading[class*="is-style-marker-"] .heading-marker__text { padding-inline: 0.08em; }
  .wp-block-heading.is-style-marker-green { --heading-marker: var(--color-green); }
  .wp-block-heading.is-style-marker-blue { --heading-marker: var(--color-blue); }
  .wp-block-heading.is-style-marker-yellow { --heading-marker: var(--color-yellow); }
  .wp-block-heading.is-style-marker-orange { --heading-marker: var(--color-orange); }
  .wp-block-heading.is-style-marker-pink { --heading-marker: var(--color-pink); }
  .wp-block-heading.is-style-marker-black { --heading-marker: var(--color-black); color: var(--color-white); }
  .wp-block-heading.is-style-marker-gray { --heading-marker: var(--color-light-gray); }
  h3.wp-block-heading { font-family: var(--font-typewriter); font-size: var(--text-card-title); font-weight: 100; line-height: var(--line-height-card); }
  .wp-block-group.is-style-featured-text, p.is-style-featured-text { padding: var(--space-m); background: var(--color-light-gray); font-size: var(--text-meta); font-weight: 400; font-style: italic; line-height: var(--line-height-body); }
  .wp-block-group.is-style-featured-text > :first-child { margin-top: 0; }
  .wp-block-group.is-style-featured-text > :last-child { margin-bottom: 0; }
  .wp-block-image img { width: auto; max-width: 100%; }
  .wp-block-media-text { gap: var(--space-m); }
  .wp-block-gallery { gap: var(--space-s); }
}

@media (max-width: 64rem) {
  .button { white-space: normal; }
  .wp-block-media-text { gap: var(--space-s); }
}

@media (max-width: 37.5rem) {
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content { padding-inline: 0; }
}

/* Gutenberg presentation style: compact, uncropped logos with generous spacing. */
.wp-block-gallery.is-style-logo-gallery.has-nested-images {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-l);
  align-items: center;
}
.wp-block-gallery.is-style-logo-gallery.has-nested-images > figure.wp-block-image:not(#individual-image) {
  display: flex;
  width: min(100%, 10rem);
  min-height: 7rem;
  align-items: center;
  justify-content: center;
  justify-self: center;
  margin: 0;
}
.wp-block-gallery.is-style-logo-gallery.has-nested-images > figure.wp-block-image:not(#individual-image) img {
  width: auto;
  height: auto;
  max-width: min(100%, 10rem);
  max-height: 7rem;
  object-fit: contain;
}

@media (max-width: 48rem) {
  .wp-block-gallery.is-style-logo-gallery.has-nested-images { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 34rem) {
  .wp-block-gallery.is-style-logo-gallery.has-nested-images { grid-template-columns: 1fr; }
}
