/* Exclusiv Institut — Luxe Edition Overlay (Oberklasse) */

:root {
  --luxe-gold-shimmer: linear-gradient(
    105deg,
    transparent 0%,
    rgba(232, 201, 106, 0.35) 45%,
    rgba(255, 248, 220, 0.55) 50%,
    rgba(232, 201, 106, 0.35) 55%,
    transparent 100%
  );
}

/* Hero — cinematic depth */
.hero--scrollfx .hero__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    transparent 55%,
    rgba(23, 16, 9, 0.18) 78%,
    rgba(23, 16, 9, 0.42) 100%
  );
  border-radius: inherit;
}

.hero__stage .hero__eyebrow {
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--gold-lt);
  opacity: 0.92;
}

.hero__title {
  text-shadow: 0 2px 40px rgba(23, 16, 9, 0.12);
}

.hero__title em,
.hero__title .hero__accent {
  font-style: italic;
  background: var(--luxe-gold-shimmer);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: luxe-shimmer 8s ease-in-out infinite;
}

@keyframes luxe-shimmer {
  0%, 100% { background-position: 200% center; }
  50% { background-position: -200% center; }
}

/* Section reveals */
.luxe-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.9s var(--ease), transform 0.9s var(--ease);
}

.luxe-reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Premium cards */
.service-card,
.review-card,
.faq-item,
.gallery__item {
  transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease), border-color 0.35s;
}

.service-card:hover,
.review-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

/* Gold hairline dividers */
.section__head::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 1px;
  margin: 1rem auto 0;
  background: var(--gold-gradient);
  opacity: 0.75;
}

/* Trust ribbon polish */
.wow-trust-ribbon {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* CTA buttons — tactile luxury */
.btn--primary {
  position: relative;
  overflow: hidden;
}

.btn--primary::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.18), transparent);
  transform: translateX(-120%);
  transition: transform 0.6s var(--ease);
}

.btn--primary:hover::after {
  transform: translateX(120%);
}

/* Footer prestige */
.footer {
  position: relative;
}

.footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(90%, 480px);
  height: 1px;
  background: var(--gold-gradient);
  opacity: 0.4;
}

/* Nav glass on scroll */
.nav.is-scrolled {
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 8px 32px -12px rgba(23, 16, 9, 0.2);
}

@media (prefers-reduced-motion: reduce) {
  .luxe-reveal { opacity: 1; transform: none; transition: none; }
  .hero__title em, .hero__title .hero__accent { animation: none; color: var(--gold-lt); background: none; -webkit-text-fill-color: var(--gold-lt); }
  .btn--primary::after { display: none; }
}