/* Pyramidas V10 — Cinematic Desktop / Elegant Mobile
   Additive layer only: no visual redesign, no content override. */
:root {
  --pyr-cinematic-distance: 34px;
  --pyr-cinematic-duration: 900ms;
  --pyr-cinematic-ease: cubic-bezier(.19,1,.22,1);
  --pyr-cinematic-parallax: 0px;
}

html.pyr-cinematic-ready {
  scroll-behavior: smooth;
}

.pyr-reveal {
  opacity: 0;
  transform: translate3d(0, var(--pyr-cinematic-distance), 0) scale(.992);
  transition:
    opacity var(--pyr-cinematic-duration) var(--pyr-cinematic-ease),
    transform var(--pyr-cinematic-duration) var(--pyr-cinematic-ease),
    filter var(--pyr-cinematic-duration) var(--pyr-cinematic-ease);
  will-change: opacity, transform;
  filter: blur(2px);
}

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

.pyr-reveal.pyr-stagger-1 { transition-delay: 70ms; }
.pyr-reveal.pyr-stagger-2 { transition-delay: 140ms; }
.pyr-reveal.pyr-stagger-3 { transition-delay: 210ms; }
.pyr-reveal.pyr-stagger-4 { transition-delay: 280ms; }
.pyr-reveal.pyr-stagger-5 { transition-delay: 350ms; }

.pyr-hero-cinematic {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.pyr-hero-cinematic::before {
  content: "";
  position: absolute;
  inset: -4%;
  pointer-events: none;
  z-index: -1;
  background: inherit;
  background-image: inherit;
  background-position: inherit;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translate3d(0, calc(var(--pyr-cinematic-parallax) * .18), 0) scale(1.035);
  transform-origin: center center;
  will-change: transform;
  opacity: .48;
}

.pyr-hero-cinematic > * {
  position: relative;
  z-index: 1;
}

.pyr-parallax-soft {
  transform: translate3d(0, calc(var(--pyr-cinematic-parallax) * -0.055), 0);
  will-change: transform;
}

.pyr-cta-cinematic.pyr-in-view {
  animation: pyrCtaFocus 1100ms var(--pyr-cinematic-ease) both;
}

@keyframes pyrCtaFocus {
  0% { transform: translate3d(0, 24px, 0) scale(.985); opacity: 0; filter: blur(3px); }
  55% { transform: translate3d(0, 0, 0) scale(1.012); opacity: 1; filter: blur(0); }
  100% { transform: translate3d(0, 0, 0) scale(1); opacity: 1; filter: blur(0); }
}

@media (max-width: 768px) {
  :root {
    --pyr-cinematic-distance: 18px;
    --pyr-cinematic-duration: 620ms;
  }

  html.pyr-cinematic-ready { scroll-behavior: auto; }

  .pyr-hero-cinematic::before { display: none; }
  .pyr-parallax-soft { transform: none !important; }
  .pyr-reveal { filter: none; }
}

@media (prefers-reduced-motion: reduce) {
  html.pyr-cinematic-ready { scroll-behavior: auto; }
  .pyr-reveal,
  .pyr-reveal.pyr-in-view,
  .pyr-parallax-soft,
  .pyr-hero-cinematic::before {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    filter: none !important;
  }
}
