/* Elena Celeste — bold US conversion identity. Layout foundations: funnel.css.
   White space, deep violet type, raspberry actions. No arches or pale-on-pale UI. */
.rf-body {
  --rf-cream:var(--ec-paper); --rf-sand:#faf4ef; --rf-line:var(--ec-line); --rf-dash:#d4bfdc;
  --rf-purple:var(--ec-plum); --rf-purple-2:#702b7b; --rf-purple-text:#54345d; --rf-purple-deep:#3a1057; --rf-navy:var(--ec-ink);
  --rf-pink:var(--ec-cta); --rf-pink-hover:var(--ec-cta-hover); --rf-pink-soft:#f29fce; --rf-pink-light:#efb8d5; --rf-pink-tint:#fff2f8;
  --rf-lilac:var(--ec-lilac); --rf-orange:#be7837; --rf-yellow:#c38b22; --rf-green:var(--ec-sage); --rf-mint:#e0f2e9;
  --rf-text:#35273b; --rf-muted:var(--ec-muted); --rf-serif:var(--ec-serif); --rf-sans:var(--ec-sans); --rf-shadow:var(--ec-shadow);
  font-weight:400; line-height:1.55;
}
.rf-body :focus-visible { outline:3px solid var(--ec-plum); outline-offset:4px; }
.rf-body main { overflow:clip; }
.rf-body .rf-wrap { width:min(1380px,100%); }
.rf-body .rf-wrap--narrow { width:min(840px,100%); }
.rf-body .rf-section { padding-block:60px; }
.rf-body .rf-h1 { font-weight:700; color:var(--ec-ink); letter-spacing:-.025em; }
.rf-body .rf-h2 { font-weight:700; font-size:clamp(29px,3.3vw,46px); line-height:1.12; letter-spacing:-.025em; max-width:29ch; margin-inline:auto; }
.rf-body .rf-h3 { font-weight:700; }
.rf-body .rf-btn { -webkit-appearance:none; appearance:none; min-height:54px; padding:15px 24px; border-radius:4px; background:var(--ec-cta); color:#fff; font-size:17px; font-weight:700; box-shadow:0 3px 0 #a7085f; transition:transform .15s ease; }
.rf-body .rf-btn:hover { background:var(--ec-cta-hover); }
.rf-body .rf-btn--lg { min-height:58px; font-size:18px; }
.rf-body .rf-btn--sm { min-height:44px; font-size:14px; padding:11px 17px; }
.rf-body .rf-btn-outline { min-height:46px; border:1px solid var(--ec-plum); border-radius:4px; color:var(--ec-plum); font-weight:700; }
.rf-body .rf-text { color:#54345d; font-size:17px; }
.rf-body .rf-topbar { background:var(--ec-plum); color:#fff; padding:8px 14px; font-size:13px; font-weight:600; }
.rf-body .rf-topbar b { color:#fff; }
.rf-body .rf-header { background:#fff; padding-block:15px; border-bottom:1px solid var(--ec-line); }
.rf-body .rf-header--nav { background:#fff; padding-block:0; }
.rf-body .rf-header__inner { min-height:78px; gap:28px; }
.rf-body .rf-logo { display:inline-flex; align-items:center; gap:10px; font:600 29px/1 var(--ec-serif); color:var(--ec-plum); letter-spacing:-.025em; }
.rf-logo__mark { width:34px; height:34px; color:var(--ec-plum); flex:none; }
.rf-logo__text { display:grid; gap:6px; }
.rf-logo__text small { font:500 10px var(--ec-sans); letter-spacing:.02em; color:#67496e; }
.rf-body .rf-nav { gap:24px; }
.rf-body .rf-nav a { font-size:14px; font-weight:600; }
.rf-body .rf-demo { top:auto; bottom:6px; left:6px; right:auto; transform:none; width:auto; padding:3px 6px; border-radius:2px; font-size:8px; letter-spacing:.06em; background:#5b146f; opacity:.65; }

/* The first screen communicates the product and an unmistakable action. */
.rf-body .rf-hero { background:#f1e5fb; }
.rf-body .rf-hero--home { padding:34px 0; background:#fce6f1; }
.rf-body .rf-hh { gap:30px; align-items:center; }
.rf-body .rf-hh__title { margin:17px 0 18px; font-size:clamp(40px,4.7vw,70px); line-height:1.01; font-weight:700; letter-spacing:-.035em; }
.rf-body .rf-hh__sub { font-size:18px; line-height:1.5; color:#43244f; font-weight:400; margin-bottom:24px; max-width:38ch; }
.rf-body .rf-hh__visual { position:relative; margin:0 auto; width:min(100%,480px); aspect-ratio:1; border:0; border-radius:0; box-shadow:none; background:#fce6f1; }
.rf-body .rf-hh__visual img { object-fit:cover; object-position:50% 30%; }
.rf-hh__caption { display:none; }
.rf-hh__note { display:flex; justify-content:center; align-items:center; gap:7px; margin:13px 0 0; font-size:12px; color:#54345d; }
.rf-hh__note .rf-ico { color:var(--ec-sage); }
.rf-body .rf-pill { background:#fff; border:1px solid #d7bfdc; padding:8px 12px; border-radius:3px; color:var(--ec-plum); font-size:13px; font-weight:600; }
.rf-body .rf-trust { background:#fff; padding-block:24px; border-bottom:1px solid var(--ec-line); }
.rf-body .rf-badges li { font-weight:600; }
.rf-body .rf-badges__icon { width:26px; height:26px; }
.rf-body .rf-mission__icon { color:var(--ec-plum); background:none; }
.rf-body .rf-mission__text { font:500 clamp(24px,2.7vw,34px)/1.42 var(--ec-serif); color:#7b5388; }
.rf-body .rf-mission__text b { font-weight:700; color:var(--ec-plum); }
.rf-body .rf-benefits-sec { padding-top:0; }
.rf-body .rf-benefit h3 { font-size:22px; font-weight:700; }
.rf-body .rf-benefit p { line-height:1.55; }
.rf-body .rf-limited { color:#563560; font-size:13px; }
.rf-body .rf-limited .rf-ico { color:var(--ec-sage); }
.rf-body .rf-band { background:var(--ec-plum); }
.rf-body .rf-band .rf-badges li { color:#fff; }
.rf-body .rf-band .rf-badges__icon { filter:brightness(0) invert(1); }

/* Proof has its own visual language: green rating, warm photography, violet type. */
.rf-body .rf-ugc-sec { background:#fff; }
.rf-body .rf-proof { font-size:13px; color:var(--ec-plum); font-weight:600; }
.rf-carousel-note { display:flex; justify-content:center; align-items:center; gap:8px; margin:16px 0 0; font-size:13px; color:var(--ec-plum); font-weight:600; }
.rf-carousel-note .rf-ico { font-size:20px; }
.rf-body .rf-ugc { grid-auto-columns:72%; gap:14px; scroll-padding-inline:20px; padding:0 20px 12px; }
.rf-body .rf-ugc__item { border-radius:4px; background:var(--ec-plum); aspect-ratio:9/14; }
.rf-ugc__art { position:absolute; inset:0; background:linear-gradient(180deg,rgba(45,6,61,.04),rgba(45,6,61,.7)),url('../img/brand/tarot-spread.webp') center/cover; }
.rf-ugc__item:nth-child(2n) .rf-ugc__art { background-position:15% 50%; }
.rf-ugc__item:nth-child(3n) .rf-ugc__art { background-position:85% 50%; }
.rf-body .rf-ugc__caption { top:24px; text-align:left; padding:0 20px; font:700 27px/1.15 var(--ec-serif); text-shadow:0 2px 10px #391244; }
.rf-body .rf-ugc__slot { bottom:24px; text-align:left; padding:0 20px; color:#fff; font-size:13px; }
.rf-body .rf-ugc__slot small { color:#fff; opacity:.9; font-size:11px; font-weight:400; }
.rf-body .rf-ugc__play { width:62px; height:62px; color:var(--ec-cta); box-shadow:none; }
.rf-body .rf-ugc__play[aria-disabled=true] { cursor:default; }
.rf-carousel-controls { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:15px; }
.rf-carousel-controls button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--ec-plum); border-radius:3px; background:#fff; color:var(--ec-plum); }
.rf-carousel-controls button:disabled { opacity:.3; cursor:default; }
.rf-carousel-controls button:first-child .rf-ico { transform:rotate(180deg); }
.rf-carousel-count { display:block; font-size:13px; color:var(--ec-plum); min-width:42px; text-align:center; font-variant-numeric:tabular-nums; }
.rf-carousel-dots { display:flex; align-items:center; justify-content:center; gap:5px; margin-top:5px; }
.rf-carousel-dot { display:block; width:6px; height:6px; border-radius:0; background:#d6c0df; }
.rf-carousel-dot.is-active { width:20px; background:var(--ec-cta); }
.rf-body .rf-cases-sec { background:#fcf7ef; }
.rf-body .rf-case { border:1px solid #decedd; border-top:4px solid var(--ec-plum); border-radius:0; background:#fff; color:#3d2446; box-shadow:none; padding:25px; gap:15px; text-align:left; justify-items:start; }
.rf-body .rf-case__photo { display:none; }
.rf-body .rf-case h3 { color:var(--ec-plum); font-weight:700; font-size:23px; }
.rf-body .rf-case__quote { color:#52315c; line-height:1.6; font-size:15px; }
.rf-body .rf-case__who { font-size:12px; color:#765d7b; }
.rf-body .rf-sub { font-size:13px; font-weight:400; }
.rf-body .rf-reviews-sec { background:#fff; }
.rf-body .rf-review { background:#fff6fb; border-color:#efc2da; border-radius:4px; grid-template-columns:1fr; padding:22px; }
.rf-body .rf-review__photo { display:none; }

/* Crisp surfaces, compact questions, an authentic unframed portrait. */
.rf-body .rf-faq-sec { background:#f5d4e8; }
.rf-body .rf-faq-sec .rf-h2--light { color:var(--ec-ink); }
.rf-body .rf-faq details, .rf-body .rf-accordions details { border:1px solid #e1c2d9; border-radius:3px; overflow:hidden; }
.rf-body .rf-faq summary, .rf-body .rf-accordions summary { min-height:58px; padding:16px 18px; font-weight:600; }
.rf-body .rf-faq p, .rf-body .rf-accordions p { padding:0 18px 18px; color:#55335f; font-size:15px; }
.rf-body .rf-faq__icon { transform:none; border:0; background:var(--ec-rose); box-shadow:none; border-radius:0; }
.rf-body .rf-faq__icon .rf-ico { transform:none; color:var(--ec-cta); }
.rf-body details[open] > summary .rf-faq__icon .rf-ico { transform:rotate(180deg); }
.rf-body .rf-about__photo { width:min(100%,400px); aspect-ratio:4/5; object-fit:cover; object-position:50% 30%; border:0; border-radius:0; box-shadow:none; }
.rf-body .rf-about__kicker { font-size:14px; letter-spacing:0; text-transform:none; color:var(--ec-cta); }
.rf-body .rf-about__text { font-size:17px; line-height:1.6; }
.rf-body .rf-about__facts { border-top:1px solid var(--ec-line); }
.rf-body .rf-about__facts b { font-size:27px; font-weight:700; }
.rf-body .rf-about__facts span { font-size:12px; }
.rf-body .rf-final { background:var(--ec-plum); }
.rf-body .rf-final .rf-h2--light { color:#fff; }
.rf-body .rf-final__kicker { text-transform:none; letter-spacing:0; color:#ffcce7; }
.rf-body .rf-final__text { color:#f9eafb; }
.rf-body .rf-footer { background:#f8eff9; border-top:1px solid var(--ec-line); color:var(--ec-plum); padding:48px 0 32px; }
.rf-body .rf-footer__logo { color:var(--ec-plum); font:600 36px var(--ec-serif); }
.rf-body .rf-footer__tag { color:#54325f; font:500 15px var(--ec-sans); }
.rf-body .rf-footer__tag .rf-ico { filter:none; }
.rf-body .rf-footer__nav { border-top:1px solid #d9c7df; }
.rf-body .rf-footer__nav a { color:var(--ec-plum); font-size:13px; padding-block:8px; }
.rf-body .rf-footer__legal { color:#735b7a; font-size:11px; line-height:1.6; }

/* Personal reading: keep the three-column stage, give the video room. */
.rf-body .rf-hero--stage { padding:26px 0 38px; background:#f0e2fa; }
.rf-body .rf-hero__head { max-width:920px; }
.rf-body .rf-hero__head .rf-h1 { font-size:clamp(32px,4vw,52px); margin:12px 0; }
.rf-body .rf-hero__sub { font-weight:400; font-size:16px; max-width:55ch; color:#503258; }
.rf-guide-intro { display:flex; align-items:center; gap:10px; width:fit-content; max-width:100%; margin:16px auto 0; padding:0; text-align:left; }
.rf-guide-intro img { width:44px; height:44px; border-radius:50%; object-fit:cover; flex:none; }
.rf-guide-intro p { display:grid; gap:2px; margin:0; color:#63456c; font-size:12px; }
.rf-guide-intro b { font-size:14px; color:var(--ec-plum); }
.rf-body .rf-player__frame { border:3px solid #fff; border-radius:4px; box-shadow:0 10px 36px -24px #4a105c; }
.rf-body .rf-pcard { background:#fff; border:1px solid #d9bce7; border-radius:4px; box-shadow:none; }
.rf-body .rf-pcard--rating { border-top:4px solid var(--ec-sage); }
.rf-body .rf-pcard__score { font-size:44px; }
.rf-body .rf-pcard__kicker { text-transform:none; letter-spacing:0; font-size:13px; }
.rf-body .rf-pcard--review blockquote { font-style:normal; color:#51305f; }
.rf-body .rf-pcard--elena img { border:0; }
.rf-body .rf-pcard__avatar { background:var(--ec-plum); }
.rf-body .rf-play__title small { letter-spacing:0; text-transform:none; font-size:13px; color:#fff; }
.rf-body .rf-cut { animation:none; background:rgba(45,4,68,.62); padding:12px; }
.rf-body .rf-cut__card { max-width:340px; padding:23px 17px 18px; border-radius:4px; background:#fffdf9; border-top:5px solid var(--ec-cta); }
.rf-body .rf-cut__lock { width:43px; height:43px; margin-bottom:10px; background:var(--ec-plum); font-size:19px; }
.rf-body .rf-cut__kicker { font-size:13px; letter-spacing:0; text-transform:none; color:var(--ec-plum); }
.rf-body .rf-cut__title { font-size:28px; font-weight:700; margin:8px 0 12px; line-height:1.1; }
.rf-body .rf-cut__text { font-size:13px; line-height:1.5; }
.rf-body .rf-cut .rf-btn { font-size:15px; padding-inline:10px; }
.rf-cut__personal { font-size:12px; color:var(--ec-plum); font-weight:600; margin:0 0 12px; }
.rf-body .rf-cut .rf-link { font-size:12px; }
.rf-trustpilot { display:flex; justify-content:center; align-items:center; gap:9px; margin:17px auto 0; padding-top:14px; border-top:1px solid var(--ec-line); text-align:left; }
.rf-trustpilot img { width:91px; height:auto; }
.rf-trustpilot__copy { display:grid; gap:2px; font:400 10px/1.3 var(--ec-sans); color:#6a5671; }
.rf-trustpilot__copy b { font-size:11px; font-weight:700; color:var(--ec-plum); }
.rf-trustpilot__copy small { font-size:8px; }
.rf-player-note { display:flex; justify-content:center; align-items:center; gap:6px; color:#61426b; font-size:11px; margin:12px 0 0; }
.rf-player-note .rf-ico { color:var(--ec-sage); }

/* Product: TWO generous columns at every desktop size. No third column. */
.rf-body .rf-product { background:#fffdf9; }
.rf-body .rf-product .rf-wrap { width:min(1560px,100%); max-width:none; }
.rf-body .rf-product__media { min-width:0; }
.rf-body .rf-tier { border-radius:4px; border-color:#d8c8df; transition:none; }
.rf-body .rf-tier:has(input:checked) { border-color:var(--ec-cta); box-shadow:0 0 0 1px var(--ec-cta); }
.rf-body .rf-tier__ribbon { background:var(--ec-cta); color:#fff; border-radius:0; font-weight:700; }
.rf-body .rf-tier__text b { color:var(--ec-ink); font-size:17px; }
.rf-body .rf-tier__row { padding:17px; }
.rf-body .rf-gifts__title { background:#d8f4e6; color:#11623e; font-weight:800; text-transform:uppercase; font-size:12px; }
.rf-body .rf-gift__icon { color:var(--ec-plum); }
.rf-body .rf-gift__free { color:#096343; background:#d8f4e6; }
.rf-body .rf-instant__dot { animation:none; background:var(--ec-sage); box-shadow:0 0 0 3px #e1f3e9; }
.rf-body .rf-instant, .rf-body .rf-instant b { color:#116747; }
.rf-body .rf-addon { border-radius:3px; }
.rf-body .rf-module { border-radius:3px; background:#f4eafb; border-color:#d6bfe1; }
.rf-body .rf-module--quote { background:#fff3df; border-color:#ebd5b2; }
.rf-body .rf-module__bar i { background:var(--ec-cta); }
.rf-body .rf-price b { font-size:32px; color:var(--ec-plum); }
.rf-body .rf-save { background:var(--ec-cta); font-weight:700; border-radius:3px; }
.rf-body .rf-badges--product { border-color:#d6c0dd; padding-block:16px; }
.rf-body .rf-badges--product li { font-weight:600; color:var(--ec-plum); }
.rf-body .rf-desc { background:#efe3f8; }
.rf-body .rf-desc__lead { font-size:19px; line-height:1.5; font-weight:600; }
.rf-body .rf-receive { background:#fff; }
.rf-body .rf-receive__list li { border:0; border-radius:0; background:none; }
.rf-body .rf-receive__icon { border-radius:3px; color:#fff; background:var(--ec-plum); }
.rf-body .rf-how { background:#fff0f6; }
.rf-body .rf-step__num span::before { background:#fff0f6; box-shadow:none; border:2px solid var(--ec-plum); }
.rf-body .rf-guarantee { background:#f2faf6; }
.rf-body .rf-guarantee__badge { background:#18815c; box-shadow:none; }
.rf-body .rf-terms li { border-radius:3px; border-color:#c9e2d5; }
.rf-body .rf-terms li::before { background:var(--ec-sage); }
.rf-body .rf-modal__panel { border-radius:5px; background:#fffdf9; }
.rf-body .rf-modal__title { font-weight:700; }
.rf-body .rf-sticky .rf-btn { background:var(--ec-cta); }

@media (min-width:640px) {
  .rf-body .rf-ugc { grid-auto-columns:38%; }
}
@media (min-width:960px) {
  .rf-body .rf-wrap { padding-inline:36px; }
  .rf-body .rf-section { padding-block:76px; }
  .rf-body .rf-benefits-sec { padding-top:0; }
  .rf-body .rf-hh { grid-template-columns:1fr 1fr; gap:54px; align-items:center; }
  .rf-body .rf-hh__copy { padding:35px 0; }
  .rf-body .rf-hh__visual { width:100%; margin:0; }
  .rf-body .rf-hh__note { justify-content:flex-start; }
  .rf-body .rf-ugc { grid-auto-columns:unset; padding:0 36px 8px; }
  .rf-ugc-sec .rf-carousel-controls, .rf-ugc-sec .rf-carousel-note { display:none; }
  .rf-body .rf-about__grid { grid-template-columns:minmax(0,440px) minmax(0,600px); gap:64px; }
  .rf-body .rf-about__photo { width:100%; }
  .rf-body .rf-about .rf-h2 { margin-inline:0; }
  .rf-body .rf-product { padding:34px 0 56px; }
  .rf-body .rf-product__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"media info" "modules info"; gap:26px 48px; align-items:start; }
  .rf-body .rf-product__media { position:static; grid-area:media; }
  .rf-body .rf-product__info { grid-area:info; }
  .rf-body .rf-product__modules { grid-area:modules; position:static; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .rf-body .rf-product__modules .rf-module--quote { grid-column:1/-1; }
  .rf-body .rf-product .rf-hidden { grid-template-columns:1fr; }
  .rf-body .rf-faq { max-width:1120px; }
  .rf-body .rf-receive__list { gap:28px; }
  .rf-body .rf-receive__list li { flex-basis:calc(25% - 22px); padding:10px 0; }
}
@media (min-width:1380px) {
  .rf-body .rf-product .rf-wrap { padding-inline:48px; }
  .rf-body .rf-product__grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"media info" "modules info"; column-gap:64px; }
}
@media (max-width:639px) {
  .rf-body .rf-wrap { padding-inline:18px; }
  .rf-body .rf-header__inner { min-height:66px; gap:10px; }
  .rf-body .rf-logo { font-size:23px; gap:8px; }
  .rf-body .rf-logo__mark { width:29px; height:29px; }
  .rf-body .rf-logo__text small { font-size:8px; }
  .rf-body .rf-header__inner > .rf-btn { padding:10px 12px; min-height:42px; font-size:12px; }
  .rf-body .rf-topbar { font-size:11px; }
  .rf-body .rf-hero--home { padding-block:25px; }
  .rf-body .rf-hh { gap:26px; }
  .rf-body .rf-hh__title { font-size:41px; }
  .rf-body .rf-hh__sub { font-size:16px; }
  .rf-body .rf-badges li { font-size:12px; line-height:1.35; }
  .rf-body .rf-section { padding-block:46px; }
  .rf-body .rf-hero--stage { padding-top:20px; }
  .rf-body .rf-hero__head .rf-h1 { font-size:32px; max-width:18ch; margin:12px auto; }
  .rf-body .rf-hero__sub { font-size:14px; max-width:38ch; }
  .rf-body .rf-stage { margin-top:18px; }
  .rf-body .rf-stage__main .rf-player { width:min(100%,360px); }
  .rf-body .rf-stage__side--left .rf-pcard--rating { display:none; }
  .rf-body .rf-footer { padding-bottom:88px; }
  .rf-body .rf-benefits-sec { padding-top:0; }
  .rf-body .rf-tier__text b { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .rf-body *, .rf-body *::before, .rf-body *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Static visibility keeps the purchase invitation reliable on every browser. */
.rf-body .rf-play, .rf-body .rf-progress__tip { transition:none; }
.rf-score-stars { display:inline-grid; align-items:center; vertical-align:middle; line-height:1; }
.rf-score-stars > span { grid-area:1 / 1; display:block; }
.rf-score-stars__base .rf-stars { color:var(--ec-line); }
.rf-score-stars__fill { clip-path:inset(0 calc(100% - var(--rating-fill,96%)) 0 0); }
.rf-score-stars__fill .rf-stars { color:var(--ec-brass); }
.rf-topbar .rf-prototype-note { color:#ead6ef; }
