/* AIT / editorial motion system. SVG + CSS only. No Canvas, 3D, WebGL or Three.js. */
:root{--nx-deep:#04172a;--nx-navy:#06203a;--nx-gold:#d6a168;--nx-soft:#b8d4e2;--nx-border:rgba(180,219,244,.18)}
body{background:#05192c}h1,h2,h3,h4{font-family:Quicksand,system-ui,sans-serif;letter-spacing:-.035em}p{line-height:1.72} .site-header{background:rgba(4,19,35,.56)}.site-header.scrolled{background:rgba(4,18,33,.95)}.nav-shell{min-height:80px}.site-logo{width:170px!important}.logo-lettering strong{letter-spacing:-.05em!important}
.btn{border-radius:8px;font-family:Quicksand,sans-serif;letter-spacing:0}.btn-gold{background:#c9955e;color:#081b2c}.btn-outline{background:rgba(2,15,25,.24)}.nx-tag{font-size:.76rem;font-weight:800;letter-spacing:.24em;color:#e0ae78;display:inline-flex;align-items:center;gap:12px;text-transform:uppercase}.nx-tag:before{content:"";width:27px;height:2px;background:currentColor}
.nx-hero{position:relative;isolation:isolate;min-height:min(890px,100svh);min-height:820px;overflow:hidden;display:flex;align-items:center;background:#061c31}
.nx-cinema{position:absolute;inset:-3%;z-index:-3;overflow:hidden;will-change:transform;animation:nxGlide 27s ease-in-out infinite alternate}.nx-cinema img{width:100%;height:100%;object-fit:cover;object-position:52% 45%;filter:saturate(.92) contrast(1.03)}
.nx-hero-dark{z-index:-2;inset:0;position:absolute;background:linear-gradient(90deg,rgba(2,14,28,.97) 0%,rgba(3,18,35,.94) 26%,rgba(4,22,43,.60) 45%,rgba(4,22,43,.04) 74%),linear-gradient(0deg,rgba(2,12,22,.88) 0%,transparent 25%,rgba(4,19,37,.15) 72%,rgba(2,13,27,.38) 100%)}
.nx-hero-flow{z-index:-1;position:absolute;inset:2% 0 18%;overflow:hidden;pointer-events:none;opacity:.6}.nx-hero-flow .nx-flow{position:absolute;inset:10% -15%;height:65%;width:125%}
.nx-hero-grid{width:min(1400px,calc(100% - 110px));padding-top:115px;padding-bottom:150px;position:relative}.nx-hero-text{width:min(640px,48%)}.nx-hero-text h1{font-size:clamp(3.1rem,5vw,5.75rem);line-height:1.12;margin:24px 0 20px;font-weight:800;max-width:680px}.nx-hero-text p{font-size:clamp(1rem,1.24vw,1.19rem);font-weight:500;line-height:1.8;color:#e1e9f3;max-width:560px}.nx-hero-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:28px}.nx-hero-bottom{position:absolute;bottom:0;left:0;right:0;background:rgba(2,17,34,.82);backdrop-filter:blur(10px);border-top:1px solid rgba(215,168,107,.22)}.nx-pillars{min-height:86px;display:flex;align-items:center;gap:18px;justify-content:space-between}.nx-pillars>span{font-size:9px;letter-spacing:.16em;white-space:nowrap;color:#ce9862}.nx-pillars>a{min-height:45px;padding:9px 4px;display:flex;align-items:center;gap:8px;color:#edf6fc;font-size:11px;font-weight:800;transition:color .25s,transform .25s}.nx-pillars>a:hover{transform:translateY(-3px);color:#f6bd79}.nx-pillars .icon{color:#d6a168;width:21px;height:21px}
@keyframes nxGlide{0%{transform:translate3d(-.8%,.8%,0) scale(1.04)}50%{transform:translate3d(.5%,-.6%,0) scale(1.055)}100%{transform:translate3d(1%,-1.3%,0) scale(1.065)}}
.nx-flow{width:100%;height:100%;overflow:visible}.nx-flow path{fill:none;stroke:#d6a168;stroke-width:1.2;opacity:.55;stroke-dasharray:15 7 2 15;animation:nxFlow 28s linear infinite}.nx-flow path:nth-of-type(2){stroke:#65b9e5;stroke-dasharray:8 15;animation-duration:35s}.nx-flow path:nth-of-type(3){stroke:#80c9e6;opacity:.36;animation-duration:45s}.nx-signal-dot{fill:#ffce90;filter:drop-shadow(0 0 6px #efad64)}.nx-signal-dot.secondary{fill:#85d9fb;filter:drop-shadow(0 0 5px #58aacf)}@keyframes nxFlow{to{stroke-dashoffset:-500}}
.nx-intro{background:linear-gradient(135deg,#061d34 0%,#092a48 60%,#041729 100%);color:#f6f9fb;border-bottom:1px solid var(--nx-border)}.nx-intro-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw}.nx-intro-left h2,.nx-section-top h2,.nx-teaser-content h2{font-size:clamp(2.6rem,4.1vw,4.75rem);margin:22px 0}.nx-intro-left p{max-width:570px;font-size:1.04rem;color:#bcd3e1;font-weight:500}.nx-plain-link{display:inline-flex;align-items:center;gap:9px;color:#eebd88;font-weight:800;font-size:13px;margin-top:24px;padding-bottom:6px;border-bottom:1px solid #ad8258;transition:gap .2s}.nx-plain-link:hover{gap:16px}.nx-intro-diagram{background:radial-gradient(circle at center,rgba(27,98,142,.3),transparent 64%);padding:10px}.nx-intro-diagram svg{width:100%;max-height:470px;overflow:visible}.nx-diagram-rings circle{fill:none;stroke:rgba(128,187,209,.22);stroke-width:1.8;stroke-dasharray:3 8}.nx-diagram-rings circle:first-child{animation:nxSpin 100s linear infinite;transform-origin:340px 222px}.nx-diagram-traces path{fill:none;stroke:url(#flows);stroke-width:2;stroke-dasharray:8 9;animation:nxFlow 21s linear infinite}.nx-diagram-core circle{fill:#082843;stroke:#daaa74;stroke-width:2;filter:drop-shadow(0 0 18px rgba(206,151,92,.23))}.nx-diagram-core text{fill:#fafbfc;font-weight:800;font-size:29px;letter-spacing:2px}.nx-diagram-labels text{fill:#d0e5f1;font-weight:700;font-size:12px;letter-spacing:1px}@keyframes nxSpin{to{transform:rotate(360deg)}}
.nx-solutions{background:#051a2e;color:#f8fbff}.nx-section-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:42px}.nx-section-top h2{margin-bottom:0}.nx-section-top>p{max-width:420px;color:#b7d0df;font-weight:500;margin-bottom:5px;font-size:1.02rem}.nx-sol-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(285px,auto);gap:16px}.nx-sol{display:block;position:relative;min-height:290px;overflow:hidden;isolation:isolate;border:1px solid #1a4b67;border-radius:11px;background:#06223a;transition:transform .35s,border-color .35s,box-shadow .35s}.nx-sol:hover{transform:translateY(-6px);border-color:#c39158;box-shadow:0 20px 45px rgba(0,0,0,.23)}.nx-sol>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s ease}.nx-sol:hover>img{transform:scale(1.075)}.nx-sol:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06192b 0%,rgba(6,26,45,.89) 26%,rgba(6,26,45,.07) 93%);z-index:-1}.nx-sol-feature{grid-column:span 2;grid-row:span 2;min-height:595px}.nx-sol-body{position:absolute;bottom:0;padding:24px;width:100%}.nx-sol-body>span,.nx-industry>div>span,.nx-two-tiles> a div>span{font-size:10px;letter-spacing:.16em;color:#e2ac72;font-weight:800}.nx-sol-body h3{font-size:clamp(1.16rem,1.5vw,1.7rem);letter-spacing:-.03em;margin:9px 0}.nx-sol-body p{font-size:13px;line-height:1.55;color:#d3e2ec;font-weight:500;margin:0 0 11px}.nx-sol-body b,.nx-industry b{font-size:11px;color:#efbc82}.nx-sol-feature .nx-sol-body{padding:33px}.nx-sol-feature .nx-sol-body h3{font-size:clamp(1.6rem,2.5vw,2.6rem)}.nx-sol-art{position:absolute;top:3%;right:4%;width:70%;opacity:.45;pointer-events:none;mix-blend-mode:screen}.nx-sol-art svg{max-height:400px}
.nx-experience-teaser{isolation:isolate;min-height:500px;background:#072037;position:relative;display:flex;align-items:center;overflow:hidden}.nx-teaser-photo{position:absolute;width:100%;height:120%;inset:-10% 0;object-fit:cover;z-index:-3;filter:saturate(.95)}.nx-teaser-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,17,33,.97),rgba(5,26,48,.87) 37%,rgba(5,26,48,.18) 80%)}.nx-experience-teaser .nx-flow{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.nx-teaser-content{padding:90px 0;position:relative}.nx-teaser-content h2{max-width:690px}.nx-teaser-content p{max-width:600px;color:#e5edf5}.nx-teaser-content .btn{margin-top:10px}
.nx-industries{background:linear-gradient(#071d31,#061629)}.nx-industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.nx-industry{position:relative;overflow:hidden;height:270px;border:1px solid #274761;border-radius:11px;background:#08223b;transition:transform .32s,border-color .3s}.nx-industry:hover{transform:translateY(-5px);border-color:#b78051}.nx-industry img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}.nx-industry:hover img{transform:scale(1.08)}.nx-industry:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#03192d 2%,rgba(3,25,45,.75) 36%,transparent 85%)}.nx-industry>div{position:absolute;z-index:1;left:22px;right:22px;bottom:16px}.nx-industry h3{font-size:1.22rem;margin:6px 0}.nx-industry p{font-size:12px;line-height:1.4;color:#d0e0ec;font-weight:500;max-width:310px;margin:0}.nx-industry b{position:absolute;bottom:5px;right:0;font-size:20px}.nx-more{text-align:right;padding-top:20px}
.nx-process{background:#08233a}.nx-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(218,174,122,.25);border-bottom:1px solid rgba(218,174,122,.25)}.nx-step{padding:30px 30px;border-right:1px solid rgba(218,174,122,.22)}.nx-step:last-child{border-right:0}.nx-step>span{color:#d9a46d;font-size:26px;font-weight:800}.nx-step h3{margin:12px 0;font-size:1.55rem}.nx-step p{font-size:13px;color:#b7d0df;line-height:1.6}.nx-work{background:#041a2d}.nx-two-tiles{display:grid;grid-template-columns:1fr 1fr;gap:20px}.nx-two-tiles>a{height:345px;position:relative;overflow:hidden;border:1px solid #355774;border-radius:12px}.nx-two-tiles img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.nx-two-tiles>a:hover img{transform:scale(1.06)}.nx-two-tiles>a:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#061a2d 2%,rgba(6,26,45,.3) 55%,transparent)}.nx-two-tiles>a>div{position:absolute;bottom:30px;left:30px;z-index:1}.nx-two-tiles h3{font-size:1.7rem;margin:10px 0;color:white}.nx-two-tiles b{font-size:12px;color:#eab477}
/* Experience: deep cinematic parallax with scroll-driven SVG illustrations */
.xp-site{background:#041728;color:#fff}.xp-opening,.xp-chapter,.xp-final{position:relative;isolation:isolate;overflow:hidden}.xp-opening{min-height:100svh;display:flex;align-items:center}.xp-opening .xp-photo,.xp-chapter .xp-photo{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover;z-index:-4;transform:translate3d(0,var(--xp-photo-y,0px),0) scale(1.06);will-change:transform}.xp-intro-photo{object-position:center}.xp-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(2,16,33,.97) 0%,rgba(3,18,38,.86) 37%,rgba(5,25,46,.20) 88%),linear-gradient(0deg,#051a2d,transparent 35%)}.xp-opening>.nx-flow{position:absolute;inset:20% 0 2%;z-index:-2}.xp-opening-content{padding:175px 0 125px}.xp-opening h1{font-size:clamp(3.2rem,5.9vw,6.3rem);max-width:900px;line-height:1.12;margin:20px 0 24px}.xp-opening p{font-size:1.12rem;color:#dce8f0;max-width:640px;line-height:1.85;font-weight:500}.xp-scroll-cue{position:absolute;bottom:25px;left:calc(50% - 75px);display:flex;gap:20px;text-transform:uppercase;letter-spacing:.16em;color:#d4a36d;font-size:10px}.xp-scroll-cue span{animation:xpBounce 2.5s infinite}@keyframes xpBounce{50%{transform:translateY(6px)}}
.xp-sticky-nav{height:75px;position:sticky;top:78px;background:rgba(4,20,37,.95);z-index:30;border-bottom:1px solid rgba(239,189,122,.17);backdrop-filter:blur(14px)}.xp-sticky-wrap{height:100%;display:flex;align-items:center;gap:28px}.xp-sticky-wrap>span{font-size:10px;letter-spacing:.14em;color:#e0ab73;white-space:nowrap}.xp-nav-links{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;overflow-x:auto;scrollbar-width:none}.xp-jump{white-space:nowrap;font-size:11px;color:#c8dce8;font-weight:800;padding:10px 5px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.xp-jump span{color:#d8a06d;margin-right:9px}.xp-jump.active,.xp-jump:hover{color:#fff;border-color:#d3a06a}.xp-nav-cta{white-space:nowrap;font-size:11px;color:#efba7d;font-weight:800}.xp-progress{height:2px;width:var(--xp-progress,0%);position:absolute;bottom:0;left:0;background:#e5b782;transition:width .12s linear}
.xp-chapter{min-height:850px;min-height:calc(100svh - 80px);display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.12);scroll-margin-top:155px}.xp-chapter:nth-of-type(odd) .xp-shade{background:linear-gradient(90deg,rgba(2,16,31,.97) 2%,rgba(2,16,31,.93) 38%,rgba(2,16,31,.29) 89%)}.xp-layer-grid{position:absolute;inset:0;opacity:.2;z-index:-1;background-image:linear-gradient(rgba(196,226,241,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(196,226,241,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,black)}.xp-content{display:grid;grid-template-columns:1.03fr .97fr;gap:5%;align-items:center;padding:100px 0}.xp-written{max-width:600px;z-index:3}.xp-chapter-id{font-size:.74rem;letter-spacing:.2em;color:#e6b37a;font-weight:800}.xp-written h2{font-size:clamp(2.65rem,5vw,5.5rem);line-height:1.06;margin:22px 0}.xp-written h3{color:#f2bd84;font-size:clamp(1.15rem,1.55vw,1.55rem);font-weight:700;letter-spacing:-.02em;line-height:1.4}.xp-written p{color:#d7e6f0;max-width:560px;font-size:1.04rem;font-weight:500;line-height:1.85}.xp-written .xp-traits{font-size:12px;letter-spacing:.03em;color:#f1bf89;border-top:1px solid rgba(228,179,127,.3);padding-top:19px;margin-top:20px}.xp-art{width:100%;position:relative;max-width:690px;transform:translate3d(0,var(--xp-art-y,0px),0);will-change:transform;filter:drop-shadow(0 14px 30px rgba(0,0,0,.26))}.xp-art .xp-svg-field{position:relative;max-height:560px}.xp-art svg{width:100%;max-height:550px}.xp-ornament{position:absolute;inset:0;pointer-events:none;opacity:.65;z-index:-1;transform:translate3d(0,var(--xp-line-y,0px),0);will-change:transform}.xp-ornament .nx-flow{height:100%;width:100%}.xp-down{position:absolute;bottom:35px;right:6%;border:1px solid #bd8d5d;color:#e8b178;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;transition:background .2s}.xp-down:hover{background:rgba(209,153,91,.2)}.xp-final{min-height:650px;display:flex;align-items:center;text-align:center;background:radial-gradient(ellipse at center,#11405f 0%,#03182c 63%)}.xp-final .nx-flow{position:absolute;inset:0;z-index:-1}.xp-final-inner{padding:110px 0}.xp-final h2{font-size:clamp(2.65rem,4.7vw,5.3rem);margin:24px 0}.xp-final p{max-width:650px;margin:0 auto;color:#c3d9e4;font-size:1.04rem}.xp-final-buttons{display:flex;justify-content:center;gap:14px;margin-top:30px;flex-wrap:wrap}
/* The five existing technology page SVGs also get motion without requiring JS. */
.art-svg path[stroke],.mini-svg path[stroke],.xp-art svg path[stroke],.nx-sol-art svg path[stroke]{stroke-dasharray:6 11;animation:nxFlow 33s linear infinite}.art-svg circle,.xp-art svg circle{transform-box:fill-box;transform-origin:center;animation:nxSoftPulse 7s ease-in-out infinite}@keyframes nxSoftPulse{50%{opacity:.7;transform:scale(1.035)}}
@media(max-width:1100px){.nx-hero-grid{width:min(1200px,calc(100% - 70px))}.nx-hero-text{width:58%}.nx-pillars{gap:12px}.nx-pillars>span{display:none}.nx-pillars>a{font-size:10px}.nx-sol-grid{grid-template-columns:repeat(2,1fr)}.nx-sol-feature{min-height:600px}.nx-industry-grid{grid-template-columns:repeat(2,1fr)}.xp-sticky-wrap>span{display:none}.xp-content{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.nx-hero{min-height:790px;min-height:100svh;align-items:flex-start}.nx-cinema img{object-position:34% center}.nx-cinema{opacity:.92}.nx-hero-dark{background:linear-gradient(180deg,rgba(2,14,29,.92),rgba(3,17,34,.6) 47%,rgba(4,15,29,.45) 65%,rgba(2,13,27,.95)),linear-gradient(90deg,rgba(2,16,31,.7),transparent)}.nx-hero-grid{width:calc(100% - 42px);padding-top:150px;padding-bottom:170px}.nx-hero-text{width:100%;max-width:570px}.nx-hero-text h1{font-size:clamp(2.65rem,10vw,4.4rem);max-width:550px}.nx-hero-text p{font-size:14px;max-width:510px}.nx-hero-bottom{position:absolute}.nx-pillars{min-height:95px;overflow-x:auto;justify-content:flex-start;gap:22px}.nx-pillars>a{flex:0 0 auto}.nx-intro-layout{grid-template-columns:1fr}.nx-intro-diagram{max-width:520px;margin:auto}.nx-section-top{display:block;margin-bottom:28px}.nx-section-top>p{margin-top:12px}.nx-sol-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:270px}.nx-sol-feature{min-height:0;grid-row:span 2}.nx-industry-grid{grid-template-columns:repeat(2,1fr)}.nx-steps{grid-template-columns:repeat(2,1fr)}.nx-step:nth-child(2){border-right:0}.nx-step{border-bottom:1px solid rgba(218,174,122,.22)}.nx-two-tiles{grid-template-columns:1fr}.nx-experience-teaser{min-height:470px}.nx-teaser-content{padding:80px 0}.xp-opening h1{font-size:clamp(2.8rem,8vw,4.6rem)}.xp-sticky-nav{top:75px;height:62px}.xp-nav-cta{display:none}.xp-chapter{min-height:850px;scroll-margin-top:135px}.xp-content{grid-template-columns:1fr;gap:20px;padding:90px 0}.xp-written h2{font-size:clamp(2.3rem,8vw,4.5rem)}.xp-art{max-width:440px;opacity:.86;margin:-20px auto 0}.xp-art svg{max-height:350px}.xp-photo{object-position:center}.xp-chapter .xp-shade{background:linear-gradient(180deg,rgba(3,17,31,.96),rgba(3,17,31,.78) 60%,rgba(3,17,31,.53))!important}.xp-opening-content{padding:160px 0 100px}}
@media(max-width:520px){.nx-hero-grid{padding-top:130px}.nx-hero-text h1{font-size:clamp(2.58rem,10.8vw,3.5rem)}.nx-tag{font-size:10px;letter-spacing:.13em}.nx-hero-actions{gap:8px}.nx-hero-actions .btn{min-width:0;padding:11px 12px;min-height:47px;gap:8px;font-size:11px}.nx-sol-grid{grid-template-columns:1fr;grid-auto-rows:270px}.nx-sol-feature{grid-column:span 1;grid-row:span 1}.nx-industry-grid{grid-template-columns:1fr}.nx-process,.nx-intro,.nx-solutions,.nx-work,.nx-industries{padding:72px 0}.nx-intro-left h2,.nx-section-top h2,.nx-teaser-content h2{font-size:clamp(2.35rem,9.5vw,3.5rem)}.nx-steps{grid-template-columns:1fr}.nx-step{border-right:0}.xp-jump{font-size:10px}.xp-jump span{font-size:9px;margin-right:5px}.xp-written p{font-size:14px}.xp-written h2{font-size:clamp(2.2rem,9.5vw,3.25rem)}.xp-art{margin-top:-5px}.xp-chapter{min-height:780px}.xp-content{padding:75px 0}.xp-scroll-cue{display:none}.xp-opening-content{padding-top:160px}.xp-final-inner{padding:90px 0}}
@media(prefers-reduced-motion:reduce){.nx-cinema,.nx-flow path,.nx-signal-dot,.nx-diagram-traces path,.nx-diagram-rings circle,.art-svg path[stroke],.xp-art svg path[stroke],.xp-art svg circle,.xp-scroll-cue span{animation:none!important}.nx-sol,.nx-industry,.nx-two-tiles img,.nx-sol>img{transition:none!important}.xp-photo,.xp-art,.xp-ornament{transform:none!important}}

/* The main navigation and the optional chapter navigator both scroll normally. */
.xp-sticky-nav{position:relative!important;top:auto!important}
.xp-chapter{scroll-margin-top:20px!important}
