/* Nexo home only. No scroll hijacking, no content hidden behind JS. */
.reading-progress{position:fixed;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#91b7c3,#b5f4d9);z-index:150;transform:scaleX(0);transform-origin:left;pointer-events:none}
.header{transition:background-color .35s,border-color .35s}.past-intro .header{background:#090f16f5;border-bottom-color:#415966}
.sector-card{isolation:isolate;overflow:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .45s}
.sector-card:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(300px circle at var(--light-x,50%) var(--light-y,50%),#b4f3e119,transparent 75%);opacity:0;transition:opacity .4s}
.sector-card:hover:before,.sector-card:focus-visible:before{opacity:1}.sector-card:hover{transform:perspective(1000px) translateY(-6px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 20px 40px #0004}
.sector-arrow{transition:transform .35s,color .35s}.sector-card:hover .sector-arrow{transform:translateX(7px);color:#d0f6e5}
.project-visual{transition:transform .6s cubic-bezier(.16,1,.3,1)}.project-visual:hover{transform:perspective(1400px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.inventory-row{position:relative;overflow:hidden}.inventory-row:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 15%,#b6eede17,transparent 80%);transform:translateX(-110%)}
.motion-active .inventory-row:after{animation:inventory-sweep 6s ease-in-out infinite}.motion-active .inventory-row:nth-child(4):after{animation-delay:1.1s}.motion-active .inventory-row:nth-child(5):after{animation-delay:2.2s}
.map-route span,.map-result{transition:box-shadow .6s,border-color .6s}.motion-active .map-route span{animation:route-signal 5.5s ease-in-out infinite}.motion-active .map-route span:nth-child(2){animation-delay:.65s}.motion-active .map-route span:nth-child(3){animation-delay:1.3s}.motion-active .map-result{animation:result-signal 5.5s 1.8s ease-in-out infinite}
.method-steps{position:relative}.method-steps:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#a0d9c7,#95b4c7);transform:scaleX(0);transform-origin:left;transition:transform 1.5s cubic-bezier(.16,1,.3,1)}.method.motion-active .method-steps:before{transform:scaleX(1)}
.method-number{display:inline-block;transition:color .4s,transform .4s}.method-steps article:hover .method-number{color:#d5ffeb;transform:translateY(-3px)}
.capability-list details{transition:border-color .4s}.capability-list details:hover{border-color:#86b9b3}.capability-list summary i{transition:transform .35s}.capability-list details[open] summary i{transform:rotate(45deg)}
.closing-light{transform:translateX(-5%)}.closing.motion-active .closing-light{animation:closing-breathe 9s ease-in-out infinite alternate}.closing .button span,.project-link span{display:inline-block;transition:transform .3s}.closing .button:hover span,.project-link:hover span{transform:translate(3px,-3px)}
@keyframes inventory-sweep{0%,18%{transform:translateX(-110%)}48%,100%{transform:translateX(110%)}}
@keyframes route-signal{0%,15%,70%,100%{box-shadow:0 0 0 #9ed2d000}35%,48%{border-color:#b9ded4;box-shadow:0 0 20px #b5ebd51c}}
@keyframes result-signal{0%,20%,80%,100%{opacity:.8}45%,60%{opacity:1}}
@keyframes closing-breathe{from{transform:translateX(-5%);opacity:.65}to{transform:translateX(5%);opacity:1}}
@media(hover:none){.project-visual:hover,.sector-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.reading-progress{display:none}.sector-card,.sector-arrow,.project-visual,.header,.method-number,.method-steps:before,.capability-list summary i{transition:none!important}.motion-active .inventory-row:after,.motion-active .map-route span,.motion-active .map-result,.closing.motion-active .closing-light{animation:none!important}.sector-card:hover,.project-visual:hover{transform:none}.method-steps:before{transform:scaleX(1)}}
