:root{--ink:#232b3d;--mut:#5f6b7c;--dim:#6b7686;--line:#e3e8ee;--g:#2fa84f;--gb:#228540;--gd:#1c7c2e;--g3:#43bd63;--soft:#dcefe0;--soft2:#eef7f0;--bad:#d8493f;
  --f:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{background:#fff;color:var(--ink);font:400 16px/1.65 var(--f);overflow-x:hidden}
a{color:inherit}img{max-width:100%}
:focus-visible{outline:3px solid #1b5fd1;outline-offset:3px;border-radius:8px}
.wrap{max-width:1140px;margin:0 auto;padding-inline:max(20px,4vw)}
@media(min-width:1240px){.wrap{padding-inline:0}}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;border-radius:8px;z-index:100}.skip:focus{left:8px}
h1,h2,h3{font-family:var(--f);font-weight:500;letter-spacing:-.035em;text-wrap:balance}
h2{font-size:clamp(30px,3.8vw,48px);line-height:1.14}
h1 em,h2 em,h3 em{font-style:normal;color:var(--g)}
h3 em,.who h2 em,.cta h2 em{color:var(--gb)}
.pill{display:inline-flex;align-items:center;gap:12px;font:600 12.5px/1 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--gd);padding:0;border:0;background:none;border-radius:0}
.pill:before,.pill:after{content:"";width:26px;height:2px;background:var(--gb);flex:none}
.pill:after{display:none}
.center .pill,.shead .pill{justify-content:center}
.shead .pill:after{display:block}
.center{text-align:center}.center .pill{margin-inline:auto}
.shead{display:flex;flex-direction:column;align-items:center;text-align:center}
.shead h2{margin-top:18px;max-width:17em}.shead p{color:var(--mut);margin-top:14px;max-width:34em;font-size:15.5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 15px/1 var(--f);color:#fff;background:var(--gb);border:1.5px solid var(--gb);border-radius:99px;padding:15px 26px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn:hover{background:var(--gd);border-color:var(--gd)}
.btn svg{width:15px;height:15px}
.btn.sm{padding:11px 22px;font-size:14px}
.btn.out{background:#fff;color:var(--ink);border-color:#cfd6df}.btn.out:hover{border-color:var(--ink);background:#fff}
.btn.dark{background:var(--ink);border-color:var(--ink)}.btn.dark:hover{background:#000;border-color:#000}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.nav.solid{border-color:var(--line)}
.nin{max-width:1140px;margin:0 auto;height:76px;padding-inline:max(20px,4vw);display:flex;align-items:center;justify-content:space-between;gap:24px}
@media(min-width:1240px){.nin{padding-inline:0}}
.brand img{height:26px;display:block}
.npill{display:flex;gap:30px}
.nact{display:flex;align-items:center;gap:10px}
.nlogin{gap:8px}.nlogin svg{width:16px;height:16px;flex:none}
.nact .btn,.npill a{white-space:nowrap}

.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.burger i{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.nav.open .burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav.open .burger i:nth-child(2){opacity:0}.nav.open .burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mmenu{display:none}
.npill a{font:500 14px var(--f);color:var(--mut);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.npill a:hover{color:var(--ink)}.npill a.cur{color:var(--ink);border-color:var(--g)}

/* hero */
.hero{padding:116px 0 40px}
.hgrid{display:grid;grid-template-columns:1fr 1.08fr;gap:52px;align-items:center}
.hero h1{font-size:clamp(42px,5.2vw,70px);line-height:1.06}
.hsub{color:var(--mut);font-size:17px;margin-top:20px;max-width:26em}
.hcta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hnote{margin-top:18px;font-size:13.5px;color:var(--dim)}
.hpanel{position:relative;background:#e4eee6;border-radius:28px;padding:clamp(18px,3vw,38px);overflow:hidden}
.hpanel:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 20% 0%,#f4faf5 0%,transparent 60%),radial-gradient(90% 70% at 100% 100%,#cfe5d4 0%,transparent 70%)}
.hstage{position:relative;aspect-ratio:1.08;display:grid;place-items:center;container-type:inline-size}
.inv{position:relative;width:min(60%,330px);aspect-ratio:.74;background:#fff;color:#16213a;border-radius:3px;padding:6%;font-size:calc(min(60cqw,330px) / 22.5);box-shadow:0 1px 2px rgba(35,43,61,.18),0 18px 40px rgba(35,43,61,.18);transition:transform .7s cubic-bezier(.3,.9,.3,1)}
.hpanel.s4 .inv{transform:translateX(-28%)}
.inv .t{font:600 .8em var(--f);letter-spacing:.18em;color:#8892a0}.inv .n{font:600 2.9em/1.05 var(--f);letter-spacing:-.03em;margin-top:2px}
.inv .bt{margin-top:4.8em;color:#6b7385}.inv .bt b{display:block;color:#16213a;font-size:1.2em;font-weight:600}
.inv .ro{margin-top:1.1em}.inv .ro div{display:flex;justify-content:space-between;padding:.45em 0;border-bottom:1px solid #e9edf2}
.inv .tt{display:flex;justify-content:space-between;margin-top:1em;font-weight:700;font-size:1.5em}
/* the QR slot: empty paper at first, like any invoice */
.qrslot{position:absolute;right:6%;top:7%;width:25%;aspect-ratio:1}
.qq{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3em;background:rgba(255,255,255,.78);border-radius:inherit;transition:opacity .4s}
.qq b{font:700 7.2em/1 var(--f);white-space:nowrap;color:#e0554a;letter-spacing:.08em;animation:qbob 1.3s ease-in-out infinite}
@keyframes qbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8%)}}
.qbub{color:#c0392b;font:700 2.3em/1.15 var(--f);letter-spacing:-.02em;white-space:nowrap;animation:qbob 1.3s ease-in-out .15s infinite}
.hpanel.s1 .qq,.hpanel.s2 .qq,.hpanel.s3 .qq,.hpanel.s4 .qq{opacity:0;pointer-events:none}
/* hero: the Scan2Pay logo appears over the question marks (class "on" on #hres, set by the hero loop) */
.hres{position:absolute;inset:0;z-index:8;display:grid;place-items:center;border-radius:inherit;background:rgba(247,249,251,.35);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;pointer-events:none}
.hres.on{opacity:1;visibility:visible}
.rbadge{width:52%;background:#fff;border-radius:999px;padding:4.5% 6%;box-shadow:0 14px 34px rgba(35,43,61,.18),0 2px 4px rgba(35,43,61,.08);transform:scale(.88);transition:transform .8s cubic-bezier(.2,1.2,.4,1)}
.hres.on .rbadge{transform:none}
.rbadge img{display:block;width:100%;height:auto}
.qrbox{position:absolute;inset:0;background:#fff;opacity:0;transform:translate(-150%,150%) scale(.85);transition:opacity .3s,transform .9s cubic-bezier(.3,.9,.3,1);outline:1.5px dashed #2fa84f;outline-offset:3px}
.qrbox svg{position:absolute;inset:4%;width:92%;height:92%;fill:#16213a}
.qrbox i{position:absolute;width:.6em;height:.6em;background:#fff;border:1.5px solid #2fa84f;border-radius:1px;transition:opacity .3s}
.qrbox i:nth-of-type(1){left:-.35em;top:-.35em}.qrbox i:nth-of-type(2){right:-.35em;top:-.35em}.qrbox i:nth-of-type(3){left:-.35em;bottom:-.35em}.qrbox i:nth-of-type(4){right:-.35em;bottom:-.35em}
.hpanel.s1 .qrbox{opacity:1;transform:translate(-150%,150%) scale(1)}
.hpanel.s2 .qrbox{opacity:1;transform:none}
.hpanel.s3 .qrbox{opacity:1;transform:none;outline-color:transparent}
.hpanel.s3 .qrbox i{opacity:0}
.pcur{position:absolute;width:1.9em;height:1.9em;z-index:5;opacity:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));pointer-events:none;transition:left .9s cubic-bezier(.3,.8,.3,1),top .9s cubic-bezier(.3,.8,.3,1),opacity .25s;left:-110%;top:262%}
.hpanel.s1 .pcur{opacity:1;left:-110%;top:262%}
.hpanel.s2 .pcur{opacity:1;left:88%;top:92%}
.hpanel.s3 .pcur{opacity:0;left:92%;top:118%}
/* the phone, held in front of the invoice */
.phone{position:absolute;left:calc(100% + 6%);top:50%;width:50%;aspect-ratio:.52;transform:translate(30%,-50%);opacity:0;background:#1c2128;border-radius:22px;padding:5px;transition:transform .7s cubic-bezier(.3,.9,.3,1),opacity .5s;box-shadow:0 18px 40px rgba(35,43,61,.35),inset 0 0 0 1px rgba(255,255,255,.12)}
.hpanel.s4 .phone{transform:translate(0,-50%);opacity:1}
.phone:before{content:"";position:absolute;top:2.2%;left:50%;width:26%;height:3.2%;transform:translateX(-50%);background:#000;border-radius:99px;z-index:4}
.scr{position:relative;height:100%;border-radius:18px;background:#fff;color:#16213a;overflow:hidden;font-size:calc(min(60cqw,330px) / 22.5 * .86)}
.pg{position:absolute;inset:0;padding:16% 9% 8%;display:flex;flex-direction:column;gap:.7em;opacity:0;transition:opacity .4s}
.cam{position:absolute;inset:0;background:linear-gradient(160deg,#39414a 0%,#1d2329 60%,#14181c 100%);display:grid;place-items:center;transition:opacity .4s}
.hpanel.s6 .cam{opacity:0}
.cam{transition:opacity .25s}
.cam .vf{position:relative;width:62%;aspect-ratio:1;display:grid;place-items:center;margin-bottom:26%}
.cam .vf svg.q{width:70%;height:70%;fill:#16213a;background:#fff;padding:5%;border-radius:2px;display:block}
.cam .vf b{position:absolute;width:20%;height:20%;border:3px solid #fff;border-radius:4px;opacity:.95}
.cam .vf b:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.cam .vf b:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}
.cam .vf b:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}.cam .vf b:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.cam .beam{position:absolute;left:-4%;right:-4%;top:0;height:2px;background:#37d36b;box-shadow:0 0 12px 3px rgba(55,211,107,.85);border-radius:2px;opacity:0}
.hpanel.s4 .cam .beam{animation:laser 1.1s ease-in-out infinite}.hpanel.s5 .cam .beam{animation:none;opacity:0}
@keyframes laser{0%{top:4%;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:96%;opacity:0}}
.hpanel.s5 .cam .vf b{border-color:#37d36b}
.pg.pay{opacity:0}.hpanel.s6 .pg.pay{opacity:1;transition-delay:.25s}.hpanel.s7 .pg.pay{opacity:0;transition-delay:0s}
.pay .hd{display:flex;align-items:center;gap:.5em;font-weight:600;font-size:.95em}
.pay small{color:#7d8594;font-weight:500;margin-top:.8em}.pay .amt{font:600 2em/1 var(--f);white-space:nowrap;letter-spacing:-.03em}
.pay .opt{border:1px solid #dfe4ea;border-radius:10px;padding:.75em .8em;font-weight:500;display:flex;justify-content:space-between;white-space:nowrap;color:#3d4757}
.pay .go{margin-top:auto;background:var(--gb);color:#fff;border-radius:10px;text-align:center;padding:.9em 0;font-weight:600;transition:background .3s}
.pg.done{opacity:0;align-items:center;justify-content:center;text-align:center;background:#fff}.hpanel.s7 .pg.done{opacity:1;transition-delay:.25s}
.done .ck{width:4.2em;height:4.2em;border-radius:50%;background:var(--gb);display:grid;place-items:center;transform:scale(.6);transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.hpanel.s7 .done .ck{transform:none}.done .ck svg{width:55%;height:55%}
.done b{font:600 1.35em/1.2 var(--f)}.done small{color:#7d8594;margin:0}

/* green banner: numbers */
.banner{margin-top:56px;background:var(--gb);color:#fff;border-radius:28px;padding:clamp(30px,4vw,46px) clamp(20px,4vw,48px)}
.banner .btitle{text-align:center;font-size:clamp(17px,1.7vw,21px);font-weight:500;letter-spacing:-.01em;color:#fff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px}
.stats div{text-align:center;padding:4px 16px;border-left:1px solid rgba(255,255,255,.28)}.stats div:first-child{border-left:0}
.stats b{display:block;font:500 clamp(40px,4.6vw,62px)/1 var(--f);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.stats span{display:block;margin-top:8px;font-size:14px;color:#fff}
.proof{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.28);font-size:14px;color:#fff}
.proof li{display:flex;align-items:center;gap:8px}.proof svg{width:16px;height:16px;flex:none}

.sec{padding:100px 0}

/* feature panels */
.fpanel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center;background:var(--soft2);border-radius:28px;padding:clamp(22px,4vw,48px);margin-top:22px}
.fpanel.rev .fvis{order:2}
.fvis{position:relative;background:#fff;border-radius:20px;box-shadow:0 18px 44px rgba(35,43,61,.1);overflow:hidden;aspect-ratio:1.15}
.fvis img{display:block;width:100%;height:100%;object-fit:cover;object-position:100% 0}
.fvis.nat{aspect-ratio:auto;background:none;box-shadow:none;border-radius:0;overflow:visible}.fvis.nat img{height:auto;object-fit:initial;border-radius:20px;box-shadow:0 18px 44px rgba(35,43,61,.1)}.fvis.nat img{height:auto;object-fit:initial}
.ftxt h3{font-size:clamp(28px,3vw,40px);line-height:1.12}
.ftxt p{color:var(--mut);margin-top:14px;font-size:15px;max-width:30em}
.ftxt ol{list-style:none;margin-top:22px;display:grid;gap:12px;counter-reset:n}
.ftxt li{counter-increment:n;display:flex;gap:14px;align-items:baseline;font-size:15.5px}
.ftxt li:before{content:counter(n);flex:none;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--gd);font:600 12.5px/26px var(--f);text-align:center;border:1px solid #b9dcc2}
.ftxt li b{font-weight:600}

/* how it works: animated walkthrough (stages s1..s17 on #dwin, set by the demo loop in site.js) */
.vp{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 22px 56px rgba(35,43,61,.1);margin-top:40px}
.stabs{display:flex;gap:6px;padding:12px;background:var(--soft2);overflow-x:auto;scrollbar-width:none}.stabs::-webkit-scrollbar{display:none}
.stabs button{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:10px;font:500 14.5px/1 var(--f);color:var(--mut);background:transparent;border:0;border-radius:99px;padding:13px 14px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.stabs button i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:600 12.5px var(--f);font-style:normal;background:#fff;color:var(--mut)}
.stabs button:hover{color:var(--ink)}
.stabs button[aria-current=step]{background:#fff;color:var(--ink);box-shadow:0 2px 10px rgba(35,43,61,.1)}
.stabs button[aria-current=step] i{background:var(--gb);color:#fff}
.dstage{container-type:inline-size;background:#f7f9fb}
.dwin{position:relative;overflow:hidden;font:400 clamp(10px,1.4cqw,14.5px)/1.35 var(--f);color:var(--ink);padding:2.2em 2.4em 2.4em;user-select:none;-webkit-user-select:none;pointer-events:none}
.dwin p{margin:0}
.dapp{position:relative;transition:opacity .4s}.dwin.out .dapp,.dwin.out .dcur{opacity:0}
.dwin.nt *,.dwin.nt{transition:none!important}
.dh{font-weight:700;font-size:1.7em;letter-spacing:-.02em}
.dsteps{list-style:none;display:flex;align-items:center;gap:.8em;margin:1.3em 0 1.5em;padding:0;transition:opacity .3s}
.dsteps li{display:flex;align-items:center;gap:.6em;color:var(--dim);font-weight:500;white-space:nowrap;flex:1 1 auto}.dsteps li:last-child{flex:none}
.dsteps li:not(:last-child):after{content:"";flex:1;min-width:1em;height:2px;background:var(--line);transition:background .3s}
.dsteps i{position:relative;width:2.1em;height:2.1em;border-radius:50%;border:2px solid #cfd6df;display:grid;place-items:center;font-style:normal;font-weight:600;font-size:.9em;flex:none;background:#fff;transition:background .3s,border-color .3s,color .3s}
.dsteps i svg{position:absolute;width:55%;height:55%;opacity:0;color:#fff;transition:opacity .3s}
.dsteps .k1,.s8 .dsteps .k2,.s12 .dsteps .k3{color:var(--ink);font-weight:600}.dsteps .k1 i,.s8 .dsteps .k2 i,.s12 .dsteps .k3 i{border-color:var(--g);color:var(--gb)}
.s8 .dsteps .k1 i,.s12 .dsteps .k2 i{background:var(--g);border-color:var(--g)}.s8 .dsteps .k1 i b,.s12 .dsteps .k2 i b{opacity:0}.s8 .dsteps .k1 i svg,.s12 .dsteps .k2 i svg{opacity:1}
.s8 .dsteps .k1,.s12 .dsteps .k2{color:var(--mut);font-weight:500}.s8 .dsteps .k1:after,.s12 .dsteps .k2:after{background:var(--g)}
.dbody{display:grid;grid-template-columns:1.45fr 1fr;gap:1.6em;align-items:start;transition:opacity .3s}
.dcard{background:#fff;border:1px solid var(--line);border-radius:1em;padding:1.8em}
.dform{display:grid}.dp{grid-area:1/1;transition:opacity .3s,visibility .3s}
.p2,.p3,.s8 .p1,.s12 .p2{opacity:0;visibility:hidden;transition-delay:0s}
.s8 .p2,.s12 .p3{opacity:1;visibility:visible;transition-delay:.25s}
.s12 .p2{opacity:0;visibility:hidden;transition-delay:0s}
.dt{font-weight:700;font-size:1.45em;letter-spacing:-.02em}
.dsub{color:var(--mut);margin-top:.5em!important}
.dl{font-weight:600;margin:1.2em 0 .5em!important}
.dsel{position:relative;display:flex;align-items:center;gap:.5em;border:1px solid #cfd6df;border-radius:.55em;padding:.7em .9em;white-space:nowrap;transition:border-color .2s,box-shadow .2s}
.dsel>svg{margin-left:auto;width:1em;height:1em;flex:none;color:var(--dim)}
.dsel .ph{color:var(--dim)}.dsel .ty,.dsel .val{display:none}.dsel .val{overflow:hidden;text-overflow:ellipsis}
.s2 .dsel{border-color:var(--g);box-shadow:0 0 0 3px var(--soft)}.s2 .dsel .ph{display:none}.s2 .dsel .ty{display:inline}
.dsel .ty:after{content:"";display:inline-block;width:1px;height:1.1em;margin-left:1px;vertical-align:-.2em;background:var(--ink);animation:dblink 1s steps(1) infinite}
@keyframes dblink{50%{opacity:0}}
.ddrop{position:absolute;z-index:3;left:-1px;right:-1px;top:calc(100% + .35em);background:#fff;border:1px solid var(--line);border-radius:.55em;box-shadow:0 .8em 2em rgba(35,43,61,.12);padding:.3em;opacity:0;visibility:hidden;transform:translateY(-.3em);transition:opacity .2s,transform .2s,visibility .2s}
.ddrop span{display:block;padding:.6em .7em;border-radius:.35em;overflow:hidden;text-overflow:ellipsis;color:var(--mut)}.ddrop .hi{background:var(--soft2);color:var(--ink);font-weight:500}
.s3 .ddrop{opacity:1;visibility:visible;transform:none}
.s4 .ddrop{opacity:0;visibility:hidden}.s4 .dsel{border-color:#cfd6df;box-shadow:none}.s4 .dsel .ty{display:none}.s4 .dsel .val{display:inline}
.dqt{display:grid;grid-template-columns:1fr 1fr;gap:.7em}
.dqt span{display:grid;place-items:center;text-align:center;min-height:3.5em;padding:.4em .6em;border:1px solid #cfd6df;border-radius:.6em;font-weight:600;font-size:.92em;line-height:1.25;transition:background .25s,color .25s,border-color .25s,transform .12s}
.s6 .dqt .pay{background:var(--g);border-color:var(--g);color:#fff}
.durl{margin-top:.9em;border:1px solid #cfd6df;border-radius:.55em;padding:.7em .9em;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .3s}.s6 .durl{opacity:1}
.dnav{display:flex;justify-content:space-between;align-items:center;margin-top:1.3em}
.db{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:1px solid #cfd6df;border-radius:.55em;padding:.65em 1.2em;font-weight:600;background:#fff;white-space:nowrap;transition:transform .12s,background .2s,color .2s,border-color .2s,opacity .2s}
.db.g{background:var(--g);border-color:var(--g);color:#fff}.db.k{background:#1c2230;border-color:#1c2230;color:#fff}
.p1 .db.g{opacity:.45}.s6 .p1 .db.g{opacity:1}
.db .t2{display:none}.db svg{width:1em;height:1em}
.press{transform:scale(.93)}
.dinfo{margin-top:1em!important;background:#eef7f0;border:1px solid #b9dcc2;color:#1c5a2b;border-radius:.6em;padding:.8em 1em}
.dr{display:flex;align-items:center;gap:.6em;margin-top:.5em!important}.dr:before{content:"";width:1em;height:1em;border-radius:50%;border:1.5px solid #9aa5b4;box-sizing:border-box}.dr.on:before{border:.32em solid var(--g)}
.dsum{border:1px solid var(--line);background:#f9fafb;border-radius:.8em;padding:.3em 1.2em;margin-top:1em}
.dsum div{display:flex;justify-content:space-between;gap:1em;padding:.75em 0;border-bottom:1px solid var(--line)}.dsum div:last-child{border:0}.dsum span{color:var(--dim)}.dsum b{text-align:right;font-weight:600}
.spin{width:1em;height:1em;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:dspin .7s linear infinite}
@keyframes dspin{to{transform:rotate(360deg)}}
.s14 #dgen .t1{display:none}.s14 #dgen .t2{display:inline-flex;align-items:center;gap:.5em}
.dpt{font-weight:700;font-size:1.1em;margin-bottom:1em!important}
.paper{position:relative;aspect-ratio:1/1.15;border:1px solid var(--line);border-radius:.3em;padding:7% 8%;font-size:.6em;line-height:1.4;box-shadow:0 .4em 1.2em rgba(35,43,61,.06);overflow:hidden}
.pempty{position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);font-size:1.5em;transition:opacity .3s}.s4 .pempty{opacity:0}
.pin{opacity:0;transition:opacity .4s}.s4 .pin{opacity:1}
.paper small{display:block;color:var(--dim);font-size:.85em}.paper b{display:block}
.plogo{display:inline-flex;align-items:center;gap:.5em;background:#232b3d;color:#fff;font-weight:700;padding:.8em 1.1em;border-radius:.4em;margin-bottom:1.6em}.plogo i{width:.7em;height:.7em;border-radius:50%;background:var(--g3)}
.pno{font-size:2em;line-height:1.1;margin-bottom:1em}
.plines{margin-top:1.8em}.plines p{display:flex;justify-content:space-between;padding:.45em 0;border-bottom:1px solid var(--line)}.plines .phd{color:var(--dim);font-size:.85em;border-bottom-color:#cfd6df}.plines .ptot{font-weight:700;border:0}
.pfoot{position:absolute;left:8%;bottom:5%}
.dqr,.dqrend{position:absolute;width:17%;aspect-ratio:1;left:41%;top:52%}
.dqr{z-index:2;background:#fff;color:var(--ink);opacity:0;outline:2px dashed var(--g);outline-offset:3px;transition:opacity .3s,left 1s cubic-bezier(.45,0,.2,1),top 1s cubic-bezier(.45,0,.2,1),outline-color .3s}
.dqr svg{display:block;width:100%;height:100%;fill:currentColor}
.dqrend{left:76%;top:6%;visibility:hidden}
.s8 .dqr{opacity:1}.s10 .dqr{left:76%;top:6%}.s12 .dqr{outline-color:transparent}
.ddone{position:absolute;left:0;right:0;top:3.4em;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.s15 .dsteps,.s15 .dbody{opacity:0}.s15 .ddone{opacity:1;visibility:visible;transition-delay:.3s}
.dbox{background:#eef1f6;border-radius:.8em;padding:1.2em 1.4em;margin-top:1.1em}.dbox>p:not(.dl){display:flex;justify-content:space-between;gap:1em;margin-bottom:.5em!important}.dbox>p span{color:var(--dim)}.dbox b{text-align:right}
.demail{display:flex;gap:.6em}.din{flex:1;min-width:0;background:#fff;border:1px solid #cfd6df;border-radius:.55em;padding:.65em .9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s17 #dsend{border-color:var(--g);color:var(--gb)}.s17 #dsend .t1{display:none}.s17 #dsend .t2{display:inline-flex;align-items:center;gap:.4em}
.dfoot{display:flex;align-items:center;gap:1.4em;margin-top:1.3em}.dlink{color:var(--gb);font-weight:500}
.dcur{position:absolute;left:0;top:0;z-index:9;width:1.9em;height:1.9em;transform:translate(-3em,-3em);transition:transform .7s cubic-bezier(.3,.8,.3,1),opacity .3s}
.dcur svg{position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.dcur i{position:absolute;left:-.55em;top:-.55em;width:1.6em;height:1.6em;border-radius:50%;background:rgba(47,168,79,.35);opacity:0;transform:scale(.3)}
.dcur.clk i{animation:dclk .45s ease-out}
@keyframes dclk{0%{opacity:1;transform:scale(.3)}100%{opacity:0;transform:scale(1.6)}}
.dwin.calm .dcur{display:none}
@container (max-width:679px){
  .dwin{font-size:clamp(9.5px,3.4cqw,14px);padding:1.4em 1.3em 1.6em}
  .dsteps span{display:none}
  .dsteps .k1:not(:last-child):after{flex:1}
  .dbody{grid-template-columns:1fr}.dform,.dprev{grid-area:1/1}
  .dcard{padding:1.3em}
  .dprev{opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  .s8 .dprev{opacity:1;visibility:visible;transition-delay:.25s}.s8 .dform{opacity:0;visibility:hidden}
  .s11 .dprev{opacity:0;visibility:hidden;transition-delay:0s}.s11 .dform{opacity:1;visibility:visible;transition-delay:.25s}
  .paper{font-size:.75em}
}
.scap{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px}
.scap h3{font-size:clamp(20px,2vw,26px)}.scap p{color:var(--mut);margin-top:4px;max-width:560px;font-size:15px}
.dplay{flex:none;width:46px;height:46px;border-radius:50%;border:1px solid #cfd6df;background:#fff;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s,border-color .15s}
.dplay:hover{background:var(--g);border-color:var(--g);color:#fff}.dplay svg{width:16px;height:16px}
.dplay .i-play,.dplay.paused .i-pause{display:none}.dplay.paused .i-play{display:block}

/* features: tabs */
.ftabs{display:flex;gap:4px;width:max-content;max-width:100%;margin:36px auto 0;padding:5px;border-radius:99px;background:var(--soft2);overflow-x:auto;scrollbar-width:none}
.ftabs::-webkit-scrollbar{display:none}
.ftabs button{flex:none;font:500 14.5px/1 var(--f);color:var(--mut);background:none;border:0;padding:12px 18px;border-radius:99px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.ftabs button:hover{color:var(--ink)}
.ftabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 2px 10px rgba(35,43,61,.1)}
.ftabs button:focus-visible,.fpanel[role=tabpanel]:focus-visible{outline:2px solid var(--gb);outline-offset:2px}
.fpanel[hidden]{display:none}
.fcta{text-align:center;margin-top:34px}
/* features: drawn app screens */
.fvis.mk{display:grid;place-items:center;aspect-ratio:auto;padding:clamp(16px,3vw,34px);background:#f4f6f9}
.mcard{width:100%;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 10px 30px rgba(35,43,61,.08);font-size:14px}
.mhd{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.mhd b{font:600 16px var(--f);white-space:nowrap}
.mco{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-weight:500;font-size:13px;white-space:nowrap}.mco svg{width:12px;height:12px}
.mcos{display:grid;gap:2px;margin:-6px 0 14px auto;width:max-content;border:1px solid var(--line);border-radius:10px;padding:4px;box-shadow:0 8px 20px rgba(35,43,61,.08);font-size:13px}
.mcos span{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:7px;color:var(--mut)}.mcos .on{background:var(--soft2);color:var(--ink);font-weight:500}.mcos svg{width:13px;height:13px;color:var(--gb)}
.mtb{width:100%;border-collapse:collapse;font-size:13.5px}.mtb th{font:600 11px var(--f);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}.mtb td{padding:12px 6px;border-bottom:1px solid var(--line)}.mtb i{color:var(--dim);font-style:normal}
.tg{display:inline-block;font:600 11.5px/1 var(--f);font-style:normal;padding:5px 8px;border-radius:6px;background:#eef1f5;color:var(--mut)}.tg.g{background:var(--soft);color:#165f27}
.macts{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.mb{font:600 12.5px/1 var(--f);padding:8px 12px;border-radius:7px;border:1px solid var(--line);background:#fff;white-space:nowrap}.mb.red{background:#c0392b;border-color:#c0392b;color:#fff}

/* who: three-up cards */
.who{background:#f4f6f9;border-radius:36px;margin-inline:max(10px,1.5vw);padding:90px 0}
.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:44px}
.cards>div{flex:0 0 calc((100% - 36px)/3);background:#fff;border-radius:24px;padding:12px 12px 26px}
.cards .vis{height:110px;border-radius:16px;background:var(--soft);display:grid;place-items:center;color:var(--gd);margin-bottom:20px}
.cards .vis svg{width:44px;height:44px}
.cards b{display:block;font:500 19px/1.3 var(--f);letter-spacing:-.02em;padding:0 14px}.cards p{color:var(--mut);font-size:14.5px;margin-top:8px;padding:0 14px}

/* faq */
.faqs{padding:100px 0 40px}
.faq{max-width:820px;margin:44px auto 0}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font:500 18px/1.4 var(--f);letter-spacing:-.01em;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:4px;top:14px;font:300 30px/1 var(--f);color:var(--g);transition:transform .2s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq p{color:var(--mut);padding:0 44px 24px 0;max-width:46em}
.faqchat{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:30px;color:var(--mut);font-size:15px}
.chatlink{background:none;border:0;color:var(--gd);font:600 15px var(--f);cursor:pointer;text-decoration:underline;text-underline-offset:4px;padding:6px}

/* cta band */
.ctaw{padding:70px 0 80px}
.cta{position:relative;background:var(--soft);border-radius:36px;padding:clamp(60px,9vw,110px) 24px;text-align:center;overflow:hidden}
.cta h2{font-size:clamp(34px,4.4vw,56px)}.cta p{color:var(--mut);margin-top:14px;font-size:16px}.cta .btn{margin-top:28px}
.deco{position:absolute;background:#fff;border-radius:16px;box-shadow:0 14px 34px rgba(35,43,61,.14);padding:14px;display:flex;flex-direction:column;gap:6px}
.deco.a{left:-26px;top:34px;width:150px;transform:rotate(-12deg);font:600 12px var(--f)}
.deco.b{right:-20px;bottom:30px;width:150px;transform:rotate(10deg);font:600 12px var(--f)}
.deco small{color:var(--dim);font-weight:500}.deco b{font-size:22px;letter-spacing:-.03em;font-weight:600}.deco .ok{color:#165f27;background:var(--soft);border-radius:99px;padding:4px 10px;width:max-content}
.deco svg{width:64px;height:64px;fill:#16213a}

footer{padding:70px 0 34px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.fgrid img{height:26px;display:block}.fgrid p{color:var(--mut);font-size:14px;margin-top:16px;max-width:24em}
.fgrid .fh{font:600 15px var(--f);margin-bottom:14px}.fgrid a{display:block;color:var(--mut);text-decoration:none;font-size:14px;margin:9px 0}.fgrid a:hover{color:var(--ink)}

.legal{padding-top:14px;font-size:13px;color:var(--dim);max-width:780px;margin-inline:auto;text-align:center}.legal a{color:var(--mut);text-decoration:underline;text-underline-offset:3px}

@media(max-width:980px){
  .npill{display:none}.burger{display:flex}
  .nav.open{background:#fff;border-color:var(--line)}
  .nav.open .mmenu{display:grid;padding:6px max(20px,4vw) 18px;border-top:1px solid var(--line)}
  .mmenu a{padding:15px 2px;border-bottom:1px solid var(--line);font:500 17px var(--f);text-decoration:none}.mmenu a:last-child{border-bottom:0}
  .hgrid,.fpanel{grid-template-columns:1fr}.fpanel.rev .fvis{order:0}.hgrid{gap:36px}.hero{padding-top:100px}.sec{padding:70px 0}
  .cards>div{flex-basis:calc((100% - 18px)/2)}.who{padding:64px 0}
}
@media(max-width:700px){
  .stats{grid-template-columns:repeat(2,1fr);row-gap:24px}.stats div:nth-child(3){border-left:0}
  .fgrid{grid-template-columns:1fr}.cards>div{flex-basis:100%}
  .scap{flex-direction:column;align-items:flex-start;gap:14px}.stabs button span{display:none}.stabs button[aria-current=step] span{display:inline}.stabs button{padding:12px 10px}
  .deco{display:none}
  .fvis.mk{padding:12px}.mcard{padding:14px;font-size:13px}.mhd{flex-wrap:wrap}.mhd b{font-size:15px}.mtb{font-size:12.5px}.mtb th,.mtb td{padding:8px 4px}.mcos{max-width:100%}.macts{flex-wrap:wrap}
  .ftabs{width:auto;margin-top:26px;border-radius:16px}.ftabs button{font-size:13.5px;padding:11px 14px;border-radius:12px}
  .hcta .btn{flex:1 1 100%}.hnote{text-align:center}
  .fvis{display:flex;flex-direction:column}.fvis:not(.nat){aspect-ratio:auto}
  .fvis:not(.nat) img{height:auto;aspect-ratio:1/.92;object-fit:cover;object-position:50% 0}
  .cards>div{display:grid;grid-template-columns:64px 1fr;column-gap:14px;align-items:center;padding:12px}.cards .vis{grid-row:1/3;height:64px;margin:0;border-radius:14px}.cards .vis svg{width:30px;height:30px}.cards b,.cards p{padding:0}.cards b{align-self:end}.cards p{margin-top:2px;align-self:start}
  .hero h1{font-size:40px}
}
@media(max-width:380px){.wrap{padding-inline:16px}.hero h1{font-size:36px}.stats b{font-size:36px}.btn{padding:14px 20px}.nin{gap:10px}.nact .btn.sm{padding:10px 14px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.inv,.phone{transition:none}.hpanel.s1 .beam{animation:none}html{scroll-behavior:auto}}

/* ZATCA section */
.zatca .zhd{grid-column:1/-1}.zatca .zhd h3{font-size:clamp(26px,2.8vw,36px);line-height:1.15;max-width:22em}.zatca .zhd p{color:var(--mut);margin-top:12px;font-size:15.5px;max-width:46em}
.zatca .ar{margin-top:12px;font-family:'Noto Sans Arabic','Segoe UI',Tahoma,sans-serif;font-size:16px;color:var(--mut);max-width:34em}
.fpanel.ztc{align-items:start}
.fpanel.ztc .ftxt h3{font-size:clamp(24px,2.4vw,32px)}
.fpanel.ztc .znote{margin-top:22px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid #b9dcc2;font-size:14.5px;color:var(--ink)}
@media(max-width:700px){.fpanel.ztc{grid-template-columns:1fr}}
.zatca .zlinks{margin-top:14px;font-size:14.5px}.zatca .zlinks a{color:var(--gd);font-weight:600;text-underline-offset:3px}

/* header: Login button next to Get Scan2Pay (kept last so it wins over the base rules above) */
.nin .brand{flex:none}
@media(max-width:600px){.nin{gap:8px}.nin .nact{gap:6px}.nin .nact .btn.sm{padding:9px 12px;font-size:13px}.nin .nlogin{gap:5px}.nin .nlogin svg{width:14px;height:14px}.nin .burger{width:38px;height:38px}.nin .brand img{height:22px}}
@media(max-width:420px){.nin .nlogin svg{display:none}.nin .nact .btn.sm{padding:9px 11px}}
@media(max-width:359px){.nin .nlogin{display:none}}
@media(max-width:479px){html[dir=rtl] .nin .nlogin{display:none}}

/* buttons: dark green of the logo (#224514) */
:root{--btn:#224514;--btnH:#173210}
.btn{background:var(--btn);border-color:var(--btn)}
.btn:hover{background:var(--btnH);border-color:var(--btnH)}
.pay .go{background:var(--btn)}
.db.g{background:var(--btn);border-color:var(--btn)}

/* green text: logo green #224514, to match the buttons */
h1 em,h2 em,h3 em,
h3 em,.who h2 em,.cta h2 em,
.pill,
.ftxt li:before,
.dsteps .k1 i,.s8 .dsteps .k2 i,.s12 .dsteps .k3 i,
.dinfo,
.s17 #dsend,
.dlink,
.mcos svg,
.tg.g,
.cards .vis,
.faq summary:after,
.chatlink,
.deco .ok,
.zatca .zlinks a{color:#224514}

/* CookieYes floating settings button: sit above the Sienna accessibility button, centred on it.
   CookieYes uses a 45px button (36px at 480px and below); Sienna's is 58px wide at left:20px. */
.cky-btn-revisit-wrapper{margin-bottom:76px;translate:11.5px 0}
@media(max-width:480px){.cky-btn-revisit-wrapper{margin-bottom:83px;translate:23px 0}}
