.wp-block-button__link,
.wp-element-button,
.hh-kicker {
  font-family: var(--hh-font-body);
}

main.wp-block-group,
.entry-content,
.wp-block-post-content,
.wp-site-blocks main {
  background-color: var(--hh-section-bg);
  display: grid;
  gap: 0;
  margin-block-start: 0;
  margin-top: 0;
  max-width: none;
  width: 100%;
}

.entry-content > .wp-block-group,
.wp-site-blocks main > .wp-block-group,
.wp-block-post-content > .wp-block-group {
  background-color: var(--hh-section-bg);
  background-image: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin-block: 0;
  margin-inline: 0;
  max-width: none;
  min-height: 0;
  overflow: visible;
  padding: var(--hh-section-y) var(--hh-section-x);
  position: relative;
}

.entry-content > .wp-block-group:not(.hh-hero):not(.hh-quote):not(.hh-cta),
.wp-site-blocks main > .wp-block-group:not(.hh-hero):not(.hh-quote):not(.hh-cta),
.wp-block-post-content > .wp-block-group:not(.hh-hero):not(.hh-quote):not(.hh-cta) {
  background-color: var(--hh-section-bg);
  background-image: none;
}

.entry-content > .wp-block-group:not(.hh-hero),
.wp-block-post-content > .wp-block-group:not(.hh-hero) {
  min-height: 0;
}

.entry-content > .wp-block-group.hh-hero,
.wp-site-blocks main > .wp-block-group.hh-hero,
.wp-block-post-content > .wp-block-group.hh-hero,
.hh-hero {
  --hh-hero-height: calc(
    var(--hh-viewport-height) - var(--hh-header-height) -
      var(--wp-admin--admin-bar--height, 0px)
  );
  align-content: center;
  align-items: center;
  background:
    radial-gradient(
      circle at 86% 18%,
      color-mix(in srgb, var(--hh-brand) 28%, var(--hh-sand)),
      var(--hh-sand) 16rem
    ),
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--hh-sand-light) 74%, white),
      var(--hh-sand)
    );
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: var(--hh-hero-height);
  isolation: isolate;
  justify-content: center;
  max-height: var(--hh-hero-height);
  min-height: 0;
  overflow: hidden;
  padding-block: clamp(0.85rem, 1.8vh, 1.5rem);
  position: relative;
}

.hh-hero::before,
.hh-hero::after {
  border-radius: 999px;
  content: "";
  filter: blur(4px);
  pointer-events: none;
  position: absolute;
}

.hh-hero::before {
  background: var(--hh-brand-soft);
  height: 18rem;
  right: -5rem;
  top: -4rem;
  width: 18rem;
}

.hh-hero::after {
  background: var(--hh-accent-soft);
  bottom: -5rem;
  height: 14rem;
  left: -4rem;
  width: 14rem;
}

.hh-hero > * {
  max-height: 100%;
  min-height: 0;
  position: relative;
  width: 100%;
  z-index: 1;
}

.hh-hero-grid {
  gap: clamp(2.5rem, 7vw, 6.5rem);
}

.hh-hero-copy {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.hh-hero-media {
  background: transparent;
  border: 0;
  box-shadow: none;
  isolation: isolate;
  padding: 0;
  position: relative;
}

.hh-hero-media .hh-hero-image {
  position: relative;
}

.hh-hero-image {
  margin: 0;
  position: relative;
  z-index: 1;
}

.hh-hero-image img {
  aspect-ratio: 4 / 5;
  border-radius: 2.25rem;
  box-shadow: 0 28px 70px rgba(61, 56, 53, 0.18);
  height: auto;
  max-height: 100%;
  object-fit: cover;
  width: 100%;
}

/* Hero audio card — must beat WP layout / global-padding utilities */
.hh-hero-media > .wp-block-group.hh-audio-card,
.hh-hero-image > .wp-block-group.hh-audio-card,
.wp-block-group.hh-audio-card {
  --hh-audio-card-width: 14.75rem;
  align-items: flex-start;
  background: color-mix(in srgb, white 97%, var(--hh-sand));
  border: 1px solid color-mix(in srgb, var(--hh-sand-deep) 10%, white);
  border-radius: 1.75rem;
  bottom: clamp(1.1rem, 3vw, 1.6rem);
  box-shadow: 0 16px 36px color-mix(in srgb, var(--hh-ink) 10%, transparent);
  box-sizing: border-box;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 0;
  height: auto;
  justify-content: flex-start;
  left: clamp(1.1rem, 3vw, 1.6rem);
  margin: 0;
  max-width: var(--hh-audio-card-width);
  min-width: var(--hh-audio-card-width);
  padding: 1.2rem 1.35rem 1.15rem;
  position: absolute;
  right: auto;
  text-align: left;
  top: auto;
  transform: none;
  width: var(--hh-audio-card-width);
  z-index: 4;
}

.entry-content .wp-block-group.hh-audio-card.has-global-padding,
.entry-content .hh-hero .wp-block-group.hh-audio-card.alignfull,
.wp-block-group.hh-audio-card.is-layout-constrained,
.wp-block-group.hh-audio-card[class*="wp-container-core-group"] {
  margin-inline: 0 !important;
  max-width: var(--hh-audio-card-width) !important;
  padding: 1.2rem 1.35rem 1.15rem !important;
  width: var(--hh-audio-card-width) !important;
}

.hh-hero-image,
.hh-hero-media {
  overflow: visible;
}

.hh-audio-card.is-layout-flex,
.hh-audio-card.is-layout-constrained,
.hh-audio-card.wp-block-group {
  align-items: flex-start;
  justify-content: flex-start;
}

.hh-audio-card > *,
.hh-audio-card .wp-block-group:not(.hh-audio-card__footer) {
  align-self: flex-start;
  margin-inline: 0;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

.hh-audio-card > .hh-audio-card__link,
.hh-audio-card > .hh-mini-link,
.hh-audio-card > .hh-audio-card__footer {
  width: auto;
}

.hh-audio-card > .hh-audio-card__footer {
  width: 100%;
}

.hh-audio-card--bottom {
  bottom: clamp(1.1rem, 3vw, 1.6rem);
  top: auto;
}

.hh-audio-card--top {
  bottom: auto;
  top: clamp(1.1rem, 3vw, 1.6rem);
}

.hh-audio-card__label,
.hh-audio-card .hh-kicker {
  color: color-mix(in srgb, var(--hh-ink-muted) 92%, var(--hh-sand-deep));
  font-family: var(--hh-font-body);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  line-height: 1.2;
  margin: 0 0 0.65rem;
  text-align: left;
  text-transform: uppercase;
  width: 100%;
}

.hh-audio-card p {
  margin: 0;
  margin-inline: 0;
}

.hh-audio-card__title,
.hh-audio-card
  p:not(.hh-audio-card__label):not(.hh-audio-card__link):not(.hh-audio-card__play):not(
    .hh-kicker
  ):not(.hh-mini-link) {
  color: var(--hh-ink);
  font-family: var(--hh-font-brand);
  font-size: clamp(1.125rem, 2.2vw, 1.25rem);
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.3;
  margin: 0 0 0.85rem;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: break-word;
  text-align: left;
  text-wrap: pretty;
}

.hh-audio-card__footer,
.hh-audio-card__footer.is-layout-flex,
.hh-audio-card__footer.is-content-justification-center,
.hh-audio-card__footer.is-content-justification-right,
.hh-audio-card__footer.is-content-justification-space-between {
  align-items: center;
  align-self: flex-start;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.6rem;
  justify-content: flex-start;
  margin: 0;
  margin-inline: 0;
  max-width: 100%;
  width: 100%;
}

.hh-audio-card__footer.wp-block-group {
  margin-block: 0;
}

.hh-audio-card__play {
  background: color-mix(in srgb, var(--hh-brand) 22%, white);
  border-radius: 999px;
  flex-shrink: 0;
  height: 2rem;
  margin: 0;
  min-height: 2rem;
  min-width: 2rem;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 2rem;
}

.hh-audio-card__play::after {
  border-bottom: 0.34rem solid transparent;
  border-left: 0.54rem solid var(--hh-ink);
  border-top: 0.34rem solid transparent;
  content: "";
  height: 0;
  left: 56%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 0;
}

.hh-audio-card__link,
.hh-audio-card .hh-mini-link {
  align-items: center;
  align-self: flex-start;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--hh-brand-dark);
  display: inline-flex;
  font-family: var(--hh-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  gap: 0.6rem;
  justify-content: flex-start;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  margin-inline: 0;
  padding: 0;
  text-align: left;
  text-transform: none;
  width: auto;
}

.hh-audio-card__footer .hh-audio-card__link,
.hh-audio-card__footer .hh-mini-link {
  align-self: center;
  flex: 1 1 auto;
  min-height: 2rem;
  min-width: 0;
  overflow-wrap: break-word;
}

.hh-audio-card__link:focus,
.hh-audio-card .hh-mini-link:focus {
  outline: none;
}

.hh-audio-card__link:focus-visible,
.hh-audio-card .hh-mini-link:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--hh-brand) 55%, transparent);
  outline-offset: 3px;
}

.hh-audio-card:not(:has(.hh-audio-card__play)) .hh-audio-card__link::before,
.hh-audio-card:not(:has(.hh-audio-card__play)) .hh-mini-link::before {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233d3835'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")
      56% center / 0.65rem no-repeat,
    color-mix(in srgb, var(--hh-brand) 22%, white);
  border-radius: 999px;
  content: "";
  display: block;
  flex-shrink: 0;
  height: 2rem;
  width: 2rem;
}

.hh-audio-card:has(.hh-audio-card__play) .hh-audio-card__link::before,
.hh-audio-card:has(.hh-audio-card__play) .hh-mini-link::before {
  content: none;
  display: none;
}

.hh-audio-card:not(:has(.hh-audio-card__footer)) .hh-audio-card__title,
.hh-audio-card:not(:has(.hh-audio-card__footer))
  p:not(.hh-audio-card__label):not(.hh-audio-card__link):not(.hh-kicker):not(.hh-mini-link) {
  margin-bottom: 0;
}

.hh-audio-card:not(:has(.hh-audio-card__footer)) .hh-audio-card__link,
.hh-audio-card:not(:has(.hh-audio-card__footer)) .hh-mini-link {
  align-self: flex-start;
  display: inline-flex;
  margin-top: 0.85rem;
  max-width: 100%;
  white-space: normal;
}

.hh-audio-card .has-text-align-right,
.hh-audio-card .has-text-align-center,
.hh-audio-card [class*="is-content-justification-center"],
.hh-audio-card [class*="is-content-justification-right"] {
  justify-content: flex-start;
  text-align: left;
}

.entry-content > .wp-block-group.hh-quote,
.wp-block-post-content > .wp-block-group.hh-quote,
.hh-quote {
  -webkit-backdrop-filter: blur(var(--hh-glass-blur));
  backdrop-filter: blur(var(--hh-glass-blur));
  background-color: var(--hh-glass-surface);
  background-image: none;
  border-bottom: 1px solid var(--hh-glass-border);
  border-top: 1px solid var(--hh-glass-border);
  padding: var(--hh-section-y) var(--hh-section-x);
  position: relative;
  text-align: center;
}

/* Körperzeit: quote bridge → purpose — flat join, no overlapping curves */
.entry-content > .wp-block-group.hh-quote:has(+ .wp-block-group.hh-zusammenarbeit__purpose),
.wp-block-post-content > .wp-block-group.hh-quote:has(+ .wp-block-group.hh-zusammenarbeit__purpose),
.wp-site-blocks main > .wp-block-group.hh-quote:has(+ .wp-block-group.hh-zusammenarbeit__purpose),
.hh-quote.hh-zusammenarbeit__bridge:has(+ .hh-zusammenarbeit__purpose) {
  border-bottom: 0;
}

.hh-quote__inner,
.hh-quote .hh-panel {
  background: transparent;
  border: 0;
  box-shadow: none;
  margin-inline: auto;
  max-width: var(--hh-quote-prose-max);
  padding: 0;
  text-align: center;
}

.hh-quote p,
.hh-quote .hh-panel p,
.hh-quote__inner p,
.hh-quote .hh-kicker,
.hh-quote .hh-kicker--positioning {
  margin-inline: auto;
  text-align: center;
}

.hh-quote .hh-kicker--positioning {
  color: var(--hh-accent-deep);
  font-weight: 600;
  letter-spacing: 0.2em;
  margin: 0 auto 1.5rem;
}

.hh-quote__inner > p:not(.hh-kicker):not(.hh-quote__closing),
.hh-quote .hh-panel > p:not(.hh-kicker):not(.hh-quote__closing) {
  color: var(--hh-ink);
  font-family: var(--hh-font-brand);
  font-size: var(--hh-quote-text);
  line-height: var(--hh-quote-line);
  margin: 0 auto var(--hh-space-p-p);
  max-width: none;
  text-align: center;
}

.hh-quote__closing,
.hh-quote p.hh-quote__closing,
.hh-quote .hh-panel p.hh-quote__closing,
.hh-quote__inner > p:last-child,
.hh-quote .hh-panel > p:last-child {
  margin-bottom: 0;
  margin-inline: auto;
  margin-top: var(--hh-space-h2-p);
  max-width: none;
  text-align: center;
}

.hh-quote .has-text-align-left,
.hh-quote .has-text-align-right {
  text-align: center;
}

.hh-pillars {
  text-align: center;
}

.hh-story .wp-block-column,
.hh-fit .wp-block-column,
.hh-testimonials .wp-block-column {
  min-height: 0;
}

.hh-pillars > p {
  margin-left: auto;
  margin-right: auto;
  max-width: 45rem;
}

.hh-for-who li::marker,
.hh-fit li::marker,
.hh-investment li::marker {
  color: var(--hh-brand-dark);
}

.hh-about > .hh-transformation,
.hh-about > .hh-transformation > .hh-fit,
.hh-about > .hh-transformation > .hh-fit.hh-transformation-cards {
  box-sizing: border-box;
  max-width: none;
  padding-inline: 0;
  width: 100%;
}

.hh-about > .hh-transformation.alignfull,
.hh-about > .hh-transformation > .hh-fit.alignfull {
  margin-inline: 0;
}

.hh-about > .hh-transformation.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.hh-about > .hh-transformation > .hh-fit.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-inline: 0;
  max-width: none;
  width: 100%;
}

.hh-about .hh-card {
  margin-bottom: 0.25rem;
  position: relative;
  z-index: 1;
}

.hh-work {
  text-align: left;
}

.hh-price {
  background: color-mix(in srgb, var(--hh-sand-light) 68%, transparent);
  border: 1px solid color-mix(in srgb, var(--hh-brand) 25%, transparent);
  border-radius: 999px;
  color: var(--hh-ink);
  display: inline-block;
  font-weight: 800;
  padding: 0.9rem 1.25rem;
}

.hh-cta {
  background: var(--hh-gradient-cta);
  margin-bottom: 0;
  text-align: center;
}

.hh-cta p,
.hh-cta h2 {
  color: var(--hh-ink);
  margin-inline: auto;
  max-width: var(--hh-prose-max);
  text-align: center;
}

.hh-cta h2 {
  margin-bottom: var(--hh-space-h2-p);
}

.hh-cta p:last-of-type {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.wp-block-columns {
  gap: clamp(1.5rem, 4vw, 2.5rem);
}

.wp-block-column {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.wp-block-button__link,
.wp-element-button {
  background: var(--hh-ink);
  border-radius: 999px;
  box-shadow: 0 18px 38px rgba(61, 56, 53, 0.22);
  color: var(--hh-sand) !important;
  font-family: var(--hh-font-body);
  font-size: var(--hh-text-btn);
  font-weight: 600;
  letter-spacing: 0.01em;
  padding: 0.95rem 1.7rem;
  text-decoration: none;
  transition:
    background-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
  background: var(--hh-brand-dark);
  box-shadow: 0 20px 42px
    color-mix(in srgb, var(--hh-brand-dark) 28%, transparent);
  transform: translateY(-2px);
}

.is-style-outline .wp-block-button__link {
  background: color-mix(in srgb, var(--hh-sand-light) 70%, transparent);
  border: 1px solid color-mix(in srgb, var(--hh-brand) 35%, transparent);
  color: var(--hh-brand-dark) !important;
}

.is-style-outline .wp-block-button__link:hover {
  background: color-mix(in srgb, var(--hh-brand) 18%, transparent);
  color: var(--hh-ink) !important;
}

.wp-block-list {
  display: grid;
  gap: 0.75rem;
  padding-left: 1.3rem;
}

.wp-block-image img,
.wp-block-gallery img {
  border-radius: 1.4rem;
  box-shadow: 0 18px 48px rgba(61, 56, 53, 0.16);
}

@media (max-width: 780px) {
  :root {
    --hh-section-y: 1rem;
  }

  .hh-hero-media > .wp-block-group.hh-audio-card,
  .wp-block-group.hh-audio-card {
    --hh-audio-card-width: min(13.5rem, calc(100% - 2.2rem));
    max-width: var(--hh-audio-card-width);
    min-width: var(--hh-audio-card-width);
    padding: 1.1rem 1.2rem 1.05rem;
    width: var(--hh-audio-card-width);
  }

  .hh-hero-image img {
    aspect-ratio: 4 / 3;
  }
}

/* WordPress: stop nested groups from stacking section padding */
.entry-content
  .wp-block-group.has-global-padding
  .wp-block-group.has-global-padding:not(.hh-audio-card),
.wp-block-post-content
  .wp-block-group.has-global-padding
  .wp-block-group.has-global-padding:not(.hh-audio-card),
.wp-site-blocks main
  .wp-block-group.has-global-padding
  .wp-block-group.has-global-padding:not(.hh-audio-card),
.hh-about > .hh-transformation.has-global-padding,
.hh-about > .hh-transformation > .hh-fit.has-global-padding {
  padding: 0 !important;
}

@media (min-width: 782px) {
  :root {
    --wp--style--root--padding-left: var(--hh-section-x);
    --wp--style--root--padding-right: var(--hh-section-x);
    --wp--preset--spacing--50: var(--hh-section-y);
  }

  .entry-content > .wp-block-group.has-global-padding:not(.hh-hero):not(.hh-audio-card),
  .wp-block-post-content > .wp-block-group.has-global-padding:not(.hh-hero):not(.hh-audio-card),
  .wp-site-blocks main > .wp-block-group.has-global-padding:not(.hh-hero):not(.hh-audio-card) {
    padding: var(--hh-section-y) var(--hh-section-x) !important;
  }
}

.home .wp-block-post-title,
.page .wp-block-post-title {
  display: none;
}

main .alignfull:not(.hh-audio-card),
.wp-block-post-content > .wp-block-group:not(.hh-audio-card),
.entry-content > .wp-block-group:not(.hh-audio-card) {
  max-width: none;
  width: 100%;
}

.wp-block-post-content.is-layout-constrained
  > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
main.is-layout-constrained
  > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.entry-content.is-layout-constrained
  > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none;
  width: 100%;
}

.wp-block-post-content > .wp-block-group > *,
.entry-content > .wp-block-group > * {
  max-width: min(1200px, calc(100vw - 2 * var(--hh-section-x)));
  margin-inline: auto;
  width: 100%;
}

.hh-hero .wp-block-columns.hh-hero-grid {
  align-items: center;
  display: grid;
  gap: clamp(1rem, 2vw, 2rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  max-height: 100%;
  min-height: 0;
}

.hh-hero .wp-block-column,
.hh-about .wp-block-column:first-child {
  background: transparent;
  border: 0;
  box-shadow: none;
  min-height: 0;
  padding: 0;
}

.hh-hero .hh-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: min(48rem, 100%);
  min-height: 0;
}

.hh-hero .hh-hero-copy .hh-kicker {
  font-size: clamp(0.75rem, 1.35vh, 0.875rem);
  letter-spacing: 0.15em;
  margin-bottom: clamp(0.7rem, 1.8vh, 1.15rem);
}

.hh-hero .hh-hero-copy h1 {
  font-size: clamp(2.1rem, 6.4vh, 4rem);
  line-height: 1.12;
  margin-bottom: clamp(1.1rem, 2.8vh, 2.15rem);
  max-width: none;
  text-wrap: balance;
}

.hh-hero .hh-hero-copy .hh-lead,
.hh-hero .hh-hero-copy p:not(.hh-kicker) {
  color: var(--hh-ink-muted);
  font-size: clamp(1.05rem, 2.35vh, 1.2rem);
  line-height: 1.55;
  margin-bottom: clamp(0.9rem, 2.2vh, 1.45rem);
  max-width: var(--hh-prose-max);
}

.hh-hero .hh-hero-copy .wp-block-buttons {
  flex-shrink: 0;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: clamp(0.5rem, 1.6vh, 1.1rem);
}

.hh-hero .hh-hero-copy .wp-block-button__link {
  font-size: clamp(1.02rem, 2vh, 1.125rem);
  padding: clamp(0.95rem, 2vh, 1.15rem) clamp(1.5rem, 2.8vh, 1.9rem) !important;
}

.hh-hero .hh-hero-media {
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-height: calc(var(--hh-hero-height, 100%) - 1.5rem);
  min-height: 0;
}

.hh-hero .hh-hero-image {
  height: auto;
  margin: 0;
  max-height: 100%;
}

.hh-hero .hh-hero-image img {
  aspect-ratio: 4 / 5;
  border-radius: 2.4rem;
  display: block;
  height: auto;
  max-height: min(calc(var(--hh-hero-height, 100dvh) - 3rem), 32rem);
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

.hh-story .wp-block-columns.hh-story__grid,
.hh-story .wp-block-columns {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 5vw, 3.5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hh-fit .wp-block-columns.hh-fit__grid,
.hh-fit .wp-block-columns {
  align-items: stretch;
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hh-work .wp-block-columns.hh-work__grid,
.hh-work__grid.wp-block-columns,
.hh-work__grid {
  align-items: center;
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
  max-width: 100%;
  width: 100%;
}

.hh-work__grid > .wp-block-column,
.hh-work .wp-block-columns > .wp-block-column {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  width: auto;
}

.hh-story .wp-block-column,
.hh-fit .wp-block-column {
  height: auto;
  min-height: 0;
}

.hh-fit .wp-block-column.hh-fit-card {
  align-self: stretch;
  height: 100%;
}

footer.wp-block-template-part,
.wp-site-blocks > footer {
  background: var(--hh-ink);
  border-top: 0;
  margin-top: 0;
  padding: 0;
}

.hh-footer {
  background: var(--hh-ink);
  color: var(--hh-sand);
  max-width: none;
  padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.5rem, 4vw, 3rem)
    clamp(2rem, 4vw, 2.5rem);
  width: 100%;
}

.hh-footer > * {
  max-width: min(1200px, calc(100vw - 2 * var(--hh-section-x)));
}

.hh-footer-grid {
  align-items: flex-start;
  gap: clamp(2rem, 5vw, 4rem);
}

.hh-footer .wp-block-column {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.hh-footer-brand {
  color: #fff;
  font-family: var(--hh-font-heading);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0 0.85rem;
}

.hh-footer-blurb,
.hh-footer-booking-text {
  color: color-mix(in srgb, var(--hh-sand) 85%, transparent);
  font-family: var(--hh-font-body);
  font-size: 0.95rem;
  line-height: 1.7;
  margin: 0;
  max-width: 28rem;
}

.hh-footer-kicker {
  color: color-mix(in srgb, var(--hh-brand) 90%, transparent);
  font-family: var(--hh-font-body);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.hh-footer-tags {
  margin: 1.5rem 0 0;
}

.hh-tag-pill {
  border: 1px solid color-mix(in srgb, white 15%, transparent);
  border-radius: 999px;
  color: color-mix(in srgb, var(--hh-sand) 90%, transparent);
  display: inline-block;
  font-family: var(--hh-font-body);
  font-size: 0.75rem;
  font-weight: 600;
  margin: 0 0.45rem 0.45rem 0;
  padding: 0.35rem 0.75rem;
}

.hh-footer-nav {
  display: grid;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hh-footer-nav a {
  color: color-mix(in srgb, var(--hh-sand) 80%, transparent);
  font-family: var(--hh-font-body);
  font-size: 0.95rem;
  text-decoration: none;
  transition: color 180ms ease;
}

.hh-footer-nav a:hover {
  color: #fff;
}

.hh-footer-booking-link {
  margin: 0.85rem 0 0;
}

.hh-footer-booking-link a {
  color: #fff;
  font-family: var(--hh-font-body);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.hh-footer-booking-link a:hover {
  color: var(--hh-sand);
}

.hh-footer-divider {
  border-color: color-mix(in srgb, white 10%, transparent);
  margin: clamp(2.5rem, 5vw, 3.5rem) auto clamp(1.5rem, 3vw, 2rem);
  max-width: min(1200px, calc(100vw - 2 * var(--hh-section-x)));
  opacity: 1;
  width: 100%;
}

.hh-footer-copy {
  color: color-mix(in srgb, var(--hh-sand) 55%, transparent);
  font-family: var(--hh-font-body);
  font-size: 0.75rem;
  margin: 0;
}

@media (max-width: 781px) {
  :root {
    --hh-section-x: 1rem;
    --hh-section-y: 1rem;
    --wp--style--root--padding-left: 1rem;
    --wp--style--root--padding-right: 1rem;
    --wp--preset--spacing--50: 1rem;
    --wp--style--global--content-size: calc(100vw - 2rem);
    --wp--style--global--wide-size: calc(100vw - 2rem);
  }

  .wp-block-post-content > .wp-block-group > *,
  .entry-content > .wp-block-group > * {
    box-sizing: border-box;
    margin-inline: 0;
    max-width: 100%;
    width: 100%;
  }

  .entry-content > .wp-block-group:not(.hh-hero),
  .wp-site-blocks main > .wp-block-group:not(.hh-hero),
  .wp-block-post-content > .wp-block-group:not(.hh-hero) {
    box-sizing: border-box;
    overflow-x: clip;
    padding: var(--hh-section-y) var(--hh-section-x) !important;
  }

  .entry-content > .wp-block-group.hh-quote,
  .wp-block-post-content > .wp-block-group.hh-quote,
  .wp-site-blocks main > .wp-block-group.hh-quote,
  .hh-quote {
    padding-block: clamp(2rem, 5.5vw, 2.75rem) !important;
  }

  .entry-content > .wp-block-group.hh-zusammenarbeit__purpose,
  .wp-site-blocks main > .wp-block-group.hh-zusammenarbeit__purpose,
  .wp-block-post-content > .wp-block-group.hh-zusammenarbeit__purpose,
  .hh-zusammenarbeit__purpose {
    padding-block: clamp(2.75rem, 6vw, 4.5rem) !important;
  }

  .hh-footer-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hh-footer-grid > .wp-block-column {
    flex-basis: 100%;
    width: 100%;
  }

  .entry-content > .wp-block-group.hh-hero,
  .wp-site-blocks main > .wp-block-group.hh-hero,
  .wp-block-post-content > .wp-block-group.hh-hero,
  .hh-hero {
    height: auto;
    max-height: none;
    min-height: 0;
    overflow: visible;
    padding-block: clamp(1.75rem, 5vw, 2.75rem) clamp(2.25rem, 6vw, 3.5rem);
  }

  .hh-hero .wp-block-columns.hh-hero-grid,
  .hh-story .wp-block-columns,
  .hh-story .wp-block-columns.hh-story__grid,
  .hh-about .wp-block-columns.hh-about__grid,
  .hh-work .wp-block-columns.hh-work__grid,
  .hh-work__grid,
  .hh-about-compass__grid {
    display: grid;
    gap: clamp(1.5rem, 5vw, 2.25rem);
    grid-template-columns: 1fr;
    margin-inline: 0;
    max-width: 100%;
    width: 100%;
  }

  .hh-fit .wp-block-columns,
  .hh-fit .wp-block-columns.hh-fit__grid,
  .hh-investment__grid.wp-block-columns {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
    margin-inline: 0;
    max-width: 100%;
    width: 100%;
  }

  .hh-fit {
    padding-bottom: var(--hh-section-y);
  }

  .hh-fit.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .hh-fit .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    margin-inline: 0;
    max-width: none;
    width: 100%;
  }

  .hh-hero .hh-hero-copy {
    max-width: none;
    order: 1;
  }

  .hh-hero .hh-hero-copy h1 {
    font-size: clamp(1.65rem, 7.2vw, 2.15rem);
    line-height: 1.18;
    margin-bottom: 0.9rem;
  }

  .hh-hero .hh-hero-copy .hh-lead,
  .hh-hero .hh-hero-copy p:not(.hh-kicker) {
    font-size: clamp(0.95rem, 3.6vw, 1.05rem);
    line-height: 1.5;
    margin-bottom: 0.85rem;
  }

  .hh-hero .hh-hero-copy .wp-block-buttons {
    margin-top: 0.35rem;
  }

  .hh-hero .hh-hero-media {
    max-height: none;
    order: 2;
    width: 100%;
  }

  .hh-hero .hh-hero-image,
  .hh-hero .hh-hero-image img {
    display: block;
    max-height: none;
    width: 100%;
  }

  .hh-hero .hh-hero-image img {
    max-height: min(78vw, 24rem);
  }

  .wp-block-columns:not(.hh-zusammenarbeit__outcomes-grid) > .wp-block-column,
  .hh-zusammenarbeit__outcomes-grid.wp-block-columns > .wp-block-column,
  .hh-story .wp-block-column,
  .hh-fit .wp-block-column,
  .hh-work__grid > .wp-block-column,
  .hh-work .wp-block-columns > .wp-block-column,
  .hh-investment__grid > .wp-block-column,
  .hh-fit-card,
  .hh-story-card {
    box-sizing: border-box;
    flex-basis: 100% !important;
    margin-inline: 0;
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }

  .hh-reveal {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 900px) {
  .entry-content > .wp-block-group.hh-hero,
  .wp-site-blocks main > .wp-block-group.hh-hero,
  .wp-block-post-content > .wp-block-group.hh-hero,
  .hh-hero {
    height: auto;
    max-height: none;
    min-height: 0;
    overflow: visible;
    padding-block: clamp(2rem, 5.5vw, 3.25rem);
  }

  .hh-hero .wp-block-columns.hh-hero-grid {
    grid-template-columns: 1fr;
  }

  .hh-hero .hh-hero-copy {
    max-width: none;
    order: 1;
  }

  .hh-hero .hh-hero-media {
    max-height: none;
    order: 2;
    width: 100%;
  }

  .hh-hero .hh-hero-image img {
    max-height: min(72vw, 26rem);
  }

  .hh-story .wp-block-columns,
  .hh-fit .wp-block-columns,
  .hh-work .wp-block-columns.hh-work__grid,
  .hh-work__grid,
  .hh-investment__grid.wp-block-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1180px) {
  .hh-hero .hh-hero-copy h1 {
    font-size: clamp(1.9rem, 5.6vh, 3.15rem);
  }
}

.hh-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 700ms ease,
    transform 700ms ease;
}

.hh-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.hh-reveal:nth-child(2) {
  transition-delay: 80ms;
}

.hh-reveal:nth-child(3) {
  transition-delay: 140ms;
}
