/* NEXORA 1.4: scroll-led scenes and cross-document image continuity. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:nex-page-out .38s cubic-bezier(.4,0,.2,1) both}
::view-transition-new(root){animation:nex-page-in .55s cubic-bezier(.16,1,.3,1) both}
@keyframes nex-page-out{to{opacity:.65;transform:translateY(-12px)}}
@keyframes nex-page-in{from{opacity:.5;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

.research-image,.molecular-visual,.responsibility{isolation:isolate}
.research-scan{position:absolute;z-index:2;top:36px;bottom:36px;left:6%;width:22%;border-left:1px solid #dbf4bd7d;border-right:1px solid #dbf4bd28;background:linear-gradient(90deg,transparent,#d7f5bb20,transparent);box-shadow:-12px 0 35px #b6e9830d;pointer-events:none;opacity:.7}
.research-scan::before{position:absolute;top:15px;left:13px;content:"FIELD / 03";color:#f3f8ed;font-size:8px;font-weight:700;letter-spacing:.16em;text-shadow:0 2px 8px #0009}
.research-scan::after{position:absolute;right:-5px;top:48%;width:9px;height:9px;border:1px solid #e1f4c0;border-radius:50%;content:"";box-shadow:0 0 22px #d9f1b4}
.research-copy::before{position:absolute;top:0;bottom:0;left:0;width:1px;content:"";background:linear-gradient(transparent,#cde5a788,transparent);pointer-events:none}
.molecular-axis{position:absolute;z-index:2;inset:35px;pointer-events:none;border:1px solid #e3f2d134;background:linear-gradient(90deg,transparent calc(50% - .5px),#d6edb447 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),#d6edb447 50%,transparent calc(50% + .5px));mask-image:linear-gradient(180deg,#000,transparent 65%)}
.molecular-axis::after{position:absolute;left:50%;top:50%;width:50px;height:50px;content:"";border:1px solid #d8edb873;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 26px #c8e9a333}
.responsibility::before{position:absolute;z-index:1;top:0;bottom:0;right:8%;width:1px;content:"";background:linear-gradient(transparent,#d5efb354,transparent);pointer-events:none}
.metrics .metric{position:relative}
.metrics .metric::before{position:absolute;left:0;top:0;width:2px;height:100%;content:"";background:linear-gradient(var(--acid),transparent);opacity:.55;transform:scaleY(.45);transform-origin:top;pointer-events:none}

@supports(animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    .research-image img{animation:nex-image-depth linear both;animation-timeline:view(block);animation-range:entry 0% exit 100%}
    .research-scan{animation:nex-scan-sweep linear both;animation-timeline:view(block);animation-range:entry 0% cover 82%}
    .molecular-visual>img{animation:nex-molecule-depth linear both;animation-timeline:view(block);animation-range:entry 0% exit 100%}
    .molecular-axis{animation:nex-axis-enter linear both;animation-timeline:view(block);animation-range:entry 5% cover 70%}
    .responsibility-image img{animation:nex-responsibility-depth linear both;animation-timeline:view(block);animation-range:entry 0% exit 100%}
    .metrics .metric::before{animation:nex-metric-rail linear both;animation-timeline:view(block);animation-range:entry 0% cover 72%}
  }
}
@keyframes nex-image-depth{from{transform:scale(1.14) translateY(-2%)}to{transform:scale(1.02) translateY(2%)}}
@keyframes nex-scan-sweep{from{transform:translateX(-45%);opacity:0}45%{opacity:.8}to{transform:translateX(280%);opacity:.2}}
@keyframes nex-molecule-depth{from{transform:scale(1.12) translateY(-2%)}to{transform:scale(1.02) translateY(2%)}}
@keyframes nex-axis-enter{from{opacity:0;clip-path:inset(0 50% 100% 50%)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes nex-responsibility-depth{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes nex-metric-rail{from{transform:scaleY(.08);opacity:.15}to{transform:scaleY(1);opacity:.7}}

@media(max-width:760px){.research-scan{top:22px;bottom:22px;width:28%}.molecular-axis{inset:22px}.responsibility::before{right:22px}}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:0s!important}.research-scan{opacity:.28}.molecular-axis{opacity:.45}}
