/* Homepage editorial copy and teaching cover examples. */
.skin-feature-heading > .button,
.sex-feature-heading > .button { margin-top: 24px; }
#skin-feature-trailer .trailer-play-banner {
  position: absolute; bottom: 5%; right: 5%; z-index: 5;
  display: inline-flex; align-items: center; gap: 12px;
  padding: 14px 18px; background: #fcf8ed; color: #262d22;
  border: 1px solid #e7dfcd; box-shadow: 0 3px 12px #29272418;
  font: 600 clamp(10px, 1vw, 13px)/1.3 'DM Sans', sans-serif;
  letter-spacing: .12em; pointer-events: none;
}
#skin-feature-trailer .trailer-cover:hover .trailer-play-banner { background: #fffdf5; }
@media (max-width: 650px) {
  #skin-feature-trailer .trailer-play-banner { bottom: 4%; right: 4%; padding: 12px; font-size: 10px; gap: 8px; }
}
/* A quiet wash of light; the card geometry and reading order stay fixed. */
.pain-grid > article { position: relative; isolation: isolate; }
.pain-grid > article::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1px -15px -16px;
  border-radius: 5px;
  background: radial-gradient(ellipse at 35% 15%, #fffdf4 0%, #fbf8ecb3 55%, #e7e9db66 100%);
  box-shadow: 0 6px 24px #59634b0a;
  opacity: 0;
  pointer-events: none;
  transition: opacity 240ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .pain-grid > article:hover::before { opacity: 1; }
}
.pain-grid > article:focus-within::before { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .pain-grid > article::before { transition: none; }
}
.pain-section > h2 { max-width: 800px; }
.pain-section .pain-intro { max-width: 690px; font-size: 16px; line-height: 1.8; }
.pain-grid { gap: 36px 45px; }
.pain-grid h3 { max-width: 340px; margin-bottom: 18px; }
.pain-grid p { margin-bottom: 0; line-height: 1.8; }
.pain-close { max-width: 750px; margin-bottom: 0; }

.offerings .visual { height: 400px; }
.rhea-series-stage { height: 400px; display: flex; align-items: center; justify-content: center; background: #e7e6de; container-type: inline-size; }
.rhea-series-pair { position: relative; width: 90%; max-width: 450px; aspect-ratio: 1.22; }
.rhea-cover { position: absolute; display: flex; flex-direction: column; background: #f8f5ec; overflow: hidden; padding: 16px; box-shadow: 12px 17px 22px #393c2d20; }
.rhea-cover-heading { flex: 0 0 auto; padding: 0 0 11px; }
.rhea-cover .rhea-cover-logo { display: block; width: 73px; height: auto; margin-bottom: 10px; object-fit: contain; }
.rhea-cover-title { display: block; font: 29px/1.05 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; color: #292724; }
.rhea-cover-kicker { display: block; margin-top: 9px; font: 7px/1.4 'DM Sans', Arial, sans-serif; letter-spacing: 1px; text-transform: uppercase; color: #5d6356; }
.rhea-cover-photo { display: block; flex: 1 1 0; min-height: 0; overflow: hidden; position: relative; }
.rhea-cover-photo > img, .rhea-cover-photo > svg { display: block; width: 100%; height: 100%; object-fit: cover; }
.goddess-cover { left: 2%; top: 3%; width: 53%; height: 92%; border: 7px solid #b4bca6; border-radius: 16px; transform: rotate(-6deg); z-index: 2; }
.goddess-cover .rhea-cover-photo > img { object-position: 50% 50%; }
.reset-cover { right: 0; top: 15%; width: 45%; height: 78%; transform: rotate(8deg); z-index: 1; }
.reset-cover .rhea-cover-title { font-size: 26px; }
.reset-cover .rhea-cover-logo { width: 64px; margin-bottom: 9px; }
.reset-cover .rhea-cover-heading { padding-bottom: 12px; }

@container (max-width: 450px) {
  .rhea-cover { padding: 12px; }
  .goddess-cover { border-width: 5px; border-radius: 12px; }
  .rhea-cover .rhea-cover-logo { width: 56px; margin-bottom: 8px; }
  .rhea-cover-title { font-size: 22px; }
  .reset-cover .rhea-cover-title { font-size: 20px; }
  .rhea-cover-kicker { font-size: 6px; letter-spacing: .5px; margin-top: 6px; }
  .rhea-cover-heading, .reset-cover .rhea-cover-heading { padding-bottom: 9px; }
}
@container (max-width: 330px) {
  .rhea-cover { padding: 9px; }
  .rhea-cover-title { font-size: 19px; }
  .reset-cover .rhea-cover-title { font-size: 18px; }
  .rhea-cover .rhea-cover-logo { width: 49px; margin-bottom: 7px; }
  .rhea-cover-kicker { font-size: 5.4px; }
}
@media (max-width: 750px) {
  .pain-section .pain-intro { font-size: 15px; }
  .pain-grid { gap: 28px; }
  .pain-grid h3 { max-width: none; }
  .offerings .visual { height: clamp(300px, 83vw, 400px); }
}

/* Invitations to explore the original teaching topics. */
.pain-grid article{display:flex;flex-direction:column;align-items:flex-start}.pain-grid .textlink{margin-top:23px;font-size:10px}.pain-grid p{margin-bottom:auto}
.gathering .gathering-capacity-note{font-size:14px;line-height:1.7;color:inherit;font-weight:500;border-top:1px solid currentColor;padding-top:18px;margin-top:25px}
/* A closing invitation with one direct path into the application. */
.manifesto#your-next-chapter{padding:110px 6% 100px}
.manifesto#your-next-chapter h2{font-size:clamp(42px,5.2vw,78px);line-height:1.12;max-width:1150px;margin:30px auto 38px}
.manifesto#your-next-chapter h2 strong{display:inline-block;margin-top:15px;font-family:Georgia,serif;font-style:italic;font-size:1.12em}
.manifesto#your-next-chapter>p{font-size:clamp(20px,2vw,27px);line-height:1.5;max-width:850px;margin:0 auto 24px}
.manifesto#your-next-chapter .manifesto-cta{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:58px;margin-top:20px;padding:18px 28px;background:#3f4939;color:#fffaf1;text-decoration:none;border:1px solid #3f4939;font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}
.manifesto#your-next-chapter .manifesto-cta:hover{background:#2c3728}
.manifesto#your-next-chapter .manifesto-cta:focus-visible{outline:3px solid #899578;outline-offset:5px}
.manifesto#your-next-chapter .manifesto-invitation{font-size:14px;line-height:1.7;margin:22px auto 0;max-width:540px;color:#666158}
@media(max-width:650px){.manifesto#your-next-chapter{padding:75px 7%}.manifesto#your-next-chapter h2{font-size:40px}.manifesto#your-next-chapter .manifesto-cta{width:100%;gap:16px;padding:18px 15px;font-size:12px}.manifesto#your-next-chapter .manifesto-invitation{font-size:13px}}

/* A compact introduction with one clear invitation. */
.rhea-explained .explained-copy h2 { margin-bottom: 28px; }
.rhea-explained .explained-copy .explained-sub { display: block; margin: 18px 0 0; font-size: .66em; line-height: 1.2; font-weight: 400; }
.rhea-explained .explained-copy > p { margin: 0 0 24px; }
.rhea-explained .explained-copy .textlink { margin-top: 0; }
.rhea-explained .explained-copy small { margin-top: 24px; }
#gathering .gathering-copy h2 { font-size: clamp(36px, 3.5vw, 54px); line-height: 1.1; text-wrap: balance; }
