/* VIASTRIDE premium polish layer
   Progressive enhancement only: the approved layout/content stays intact. */
:root{
  --via-gold:#d9a441;
  --via-gold-hi:#f2cf79;
  --via-gold-deep:#8a611d;
  --via-night:#040b13;
  --via-ink:#07111b;
  --via-line:rgba(217,164,65,.22);
}

html.via-polish-enabled{scroll-behavior:smooth}
html.via-polish-enabled body{isolation:isolate}
html.via-polish-enabled section{scroll-margin-top:96px}

#via-polish-ambient,#via-polish-grid,#via-polish-pointer,#via-polish-progress{pointer-events:none}
#via-polish-ambient{
  position:fixed;inset:0;z-index:-2;opacity:.6;
  background:
    radial-gradient(760px circle at var(--via-ambient-x,78%) var(--via-ambient-y,15%),rgba(217,164,65,.09),transparent 52%),
    radial-gradient(680px circle at 12% 72%,rgba(30,64,93,.12),transparent 58%);
  transition:background-position .3s ease;
}
#via-polish-grid{
  position:fixed;inset:0;z-index:-1;opacity:.18;
  background-image:linear-gradient(rgba(217,164,65,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(217,164,65,.03) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 82%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 82%);
}
#via-polish-progress{
  position:fixed;left:0;top:0;height:2px;width:100%;z-index:9999;transform:scaleX(0);transform-origin:left center;
  background:linear-gradient(90deg,var(--via-gold-deep),var(--via-gold-hi),#fff0b5,var(--via-gold));
  box-shadow:0 0 18px rgba(217,164,65,.42);
}
#via-polish-pointer{
  position:fixed;left:0;top:0;width:240px;height:240px;border-radius:50%;z-index:3;opacity:0;
  transform:translate3d(-50%,-50%,0);
  background:radial-gradient(circle,rgba(242,207,121,.08) 0,rgba(217,164,65,.035) 32%,transparent 70%);
  mix-blend-mode:screen;transition:opacity .25s ease;
}

.via-reveal{opacity:0;transform:translate3d(0,28px,0);filter:blur(3px);transition:opacity .75s cubic-bezier(.2,.75,.2,1),transform .75s cubic-bezier(.2,.75,.2,1),filter .75s ease}
.via-reveal.is-visible{opacity:1;transform:none;filter:none}
.via-reveal[data-via-delay="1"]{transition-delay:.06s}.via-reveal[data-via-delay="2"]{transition-delay:.12s}.via-reveal[data-via-delay="3"]{transition-delay:.18s}

.via-brand-mark{transform-origin:center;will-change:transform,filter;filter:drop-shadow(0 12px 34px rgba(217,164,65,.16));animation:viaBrandFloat 8s ease-in-out infinite,viaBrandGlow 6s ease-in-out infinite;transition:filter .45s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.via-brand-mark:hover{filter:drop-shadow(0 18px 46px rgba(217,164,65,.30)) saturate(1.04)}
@keyframes viaBrandFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}
@keyframes viaBrandGlow{0%,100%{filter:drop-shadow(0 12px 34px rgba(217,164,65,.14))}50%{filter:drop-shadow(0 17px 44px rgba(217,164,65,.26))}}

.via-hero-copy{position:relative}
.via-hero-copy::after{content:"";display:block;width:min(132px,24vw);height:1px;margin-top:24px;background:linear-gradient(90deg,var(--via-gold-hi),rgba(217,164,65,0));box-shadow:0 0 16px rgba(217,164,65,.18);transform-origin:left;animation:viaLineBreath 5s ease-in-out infinite}
@keyframes viaLineBreath{0%,100%{transform:scaleX(.72);opacity:.65}50%{transform:scaleX(1);opacity:1}}

.via-section-accent{position:relative}
.via-section-accent::before{content:"";position:absolute;top:0;left:50%;width:min(1200px,88vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(217,164,65,.20),transparent);opacity:.7}

.via-polish-card{position:relative;overflow:hidden;transform-style:preserve-3d;will-change:transform;transition:transform .32s cubic-bezier(.2,.75,.2,1),border-color .32s ease,box-shadow .32s ease}
.via-polish-card::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(340px circle at var(--via-x,50%) var(--via-y,50%),rgba(242,207,121,.10),transparent 58%)}
.via-polish-card::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.38;background:linear-gradient(120deg,transparent 20%,rgba(255,236,183,.055) 48%,transparent 72%);transform:translateX(-120%);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.via-polish-card:hover{transform:perspective(900px) rotateX(var(--via-tilt-x,0deg)) rotateY(var(--via-tilt-y,0deg)) translateY(-3px);box-shadow:0 20px 52px rgba(0,0,0,.18),0 0 0 1px rgba(217,164,65,.06) inset}
.via-polish-card:hover::before{opacity:1}.via-polish-card:hover::after{transform:translateX(120%)}
.via-polish-card>*{position:relative;z-index:1}

.via-magnetic{will-change:transform;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,filter .25s ease}
.via-magnetic:hover{filter:brightness(1.04)}
.via-active-link{color:var(--via-gold-hi)!important;text-shadow:0 0 14px rgba(217,164,65,.22)}

.via-polish-enabled details{transition:border-color .3s ease,background-color .3s ease,transform .3s ease}
.via-polish-enabled details[open]{transform:translateY(-1px)}
.via-polish-enabled ::selection{background:rgba(217,164,65,.28);color:#fff7e1}

@media (hover:none),(pointer:coarse){
  #via-polish-pointer{display:none}.via-polish-card:hover{transform:none}.via-magnetic{transform:none!important}
}
@media (max-width:760px){
  #via-polish-grid{background-size:54px 54px;opacity:.13}.via-reveal{transform:translate3d(0,18px,0)}
  .via-brand-mark{animation-duration:10s}
}
@media (prefers-reduced-motion:reduce){
  html.via-polish-enabled{scroll-behavior:auto}
  .via-reveal,.via-reveal.is-visible{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .via-brand-mark,.via-hero-copy::after{animation:none!important}
  .via-polish-card,.via-polish-card:hover,.via-magnetic{transform:none!important;transition:none!important}
  #via-polish-pointer{display:none}
}
