.catalogue-universes > a:is(#dentaire, #assurances) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-right: clamp(117px, 15vw, 178px);
  color: #fff;
}
.catalogue-universes > #dentaire {
  background: linear-gradient(100deg, #145436 50%, #28744d 75%, #58956a 100%);
  border-color: #145436;
  box-shadow: none;
  --mascot: url("assets/mascottes/meyla-catalogue.webp");
}
.catalogue-universes > #assurances {
  background: linear-gradient(100deg, #123d64 50%, #275d8c 75%, #5783aa 100%);
  border-color: #123d64;
  --mascot: url("assets/mascottes/assumo-catalogue.webp");
}
.catalogue-universes > a:is(#dentaire, #assurances) :is(h2, p, .eyebrow, .textlink) {
  color: inherit;
}
.catalogue-universes > a:is(#dentaire, #assurances) .textlink {
  margin-top: auto;
  border-color: #fff9;
}
.catalogue-universes > a:is(#dentaire, #assurances)::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  right: 8px;
  top: 50%;
  translate: 0 -50%;
  width: clamp(104px, 14vw, 165px);
  height: clamp(78px, 11vw, 118px);
  opacity: .64;
  background: var(--mascot) center / auto 100% no-repeat;
}

main > .catalogue-heading {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  margin-block: 20px 26px;
  padding: clamp(20px, 4vw, 42px);
  padding-inline-end: clamp(96px, 23vw, 260px);
  border-radius: 18px;
  color: #fff;
}
main > .catalogue-heading-dentaire {
  background: linear-gradient(100deg, #145436 55%, #58956a);
  --catalogue-mascot: url("assets/mascottes/meyla-catalogue.webp");
}
main > .catalogue-heading-assurances {
  background: linear-gradient(100deg, #123d64 55%, #5783aa);
  --catalogue-mascot: url("assets/mascottes/assumo-catalogue.webp");
}
main > .catalogue-heading :is(h1, p, .eyebrow, .learn-breadcrumb, .learn-breadcrumb a) {
  color: #fff;
}
main > .catalogue-heading h1 { text-wrap: pretty; }
main > .catalogue-heading > p { margin-bottom: 0; }
main > .catalogue-heading::after {
  content: "";
  position: absolute;
  right: clamp(7px, 3vw, 40px);
  top: 50%;
  translate: 0 -50%;
  width: clamp(80px, 18vw, 194px);
  height: clamp(74px, 17vw, 178px);
  background: var(--catalogue-mascot) center / contain no-repeat;
  opacity: .76;
  pointer-events: none;
  z-index: -1;
}
