/* Neo AshOS — motion graphics layer (2026-10-16)
   Loaded on: case-studies, custom-software-development, website-services.
   Every animation starts when the element scrolls into view and is switched off for prefers-reduced-motion. */

:root{--nm-blue:#0D4DA8;--nm-cyan:#11D9FF;--nm-navy:#041E42;--nm-orange:#F57A30;--nm-line:#DCE6F2}

/* ---------- Reveal on scroll ---------- */
.nm-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.nm-reveal.nm-in{opacity:1;transform:none}

/* ---------- Process flow (case studies, custom software) ---------- */
.gc-process{position:relative;padding-top:6px}
.nm-flow{position:relative;height:3px;margin:0 0 18px;border-radius:3px;background:var(--nm-line);overflow:hidden}
.nm-flow i{position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--nm-blue),var(--nm-cyan));transition:transform 1.6s cubic-bezier(.4,.1,.2,1)}
.nm-on .nm-flow i{transform:scaleX(1)}
.nm-flow b{position:absolute;top:-3px;left:0;width:90px;height:9px;border-radius:9px;background:radial-gradient(closest-side,rgba(17,217,255,.95),rgba(17,217,255,0));filter:blur(1px);opacity:0}
.nm-on .nm-flow b{opacity:1;animation:nm-comet 3.2s linear 1.6s infinite}
@keyframes nm-comet{from{left:-90px}to{left:100%}}
.gc-step{transition:border-color .45s,box-shadow .45s,transform .45s}
.gc-step b{transition:color .45s}
.gc-step.nm-active{border-color:rgba(13,77,168,.45);box-shadow:0 14px 30px rgba(13,77,168,.14);transform:translateY(-4px)}
.gc-step.nm-active b{color:var(--nm-orange)}
.gc-step.nm-active strong{color:var(--nm-blue)}
/* the empty band under the steps: tighter section bottom */
.gc-section.nm-tight{padding-bottom:60px}

/* ---------- Website services hero orbits ----------
   The two orbit lines ran across the headline. They now fade out before the text column and drift slowly. */
.neo-p2-hero-orbit{-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 34%,#000 62%);mask-image:linear-gradient(90deg,transparent 0%,transparent 34%,#000 62%)}
.neo-p2-hero-orbit-cyan{animation:nm-orbit-a 14s ease-in-out infinite alternate}
.neo-p2-hero-orbit-orange{animation:nm-orbit-b 17s ease-in-out infinite alternate}
@keyframes nm-orbit-a{from{transform:rotate(-17deg)}to{transform:rotate(-12deg) translateY(-10px)}}
@keyframes nm-orbit-b{from{transform:rotate(-25deg)}to{transform:rotate(-30deg) translateY(8px)}}
@media(max-width:900px){.neo-p2-hero-orbit{display:none}}

@media(max-width:900px){.nm-flow{display:none}}
@media(prefers-reduced-motion:reduce){
  .nm-reveal{opacity:1;transform:none;transition:none}
  .nm-flow i{transform:scaleX(1);transition:none}.nm-flow b{display:none}
  .neo-p2-hero-orbit-cyan,.neo-p2-hero-orbit-orange{animation:none}
  .gc-step{transition:none}
}

/* ---------- Market chips with flags (global-software-development) ---------- */
.gc-global-strip.nm-flags{gap:12px;margin-top:22px}
.gc-global-strip.nm-flags span{display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 10px;background:#fff;border:1px solid var(--nm-line);border-radius:999px;color:var(--nm-navy);font-size:13.5px;font-weight:700;box-shadow:0 6px 16px rgba(4,30,66,.06)}
.gc-global-strip.nm-flags img{width:28px;height:21px;border-radius:5px;object-fit:cover;box-shadow:0 0 0 1px rgba(4,30,66,.12)}
.gc-global-strip.nm-flags .nm-globe{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--nm-blue),var(--nm-cyan))}
.gc-section:has(.gc-global-strip.nm-flags){padding-bottom:60px}
