/* Per-theme full animated heroes — Option 5 (agneon) left unchanged */

.hero-slash,
.hero-wave,
.hero-grid-lines,
.hero-scan,
.hero-paper-stack,
.hero-stamp {
  display: none;
  pointer-events: none;
}

/* ========== Option 1 · AG Official — same pointer 3D tilt as Option 2 ========== */
.theme-ag .hero-ring,
.theme-ag .hero-plane,
.theme-ag .hero-particle {
  display: block;
}
.theme-ag .hero-panel {
  cursor: pointer;
  animation: agPanelFade .9s var(--ease) .15s both;
  transition: box-shadow .35s var(--ease);
}
.theme-ag .hero-card-hover:hover .hero-card-track {
  transform: none;
}
.theme-ag .hero-card-hint {
  display: none;
}
.theme-ag .hero-card-scroll {
  height: auto;
  overflow: visible;
}
.theme-ag .hero-card-services,
.theme-ag .hero-stats,
.theme-ag .hero-logo-3d,
.theme-ag .hero-stage {
  cursor: pointer;
}
@keyframes agPanelFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ========== Option 2 · AG Bright — lift card + short scroll ========== */
.theme-aglight .hero-orb { opacity: .75; filter: blur(50px); }
.theme-aglight .hero-ring { display: none; }
.theme-aglight .hero-plane { display: none; }
.theme-aglight .hero-particle {
  display: block;
  background: var(--teal);
  width: 8px;
  height: 8px;
  border-radius: 2px;
  animation: brightSpark 4.5s ease-in-out infinite;
}
.theme-aglight .hero-panel {
  transform: none !important;
  box-shadow: 16px 16px 0 color-mix(in srgb, var(--teal) 35%, transparent);
  animation: brightLift 5s ease-in-out infinite;
}
.theme-aglight .hero-card-hover:hover {
  animation: none;
  transform: translateY(-10px) !important;
  box-shadow: 20px 24px 0 color-mix(in srgb, var(--teal) 45%, transparent);
}
.theme-aglight .hero-card-hover:hover .hero-card-track {
  transform: translateY(-28%);
}
.theme-aglight .hero-panel-shine {
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.55) 48%, transparent 65%);
  animation: shineSweep 4s ease-in-out infinite;
}
.theme-aglight .hero-float-chip {
  display: block;
  background: #fff;
  box-shadow: 6px 6px 0 var(--teal);
}
.theme-aglight .hero-card-services span {
  background: #fff;
  border-color: color-mix(in srgb, var(--teal) 30%, #ddd);
}
@keyframes brightLift {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
@keyframes brightSpark {
  0%, 100% { transform: translateY(0) scale(1); opacity: .25; }
  50% { transform: translateY(-50px) scale(1.4); opacity: .9; }
}

/* ========== Option 3 · AG Soft Blue — wave + soft scroll ========== */
.theme-agsoft .hero-wave {
  display: block;
  position: absolute;
  left: -10%;
  bottom: -5%;
  width: 120%;
  height: 45%;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(73,174,226,.25), transparent 50%),
    radial-gradient(ellipse at 70% 60%, rgba(73,174,226,.18), transparent 45%);
  animation: softWave 8s ease-in-out infinite alternate;
}
.theme-agsoft .hero-ring {
  display: block;
  border-style: dashed;
  opacity: .45;
  animation: ringSpin 50s linear infinite;
}
.theme-agsoft .hero-plane {
  display: block;
  border-radius: 50%;
  background: rgba(255,255,255,.35);
  border-color: rgba(73,174,226,.35);
  animation: softBubble 7s ease-in-out infinite;
}
.theme-agsoft .hero-plane-1 { width: 140px; height: 140px; }
.theme-agsoft .hero-plane-2 { width: 90px; height: 90px; animation-delay: -2s; }
.theme-agsoft .hero-plane-3 { width: 60px; height: 60px; animation-delay: -4s; }
.theme-agsoft .hero-panel {
  transform: rotateY(-6deg) rotateX(4deg);
  border-radius: 28px;
  backdrop-filter: blur(8px);
  background: rgba(255,255,255,.78);
  animation: softFloat 6s ease-in-out infinite;
}
.theme-agsoft .hero-card-hover:hover {
  animation: none;
  transform: rotateY(0deg) rotateX(0deg) scale(1.02);
}
.theme-agsoft .hero-card-hover:hover .hero-card-track {
  transform: translateY(-34%);
}
.theme-agsoft .hero-float-chip {
  display: block;
  border-radius: 16px;
  background: rgba(255,255,255,.9);
}
.theme-agsoft .hero-card-services span {
  border-radius: 999px;
  background: rgba(255,255,255,.95);
}
@keyframes softWave {
  from { transform: translateX(0) scaleY(1); }
  to { transform: translateX(-4%) scaleY(1.08); }
}
@keyframes softBubble {
  0%, 100% { transform: translateY(0) scale(1); opacity: .55; }
  50% { transform: translateY(-24px) scale(1.08); opacity: .85; }
}
@keyframes softFloat {
  0%, 100% { transform: rotateY(-6deg) rotateX(4deg) translateY(0); }
  50% { transform: rotateY(-4deg) rotateX(2deg) translateY(-10px); }
}

/* ========== Option 4 · AG Ink Line — slide + horizontal-feel scroll ========== */
.theme-agine .hero-grid-lines {
  display: block;
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 46px,
      rgba(73,174,226,.08) 46px,
      rgba(73,174,226,.08) 47px
    );
  animation: inkShift 12s linear infinite;
  opacity: .8;
}
.theme-agine .hero-orb,
.theme-agine .hero-ring,
.theme-agine .hero-plane,
.theme-agine .hero-particle { display: none; }
.theme-agine .hero-panel {
  transform: none !important;
  border-radius: 4px;
  border-top: 3px solid var(--teal);
  animation: inkSlideIn .9s var(--ease) .2s both;
  box-shadow: 0 18px 40px rgba(44,53,61,.12);
}
.theme-agine .hero-card-hover:hover {
  border-left: 3px solid var(--teal);
}
.theme-agine .hero-card-hover:hover .hero-card-track {
  transform: translateY(-46%);
}
.theme-agine .hero-anim { animation-name: inkReveal; }
.theme-agine .hero-brand .ag-letter {
  animation: none;
  border-bottom: 3px solid var(--teal);
  padding-bottom: .05em;
}
.theme-agine .hero-float-chip {
  display: block;
  border-radius: 4px;
  border-left: 3px solid var(--teal);
  animation: inkChip 5s ease-in-out infinite;
}
.theme-agine .hero-card-services {
  grid-template-columns: 1fr;
}
.theme-agine .hero-card-services span {
  border-radius: 4px;
  text-align: left;
  border-left: 3px solid var(--teal);
}
@keyframes inkShift {
  to { background-position: 94px 0; }
}
@keyframes inkSlideIn {
  from { opacity: 0; transform: translateX(48px); }
  to { opacity: 1; transform: none; }
}
@keyframes inkReveal {
  from { opacity: 0; transform: translateX(-24px); filter: blur(4px); }
  to { opacity: 1; transform: none; filter: none; }
}
@keyframes inkChip {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(8px); }
}

/* ========== Option 5 · AG Glow — UNCHANGED (keep as-is) ========== */
.theme-agneon .hero-scan {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  height: 18%;
  top: -20%;
  background: linear-gradient(180deg, transparent, rgba(73,174,226,.18), transparent);
  animation: neonScan 5.5s linear infinite;
}
.theme-agneon .hero-orb {
  opacity: .85;
  filter: blur(30px);
  animation: neonPulse 3.5s ease-in-out infinite alternate;
}
.theme-agneon .hero-ring {
  display: block;
  box-shadow: 0 0 40px rgba(73,174,226,.25);
  border-color: rgba(127,208,240,.45);
}
.theme-agneon .hero-particle {
  display: block;
  box-shadow: 0 0 10px var(--teal);
  animation: particleRise 5s ease-in-out infinite;
}
.theme-agneon .hero-panel {
  box-shadow:
    0 0 0 1px rgba(73,174,226,.35),
    0 0 40px rgba(73,174,226,.2),
    0 30px 60px rgba(0,0,0,.45);
  animation: neonBreathe 4s ease-in-out infinite;
  cursor: pointer;
}
.theme-agneon .hero-brand .ag-letter {
  text-shadow: 0 0 22px rgba(73,174,226,.7);
  animation: neonFlicker 3s ease-in-out infinite;
}
.theme-agneon .hero-float-chip {
  display: block;
  border-color: rgba(73,174,226,.4);
  box-shadow: 0 0 18px rgba(73,174,226,.2);
}
/* Option 5: no hover-scroll override — keep default subtle or disable */
.theme-agneon .hero-card-hover:hover .hero-card-track {
  transform: none;
}
.theme-agneon .hero-card-hint,
.theme-agneon .hero-card-services {
  display: none;
}
.theme-agneon .hero-card-scroll {
  height: auto;
  overflow: visible;
}
@keyframes neonScan {
  from { top: -20%; }
  to { top: 110%; }
}
@keyframes neonPulse {
  from { opacity: .45; transform: scale(1); }
  to { opacity: .9; transform: scale(1.12); }
}
@keyframes neonBreathe {
  0%, 100% { box-shadow: 0 0 0 1px rgba(73,174,226,.3), 0 0 30px rgba(73,174,226,.15), 0 30px 60px rgba(0,0,0,.45); }
  50% { box-shadow: 0 0 0 1px rgba(127,208,240,.55), 0 0 55px rgba(73,174,226,.35), 0 30px 60px rgba(0,0,0,.45); }
}
@keyframes neonFlicker {
  0%, 100% { opacity: 1; }
  48% { opacity: 1; }
  50% { opacity: .7; }
  52% { opacity: 1; }
}

/* ========== Option 6 · Card Energy — slash + sharp scroll ========== */
.theme-geometric .hero-slash {
  display: block;
  position: absolute;
  right: -5%;
  top: 10%;
  width: 55vw;
  height: 80%;
  background: linear-gradient(135deg, #00bfa6 0%, #0077a8 52%, #ffe600 53%, #ffe600 100%);
  clip-path: polygon(32% 0, 100% 0, 100% 100%, 0 100%, 38% 52%);
  opacity: .55;
  animation: geoSlash 10s var(--ease) infinite alternate;
}
.theme-geometric .hero-slash.s2 {
  right: auto;
  left: -20%;
  top: auto;
  bottom: -15%;
  width: 40vw;
  height: 50%;
  opacity: .22;
  animation-delay: -3s;
  clip-path: polygon(0 20%, 100% 0, 80% 100%, 0 100%);
}
.theme-geometric .hero-ring,
.theme-geometric .hero-plane { display: none; }
.theme-geometric .hero-orb { opacity: .35; }
.theme-geometric .hero-panel {
  transform: rotateY(-16deg) rotateX(10deg);
  border: 2px solid rgba(0,191,166,.35);
  animation: geoCardSpin 7s ease-in-out infinite;
}
.theme-geometric .hero-card-hover:hover {
  animation: none;
  transform: rotateY(-6deg) rotateX(2deg) scale(1.03);
  border-color: #ffe600;
}
.theme-geometric .hero-card-hover:hover .hero-card-track {
  transform: translateY(-40%);
}
.theme-geometric .hero-float-chip {
  display: block;
  background: #111;
  color: #ffe600;
  border-color: #00bfa6;
}
.theme-geometric .hero-brand .ag-letter { color: #e91e8c; }
.theme-geometric .hero-brand .ag-design { color: #00bfa6; }
.theme-geometric .hero-card-services span {
  background: #111;
  color: #ffe600;
  border-color: rgba(0,191,166,.4);
}
@keyframes geoSlash {
  from { transform: translateX(0) skewX(0); }
  to { transform: translateX(-4%) skewX(-3deg); }
}
@keyframes geoCardSpin {
  0%, 100% { transform: rotateY(-16deg) rotateX(10deg); }
  50% { transform: rotateY(-8deg) rotateX(4deg) translateY(-8px); }
}

/* ========== Option 7 · Midnight Press — stamp + press scroll ========== */
.theme-midnight .hero-stamp {
  display: block;
  position: absolute;
  right: 14%;
  top: 22%;
  width: 160px;
  height: 160px;
  border: 3px solid rgba(255,230,0,.45);
  border-radius: 50%;
  transform: rotate(-18deg);
  animation: stampHit 4.5s ease-in-out infinite;
}
.theme-midnight .hero-stamp::before {
  content: "PRINT";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-family: var(--font-body);
  font-weight: 800;
  letter-spacing: .2em;
  color: rgba(255,230,0,.55);
  font-size: .9rem;
}
.theme-midnight .hero-slash {
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: 8px;
  background: #ffe600;
  animation: flashBar 3s ease-in-out infinite;
}
.theme-midnight .hero-ring,
.theme-midnight .hero-plane { display: none; }
.theme-midnight .hero-panel {
  transform: none !important;
  border: 1px solid rgba(255,230,0,.25);
  animation: pressDrop .85s var(--ease) .15s both;
}
.theme-midnight .hero-card-hover:hover {
  border-color: #ffe600;
  box-shadow: 0 0 0 2px rgba(255,230,0,.25), 0 28px 50px rgba(0,0,0,.5);
}
.theme-midnight .hero-card-hover:hover .hero-card-track {
  transform: translateY(-36%);
}
.theme-midnight .hero-float-chip {
  display: block;
  background: #111;
  color: #ffe600;
  border-color: rgba(255,230,0,.35);
}
.theme-midnight .hero-brand .ag-letter {
  color: #ffe600;
  animation: stampText 3s ease-in-out infinite;
}
.theme-midnight .hero-card-services span {
  background: #111;
  color: #ffe600;
  border-color: rgba(255,230,0,.3);
}
@keyframes stampHit {
  0%, 70%, 100% { opacity: .35; transform: rotate(-18deg) scale(1); }
  78% { opacity: .9; transform: rotate(-12deg) scale(1.08); }
  86% { opacity: .55; transform: rotate(-18deg) scale(1); }
}
@keyframes flashBar {
  0%, 100% { opacity: .25; }
  50% { opacity: .9; }
}
@keyframes pressDrop {
  from { opacity: 0; transform: translateY(-40px) scale(1.04); }
  to { opacity: 1; transform: none; }
}
@keyframes stampText {
  0%, 100% { text-shadow: none; }
  50% { text-shadow: 0 0 18px rgba(255,230,0,.45); }
}

/* ========== Option 8 · Paper Craft — stack + paper scroll ========== */
.theme-paper .hero-paper-stack {
  display: block;
  position: absolute;
  right: 10%;
  top: 18%;
  width: min(320px, 40vw);
  height: min(220px, 28vw);
  background: #fffdf8;
  border: 1px solid rgba(44,53,61,.12);
  border-radius: 6px;
  box-shadow: 0 16px 30px rgba(70,55,30,.12);
  animation: paperFloat 6s ease-in-out infinite;
}
.theme-paper .hero-paper-stack.ps2 {
  right: 16%;
  top: 26%;
  transform: rotate(6deg);
  background: #f3ebe0;
  animation-delay: -1.5s;
  z-index: 0;
}
.theme-paper .hero-orb { opacity: .35; }
.theme-paper .hero-ring,
.theme-paper .hero-plane { display: none; }
.theme-paper .hero-panel {
  transform: rotate(-2deg) !important;
  border-radius: 8px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.8) inset,
    12px 16px 0 rgba(42,111,151,.12),
    0 24px 40px rgba(70,55,30,.14);
  animation: paperCard 5.5s ease-in-out infinite;
  z-index: 1;
}
.theme-paper .hero-card-hover:hover {
  animation: none;
  transform: rotate(0deg) translateY(-8px) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.8) inset,
    16px 22px 0 rgba(42,111,151,.16),
    0 28px 44px rgba(70,55,30,.18);
}
.theme-paper .hero-card-hover:hover .hero-card-track {
  transform: translateY(-32%);
}
.theme-paper .hero-float-chip {
  display: block;
  border-radius: 6px;
  background: #fffdf8;
  border-top: 2px solid var(--teal);
}
.theme-paper .hero-card-services span {
  border-radius: 6px;
  background: #fffdf8;
  border-top: 2px solid var(--teal);
}
@keyframes paperFloat {
  0%, 100% { transform: rotate(-4deg) translateY(0); }
  50% { transform: rotate(-2deg) translateY(-10px); }
}
@keyframes paperCard {
  0%, 100% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(-1deg) translateY(-8px); }
}

@media (max-width: 640px) {
  .hero-slash,
  .hero-paper-stack,
  .hero-stamp,
  .hero-scan { opacity: .35; }
  .theme-geometric .hero-slash { width: 70vw; }
  .theme-paper .hero-paper-stack { display: none; }
  .hero-card-scroll { height: min(360px, 52vh); }
  .hero-card-hover:hover .hero-card-track { transform: translateY(-30%); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slash,
  .hero-wave,
  .hero-grid-lines,
  .hero-scan,
  .hero-paper-stack,
  .hero-stamp,
  .theme-aglight .hero-panel,
  .theme-agsoft .hero-panel,
  .theme-agine .hero-panel,
  .theme-geometric .hero-panel,
  .theme-midnight .hero-panel,
  .theme-paper .hero-panel {
    animation: none !important;
  }
  .hero-card-track { transition: none; }
}
