:root{--blue:#3f6f9f;--navy:#0c1e34;--ink:#142234;--muted:#66717f;--line:#dfe5eb;--ice:#f4f7fa;--cyan:#25b8dc;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.topbar{height:82px;display:flex;align-items:center;padding:0 5vw;position:fixed;inset:0 0 auto;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(20,34,52,.08)}.brand img{width:155px;display:block}.topbar nav{margin-left:auto;display:flex;gap:28px;font-size:13px;font-weight:650}.topbar nav a{transition:.2s}.topbar nav a:hover{color:var(--blue)}.nav-cta{margin-left:28px;background:var(--navy);color:#fff;padding:13px 18px;border-radius:3px;font-size:12px;font-weight:700}.menu{display:none;margin-left:auto;border:0;background:none;font-size:24px}.hero{min-height:790px;padding:155px 6vw 90px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;position:relative;overflow:hidden;background:linear-gradient(115deg,#f8fafc 0,#fff 55%,#edf4fa 100%)}.mesh{position:absolute;width:700px;height:700px;right:-260px;top:40px;border-radius:50%;background:repeating-radial-gradient(circle at center,transparent 0 29px,rgba(63,111,159,.09) 30px 31px);opacity:.6}.hero-copy{position:relative;z-index:2;max-width:740px}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:800;color:var(--blue)}h1{font-size:clamp(64px,7.2vw,112px);line-height:.84;letter-spacing:-.065em;margin:28px 0 30px;font-weight:760}h1 span{display:block}h1 span:nth-child(2){color:var(--blue)}h1 span:nth-child(3){color:#6a6d72}.hero p{font-size:18px;line-height:1.65;color:var(--muted);max-width:680px}.actions{display:flex;gap:12px;margin:34px 0}.btn{display:inline-block;padding:15px 21px;border-radius:3px;font-size:13px;font-weight:750}.primary{background:var(--blue);color:white}.ghost{border:1px solid #cfd8e1}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}.hero-tags span,.chips i{font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;background:#eef3f7;border:1px solid #dfe6ec;border-radius:2px}.hero-visual{height:560px;position:relative;display:flex;align-items:center;justify-content:center}.orb{position:absolute;width:440px;height:440px;border-radius:50%;background:linear-gradient(145deg,#d8e8f5,#fff);box-shadow:0 50px 120px rgba(22,57,88,.15)}.kiosk{position:relative;z-index:2;max-height:510px;max-width:70%;filter:drop-shadow(0 28px 22px rgba(13,33,52,.18))}.float-card{position:absolute;z-index:3;background:rgba(255,255,255,.94);padding:14px 18px;box-shadow:0 12px 35px rgba(20,34,52,.13);border-left:3px solid var(--cyan);min-width:180px}.float-card b,.float-card small{display:block}.float-card b{font-size:12px}.float-card small{font-size:9px;color:var(--muted);margin-top:5px}.fc1{left:1%;top:22%}.fc2{right:0;bottom:18%}.proof{display:grid;grid-template-columns:repeat(5,1fr);padding:28px 6vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof div{padding:10px 24px;border-right:1px solid var(--line)}.proof div:last-child{border:0}.proof strong{display:block;font-size:27px;color:var(--blue)}.proof span{font-size:11px;color:var(--muted)}.section{padding:110px 6vw}.section-head{max-width:880px;margin-bottom:56px}.section-head h2,.dark h2,.contact h2{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.045em;margin:20px 0}.section-head h2 em,.dark h2 em{font-style:normal;color:var(--blue)}.section-head p,.lead{font-size:17px;line-height:1.65;color:var(--muted);max-width:720px}.grid.solutions{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.card{min-height:300px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.3s;background:#fff}.card:hover{transform:translateY(-5px);box-shadow:0 25px 50px rgba(13,33,52,.08);z-index:2}.card.featured{background:var(--blue);color:white}.card.featured p{color:#e8f2fa}.num{font-size:11px;letter-spacing:.18em;color:#8290a0}.card h3{font-size:25px;margin:48px 0 14px}.card p{font-size:14px;line-height:1.65;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}.featured .chips i{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18)}.dark{background:var(--navy);color:#fff}.dark .lead{color:#aebdcb}.dark h2 em{color:#69c9e4}.cyan{color:#69c9e4}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.ticks{padding:0;margin:30px 0;list-style:none}.ticks li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:13px;color:#d7e1e9}.ticks li:before{content:'✓';color:#69c9e4;margin-right:10px}.image-panel{background:#fff;padding:14px;box-shadow:0 30px 80px rgba(0,0,0,.22)}.image-panel img{width:100%;display:block}.image-panel span{display:block;color:#6c7783;font-size:9px;letter-spacing:.18em;padding:12px 4px 2px}.issuance-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.visual-card{border:1px solid var(--line);background:#fff}.pic{height:330px;background:#f2f5f7;display:flex;align-items:center;justify-content:center;overflow:hidden}.pic img{max-width:92%;max-height:90%;object-fit:contain}.pic.instant img{width:100%;max-width:none}.pad{padding:28px}.pad span{font-size:9px;letter-spacing:.16em;color:var(--blue);font-weight:800}.pad h3{font-size:28px;margin:12px 0}.pad p{font-size:14px;line-height:1.6;color:var(--muted)}.band{padding:100px 6vw;background:var(--ice)}.emv-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:18px}.emv-flow>div{background:white;padding:28px;min-height:180px;border-top:3px solid var(--blue)}.emv-flow b{color:var(--blue);font-size:11px}.emv-flow h4{font-size:19px;margin:30px 0 8px}.emv-flow p{font-size:12px;color:var(--muted);line-height:1.5}.emv-flow>i{font-style:normal;color:#9aabb9}.service-list{border-top:1px solid var(--line)}.service-list>div{display:grid;grid-template-columns:80px 1fr 1.3fr;gap:30px;align-items:center;padding:28px 8px;border-bottom:1px solid var(--line)}.service-list b{color:var(--blue);font-size:11px}.service-list h3{font-size:22px;margin:0}.service-list p{font-size:13px;color:var(--muted);line-height:1.6}.support{padding:100px 6vw}.locations{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.locations div{padding:32px;background:var(--ice);border-top:3px solid var(--blue)}.locations span{font-size:11px;color:var(--blue);font-weight:800}.locations b,.locations small{display:block}.locations b{font-size:28px;margin:28px 0 6px}.locations small{color:var(--muted)}.contact{background:var(--blue);color:#fff;padding:90px 6vw;display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end}.contact h2{max-width:850px}.contact p{color:#dce9f4}.contact-box{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.25);padding-left:35px}.contact-box a,.contact-box span{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:14px}footer{padding:38px 6vw;display:flex;align-items:center;gap:28px;border-top:1px solid var(--line)}footer img{width:125px}footer p{font-size:11px;color:var(--muted)}footer small{margin-left:auto;color:#87919b}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.on{opacity:1;transform:none}@media(max-width:950px){.topbar nav,.nav-cta{display:none}.menu{display:block}.topbar.open nav{display:flex;position:absolute;top:81px;left:0;right:0;background:#fff;padding:24px 6vw;flex-direction:column}.hero{grid-template-columns:1fr;padding-top:130px}.hero-visual{height:500px}.proof{grid-template-columns:repeat(2,1fr)}.grid.solutions{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.issuance-grid{grid-template-columns:1fr}.emv-flow{grid-template-columns:1fr}.emv-flow>i{transform:rotate(90deg);text-align:center}.contact{grid-template-columns:1fr}.locations{grid-template-columns:1fr}}@media(max-width:620px){.brand img{width:125px}.topbar{height:70px}.hero{padding-left:7vw;padding-right:7vw}.hero-visual{height:420px}.kiosk{max-width:75%}.float-card{display:none}.proof{grid-template-columns:1fr 1fr}.proof div{padding:12px}.section,.band,.support{padding:78px 7vw}.grid.solutions{grid-template-columns:1fr}.service-list>div{grid-template-columns:45px 1fr}.service-list p{grid-column:2}.contact{padding:70px 7vw}.contact-box{padding-left:0;border-left:0}footer{flex-wrap:wrap}footer small{margin-left:0;width:100%}}

/* V2 multipage additions */
.trust-strip{display:flex;gap:2.5rem;justify-content:center;flex-wrap:wrap;padding:1.15rem 5%;border-top:1px solid #e8edf2;border-bottom:1px solid #e8edf2;font-size:.72rem;letter-spacing:.16em;font-weight:700;color:#75808a;background:#fff}.subhero{min-height:72vh}.subhero .hero-copy h1{font-size:clamp(3rem,7vw,6.5rem)}.subhero .hero-visual img{max-height:430px;object-fit:contain}.card a{display:inline-block;margin-top:1rem;color:#356a9c;font-weight:700;text-decoration:none}.band .section-head{max-width:1050px;margin:auto}.band .section-head p{max-width:850px;color:#59636d;font-size:1.08rem}


/* V2.1 â€” general corporate hero + technology ecosystem */
.hero-general{background:radial-gradient(circle at 76% 46%,#e9f2f8 0,rgba(233,242,248,.72) 19%,rgba(255,255,255,0) 43%),linear-gradient(115deg,#f8fafc 0,#fff 56%,#eef5fa 100%)}
.hero-general h1 span:nth-child(2){color:var(--blue)}.hero-general h1 span:nth-child(3){color:#6a6d72}
.ecosystem{min-height:560px}.eco-rings{position:absolute;width:470px;height:470px;border:1px solid rgba(63,111,159,.22);border-radius:50%;animation:spin 28s linear infinite}.eco-rings:before,.eco-rings:after{content:"";position:absolute;border-radius:50%;inset:55px;border:1px dashed rgba(63,111,159,.28)}.eco-rings:after{inset:120px;border-style:solid;border-color:rgba(37,184,220,.25)}
.eco-core{position:relative;z-index:4;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 28px 80px rgba(13,33,52,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(63,111,159,.12)}.eco-core img{width:128px}.eco-core small{margin-top:14px;font-size:8px;letter-spacing:.18em;color:#77838e;font-weight:800}
.eco-node{position:absolute;z-index:5;width:170px;padding:17px 18px;background:rgba(255,255,255,.96);border:1px solid rgba(63,111,159,.14);box-shadow:0 15px 45px rgba(13,33,52,.1);border-top:3px solid var(--blue)}.eco-node b,.eco-node small{display:block}.eco-node b{font-size:11px;letter-spacing:.13em;color:var(--ink)}.eco-node small{font-size:9px;color:var(--muted);margin-top:6px}.n1{top:7%;left:8%}.n2{top:15%;right:2%}.n3{bottom:10%;right:5%}.n4{bottom:6%;left:4%}.eco-pulse{position:absolute;border-radius:50%;border:1px solid rgba(37,184,220,.35);animation:pulse 3.2s ease-out infinite}.p1{width:300px;height:300px}.p2{width:390px;height:390px;animation-delay:1.4s}@keyframes pulse{0%{transform:scale(.7);opacity:0}25%{opacity:.8}100%{transform:scale(1.2);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}
.partners{background:#fbfcfd;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.partner{min-height:155px;padding:28px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;background:#fff;transition:.25s}.partner:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(13,33,52,.07);z-index:2}.partner strong{font-size:24px;letter-spacing:-.02em}.partner span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:9px}.partner small{font-size:10px;color:#8b96a1;margin-top:7px}.partner-primary{background:var(--navy);color:#fff;border-top:3px solid var(--cyan)}.partner-primary span,.partner-primary small{color:#b9c9d6}.partner-note{font-size:11px;line-height:1.6;color:#84909b;max-width:900px;margin:18px 0 0}
@media(max-width:950px){.partner-grid{grid-template-columns:1fr 1fr}.ecosystem{height:500px;min-height:500px}}@media(max-width:620px){.partner-grid{grid-template-columns:1fr}.ecosystem{height:420px;min-height:420px}.eco-rings{width:330px;height:330px}.eco-core{width:145px;height:145px}.eco-core img{width:98px}.eco-node{width:130px;padding:12px}.n1{left:0}.n2{right:0}.n3{right:0}.n4{left:0}.eco-pulse{display:none}}

/* EMV product visualization */
.integration-map{position:relative;width:min(520px,90vw);aspect-ratio:1/1;margin:auto}.integration-map .core{position:absolute;inset:36% 36%;display:grid;place-items:center;border-radius:50%;background:#14253b;color:white;font-weight:800;font-size:clamp(1.4rem,3vw,2.5rem);box-shadow:0 24px 70px rgba(20,37,59,.2)}.integration-map .node{position:absolute;width:108px;height:108px;border:1px solid #d9e2ec;border-radius:50%;display:grid;place-items:center;text-align:center;background:white;color:#28679d;font-size:.72rem;font-weight:800;letter-spacing:.12em;box-shadow:0 12px 40px rgba(20,37,59,.08)}.integration-map .n1{left:4%;top:12%}.integration-map .n2{right:4%;top:12%}.integration-map .n3{right:0;top:55%}.integration-map .n4{right:31%;bottom:0}.integration-map .n5{left:3%;top:57%}.integration-map .n6{left:35%;top:0}.emv-product{background:#f5f8fb}

/* V2.5 kiosk + EMV visual content */
.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.media-card{margin:0;border:1px solid #dfe6ee;background:#fff;overflow:hidden}.media-card img{width:100%;height:420px;object-fit:contain;background:#f3f6f9;display:block}.media-card figcaption{padding:22px 24px;display:grid;gap:7px}.media-card figcaption strong{font-size:20px}.media-card figcaption span{color:#66758a;line-height:1.55}.journey-flow{display:flex;align-items:stretch;gap:10px;margin-top:38px}.journey-flow>i{align-self:center;font-style:normal;color:#3473a6;font-size:25px}.journey-step{flex:1;border:1px solid #dfe6ee;padding:24px;background:white;min-height:150px}.journey-step b{color:#3473a6;font-size:12px;letter-spacing:.14em}.journey-step span{display:block;font-size:20px;font-weight:800;margin:24px 0 8px}.journey-step small{color:#68778a;line-height:1.45}.platform-flow{margin-top:22px;padding:26px;background:#0f1d2e;color:white;display:flex;align-items:center;justify-content:center;gap:24px;text-align:center}.platform-flow>div{padding:16px 22px;border:1px solid rgba(255,255,255,.2);min-width:180px}.platform-flow small{color:#aebed0}.platform-flow>b{font-size:11px;color:#7db4dc;letter-spacing:.1em}.screen-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ui-screen{border:1px solid #dfe6ee;background:#f8fafc;box-shadow:0 16px 42px rgba(15,29,46,.08);overflow:hidden}.ui-title{background:#10243c;color:white;padding:15px 18px;display:grid;grid-template-columns:10px auto 1fr;gap:10px;align-items:center}.ui-title>span{width:9px;height:9px;border-radius:50%;background:#55b9e8}.ui-title strong{font-size:14px}.ui-title em{text-align:right;font-size:11px;color:#a8bdd2;font-style:normal}.ui-screen footer{padding:12px 18px;background:white;border-top:1px solid #e3e9ef;color:#64758a;font-size:12px}.ui-body{display:grid;grid-template-columns:145px 1fr;min-height:290px}.ui-body aside{background:#eaf0f6;padding:18px;font-size:11px;color:#68788a}.ui-body aside b{display:block;background:white;padding:8px;margin-top:8px;color:#23384e}.ui-body main{padding:22px}.ui-body main small{color:#3473a6;font-weight:800}.ui-body main h3{margin:7px 0 18px}.tagrow{display:grid;grid-template-columns:35px 1fr;gap:6px 10px;border-top:1px solid #e0e6ec;padding:10px 0;font-size:11px}.tagrow b{color:#3473a6}.tagrow code{grid-column:2;color:#586a7e}.apdu-list{padding:20px;min-height:290px}.apdu-list div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid #e1e7ed;padding:12px 8px;font-size:12px}.apdu-list b{color:#3473a6}.apdu-list code{color:#53657a}.pvt{padding:22px;min-height:290px}.pvt div{display:flex;justify-content:space-between;gap:15px;padding:13px 5px;border-bottom:1px solid #e1e7ed;font-size:12px}.pvt span{font-size:10px;font-weight:900}.pass{color:#16895d}.warn{color:#b57816}.report-mock{padding:26px;min-height:290px;background:white}.report-mock h3{margin:0;color:#10243c}.report-mock p{font-size:11px;color:#69798c}.report-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-cols span{height:52px;background:#eef3f7}.report-lines{height:85px;margin-top:15px;background:repeating-linear-gradient(#fff,#fff 13px,#e5eaf0 14px)}@media(max-width:900px){.media-grid,.screen-gallery{grid-template-columns:1fr}.journey-flow,.platform-flow{flex-direction:column}.journey-flow>i{transform:rotate(90deg)}.media-card img{height:auto}}

/* V2.6 authentic KGK / EMV media galleries */
.kiosk-journey-gallery,.screen-photo-gallery,.emv-real-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.media-card{margin:0;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.media-card img{width:100%;height:auto;display:block;object-fit:contain;background:#fff}.media-card figcaption{display:flex;flex-direction:column;gap:5px;padding:18px 20px}.media-card figcaption strong{font-size:16px}.media-card figcaption span{opacity:.68;font-size:13px;line-height:1.5}.emv-real-gallery .media-card:first-child{grid-column:1/-1}.emv-real-gallery .media-card:first-child img{max-height:720px}.hero.subhero .hero-visual .kiosk{max-height:560px;object-fit:contain}@media(max-width:760px){.kiosk-journey-gallery,.screen-photo-gallery,.emv-real-gallery{grid-template-columns:1fr}.emv-real-gallery .media-card:first-child{grid-column:auto}}

/* EMV hero node positions: scoped to avoid collision with global ecosystem .n4 styles */
.integration-map .emv-n4{left:6%;bottom:2%;right:auto;top:auto}
.integration-map .emv-n5{left:3%;top:57%;right:auto;bottom:auto}
.integration-map .emv-n6{left:35%;top:0;right:auto;bottom:auto}
/* Services hero ecosystem */
.services-map{position:relative;width:min(520px,90vw);aspect-ratio:1/1;margin:auto}.services-map:before{content:"";position:absolute;inset:11%;border-radius:50%;background:linear-gradient(145deg,#d8e8f5,#f8fbfe);box-shadow:0 45px 110px rgba(22,57,88,.13)}.services-map .core{position:absolute;inset:35% 35%;z-index:2;display:grid;place-items:center;border-radius:50%;background:#14253b;color:#fff;font-weight:850;font-size:clamp(1.1rem,2.3vw,2rem);letter-spacing:.04em;box-shadow:0 24px 70px rgba(20,37,59,.2)}
.services-map .node{font-size: clamp(11px, 1.15vw, 14px);    line-height: 1.15;    letter-spacing: 0.12em;    text-align: center;    padding: 12px;    overflow-wrap: normal;word-break: normal;position:absolute;z-index:3;width:116px;height:116px;border:1px solid #d9e2ec;border-radius:50%;display:grid;place-items:center;background:#fff;color:#28679d;font-weight:850;box-shadow:0 12px 40px rgba(20,37,59,.08);padding:10px}
.services-map .sn1{left:2%;top:20%}
.services-map .sn2{left:39%;top:0}
.services-map .sn3{right:0;top:25%}
.services-map .sn4{right:8%;bottom:5%; font-size: clamp(10px, 1.05vw, 11px);line-height: 1.18;letter-spacing: 0.1em;}
.services-map .sn5{left:6%;bottom:4%;  font-size: clamp(10px, 1.05vw, 13px);line-height: 1.18;letter-spacing: 0.1em;}
@media(max-width:620px){.services-map .node{width:90px;height:90px;font-size:.58rem}.services-map .core{inset:36% 36%;font-size:1rem}}

/* EMV hero: balanced six-node capability orbit */
.integration-map .n1{left:1%;top:17%}.integration-map .n2{right:1%;top:17%;left:auto}.integration-map .n3{right:0;top:58%;left:auto}.integration-map .emv-n4{left:50%;bottom:-1%;top:auto;right:auto;transform:translateX(-50%)}.integration-map .emv-n5{left:0;top:58%;right:auto;bottom:auto}.integration-map .emv-n6{left:50%;top:-1%;right:auto;bottom:auto;transform:translateX(-50%)}
/* EMV engineering editorial showcase */
.emv-engineering{background:#fff}.eng-row{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center;padding:54px 0;border-top:1px solid var(--line)}.eng-row.reverse{grid-template-columns:1.18fr .82fr}.eng-row.reverse .eng-copy{order:2}.eng-copy{max-width:520px}.eng-kicker{font-size:10px;letter-spacing:.18em;color:var(--blue);font-weight:850}.eng-copy h3{font-size:32px;line-height:1.05;letter-spacing:-.035em;margin:12px 0 16px}.eng-copy p{font-size:14px;line-height:1.7;color:var(--muted)}.eng-copy ul{list-style:none;padding:0;margin:20px 0 0}.eng-copy li{font-size:12px;color:#40536a;padding:5px 0}.eng-copy li:before{content:'✓';color:#159a6b;font-weight:900;margin-right:9px}.eng-screen{padding:10px;background:#f7f9fb;border:1px solid #dfe6ed;border-radius:12px;box-shadow:0 18px 48px rgba(20,37,59,.10)}.eng-screen img{display:block;width:100%;height:auto;border-radius:7px}.eng-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0 0 90px}.eng-pair figure{margin:0;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 40px rgba(20,37,59,.08)}.eng-pair img{display:block;width:100%;border-radius:7px}.eng-pair figcaption{padding:12px 5px 4px;font-size:11px;font-weight:700;color:var(--muted)}.eng-subhead{margin-top:30px;padding-top:70px;border-top:1px solid var(--line)}@media(max-width:900px){.eng-row,.eng-row.reverse{grid-template-columns:1fr;gap:28px}.eng-row.reverse .eng-copy{order:0}.eng-pair{grid-template-columns:1fr}.integration-map .node{width:92px;height:92px;font-size:.64rem}.integration-map{width:min(440px,88vw)}}

/* V3.0 media carousels â€” replaces dense screenshot grids */
.carousel{position:relative;max-width:1180px;margin:0 auto 48px;padding:0 58px}.carousel-track{display:flex;overflow:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;border-radius:22px}.carousel-track>.media-card{flex:0 0 100%;scroll-snap-align:start;border-radius:22px}.carousel-track>.media-card img{width:100%;max-height:680px;object-fit:contain;background:#f5f7fa}.carousel-btn{position:absolute;top:45%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;border:1px solid #d6e0e9;background:rgba(255,255,255,.96);color:var(--navy);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 10px 28px rgba(20,37,59,.12)}.carousel-btn:hover{background:var(--navy);color:#fff}.carousel-btn.prev{left:0}.carousel-btn.next{right:0}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}.carousel-dot{width:8px;height:8px;border:0;border-radius:50%;background:#c8d3dd;padding:0;cursor:pointer}.carousel-dot.active{background:var(--blue);transform:scale(1.25)}.emv-carousel{margin-top:28px;margin-bottom:72px}.emv-carousel .media-card{background:#fff;border:1px solid var(--line)}.emv-carousel .media-card figcaption{padding:18px 22px}.emv-carousel .media-card figcaption strong{font-size:16px}.emv-carousel .media-card figcaption span{font-size:13px;color:var(--muted)}@media(max-width:700px){.carousel{padding:0 42px}.carousel-btn{width:38px;height:38px;font-size:24px}.carousel-track>.media-card img{max-height:480px}}


/* V3.2 â€” animated pulse treatment on solution page heroes */
.pulse-hero .hero-visual{isolation:isolate}
.pulse-hero .hero-visual::before,
.pulse-hero .hero-visual::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:min(390px,72%);height:min(390px,72%);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(37,184,220,.34);
  transform:translate(-50%,-50%) scale(.68);
  opacity:0;
  animation:solutionPulse 3.2s ease-out infinite;
  pointer-events:none;
  z-index:0;
}
.pulse-hero .hero-visual::after{
  width:min(485px,88%);height:min(485px,88%);
  border-color:rgba(63,111,159,.24);
  animation-delay:1.45s;
}
.pulse-hero .hero-visual>.orb,
.pulse-hero .hero-visual>.integration-map,
.pulse-hero .hero-visual>img{z-index:2}
.pulse-hero .hero-visual>.orb{position:absolute}
@keyframes solutionPulse{
  0%{transform:translate(-50%,-50%) scale(.68);opacity:0}
  22%{opacity:.82}
  100%{transform:translate(-50%,-50%) scale(1.18);opacity:0}
}
@media(max-width:620px){
  .pulse-hero .hero-visual::before,.pulse-hero .hero-visual::after{display:none}
}
@media(prefers-reduced-motion:reduce){
  .pulse-hero .hero-visual::before,.pulse-hero .hero-visual::after{animation:none;opacity:.18;transform:translate(-50%,-50%) scale(1)}
}

/* V3.3 â€” open hero orbit treatment, matching the homepage ecosystem */
.pulse-hero .hero-visual>.orb{
  background:transparent;
  box-shadow:none;
  border:1px solid rgba(63,111,159,.14);
}
.pulse-hero .services-map::before{
  background:transparent;
  box-shadow:none;
  border:1px solid rgba(63,111,159,.14);
}
/* Keep the focal hub and capability nodes crisp above the transparent rings. */
.pulse-hero .integration-map .core,
.pulse-hero .services-map .core{z-index:3}
.pulse-hero .integration-map .node,
.pulse-hero .services-map .node{z-index:4}


/* Solutions grid — blue hover treatment
   Scoped only to the six solution cards. The existing .featured card
   remains blue by default. */
.grid.solutions .card {
    transition:
        background-color .3s ease,
        color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.grid.solutions .card:not(.featured):hover {
    background: var(--blue);
    color: #fff;
    transform: translateY(-5px);
    box-shadow: 0 25px 50px rgba(13,33,52,.12);
    z-index: 2;
}

.grid.solutions .card:not(.featured):hover .num {
    color: rgba(255,255,255,.58);
}

.grid.solutions .card:not(.featured):hover h3,
.grid.solutions .card:not(.featured):hover h3 a,
.grid.solutions .card:not(.featured):hover > a {
    color: #fff;
}

.grid.solutions .card:not(.featured):hover p {
    color: #e8f2fa;
}

.grid.solutions .card:not(.featured):hover .chips i {
    color: #fff;
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.18);
}

/* Preserve the original featured/Kiosk appearance even when its content
   contains links styled by the generic .card a rule. */
.grid.solutions .card.featured,
.grid.solutions .card.featured h3,
.grid.solutions .card.featured h3 a,
.grid.solutions .card.featured > a {
    color: #fff;
}

.grid.solutions .card.featured p {
    color: #e8f2fa;
}

.grid.solutions .card.featured .num {
    color: rgba(255,255,255,.58);
}

.grid.solutions .card.featured .chips i {
    color: #fff;
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.18);
}



/* Homepage FAQ */
.faq-section{background:#fff}
.faq-section .section-head{max-width:760px}
.faq-list{max-width:980px;margin:0 auto;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{
  position:relative;
  cursor:pointer;
  list-style:none;
  padding:24px 52px 24px 0;
  color:var(--navy);
  font-size:18px;
  font-weight:750;
  line-height:1.35;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  color:var(--blue);
  font-size:28px;
  font-weight:400;
  line-height:1;
  transition:transform .25s ease;
}
.faq-list details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-list details p{
  max-width:850px;
  margin:0;
  padding:0 52px 24px 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.75;
}
.faq-list details p a{
  color:var(--blue);
  font-weight:700;
  text-decoration:none;
}
.faq-list details p a:hover{text-decoration:underline}
@media(max-width:620px){
  .faq-list summary{font-size:16px;padding:20px 42px 20px 0}
  .faq-list details p{padding:0 0 20px 0}
}

/* Connected architecture — process flow */
.architecture-process{background:var(--ice)}.architecture-process .section-head{max-width:880px}.architecture-process .section-head h2{font-size:clamp(34px,4.5vw,58px);line-height:1.02;letter-spacing:-.04em;margin:12px 0 18px}.architecture-process .section-head p{max-width:820px}.process-flow{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr) 48px minmax(0,1fr) 48px minmax(0,1fr) 48px minmax(0,1fr);align-items:center;margin-top:46px}.process-step{align-self:stretch;min-width:0;min-height:235px;padding:24px 20px;background:#fff;border:1px solid var(--line);position:relative;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.process-step:hover{transform:translateY(-5px);border-color:rgba(63,111,159,.42);box-shadow:0 22px 50px rgba(13,33,52,.09)}.process-num{display:block;color:#8290a0;font-size:10px;font-weight:800;letter-spacing:.18em;margin-bottom:24px}.process-badge{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:9px;font-weight:850;letter-spacing:.07em;margin-bottom:20px}.process-step h3{font-size:19px;line-height:1.12;letter-spacing:-.025em;color:var(--navy);margin:0 0 10px}.process-step p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}.process-connector{height:34px;position:relative}.process-connector:before{content:"";position:absolute;left:7px;right:7px;top:16px;height:1px;background:rgba(63,111,159,.38)}.process-connector:after{content:"";position:absolute;right:7px;top:12px;width:8px;height:8px;border-top:1px solid var(--blue);border-right:1px solid var(--blue);transform:rotate(45deg)}.process-connector span{position:absolute;left:7px;top:13px;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(37,184,220,.10);animation:architectureFlow 2.8s ease-in-out infinite}.process-connector:nth-of-type(4) span{animation-delay:.35s}.process-connector:nth-of-type(6) span{animation-delay:.7s}.process-connector:nth-of-type(8) span{animation-delay:1.05s}@keyframes architectureFlow{0%,15%{left:7px;opacity:0}25%,75%{opacity:1}90%,100%{left:calc(100% - 14px);opacity:0}}@media(max-width:1050px){.process-flow{grid-template-columns:1fr;max-width:650px}.process-step{min-height:0}.process-connector{width:54px;height:48px;justify-self:center}.process-connector:before{left:26px;right:auto;top:5px;bottom:5px;width:1px;height:auto}.process-connector:after{right:auto;left:22px;top:auto;bottom:6px;transform:rotate(135deg)}.process-connector span{left:23px;top:5px;animation:architectureFlowVertical 2.8s ease-in-out infinite}@keyframes architectureFlowVertical{0%,15%{top:5px;opacity:0}25%,75%{opacity:1}90%,100%{top:35px;opacity:0}}}@media(prefers-reduced-motion:reduce){.process-connector span{animation:none}}
