/* Elena Celeste — the private reading, its offer, and the details that support it.
   Loaded after the base/brand/gallery sheets; the existing flow stays intact. */

/* A reading table: warm paper around a luminous, quietly framed video. */
.rf-body .rf-hero--stage {
  position:relative;
  isolation:isolate;
  background:radial-gradient(ellipse at 50% 45%,#fdf8ff 0,transparent 52%),linear-gradient(125deg,#f5e6f5,#ece0f6 58%,#f7e9f2);
  border-bottom:1px solid #ddcde5;
}
.rf-body .rf-hero--stage::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 49.9%,#6d297508 50%,transparent 50.1%);
}
.rf-body .rf-guide-intro {
  padding:9px 15px 9px 9px;
  border:1px solid #fff;
  border-radius:999px;
  background:#ffffffa8;
  box-shadow:0 5px 20px -14px #54146650;
}
.rf-body .rf-guide-intro img { box-shadow:0 0 0 3px #fff; }
.rf-body .rf-stage__main { position:relative; isolation:isolate; min-width:0; }
.rf-body .rf-stage__main::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:7% -10% 12%;
  border:1px solid #9e69b226;
  border-radius:50%;
  box-shadow:0 0 0 24px #a970bc09,0 0 0 55px #a970bc06;
  pointer-events:none;
}
.rf-body .rf-stage__main .rf-player__frame {
  border:5px solid #fffdfb;
  border-radius:12px;
  outline:1px solid #8c539538;
  box-shadow:0 27px 55px -24px #43105e80,0 5px 14px #48176415;
}
.rf-body .rf-play__circle {
  outline:1px solid #ffffffa8;
  outline-offset:8px;
  box-shadow:0 9px 28px #2f124c40,inset 0 -3px 8px #ecd8ed80;
  transition:transform .25s ease,outline-offset .25s ease,box-shadow .25s ease;
}
.rf-body .rf-play:hover .rf-play__circle {
  transform:scale(1.07);
  outline-offset:12px;
  box-shadow:0 12px 36px #2f124c55,inset 0 -3px 8px #ecd8ed80;
}
.rf-body .rf-play:focus-visible { outline-offset:-6px; }
.rf-body .rf-player-note { margin-top:16px; }
.rf-body .rf-pcard {
  position:relative;
  border:1px solid #d9c6e1;
  border-radius:7px;
  background:#fffdfaeb;
  box-shadow:0 9px 24px -17px #58246455,inset 0 1px #fff;
  padding:21px;
}
.rf-body .rf-pcard--rating {
  border-top:3px solid var(--ec-sage);
  background:linear-gradient(155deg,#fff,#faf6fc);
}
.rf-body .rf-pcard__score { letter-spacing:-.04em; margin-bottom:10px; }
.rf-body .rf-pcard__score b { font-weight:600; }
.rf-body .rf-pcard__score span { margin-left:3px; font:500 17px var(--ec-sans); letter-spacing:0; }
.rf-body .rf-pcard--rating .rf-pcard__meta:last-child { margin-top:12px; padding-top:12px; border-top:1px solid #e8ddea; font-size:12px; }
.rf-body .rf-pcard--review { border-top:2px solid #cfa8c5; }
.rf-body .rf-pcard--review blockquote { line-height:1.65; }
.rf-body .rf-pcard--review figcaption { gap:5px 9px; }
.rf-body .rf-pcard--review figcaption small { font-size:10px; }
.rf-body .rf-pcard__avatar {
  width:36px;
  height:36px;
  flex:none;
  overflow:hidden;
  border:2px solid #fff;
  box-shadow:0 0 0 1px #dfc8df;
}
.rf-body .rf-pcard__avatar img { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.rf-body .rf-pcard--elena, .rf-body .rf-pcard--private { background:#f8f2fb; box-shadow:none; }
.rf-body .rf-pcard--elena img { border:3px solid #fff; box-shadow:0 0 0 1px #ddcce4; }
.rf-body .rf-pcard__icon { background:#fff; border:1px solid #dfcce7; }
.rf-body .rf-pcard__kicker { color:var(--ec-cta); }
.rf-body .rf-pcard__title { font-size:24px; margin:7px 0 16px; }
.rf-body .rf-reveal { gap:10px; }
.rf-body .rf-reveal li { gap:10px; padding-bottom:10px; border-bottom-style:solid; border-color:#eadfee; line-height:1.4; }
.rf-body .rf-reveal .rf-ico { flex:none; width:22px; height:22px; padding:4px; border-radius:50%; background:#f4e8f7; color:var(--ec-plum); }
.rf-body .rf-reveal li.is-done .rf-ico { background:#e5f4eb; color:var(--ec-sage); }
.rf-body .rf-cut__card {
  border-radius:9px;
  background:linear-gradient(160deg,#fffefa,#faf1fa);
  box-shadow:0 24px 60px -22px #230b3d99,inset 0 0 0 1px #fff;
}
.rf-body .rf-cut__lock { outline:1px solid #d9b5dd; outline-offset:5px; margin-bottom:17px; }

/* The gallery remains complete: its composed image assets contain readable text. */
.rf-body .rf-product {
  background:radial-gradient(ellipse at 3% 0,#f4e8f8,transparent 45%),var(--ec-paper);
  border-bottom:1px solid #e4d7e7;
}
.rf-body .rf-product__grid { min-width:0; }
.rf-body .rf-personal-summary { padding-block:4px; }
.rf-body .rf-personal-summary > a {
  border-color:#d6b3ce;
  border-radius:6px;
  background:#fff7fc;
  box-shadow:0 5px 14px -11px #63195d50;
  transition:background .2s ease,border-color .2s ease;
}
.rf-body .rf-personal-summary > a:hover { background:#fce0ee; border-color:var(--ec-cta); }
.rf-body .rf-gallery__track {
  border:1px solid #d8bfdc;
  border-radius:9px;
  box-shadow:0 19px 38px -23px #5b146f5c,0 2px 7px #47165b0c;
}
.rf-body .rf-gallery__caption { padding:14px 2px; }
.rf-body .rf-gallery__caption [data-gallery-count] { padding:4px 9px; border:1px solid #dfcfe4; border-radius:20px; background:#fff; }
.rf-body .rf-gallery__thumbs { gap:9px; }
.rf-body .rf-gallery__thumbs button {
  padding:5px;
  border-radius:5px;
  background:#fffcff;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.rf-body .rf-gallery__thumbs button[aria-pressed="true"] { box-shadow:inset 0 0 0 1px var(--ec-cta),0 5px 12px -8px #ac236266; }
.rf-body .rf-gallery__thumbs button:hover { border-color:var(--ec-cta); }
.rf-body .rf-gallery__thumbs img { border-radius:2px; }
.rf-body .rf-gallery__reassurance { margin-top:17px; color:#67516e; }
.rf-body .rf-gallery__reassurance .rf-ico { color:var(--ec-sage); }
.rf-body .rf-for { border-radius:5px; border-left:3px solid var(--ec-plum); background:linear-gradient(90deg,#eee0f6,#f8f1fa); }
.rf-body .rf-price { gap:12px; }
.rf-body .rf-price > b { font-size:39px; letter-spacing:-.055em; }
.rf-body .rf-save { padding:5px 9px; border-radius:3px; }
.rf-body .rf-badges--product { border-block-style:solid; border-color:#e7d9ea; }
.rf-body .rf-badges--product li + li { border-left-style:solid; border-color:#e7d9ea; }
.rf-body .rf-tier {
  border-color:#dfcfe4;
  border-radius:7px;
  background:linear-gradient(150deg,#fff,#fdfafd);
  box-shadow:0 3px 10px -8px #54146645;
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.rf-body .rf-tier:hover { border-color:#ba8cbf; }
.rf-body .rf-tier:has(input:checked) {
  border-color:var(--ec-cta);
  background:linear-gradient(150deg,#fff,#fff7fc);
  box-shadow:0 0 0 1px var(--ec-cta),0 10px 22px -17px #b31d7477;
}
.rf-body .rf-tier__ribbon {
  padding-block:8px;
  border-radius:4px 4px 0 0;
  background:linear-gradient(100deg,#be0c70,#d10c79 55%,#b41370);
}
.rf-body .rf-tier__row { padding:20px 18px; }
.rf-body .rf-tier__radio { border-color:#a06eaa; transition:background .2s ease,box-shadow .2s ease,border-color .2s ease; }
.rf-body .rf-tier input:checked ~ .rf-tier__radio { background:var(--ec-cta); border-color:var(--ec-cta); }
.rf-body .rf-tier__text small { margin-top:5px; line-height:1.45; }
.rf-body .rf-tier__price b { font-size:21px; letter-spacing:-.035em; }
.rf-body .rf-gifts { margin-inline:18px; border-color:#e1cfe4; }
.rf-body .rf-gifts__title { padding:8px; border-radius:3px; letter-spacing:.015em; }
.rf-body .rf-gifts__list { padding-block:17px 13px; gap:12px; }
.rf-body .rf-gift { gap:7px; }
.rf-body .rf-gift__icon { width:43px; height:43px; padding:8px; border:1px solid #e0cbe7; border-radius:7px; background:#faf2fd; }
.rf-body .rf-gift__free { border-radius:3px; }
.rf-body .rf-tier__checks { margin-inline:18px; padding-block:14px; border-color:#e1cfe4; }
.rf-body .rf-tier__checks span { line-height:1.4; align-items:flex-start; }
.rf-body .rf-tier__checks .rf-ico { flex:none; margin-top:1px; }
.rf-body .rf-addon { padding:16px; border:1px dashed #c78bbb; border-radius:6px; background:#fff5fb; transition:border-color .2s ease,background .2s ease; }
.rf-body .rf-addon:has(input:checked) { border-color:var(--ec-cta); background:#fce4f1; }
.rf-body .rf-addon__text small { display:block; margin-top:4px; line-height:1.4; }
.rf-body .rf-instant__dot { flex:none; }
.rf-body .rf-module { padding:23px; border:1px solid #dbc9e4; border-radius:7px; background:linear-gradient(155deg,#f9f2fc,#f1e5f8); box-shadow:inset 0 1px #fff; }
.rf-body .rf-module__title { margin-bottom:16px; font-size:16px; line-height:1.4; }
.rf-body .rf-module__bar { height:8px; background:#decce7; }
.rf-body .rf-module__bar i { background:linear-gradient(90deg,#9b237f,var(--ec-cta)); }
.rf-body .rf-module__note { flex-wrap:wrap; gap:5px; margin-top:13px; font-size:12px; }
.rf-body .rf-hidden { gap:12px; }
.rf-body .rf-hidden li { align-items:flex-start; gap:9px; line-height:1.4; font-size:13px; }
.rf-body .rf-hidden .rf-ico { flex:none; width:14px; height:14px; margin-top:2px; }
.rf-body .rf-module--quote { position:relative; padding-left:28px; border-color:#e3d1bf; background:#fff9f0; }
.rf-body .rf-module--quote::before { content:""; position:absolute; left:0; top:23px; bottom:23px; width:3px; background:#b68a54; }
.rf-body .rf-module--quote > p:not(.rf-module__who) { font:500 18px/1.5 var(--ec-serif); color:#5b3d4c; }
.rf-body .rf-module--quote .rf-module__who { margin-top:14px; font-size:12px; }
.rf-body .rf-module__who img { display:inline-block; width:38px; height:38px; margin-right:9px; border:2px solid #fff; border-radius:50%; object-fit:cover; vertical-align:middle; }

/* Supporting detail feels like part of the reading, with clear rhythm and spacing. */
.rf-body .rf-desc { background:linear-gradient(115deg,#efe2f8,#f8edf6); border-bottom:1px solid #e2d0e8; }
.rf-body .rf-desc__lead { font:500 clamp(22px,2vw,29px)/1.45 var(--ec-serif); color:var(--ec-plum); }
.rf-body .rf-desc__label { margin-top:24px; font-size:14px; }
.rf-body .rf-includes { margin-block:4px; }
.rf-body .rf-includes li { gap:11px; padding:17px 10px; font-size:13px; }
.rf-body .rf-includes .rf-ico { flex:none; width:22px; height:22px; padding:4px; background:#fff9fe; border:1px solid #dec7e5; border-radius:50%; }
.rf-body .rf-receive__intro { max-width:800px; }
.rf-body .rf-receive__intro .rf-text { max-width:67ch; margin-inline:auto; }
.rf-body .rf-receive .rf-h3 { margin-block:35px 22px; }
.rf-body .rf-receive__list { gap:0; border-top:1px solid #e4d6e9; border-bottom:1px solid #e4d6e9; }
.rf-body .rf-receive__list li { padding:22px 0; gap:16px; }
.rf-body .rf-receive__list li + li { border-top:1px solid #eadfea; }
.rf-body .rf-receive__list b { margin-bottom:7px; font:600 20px/1.2 var(--ec-serif); }
.rf-body .rf-receive__icon { width:48px; height:48px; border:1px solid #dec7e4; border-radius:9px; color:var(--ec-plum); background:#f2e7f8; box-shadow:inset 0 0 0 4px #fff,0 5px 10px -8px #5b146f55; }
.rf-body .rf-how { position:relative; background:linear-gradient(180deg,#fff2f8,#f8e6f2); border-block:1px solid #eddae7; }
.rf-body .rf-step__num::before { border-color:#d9b5d0; }
.rf-body .rf-step__num span { font-size:22px; }
.rf-body .rf-step__num span::before { border:1px solid #8a4b92; border-radius:7px; background:#fff9fd; box-shadow:inset 0 0 0 5px #fff9fd,inset 0 0 0 6px #dec5e2,6px 6px 0 #eed9ea; }
.rf-body .rf-step h3 { margin-block:22px 10px; font:600 23px/1.2 var(--ec-serif); }
.rf-body .rf-step p { line-height:1.6; max-width:33ch; }
.rf-body .rf-how .rf-center { margin-top:36px; }

/* Customer portraits sit beside the name; the message keeps the full line length. */
.rf-body .rf-reviews__head { margin-bottom:28px; }
.rf-body .rf-reviews__summary { justify-content:center; }
.rf-body .rf-review {
  position:relative;
  grid-template-columns:minmax(0,1fr) 72px;
  column-gap:14px;
  row-gap:18px;
  padding:25px;
  border:1px solid #e4cddd;
  border-radius:7px;
  background:linear-gradient(150deg,#fffafc,#fff3f9);
  box-shadow:0 10px 25px -21px #61246370;
}
.rf-body .rf-review__body { display:contents; }
.rf-body .rf-review__name { grid-column:1; grid-row:1; align-self:center; font-size:17px; line-height:1.35; }
.rf-body .rf-review__name small { font-size:10px; }
.rf-body .rf-review__date { grid-column:1/-1; margin:0; }
.rf-body .rf-review__body > .rf-stars { grid-column:1/-1; }
.rf-body .rf-review__text { grid-column:1/-1; margin:0; line-height:1.7; color:#55385b; }
.rf-body .rf-review__photo { display:block; grid-column:2; grid-row:1; align-self:center; width:72px; height:72px; overflow:hidden; border:3px solid #fff; border-radius:50%; background:#efdeef; box-shadow:0 0 0 1px #ddc6de; }
.rf-body .rf-review__photo img { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.rf-body .rf-review__reply { padding-top:16px; color:#76647c; font-size:12px; line-height:1.6; }
.rf-body .rf-reviews-sec > .rf-wrap > .rf-center { margin-top:30px; }

.rf-body .rf-guarantee { background:linear-gradient(120deg,#f5fbf7,#edf7f1); border-block:1px solid #d6e7dc; }
.rf-body .rf-guarantee__badge { position:relative; width:118px; height:118px; margin-bottom:27px; background:linear-gradient(150deg,#25936a,#16744f); border:1px solid #fff; box-shadow:0 0 0 6px #f2faf6,0 0 0 7px #8fbea5,0 12px 24px -13px #16744f66; }
.rf-body .rf-guarantee__badge::before { content:""; position:absolute; inset:9px; border:1px dashed #d7efe28c; border-radius:50%; }
.rf-body .rf-guarantee__badge b { font-size:29px; }
.rf-body .rf-guarantee__badge small { font-size:9px; }
.rf-body .rf-terms { gap:11px; }
.rf-body .rf-terms li { padding:20px 20px 20px 64px; border:1px solid #d0e4d8; border-radius:6px; background:#ffffffd1; box-shadow:0 5px 16px -14px #205c4666; line-height:1.65; }
.rf-body .rf-terms li::before { left:19px; top:20px; width:29px; height:29px; background:#e5f2e9; border:1px solid #bfd9c9; color:#16744f; }
.rf-body .rf-guarantee__terms .rf-text--em { color:#36664d; font-size:14px; }
.rf-body .rf-final { position:relative; isolation:isolate; overflow:hidden; padding-block:77px; background:radial-gradient(ellipse at 50% 120%,#823076,transparent 66%),#501165; }
.rf-body .rf-final::before, .rf-body .rf-final::after { content:""; position:absolute; z-index:-1; top:50%; width:420px; height:420px; border:1px solid #f4b3db24; border-radius:50%; transform:translateY(-50%); box-shadow:0 0 0 45px #f4b3db09,0 0 0 90px #f4b3db06; pointer-events:none; }
.rf-body .rf-final::before { left:-220px; }
.rf-body .rf-final::after { right:-220px; }
.rf-body .rf-final__kicker { margin-bottom:18px; }
.rf-body .rf-final__text { max-width:47ch; margin-bottom:28px; line-height:1.65; }
.rf-body .rf-modal__panel { border:1px solid #e1cadf; border-radius:12px; box-shadow:0 32px 90px -24px #220c3c99; }
.rf-body .rf-modal__backdrop { background:#2506329e; -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.rf-body .rf-sticky { border-top-color:#d8c0df; background:#fffdfaef; -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }

@media (min-width:960px) {
  .rf-body .rf-receive__list { display:grid; grid-template-columns:repeat(3,minmax(234px,1fr)); gap:0; padding-block:10px; }
  .rf-body .rf-receive__list li { min-width:0; padding:26px; }
  .rf-body .rf-receive__list li + li { border-top:0; border-left:1px solid #eadfea; }
  .rf-body .rf-receive__list li:nth-child(3n + 1) { border-left:0; }
  .rf-body .rf-receive__list li:nth-child(n + 4) { border-top:1px solid #eadfea; }
  .rf-body .rf-steps { gap:0; }
  .rf-body .rf-step { padding-inline:26px; }
  .rf-body .rf-step__num::before { left:-26px; right:-26px; }
  .rf-body .rf-step:first-child .rf-step__num::before { left:50%; }
  .rf-body .rf-step:last-child .rf-step__num::before { right:50%; }
  .rf-body .rf-guarantee__intro { padding-right:30px; }
  .rf-body .rf-reviews { align-items:stretch; }
  .rf-body .rf-review { align-content:start; }
}
@media (min-width:1024px) {
  .rf-body .rf-hero--stage { padding-bottom:54px; }
  .rf-body .rf-stage { margin-top:31px; }
  .rf-body .rf-stage__side--left .rf-pcard--review { margin-right:14px; }
  .rf-body .rf-stage__side--right .rf-pcard--private { margin-left:12px; }
  .rf-body .rf-stage__side .rf-pcard { max-width:100%; }
}
@media (min-width:1200px) {
  .rf-body .rf-receive__list { grid-template-columns:repeat(4,minmax(234px,1fr)); }
  .rf-body .rf-receive__list li:nth-child(n) { border-top:0; border-left:1px solid #eadfea; }
  .rf-body .rf-receive__list li:nth-child(4n + 1) { border-left:0; }
  .rf-body .rf-receive__list li:nth-child(n + 5) { border-top:1px solid #eadfea; }
}
@media (max-width:639px) {
  .rf-body .rf-guide-intro { padding:7px 12px 7px 7px; }
  .rf-body .rf-guide-intro p { font-size:11px; }
  .rf-body .rf-guide-intro b { font-size:13px; }
  .rf-body .rf-stage__main::before { inset:10% 0 14%; }
  .rf-body .rf-stage__main .rf-player__frame { border-width:4px; }
  .rf-body .rf-pcard { padding:19px; }
  .rf-body .rf-pcard--review { border-left:3px solid #cfa8c5; border-top:1px solid #d9c6e1; }
  .rf-body .rf-pcard__title { font-size:23px; }
  .rf-body .rf-gallery__track { border-radius:6px; }
  .rf-body .rf-gallery__thumbs { gap:7px; }
  .rf-body .rf-tier__row { gap:10px; padding:17px 13px; }
  .rf-body .rf-tier__text b { font-size:15px; }
  .rf-body .rf-tier__text small { font-size:12px; }
  .rf-body .rf-tier__price b { font-size:19px; }
  .rf-body .rf-tier__checks, .rf-body .rf-gifts { margin-inline:13px; }
  .rf-body .rf-gift__label { font-size:11px; }
  .rf-body .rf-addon { gap:9px; padding:14px 12px; }
  .rf-body .rf-addon__text b { font-size:13px; }
  .rf-body .rf-addon__price { font-size:14px; white-space:nowrap; }
  .rf-body .rf-module { padding:21px; }
  .rf-body .rf-module--quote { padding-left:25px; }
  .rf-body .rf-hidden { grid-template-columns:1fr; }
  .rf-body .rf-receive__list li { padding-block:24px; }
  .rf-body .rf-review { padding:21px; row-gap:14px; }
  .rf-body .rf-terms li { padding:18px 16px 18px 57px; font-size:14px; }
  .rf-body .rf-terms li::before { left:15px; top:18px; }
  .rf-body .rf-final { padding-block:58px; }
  .rf-body .rf-final::before { left:-365px; }
  .rf-body .rf-final::after { right:-365px; }
}
@media (prefers-reduced-motion:reduce) {
  .rf-body .rf-play__circle, .rf-body .rf-personal-summary > a, .rf-body .rf-gallery__thumbs button,
  .rf-body .rf-tier, .rf-body .rf-tier__radio, .rf-body .rf-addon { transition:none; }
}

/* Review metadata: restrained source-style cards with legible names and dates. */
.rf-review-verification { display:flex; align-items:flex-start; flex-direction:column; gap:3px; min-width:0; }
.rf-review-badge { display:inline-flex; align-items:center; flex-wrap:nowrap; gap:5px; width:max-content; max-width:100%; box-sizing:border-box; padding:4px 7px; border:1px solid #d1e5d9; border-radius:5px; background:#eff7f2; color:#286342; font:500 10px/14px var(--rf-sans); white-space:nowrap; vertical-align:middle; }
.rf-review-badge > .rf-ico { display:block; flex:0 0 13px; width:13px; height:13px; margin:0; padding:0; }
.rf-review-badge__label { display:block; min-width:0; line-height:14px; }
.rf-review-details { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px 14px; margin:18px 0 13px; }
.rf-review-details time { color:#6c6870; font:400 11px/1.5 var(--rf-sans); white-space:nowrap; }
.rf-review-details .rf-stars { gap:3px; }
.rf-review-details .rf-stars svg { width:15px; height:15px; }
.rf-review-details .rf-score-stars__base .rf-stars { color:#e2e6e3; }
.rf-review-details .rf-score-stars__fill .rf-stars { color:#287c57; }
.rf-body .rf-review { background:#fff; box-shadow:none; border-color:#e1dce3; }
.rf-body .rf-review__name .rf-review-verification { margin-top:7px; }
.rf-body .rf-review__body > .rf-review-details { grid-column:1/-1; margin:0; }
