/* Ashta Project — Interactivity & Motion Extensions
   Restores premium brand identity: animated sacred geometry, side accents, scroll reveals.
   Uses existing tokens from ashta.css: --gold, --gold-light, --gold-deep, --cream, --serif, --sans. */

/* (a) Hero backdrop — faithful sacred geometry: squared circle + Star-of-David
   hexagram + nested triangles + cardinal nodes, in faint architectural grey on
   felt-black. Static, to match the original framed title screen. The gold is
   reserved for the corner light-rays (ashta.css) — "light onto the subject". */
section.hero {
  position: relative;
  overflow: hidden;
}

section.hero > * {
  position: relative;
  z-index: 2;
}

/* centred ORIGINAL splash mandala — the exact asset lifted from the old Wix site
   (assets/hero-geometry.png: outer + rotated square, circle, hexagram, central
   triangle, cardinal + lateral node-circles). White line art, faded on felt-black. */
section.hero::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(940px, 96vw);
  aspect-ratio: 1022 / 868;
  background: url("../assets/hero-geometry.png") center / contain no-repeat;
  pointer-events: none;
  z-index: 0;
  opacity: .5;
}

@keyframes hero-geo-rotate {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* (a2) Animated hero logo — the title screen "comes together" on load: the sacred
   geometry fades up and the emblem scales in, then the emblem breathes with a soft
   gold glow. Recreates the original site's assembled title-screen entrance. */
.hero .emblem img {
  animation: ashta-logo-in 1.2s cubic-bezier(.2,.8,.2,1) both,
             ashta-logo-breathe 6s ease-in-out 1.5s infinite;
  will-change: transform, filter, opacity;
}
@keyframes ashta-logo-in {
  from { opacity: 0; transform: scale(.78); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes ashta-logo-breathe {
  0%, 100% { transform: scale(1);     filter: drop-shadow(0 0 0 rgba(230,197,140,0)); }
  50%      { transform: scale(1.035); filter: drop-shadow(0 0 13px rgba(230,197,140,.45)); }
}
/* the sacred geometry fades up together with the logo */
section.hero::before { animation: ashta-geo-in 1.6s ease-out both; }
@keyframes ashta-geo-in { from { opacity: 0; } to { opacity: .5; } }

/* (b) Scroll-reveal (sections & cards) — class applied by js/anim.js,
   so with JS disabled nothing is hidden. */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1),
              transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* (c) Refined wordmark treatment (gold gradient text-fill on the ASHTA span) */
header.site .brand .wordmark {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  background: linear-gradient(135deg, var(--cream) 30%, var(--gold-light) 70%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: letter-spacing 0.3s ease;
}

header.site .brand:hover .wordmark {
  letter-spacing: 0.16em;
}

/* Micro-interactions */
.btn {
  transition: transform 0.2s cubic-bezier(0.23, 1, 0.32, 1),
              box-shadow 0.2s cubic-bezier(0.23, 1, 0.32, 1),
              background-color 0.2s ease,
              color 0.2s ease;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(199, 137, 62, 0.15);
}

.btn:active {
  transform: translateY(0);
}

.card {
  transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1),
              box-shadow 0.25s cubic-bezier(0.23, 1, 0.32, 1),
              border-color 0.25s ease;
}

.card:hover {
  transform: translateY(-2px);
  border-color: var(--gold-deep);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

/* Mobile: lift the mandala UP so it sits behind the LOGO (the title-screen emblem),
   not centred in the tall hero. The emblem is near the top of the hero on mobile. */
@media (max-width: 768px){
  section.hero::before{ top: 200px; width: min(430px, 112vw); }
}

/* Accessibility: reduced-motion fallback — disables all motion */
@media (prefers-reduced-motion: reduce) {
  section.hero::before,
  section.hero::after,
  .hero .emblem img {
    animation: none !important;
  }
  .reveal {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
  .btn, .card {
    transition: none !important;
    transform: none !important;
  }
  header.site .brand:hover .wordmark {
    letter-spacing: 0.12em !important;
  }
}
