/* Three connected chapters: the birth map, the cards, the experience.
   Scoped to home so the reading and unlock pages retain their layouts. */
.ec-home-method { position:relative; padding-block:64px 46px; overflow:hidden; background:var(--home-ivory); }
.ec-home-method__intro { display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:clamp(35px,6vw,90px); margin-bottom:42px; }
.ec-home-identity { position:relative; isolation:isolate; width:min(100%,405px); margin:0 auto; padding:12px; }
.ec-home-identity::after { content:""; position:absolute; inset:4px; border:1px solid #c8a56c88; border-radius:50%; pointer-events:none; }
.ec-home-identity picture { position:relative; display:block; border-radius:50%; overflow:hidden; box-shadow:0 18px 50px -24px #49243e66; }
.ec-home-identity picture img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.ec-home-identity__orbit { position:absolute; z-index:-1; inset:-9%; width:118%; height:118%; opacity:.56; }
.ec-home-identity__seal { position:absolute; right:7%; bottom:3%; display:grid; place-items:center; width:66px; height:66px; border:1px solid #bda071; border-radius:50%; background:#f9eed9; color:#9b713c; box-shadow:0 0 0 5px var(--home-ivory); }
.ec-home-identity__seal .rf-ico { width:35px; height:35px; }
.ec-home-gift { display:inline-flex; align-items:center; gap:8px; margin-bottom:18px; color:#805b34; font-size:12px; line-height:1.5; }
.ec-home-gift .rf-ico { flex:none; width:21px; height:21px; }
.ec-home-method__copy h2 { margin:0 0 18px; color:var(--home-ink); font-size:clamp(43px,3.8vw,53px); }
.ec-home-method__copy h2 > span { display:block; }
.ec-home-method__copy > p { max-width:44ch; margin:0; color:#756477; font-size:14px; line-height:1.7; }
.ec-home-profile { display:grid; gap:0; margin:24px 0 0; padding:0; list-style:none; }
.ec-home-profile__item { display:flex; align-items:center; gap:17px; padding:13px 0; border-top:1px solid #dccaaf; }
.ec-home-profile__symbol { display:grid; place-items:center; width:37px; flex:none; color:#987044; }
.ec-home-profile__symbol svg { width:32px; height:32px; }
.ec-home-profile__item > div { display:flex; align-items:baseline; justify-content:space-between; flex:1; gap:12px; }
.ec-home-profile__item h3 { margin:0; color:var(--home-ink); font-size:21px; letter-spacing:-.035em; white-space:nowrap; }
.ec-home-profile__item p { margin:0; color:#786776; font-size:10px; line-height:1.5; text-align:right; }
.ec-home .ec-home-method__step-title { display:flex; align-items:center; gap:22px; margin:0 0 23px; color:#503c52; text-align:center; font-size:21px; letter-spacing:-.025em; }
.ec-home-method__step-title::before,.ec-home-method__step-title::after { content:""; flex:1; height:1px; background:#dccaaf; }
.ec-home-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:38px; margin:0; padding:0; list-style:none; }
.ec-home-steps li { position:relative; display:flex; align-items:flex-start; gap:14px; }
.ec-home-steps__number { display:grid; place-items:center; flex:none; width:34px; height:34px; border:1px solid #bfa178; border-radius:50%; color:#806040; font:400 19px/1 var(--story-serif); }
.ec-home-steps h3 { margin:3px 0 8px; color:var(--home-ink); font-size:21px; line-height:1.2; }
.ec-home-steps p { max-width:34ch; margin:0; color:#796b7a; font-size:12px; line-height:1.65; }
.ec-home-steps__free { display:inline-block; margin-left:7px; padding:3px 5px; border:1px solid #c9b698; border-radius:3px; vertical-align:middle; color:#775332; font:500 9px/1.2 var(--story-sans); letter-spacing:0; }
.ec-home-method__action { display:flex; justify-content:center; align-items:center; gap:20px; margin-top:27px; }
.ec-home-method__action > span { font-size:11px; color:var(--home-muted); }

/* An open velvet stage, with a single active interpretation beside the deck. */
.rf-body.ec-home .ec-card-explorer { position:relative; isolation:isolate; padding-block:55px 45px; overflow:hidden; border-block:1px solid #b89d6944; background:#2d173c; color:#fff5e6; }
.ec-home .ec-card-explorer::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 25% 50%,#72447e4d,transparent 66%),url('../img/brand/home-astrolabe-v1.svg') 125% 48% / 470px 470px no-repeat; opacity:.5; }
.rf-body.ec-home .ec-card-explorer__heading { grid-template-columns:1.15fr 1fr; align-items:end; gap:50px; margin-bottom:25px; }
.rf-body.ec-home .ec-card-explorer__heading h2 { margin:0; color:#fff5e6; font-size:clamp(46px,4.2vw,57px); }
.rf-body.ec-home .ec-card-explorer__heading > p { max-width:35ch; margin:0 0 3px; color:#d9c5db; font-size:14px; line-height:1.75; }
.rf-body.ec-home .ec-explorer { grid-template-columns:1.28fr 1fr; align-items:center; gap:clamp(30px,5vw,75px); max-width:none; border:0; border-radius:0; background:transparent; box-shadow:none; }
.rf-body.ec-home .ec-explorer__table { padding:16px 5px 8px; border-radius:0; overflow:visible; }
.rf-body.ec-home .ec-explorer__instruction { order:2; margin:18px 0 0; color:#cdb5ce; font-size:11px; }
.rf-body.ec-home .ec-explorer .ec-celestial-spread__stage { margin:0; padding:40px 9px 0; }
.rf-body.ec-home .ec-explorer .ec-celestial-spread__wheel { top:-15%; height:132%; }
.rf-body.ec-home .ec-explorer__cards { width:100%; max-width:none; gap:clamp(11px,1.9vw,28px); padding:0; }
.rf-body.ec-home .ec-explorer__tab { gap:24px; padding-top:var(--card-lift); }
.rf-body.ec-home .ec-explorer__card { max-width:146px; border-radius:5px; }
.rf-body.ec-home .ec-explorer__label { padding-bottom:11px; font-size:clamp(14px,1.6vw,20px); color:#f5dfbf; }
.rf-body.ec-home .ec-explorer__caption { display:none; }
.rf-body.ec-home .ec-explorer__reading { margin:15px 0 0; padding:24px 0 10px; border-top:1px solid #c5a78066; border-radius:0; background:transparent; }
.rf-body.ec-home .ec-explorer.is-enhanced .ec-explorer__panel { min-height:187px; }
.rf-body.ec-home .ec-explorer__theme { gap:11px; margin-bottom:18px; color:#e2bf8e; font-size:12px; }
.rf-body.ec-home .ec-explorer__theme > span { width:27px; height:34px; color:#e4c99f; border-color:#aa875b; border-radius:50% 50% 3px 3px; }
.rf-body.ec-home .ec-explorer__panel h3 { max-width:24ch; margin-bottom:15px; color:#fff3e4; font-size:clamp(28px,2.75vw,38px); line-height:1.14; }
.rf-body.ec-home .ec-explorer__text { max-width:42ch; color:#d6c1d7; font-size:14px; line-height:1.75; }
.rf-body.ec-home .ec-explorer__navigation { gap:13px; margin-top:18px; padding-top:17px; border-color:#ab8bba40; }
.rf-body.ec-home .ec-explorer__count { color:#d3bcd5; }
.rf-body.ec-home .ec-explorer__progress i { background:#785886; }
.rf-body.ec-home .ec-explorer__progress i.is-active { background:#e1bc88; }
.rf-body.ec-home .ec-explorer__arrows button { border-color:#92769d; color:#f0dbbd; }
.rf-body.ec-home .ec-explorer__arrows button:hover { background:#f0dbbd; color:#392044; }
.ec-home .ec-card-explorer :focus-visible { outline-color:#f1d4a5; }
.ec-home-cards__action { display:flex; justify-content:center; align-items:center; gap:21px; margin-top:30px; }
.ec-home-cards__action > span { max-width:36ch; color:#d6c1d7; font-size:11px; line-height:1.6; }

/* The guide and the reactions are one editorial sequence. */
.ec-home-trust { position:relative; padding-block:62px 46px; background:#fff9ef; overflow:hidden; }
.ec-home-guide { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:clamp(40px,6.5vw,95px); }
.ec-home-guide__portrait { position:relative; isolation:isolate; max-width:500px; margin:0; padding:8px; border:1px solid #c8ab84; border-radius:3px; background:#fff9ef; }
.ec-home-guide__portrait::after { position:absolute; z-index:-1; content:""; top:17px; right:-10px; bottom:-10px; left:17px; border:1px solid #c8ab8455; pointer-events:none; }
.ec-home-guide__portrait > img { display:block; width:100%; height:auto; aspect-ratio:1.38; object-fit:cover; object-position:center 12%; }
.ec-home-guide__portrait figcaption { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px 8px 7px; color:#806d7a; font-size:10px; }
.ec-home-guide__portrait figcaption > span { color:#513745; font:500 23px/1.1 var(--story-serif); letter-spacing:-.04em; }
.ec-home-guide__mark { position:absolute; right:-25px; top:-24px; display:grid; place-items:center; width:65px; height:65px; border:1px solid #c5a271; border-radius:50%; background:#f9ecd6; box-shadow:0 0 0 6px #fff9ef; color:#966f40; }
.ec-home-guide__mark .rf-ico { width:35px; height:35px; }
.ec-home-guide__copy h2 { margin:0 0 21px; color:#382440; font-size:clamp(44px,4.15vw,56px); }
.ec-home-guide__copy > p { max-width:47ch; margin:0; color:#796879; font-size:14px; line-height:1.8; }
.ec-home-guide__details { display:flex; flex-wrap:wrap; gap:10px 22px; margin:23px 0 17px; padding:0; list-style:none; }
.ec-home-guide__details li { display:flex; align-items:center; gap:8px; color:#654966; font-size:11px; }
.ec-home-guide__details .rf-ico { width:19px; height:19px; color:#a07a4b; }
.ec-home-trust__bridge { display:flex; align-items:center; justify-content:center; gap:18px; max-width:470px; margin:33px auto 0; }
.ec-home-trust__bridge::before,.ec-home-trust__bridge::after { content:""; width:110px; height:1px; background:#c6a77977; }
.ec-home-trust__bridge > span { display:grid; place-items:center; width:36px; height:36px; color:#a57c48; }
.ec-home-trust__bridge .rf-ico { width:31px; height:31px; }
.rf-body.ec-home .ec-video-series { padding-block:21px 0; background:transparent; }
.rf-body.ec-home .ec-video-series__inner { width:min(1440px,100%); padding-inline:clamp(24px,5vw,76px); }
.rf-body.ec-home .ec-video-series__heading { display:block; margin-bottom:29px; text-align:center; }
.rf-body.ec-home .ec-video-series__heading h2 { max-width:none; margin:0; color:#382440; font-size:clamp(32px,3.5vw,48px); }
.rf-body.ec-home .ec-video-series__intro { display:block; margin-top:13px; }
.rf-body.ec-home .ec-video-series__star { display:none; }
.rf-body.ec-home .ec-video-series__intro p { margin:0; color:#7f6e7b; font-size:12px; font-weight:400; }
.rf-body.ec-home .ec-video-series__track { gap:24px; padding-bottom:14px; }
.rf-body.ec-home .ec-video-series__card { aspect-ratio:3/4; border-radius:5px; border-color:#b6a09f; box-shadow:0 10px 25px -20px #5b3c64aa; }
.rf-body.ec-home .ec-video-series__card:nth-child(even) { margin-top:0; }
.rf-body.ec-home .ec-video-series__card figcaption { left:20px; right:20px; bottom:22px; }
.rf-body.ec-home .ec-video-series__card h3 { font-size:clamp(23px,2.1vw,29px); }
.rf-body.ec-home .ec-video-series__number { display:none; }
.rf-body.ec-home .ec-video-series__play { top:min(50%,var(--play-max,30%)); }
.rf-body.ec-home .ec-video-series__footer { margin-top:7px; }
.ec-home-trust__action { margin-top:25px; text-align:center; }

@media(max-width:1100px) {
  .ec-home-method__intro { gap:35px; }
  .ec-home-identity { max-width:385px; }
  .ec-home-profile__item > div { display:block; }
  .ec-home-profile__item p { margin-top:4px; text-align:left; }
  .ec-home-steps { gap:24px; }
  .ec-home-steps h3 { font-size:19px; }
  .rf-body.ec-home .ec-explorer { gap:40px; }
  .rf-body.ec-home .ec-explorer.is-enhanced .ec-explorer__panel { min-height:207px; }
  .ec-home-guide__copy h2 { font-size:43px; }
  .ec-home-guide__portrait figcaption { display:block; }
  .ec-home-guide__portrait figcaption > span { display:block; margin-bottom:5px; }
}
@media(max-width:1000px) {
  .rf-body.ec-home .ec-video-series__track { grid-auto-columns:31%; margin-inline:calc(clamp(24px,5vw,76px) * -1); padding-inline:clamp(24px,5vw,76px); scroll-padding-inline:clamp(24px,5vw,76px); }
}
@media(max-width:800px) {
  .ec-home-method__intro { gap:24px; }
  .ec-home-method__copy h2 { font-size:36px; }
  .ec-home-profile__item { gap:10px; padding-block:10px; }
  .ec-home-profile__item h3 { font-size:20px; }
  .rf-body.ec-home .ec-card-explorer__heading { gap:30px; }
  .rf-body.ec-home .ec-explorer { grid-template-columns:1.15fr 1fr; gap:25px; }
  .rf-body.ec-home .ec-explorer__label { font-size:13px; }
  .rf-body.ec-home .ec-explorer__panel h3 { font-size:27px; }
  .rf-body.ec-home .ec-explorer__text { font-size:13px; }
  .rf-body.ec-home .ec-explorer__progress { display:none; }
  .rf-body.ec-home .ec-explorer__arrows { margin-left:auto; }
  .ec-home-guide { gap:35px; }
  .ec-home-guide__copy h2 { font-size:36px; }
  .ec-home-guide__copy > p { font-size:13px; }
}
@media(max-width:700px) {
  .ec-home-method { padding-block:38px 34px; }
  .ec-home-method__intro { grid-template-columns:minmax(0,1fr) 135px; align-items:start; gap:0 12px; margin-bottom:27px; }
  .ec-home-identity { grid-column:2; grid-row:1 / 3; align-self:center; width:155px; max-width:none; margin:0 0 0 -5px; padding:5px; }
  .ec-home-identity::after { inset:0; }
  .ec-home-identity__orbit { inset:-7%; width:114%; height:114%; opacity:.5; }
  .ec-home-identity__seal { width:32px; height:32px; right:4%; bottom:0; box-shadow:0 0 0 3px var(--home-ivory); }
  .ec-home-identity__seal .rf-ico { width:19px; height:19px; }
  .ec-home-method__copy { display:contents; }
  .ec-home-gift { grid-column:1; margin:0 0 12px; gap:6px; font-size:10px; line-height:1.6; }
  .ec-home-gift .rf-ico { display:none; }
  .ec-home-method__copy h2 { grid-column:1; margin:0; padding-bottom:19px; font-size:30px; line-height:1.1; text-wrap:initial; }
  .ec-home-method__copy h2 > span { display:none; }
  .ec-home-method__copy > p { grid-column:1 / -1; margin:0; font-size:13px; line-height:1.65; }
  .ec-home-profile { grid-column:1 / -1; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:21px; padding-top:18px; border-top:1px solid #dccaaf; }
  .ec-home-profile__item { display:block; padding:0; border:0; }
  .ec-home-profile__symbol { width:28px; margin-bottom:8px; }
  .ec-home-profile__symbol svg { width:28px; height:28px; }
  .ec-home-profile__item h3 { max-width:9ch; font-size:18px; line-height:1.13; white-space:normal; }
  .ec-home-profile__item p { margin-top:7px; font-size:10px; line-height:1.5; }
  .ec-home .ec-home-method__step-title { gap:13px; margin-bottom:20px; font-size:21px; text-align:left; }
  .ec-home-method__step-title::before { display:none; }
  .ec-home-method__step-title::after { min-width:25px; }
  .ec-home-steps { grid-template-columns:1fr; gap:16px; }
  .ec-home-steps li { align-items:center; gap:12px; }
  .ec-home-steps li:not(:last-child)::after { content:""; position:absolute; width:1px; top:32px; bottom:-16px; left:15px; background:#c8b28f; }
  .ec-home-steps__number { width:31px; height:31px; font-size:17px; }
  .ec-home-steps h3 { margin:0; font-size:20px; }
  .ec-home-steps p { display:none; }
  .ec-home-method__action { flex-direction:column; gap:10px; margin-top:24px; }
  .ec-home-method__action > span { font-size:10px; }
  .rf-body.ec-home .ec-card-explorer { padding-block:37px 32px; }
  .rf-body.ec-home .ec-card-explorer > .rf-wrap { padding-inline:24px; }
  .ec-home .ec-card-explorer::before { background-position:180px 70%; background-size:380px; opacity:.3; }
  .rf-body.ec-home .ec-card-explorer__heading { grid-template-columns:1fr; gap:15px; margin-bottom:10px; }
  .rf-body.ec-home .ec-card-explorer__heading h2 { font-size:36px; }
  .rf-body.ec-home .ec-card-explorer__heading > p { max-width:40ch; margin:0; font-size:13px; line-height:1.65; }
  .rf-body.ec-home .ec-explorer { grid-template-columns:1fr; gap:0; }
  .rf-body.ec-home .ec-explorer__table { padding:0; }
  .rf-body.ec-home .ec-explorer .ec-celestial-spread__stage { margin:0 -4px; padding:32px 3px 0; }
  .rf-body.ec-home .ec-explorer .ec-celestial-spread__wheel { top:-7%; height:125%; }
  .rf-body.ec-home .ec-explorer__cards { gap:13px; }
  .rf-body.ec-home .ec-explorer__tab { gap:16px; padding-top:calc(var(--card-lift) * .7); }
  .rf-body.ec-home .ec-explorer__label { padding-bottom:11px; font-size:clamp(12px,3.5vw,18px); }
  .rf-body.ec-home .ec-explorer__instruction { margin-top:7px; font-size:10px; }
  .rf-body.ec-home .ec-explorer__reading { margin-top:20px; padding:19px 0 0; }
  .rf-body.ec-home .ec-explorer.is-enhanced .ec-explorer__panel { min-height:167px; }
  .rf-body.ec-home .ec-explorer__theme { margin-bottom:12px; font-size:11px; }
  .rf-body.ec-home .ec-explorer__theme > span { width:22px; height:27px; }
  .rf-body.ec-home .ec-explorer__panel h3 { max-width:27ch; margin-bottom:11px; font-size:28px; }
  .rf-body.ec-home .ec-explorer__text { max-width:none; font-size:13px; line-height:1.65; }
  .rf-body.ec-home .ec-explorer__navigation { margin-top:7px; padding-top:10px; }
  .rf-body.ec-home .ec-explorer__progress { display:flex; }
  .ec-home-cards__action { flex-direction:column; gap:10px; margin-top:21px; text-align:center; }
  .ec-home-cards__action > span { max-width:none; font-size:10px; }
  .ec-home-trust { padding-block:36px 33px; }
  .ec-home-guide { grid-template-columns:1fr; gap:28px; }
  .ec-home-guide__portrait { width:calc(100% - 12px); max-width:440px; margin-inline:auto; padding:6px; }
  .ec-home-guide__portrait > img { aspect-ratio:1.9; object-position:50% 12%; }
  .ec-home-guide__portrait figcaption { display:flex; gap:10px; padding:11px 6px 5px; font-size:10px; line-height:1.45; }
  .ec-home-guide__portrait figcaption > span { margin:0; white-space:nowrap; font-size:21px; }
  .ec-home-guide__mark { width:43px; height:43px; top:-14px; right:-14px; box-shadow:0 0 0 4px #fff9ef; }
  .ec-home-guide__mark .rf-ico { width:25px; height:25px; }
  .ec-home-guide__copy h2 { margin-bottom:16px; font-size:35px; }
  .ec-home-guide__copy > p { max-width:47ch; font-size:13px; line-height:1.7; }
  .ec-home-guide__details { gap:10px 17px; margin:17px 0 13px; }
  .ec-home-guide__details li { font-size:10px; }
  .ec-home-guide__details .rf-ico { width:17px; height:17px; }
  .ec-home-trust__bridge { margin-top:23px; gap:10px; }
  .ec-home-trust__bridge::before,.ec-home-trust__bridge::after { width:70px; }
  .rf-body.ec-home .ec-video-series { padding-top:14px; }
  .rf-body.ec-home .ec-video-series__inner { padding-inline:24px; }
  .rf-body.ec-home .ec-video-series__heading { margin-bottom:22px; }
  .rf-body.ec-home .ec-video-series__heading h2 { max-width:17ch; margin-inline:auto; font-size:34px; }
  .rf-body.ec-home .ec-video-series__intro { margin-top:12px; }
  .rf-body.ec-home .ec-video-series__intro p { font-size:11px; }
  .rf-body.ec-home .ec-video-series__track { grid-auto-columns:76%; gap:15px; margin-inline:-24px; padding-inline:24px; scroll-padding-inline:24px; }
  .rf-body.ec-home .ec-video-series__card h3 { font-size:27px; }
  .ec-home-trust__action { margin-top:22px; }
}
@media(max-width:359px) {
  .ec-home-method__intro { grid-template-columns:minmax(0,1fr) 100px; }
  .ec-home-identity { width:124px; margin-left:-6px; }
  .ec-home-method__copy h2 { font-size:27px; }
  .ec-home-gift { font-size:9px; }
  .ec-home-profile { gap:12px; }
  .ec-home-profile__item h3 { font-size:17px; }
  .ec-home-steps h3 { font-size:18px; }
  .rf-body.ec-home .ec-card-explorer > .rf-wrap { padding-inline:18px; }
  .rf-body.ec-home .ec-explorer__cards { gap:10px; }
  .rf-body.ec-home .ec-explorer.is-enhanced .ec-explorer__panel { min-height:190px; }
  .ec-home-guide__portrait figcaption { font-size:10px; }
}
