/* Premium cinematic motion layer — progressive enhancement only. */

:root {

  --premium-ease: cubic-bezier(.16,1,.3,1);
  --premium-gold: #c79643;
  --premium-ink: #123a53;
  --premium-paper: #fffdf8;
  --premium-soft: #f5efe5;
  --premium-blue: #2a6b93;

}

html {

  scroll-behavior: smooth;

}

body.premium-motion-ready [data-premium-reveal] {

  opacity: 0;
  transform: translate3d(0,34px,0) scale(.985);
  filter: blur(7px);
  transition: opacity .85s var(--premium-ease),transform .85s var(--premium-ease),filter .75s ease;
  transition-delay: var(--premium-delay,0ms);
  will-change: opacity,transform;

}

body.premium-motion-ready [data-premium-reveal="left"] {

  transform: translate3d(-44px,0,0) scale(.99);

}

body.premium-motion-ready [data-premium-reveal="right"] {

  transform: translate3d(44px,0,0) scale(.99);

}

body.premium-motion-ready [data-premium-reveal="zoom"] {

  transform: translate3d(0,14px,0) scale(.94);

}

body.premium-motion-ready [data-premium-reveal].premium-visible {

  opacity: 1;
  transform: none;
  filter: none;

}

[data-premium-lift] {

  transition: transform .45s var(--premium-ease),box-shadow .45s ease,border-color .35s ease;
  transform-style: preserve-3d;

}

[data-premium-lift]:hover {

  transform: translateY(-8px) rotateX(.4deg);
  box-shadow: 0 28px 70px rgba(28,59,75,.14);

}

[data-premium-parallax] {

  will-change: transform;
  transform: translate3d(0,var(--premium-parallax-y,0px),0) scale(1.035);

}

.premium-scroll-progress {

  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  z-index: 2147482000;
  pointer-events: none;
  background: transparent;

}

.premium-scroll-progress>i {

  display: block;
  height: 100%;
  width: var(--premium-progress,0%);
  background: linear-gradient(90deg,#b7802f,#f0cb83,#2a6b93);
  box-shadow: 0 0 14px rgba(199,150,67,.5);
  transition: width .08s linear;

}

.premium-magnetic {

  position: relative;
  transition: transform .22s ease;

}

.premium-glare {

  position: relative;
  overflow: hidden;
  isolation: isolate;

}

.premium-glare::after {

  content: "";
  position: absolute;
  inset: -60%;
  z-index: 4;
  pointer-events: none;
  background: radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.32),transparent 28%);
  opacity: 0;
  transition: opacity .3s ease;

}

.premium-glare:hover::after {

  opacity: 1;

}

.premium-text-shimmer {

  background: linear-gradient(110deg,currentColor 0%,currentColor 37%,#e7bd72 49%,currentColor 61%,currentColor 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: v80TextShimmer 5.5s ease-in-out infinite;

}

@keyframes v80TextShimmer{0%,70%,100%{background-position:120% 0}82%{background-position:-40% 0}}

.premium-float {

  animation: v80Float 5s ease-in-out infinite;

}

@keyframes v80Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

@supports (animation-timeline:view()) {

  .premium-view-scale {

    animation: v80ViewScale linear both;
    animation-timeline: view();
    animation-range: entry 10% cover 55%;

  }

  @keyframes v80ViewScale{from{transform:scale(.96);opacity:.65}to{transform:scale(1);opacity:1}}

}

@media (prefers-reduced-motion:reduce) {

  html {

    scroll-behavior: auto;

  }

  body.premium-motion-ready [data-premium-reveal] {

    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;

  }

  [data-premium-parallax],.premium-float,.premium-text-shimmer,.premium-view-scale {

    animation: none !important;
    transform: none !important;

  }

  .premium-scroll-progress {

    display: none;

  }

}
