/* V14: scroll-driven editorial scenes.
   Each section unfolds continuously with wheel/touch scroll progress. */
.scroll-scenes-v14{overflow-x:clip;scroll-padding-top:84px}
.scroll-scenes-v14 body{overflow-x:clip}
.scroll-scenes-v14 .hero{overflow:clip}
.scroll-scenes-v14 .motion-glow{display:none!important}

.scroll-scenes-v14 .motion-scene-v14{
  position:relative;
  isolation:isolate;
  perspective:1400px;
}
.scroll-scenes-v14 .motion-scene-v14:after{
  content:'';
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:var(--scene-veil,0);
  background:linear-gradient(180deg,rgba(8,27,46,.075),transparent 14%,transparent 84%,rgba(8,27,46,.06));
}
.scroll-scenes-v14 .scene-stage-v14{
  position:relative;
  z-index:1;
  opacity:var(--scene-opacity,1);
  transform:translate3d(var(--scene-x,0),var(--scene-y,0),0) scale(var(--scene-scale,1));
  transform-origin:50% 18%;
  filter:blur(var(--scene-blur,0));
  will-change:transform,opacity,filter;
}

/* Continuous item choreography. Later rules intentionally replace the old
   one-shot reveal only for elements controlled by the scroll scene. */
.scroll-scenes-v14 .scene-item-v14{
  opacity:var(--scene-item-opacity,1)!important;
  translate:var(--scene-item-x,0) var(--scene-item-y,0)!important;
  scale:var(--scene-item-scale,1)!important;
  filter:blur(var(--scene-item-blur,0))!important;
  transition:none!important;
  will-change:opacity,translate,scale,filter;
}
.scroll-scenes-v14 .scene-heading-v14{
  position:relative;
  clip-path:inset(0 var(--scene-heading-clip,0%) 0 0);
  opacity:var(--scene-heading-opacity,1);
  translate:var(--scene-heading-x,0) 0;
  will-change:clip-path,opacity,translate;
}
.scroll-scenes-v14 .scene-heading-v14:after{
  content:'';
  position:absolute;
  left:0;
  bottom:-10px;
  width:var(--scene-heading-line,0%);
  max-width:92px;
  height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  pointer-events:none;
}
.scroll-scenes-v14 .center-heading .scene-heading-v14:after{left:50%;transform:translateX(-50%)}

/* A quiet chapter indicator appears only where the viewport has room. */
.scene-rail-v14{
  position:fixed;
  z-index:13;
  right:18px;
  top:50%;
  width:48px;
  padding:13px 8px 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  color:#dbe3ea;
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  background:rgba(5,20,37,.72);
  box-shadow:0 18px 48px rgba(3,16,29,.16),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  opacity:0;
  translate:12px -50%;
  transition:opacity .35s ease,translate .55s var(--motion-ease);
  pointer-events:none;
}
.scene-rail-v14.show{opacity:1;translate:0 -50%}
.scene-rail-v14 strong{
  font:600 9px var(--latin);
  letter-spacing:.08em;
  color:var(--gold-2);
}
.scene-rail-track{
  width:1px;
  height:72px;
  background:rgba(255,255,255,.17);
  position:relative;
  overflow:hidden;
}
.scene-rail-track i{
  position:absolute;
  left:0;
  top:0;
  width:1px;
  height:var(--scene-rail-progress,0%);
  background:linear-gradient(var(--gold-2),#fff);
  box-shadow:0 0 8px rgba(224,196,137,.6);
}
.scene-rail-v14 span{
  writing-mode:vertical-rl;
  max-height:95px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:9px;
  letter-spacing:.12em;
  color:#aebbc6;
}

@media(max-width:1240px){.scene-rail-v14{display:none}}
@media(max-width:1050px) and (min-width:761px){
  .navbar{padding-left:16px;padding-right:16px}
  .nav-links{
    display:none;
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    width:260px;
    padding:20px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    border:1px solid rgba(255,255,255,.13);
    border-radius:15px;
    background:rgba(5,20,37,.96);
    box-shadow:0 24px 60px rgba(2,14,27,.3);
    backdrop-filter:blur(18px);
  }
  .nav-links.open{display:flex}
  .nav-links>a{padding:11px 8px;font-size:13px}
  .nav-links a:after{bottom:4px}
  .menu-toggle{display:block;margin-left:18px}
  .nav-cta{margin-left:12px}
}
@media(max-width:760px){
  .scroll-scenes-v14{scroll-padding-top:78px}
  .scroll-scenes-v14 .scene-stage-v14{
    transform:translate3d(0,var(--scene-y,0),0) scale(var(--scene-scale,1));
    filter:none;
  }
  .scroll-scenes-v14 .scene-item-v14{filter:none!important}
  .scroll-scenes-v14 .motion-scene-v14:after{opacity:var(--scene-veil,0)}
  .scroll-scenes-v14 .scene-heading-v14:after{bottom:-7px}
}

@media(max-width:430px){
  .scroll-scenes-v14{scroll-behavior:auto;scroll-padding-top:76px}
  .scroll-scenes-v14 .site-header.is-scrolled{top:0}
  .scroll-scenes-v14 .site-header.is-scrolled .navbar{
    width:100%;
    height:68px;
    padding:0 18px;
    border-width:0 0 1px;
    border-radius:0;
    background:#061426;
    box-shadow:0 10px 30px rgba(2,13,25,.22);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
}

@media(max-width:360px){
  .floating-consult,.motion-backtop{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .scroll-scenes-v14 .scene-stage-v14,
  .scroll-scenes-v14 .scene-item-v14,
  .scroll-scenes-v14 .scene-heading-v14{
    opacity:1!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    filter:none!important;
    clip-path:none!important;
    transition:none!important;
  }
  .scroll-scenes-v14 .motion-scene-v14:after,.scene-rail-v14{display:none!important}
}
