.sticker-oh-wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

/* Intro layout context (for any absolutely-positioned children) */
.section--intro .section__inner {
  position: relative;
}

/* Overlap sticker on the top hero (upper-right) without reserving layout space */
#section-top .hero {
  position: relative;
}

#section-top .sticker-oh-wrapper {
  position: absolute;
  top: 11rem;
  right: var(--space-page-x);
  bottom: auto;
  left: auto;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  margin: 0;
  width: fit-content;
  height: auto;
  pointer-events: none;
}

.section--intro .section__media {
  position: relative;
  z-index: 1;
}

.sticker-oh {
  background-color: var(--c-brand);
  color: var(--c-text) !important;
  border-radius: 50%;
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
  font-weight: 600;
  line-height: 1.3;
  flex-direction: column !important;
  flex-shrink: 0;
  padding-top: 1rem;
  transform: translateX(-16px) translateY(-31px) rotate(-4deg);
}
.sticker-oh h5 {
  font-size: 1.6rem;
  padding-bottom: 1rem;
  color: var(--c-text) !important;
}
.sticker-oh-wrapper .sticker-oh.wysiwyg-content p,
.sticker-oh-wrapper .sticker-oh.wysiwyg-content ul,
.sticker-oh-wrapper .sticker-oh.wysiwyg-content li {
  margin: 0;
  font-size: 1rem !important;
  color: var(--c-text) !important;
}
.sticker-oh strong {
  font-weight: 700;
  color: var(--c-text) !important;
}
.sticker-oh p:not(:last-child) {
  padding-bottom: 0.5rem;
}

@media (max-width: 768px) {
  .sticker-oh-wrapper {
    justify-content: center;
    padding-top: 0;
    padding-bottom: 2rem;
  }
  .sticker-oh {
    /* Equal width + height: flex `min-height:auto` + `height:auto` was letting content stretch the box into an oval */
    --sticker-oh-size: min(
      14rem,
      calc(100vw - 2 * var(--space-page-x) - 0.75rem)
    );
    width: var(--sticker-oh-size);
    height: var(--sticker-oh-size);
    min-width: var(--sticker-oh-size);
    min-height: var(--sticker-oh-size);
    aspect-ratio: 1;
    flex-shrink: 0;
    overflow: hidden;
    line-height: 1.25;
  }
  .sticker-oh h5 {
    font-size: 1.5rem;
  }
  .sticker-oh-wrapper .sticker-oh.wysiwyg-content p,
  .sticker-oh-wrapper .sticker-oh.wysiwyg-content ul,
  .sticker-oh-wrapper .sticker-oh.wysiwyg-content li {
    margin: 0;
    font-size: 1rem !important;
  }

  /* Fill the hero: pin sticker from bottom-right, tune with padding + translate */
  #section-top .sticker-oh-wrapper {
    inset: 0;
    width: auto;
    height: auto;
    align-items: flex-end;
    justify-content: flex-end;
    /* Clear bottom logo + sticky CTA (hero content uses ~260px padding-bottom) */
    padding: 0 var(--space-page-x) clamp(13rem, 28vmin, 18rem) 0;
    margin: 0;
    z-index: 4;
  }

  #section-top .sticker-oh {
    transform: translate(-6px, -8px) rotate(-4deg);
  }
}
