/* NexCodian template (2026-10-16) - built on Aspire "Modern"; looks like the nexcodian.com WordPress site.
   Page content uses the nx-* classes below (plain HTML, editable in the back office). Fonts are local (OFL). */

@font-face{font-family:"Poppins";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/poppins-300.woff2) format("woff2");}
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400.woff2) format("woff2");}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-500.woff2) format("woff2");}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600.woff2) format("woff2");}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff2) format("woff2");}
@font-face{font-family:"Work Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/worksans-variable.woff2) format("woff2");}

:root{
	--orange:#F58220;      /* brand */
	--orange-soft:#F79B4D; /* the home page band */
	--ink:#333333;         /* headings, menu */
	--text:#666666;        /* body text */
	--grey:#F4F4F4;        /* light bands */
	--grey-2:#EEEEEE;
	--line:#E4E4E4;
	--navy:#1C237B;        /* hero gradient */
	--cyan:#01D6FE;
	--maxw:1180px;
	--radius:10px;
	--header-h:76px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);}
html,body{margin:0;padding:0;}
body{background:#fff;color:var(--text);font:400 15px/1.75 "Poppins",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;border:0;}
a{color:var(--orange);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{color:var(--ink);font-family:"Poppins",sans-serif;font-weight:600;line-height:1.25;margin:0 0 .55em;}
p{margin:0 0 1.05em;}
.nx-skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--ink);padding:8px 14px;z-index:1000;}
.nx-skip:focus{left:8px;top:8px;}
:focus-visible{outline:3px solid rgba(245,130,32,.55);outline-offset:2px;}

/* ---------------- header + menu ---------------- */
.nx-header{position:sticky;top:0;z-index:100;background:#fff;transition:box-shadow .25s ease;}
.nx-header.is-scrolled{box-shadow:0 4px 18px rgba(0,0,0,.08);}
.nx-header-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--header-h);padding:0 20px;max-width:1366px;margin:0 auto;}
.nx-logo{display:block;line-height:0;flex:0 0 auto;}
.nx-logo img{width:166px;height:auto;}
.nx-nav ul{list-style:none;margin:0;padding:0;}
.nx-nav>.com_mainmenu>ul,.nx-nav>ul{display:flex;align-items:center;gap:6px;}
.nx-nav li{position:relative;}
.nx-nav li a{display:block;color:var(--ink);font-size:16px;font-weight:400;padding:12px 16px;white-space:nowrap;text-decoration:none;}
.nx-nav>.com_mainmenu>ul>li>a{position:relative;}
.nx-nav>.com_mainmenu>ul>li>a::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:3px;border-radius:2px;background:var(--orange);transform:scaleX(0);transition:transform .2s ease;}
.nx-nav>.com_mainmenu>ul>li>a:hover,.nx-nav>.com_mainmenu>ul>li>a.active{color:var(--orange);}
.nx-nav>.com_mainmenu>ul>li>a:hover::after,.nx-nav>.com_mainmenu>ul>li>a.active::after{transform:scaleX(1);}
.nx-nav li.menu_parent>a{padding-right:30px;}
.nx-nav li.menu_parent>a::before{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;margin-top:-6px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);}
.nx-nav li ul{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border-top:3px solid var(--orange);box-shadow:0 12px 30px rgba(0,0,0,.12);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;}
.nx-nav li:hover>ul,.nx-nav li:focus-within>ul{opacity:1;visibility:visible;transform:none;}
.nx-nav li ul a{font-size:15px;padding:9px 20px;}
.nx-nav li ul a:hover{color:var(--orange);background:var(--grey);}
.nx-menu-btn{display:none;align-items:center;gap:10px;background:none;border:0;padding:10px;cursor:pointer;color:var(--ink);font:inherit;}
.nx-menu-btn span{display:block;width:24px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s;}
.nx-menu-btn span+span{margin-top:-6px;}
.nx-menu-btn{flex-direction:column;justify-content:center;width:46px;height:46px;gap:6px;}
.nx-menu-btn span+span{margin-top:0;}
.nx-menu-btn b{position:absolute;left:-9999px;}
.nx-menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.nx-menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nx-menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

#header{line-height:0;}
#header img.banner{display:none;}            /* banners are page sections in this template */
#cookie_policy{line-height:1.5;}

/* ---------------- page body ---------------- */
#content{display:block;}
.content_full,.content_all{width:100%;}
.com_main{overflow-wrap:break-word;}
.nx-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.nx-section{padding:72px 0;}
.nx-section.tight{padding:48px 0;}
.nx-center{text-align:center;}
.nx-lead{font-size:16px;line-height:1.9;}
.nx-justify p{text-align:justify;}
.nx-title{font-family:"Work Sans",sans-serif;font-weight:700;color:var(--orange);font-size:clamp(26px,3vw,32px);text-align:center;margin:0 0 1.1em;}
.nx-title::after{content:"";display:block;width:68px;height:3px;margin:8px auto 0;background:var(--orange);border-radius:2px;}
.nx-title.light{color:#fff;}
.nx-title.light::after{background:#fff;}
.nx-title.left{text-align:left;}
.nx-title.left::after{margin-left:0;}
.nx-h{font-weight:600;color:var(--text);text-transform:uppercase;font-size:clamp(20px,2.2vw,27px);letter-spacing:.2px;}
.nx-h.big{font-size:clamp(24px,3vw,34px);}
.nx-kicker{display:block;text-transform:uppercase;letter-spacing:1.5px;font-size:14px;font-weight:500;color:var(--text);margin:0 0 .6em;}
.nx-texture{background:#fafafa url(../images/texture.jpg) center/cover no-repeat;}
.nx-grey{background:var(--grey);}
.nx-grey-2{background:var(--grey-2);}
.nx-orange{background:var(--orange-soft);color:#fff;}
.nx-orange h2,.nx-orange h3{color:#fff;}
.nx-notch{position:relative;}
.nx-notch::before{content:"";position:absolute;top:-18px;left:50%;margin-left:-20px;border:20px solid transparent;border-top:0;border-bottom:18px solid currentColor;color:inherit;}
.nx-grey.nx-notch::before{border-bottom-color:var(--grey);}
.nx-orange.nx-notch::before{border-bottom-color:var(--orange-soft);}
.nx-btn{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:#fff !important;font-weight:500;padding:12px 26px;border-radius:40px;text-decoration:none !important;transition:background .2s,transform .2s;}
.nx-btn:hover{background:#d96e10;transform:translateY(-1px);}
.nx-btn.ghost{background:transparent;border:2px solid #fff;}
.nx-btn.ghost:hover{background:rgba(255,255,255,.14);}

/* home: hero slider */
.nx-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--cyan) 0%,#0f62b8 38%,var(--navy) 100%);color:#fff;min-height:clamp(440px,52vw,690px);margin:0 10px;}
.nx-slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s;}
.nx-slide.is-on{opacity:1;visibility:visible;}
.nx-slide-bg{position:absolute;inset:0;line-height:0;}
.nx-slide-bg img{width:100%;height:100%;object-fit:cover;object-position:right center;transform:scale(1.06);transition:transform 7s ease;}
.nx-slide.is-on .nx-slide-bg img{transform:scale(1);}
.nx-slide-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,26,100,.88) 0%,rgba(18,26,100,.55) 45%,rgba(18,26,100,.05) 80%);}
.nx-slide.plain .nx-slide-bg::after{background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,0) 60%);}
.nx-slide-txt{position:relative;z-index:2;max-width:640px;padding:0 0 0 clamp(24px,6vw,80px);transform:translateY(18px);opacity:0;transition:transform .8s ease .25s,opacity .8s ease .25s;}
.nx-slide.is-on .nx-slide-txt{transform:none;opacity:1;}
.nx-slide-txt .nx-kicker{color:#e8f2ff;font-weight:300;font-size:clamp(14px,1.4vw,19px);letter-spacing:2px;}
.nx-slide-txt h1,.nx-slide-txt h2{color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:clamp(28px,4vw,48px);line-height:1.05;margin:0 0 .45em;}
.nx-slide-txt p{color:#dfe8ff;font-weight:300;font-size:clamp(15px,1.3vw,18px);line-height:1.75;margin:0 0 2em;}
.nx-more{display:inline-flex;align-items:center;gap:14px;color:#fff !important;font-weight:500;text-decoration:none !important;}
.nx-more i{position:relative;display:inline-block;width:48px;height:48px;border:1px solid rgba(255,255,255,.6);border-radius:50%;margin-left:-28px;transition:transform .25s;}
.nx-more i::after{content:"";position:absolute;left:30px;top:23px;width:42px;height:2px;background:#ff4f6e;}
.nx-more i::before{content:"";position:absolute;left:66px;top:19px;border:5px solid transparent;border-left:8px solid #ff4f6e;}
.nx-more:hover i{transform:translateX(6px);}
.nx-dots{position:absolute;right:clamp(14px,3vw,40px);top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;gap:8px;}
.nx-dots button{background:none;border:0;color:rgba(255,255,255,.55);font:500 13px/1 "Poppins",sans-serif;padding:8px 6px 8px 28px;cursor:pointer;position:relative;}
.nx-dots button::before{content:"";position:absolute;left:4px;top:50%;width:0;height:2px;background:#fff;transition:width .3s;}
.nx-dots button.is-on{color:#fff;}
.nx-dots button.is-on::before{width:18px;}
.nx-hero-pause{position:absolute;right:16px;bottom:14px;z-index:3;background:rgba(255,255,255,.14);border:0;color:#fff;border-radius:20px;padding:6px 12px;font:500 12px "Poppins",sans-serif;cursor:pointer;}

/* split rows: text + illustration */
.nx-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,5vw,70px);padding:36px 0;}
.nx-split.rev .nx-split-txt{order:2;}
.nx-split-fig{text-align:center;}
.nx-circle{display:inline-grid;place-items:center;width:min(100%,370px);aspect-ratio:1;border-radius:50%;background:var(--grey);}
.nx-circle img{width:86%;}
.nx-split-txt p{font-size:14px;line-height:2;}
.nx-about-img{text-align:center;}

/* cards */
.nx-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;}
.nx-card{background:#fff;border-radius:var(--radius);padding:28px 26px;box-shadow:0 10px 30px rgba(0,0,0,.06);color:var(--text);transition:transform .25s,box-shadow .25s;}
.nx-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.1);}
.nx-card h3{font-size:18px;margin:.2em 0 .5em;}
.nx-card p{font-size:14px;margin:0 0 .8em;}
.nx-card .nx-ico{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(245,130,32,.12);color:var(--orange);}
.nx-card .nx-ico svg{width:26px;height:26px;}
.nx-orange .nx-card{color:var(--text);}
.nx-orange .nx-card h3{color:var(--ink);}
.nx-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;}
.nx-tags li{background:var(--grey);border-radius:20px;padding:4px 12px;font-size:13px;color:var(--ink);}

/* page banners */
.nx-banner{position:relative;display:grid;place-items:center;min-height:clamp(220px,25vw,340px);overflow:hidden;background:#ddd;color:#fff;text-align:center;}
.nx-banner>img,.nx-banner>picture,.nx-banner>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;}
.nx-banner.dark::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42);}
.nx-banner-txt{position:relative;z-index:2;max-width:980px;padding:30px 24px;}
.nx-banner-txt h1{color:#fff;font-weight:600;letter-spacing:3px;text-transform:uppercase;font-size:clamp(26px,3vw,34px);margin:0 0 .4em;}
.nx-banner-txt h1.orange{color:var(--orange);font-family:"Work Sans",sans-serif;font-weight:800;letter-spacing:0;text-transform:none;font-size:clamp(34px,4vw,50px);}
.nx-banner-txt p{color:#fff;font-weight:300;font-size:clamp(16px,1.6vw,21px);margin:0;}

/* company: three.js background (data-nx-3d) - a still light background is the fallback */
.nx-3d{position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 30%,#ffffff 0%,#eef0f3 55%,#dfe3e8 100%);}
.nx-3d>canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;}
.nx-3d>.nx-wrap{position:relative;z-index:1;}
.nx-3d .nx-kicker{color:#555;}
.nx-3d h2.orange{font-weight:300;color:var(--orange);text-transform:uppercase;font-size:clamp(28px,3.4vw,42px);margin:0 0 .6em;}
.nx-3d p{font-size:14px;color:#555;}
.nx-mission{text-align:center;max-width:1000px;margin:0 auto;}
.nx-mission p{font-size:clamp(16px,1.5vw,19px);line-height:1.85;}

/* contact */
.nx-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin:30px 0 10px;}
.nx-info>div{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:0 8px 26px rgba(0,0,0,.06);}
.nx-info h3{color:var(--orange);text-transform:uppercase;letter-spacing:1px;font-size:14px;font-weight:600;margin:0 0 .4em;}
.nx-info p,.nx-info a{color:var(--text);margin:0;}
.nx-contact-head h2{font-weight:700;color:var(--orange);font-size:28px;margin:0 0 .3em;}

/* Aspire contact form (com_standardform) - compact, two columns (first/last name, email/confirm email on one row).
   The app's form is a table; rows are placed by the field they hold (:has), so the app's markup is unchanged. */
.com_standardform{max-width:640px;margin:6px auto 64px;padding:26px clamp(16px,4vw,32px) 22px;background:#fff;border-radius:var(--radius);box-shadow:0 12px 36px rgba(0,0,0,.08);}
.com_standardform h3{color:var(--ink);font-size:20px;margin:0 0 .2em;}
.com_standardform table.contact_form{float:none !important;width:100%;border-collapse:collapse;display:block;}
.com_standardform table.contact_form>tbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px;row-gap:2px;}
.com_standardform table.contact_form>tbody>tr{display:flex;flex-wrap:wrap;align-items:baseline;grid-column:1/-1;min-width:0;}
.com_standardform table.contact_form>tbody>tr:has(#first_name),.com_standardform table.contact_form>tbody>tr:has(#last_name),
.com_standardform table.contact_form>tbody>tr:has(#email),.com_standardform table.contact_form>tbody>tr:has(#confirm_email),
.com_standardform table.contact_form>tbody>tr:has(img[alt="Captcha Code"]),.com_standardform table.contact_form>tbody>tr:has(#validation_code){grid-column:auto;}
.com_standardform table.contact_form>tbody>tr:not(:has(input,textarea,select,img)){display:none;}
.com_standardform table.contact_form td{display:block;width:auto !important;text-align:left !important;padding:2px 0;}
.com_standardform table.contact_form td:last-child{flex:1 1 100%;}
.com_standardform table.contact_form td.label,.com_standardform table.contact_form td[rowspan]{color:var(--ink);font-weight:500;font-size:13px;padding-top:9px;}
.com_standardform table.contact_form td[style*="color: red"]{padding:9px 0 0 3px;font-size:13px;}
.com_standardform table.contact_form>tbody>tr:has(img[alt="Captcha Code"]){align-items:center;padding-top:6px;}
.com_standardform table.contact_form>tbody>tr:has(img[alt="Captcha Code"]) td{flex:0 0 auto;padding:0 10px 0 0;}
.com_standardform table.contact_form>tbody>tr:has(img[alt="Captcha Code"]) td[rowspan]{flex:1 1 100%;padding:0 0 4px;}
.com_standardform table.contact_form>tbody>tr:has(#validation_code){align-self:end;}
.com_standardform table.contact_form>tbody>tr:has(img[alt="Captcha Code"])>td:nth-child(2),
.com_standardform table.contact_form>tbody>tr:has(#validation_code)>td:first-child{display:none;}
.com_standardform input[type=text],.com_standardform input[type=email],.com_standardform input[type=tel],.com_standardform textarea,.com_standardform select{width:100%;font:inherit;font-size:14px;color:var(--ink);padding:8px 12px;border:1px solid #dcdcdc;border-radius:8px;background:#fcfcfc;transition:border-color .2s,box-shadow .2s;}
.com_standardform textarea{height:96px;resize:vertical;}
.com_standardform input:focus,.com_standardform textarea:focus{outline:0;border-color:var(--orange);box-shadow:0 0 0 3px rgba(245,130,32,.18);background:#fff;}
.com_standardform label.error,.com_standardform .error{color:#c0392b;font-size:12px;}
.com_standardform input[type=submit],.com_standardform input[type=button],.com_standardform button{font:inherit;font-size:14px;font-weight:500;cursor:pointer;background:var(--orange);color:#fff;border:0;border-radius:40px;padding:10px 26px;margin-top:10px;transition:background .2s;}
.com_standardform input[type=submit]:hover,.com_standardform button:hover{background:#d96e10;}
.com_standardform input[type=reset]{font:inherit;font-size:13px;cursor:pointer;background:transparent;color:var(--text);border:1px solid #ccc;border-radius:40px;padding:9px 20px;margin:10px 0 0 8px;}
.com_standardform input[type=reset]:hover{border-color:var(--orange);color:var(--orange);}
@media (max-width:520px){
	.com_standardform table.contact_form>tbody{grid-template-columns:1fr;}
	.com_standardform table.contact_form>tbody>tr{grid-column:1/-1 !important;}
}

/* icon tile (shared) */
.nx-ico{display:inline-grid;place-items:center;flex:0 0 auto;width:52px;height:52px;border-radius:14px;background:rgba(245,130,32,.12);color:var(--orange);}
.nx-ico svg{width:26px;height:26px;}

/* services page (redesign 2026-10-16) */
.nx-svc-hero{position:relative;display:flex;align-items:center;min-height:clamp(420px,40vw,560px);overflow:hidden;background:var(--navy);color:#fff;}
.nx-svc-hero>picture,.nx-svc-hero>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.nx-svc-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,22,92,.95) 0%,rgba(14,22,92,.84) 42%,rgba(1,120,200,.30) 100%);}
.nx-svc-hero-in{position:relative;z-index:2;width:100%;padding-top:70px;padding-bottom:120px;}
.nx-svc-hero-in .nx-kicker{color:#ffc394;}
.nx-svc-hero-in h1{color:#fff;font-weight:700;font-size:clamp(28px,3.6vw,46px);line-height:1.15;max-width:780px;margin:0 0 .5em;}
.nx-svc-hero-in p{color:#e1e8ff;max-width:640px;font-size:clamp(15px,1.3vw,17px);margin:0 0 1.8em;}
.nx-svc-tiles{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:-62px 0 0;}
.nx-svc-tile{display:flex;align-items:center;gap:14px;background:#fff;border-radius:14px;padding:20px 22px;color:var(--ink) !important;text-decoration:none !important;box-shadow:0 18px 40px rgba(14,22,92,.14);transition:transform .25s,box-shadow .25s;}
.nx-svc-tile:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(14,22,92,.22);}
.nx-svc-tile b{flex:1;font-weight:600;font-size:16px;}
.nx-svc-tile i{font-style:normal;color:var(--orange);font-size:20px;transition:transform .25s;}
.nx-svc-tile:hover i{transform:translateX(4px);}
.nx-svc-list{padding-top:50px;}
.nx-svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;padding:40px 0;scroll-margin-top:calc(var(--header-h) + 16px);}
.nx-svc.rev .nx-svc-art{order:2;}
.nx-svc-art{position:relative;display:grid;place-items:center;aspect-ratio:5/4;border-radius:28px;overflow:hidden;}
.nx-svc-art::before{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;border:2px dashed rgba(245,130,32,.28);animation:nx-spin 50s linear infinite;}
.nx-svc-art picture{position:relative;z-index:1;line-height:0;}
.nx-svc-art img{width:min(62vw,330px);max-width:100%;height:auto;filter:drop-shadow(0 18px 28px rgba(14,22,92,.18));}
.grad-orange{background:radial-gradient(circle at 22% 18%,#ffd3a8 0,rgba(255,211,168,0) 55%),linear-gradient(135deg,#fff4e8,#ffe1c4);}
.grad-blue{background:radial-gradient(circle at 78% 22%,#bdf2ff 0,rgba(189,242,255,0) 55%),linear-gradient(135deg,#eaf5ff,#d9e3ff);}
.grad-peach{background:radial-gradient(circle at 28% 82%,#ffd2c4 0,rgba(255,210,196,0) 55%),linear-gradient(135deg,#fff2ec,#f1e8ff);}
.nx-chip{position:absolute;z-index:2;display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#fff;color:var(--orange);box-shadow:0 12px 26px rgba(14,22,92,.12);animation:nx-float 6s ease-in-out infinite;}
.nx-chip svg{width:26px;height:26px;}
.nx-chip.c1{top:11%;left:8%;}
.nx-chip.c2{bottom:11%;right:8%;color:var(--navy);animation-delay:-3s;}
.nx-svc-tag{display:inline-block;font:600 12px/1 "Poppins",sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--orange);background:rgba(245,130,32,.1);padding:7px 12px;border-radius:20px;margin-bottom:14px;}
.nx-svc-txt h2{color:var(--ink);font-weight:700;font-size:clamp(22px,2.4vw,30px);margin:0 0 .6em;}
.nx-svc-txt p{font-size:15px;line-height:1.95;}
.nx-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--orange) !important;text-decoration:none !important;}
.nx-link span{transition:transform .2s;}
.nx-link:hover span{transform:translateX(4px);}
.nx-lifecycle{position:relative;overflow:hidden;padding:80px 0;color:#d6defc;background:linear-gradient(135deg,#0b1d66 0%,var(--navy) 55%,#0f62b8 100%);}
.nx-lifecycle::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 18%,rgba(1,214,254,.24),rgba(1,214,254,0) 42%),radial-gradient(circle at 86% 88%,rgba(245,130,32,.22),rgba(245,130,32,0) 46%);}
.nx-lifecycle .nx-wrap{position:relative;}
.nx-lifecycle h2{color:#fff;font-weight:700;font-size:clamp(22px,2.6vw,32px);}
.nx-lifecycle .nx-lead{max-width:820px;margin:0 auto 2.6em;color:#cdd7ff;}
.nx-steps{position:relative;list-style:none;counter-reset:st;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:0 0 2.6em;padding:0;}
.nx-steps::before{content:"";position:absolute;left:8%;right:8%;top:34px;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.45),rgba(255,255,255,.08));}
.nx-steps li{position:relative;counter-increment:st;display:flex;flex-direction:column;align-items:center;gap:10px;}
.nx-steps .nx-ico{width:68px;height:68px;border-radius:50%;background:#fff;color:var(--navy);box-shadow:0 10px 30px rgba(0,0,0,.25);}
.nx-steps li:nth-child(odd) .nx-ico{color:var(--orange);}
.nx-steps b{color:#fff;font-weight:600;font-size:15px;}
.nx-steps b::before{content:counter(st,decimal-leading-zero) " ";color:#ffb27a;font-weight:500;font-size:13px;}
@keyframes nx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes nx-spin{to{transform:rotate(360deg)}}
/* fade-in on scroll: content hides only while the template script runs (html.nx-js), never for reduced motion */
.nx-js .nx-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.nx-js .nx-reveal.is-in{opacity:1;transform:none;}
.nx-steps li.nx-reveal:nth-child(2){transition-delay:.08s}.nx-steps li.nx-reveal:nth-child(3){transition-delay:.16s}
.nx-steps li.nx-reveal:nth-child(4){transition-delay:.24s}.nx-steps li.nx-reveal:nth-child(5){transition-delay:.32s}
.nx-steps li.nx-reveal:nth-child(6){transition-delay:.4s}

/* ---------------- footer ---------------- */
.nx-footer{background:#fff;color:var(--text);font-size:14px;line-height:1.85;border-top:1px solid var(--line);}
.nx-foot{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;gap:clamp(24px,5vw,64px);max-width:1366px;margin:0 auto;padding:48px clamp(20px,3vw,40px) 36px;}
.nx-foot h3{font-size:19px;color:var(--text);font-weight:600;margin:0 0 .9em;}
.nx-foot p{text-align:justify;}
.nx-foot ul{list-style:none;margin:0;padding:0;}
.nx-foot li a{color:var(--text);}
.nx-foot li a:hover{color:var(--orange);text-decoration:none;}
.nx-foot .nx-addr{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;}
.nx-foot .nx-addr strong{display:block;color:var(--text);}
.nx-foot .nx-line{display:flex;gap:10px;align-items:flex-start;}
.nx-foot .nx-line svg{flex:0 0 15px;width:15px;height:15px;margin-top:6px;fill:var(--text);}
.nx-foot .nx-line a{color:var(--text);}
.nx-bottom{border-top:1px solid var(--line);text-align:center;font-size:13px;padding:14px 20px;color:#888;}
.nx-bottom a{color:#888;}

/* ---------------- responsive ---------------- */
@media (max-width:1024px){
	.nx-nav li a{padding:12px 11px;font-size:15px;}
	.nx-nav>.com_mainmenu>ul>li>a::after{left:11px;right:11px;}
}
@media (max-width:860px){
	:root{--header-h:64px;}
	.nx-logo img{width:140px;}
	.nx-menu-btn{display:flex;}
	.nx-nav{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,.12);max-height:0;overflow:hidden;transition:max-height .3s ease;}
	.nx-nav.is-open{max-height:80vh;overflow:auto;}
	.nx-nav>.com_mainmenu>ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 0 14px;}
	.nx-nav li a{padding:12px 24px;}
	.nx-nav>.com_mainmenu>ul>li>a::after{display:none;}
	.nx-nav li.menu_parent>a::before{display:none;}
	.nx-nav li ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 4px;min-width:0;}
	.nx-nav li ul a{padding:9px 40px;font-size:14px;}
	.nx-hero{margin:0;}
	.nx-slide-bg::after{background:linear-gradient(0deg,rgba(18,26,100,.9) 0%,rgba(18,26,100,.65) 55%,rgba(18,26,100,.25) 100%);}
	.nx-dots{top:auto;bottom:14px;right:auto;left:50%;transform:translateX(-50%);flex-direction:row;}
	.nx-dots button{padding:8px 6px;}
	.nx-dots button::before{display:none;}
	.nx-split{grid-template-columns:1fr;padding:22px 0;}
	.nx-split.rev .nx-split-txt{order:0;}
	.nx-section{padding:52px 0;}
	.nx-foot{grid-template-columns:1fr;}
	.nx-svc-tiles{grid-template-columns:1fr;gap:12px;margin-top:-50px;}
	.nx-svc{grid-template-columns:1fr;padding:28px 0;}
	.nx-svc.rev .nx-svc-art{order:0;}
	.nx-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:26px;}
	.nx-steps::before{display:none;}
}
@media (max-width:600px){
	.nx-slide-txt{padding-right:24px;}
	.nx-slide-txt h1,.nx-slide-txt h2{font-size:clamp(22px,6.6vw,30px);letter-spacing:1px;}
	.nx-justify p,.nx-foot p{text-align:left;}
	.nx-section{padding:44px 0;}
}
@media (prefers-reduced-motion:reduce){
	.nx-js .nx-reveal{opacity:1;transform:none;}
	*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
	.nx-slide-bg img{transform:none !important;}
}
