/*
  Baltic Theme v1.6 — Motion Layer (fresh start)
  - Slow fade + lift reveal
  - Gentle CTA glow (no bounce)
  - Hero headline cross-fade swap
  - Respects prefers-reduced-motion
*/

:root{
  --be-ease: cubic-bezier(.2,.85,.25,1);
  --be-fade-duration: 1000ms;
  --be-fade-distance: 20px;
  --be-fade-blur: 6px;
}

/* =========================================================
   Scroll reveal
   ========================================================= */
.be-watch{
  opacity: 0;
  transform: translate3d(0, var(--be-fade-distance), 0) scale(.985);
  filter: blur(var(--be-fade-blur));
  transition:
    opacity var(--be-fade-duration) var(--be-ease),
    transform var(--be-fade-duration) var(--be-ease),
    filter var(--be-fade-duration) var(--be-ease);
  transition-delay: var(--be-delay, 0ms);
  will-change: transform, opacity, filter;
}

.be-in{
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

/* =========================================================
   CTA glow (no bounce)
   ========================================================= */
.be-cta-wow{
  position: relative;
  overflow: hidden;
  border: 1px solid transparent !important;
  transition: box-shadow 240ms var(--be-ease), filter 240ms var(--be-ease);
}

.be-cta-wow::after{
  content:"";
  position:absolute;
  inset:-40% -120%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform: translateX(-45%);
  opacity: .5;
  pointer-events:none;
  animation: beCtaSheen 3.6s ease-in-out infinite;
}

.be-cta-wow:hover{
  transform: none !important;
  border-color: #fbbf24 !important;
  box-shadow: 0 16px 40px rgba(52,171,73,.45) !important;
  filter: brightness(1.02);
}

.be-cta-wow:active{
  transform: none !important;
}

@keyframes beCtaSheen{
  0%{ transform: translateX(-45%); }
  50%{ transform: translateX(20%); }
  100%{ transform: translateX(120%); }
}

/* =========================================================
   Headline cross-fade
   ========================================================= */
.be-swap{
  transition: opacity 700ms var(--be-ease);
  will-change: opacity;
}

.be-swap-fade-out{
  opacity: 0;
}

.be-swap-fade-in{
  opacity: 1;
}

/* =========================================================
   Reduced motion
   ========================================================= */
@media (prefers-reduced-motion: reduce){
  .be-watch{
    transition: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }
  .be-cta-wow::after{
    display: none !important;
  }
  .be-swap{
    transition: none !important;
    opacity: 1 !important;
  }
}