/* Premium digital systems direction: technology-led visuals with restrained motion. */
:root{
  --tech-ink:#121a2b;
  --tech-muted:#5e6a83;
  --tech-line:rgba(47,66,106,.14);
  --tech-purple:#6949ee;
  --tech-blue:#536dfe;
  --tech-cyan:#16b7b1;
  --tech-night:#0a1020;
  --tech-ease:cubic-bezier(.2,.75,.25,1);
}
html{scroll-behavior:smooth;scroll-padding-top:88px}
html[data-theme=light]{color-scheme:light;--bg:#f3f6fc;--panel:#fff;--panel2:#edf1f8;--line:var(--tech-line);--text:var(--tech-ink);--muted:var(--tech-muted);--faint:#8390a8;--blue:var(--tech-blue);--cyan:var(--tech-cyan);--purple:var(--tech-purple);--teal:#13aaa1;--orange:#f1a24c;--green:#31a878}
html[data-theme=light] body{background-color:#f3f6fc;background-image:radial-gradient(ellipse at 4% 12%,rgba(106,76,239,.09),transparent 30%),radial-gradient(ellipse at 96% 36%,rgba(22,183,177,.09),transparent 28%),linear-gradient(rgba(85,108,155,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(85,108,155,.027) 1px,transparent 1px);background-size:auto,auto,52px 52px,52px 52px;color:var(--tech-ink);font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif}
html[data-theme=dark]{--bg:#080d19;--panel:#11192a;--panel2:#171f33;--line:rgba(170,190,228,.15);--text:#f2f5ff;--muted:#aab6cd;--faint:#75839d;--blue:#91a9ff;--cyan:#63e5dc;--purple:#b2a0ff;--teal:#61ddd3;--orange:#ffc078;--green:#69d3a0}
html[data-theme=dark] body{background-color:#080d19;background-image:radial-gradient(ellipse at 6% 14%,rgba(103,70,224,.18),transparent 31%),radial-gradient(ellipse at 95% 34%,rgba(16,171,166,.12),transparent 28%),linear-gradient(rgba(126,154,209,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(126,154,209,.035) 1px,transparent 1px);background-size:auto,auto,52px 52px,52px 52px;color:var(--text);font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif}
.site-header{height:78px;background:rgba(255,255,255,.83);border-color:rgba(76,91,132,.13);box-shadow:0 8px 32px rgba(30,46,83,.055);backdrop-filter:blur(20px)}
.header-inner{max-width:1500px;padding-inline:clamp(18px,3vw,44px);gap:clamp(16px,2.4vw,36px)}
.brand-symbol{border:0;border-radius:15px;background:linear-gradient(140deg,#7657ff,#4d6df6 75%);color:#fff;box-shadow:0 8px 22px rgba(91,82,229,.28);transform:none;font:800 14px var(--sans);letter-spacing:-.04em}
.brand-name{color:#172039;font-size:12px;letter-spacing:.09em}
.brand-name small{color:#7c89a2}
.primary-nav{gap:clamp(13px,2vw,28px)}
.primary-nav a{position:relative;color:#4e5a73;font-size:13px;font-weight:600;transition:color .2s ease}
.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--tech-purple),var(--tech-cyan));transition:right .25s var(--tech-ease)}
.primary-nav a:hover,.primary-nav a:focus-visible{color:var(--tech-purple)}
.primary-nav a:hover:after,.primary-nav a:focus-visible:after{right:0}
.header-icon-control,.language-current{min-width:44px;min-height:44px;border:1px solid rgba(79,96,143,.16);border-radius:13px;background:rgba(255,255,255,.78);box-shadow:0 4px 12px rgba(30,46,83,.06);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.header-icon-control:hover,.language-current:hover{transform:translateY(-2px);border-color:rgba(105,73,238,.4);box-shadow:0 8px 18px rgba(70,77,155,.13)}
.header-cta{min-height:46px;padding:0 18px;border:1px solid transparent;border-radius:13px;background:linear-gradient(white,white) padding-box,linear-gradient(115deg,var(--tech-purple),var(--tech-cyan)) border-box;color:#4e3acb!important;box-shadow:0 7px 18px rgba(79,88,188,.1);font-size:13px;transition:transform .22s ease,box-shadow .22s ease}
.header-cta:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(79,88,188,.18)}
.hero.page-intro{position:relative;width:min(100%,1560px);min-height:min(820px,calc(100svh - 78px));margin:0 auto;padding:clamp(44px,5.8vw,88px) clamp(24px,4.5vw,70px) clamp(48px,5vw,76px);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(26px,4vw,66px);overflow:visible;border:0;background:transparent;isolation:isolate}
.hero.page-intro:after{content:"";position:absolute;z-index:-2;inset:7% 2% 5%;pointer-events:none;border-radius:42px;background:radial-gradient(ellipse at 20% 48%,rgba(110,79,235,.075),transparent 38%),radial-gradient(ellipse at 83% 50%,rgba(22,183,177,.065),transparent 37%)}
.hero .intro-copy{max-width:690px;animation:tech-copy-enter .8s var(--tech-ease) both}
.hero .eyebrow{display:inline-flex;min-height:32px;padding:0 12px;border:1px solid rgba(94,116,164,.18);border-radius:999px;background:rgba(255,255,255,.66);color:#5e55cb;font:700 10px var(--mono);letter-spacing:.11em}
.hero .eyebrow i{width:8px;height:8px;box-shadow:0 0 0 5px rgba(22,183,177,.12),0 0 15px var(--tech-cyan)}
.hero h1{max-width:660px;margin:25px 0 20px;color:#18223a;background:linear-gradient(115deg,#111a2d 8%,#394365 61%,#644fe3 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:clamp(50px,5.2vw,78px);font-weight:760;line-height:1.025;letter-spacing:-.073em}
.hero h1:after{width:58%;height:7px;margin:15px 0 0 2%;border:0;background:linear-gradient(90deg,var(--tech-purple),var(--tech-cyan),transparent);border-radius:10px;transform:none;filter:drop-shadow(0 4px 7px rgba(103,73,238,.2))}
.hero .intro-lead{max-width:530px;color:#59657d;font-size:clamp(16px,1.3vw,19px);line-height:1.8}
.hero-actions{gap:13px;margin-top:29px}
.hero .button{min-height:55px;padding-inline:21px;border-radius:13px;font-size:13px;box-shadow:0 8px 20px rgba(48,54,108,.11);transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.hero .button:hover{transform:translateY(-3px);box-shadow:0 14px 27px rgba(48,54,108,.18)}
.hero .button-primary{border:0;background:linear-gradient(115deg,#6b49ec,#515de5);color:#fff}
.hero .button-outline{border:1px solid rgba(67,81,120,.2);background:rgba(255,255,255,.72);color:#29344c}
.hero-footnote{margin-top:42px;color:#8792a7;font:9px var(--mono);letter-spacing:.14em}
.hero-footnote span:first-child{color:var(--tech-purple)}
.hero-network{position:relative;grid-column:2;grid-row:1;top:auto;right:auto;left:auto;width:100%;height:min(48vw,700px);min-height:560px;max-width:850px;margin:0;justify-self:stretch;transform:none;overflow:visible;isolation:isolate;opacity:1;border:1px solid rgba(154,165,205,.18);border-radius:30px;background:radial-gradient(ellipse at 50% 47%,rgba(89,70,185,.25),transparent 42%),radial-gradient(ellipse at 79% 26%,rgba(21,158,169,.16),transparent 32%),linear-gradient(145deg,#131c35,#0b1224 68%,#101a2d);box-shadow:0 28px 82px rgba(30,42,91,.2),inset 0 1px rgba(255,255,255,.1);animation:tech-panel-arrive .9s var(--tech-ease) .08s both}
.hero-network:before{content:"";position:absolute;z-index:0;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;background-image:linear-gradient(rgba(190,202,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(190,202,255,.055) 1px,transparent 1px),radial-gradient(circle at 50% 50%,transparent 22%,rgba(3,7,17,.1) 78%);background-size:36px 36px,36px 36px,100% 100%;mask-image:linear-gradient(135deg,transparent 0%,black 24%,black 76%,transparent 100%)}

.hero-network-route{z-index:1;opacity:1}
.hero-network-orbit{stroke:#aab8e3;stroke-width:1.15;stroke-dasharray:3 9;opacity:.44;animation:tech-orbit 70s linear infinite}
.hero-network-link{stroke:#afbddf;stroke-width:1.15;stroke-dasharray:2 8;opacity:.35;animation:hero-network-data-flow 3.2s linear infinite}
.hero-network-flow{stroke:var(--flow-color,var(--tech-cyan));stroke-width:3.8;stroke-linecap:round;stroke-dasharray:3 460;filter:drop-shadow(0 0 6px rgba(91,225,220,.76));animation:hero-network-packet-travel 3.1s linear infinite}
.hero-network-hub{z-index:3;width:clamp(112px,9vw,150px);height:clamp(112px,9vw,150px);border:1px solid rgba(189,178,255,.85);background:radial-gradient(circle at 32% 25%,#273254,#10182c 70%);color:#d4cbff;font:700 clamp(28px,3vw,40px) var(--sans);letter-spacing:.04em;box-shadow:0 0 0 7px rgba(121,98,238,.15),0 0 48px rgba(112,83,255,.34),inset 0 0 30px rgba(135,122,255,.12)}
.hero-network-hub:before{border:1px dashed rgba(151,168,219,.45);box-shadow:0 0 0 13px rgba(53,194,190,.055)}
.hero-network-hub:after{border-color:rgba(131,157,217,.24)}
.hero-network-hub i{background:#ffc56d;box-shadow:0 0 0 6px rgba(255,197,109,.18),0 0 16px #ffc56d;animation:tech-status-pulse 2.2s ease-in-out infinite}
.hero-network-node{z-index:3;width:clamp(72px,8.8vw,112px);gap:5px;animation:network-node-drift 7s ease-in-out infinite;transition:filter .25s ease,transform .25s ease}
.hero-network-node:hover,.hero-network-node:focus-visible{z-index:4;filter:drop-shadow(0 6px 14px rgba(91,225,220,.25));transform:translate(-50%,-54%) scale(1.06);outline:none}
.hero-network-node-icon{width:clamp(43px,4.4vw,61px);height:clamp(43px,4.4vw,61px);border:1px solid var(--node-color);background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(236,241,255,.92));box-shadow:0 6px 20px rgba(0,0,0,.24),inset 0 0 0 4px rgba(255,255,255,.75);transition:box-shadow .25s ease,transform .25s ease}
.hero-network-node:hover .hero-network-node-icon{transform:translateY(-2px);box-shadow:0 0 0 5px color-mix(in srgb,var(--node-color) 18%,transparent),0 9px 22px rgba(0,0,0,.3)}
.hero-network-node-label{max-width:118px;color:#edf1ff;font-size:9px;font-weight:650;text-shadow:0 2px 8px rgba(0,0,0,.75)}
.hero-network-node-kind{color:#a5b2d0;font-size:6px;letter-spacing:.1em}
.hero-network-caption{z-index:4;bottom:2%;color:#aab8d5;font-size:7px;letter-spacing:.18em}
.page-intro:not(.hero){position:relative;min-height:330px;padding:90px clamp(22px,5vw,72px) 56px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 8% 20%,rgba(108,75,234,.08),transparent 38%),linear-gradient(120deg,rgba(255,255,255,.62),rgba(255,255,255,.18))}
.page-intro:not(.hero) .intro-copy{max-width:1240px;padding:0;animation:tech-copy-enter .65s var(--tech-ease) both}
.page-intro:not(.hero) h1{font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:clamp(38px,5vw,64px);font-weight:740;letter-spacing:-.065em;line-height:1.04;color:#18223a}
.page-intro:not(.hero) .intro-lead{max-width:690px;color:#5b6880;font-size:17px;line-height:1.8}
.intro-aside{border-color:rgba(95,108,155,.18);color:#66728b;font:9px var(--mono);letter-spacing:.12em}
.content-section{position:relative;padding:clamp(72px,8vw,112px) clamp(20px,3vw,40px)}
.section-heading{max-width:780px;margin-bottom:42px}
.section-index{color:#5f52d7;font:700 9px var(--mono);letter-spacing:.14em}
.section-heading h2,.statement-section h2{font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:clamp(30px,4vw,52px);font-weight:720;letter-spacing:-.065em;line-height:1.08;color:#18223a}
.section-heading>p,.statement-section p{max-width:66ch;color:#65718a;font-size:15px;line-height:1.8}
.systems-section#systems{max-width:1500px;margin:24px auto 48px;padding:clamp(36px,5vw,70px) clamp(18px,3.5vw,52px) clamp(48px,6vw,84px);overflow:hidden;border:1px solid rgba(105,117,164,.15);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(246,248,255,.9));box-shadow:0 25px 80px rgba(42,57,105,.08),inset 0 1px #fff}
.systems-section#systems:before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(ellipse at 92% 10%,rgba(103,81,238,.09),transparent 30%),radial-gradient(ellipse at 4% 92%,rgba(14,180,173,.07),transparent 27%)}
.systems-section#systems>.section-heading,.systems-section#systems>.product-grid{position:relative;z-index:1}
.systems-section#systems>.section-heading{max-width:760px}
.systems-section#systems .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.product-card{--card-accent:var(--tech-purple);position:relative;overflow:hidden;padding:12px 12px 22px;border:1px solid rgba(68,83,125,.14);border-radius:19px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(37,53,94,.055);transition:transform .28s var(--tech-ease),border-color .28s ease,box-shadow .28s ease}
.product-card:before{content:"";position:absolute;z-index:2;left:16px;right:16px;top:0;height:2px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--card-accent),color-mix(in srgb,var(--card-accent) 12%,white));opacity:.82}
.product-card:nth-child(4n+2){--card-accent:#12a9a5}.product-card:nth-child(4n+3){--card-accent:#e99539}.product-card:nth-child(4n){--card-accent:#e86a93}
.product-card:hover,.product-card:focus-within{z-index:2;transform:translateY(-7px);border-color:color-mix(in srgb,var(--card-accent) 42%,white);box-shadow:0 22px 42px rgba(37,53,94,.13)}
.product-visual{height:190px;position:relative;overflow:hidden;border:1px solid rgba(67,86,143,.12);border-radius:14px;background:radial-gradient(ellipse at 49% 50%,color-mix(in srgb,var(--card-accent) 20%,transparent),transparent 52%),linear-gradient(145deg,#17223b,#0b1325 78%);isolation:isolate}
.product-visual:before{z-index:0;opacity:.48;background-image:linear-gradient(rgba(180,196,240,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(180,196,240,.11) 1px,transparent 1px);background-size:24px 24px;mask-image:radial-gradient(ellipse at 50% 48%,black,transparent 76%)}
.product-visual:after{content:"";position:absolute;z-index:1;left:50%;top:50%;width:58%;height:57%;transform:translate(-50%,-50%) perspective(550px) rotateY(-12deg) rotateX(5deg);border:1px solid rgba(199,211,255,.36);border-radius:13px;background:linear-gradient(rgba(224,231,255,.24),rgba(224,231,255,.24)) 14px 14px/32% 5px no-repeat,linear-gradient(rgba(101,229,220,.64),rgba(101,229,220,.64)) 14px 29px/62% 3px no-repeat,linear-gradient(rgba(255,255,255,.15),rgba(255,255,255,.15)) 14px 45px/72% 4px no-repeat,linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)) 14px 56px/54% 4px no-repeat,linear-gradient(140deg,rgba(47,64,105,.88),rgba(15,24,45,.94));box-shadow:0 18px 38px rgba(0,0,0,.32),0 0 30px color-mix(in srgb,var(--card-accent) 18%,transparent);transition:transform .4s var(--tech-ease),box-shadow .4s ease}
.product-visual>span{position:absolute;z-index:2;left:23%;top:28%;display:grid;width:36px;height:36px;place-items:center;border:1px solid color-mix(in srgb,var(--card-accent) 50%,white);border-radius:11px;background:linear-gradient(145deg,var(--card-accent),color-mix(in srgb,var(--card-accent) 66%,#3049a5));color:#fff;font-size:17px;box-shadow:0 0 0 6px rgba(255,255,255,.07),0 8px 22px color-mix(in srgb,var(--card-accent) 28%,transparent);transition:transform .4s var(--tech-ease)}
.product-card:hover .product-visual:after{transform:translate(-50%,-52%) perspective(550px) rotateY(-6deg) rotateX(3deg) scale(1.035)}
.product-card:hover .product-visual>span{transform:translateY(-3px) rotate(-5deg)}
.product-meta{position:relative;z-index:1;margin:16px 2px 12px;color:#717d95;font:8px var(--mono);letter-spacing:.09em}
.product-meta span:first-child{color:color-mix(in srgb,var(--card-accent) 78%,#24324d)}
.product-meta span:last-child{display:inline-grid;min-width:29px;min-height:22px;place-items:center;border:1px solid rgba(87,101,148,.14);border-radius:7px;background:#f5f7fc;color:#8793aa}
.product-card h3{position:relative;z-index:1;margin:0 2px 9px;color:#19233a;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:17px;font-weight:720;letter-spacing:-.035em}
.product-card p{position:relative;z-index:1;min-height:76px;margin:0 2px 14px;color:#67728a;font-size:12px;line-height:1.65}
.product-card .text-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;margin:0 2px;color:#5144ce;font-size:11px;font-weight:750}
.product-card .text-link span{transition:transform .2s ease}.product-card .text-link:hover span{transform:translate(3px,-2px)}
.capabilities{border-top:1px solid rgba(90,110,160,.12);border-bottom:1px solid rgba(90,110,160,.12);background:linear-gradient(120deg,rgba(255,255,255,.58),rgba(239,244,252,.75))}
.capabilities>.section-heading,.capability-grid{max-width:1320px;margin-inline:auto}
.capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.capability-item{min-height:170px;display:grid;grid-template-columns:38px 1fr;align-content:start;column-gap:13px;row-gap:8px;padding:20px;border:1px solid rgba(75,94,140,.14);border-radius:17px;background:rgba(255,255,255,.78);box-shadow:0 7px 20px rgba(38,53,91,.045);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.capability-item:hover{transform:translateY(-4px);border-color:rgba(103,75,234,.35);box-shadow:0 15px 28px rgba(38,53,91,.09)}
.capability-mark{grid-row:span 2;width:36px;height:36px;border:0;border-radius:12px;background:linear-gradient(145deg,#7053ef,#4d6cea);color:white;font-size:16px;box-shadow:0 7px 16px rgba(88,78,215,.18)}
.capability-number{justify-self:end;color:#8a95aa;font:9px var(--mono)}
.capability-item h3{grid-column:2;margin:0;color:#1d2941;font-size:15px;font-weight:700}
.capability-item p{grid-column:2;margin:0;color:#68758d;font-size:12px;line-height:1.65}
.statement-section{border:1px solid rgba(91,108,156,.13);border-radius:24px;background:linear-gradient(120deg,rgba(255,255,255,.9),rgba(239,244,252,.85));box-shadow:0 16px 42px rgba(42,58,103,.065)}
.statement-section>.section-index{align-self:start}
.process-section{max-width:1500px}
.process-track{gap:18px}
.process-track:before{height:2px;background:linear-gradient(90deg,transparent,var(--tech-purple),var(--tech-cyan),transparent);opacity:.35}
.process-step{border:1px solid rgba(74,92,141,.15);border-radius:16px;background:rgba(255,255,255,.8);box-shadow:0 9px 25px rgba(43,59,104,.055);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.process-step:hover{transform:translateY(-5px);border-color:rgba(99,80,225,.34);box-shadow:0 18px 35px rgba(43,59,104,.11)}
.process-step>span{border:0;background:linear-gradient(145deg,#7053ef,#4d6cea);color:white;box-shadow:0 7px 18px rgba(86,77,213,.2)}
.process-step h3{color:#1b2640;font-size:16px}
.process-step p{color:#68758d;font-size:12px;line-height:1.7}
.cta-section{position:relative;overflow:hidden;margin-inline:auto;border:1px solid rgba(160,169,222,.24);border-radius:26px;background:radial-gradient(ellipse at 87% 35%,rgba(58,205,203,.2),transparent 30%),linear-gradient(120deg,#242049,#151c39 65%,#13243a);box-shadow:0 24px 60px rgba(33,42,100,.2)}
.cta-section:after{content:"";position:absolute;right:6%;top:-40%;width:300px;aspect-ratio:1;border:1px solid rgba(180,190,255,.2);border-radius:50%;box-shadow:0 0 0 26px rgba(180,190,255,.035),0 0 0 60px rgba(180,190,255,.025);pointer-events:none}
.cta-section h2,.cta-section p{color:#f4f5ff}
.cta-section .section-index{color:#bcb2ff}
.cta-mark{border-color:rgba(158,224,232,.5);background:rgba(255,255,255,.08);color:#bdf3ec}
.button-light{position:relative;z-index:1;border:1px solid rgba(255,255,255,.26);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(10px)}
.button-light:hover{background:rgba(255,255,255,.18)}
.references-section{border-top:1px solid var(--line)}
.reference-card,.blog-card{border:1px solid rgba(69,87,137,.15);border-radius:17px;background:rgba(255,255,255,.86);box-shadow:0 10px 28px rgba(42,57,99,.055);transition:transform .26s var(--tech-ease),border-color .26s ease,box-shadow .26s ease}
.reference-card:hover,.blog-card:hover{transform:translateY(-5px);border-color:rgba(103,75,234,.33);box-shadow:0 18px 38px rgba(42,57,99,.11)}
.reference-title,.blog-card h2{color:#1b2640}
.reference-description,.blog-card>p{color:#66728a}
.reference-domain{color:#5b50d6;font:10px var(--mono)}
.contact-form,.deta-application-wrap{border:1px solid rgba(78,98,148,.15);border-radius:22px;background:rgba(255,255,255,.86);box-shadow:0 18px 50px rgba(38,53,94,.09)}
.contact-form input,.contact-form textarea,.contact-form select,.newsletter-fields input{border:1px solid rgba(73,92,140,.18);border-radius:12px;background:#fbfcff;transition:border-color .2s ease,box-shadow .2s ease}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus,.newsletter-fields input:focus{border-color:var(--tech-purple);box-shadow:0 0 0 4px rgba(105,73,238,.11);outline:0}
.site-footer{position:relative;overflow:hidden;border-top:1px solid rgba(110,125,172,.18);background:linear-gradient(145deg,#111a30,#0b1223 70%,#13192d);color:#f2f4ff}
.site-footer:before{content:"";position:absolute;right:-10%;top:-38%;width:min(52vw,660px);aspect-ratio:1;border:1px solid rgba(156,172,234,.11);border-radius:50%;box-shadow:0 0 0 32px rgba(156,172,234,.025),0 0 0 76px rgba(156,172,234,.02);pointer-events:none}
.footer-main,.footer-link-groups,.footer-bottom,.footer-newsletter{position:relative;z-index:1}
.footer-newsletter{border:1px solid rgba(166,178,232,.19);border-radius:21px;background:linear-gradient(115deg,rgba(39,45,83,.92),rgba(22,34,58,.92));box-shadow:0 14px 34px rgba(0,0,0,.16)}
.footer-newsletter h2{color:#f5f4ff}
.footer-newsletter p,.footer-main p,.footer-links a,.footer-phone,.footer-address{color:#bec8df}
.footer-group .section-index{color:#a99cff}
.footer-contact,.footer-links a:hover,.footer-bottom a{color:#70e4db}
.footer-bottom{border-color:rgba(194,202,233,.16);color:#99a7c2}
.footer-newsletter .button-primary{border-radius:11px;background:linear-gradient(115deg,#7455f5,#4d72ed);box-shadow:0 8px 18px rgba(80,82,210,.25)}
.page-shell{animation:tech-page-in .5s var(--tech-ease) both}
.content-section.reveal{opacity:0;transform:translateY(25px);transition:opacity .65s ease,transform .65s var(--tech-ease)}
.content-section.reveal.is-visible{opacity:1;transform:none}
.systems-section.reveal .product-card{opacity:0;transform:translateY(18px)}
.systems-section.reveal.is-visible .product-card{animation:tech-card-in .62s var(--tech-ease) both}
.systems-section.reveal.is-visible .product-card:nth-child(4n+2){animation-delay:.06s}.systems-section.reveal.is-visible .product-card:nth-child(4n+3){animation-delay:.12s}.systems-section.reveal.is-visible .product-card:nth-child(4n){animation-delay:.18s}
.process-section.reveal.is-visible .process-step{animation:tech-card-in .6s var(--tech-ease) both}
.process-section.reveal.is-visible .process-step:nth-child(2){animation-delay:.08s}.process-section.reveal.is-visible .process-step:nth-child(3){animation-delay:.16s}.process-section.reveal.is-visible .process-step:nth-child(4){animation-delay:.24s}
@keyframes tech-copy-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes tech-panel-arrive{from{opacity:0;transform:translateX(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes tech-page-in{from{opacity:.55;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes tech-card-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes tech-status-pulse{0%,100%{box-shadow:0 0 0 5px rgba(255,197,109,.14),0 0 13px #ffc56d}50%{box-shadow:0 0 0 10px rgba(255,197,109,.05),0 0 20px #ffc56d}}
@keyframes tech-orbit{to{transform:rotate(360deg)}}
html[data-theme=dark] .site-header{background:rgba(9,14,27,.82);border-color:rgba(172,185,225,.13);box-shadow:0 8px 32px rgba(0,0,0,.18)}
html[data-theme=dark] .brand-name,html[data-theme=dark] .primary-nav a{color:#e0e6fa}
html[data-theme=dark] .brand-name small{color:#97a5c0}
html[data-theme=dark] .header-icon-control,html[data-theme=dark] .language-current{border-color:rgba(177,191,234,.2);background:rgba(23,31,52,.84);color:#e1e7fa}
html[data-theme=dark] .header-cta{background:linear-gradient(#10182a,#10182a) padding-box,linear-gradient(115deg,var(--purple),var(--cyan)) border-box;color:#d9d2ff!important}
html[data-theme=dark] .hero .eyebrow{border-color:rgba(165,178,228,.2);background:rgba(18,27,48,.72);color:#c4baff}
html[data-theme=dark] .hero h1{background-image:linear-gradient(115deg,#f1f4ff 4%,#cdd7ff 61%,#a998ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
html[data-theme=dark] .hero .intro-lead,html[data-theme=dark] .page-intro:not(.hero) .intro-lead,html[data-theme=dark] .section-heading>p,html[data-theme=dark] .statement-section p{color:#aebbd3}
html[data-theme=dark] .hero .button-outline{border-color:rgba(178,192,235,.2);background:rgba(19,27,47,.78);color:#edf1ff}
html[data-theme=dark] .page-intro:not(.hero){border-color:rgba(173,188,227,.14);background:radial-gradient(ellipse at 8% 20%,rgba(108,75,234,.15),transparent 38%),linear-gradient(120deg,rgba(18,27,46,.52),rgba(13,20,36,.12))}
html[data-theme=dark] .page-intro:not(.hero) h1,html[data-theme=dark] .section-heading h2,html[data-theme=dark] .statement-section h2{color:#eef2ff}
html[data-theme=dark] .systems-section#systems{border-color:rgba(164,178,225,.15);background:linear-gradient(145deg,rgba(20,29,49,.96),rgba(13,21,38,.95));box-shadow:0 25px 80px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.05)}
html[data-theme=dark] .product-card,html[data-theme=dark] .capability-item,html[data-theme=dark] .process-step,html[data-theme=dark] .reference-card,html[data-theme=dark] .blog-card,html[data-theme=dark] .contact-form,html[data-theme=dark] .deta-application-wrap{border-color:rgba(170,188,233,.15);background:rgba(18,27,47,.92);box-shadow:0 10px 28px rgba(0,0,0,.16)}
html[data-theme=dark] .product-card h3,html[data-theme=dark] .capability-item h3,html[data-theme=dark] .process-step h3,html[data-theme=dark] .reference-title,html[data-theme=dark] .blog-card h2{color:#edf1ff}
html[data-theme=dark] .product-card p,html[data-theme=dark] .capability-item p,html[data-theme=dark] .process-step p,html[data-theme=dark] .reference-description,html[data-theme=dark] .blog-card>p{color:#a8b5ce}
html[data-theme=dark] .product-meta span:last-child{border-color:rgba(174,188,230,.15);background:#151f35;color:#a7b3cd}
html[data-theme=dark] .capabilities{border-color:rgba(173,188,227,.12);background:linear-gradient(120deg,rgba(19,29,48,.65),rgba(12,21,37,.74))}
html[data-theme=dark] .statement-section{border-color:rgba(173,188,227,.14);background:linear-gradient(120deg,rgba(22,31,53,.9),rgba(15,24,42,.9))}
html[data-theme=dark] .contact-form input,html[data-theme=dark] .contact-form textarea,html[data-theme=dark] .contact-form select,html[data-theme=dark] .newsletter-fields input{border-color:rgba(168,186,232,.2);background:#10192c;color:#eef2ff}
html[data-theme=dark] .site-footer{border-color:rgba(169,184,225,.13);background:linear-gradient(145deg,#070c18,#0c1323 70%,#111831)}
html[data-theme=dark] .footer-newsletter{border-color:rgba(167,180,232,.18);background:linear-gradient(115deg,rgba(34,39,72,.94),rgba(18,31,53,.94))}
html[data-theme=dark] .footer-newsletter p,html[data-theme=dark] .footer-main p,html[data-theme=dark] .footer-links a,html[data-theme=dark] .footer-phone,html[data-theme=dark] .footer-address{color:#bac6de}
@media(max-width:1120px){.header-inner{gap:12px}.primary-nav{gap:12px}.primary-nav a{font-size:11px}.hero.page-intro{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding-inline:28px}.hero h1{font-size:clamp(48px,6vw,68px)}.hero-network{min-height:490px}.hero-network-node{width:78px}.hero-network-node-label{font-size:8px}.systems-section#systems .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){.site-header{height:72px}.hero.page-intro{min-height:auto;padding:50px 26px 58px;gap:18px}.hero h1{font-size:clamp(44px,6.4vw,62px)}.hero-network{min-height:400px;height:56vw}.hero-network-node{width:64px}.hero-network-node-icon{width:42px;height:42px}.hero-network-node-label{max-width:75px;font-size:7px}.hero-network-node-kind{display:none}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.site-header{height:68px}.header-inner{padding-inline:14px}.brand-symbol{width:39px;height:39px;flex-basis:39px}.brand-name{font-size:9px}.brand-name small{font-size:7px}.menu-toggle{display:block;margin-left:auto;order:3}.primary-nav{top:67px;background:rgba(255,255,255,.97);border-color:rgba(77,94,145,.16);box-shadow:0 16px 34px rgba(24,39,75,.14)}.primary-nav a{color:#29344c}.header-actions{order:2;margin-left:0;gap:6px}.header-cta{display:none}.hero.page-intro{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:38px 18px 38px;min-height:0}.hero .intro-copy{padding:0}.hero .eyebrow{font-size:8px;min-height:28px}.hero h1{max-width:540px;margin:18px 0 15px;font-size:clamp(41px,11vw,58px);line-height:1.04}.hero h1:after{width:54%;height:5px;margin-top:10px}.hero .intro-lead{font-size:14px;line-height:1.7}.hero-actions{gap:9px;margin-top:21px}.hero .button{min-height:48px;padding-inline:13px;font-size:11px}.hero-footnote{margin-top:22px;font-size:7px}.hero-network{width:100%;height:min(95vw,450px);min-height:320px;margin-top:12px;border-radius:22px}.hero-network:after{top:12px;right:12px;padding:7px 9px 7px 20px;font-size:6px}.hero-network-hub{width:70px;height:70px;font-size:20px}.hero-network-hub:before{inset:-8px}.hero-network-hub:after{inset:-14px}.hero-network-node{width:52px;gap:2px}.hero-network-node-icon{width:31px;height:31px}.hero-network-node-label{max-width:58px;font-size:6px}.hero-network-caption{font-size:5px;letter-spacing:.12em}.page-intro:not(.hero){min-height:290px;padding:74px 20px 36px}.page-intro:not(.hero) h1{font-size:clamp(34px,9vw,48px)}.page-intro:not(.hero) .intro-lead{font-size:14px}.content-section{padding:68px 18px}.section-heading{margin-bottom:28px}.section-heading h2,.statement-section h2{font-size:clamp(29px,8vw,39px)}.systems-section#systems{margin:14px 10px 32px;padding:34px 12px 38px;border-radius:22px}.systems-section#systems .product-grid{grid-template-columns:1fr;gap:13px}.product-card{padding:10px 10px 19px;border-radius:16px}.product-visual{height:178px}.product-card p{min-height:0}.capability-grid{grid-template-columns:1fr}.capability-item{min-height:0}.process-track{grid-template-columns:1fr;gap:12px}.process-step{min-height:0}.statement-section{grid-template-columns:1fr;gap:12px;border-radius:18px}.cta-section{margin:0 12px 54px;padding:23px 18px;border-radius:20px;grid-template-columns:40px 1fr;gap:12px}.cta-section h2{font-size:24px}.site-footer{padding:40px 18px 18px;grid-template-columns:1fr;gap:20px}.footer-main{grid-column:1}.footer-link-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.footer-bottom{flex-wrap:wrap;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero .intro-copy,.hero-network,.hero-network-orbit,.hero-network-node,.hero-network-hub i,.page-shell,.content-section.reveal,.systems-section.reveal .product-card,.process-section.reveal.is-visible .process-step{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}.product-card,.product-visual:after,.product-visual>span,.capability-item,.process-step,.reference-card,.blog-card,.header-icon-control,.language-current,.header-cta{transition:none!important}.hero-network-hub i{animation:none!important}}

/* Keep the service network organic and clickable without a large enclosing ring. */
.hero-network:before{inset:0;border:0;border-radius:inherit;animation:none;background-image:linear-gradient(rgba(190,202,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(190,202,255,.055) 1px,transparent 1px),radial-gradient(circle at 50% 50%,transparent 22%,rgba(3,7,17,.1) 78%);}
.hero-network:after{inset:auto;left:auto;bottom:auto;top:20px;right:22px;border-radius:999px;-webkit-mask:none;mask:none;transform:none;}
.hero-network-orbit{display:none!important}
.hero-network-node{pointer-events:auto;cursor:pointer}

/* The service constellation sits directly on the page; labels stay clear at every size. */
html[data-theme=light] .hero-network,html[data-theme=dark] .hero-network{background:transparent!important;border-color:transparent;border-radius:0;box-shadow:none}
.hero-network:before{display:none}
.hero-network:after{display:none!important;content:none!important}
.hero-network-node-label{width:max-content;max-width:min(126px,14vw);padding:0 3px;overflow:visible;text-overflow:clip;white-space:normal;border:0;border-radius:0;background:transparent;box-shadow:none;color:#1b2740;font-size:8px;line-height:1.2;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.96),0 0 5px rgba(255,255,255,.85);text-wrap:balance}
.hero-network-node-kind{display:none}
@media(max-width:680px){.hero-network-node-label{max-width:72px;padding:0 2px;font-size:7px;line-height:1.15}}
@media(max-width:400px){.hero-network-node-label{max-width:56px;font-size:6px}}

/* Each service follows its own orbital path and gently moves toward or away from the hub. */
.hero-network-orbit-node{position:absolute;inset:0;z-index:2;pointer-events:none;transform-origin:50% 50%;rotate:0deg;scale:1;animation:planetary-revolution var(--orbit-period,46s) linear var(--orbit-delay,0s) infinite,planetary-radius var(--radius-period,10s) ease-in-out var(--radius-delay,0s) infinite alternate;will-change:rotate,scale}
.hero-network-orbit-node>.hero-network-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-network-orbit-node>.hero-network-node{animation:planetary-counterrotation var(--orbit-period,46s) linear var(--orbit-delay,0s) infinite;will-change:transform}
@keyframes planetary-revolution{to{rotate:360deg}}
@keyframes planetary-radius{from{scale:1}to{scale:.92}}
@keyframes planetary-counterrotation{to{transform:translate(-50%,-50%) rotate(-360deg)}}
.hero-network-node{width:82px;gap:3px}
.hero-network-node-icon{width:42px;height:42px}
.hero-network-node-label{max-width:82px}
.hero-network-orbit-node.is-active{z-index:6}
.hero-network.is-dispersing .hero-network-orbit-node:not(.is-active){animation-name:planetary-revolution,planetary-hover-spread;animation-duration:var(--orbit-period,46s),.48s;animation-timing-function:linear,cubic-bezier(.2,.75,.25,1);animation-delay:var(--orbit-delay,0s),0s;animation-iteration-count:infinite,1;animation-direction:normal,normal;animation-fill-mode:none,forwards;animation-play-state:paused,running}
.hero-network.is-dispersing .hero-network-orbit-node.is-active{animation-play-state:paused,paused}
.hero-network.is-dispersing .hero-network-orbit-node>.hero-network-node{animation-play-state:paused}
@keyframes planetary-hover-spread{to{scale:1.10}}
@media(prefers-reduced-motion:reduce){.hero-network-orbit-node{animation:none!important;rotate:0deg!important;scale:1!important;will-change:auto}.hero-network-orbit-node>.hero-network-node{animation:none!important;transform:translate(-50%,-50%)!important;will-change:auto}}
@media(max-width:680px){.hero-network-node{width:56px;gap:2px}.hero-network-node-icon{width:30px;height:30px}.hero-network-node-label{max-width:54px;font-size:6px}}
@media(max-width:400px){.hero-network-node{width:46px}.hero-network-node-icon{width:25px;height:25px}.hero-network-node-label{max-width:44px;font-size:5.5px}}
