.ritual {
  position: relative;
  width: 100%;
  background: #ffffff;
  overflow: hidden;
  padding: clamp(72px, 9.95vw, 191px) clamp(20px, 10.7vw, 206px)
    clamp(72px, 9.95vw, 191px);
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(380px, 1fr);
  grid-template-areas:
    "meta meta"
    "hero hero"
    "bottom bottom"
    "closing closing";
  column-gap: clamp(24px, 3.2vw, 60px);
  row-gap: clamp(40px, 6.25vw, 120px);
}

.ritual__texture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  object-fit: cover;
  opacity: 0.4;
  pointer-events: none;
}

.ritual > :not(.ritual__texture) {
  position: relative;
  z-index: 1;
}

.ritual__bottom {
  display: grid;
  grid-template-columns: minmax(420px, 0.92fr) minmax(520px, 1.08fr);
  gap: clamp(28px, 3.4vw, 64px);
  align-items: end;
}

.ritual__top-meta {
  grid-area: meta;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(28px, 4vw, 72px);
}

.ritual__hero {
  grid-area: hero;
  position: relative;
}

.ritual__label {
  color: var(--red);
  font-size: var(--fs-body);
  font-family: "Poppins", Arial, sans-serif;
  font-weight: 500;
  line-height: clamp(21px, 1.55vw, 29.69px);
  white-space: nowrap;
  margin: 0;
}

.ritual__headline,
.ritual__closing {
  color: var(--red);
  font-family: "Poppins", Arial, sans-serif;
  font-weight: 400;
  line-height: 0.94;
}

.ritual__headline {
  align-self: start;
  font-size: var(--fs-heading-lg);
  line-height: 0.92;
  letter-spacing: 0;
  margin: 0 0 clamp(24px, 4.17vw, 80px);
  max-width: 10.5ch;
}

.ritual__headline-line {
  display: block;
  white-space: nowrap;
}

.ritual__headline-line--offset {
  padding-left: clamp(22px, 3.4vw, 64px);
}

.ritual__closing p {
  margin: 0 0 0.06em;
}

.ritual__closing p:last-child {
  margin-bottom: 0;
}

.ritual__intro {
  color: var(--red);
  font-family: "Acumin Variable Concept", Arial, sans-serif;
  font-weight: 400;
  font-size: var(--fs-body-lg);
  line-height: clamp(24px, 1.67vw, 32px);
  max-width: 58ch;
  width: 100%;
  margin: 0 0 0 auto;
}

.ritual__intro-split {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
  gap: 16px;
}

.ritual__intro-split strong,
.ritual__intro-split span {
  white-space: nowrap;
}

.ritual__images {
  display: flex;
  gap: clamp(10px, 0.8vw, 14px);
  justify-content: flex-end;
  position: absolute;
  right: clamp(0px, 2vw, 28px);
  top: clamp(22px, 4.2vw, 86px);
  z-index: 3;
}

.ritual__img {
  width: 100%;
  object-fit: cover;
}

.ritual__img--sm {
  width: clamp(180px, 13.5vw, 228px);
  aspect-ratio: 228 / 343;
}

.ritual__img--lg {
  width: 100%;
  aspect-ratio: 275 / 343;
}

.ritual__img-lg-wrap {
  position: relative;
  display: block;
  width: clamp(220px, 16.2vw, 275px);
  flex: 0 0 clamp(220px, 16.2vw, 275px);
}

.ritual__bottom {
  grid-area: bottom;
}

.ritual__img-left {
  margin-left: calc(-1 * clamp(20px, 10.7vw, 206px));
  width: clamp(320px, 27.6vw, 530px);
  max-height: 662px;
  object-fit: cover;
  aspect-ratio: 529 / 662;
}

.ritual__details {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: clamp(18px, 1.8vw, 30px);
  margin-top: 0;
  margin-bottom: clamp(24px, 4.69vw, 90px);
}

.ritual__detail-title {
  color: var(--red);
  font-family: "Acumin Variable Concept", Arial, sans-serif;
  font-weight: 700;
  font-size: var(--fs-body-lg);
  line-height: clamp(24px, 1.67vw, 32px);
  font-weight: 700;
  margin: 0 0 0.2em;
}

.ritual__detail-line,
.ritual__detail-copy {
  color: var(--red);
  font-family: "Acumin Variable Concept", Arial, sans-serif;
  font-weight: 400;
  font-size: var(--fs-body-lg);
  line-height: clamp(24px, 1.67vw, 32px);
  max-width: 48ch;
}

.ritual__closing {
  grid-area: closing;
  margin-left: auto;
  justify-self: end;
  text-align: left;
  font-size: var(--fs-heading-lg);
  line-height: 0.94;
}

@media (max-width: 1024px) {
  .ritual {
    padding-inline: clamp(20px, 6vw, 72px);
    grid-template-columns: 1fr;
    grid-template-areas:
      "meta"
      "hero"
      "bottom"
      "closing";
    column-gap: 0;
  }

  .ritual__hero {
    min-height: auto;
  }

  .ritual__bottom {
    grid-template-columns: 1fr;
    align-items: start;
    row-gap: clamp(20px, 3vw, 40px);
  }

  .ritual__details {
    order: 1;
    align-items: flex-end;
    text-align: right;
  }

  .ritual__img-left {
    order: 2;
    margin-left: 0;
    width: clamp(320px, 60vw, 530px);
    justify-self: start;
  }

  .ritual__top-meta {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 14px;
    gap: 14px;
  }

  .ritual__images {
    position: relative;
    right: auto;
    top: auto;
    z-index: auto;
    justify-content: flex-start;
    padding-right: 0;
    margin-top: clamp(8px, 1.4vw, 16px);
  }

  .ritual__closing {
    text-align: left;
    margin-left: 0;
    justify-self: start;
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .ritual {
    padding-inline: 20px;
  }

  .ritual__label {
    white-space: normal;
  }

  .ritual__headline,
  .ritual__closing {
    white-space: normal;
  }

  .ritual__img--sm {
    width: min(44%, 228px);
  }

  .ritual__img-lg-wrap {
    width: min(52%, 275px);
    flex-basis: min(52%, 275px);
  }

  .ritual__img-left {
    margin-left: -20px;
    width: calc(100% + 20px);
  }
}
