/* ============================================================
   EPIC LAYER — "Divine Arrival" design system for senseijoe.com
   Layers cinematic divinity over the base styles. Loaded last,
   so these rules win. Mobile-first; motion respects
   prefers-reduced-motion.
   ============================================================ */
:root{
  --epic-gold:#f5d67b;
  --epic-gold-deep:#d4af37;
  --epic-amber:#ffb84d;
  --epic-ember:#ff8c42;
  --epic-night:#070503;
  --epic-ink:#0d0a06;
}

/* luminous base — healing light */
body{background:#faf6ec}
html.theme-midnight body{background:#07080c}

/* ---------- full-viewport luminous hero ---------- */
.epic-hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  isolation:isolate;
  padding:7rem 1.25rem 4rem;
  background:#fdf8ec;
}
.epic-hero-bg{
  position:absolute;inset:-6%;
  background:url('../images/luminous-hero-bg.jpg') center/cover no-repeat;
  z-index:-3;
  animation:epicDrift 36s ease-in-out infinite alternate;
  will-change:transform;
}
html.theme-midnight .epic-hero-bg{
  background-image:url('../images/divine-hero-bg.jpg');
}
@keyframes epicDrift{
  from{transform:scale(1) translateY(0)}
  to{transform:scale(1.08) translateY(-1.5%)}
}
.epic-hero-veil{
  position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(ellipse 90% 65% at 50% 38%, rgba(255,255,255,.35), transparent 60%),
    linear-gradient(to bottom, rgba(253,248,236,.55) 0%, rgba(253,248,236,.15) 34%, rgba(253,248,236,.35) 66%, #faf6ec 100%);
}
html.theme-midnight .epic-hero-veil{
  background:
    radial-gradient(ellipse 90% 65% at 50% 38%, rgba(245,214,123,.14), transparent 60%),
    linear-gradient(to bottom, rgba(7,5,3,.72) 0%, rgba(7,5,3,.38) 34%, rgba(7,5,3,.55) 66%, var(--epic-night) 100%);
}
.epic-hero-rays{
  position:absolute;left:50%;top:-12%;width:150vmax;height:150vmax;z-index:-1;
  transform:translateX(-50%);
  background:conic-gradient(from 0deg at 50% 50%,
    transparent 0deg, rgba(245,214,123,.055) 6deg, transparent 12deg,
    transparent 24deg, rgba(245,214,123,.04) 30deg, transparent 36deg,
    transparent 60deg, rgba(245,214,123,.055) 66deg, transparent 72deg,
    transparent 96deg, rgba(245,214,123,.04) 102deg, transparent 108deg,
    transparent 132deg, rgba(245,214,123,.055) 138deg, transparent 144deg,
    transparent 168deg, rgba(245,214,123,.04) 174deg, transparent 180deg,
    transparent 204deg, rgba(245,214,123,.055) 210deg, transparent 216deg,
    transparent 240deg, rgba(245,214,123,.04) 246deg, transparent 252deg,
    transparent 276deg, rgba(245,214,123,.055) 282deg, transparent 288deg,
    transparent 312deg, rgba(245,214,123,.04) 318deg, transparent 324deg,
    transparent 348deg, rgba(245,214,123,.055) 354deg, transparent 360deg);
  -webkit-mask-image:radial-gradient(circle at 50% 50%, #000 0%, transparent 62%);
  mask-image:radial-gradient(circle at 50% 50%, #000 0%, transparent 62%);
  animation:epicRays 90s linear infinite;
  pointer-events:none;
}
@keyframes epicRays{to{transform:translateX(-50%) rotate(360deg)}}
#epic-particles{position:absolute;inset:0;z-index:0;pointer-events:none}
.epic-hero-inner{position:relative;z-index:1;max-width:58rem;margin:0 auto}
.epic-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.32em;
  color:#8a6a1f;text-transform:uppercase;
  border:1px solid rgba(154,116,24,.45);border-radius:999px;
  padding:.6rem 1.3rem;margin-bottom:1.6rem;
  background:rgba(255,255,255,.55);backdrop-filter:blur(6px);
}
html.theme-midnight .epic-eyebrow{color:var(--epic-gold);border-color:rgba(245,214,123,.35);background:rgba(7,5,3,.45)}
.epic-h1{
  font-family:'Cinzel',serif;
  font-size:clamp(2.1rem, 6.2vw, 4.4rem);
  line-height:1.12;font-weight:700;
  margin:0 0 1.3rem;
  text-wrap:balance;
  color:#2b2114;
}
html.theme-midnight .epic-h1{color:#f5efe0}
.shimmer{
  background:linear-gradient(100deg,#8a6a1f 0%,#d4af37 18%,#fff3c4 38%,#f5d67b 50%,#fff3c4 62%,#d4af37 82%,#8a6a1f 100%);
  background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:epicShimmer 7s linear infinite;
}
@keyframes epicShimmer{to{background-position:220% center}}
.epic-sub{
  font-size:clamp(1.02rem,2.2vw,1.3rem);
  line-height:1.75;color:#4a3f2c;max-width:44rem;margin:0 auto 2.2rem;
  text-wrap:pretty;
}
html.theme-midnight .epic-sub{color:#e9e2d2}
.epic-sub strong{color:#8a6a1f;font-weight:700}
html.theme-midnight .epic-sub strong{color:var(--epic-gold)}
.epic-cta-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1.4rem}
.epic-note{font-size:.85rem;color:#7a6c4f;letter-spacing:.04em}
html.theme-midnight .epic-note{color:#b9ac8d}
.epic-note i{color:#9a7418;margin-right:.4rem}
html.theme-midnight .epic-note i{color:var(--epic-gold)}
.epic-scroll-hint{
  position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:1;
  color:var(--epic-gold);font-size:1.4rem;opacity:.75;
  animation:epicBob 2.6s ease-in-out infinite;
}
@keyframes epicBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,10px)}}

/* ---------- epic buttons ---------- */
.btn-epic{
  position:relative;display:inline-flex;align-items:center;gap:.7rem;
  font-family:'Cinzel',serif;font-weight:700;letter-spacing:.1em;
  font-size:.95rem;text-transform:uppercase;text-decoration:none;
  color:#1a1005!important;
  background:linear-gradient(135deg,#fff3c4 0%,#f5d67b 30%,#d4af37 65%,#b8912c 100%);
  padding:1.15rem 2.4rem;border-radius:.9rem;border:none;cursor:pointer;
  box-shadow:0 0 0 1px rgba(255,243,196,.5) inset, 0 10px 40px rgba(212,175,55,.35), 0 4px 14px rgba(0,0,0,.5);
  transition:transform .22s ease, box-shadow .22s ease;
  overflow:hidden;
}
.btn-epic::after{
  content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg);animation:epicSheen 4.5s ease-in-out infinite;
}
@keyframes epicSheen{0%,55%{left:-80%}100%{left:180%}}
.btn-epic:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 0 0 1px rgba(255,243,196,.7) inset,0 18px 60px rgba(212,175,55,.5),0 6px 18px rgba(0,0,0,.5)}
.btn-ghost-epic{
  display:inline-flex;align-items:center;gap:.7rem;
  font-family:'Cinzel',serif;font-weight:700;letter-spacing:.1em;font-size:.95rem;text-transform:uppercase;
  color:#8a6a1f!important;text-decoration:none;
  border:1px solid rgba(154,116,24,.55);border-radius:.9rem;
  padding:1.15rem 2.2rem;background:rgba(255,255,255,.6);backdrop-filter:blur(6px);
  transition:border-color .2s,background .2s,transform .2s;
}
html.theme-midnight .btn-ghost-epic{color:var(--epic-gold)!important;border-color:rgba(245,214,123,.5);background:rgba(7,5,3,.5)}
.btn-ghost-epic:hover{border-color:#9a7418;background:rgba(154,116,24,.1);transform:translateY(-3px)}
html.theme-midnight .btn-ghost-epic:hover{border-color:var(--epic-gold);background:rgba(245,214,123,.08)}

/* ---------- scroll reveals ---------- */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1)}
[data-reveal].revealed{opacity:1;transform:none}
[data-reveal="left"]{transform:translateX(-40px)}
[data-reveal="right"]{transform:translateX(40px)}
[data-reveal="zoom"]{transform:scale(.94)}
[data-reveal].revealed{transform:none}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  .epic-hero-bg,.epic-hero-rays,.shimmer,.btn-epic::after,.epic-scroll-hint{animation:none}
}

/* ---------- divine section treatments ---------- */
.epic-glow-card{
  position:relative;
  background:linear-gradient(160deg, #ffffff, #fdf8ec);
  border:1px solid rgba(154,116,24,.3);
  border-radius:1.3rem;
  box-shadow:0 18px 50px rgba(120,90,20,.12), 0 0 60px rgba(212,175,55,.06) inset;
  overflow:hidden;
}
html.theme-midnight .epic-glow-card{
  background:linear-gradient(160deg, rgba(24,18,8,.92), rgba(10,7,4,.96));
  border-color:rgba(212,175,55,.28);
  box-shadow:0 24px 70px rgba(0,0,0,.55), 0 0 60px rgba(212,175,55,.07) inset;
}
.epic-glow-card::before{
  content:'';position:absolute;inset:0 0 auto 0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,243,196,.8),transparent);
}
.epic-banner{
  position:relative;overflow:hidden;border-radius:1.4rem;
  background:url('../images/cosmic-cta-bg.jpg') center/cover no-repeat;
  border:1px solid rgba(212,175,55,.35);
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.epic-banner::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to right, rgba(253,248,236,.9), rgba(253,248,236,.55) 55%, rgba(253,248,236,.8));
}
html.theme-midnight .epic-banner::before{
  background:linear-gradient(to right, rgba(7,5,3,.82), rgba(7,5,3,.45) 55%, rgba(7,5,3,.72));
}
.epic-banner > *{position:relative;z-index:1}
.divine-divider{
  display:flex;align-items:center;gap:1rem;justify-content:center;
  margin:0 auto;color:var(--epic-gold-deep);opacity:.9;
}
.divine-divider::before,.divine-divider::after{
  content:'';height:1px;width:min(220px,30vw);
  background:linear-gradient(90deg,transparent,var(--epic-gold-deep));
}
.divine-divider::after{background:linear-gradient(90deg,var(--epic-gold-deep),transparent)}

/* cinematic image treatments */
.epic-img-frame{
  border-radius:1.2rem;overflow:hidden;position:relative;
  border:1px solid rgba(212,175,55,.3);
  box-shadow:0 24px 70px rgba(0,0,0,.6);
}
.epic-img-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s ease}
.epic-img-frame:hover img{transform:scale(1.04)}
.epic-img-frame::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top, rgba(7,5,3,.45), transparent 45%);
}

/* film-grain sanctity for the commercial card */
.epic-video-shrine{
  position:relative;border-radius:1.4rem;overflow:hidden;
  border:1px solid rgba(212,175,55,.4);
  box-shadow:0 0 0 1px rgba(0,0,0,.6), 0 30px 90px rgba(0,0,0,.65), 0 0 90px rgba(212,175,55,.12);
}
.epic-video-shrine video{width:100%;display:block;aspect-ratio:16/9;background:#000}
.epic-video-shrine::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 120px rgba(0,0,0,.5);border-radius:1.4rem;
}

/* prayer-strip: thin golden verse band */
.prayer-strip{
  text-align:center;padding:3.2rem 1.25rem;
  background:linear-gradient(to bottom, transparent, rgba(212,175,55,.06), transparent);
}
.prayer-strip blockquote{
  font-family:'Cinzel',serif;font-style:italic;
  font-size:clamp(1.15rem,2.6vw,1.7rem);color:#4a3a1c;
  max-width:46rem;margin:0 auto;line-height:1.7;text-wrap:pretty;
}
html.theme-midnight .prayer-strip blockquote{color:#f0e6c8}
.prayer-strip cite{
  display:block;margin-top:1rem;font-style:normal;
  font-size:.78rem;letter-spacing:.3em;color:#9a7418;text-transform:uppercase;
}
html.theme-midnight .prayer-strip cite{color:var(--epic-gold-deep)}

/* ---------- living gold: shimmer on headline gold text ---------- */
h1 .gold-text, h2 .gold-text, .epic-h1 .gold-text{
  background-size:220% auto!important;
  animation:epicShimmer 8s linear infinite;
}

/* ---------- divine wash for classic .hero sections (course etc.) ---------- */
.hero{position:relative;isolation:isolate}
.hero::before{
  content:'';position:absolute;inset:0;z-index:-2;
  background:url('../images/luminous-hero-bg.jpg') center 30%/cover no-repeat;
  opacity:.5;
}
html.theme-midnight .hero::before{background-image:url('../images/divine-hero-bg.jpg');opacity:.34}
.hero::after{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to bottom, rgba(253,248,236,.72) 0%, rgba(253,248,236,.35) 45%, var(--bg, #faf6ec) 100%);
}
html.theme-midnight .hero::after{
  background:linear-gradient(to bottom, rgba(7,5,3,.62) 0%, rgba(7,5,3,.35) 45%, var(--bg, #0d0a06) 100%);
}

/* ---------- dawn imagery for transformation journeys ---------- */
.epic-dawn-band{
  position:relative;overflow:hidden;border-radius:1.4rem;
  border:1px solid rgba(212,175,55,.3);
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
.epic-dawn-band::before{
  content:'';position:absolute;inset:0;
  background:url('../images/sacred-dawn-path.jpg') center/cover no-repeat;
}
.epic-dawn-band::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to right, rgba(253,248,236,.92) 20%, rgba(253,248,236,.4) 60%, rgba(253,248,236,.75));
}
html.theme-midnight .epic-dawn-band::after{
  background:linear-gradient(to right, rgba(7,5,3,.88) 20%, rgba(7,5,3,.35) 60%, rgba(7,5,3,.7));
}
.epic-dawn-band > *{position:relative;z-index:1}

/* ---------- energy imagery for attunement sections ---------- */
.epic-energy-band{
  position:relative;overflow:hidden;border-radius:1.4rem;
  border:1px solid rgba(212,175,55,.3);
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
.epic-energy-band::before{
  content:'';position:absolute;inset:0;
  background:url('../images/reiki-energy-hands.jpg') center/cover no-repeat;
}
.epic-energy-band::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to right, rgba(253,248,236,.92) 20%, rgba(253,248,236,.45) 60%, rgba(253,248,236,.75));
}
html.theme-midnight .epic-energy-band::after{
  background:linear-gradient(to right, rgba(7,5,3,.88) 20%, rgba(7,5,3,.4) 60%, rgba(7,5,3,.72));
}
.epic-energy-band > *{position:relative;z-index:1}
