/* Readings page refinements. The hero and global shell deliberately inherit
   the existing homepage systems; page-specific chapters remain scoped here. */

.readings-page {
  background: var(--paper);
}

.readings-page [id] {
  scroll-margin-top: 8rem;
}

.readings-hero .readings-hero__title-phrase {
  display: block;
  margin-inline: auto;
}

.readings-hero .readings-hero__title-phrase--roman {
  max-inline-size: 15.5ch;
  color: rgb(250 246 238 / .98);
  font-style: normal;
  font-weight: 400;
}

.readings-hero .readings-hero__title-phrase--italic {
  max-inline-size: 16.25ch;
  color: rgb(255 240 210 / .96);
  font-style: italic;
  font-weight: 400;
  margin-block-start: .065em;
}

.readings-hero__copy-line {
  display: block;
}

.readings-hero .readings-hero__copy-line {
  font-family: var(--font-body);
  font-style: normal;
}

.readings-hero__text-cloud {
  position: absolute;
  inset: 46.5% auto auto 50%;
  z-index: 0;
  display: block;
  width: min(82vw, 72rem);
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
  transform: translate(-50%, -50%);
}

.readings-hero .home-hero__content {
  z-index: 1;
}

.readings-hero .home-hero__actions {
  flex-flow: column nowrap;
  align-items: center;
  gap: .7rem;
}

.readings-hero .home-hero__actions .home-hero__action-button--primary,
.readings-hero__secondary-link {
  width: min(100%, clamp(21rem, 24vw, 22rem));
  flex: 0 0 auto;
}

.readings-hero__secondary-link {
  min-height: 3.65rem;
  margin: 0;
  padding: .85rem 1.1rem;
  border-color: rgb(239 201 117 / .76);
  background: transparent;
  box-shadow: none;
  color: rgb(255 235 192 / .96);
  font-family: var(--font-interface);
  font-size: .72rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.25;
  text-transform: uppercase;
}

.readings-hero__secondary-link::after {
  flex: 0 0 auto;
  transform: none;
}

.readings-hero__secondary-link:hover::after,
.readings-hero__secondary-link:focus-visible::after {
  transform: translateX(.25rem);
}

.readings-hero__secondary-link:hover,
.readings-hero__secondary-link:focus-visible {
  border-color: rgb(239 201 117 / .96);
  background: rgb(239 201 117 / .1);
  color: rgb(255 242 216 / 1);
}

@media (min-width: 78.001rem) {
  .readings-hero .home-hero__ornament {
    margin-block-end: clamp(2.5rem, 4.5svh, 2.85rem);
  }

  .readings-hero .readings-hero__title {
    max-width: 68rem;
    margin-inline: auto;
    font-size: clamp(4.35rem, 5.45vw, 5.1rem);
    letter-spacing: -.035em;
    line-height: .92;
  }

  .readings-hero .home-hero__celestial-divider {
    margin-block: clamp(1.35rem, 2.2svh, 1.7rem) clamp(1rem, 1.8svh, 1.25rem);
  }

  .readings-hero .readings-hero__copy {
    max-width: 44rem;
    margin-block-end: clamp(1.35rem, 2.4svh, 1.75rem);
    line-height: 1.34;
  }

  .readings-hero .readings-hero__copy-line {
    color: rgb(255 242 216 / .96);
    font-size: clamp(1.35rem, 1.65vw, 1.65rem);
    font-style: normal;
    line-height: 1.34;
    text-wrap: balance;
  }

  .readings-hero .home-hero__invitation-lead {
    margin-block-end: .35rem;
  }

  .readings-hero .home-hero__invitation-continuation {
    max-width: 31rem;
  }
}

/* The homepage's centered video composition becomes a Readings-specific
   threshold: shared portal geometry and identity rhythm, with page-owned
   editorial measures and media. */
.readings-video-introduction {
  border-block: 1px solid color-mix(in srgb, var(--gold) 18%, transparent);
}

.readings-video-introduction__atmosphere {
  background-position: 50% 42%;
}

.readings-video-introduction__eyebrow {
  width: min(100%, 18rem);
}

.readings-video-introduction h2 {
  max-width: 42rem;
  margin-inline: auto;
  font-size: clamp(2.65rem, 3.7vw, 4rem);
  letter-spacing: clamp(.065em, .28vw, .105em);
  line-height: 1.02;
  text-wrap: balance;
}

.readings-video-introduction__statement {
  width: min(100%, 40rem);
  max-width: 40rem;
  margin-inline: auto;
}

.readings-video-introduction__content-stage {
  position: relative;
  display: grid;
  width: min(100%, 42rem);
  margin-top: clamp(-.45rem, -.55vw, -.2rem);
  place-items: center;
  text-align: center;
}

.readings-video-introduction__content-stage > .readings-video-introduction__identity,
.readings-video-transcript {
  grid-area: 1 / 1;
}

.readings-video-introduction__content-stage > .readings-video-introduction__identity {
  width: 100%;
  margin-top: 0;
  transition: opacity 220ms ease;
}

.readings-video-transcript {
  align-self: start;
  width: min(100%, 38rem);
  min-block-size: clamp(7.5rem, 9vw, 8.75rem);
  padding: clamp(1.35rem, 2.4vw, 2rem) clamp(1.25rem, 3vw, 2.5rem);
  border-block: 1px solid rgb(224 190 112 / .48);
  border-radius: .25rem;
  background:
    linear-gradient(90deg, transparent, rgb(224 190 112 / .13) 14%, rgb(224 190 112 / .13) 86%, transparent) top / 100% 1px no-repeat,
    linear-gradient(180deg, rgb(5 20 33 / .76), rgb(5 18 31 / .88));
  box-shadow: inset 0 0 2.75rem rgb(4 13 24 / .32);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 220ms ease, visibility 0s linear 220ms;
}

.readings-video-transcript[hidden] {
  display: none;
}

.readings-video-transcript__cue {
  max-width: 34rem;
  margin: 0 auto;
  color: rgb(255 248 228 / .96);
  font-family: var(--font-body);
  font-size: clamp(1.05rem, 1.35vw, 1.28rem);
  font-weight: 400;
  letter-spacing: .012em;
  line-height: 1.5;
  opacity: 0;
  text-wrap: balance;
  white-space: pre-line;
  transition: opacity 140ms ease;
}

.readings-video-introduction__video.has-transcript.is-playing:not(.is-paused) + .readings-video-introduction__content-stage > .readings-video-introduction__identity {
  opacity: 0;
  pointer-events: none;
}

.readings-video-introduction__video.has-transcript.is-playing:not(.is-paused) + .readings-video-introduction__content-stage > .readings-video-transcript {
  opacity: 1;
  visibility: visible;
  transition: opacity 220ms ease;
}

.readings-video-introduction__video.has-active-cue + .readings-video-introduction__content-stage .readings-video-transcript__cue {
  opacity: 1;
}

.readings-video-introduction__summary {
  max-width: 41rem;
  margin: clamp(.6rem, .9vw, .8rem) auto 0;
  color: rgb(255 248 228 / .82);
  font-family: var(--font-body);
  font-size: clamp(.95rem, 1.05vw, 1.08rem);
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.5;
  text-wrap: balance;
}

.readings-video-introduction__frame {
  pointer-events: none;
}

.readings-video-introduction__poster,
.readings-video-introduction__poster img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.readings-video-introduction__poster {
  z-index: 1;
}

.readings-video-introduction__poster img {
  object-fit: cover;
  object-position: center;
}

@media (max-width: 48rem), (max-height: 32rem) and (max-width: 64rem) {
  .readings-video-introduction__content-stage {
    width: min(100% - (var(--gutter) * 2), 28rem);
    margin-top: clamp(2.25rem, 7vw, 3rem);
  }

  .readings-video-transcript {
    width: 100%;
    min-block-size: clamp(7rem, 18vw, 8.25rem);
  }
}

.readings-testimonial__review-link {
  display: inline-flex;
  max-width: 100%;
  min-height: 2.75rem;
  align-items: center;
  flex-basis: 100%;
  color: var(--green-deep);
  font-family: var(--font-interface);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.4;
  text-decoration-color: color-mix(in srgb, var(--gold) 78%, transparent);
  text-decoration-thickness: 1px;
  text-underline-offset: .34em;
  text-transform: uppercase;
}

.readings-testimonial__review-link:hover,
.readings-testimonial__review-link:focus-visible {
  color: var(--terracotta);
}

.readings-testimonial .world-testimonial__quote-side {
  width: 100%;
  min-width: 0;
  min-height: 22rem;
  padding: 3.75rem 2.75rem 3rem;
  isolation: isolate;
}

.readings-testimonial .world-testimonial__slide {
  align-content: center;
  align-items: stretch;
}

.readings-testimonial .world-testimonial__quote-side::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 2rem solid transparent;
  border-image-source: url("../img/testimonials/testimonial-parchment.webp");
  border-image-slice: 28% 28% fill;
  border-image-repeat: stretch;
  content: "";
  pointer-events: none;
}

.readings-testimonial .world-testimonial__quote-side--left::before {
  inset: .5rem auto auto 2.25rem;
}

.readings-testimonial .world-testimonial__controls[hidden] {
  display: none;
}

.readings-testimonial__mobile-ornament,
.readings-testimonial__mobile-eyebrow,
.readings-testimonial__mobile-title,
.readings-testimonial__mobile-epigraph {
  display: none;
}

.readings-testimonial .world-testimonial__title > .readings-testimonial__desktop-title {
  color: inherit;
  font-weight: inherit;
}

.readings-testimonial__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .1rem;
}

.readings-testimonial__mobile-count {
  display: none;
}

.readings-testimonial .readings-testimonial__pagination button {
  border: 0;
  background: transparent;
}

.readings-testimonial__pagination button::before {
  width: .5rem;
  height: .5rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  content: "";
}

.readings-testimonial__pagination button[aria-current="true"]::before {
  background: currentColor;
}

/* Temperance uses a 3:2 enclosure around a centered 2:3 figure. */
.readings-testimonial {
  --temperance-art-width: clamp(34rem, 39vw, 41.5rem);
  --temperance-figure-width: 44%;
}

.readings-testimonial .world-testimonial__art {
  width: var(--temperance-art-width);
  aspect-ratio: 3 / 2;
}

.readings-testimonial .world-testimonial__wreath {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.readings-testimonial .world-testimonial__figure {
  inset: 50% auto auto 50%;
  width: var(--temperance-figure-width);
  transform: translate(-50%, -50%) translate3d(0, var(--world-parallax-y, 0px), 0);
}

@media (max-width: 78rem) {
  .readings-testimonial {
    --temperance-art-width: clamp(29.25rem, 41.5vw, 35.5rem);
  }
}

@media (max-width: 60rem) {
  .readings-testimonial {
    --temperance-art-width: min(100%, 36.5rem);
  }

  .readings-testimonial .world-testimonial__art {
    margin: 0.75rem auto 3rem;
  }

  .readings-testimonial .world-testimonial__slide,
  .readings-testimonial .world-testimonial__quote-side {
    width: 100%;
    min-width: 0;
  }

  .readings-testimonial .world-testimonial__quote-side {
    min-height: 0;
    overflow-wrap: break-word;
    text-wrap: wrap;
  }

  .readings-testimonial .world-testimonial__controls {
    width: 100%;
    margin-inline: 0;
    order: 3;
  }

}

@media (max-width: 47.999rem) {
  .readings-testimonial {
    --testimonial-stage-min-height: clamp(31.6rem, calc(58.36rem - 89.2vw), 37.25rem);
    min-height: 0;
    padding: 3.5rem 0 2.6rem;
  }

  .readings-testimonial .world-testimonial__atmosphere {
    inset: -2% -18% -3%;
    display: block;
    opacity: .58;
  }

  .readings-testimonial .world-testimonial__background {
    object-position: 54% center;
    opacity: .52;
    transform: translate3d(0, var(--world-parallax-y, 0px), 0) scale(1.18);
  }

  .readings-testimonial .world-testimonial__inner {
    width: calc(100% - 2rem);
  }

  .readings-testimonial__mobile-ornament {
    display: flex;
    width: min(13rem, 58vw);
    margin: 0 0 .5rem .65rem;
    color: var(--gold);
    font-family: var(--font-display);
    font-size: 1.45rem;
    line-height: 1;
    align-items: center;
    gap: 1rem;
  }

  .readings-testimonial__mobile-ornament::before,
  .readings-testimonial__mobile-ornament::after {
    height: 1px;
    background: var(--gold);
    content: "";
    flex: 1;
  }

  .readings-testimonial__mobile-eyebrow {
    display: block;
    margin: 0 0 1.15rem .65rem;
    color: var(--charcoal);
    font-family: var(--font-interface);
    font-size: clamp(.65rem, 1.8vw, .76rem);
    font-weight: 600;
    letter-spacing: .25em;
    line-height: 1.4;
    text-transform: uppercase;
  }

  .readings-testimonial .readings-testimonial__desktop-title {
    display: none;
  }

  .readings-testimonial .readings-testimonial__mobile-title {
    display: block;
    color: var(--green-deep);
    font-weight: 400;
  }

  .readings-testimonial .world-testimonial__title {
    max-width: 40rem;
    margin: 0 .4rem 1.15rem;
    color: var(--green-deep);
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 8.1vw, 3.15rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: 1.06;
    text-align: left;
    text-transform: none;
  }

  .readings-testimonial .world-testimonial__title::before,
  .readings-testimonial .world-testimonial__title::after {
    display: none;
  }

  .readings-testimonial .world-testimonial__art {
    display: none;
  }

  .readings-testimonial .world-testimonial__composition {
    display: block;
    min-height: 0;
    padding-top: 1.9rem;
  }

  .readings-testimonial .world-testimonial__slides {
    display: block;
    min-height: 0;
  }

  .readings-testimonial .world-testimonial__slide {
    position: relative;
    grid-area: auto;
    width: calc(100% - 1.5rem);
    max-width: 37rem;
    min-height: 0;
    margin: 0 auto 1.5rem;
    padding: 2.65rem 2rem 2.2rem;
    opacity: 1;
    visibility: visible;
    isolation: isolate;
    transition: none;
  }

  .readings-testimonial .world-testimonial__slide::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    border: 2rem solid transparent;
    border-image-source: url("../img/testimonials/testimonial-parchment.webp");
    border-image-slice: 28% 28% fill;
    border-image-repeat: stretch;
    content: "";
    pointer-events: none;
  }

  .readings-testimonial .world-testimonial__quote-side {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    padding: 0;
    color: var(--charcoal);
    font-size: clamp(1.03rem, 1.5vw + .73rem, 1.16rem);
    line-height: 1.51;
  }

  .readings-testimonial .world-testimonial__quote-side + .world-testimonial__quote-side {
    margin-top: .8rem;
  }

  .readings-testimonial .world-testimonial__quote-side::after,
  .readings-testimonial .world-testimonial__quote-side::before {
    display: none;
  }

  .readings-testimonial .world-testimonial__quote-side footer {
    margin-top: 1.1rem;
  }

  .readings-testimonial.is-testimonial-enhanced .world-testimonial__slides {
    display: grid;
    min-height: var(--testimonial-stage-min-height);
    align-items: center;
  }

  .readings-testimonial.is-testimonial-enhanced .world-testimonial__slide {
    display: block;
    grid-area: 1 / 1;
    margin-bottom: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 420ms var(--ease-calm), visibility 0s linear 420ms;
  }

  .readings-testimonial.is-testimonial-enhanced .world-testimonial__slide.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }

  .readings-testimonial.is-testimonial-enhanced .world-testimonial__slide[data-testimonial-layout="pair"] .world-testimonial__quote-side:not(.is-mobile-review) {
    display: none;
  }

  .readings-testimonial.is-testimonial-enhanced .world-testimonial__slide[data-testimonial-layout="pair"] .world-testimonial__quote-side--right.is-mobile-review {
    margin-block-start: 0;
  }

  .readings-testimonial.is-testimonial-enhanced .world-testimonial__controls {
    display: contents;
  }

  .readings-testimonial.is-testimonial-enhanced .readings-testimonial__pagination {
    display: none;
  }

  .readings-testimonial.is-testimonial-enhanced .readings-testimonial__mobile-count {
    position: absolute;
    z-index: 6;
    top: 0;
    right: 1rem;
    display: block;
    margin: 0;
    color: var(--green-deep);
    font-family: var(--font-interface);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .16em;
    line-height: 1;
    text-align: right;
  }

  .readings-testimonial.is-testimonial-enhanced .world-testimonial__controls > button {
    position: absolute;
    z-index: 8;
    top: calc(1.9rem + (var(--testimonial-stage-min-height) / 2));
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 1.5px solid var(--green-deep);
    border-radius: 50%;
    background: color-mix(in srgb, var(--paper-pale) 94%, transparent);
    box-shadow: inset 0 0 0 1px rgba(255, 248, 222, .44), 0 .18rem .5rem rgba(42, 36, 29, .12);
    color: var(--green-deep);
    font-family: var(--font-interface);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    place-items: center;
  }

  .readings-testimonial.is-testimonial-enhanced .world-testimonial__controls > button:first-child {
    left: 0;
  }

  .readings-testimonial.is-testimonial-enhanced .world-testimonial__controls > button:nth-of-type(2) {
    right: 0;
  }

  .readings-testimonial.is-testimonial-enhanced .world-testimonial__controls > button:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 3px;
  }

  .readings-testimonial__mobile-epigraph {
    position: relative;
    display: block;
    width: min(58%, 17rem);
    margin: 1.2rem .45rem 0 auto;
    padding: 0 0 .65rem;
    color: var(--charcoal);
    text-align: right;
  }

  .readings-testimonial__mobile-epigraph p {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(.93rem, 3.3vw, 1.18rem);
    font-style: italic;
    line-height: 1.4;
  }

  .readings-testimonial__mobile-epigraph footer {
    margin-top: .8rem;
    font-family: var(--font-interface);
    font-size: .59rem;
    font-weight: 600;
    letter-spacing: .2em;
    line-height: 1.5;
  }

  .readings-testimonial__mobile-epigraph::after {
    display: block;
    width: 3rem;
    height: 1px;
    margin: .85rem 1rem 0 auto;
    background: var(--gold);
    content: "";
  }
}

@media (max-width: 23rem) {
  .readings-testimonial {
    padding-top: 2.8rem;
  }

  .readings-testimonial .world-testimonial__slide {
    width: calc(100% - 1rem);
    padding-inline: 1.55rem;
  }
}

@media (max-width: 47.999rem) and (prefers-reduced-motion: reduce) {
  .readings-testimonial.is-testimonial-enhanced .world-testimonial__slide {
    transition: none;
  }
}

.readings-marker,
.readings-scaffold {
  position: relative;
  padding: var(--section-space) 0;
}

.readings-marker__content,
.readings-scaffold__content {
  width: min(calc(100% - (var(--gutter) * 2)), var(--content-reading));
  margin-inline: auto;
}

.readings-marker {
  background: var(--paper);
}

.readings-marker__content {
  padding-block: clamp(1.5rem, 3vw, 2.5rem);
  border-block: 1px solid color-mix(in srgb, var(--gold) 42%, transparent);
}

.readings-marker__label,
.readings-scaffold__number,
.readings-scaffold__future-label {
  margin-block-end: .8rem;
  color: var(--terracotta);
  font-family: var(--font-interface);
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: 1.45;
  text-transform: uppercase;
}

.readings-marker h2,
.readings-scaffold h2 {
  margin-block-end: 1rem;
  color: var(--green);
  font-size: clamp(2.5rem, 4.3vw, 4.5rem);
  letter-spacing: -.03em;
  line-height: 1;
}

.readings-marker__content > p:last-child,
.readings-scaffold__content > p:not(.readings-scaffold__number):not(.readings-scaffold__future-label) {
  margin-block-end: 0;
  font-size: clamp(1rem, .32vw + .93rem, 1.16rem);
  line-height: 1.75;
}

.readings-scaffold--experience {
  background: var(--paper-pale);
}

/* The scroll-led reading narrative. Readable normal flow remains the
   baseline; desktop enhancement recomposes the same semantic DOM as a
   two-part editorial stage: chapter copy and visual field. */
.reading-experience {
  --reading-copy-column: minmax(28rem, 34rem);
  --reading-stage-gap: clamp(3rem, 4vw, 4.5rem);
  --reading-visual-maximum: 42rem;
  overflow: clip;
  color: var(--charcoal);
}

.reading-experience__scroll {
  position: relative;
  isolation: isolate;
}

.reading-experience__scroll::before {
  position: sticky;
  top: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100svh;
  margin-bottom: -100svh;
  background: var(--paper-pale) url("../img/tarot/readings/reading-experience/reading-experience-two-wands-background.webp") right center / cover no-repeat;
  content: "";
  pointer-events: none;
}

.reading-experience__stage {
  position: relative;
  z-index: 1;
  width: min(calc(100% - (var(--gutter) * 2)), 82rem);
  margin-inline: auto;
}

.reading-experience__heading {
  position: relative;
  z-index: 2;
  max-width: 28rem;
  margin-block-end: clamp(3.5rem, 8vw, 6rem);
}

.reading-experience__heading h2 {
  max-width: none;
  margin: 0;
  color: var(--green);
  font-size: clamp(1.15rem, 1.35vw, 1.4rem);
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.reading-experience__moments {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(3.5rem, 8vw, 6rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.reading-experience__moment {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 34rem) minmax(16rem, 1fr);
  align-items: center;
  gap: var(--reading-stage-gap);
  min-height: 17rem;
}

.reading-experience__copy {
  position: relative;
  z-index: 1;
  max-width: 31rem;
}

.reading-experience__step-number {
  margin: 0 0 .75rem;
  color: var(--terracotta);
  font-family: var(--font-interface);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
}

.reading-experience__copy h3 {
  max-width: 24rem;
  margin: 0 0 1rem;
  color: var(--green);
  font-family: var(--font-display);
  font-size: clamp(2.15rem, 3.7vw, 4.2rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: .98;
}

.reading-experience__summary,
.reading-experience__detail {
  max-width: 31rem;
  margin: 0;
  font-size: clamp(1rem, .32vw + .93rem, 1.14rem);
  line-height: 1.72;
}

.reading-experience__detail {
  margin-top: .85rem;
  color: color-mix(in srgb, var(--charcoal) 76%, var(--sage));
}

.reading-experience__moment:first-child .reading-experience__copy,
.reading-experience__moment:first-child .reading-experience__summary,
.reading-experience__moment:first-child .reading-experience__detail {
  max-width: 34rem;
}

.reading-experience__moment:first-child .reading-experience__copy h3 {
  max-width: 31rem;
}

.reading-experience__moment-background {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  display: block;
  width: min(calc(100% + 30rem), 112rem);
  max-width: none;
  height: auto;
  object-fit: contain;
  opacity: .86;
  pointer-events: none;
  user-select: none;
  transform: translate(-56%, -45%);
}

.reading-experience__visual {
  z-index: 1;
}

.reading-experience__actions.home-hero__actions {
  width: auto;
  margin: 2rem 0 0;
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.reading-experience__actions .reading-experience__booking-button {
  --hero-action-compartment: 3.75rem;
  --hero-action-leading-surface: #9c671d;
  --hero-action-trailing-surface: #f2cb6a;
  width: min(100%, 17rem);
  min-width: 0;
  min-height: 3.75rem;
  flex: 0 1 17rem;
  border-color: #e7b34b;
  background: linear-gradient(112deg, #d99a2e 0%, #efc666 52%, #e2a93d 100%);
  box-shadow: 0 .55rem 1.4rem rgb(0 0 0 / .24), inset 0 0 0 1px rgb(255 236 180 / .3);
  font-size: .8rem;
}

.reading-experience__actions .reading-experience__booking-button:hover,
.reading-experience__actions .reading-experience__booking-button:focus-visible {
  --hero-action-leading-surface: #b87a20;
  --hero-action-trailing-surface: #f7d47e;
  border-color: #f3cc69;
  background: linear-gradient(112deg, #e5aa38 0%, #f6d47b 52%, #edbc52 100%);
}

.reading-experience__controls {
  display: none;
}

.reading-experience__controls[hidden] {
  display: none;
}

.reading-experience__evidence {
  max-width: 29rem;
  margin: 1.15rem 0 0;
  padding-inline-start: 1rem;
  border-inline-start: 1px solid color-mix(in srgb, var(--gold) 72%, transparent);
}

.reading-experience__evidence p {
  margin: 0;
  color: var(--green);
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  line-height: 1.45;
}

.reading-experience__evidence cite {
  display: block;
  margin-top: .55rem;
  color: var(--terracotta);
  font-family: var(--font-interface);
  font-size: .62rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.4;
  text-transform: uppercase;
}

.reading-experience__visual {
  position: relative;
  display: grid;
  width: min(100%, var(--reading-visual-maximum));
  aspect-ratio: 1 / .84;
  justify-self: center;
  place-items: center;
  min-width: 0;
  color: color-mix(in srgb, var(--green) 78%, var(--sage));
  font-family: var(--font-interface);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .11em;
  line-height: 1.4;
  text-align: center;
}

.reading-experience__visual::before,
.reading-experience__visual::after {
  position: absolute;
  inset: 11% 10%;
  border: 1px solid color-mix(in srgb, var(--gold) 54%, transparent);
  border-radius: 50%;
  content: "";
}

.reading-experience__visual::after {
  inset: 26% 21%;
  border-color: color-mix(in srgb, var(--sage) 64%, transparent);
  transform: rotate(-18deg);
}

.reading-experience__visual > span {
  position: relative;
  z-index: 1;
  max-width: 10rem;
}

.reading-experience__visual--arrival {
  display: block;
  width: min(100%, var(--reading-visual-maximum));
  aspect-ratio: 1 / .82;
  justify-self: center;
  isolation: isolate;
}

.reading-experience__visual--arrival::before,
.reading-experience__visual--arrival::after {
  content: none;
}

.reading-experience__arrival-background,
.reading-experience__arrival-figure {
  position: absolute;
  display: block;
  height: auto;
  max-width: none;
  pointer-events: none;
  will-change: transform;
}

.reading-experience__arrival-background {
  inset: 7% 0 auto;
  z-index: 1;
  width: 100%;
}

.reading-experience__arrival-figure {
  z-index: 2;
  bottom: -5%;
  left: 28%;
  width: 52%;
}

.reading-experience__visual--connection {
  display: block;
  aspect-ratio: 1 / .97;
  isolation: isolate;
}

.reading-experience__visual--connection::before,
.reading-experience__visual--connection::after {
  content: none;
}

.reading-experience__connection-background,
.reading-experience__connection-figure {
  position: absolute;
  display: block;
  height: auto;
  max-width: none;
  pointer-events: none;
}

.reading-experience__connection-background {
  inset: 3% 0 auto;
  z-index: 1;
  width: 100%;
}

.reading-experience__connection-figure {
  z-index: 2;
  bottom: -10.5%;
  left: 10%;
  width: 80%;
}

.reading-experience__visual--reading {
  display: block;
  aspect-ratio: 1 / .88;
  isolation: isolate;
}

.reading-experience__visual--reading::before,
.reading-experience__visual--reading::after {
  content: none;
}

.reading-experience__reading-table,
.reading-experience__reading-cards {
  position: absolute;
  display: block;
  height: auto;
  max-width: none;
  pointer-events: none;
  will-change: transform;
}

.reading-experience__reading-table {
  inset: -.6% -10% auto;
  z-index: 1;
  width: 120%;
}

.reading-experience__reading-cards {
  top: 13.8%;
  left: .8%;
  z-index: 2;
  width: 98.4%;
}

.reading-experience__visual--integration {
  display: block;
  aspect-ratio: 1 / .9;
  isolation: isolate;
}

.reading-experience__visual--integration::before,
.reading-experience__visual--integration::after {
  content: none;
}

.reading-experience__integration-background,
.reading-experience__integration-figure {
  position: absolute;
  display: block;
  height: auto;
  max-width: none;
  pointer-events: none;
  will-change: transform;
}

.reading-experience__integration-background {
  top: -11.5%;
  left: -34.5%;
  z-index: 1;
  width: 169%;
}

.reading-experience__integration-figure {
  top: -14%;
  left: 29.2%;
  z-index: 2;
  width: 72.8%;
}

@media (min-width: 64.001rem) {
  .reading-experience.is-story-enhanced {
    padding-block: 0;
  }

  .reading-experience.is-story-enhanced .reading-experience__scroll {
    min-height: 340svh;
  }

  .reading-experience.is-story-enhanced .reading-experience__stage {
    position: sticky;
    top: 0;
    display: grid;
    grid-template-columns: var(--reading-copy-column) minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    column-gap: var(--reading-stage-gap);
    row-gap: clamp(2.25rem, 4vh, 4.5rem);
    width: min(calc(100% - (var(--gutter) * 2)), 82rem);
    height: 100svh;
    margin-inline: auto;
    padding-block: clamp(4.5rem, 8vh, 6.25rem) clamp(3rem, 6vh, 5rem);
  }

  .reading-experience.is-story-enhanced .reading-experience__heading {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    z-index: 3;
    margin: 0;
  }

  .reading-experience.is-story-enhanced .reading-experience__moments {
    position: relative;
    inset: auto;
    grid-column: 1 / -1;
    grid-row: 2;
    display: grid;
    grid-template-columns: var(--reading-copy-column) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    column-gap: var(--reading-stage-gap);
    min-height: 0;
    margin: 0;
  }

  .reading-experience.is-story-enhanced .reading-experience__moment {
    position: relative;
    inset: auto;
    grid-column: 1 / -1;
    grid-row: 1;
    display: grid;
    grid-template-columns: var(--reading-copy-column) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    column-gap: var(--reading-stage-gap);
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    opacity: var(--reading-step-opacity, 0);
    pointer-events: none;
    transform: translate3d(0, var(--reading-step-y, 0px), 0) scale(var(--reading-step-scale, 1));
    transition: opacity 180ms linear, transform 180ms linear;
    visibility: hidden;
    will-change: opacity, transform;
  }

  .reading-experience.is-story-enhanced .reading-experience__moment.is-active {
    pointer-events: auto;
    visibility: visible;
  }

  .reading-experience.is-story-enhanced .reading-experience__copy {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    width: 100%;
  }

  .reading-experience.is-story-enhanced .reading-experience__moment:first-child .reading-experience__copy {
    transform: translateY(2rem);
  }

  .reading-experience__moment:first-child .reading-experience__summary,
  .reading-experience__moment:first-child .reading-experience__detail {
    font-size: clamp(1.1875rem, 1.25vw, 1.25rem);
    line-height: 1.62;
  }

  .reading-experience.is-story-enhanced .reading-experience__visual {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    width: min(100%, var(--reading-visual-maximum));
    transform: translate3d(0, var(--reading-visual-y, 0px), 0) scale(var(--reading-visual-scale, 1));
    transition: transform 180ms linear;
  }

  .reading-experience.is-story-enhanced .reading-experience__visual--arrival {
    width: min(100%, var(--reading-visual-maximum));
    transform: none;
    transition: none;
  }

  .reading-experience.is-story-enhanced .reading-experience__arrival-background {
    transform: translate3d(0, var(--reading-arrival-background-y, 0px), 0) scale(1.01);
    transition: transform 180ms linear;
  }

  .reading-experience.is-story-enhanced .reading-experience__arrival-figure {
    transform: translate3d(0, var(--reading-arrival-figure-y, 0px), 0) scale(1.03);
    transition: transform 180ms linear;
  }

  .reading-experience.is-story-enhanced .reading-experience__reading-table {
    transform: translate3d(0, var(--reading-table-y, 0px), 0) scale(1.01);
    transition: transform 180ms linear;
  }

  .reading-experience.is-story-enhanced .reading-experience__reading-cards {
    transform: translate3d(0, var(--reading-cards-y, 0px), 0) scale(1.03);
    transition: transform 180ms linear;
  }

  .reading-experience.is-story-enhanced .reading-experience__integration-background {
    transform: translate3d(0, var(--reading-integration-background-y, 0px), 0) scale(1.01);
    transition: transform 180ms linear;
  }

  .reading-experience.is-story-enhanced .reading-experience__integration-figure {
    transform: translate3d(0, var(--reading-integration-figure-y, 0px), 0) scale(1.03);
    transition: transform 180ms linear;
  }
}

@media (min-width: 82.0625rem) {
  .reading-experience__copy h3,
  .reading-experience__moment:first-child .reading-experience__copy h3 {
    max-width: 100%;
    font-size: clamp(3.5rem, 4.25vw, 4.75rem);
    line-height: 1.02;
    text-wrap: balance;
  }

  .reading-experience__summary,
  .reading-experience__detail,
  .reading-experience__moment:first-child .reading-experience__summary,
  .reading-experience__moment:first-child .reading-experience__detail {
    font-size: clamp(1.1875rem, 1.4vw, 1.3rem);
    line-height: 1.65;
  }

  .reading-experience__moment:first-child .reading-experience__summary,
  .reading-experience__moment:first-child .reading-experience__detail {
    font-size: clamp(1.25rem, 1.45vw, 1.375rem);
  }
}

@media (min-width: 96rem) {
  .reading-experience.is-story-enhanced .reading-experience__heading {
    transform: translateY(max(2rem, calc(9.25rem - clamp(4.5rem, 8vh, 6.25rem))));
  }
}

@media (max-width: 64rem) {
  .reading-experience {
    padding-block: 0;
  }

  .reading-experience__stage {
    padding-block: var(--section-space);
  }
}

@media (max-width: 63.999rem) {
  .reading-experience__scroll::before {
    opacity: .55;
  }

  .reading-experience__moment-background {
    width: min(calc(100% + 4rem), 72rem);
    transform: translate(-51%, -50%);
  }

  .reading-experience__moment {
    grid-template-columns: minmax(0, 1fr) minmax(10rem, .75fr);
    gap: clamp(1.5rem, 5vw, 3rem);
  }
}

@media (max-width: 46rem) {
  .reading-experience__scroll::before {
    opacity: .34;
  }

  .reading-experience__heading {
    margin-block-end: 3rem;
  }

  .reading-experience__moments {
    gap: 0;
  }

  .reading-experience__moment-background {
    top: 30%;
    left: 46%;
    width: min(150%, 34rem);
    opacity: .72;
    transform: translate(-50%, -50%);
  }

  .reading-experience__actions .reading-experience__booking-button {
    --hero-action-compartment: 3.25rem;
    width: min(100%, 16.5rem);
    min-height: 3.25rem;
    flex-basis: 16.5rem;
    font-size: .7rem;
  }

  .reading-experience__actions.home-hero__actions {
    width: 100%;
    justify-content: center;
  }

  .reading-experience__summary,
  .reading-experience__detail {
    font-size: 1.0625rem;
    line-height: 1.68;
  }

  .reading-experience__moment {
    grid-template-columns: 1fr;
    align-content: start;
    align-items: start;
    gap: 0;
    min-height: 0;
    padding-block: clamp(2rem, 8vw, 2.75rem);
    border-top: 1px solid color-mix(in srgb, var(--gold) 38%, transparent);
  }

  .reading-experience__moment:last-child {
    border-bottom: 1px solid color-mix(in srgb, var(--gold) 38%, transparent);
  }

  .reading-experience__visual {
    display: none;
  }

  .reading-experience__moment-background {
    display: none;
  }

  .reading-experience.is-mobile-carousel .reading-experience__copy {
    isolation: isolate;
    /* Reserve the cloud's outer edge for the persistent side navigation. */
    padding-inline: clamp(1.5rem, 7.5vw, 2rem);
  }

  .reading-experience.is-mobile-carousel .reading-experience__copy::before {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    width: clamp(30rem, 150%, 34rem);
    aspect-ratio: 1182 / 1330;
    background: url("../img/tarot/readings/reading-experience/reading-experience-cloud.webp") center / contain no-repeat;
    content: "";
    pointer-events: none;
    transform: translate(-50%, -58%);
  }

  .reading-experience.is-mobile-carousel .reading-experience__moments {
    display: grid;
    touch-action: pan-y;
  }

  .reading-experience.is-mobile-carousel .reading-experience__moment {
    grid-area: 1 / 1;
    align-self: stretch;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(.65rem, 0, 0);
    transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
    visibility: hidden;
  }

  .reading-experience.is-mobile-carousel .reading-experience__moment.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition-delay: 0s;
    visibility: visible;
  }

  .reading-experience.is-mobile-carousel .reading-experience__controls {
    position: absolute;
    inset: 4.5rem 0 0;
    z-index: 3;
    display: block;
    margin: 0;
    color: var(--green-deep);
    pointer-events: none;
  }

  .reading-experience__controls button {
    display: grid;
    position: absolute;
    top: 44%;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--green) 48%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--paper-pale) 72%, transparent);
    color: var(--green-deep);
    font: inherit;
    cursor: pointer;
    place-items: center;
    pointer-events: auto;
    transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
    transform: translateY(-50%);
  }

  .reading-experience__controls button[data-reading-experience-previous] {
    left: calc((var(--gutter) * -1) + .35rem);
  }

  .reading-experience__controls button[data-reading-experience-next] {
    right: calc((var(--gutter) * -1) + .35rem);
  }

  .reading-experience__controls button:hover {
    border-color: var(--green);
    background: color-mix(in srgb, var(--paper-pale) 92%, transparent);
    transform: translateY(calc(-50% - 2px));
  }

  .reading-experience__controls button:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 4px;
  }

  .reading-experience__counter {
    position: absolute;
    top: 84%;
    left: 50%;
    min-width: 5.5rem;
    margin: 0;
    padding: .2rem .5rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--paper-pale) 72%, transparent);
    color: var(--green-deep);
    font-family: var(--font-interface);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .16em;
    line-height: 1.4;
    text-align: center;
    transform: translateX(-50%);
  }

}

@media (prefers-reduced-motion: reduce) {
  .reading-experience.is-mobile-carousel .reading-experience__moment,
  .reading-experience.is-mobile-carousel .reading-experience__controls button {
    transform: none;
    transition: none;
  }

  .reading-experience.is-story-enhanced {
    padding-block: var(--section-space);
  }

  .reading-experience.is-story-enhanced .reading-experience__scroll {
    min-height: 0;
  }

  .reading-experience.is-story-enhanced .reading-experience__stage,
  .reading-experience.is-story-enhanced .reading-experience__heading,
  .reading-experience.is-story-enhanced .reading-experience__moments,
  .reading-experience.is-story-enhanced .reading-experience__moment {
    position: relative;
    inset: auto;
    width: auto;
    height: auto;
    margin: 0;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
  }

  .reading-experience.is-story-enhanced .reading-experience__heading {
    margin-block-end: clamp(3.5rem, 8vw, 6rem);
  }

  .reading-experience.is-story-enhanced .reading-experience__moments {
    display: grid;
  }

  .reading-experience.is-story-enhanced .reading-experience__visual,
  .reading-experience.is-story-enhanced .reading-experience__arrival-background,
  .reading-experience.is-story-enhanced .reading-experience__arrival-figure,
  .reading-experience.is-story-enhanced .reading-experience__reading-table,
  .reading-experience.is-story-enhanced .reading-experience__reading-cards,
  .reading-experience.is-story-enhanced .reading-experience__integration-background,
  .reading-experience.is-story-enhanced .reading-experience__integration-figure {
    transform: none;
    transition: none;
  }
}

.before-book {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(3.5rem, 5vw, 5rem) var(--gutter);
  background:
    radial-gradient(ellipse 66% 36% at 50% 38%, rgb(19 64 79 / .48), transparent 72%),
    radial-gradient(circle at 12% 88%, rgb(39 86 99 / .26), transparent 30%),
    linear-gradient(180deg, #061724 0%, #082333 48%, #061b29 100%);
  color: rgb(250 246 238 / .94);
}

.before-book::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  background:
    radial-gradient(circle at 14% 20%, rgb(240 201 117 / .42) 0 1px, transparent 1.6px),
    radial-gradient(circle at 88% 31%, rgb(240 201 117 / .32) 0 1px, transparent 1.6px),
    radial-gradient(circle at 77% 83%, rgb(240 201 117 / .25) 0 1px, transparent 1.6px);
  background-size: 13rem 17rem, 19rem 14rem, 23rem 18rem;
  opacity: .52;
  pointer-events: none;
}

.before-book__decorations,
.before-book__decoration {
  position: absolute;
  pointer-events: none;
  user-select: none;
}

.before-book__decorations {
  inset: 0;
  z-index: -1;
}

.before-book__decoration {
  width: clamp(20rem, 30vw, 34rem);
  max-width: none;
  height: auto;
  opacity: .55;
}

.before-book__decoration--upper-left {
  inset: -2.5rem auto auto -7rem;
}

.before-book__decoration--upper-right {
  inset: -2rem -8rem auto auto;
}

.before-book__decoration--lower-left {
  inset: auto auto -7rem -7rem;
}

.before-book__decoration--lower-right {
  inset: auto -8rem -6rem auto;
}

.before-book__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 68rem);
  margin-inline: auto;
}

.before-book__header,
.before-book__where,
.before-book__actions {
  text-align: center;
}

.before-book__header {
  width: min(100%, 50rem);
  margin-inline: auto;
  scroll-margin-top: 7rem;
}

.before-book__header > .before-book__eyebrow {
  margin-inline: auto;
}

.before-book__eyebrow {
  margin: 0 0 1rem;
  color: #f0c975;
  font-family: var(--font-interface);
  font-size: clamp(.66rem, .75vw, .78rem);
  font-weight: 700;
  letter-spacing: .3em;
  line-height: 1.35;
  text-transform: uppercase;
}

.before-book h2,
.before-book h3 {
  color: var(--paper-pale);
}

.before-book h2 {
  margin: 0;
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  letter-spacing: -.035em;
  line-height: .96;
}

.before-book__intro {
  max-width: 36rem;
  margin: 1rem auto 0;
  font-family: var(--font-body);
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
  line-height: 1.42;
  text-wrap: balance;
}

.before-book__divider {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  width: min(100%, 57rem);
  margin-inline: auto;
  color: #f0c975;
}

.before-book__divider span {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(240 201 117 / .82) 12%, rgb(240 201 117 / .82) 88%, transparent);
}

.before-book__divider--star {
  margin-block: clamp(2rem, 3vw, 2.75rem);
}

.before-book__divider--star img {
  width: 1.75rem;
  filter: invert(74%) sepia(47%) saturate(601%) hue-rotate(357deg) brightness(94%);
}

.before-book__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.before-book__fact {
  min-width: 0;
  padding-inline: clamp(1.2rem, 2.4vw, 2.25rem);
  text-align: center;
}

.before-book__fact + .before-book__fact {
  border-inline-start: 1px solid rgb(240 201 117 / .52);
}

.before-book__fact h3 {
  display: flex;
  min-height: 5.25rem;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto 1rem;
  font-size: clamp(1.6rem, 2.3vw, 2rem);
  line-height: 1.15;
}

.before-book__fact h3 > span {
  display: block;
}

.before-book__stat strong,
.before-book__stat span {
  display: block;
  font-weight: 400;
}

.before-book__stat strong {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.3rem, 3.3vw, 3rem);
  white-space: nowrap;
  letter-spacing: -.035em;
  line-height: 1;
}

.before-book__stat span {
  margin-top: .25rem;
  font-family: var(--font-interface);
  font-size: clamp(1.2rem, 1.6vw, 1.5rem);
  line-height: 1;
}

.before-book__fact > p:last-child,
.before-book__fact-content > p:last-child {
  max-width: 23rem;
  margin: 0 auto;
  color: rgb(250 246 238 / .88);
  font-size: clamp(.94rem, 1.05vw, 1.08rem);
  line-height: 1.62;
  text-wrap: pretty;
}

.before-book__where {
  width: min(100%, 58rem);
  margin-inline: auto;
}

.before-book__where > .before-book__eyebrow {
  margin-inline: auto;
}

.before-book__where h3 {
  margin: 0 0 1rem;
  font-size: clamp(2.7rem, 4.7vw, 4.6rem);
  letter-spacing: -.025em;
  line-height: 1;
}

.before-book__modalities {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(100%, 46rem);
  margin: 2rem auto 0;
  padding: 0;
  color: #f0c975;
  list-style: none;
}

.before-book__modality {
  display: grid;
  justify-items: center;
  gap: .8rem;
  min-width: 0;
  padding-inline: 1rem;
}

.before-book__modality + .before-book__modality {
  border-inline-start: 1px solid rgb(240 201 117 / .42);
}

.before-book__modality-icon {
  display: grid;
  width: clamp(3.75rem, 5vw, 4.5rem);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.before-book__modality-icon svg {
  width: 2rem;
  height: 2rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.before-book__modality-label {
  font-family: var(--font-interface);
  font-size: clamp(.68rem, .8vw, .8rem);
  font-weight: 700;
  letter-spacing: .24em;
  line-height: 1.35;
}

@media (max-width: 64rem) {
  .before-book__modalities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 30rem);
    row-gap: 1.75rem;
  }

  .before-book__modality + .before-book__modality {
    border-inline-start: 0;
  }
}

.before-book__actions.home-hero__actions {
  width: min(100%, 26rem);
  margin-top: 1.4rem;
  flex-direction: column;
  align-items: center;
  gap: .85rem;
}

.before-book__actions.home-hero__actions .before-book__booking-button {
  --hero-action-compartment: 3.35rem;
  --hero-action-leading-surface: #c59037;
  --hero-action-trailing-surface: #f4d37d;
  width: min(100%, 21rem);
  min-height: 3.35rem;
  border-color: #e3b65e;
  border-radius: var(--radius-small);
  background: linear-gradient(112deg, #c58e37, #e9c36f 54%, #c8953e);
  color: #092130;
  box-shadow: 0 .65rem 2rem rgb(0 0 0 / .24);
}

.before-book__actions.home-hero__actions .before-book__booking-button:hover,
.before-book__actions.home-hero__actions .before-book__booking-button:focus-visible {
  background: linear-gradient(112deg, #d5a14c, #f3d681 54%, #d6aa52);
  border-color: #f0ce7a;
  color: #061724;
}

.before-book__email {
  display: grid;
  gap: .15rem;
  margin: 0;
  font-size: .94rem;
  line-height: 1.5;
}

.before-book__email span:first-child {
  color: rgb(250 246 238 / .86);
}

.before-book__email a {
  color: #f0c975;
  font-family: var(--font-body);
  font-size: 1.12rem;
}

.before-book__email a:hover,
.before-book__email a:focus-visible {
  color: var(--paper-pale);
}

@media (min-width: 82.0625rem) {
  .before-book {
    padding-top: clamp(6.5rem, 8vw, 8rem);
  }

  .before-book__facts .before-book__fact h3 {
    font-size: clamp(2.1rem, 2.4vw, 2.25rem);
  }

  .before-book__facts .before-book__stat strong {
    font-size: clamp(3rem, 3.55vw, 3.25rem);
  }

  .before-book__facts .before-book__stat span {
    font-size: clamp(1.5rem, 1.75vw, 1.625rem);
  }

  .before-book__facts .before-book__fact > p:last-child,
  .before-book__facts .before-book__fact-content > p:last-child {
    font-size: clamp(1.0625rem, 1.2vw, 1.1875rem);
    line-height: 1.65;
  }
}

.before-book__phone-copy,
.before-book__fact-icon {
  display: none;
}

/* FAQ CELESTIAL GLYPH SET
   faq-glyph-sprig, faq-glyph-sunburst, faq-glyph-compass-star,
   faq-glyph-crescent, and faq-glyph-eye form the topic-mark family. */
.readings-faq {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(5rem, 8vw, 7.5rem) var(--gutter) clamp(6rem, 9vw, 9rem);
  background:
    radial-gradient(circle at 50% 12%, rgb(255 253 248 / .88), transparent 40%),
    radial-gradient(ellipse at 8% 70%, rgb(231 218 199 / .42), transparent 44%),
    linear-gradient(180deg, var(--paper-pale), var(--paper) 72%, #efe4d3);
  color: color-mix(in srgb, var(--green-deep) 84%, #172a3a);
}

.readings-faq::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  background: url("../svg/paper-grain.svg") repeat;
  mix-blend-mode: multiply;
  opacity: .09;
  pointer-events: none;
}

.readings-faq__celestial-art {
  position: absolute;
  z-index: -1;
  inset: auto clamp(-24rem, -14vw, -10rem) clamp(-7rem, -5vw, -3rem) auto;
  width: clamp(42rem, 65vw, 67rem);
  max-width: none;
  height: auto;
  opacity: .72;
  pointer-events: none;
  user-select: none;
}

.readings-faq__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 69rem);
  margin-inline: auto;
}

.readings-faq__introduction {
  width: min(100%, 62rem);
  margin-inline: auto;
  text-align: center;
}

.readings-faq__eyebrow {
  margin: 0 0 1rem;
  color: var(--terracotta);
  font-family: var(--font-interface);
  font-size: clamp(.65rem, .75vw, .78rem);
  font-weight: 700;
  letter-spacing: .3em;
  line-height: 1.35;
  text-transform: uppercase;
}

.readings-faq__introduction h2 {
  margin: 0;
  color: color-mix(in srgb, var(--green-deep) 82%, #15283b);
  font-size: clamp(3.1rem, 4.5vw, 4.6rem);
  letter-spacing: -.045em;
  line-height: .97;
}

.readings-faq__introduction > p:last-child {
  max-width: 43rem;
  margin: 1.25rem auto 0;
  font-family: var(--font-body);
  font-size: clamp(1.08rem, 1.65vw, 1.45rem);
  line-height: 1.42;
  text-wrap: balance;
}

.readings-faq__divider {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto minmax(0, 1fr);
  align-items: center;
  gap: .7rem;
  width: min(100%, 19rem);
  margin-inline: auto;
  color: var(--gold);
}

.readings-faq__divider > span {
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold) 80%, transparent));
}

.readings-faq__divider > span:last-child {
  background: linear-gradient(90deg, color-mix(in srgb, var(--gold) 80%, transparent), transparent);
}

.readings-faq__divider i,
.readings-faq__divider b {
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.readings-faq__divider i {
  font-size: .72rem;
}

.readings-faq__divider b {
  font-family: Georgia, serif;
  font-size: 2.1rem;
  transform: rotate(-15deg);
}

.readings-faq__divider--moon {
  margin-block: clamp(2rem, 3.5vw, 3rem) clamp(2.5rem, 4.5vw, 3.75rem);
}

.readings-faq__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(3.5rem, 7vw, 6.5rem);
  row-gap: clamp(4.25rem, 7vw, 6rem);
  align-items: start;
}

.readings-faq__topic {
  min-width: 0;
  align-self: start;
}

.readings-faq__topic--background {
  grid-column: 1 / -1;
}

.readings-faq__topic-header {
  display: grid;
  min-height: 4rem;
  grid-template-columns: 4rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  margin-bottom: .85rem;
}

.readings-faq__topic-header > img {
  width: 3.5rem;
  height: 3.5rem;
}

.readings-faq__topic-header h3 {
  margin: 0 0 .25rem;
  color: color-mix(in srgb, var(--terracotta) 82%, #6f4028);
  font-family: var(--font-interface);
  font-size: clamp(.72rem, .9vw, .88rem);
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1.35;
  text-transform: uppercase;
}

.readings-faq__topic-header p {
  margin: 0;
  color: color-mix(in srgb, var(--green-deep) 76%, #34495a);
  font-family: var(--font-body);
  font-size: clamp(.94rem, 1.1vw, 1.08rem);
  line-height: 1.35;
}

.readings-faq__questions {
  border-top: 1px solid color-mix(in srgb, var(--gold) 44%, transparent);
}

.readings-faq details {
  border-bottom: 1px solid color-mix(in srgb, var(--gold) 44%, transparent);
}

.readings-faq summary {
  position: relative;
  display: flex;
  min-height: 3.65rem;
  align-items: center;
  padding: .78rem 3.5rem .78rem 1rem;
  color: color-mix(in srgb, var(--green-deep) 84%, #172a3a);
  cursor: pointer;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: clamp(1.12rem, 1.45vw, 1.38rem);
  line-height: 1.28;
  list-style: none;
  text-wrap: pretty;
}

.readings-faq summary::-webkit-details-marker {
  display: none;
}

.readings-faq summary::after {
  position: absolute;
  inset: 50% .85rem auto auto;
  display: grid;
  width: 1.65rem;
  height: 1.65rem;
  border: 1px solid color-mix(in srgb, var(--gold) 84%, #9c6d2c);
  border-radius: 50%;
  color: color-mix(in srgb, var(--gold) 84%, #9c6d2c);
  content: "+";
  font-family: var(--font-interface);
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  place-items: center;
  transform: translateY(-50%);
  transition: transform 200ms var(--ease-calm), background-color 200ms ease;
}

.readings-faq details[open] summary::after {
  background: color-mix(in srgb, var(--gold) 10%, transparent);
  transform: translateY(-50%) rotate(45deg);
}

.readings-faq summary:hover::after {
  background: color-mix(in srgb, var(--gold) 13%, transparent);
}

.readings-faq summary:focus-visible {
  z-index: 1;
  border-radius: .15rem;
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

.readings-faq__answer {
  max-width: 42rem;
  padding: .2rem 1rem 1.7rem;
  color: color-mix(in srgb, var(--charcoal) 88%, #283a42);
  font-size: clamp(.95rem, .35vw + .9rem, 1.08rem);
  line-height: 1.68;
}

.readings-faq__topic--background .readings-faq__answer {
  max-width: 52rem;
}

.readings-faq__answer > p {
  margin: 0;
}

.readings-faq__answer > p + p {
  margin-top: .9rem;
}

.faq-review-note {
  margin-top: 1.3rem;
  padding: 1rem 1.1rem 1rem 1.25rem;
  border-inline-start: 3px solid color-mix(in srgb, var(--terracotta) 72%, var(--gold));
  background:
    linear-gradient(100deg, color-mix(in srgb, var(--gold) 15%, var(--paper-pale)), color-mix(in srgb, var(--paper-deep) 54%, transparent));
  color: color-mix(in srgb, var(--charcoal) 88%, #563b2c);
  font-family: var(--font-body);
  font-size: clamp(.88rem, .25vw + .84rem, .98rem);
  line-height: 1.58;
}

.faq-review-note p {
  margin: 0;
}

.faq-review-note p + p {
  margin-top: .65rem;
}

.faq-review-note .faq-review-note__label {
  margin-bottom: .6rem;
  color: color-mix(in srgb, var(--terracotta) 88%, #6c422d);
  font-family: var(--font-interface);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.35;
  text-transform: uppercase;
}

.readings-faq__closing {
  position: relative;
  z-index: 1;
  width: min(100%, 42rem);
  margin: clamp(4.5rem, 8vw, 7rem) auto 0;
  text-align: center;
}

.readings-faq__divider--star {
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.readings-faq__divider--star img {
  width: 2.35rem;
  height: 2.35rem;
}

.readings-faq__closing blockquote {
  margin: 0;
  color: color-mix(in srgb, var(--green-deep) 82%, #172a3a);
  font-family: var(--font-display);
}

.readings-faq__closing blockquote p {
  max-width: none;
  margin: 0;
  font-size: clamp(1.2rem, 2vw, 1.65rem);
  font-style: italic;
  line-height: 1.42;
  text-wrap: balance;
}

.readings-faq__closing footer {
  margin-top: 1.35rem;
  color: var(--terracotta);
  font-family: var(--font-interface);
  font-size: .72rem;
  letter-spacing: .42em;
  text-transform: uppercase;
}

.readings-faq__closing cite {
  font-style: normal;
}

.readings-final-booking {
  --final-booking-background-position: center 48%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(31rem, 37vw, 37rem);
  padding: clamp(5rem, 7vw, 7rem) var(--gutter) clamp(7rem, 9vw, 9rem);
  background:
    linear-gradient(to bottom, transparent 68%, rgb(6 26 18 / .2) 82%, #061a12 100%),
    #061a12 url("../img/tarot/readings/readings-final-booking-night-sky.webp") center / cover no-repeat;
  color: var(--green-deep);
  text-align: center;
}

.readings-final-booking::before {
  position: absolute;
  inset: 0 -2vw clamp(3.5rem, 6vw, 6rem);
  z-index: 0;
  background:
    radial-gradient(ellipse 34% 46% at left top, #061a12 0%, transparent 100%),
    radial-gradient(ellipse 34% 46% at right top, #061a12 0%, transparent 100%),
    linear-gradient(to right, #061a12 0%, transparent 16%, transparent 84%, #061a12 100%),
    linear-gradient(to bottom, transparent 0%, transparent 68%, #061a12 100%),
    url("../img/tarot/readings/readings-final-booking-background.webp") var(--final-booking-background-position) / cover no-repeat;
  content: "";
  pointer-events: none;
}

@supports ((mask-image: linear-gradient(#000, transparent)) or (-webkit-mask-image: linear-gradient(#000, transparent))) {
  .readings-final-booking::before {
    background-image: url("../img/tarot/readings/readings-final-booking-background.webp");
    -webkit-mask-image:
      linear-gradient(to right, transparent 0%, #000 13%, #000 87%, transparent 100%),
      linear-gradient(to bottom, #000 0%, #000 67%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(to right, transparent 0%, #000 13%, #000 87%, transparent 100%),
      linear-gradient(to bottom, #000 0%, #000 67%, transparent 100%);
    mask-composite: intersect;
  }
}

.readings-final-booking__content {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(100%, 38rem);
  min-width: 0;
  margin-inline: auto;
  justify-items: center;
}

.readings-final-booking__ornament,
.readings-final-booking__mobile-action {
  display: none;
}

.readings-final-booking__eyebrow {
  margin: 0 0 .55rem;
  color: color-mix(in srgb, var(--terracotta) 82%, var(--gold));
  font-family: var(--font-interface);
  font-size: clamp(.67rem, .17vw + .64rem, .78rem);
  font-weight: 700;
  letter-spacing: .27em;
  line-height: 1.35;
  text-transform: uppercase;
}

.readings-final-booking h2 {
  margin: 0;
  color: var(--green-deep);
  font-size: clamp(2.7rem, 4.35vw, 4.65rem);
  letter-spacing: -.035em;
  line-height: .95;
}

.readings-final-booking__copy {
  max-width: 34rem;
  margin: 1rem 0 1.45rem;
  color: color-mix(in srgb, var(--green-deep) 88%, var(--charcoal));
  font-family: var(--font-body);
  font-size: clamp(1rem, .32vw + .94rem, 1.2rem);
  line-height: 1.46;
  text-wrap: balance;
}

.readings-final-booking__button {
  min-width: clamp(13.5rem, 18vw, 16.5rem);
  min-height: 3.15rem;
  padding: .8rem 1.55rem;
  border-color: color-mix(in srgb, var(--gold) 76%, var(--green-deep));
  border-radius: 999px;
  background: color-mix(in srgb, var(--gold) 90%, var(--paper-pale));
  box-shadow: 0 6px 18px rgb(40 31 17 / .14);
  color: var(--green-deep);
  font-size: .7rem;
  letter-spacing: .16em;
}

.readings-final-booking__button span {
  margin-inline-start: .55rem;
  font-size: 1rem;
  line-height: 1;
  transition: transform 240ms var(--ease-calm);
}

.readings-final-booking__button:hover,
.readings-final-booking__button:focus-visible {
  border-color: color-mix(in srgb, var(--gold) 60%, var(--green-deep));
  background: color-mix(in srgb, var(--gold) 80%, var(--paper-pale));
}

.readings-final-booking__button:hover span,
.readings-final-booking__button:focus-visible span {
  transform: translateX(.2rem);
}

.readings-final-booking__button:focus-visible {
  outline-color: var(--green-deep);
}

.readings-final-booking__email {
  display: flex;
  margin: 1rem 0 0;
  align-items: baseline;
  justify-content: center;
  gap: .42rem;
  color: color-mix(in srgb, var(--green-deep) 84%, var(--charcoal));
  font-family: var(--font-body);
  font-size: .98rem;
  line-height: 1.4;
}

.readings-final-booking__email a {
  color: var(--green-deep);
  font-weight: 600;
  text-decoration-color: color-mix(in srgb, var(--green-deep) 42%, transparent);
  transition: color 180ms ease, text-decoration-color 180ms ease;
}

.readings-final-booking__email a:hover,
.readings-final-booking__email a:focus-visible {
  color: color-mix(in srgb, var(--terracotta) 78%, var(--green-deep));
  text-decoration-color: currentColor;
}

@media (max-width: 48rem) {
  .readings-final-booking {
    --final-booking-background-position: center 45%;
    min-height: 34rem;
    padding: 6rem clamp(1.35rem, 7vw, 2.5rem) 8rem;
    background-position: center, 52% center;
  }

  .readings-final-booking::before {
    inset: 0 -18vw 4rem;
  }

  .readings-final-booking__content {
    width: min(100%, 30rem);
  }

  .readings-final-booking h2 {
    font-size: clamp(2.75rem, 13vw, 4rem);
  }

  .readings-final-booking__copy {
    max-width: 26rem;
    margin-block: 1rem 1.6rem;
  }
}

@media (max-width: 30rem) {
  .readings-final-booking {
    --final-booking-background-position: center 46%;
    min-height: 35rem;
    padding-block: 5.75rem 8rem;
    background-position: center, 54% center;
  }

  .readings-final-booking::before {
    inset: 0 -46vw 3.75rem;
  }

  .readings-final-booking h2 {
    width: 100%;
    font-size: clamp(2.35rem, 10.5vw, 2.8rem);
    text-wrap: balance;
  }

  .readings-final-booking__copy {
    width: 100%;
    font-size: .98rem;
  }

  .readings-final-booking__email {
    display: grid;
    gap: .08rem;
  }
}

@media (max-width: 46rem) {
  .readings-final-booking {
    min-height: max(42rem, 150vw);
    padding: clamp(3.5rem, 12vw, 4.25rem) 1.25rem 0;
    background-color: #061a12;
    background-image:
      linear-gradient(to bottom, transparent 83%, rgb(6 26 18 / .22) 92%, #061a12 100%),
      url("../img/tarot/readings/readings-final-booking-mobile-background.webp");
    background-position: center, center;
    background-size: 100% 100%, cover;
    background-repeat: no-repeat;
  }

  .readings-final-booking::before {
    content: none;
  }

  .readings-final-booking__content {
    width: min(100%, 26rem);
  }

  .readings-final-booking__ornament {
    display: flex;
    width: min(63%, 15rem);
    height: 2rem;
    margin-bottom: 1.45rem;
    align-items: center;
    gap: 1rem;
    color: #ac7e27;
  }

  .readings-final-booking__ornament span {
    height: 1px;
    flex: 1;
    background: currentColor;
  }

  .readings-final-booking__ornament i {
    display: block;
    width: 2rem;
    height: 2rem;
    background: currentColor;
    -webkit-mask: url("../svg/icons/starburst.svg") center / contain no-repeat;
    mask: url("../svg/icons/starburst.svg") center / contain no-repeat;
  }

  .readings-final-booking__eyebrow {
    margin-bottom: .55rem;
    color: #24323a;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .32em;
  }

  .readings-final-booking h2 {
    width: 100%;
    font-size: clamp(2.1rem, 11.5vw, 3.75rem);
    letter-spacing: -.043em;
    line-height: 1.03;
    white-space: nowrap;
  }

  .readings-final-booking__copy {
    width: min(100%, 22rem);
    margin: 1rem 0 1.4rem;
    font-size: clamp(1.02rem, 4.2vw, 1.2rem);
    line-height: 1.37;
  }

  .readings-final-booking__button {
    display: none;
  }

  .readings-final-booking__mobile-action.home-hero__actions {
    display: flex;
    width: min(100%, 19rem);
    margin: 0;
  }

  .readings-final-booking__mobile-action.home-hero__actions .readings-final-booking__mobile-button {
    --hero-action-compartment: 3.55rem;
    --hero-action-leading-surface: #c59037;
    --hero-action-trailing-surface: #f4d37d;
    width: 100%;
    min-width: 0;
    min-height: 3.8rem;
    border-color: #d4ac5c;
    border-radius: 999px;
    background: linear-gradient(112deg, #c58e37, #e9c36f 54%, #c8953e);
    box-shadow: 0 .5rem 1.4rem rgb(40 31 17 / .16);
    color: #092130;
    font-size: .74rem;
    letter-spacing: .18em;
  }

  .readings-final-booking__mobile-action.home-hero__actions .readings-final-booking__mobile-button:hover,
  .readings-final-booking__mobile-action.home-hero__actions .readings-final-booking__mobile-button:focus-visible {
    background: linear-gradient(112deg, #d5a14c, #f3d681 54%, #d6aa52);
    border-color: #d4ac5c;
    color: #061724;
  }

  .readings-final-booking__mobile-button .home-hero__action-button-trailing {
    background: transparent;
    transform: translateX(0);
  }

  .readings-final-booking__mobile-button:hover .home-hero__action-button-trailing,
  .readings-final-booking__mobile-button:focus-visible .home-hero__action-button-trailing {
    background: transparent;
  }

  .readings-final-booking__email {
    display: grid;
    margin-top: 1.2rem;
    gap: .08rem;
    font-size: 1.05rem;
    line-height: 1.3;
  }

  .readings-final-booking__email a {
    font-size: 1.08rem;
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
  }
}

@media (max-width: 22rem) {
  .readings-final-booking h2 {
    font-size: 10.8vw;
  }

  .readings-final-booking__mobile-action.home-hero__actions .readings-final-booking__mobile-button {
    --hero-action-compartment: 3.15rem;
    font-size: .66rem;
  }
}

@media (max-width: 64rem) {
  .before-book__decoration {
    width: clamp(20rem, 45vw, 30rem);
    opacity: .42;
  }

  .before-book__fact {
    padding-inline: clamp(1.2rem, 2.2vw, 2rem);
  }

  .readings-faq__celestial-art {
    inset-inline-end: -24rem;
    width: 54rem;
    opacity: .5;
  }

  .readings-faq__grid {
    column-gap: clamp(2rem, 5vw, 3.5rem);
  }

  .readings-faq__topic-header {
    grid-template-columns: 3.4rem minmax(0, 1fr);
    gap: .8rem;
  }

  .readings-faq__topic-header > img {
    width: 3rem;
    height: 3rem;
  }
}

@media (max-width: 52rem) {
  .before-book {
    padding-block: 3.5rem;
  }

  .before-book__facts {
    grid-template-columns: 1fr;
    width: min(100%, 34rem);
    margin-inline: auto;
  }

  .before-book__fact {
    padding: 1.5rem 0;
  }

  .before-book__fact:first-child {
    padding-top: .5rem;
  }

  .before-book__fact + .before-book__fact {
    border-block-start: 1px solid rgb(240 201 117 / .46);
    border-inline-start: 0;
  }

  .before-book__fact h3 {
    max-width: 18rem;
  }

  .before-book__fact h3 {
    min-height: 0;
  }

  .readings-faq {
    padding-block: clamp(5rem, 12vw, 6.5rem);
  }

  .readings-faq__grid {
    grid-template-columns: 1fr;
    width: min(100%, 38rem);
    margin-inline: auto;
    row-gap: clamp(3.5rem, 9vw, 4.75rem);
  }

  .readings-faq__topic--background {
    grid-column: auto;
  }
}

@media (max-width: 46rem) {
  .readings-page .site-header {
    background: var(--green-deep);
  }

  .readings-hero {
    height: clamp(43rem, 88svh, 48rem);
    min-height: 43rem;
  }

  .readings-hero .home-hero__media {
    background-position: 54% 48%;
  }

  .readings-hero .home-hero__visual::before {
    background:
      linear-gradient(180deg, rgb(4 8 5 / .48) 0%, rgb(7 10 7 / .1) 24%, rgb(4 5 4 / .22) 40%, rgb(4 5 4 / .62) 70%, rgb(6 7 5 / .86) 100%),
      radial-gradient(ellipse 82% 52% at 50% 48%, rgb(4 6 4 / .1) 0%, rgb(6 8 5 / .52) 100%);
  }

  .readings-hero__text-cloud {
    inset-block-start: 43%;
    width: 44rem;
    opacity: .82;
  }

  .readings-hero .home-hero__actions .home-hero__action-button--primary,
  .readings-hero__secondary-link {
    width: min(calc(100% - 2rem), 20.5rem);
  }

  .readings-video-introduction {
    border-block: 0;
  }

  .readings-video-introduction__content-stage {
    width: min(100% - (var(--gutter) * 2), 31rem);
    margin-top: clamp(2.25rem, 7vw, 3rem);
  }

  .readings-video-introduction__eyebrow {
    width: min(100%, 16rem);
    font-size: .55rem;
    letter-spacing: .24em;
  }

  .readings-video-introduction h2 {
    max-width: min(100%, 18rem);
    font-size: clamp(2.05rem, 9.4vw, 3rem);
    letter-spacing: .055em;
  }

  .readings-video-introduction__summary {
    max-width: 28rem;
    font-size: clamp(.94rem, 4.1vw, 1.05rem);
  }

  .readings-hero .readings-hero__title {
    max-width: 22rem;
    margin-inline: auto;
    font-size: clamp(2.25rem, 9.4vw, 2.65rem);
    letter-spacing: -.035em;
    line-height: .98;
  }

  .readings-hero .readings-hero__title-phrase--roman {
    max-inline-size: 15ch;
  }

  .readings-hero .readings-hero__title-phrase--italic {
    max-inline-size: 14.5ch;
    margin-block-start: .08em;
  }

  .readings-hero .readings-hero__copy {
    max-width: 21.5rem;
    margin-block-end: 1.15rem;
  }

  .readings-hero .readings-hero__copy-line {
    color: rgb(255 248 228 / .94);
    font-family: var(--font-body);
    font-size: clamp(.98rem, 4.2vw, 1.08rem);
    font-style: normal;
    line-height: 1.4;
    text-wrap: balance;
  }

  .readings-hero .readings-hero__copy-line + .readings-hero__copy-line {
    margin-top: .35rem;
  }

  .readings-hero__secondary-link {
    min-height: 3.25rem;
    margin: 0;
    padding-inline: .9rem;
    font-size: .66rem;
    letter-spacing: .105em;
  }

  .readings-page [id] {
    scroll-margin-top: 6rem;
  }

  .readings-marker,
  .readings-scaffold:not(.reading-experience) {
    padding-block: var(--section-space-tight);
  }

  .readings-marker h2,
  .readings-scaffold:not(.reading-experience) h2 {
    font-size: clamp(2.25rem, 11vw, 3.2rem);
  }

  .before-book {
    padding: clamp(3.5rem, 12vw, 4.5rem) clamp(1.25rem, 6vw, 2rem) clamp(3rem, 10vw, 4rem);
  }

  .before-book__decoration {
    width: 17rem;
    opacity: .32;
  }

  .before-book__decoration--upper-left,
  .before-book__decoration--lower-right {
    display: none;
  }

  .before-book__decoration--upper-right {
    inset: -1rem -7rem auto auto;
  }

  .before-book__decoration--lower-left {
    inset: auto auto -4rem -7rem;
  }

  .before-book h2 {
    font-size: clamp(2.3rem, 10vw, 2.75rem);
    line-height: 1.05;
  }

  .before-book__intro {
    max-width: 24rem;
    font-size: 1.1rem;
  }

  .before-book__actions.home-hero__actions {
    width: min(100%, 23rem);
    margin-top: 1.25rem;
    gap: .8rem;
  }

  .before-book__actions.home-hero__actions .before-book__booking-button {
    --hero-action-compartment: 3.15rem;
    min-width: 0;
    min-height: 3.35rem;
    flex: 0 0 3.35rem;
  }

  .before-book__divider--star {
    margin-block: 1.75rem;
  }

  .before-book__divider--star img {
    width: 1.35rem;
  }

  .before-book__facts {
    width: min(100%, 25rem);
  }

  .before-book__fact h3 {
    font-size: 1.75rem;
  }

  .before-book__stat strong {
    font-size: 2.3rem;
  }

  .before-book__stat span {
    font-size: 1.25rem;
  }

  .before-book__fact-icon svg {
    width: 1.65rem;
    height: 1.65rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
  }

  .before-book__where {
    width: min(100%, 25rem);
    text-align: center;
  }

  .before-book__where h3 {
    margin: 0 0 .28rem;
    font-size: clamp(1.45rem, 6.3vw, 1.75rem);
    line-height: 1.08;
  }

  .readings-faq {
    padding-inline: clamp(1.25rem, 6vw, 2rem);
  }

  .readings-faq__introduction h2 {
    font-size: clamp(2.75rem, 13vw, 3.8rem);
  }

  .readings-faq__introduction > p:last-child {
    max-width: 24rem;
    font-size: 1.08rem;
  }

  .readings-faq__divider--moon {
    margin-block: 2rem 3.6rem;
  }

  .readings-faq__topic-header {
    min-height: 3.5rem;
    grid-template-columns: 3.25rem minmax(0, 1fr);
  }

  .readings-faq__topic-header > img {
    width: 2.85rem;
    height: 2.85rem;
  }

  .readings-faq__topic-header h3 {
    font-size: .7rem;
    letter-spacing: .19em;
  }

  .readings-faq summary {
    min-height: 3.85rem;
    padding: .85rem 3.2rem .85rem .35rem;
    font-size: clamp(1.08rem, 5.1vw, 1.25rem);
  }

  .readings-faq summary::after {
    inset-inline-end: .35rem;
    width: 1.75rem;
    height: 1.75rem;
  }

  .readings-faq__answer {
    padding: .25rem .35rem 1.65rem;
    font-size: 1rem;
    line-height: 1.62;
  }

  .faq-review-note {
    padding: .95rem 1rem;
  }

  .readings-faq__closing {
    margin-top: 4.5rem;
  }

  .readings-faq__closing blockquote p {
    font-size: 1.18rem;
  }

  .readings-faq__closing blockquote br {
    display: none;
  }

  .readings-faq__celestial-art {
    inset: auto -13rem -2.5rem auto;
    width: 29rem;
    opacity: .28;
  }
}

@media (max-width: 23.5rem) {
  .readings-hero .home-hero__actions .home-hero__action-button--primary,
  .readings-hero__secondary-link {
    width: min(100%, 20.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .readings-video-introduction__content-stage > .readings-video-introduction__identity,
  .readings-video-transcript,
  .readings-video-transcript__cue,
  .readings-video-introduction__video.has-transcript.is-playing:not(.is-paused) + .readings-video-introduction__content-stage > .readings-video-introduction__identity,
  .readings-video-introduction__video.has-transcript.is-playing:not(.is-paused) + .readings-video-introduction__content-stage > .readings-video-transcript {
    transition: none;
  }

  .readings-faq summary::after {
    transition: none;
  }
}
