/* Public lore sales layout, intentionally scoped to sales pages. */
.sales-page .lore-review-chapter .legend-narrative{max-width:680px;margin-inline:auto;line-height:1.8}
.sales-page .lore-review-chapter .legend-chapter p{margin:0 0 1.15em}
.sales-page .lore-review-chapter .legend-heading{max-width:800px;margin-inline:auto;text-align:center}
.sales-page .lore-review-figure{margin:clamp(18px,3vw,32px) auto clamp(22px,3.5vw,38px);max-width:800px;text-align:center}
.sales-page .lore-review-figure img{display:block;width:100%;height:auto;max-height:450px;object-fit:contain;margin:0 auto;border-radius:14px;border:1px solid var(--line)}
@media (max-width:700px){.sales-page .lore-review-figure img{max-height:240px;width:auto;max-width:100%}}
.sales-page .lore-review-secondary{color:var(--gold-light);text-decoration:underline;text-underline-offset:4px;align-self:center;padding:10px 6px}
.sales-page .lore-review-steps{list-style:none;padding:0;margin:28px auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sales-page .lore-review-steps li{border-top:1px solid var(--line);padding:20px 0 0}
.sales-page .lore-review-steps span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--gold);color:var(--gold-light);font-family:Georgia,serif;margin-bottom:8px}
.sales-page .lore-review-steps h3{margin:0 0 10px;font-size:1.2rem;line-height:1.4}
.sales-page .lore-review-steps p{margin:0;line-height:1.7;color:var(--world-soft-text)}
.sales-page .lore-review-guides-note{max-width:680px;margin:0 auto 18px;text-align:center}
@media (max-width:700px){.sales-page .lore-review-steps{grid-template-columns:1fr;gap:18px}}

/* Hero film (public sales): film sits under headline, above the fold on every screen. */
.sales-page .lore-film-hero { display:block; padding-top:28px; padding-bottom:40px; text-align:center; }
.sales-page .lore-film-hero .sales-hero-copy { max-width:none; margin:0 auto; }
.sales-page .lore-film-hero h1 { font-size:clamp(1.7rem,3.6vw,3.2rem); margin-inline:auto; margin-bottom:.4em; }
.sales-page .lore-film-hero .sales-lede { max-width:760px; margin:0 auto 14px; font-size:clamp(.95rem,1.3vw,1.1rem); }
.sales-page .lore-film-hero .sales-actions { justify-content:center; margin-top:16px; }
.hero-film { width:min(100%, 880px, calc((100svh - 330px) * 16 / 9)); min-width:min(100%,300px); margin:0 auto; animation:heroFilmIn .9s ease-out both; }
.hero-film-note { margin:0 0 8px; font:600 .78rem/1.3 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--gold-light, var(--gold)); animation:heroNotePulse 2.6s ease-in-out infinite; }
.hero-film-frame { position:relative; border-radius:12px; overflow:hidden; border:1px solid var(--gold); box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 25%,transparent), 0 18px 50px -18px color-mix(in srgb,var(--gold) 55%,transparent); }
.hero-film-frame video { display:block; width:100%; height:auto; aspect-ratio:16/9; margin:0; border:0; border-radius:0; }
.hero-film-play { position:absolute; inset:0; display:grid; place-items:center; background:radial-gradient(circle, transparent 30%, color-mix(in srgb,var(--background, #07110c) 45%,transparent)); border:0; cursor:pointer; }
.hero-film-play[hidden] { display:none; }
.hero-film-ring { position:relative; display:grid; place-items:center; width:84px; height:84px; padding-left:6px; border-radius:50%; font-size:1.9rem; color:var(--ink, #07110c); background:linear-gradient(120deg,#8c7038 0%,#e0c48c 35%,#fff3d6 50%,#e0c48c 65%,#8c7038 100%); background-size:250% 100%; animation:heroShimmer 2.4s linear infinite, heroPulse 2.2s ease-in-out infinite; }
.hero-film-ring::after { content:""; position:absolute; inset:-10px; border-radius:50%; border:2px solid var(--gold); animation:heroRipple 2.2s ease-out infinite; }
.hero-film-play:hover .hero-film-ring, .hero-film-play:focus-visible .hero-film-ring { transform:scale(1.08); }
@keyframes heroShimmer { from { background-position:200% 0; } to { background-position:-50% 0; } }
@keyframes heroPulse { 0%,100% { box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 60%,transparent); } 50% { box-shadow:0 0 28px 6px color-mix(in srgb,var(--gold) 45%,transparent); } }
@keyframes heroRipple { from { opacity:.8; transform:scale(.9); } to { opacity:0; transform:scale(1.35); } }
@keyframes heroNotePulse { 0%,100% { opacity:.75; } 50% { opacity:1; } }
@keyframes heroFilmIn { from { opacity:0; transform:translateY(14px) scale(.98); } to { opacity:1; transform:none; } }
@media (max-width:700px) { .sales-page .lore-film-hero { padding-top:16px; } .hero-film { width:100%; } .hero-film-ring { width:64px; height:64px; font-size:1.4rem; } }
@media (prefers-reduced-motion:reduce) { .hero-film, .hero-film-note, .hero-film-ring, .hero-film-ring::after { animation:none; } }

/* Hero continue note: text link under the hero film CTA. */
.hero-continue-note{margin:14px 0 0;text-align:center;font-size:.95rem}
.hero-continue-note a{color:#e0c48c;text-decoration:underline;text-underline-offset:3px}
.hero-continue-note a:hover,.hero-continue-note a:focus-visible{color:#f0dca8}
