/* Five visible cards; one concise interpretation. The long version remains
   readable when JavaScript is unavailable. */
.ec-narrative .ec-card-explorer { padding-block:88px; background:#fffaf5; }
.ec-card-explorer__heading { display:grid; grid-template-columns:1.25fr 1fr; align-items:end; gap:48px; margin-bottom:42px; }
.ec-narrative .ec-card-explorer__heading h2 { margin:0; color:#201b30; font-size:clamp(39px,4.4vw,62px); line-height:1.08; }
.ec-narrative .ec-card-explorer__heading > p { max-width:40ch; margin:0 0 4px; color:#756775; font-size:16px; line-height:1.75; }
.ec-explorer { display:grid; grid-template-columns:1.2fr 1fr; min-width:0; background:#29103a; border:1px solid #51335e; border-radius:24px; box-shadow:0 22px 50px -36px #201b3080; }
.ec-explorer__table { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:center; min-width:0; padding:30px 28px; overflow:hidden; border-radius:23px 0 0 23px; }
.ec-narrative .ec-explorer__instruction { margin:0 0 6px; color:#f2dfcd; text-align:center; font-size:12px; line-height:1.5; }
.ec-explorer .ec-celestial-spread__stage { margin:0; padding:28px 4px 22px; }
.ec-explorer__cards { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; align-items:start; min-width:0; padding:0; }
.ec-explorer__tab { position:relative; display:flex; flex-direction:column; align-items:center; gap:17px; min-width:0; padding-top:var(--card-lift); color:#fff3de; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.ec-explorer__card { position:relative; display:block; width:100%; max-width:146px; aspect-ratio:2/3; border-radius:6px; background:#f7e8ca; box-shadow:0 16px 30px -12px #100719cc,0 0 0 1px #ddc19588; transform:rotate(var(--card-angle)); transition:transform .3s ease,box-shadow .3s ease; }
.ec-explorer__card > img { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.ec-explorer__label { position:relative; padding-bottom:10px; color:inherit; font:500 15px/1.3 var(--story-serif); text-align:center; }
.ec-explorer__label::after { position:absolute; bottom:0; left:calc(50% - 3px); width:6px; height:6px; border-radius:50%; background:#ecd1ad; content:""; opacity:0; transition:opacity .2s; }
.ec-explorer__tab[aria-selected=true] { z-index:2; }
.ec-explorer__tab[aria-selected=true] .ec-explorer__card { transform:translateY(-6px) rotate(0) scale(1.04); box-shadow:0 0 0 2px #ecd1ad,0 16px 28px -10px #08050ed9,0 0 24px -4px #ecd1ad55; }
.ec-explorer__tab[aria-selected=true] .ec-explorer__label::after { opacity:1; }
.ec-narrative .ec-explorer__tab:focus-visible { outline:2px solid #ecd1ad; outline-offset:6px; border-radius:4px; }
.ec-narrative .ec-explorer__caption { margin:0; color:#d5bddb; text-align:center; font-size:11px; line-height:1.5; }
.ec-explorer__reading { display:flex; flex-direction:column; min-width:0; margin:10px 10px 10px 0; padding:30px 34px 22px; border-radius:17px; background:#fffaf5; }
.ec-explorer__panels { flex:1; min-width:0; }
.ec-explorer__panel + .ec-explorer__panel { margin-top:30px; padding-top:28px; border-top:1px solid #e6d8d8; }
.ec-explorer.is-enhanced .ec-explorer__panel { min-height:235px; margin:0; padding:0; border:0; }
.ec-narrative .ec-explorer__theme { display:flex; align-items:center; gap:10px; margin:0 0 18px; color:#885776; font-size:12px; line-height:1.5; }
.ec-explorer__theme > span { display:grid; place-items:center; width:26px; height:31px; border:1px solid #d5b7c6; border-radius:3px; font:400 13px/1 var(--story-serif); }
.ec-narrative .ec-explorer__panel h3 { max-width:24ch; margin:0 0 17px; color:#201b30; font-size:clamp(28px,2.55vw,38px); line-height:1.16; }
.ec-narrative .ec-explorer__text { max-width:48ch; margin:0; color:#756775; font-size:14px; line-height:1.75; }
.ec-explorer__navigation { display:flex; align-items:center; gap:15px; min-height:45px; margin-top:24px; padding-top:15px; border-top:1px solid #e6d8d8; }
.ec-explorer__count { color:#766674; font-size:11px; white-space:nowrap; }
.ec-explorer__progress { display:flex; gap:4px; margin-right:auto; }
.ec-explorer__progress i { width:5px; height:5px; border-radius:50%; background:#d8c7d1; transition:background .2s,transform .2s; }
.ec-explorer__progress i.is-active { background:#a04473; transform:scale(1.3); }
.ec-explorer__arrows { display:flex; gap:7px; }
.ec-explorer__arrows button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #e3cdd9; border-radius:50%; color:#653b58; background:transparent; cursor:pointer; transition:background .2s,color .2s; }
.ec-explorer__arrows svg { width:20px; height:20px; }
.ec-explorer__arrows button:hover { color:#fff; background:#653b58; }
.ec-explorer__panel.is-entering { animation:ec-explorer-in .32s ease both; }
@keyframes ec-explorer-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media (hover:hover) and (pointer:fine) {
  .ec-explorer__tab:not([aria-selected=true]):hover .ec-explorer__card { transform:translateY(-5px) rotate(var(--card-angle)); box-shadow:0 0 0 1px #f1c5b1,0 20px 28px -8px #08050ed9; }
  .ec-explorer__tab:hover .ec-explorer__label { color:#fff; }
}
@media (min-width:1500px) {
  .ec-explorer__cards { max-width:590px; width:100%; margin-inline:auto; gap:13px; }
}
@media (max-width:1100px) {
  .ec-narrative .ec-card-explorer { padding-block:76px; }
  .ec-card-explorer__heading { gap:30px; }
  .ec-explorer { grid-template-columns:1.1fr 1fr; }
  .ec-explorer__table { padding:28px 20px; }
  .ec-explorer__cards { gap:10px; }
  .ec-explorer__reading { padding:26px 26px 20px; }
  .ec-explorer.is-enhanced .ec-explorer__panel { min-height:260px; }
}
@media (max-width:800px) {
  .ec-narrative .ec-card-explorer { padding-block:64px; }
  .ec-card-explorer__heading { grid-template-columns:1fr; gap:18px; margin-bottom:28px; }
  .ec-narrative .ec-card-explorer__heading h2 { font-size:44px; }
  .ec-narrative .ec-card-explorer__heading > p { max-width:50ch; margin:0; font-size:15px; line-height:1.65; }
  .ec-explorer { grid-template-columns:1fr; max-width:590px; margin-inline:auto; }
  .ec-explorer__table { padding:24px 32px 20px; border-radius:23px 23px 0 0; }
  .ec-explorer__cards { gap:14px; width:100%; margin-inline:auto; }
  .ec-narrative .ec-explorer__instruction { margin-bottom:6px; }
  .ec-narrative .ec-explorer__caption { margin-top:8px; }
  .ec-explorer__reading { margin:0 10px 10px; padding:26px 28px 20px; }
  .ec-explorer.is-enhanced .ec-explorer__panel { min-height:182px; }
  .ec-narrative .ec-explorer__panel h3 { max-width:30ch; font-size:31px; }
  .ec-narrative .ec-explorer__text { max-width:none; }
  .ec-explorer__navigation { margin-top:20px; }
}
@media (max-width:520px) {
  .ec-narrative .ec-card-explorer { padding-block:36px; }
  .ec-narrative .ec-card-explorer > .rf-wrap { padding-inline:20px; }
  .ec-card-explorer__heading { gap:15px; margin-bottom:22px; }
  .ec-narrative .ec-card-explorer__heading h2 { font-size:34px; }
  .ec-narrative .ec-card-explorer__heading > p { font-size:14px; line-height:1.65; }
  .ec-explorer { border-radius:20px; }
  .ec-explorer__table { padding:18px 14px 12px; border-radius:19px 19px 0 0; }
  .ec-narrative .ec-explorer__instruction { max-width:100%; margin:0 auto 5px; font-size:11px; }
  .ec-explorer__cards { gap:8px; padding:0; }
  .ec-explorer__tab { gap:13px; padding-top:calc(var(--card-lift) * .7); }
  .ec-explorer__card { border-radius:4px; }
  .ec-explorer__label { padding-bottom:9px; font-size:clamp(10px,2.95vw,14px); }
  .ec-explorer__tab[aria-selected=true] .ec-explorer__card { transform:translateY(-4px) rotate(0) scale(1.03); }
  .ec-narrative .ec-explorer__caption { display:none; }
  .ec-explorer__reading { margin:0 7px 7px; padding:20px 20px 13px; border-radius:14px; }
  .ec-explorer.is-enhanced .ec-explorer__panel { min-height:195px; }
  .ec-narrative .ec-explorer__theme { margin-bottom:13px; font-size:11px; }
  .ec-explorer__theme > span { width:22px; height:27px; font-size:11px; }
  .ec-narrative .ec-explorer__panel h3 { margin-bottom:12px; font-size:27px; line-height:1.12; }
  .ec-narrative .ec-explorer__text { font-size:13px; line-height:1.65; }
  .ec-explorer__navigation { gap:10px; margin-top:12px; padding-top:10px; }
  .ec-explorer__arrows { gap:5px; }
  .ec-explorer__arrows button { width:44px; height:44px; }
}
@media (max-width:359px) {
  .ec-narrative .ec-card-explorer > .rf-wrap { padding-inline:16px; }
  .ec-narrative .ec-card-explorer__heading h2 { font-size:33px; }
  .ec-explorer__table { padding-inline:11px; }
  .ec-explorer__cards { gap:6px; }
  .ec-explorer__label { font-size:10px; }
  .ec-explorer__reading { padding-inline:17px; }
  .ec-explorer.is-enhanced .ec-explorer__panel { min-height:214px; }
  .ec-narrative .ec-explorer__panel h3 { font-size:26px; }
  .ec-explorer__progress { gap:3px; }
  .ec-explorer__progress i { width:4px; height:4px; }
}
@media (prefers-reduced-motion:reduce) {
  .ec-explorer *, .ec-explorer *::before, .ec-explorer *::after { animation:none!important; transition:none!important; }
}
