:root,[data-theme="dark"]{color-scheme:dark;--ink:#0b1a2e;--ink2:#0F2A47;--paper:#0b1a2e;--nav:rgba(11,26,46,.88);--line:rgba(121,146,180,.22);--tx:#ECEEF0;--mut:#7992B4;--royal:#2A6DE3;--sky:#5BC4CC;--lime:#5BC4CC;--hl:#5BC4CC;--cta:#2A6DE3;--btn-fg:#ffffff;--ledger-bg:rgba(34,36,40,.55);--rail-bg:rgba(15,42,71,.6);--card-soft:rgba(11,26,46,.8);--lead:#c9d3e2;--form-shadow:rgba(42,109,227,.35);--disp:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;--body:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--mono:Verdana,Geneva,Tahoma,sans-serif}
html[data-theme="light"]{color-scheme:light;--ink:#ffffff;--ink2:#ECEEF0;--paper:#ffffff;--nav:rgba(255,255,255,.92);--line:rgba(15,76,129,.14);--tx:#222428;--mut:#5c6f8c;--royal:#002CF0;--sky:#2A6DE3;--lime:#002CF0;--hl:#0F4C81;--cta:#002CF0;--btn-fg:#ffffff;--ledger-bg:#ffffff;--rail-bg:#ECEEF0;--card-soft:#ffffff;--lead:#3d4a5e;--form-shadow:rgba(0,44,240,.18)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--tx);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}img{max-width:100%}
.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
section{padding:120px 0;position:relative;border-top:1px solid var(--line)}
.alt{background:var(--ink2)}
h1,h2,h3{font-family:var(--disp);letter-spacing:-.03em;line-height:1.02}
h2{font-size:clamp(2.2rem,5vw,4.2rem);font-weight:800;max-width:16ch}
h3{font-size:1.25rem;font-weight:600;margin-bottom:8px}
p{color:var(--mut)}
.kick{font:600 .74rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sky);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.kick:before{content:"";width:28px;height:2px;background:var(--lime)}
.sub{font-size:1.12rem;max-width:58ch;margin:22px 0 56px}
.hl{font-family:var(--disp);font-style:normal;font-weight:800;color:var(--hl);letter-spacing:-.03em}
i,em,cite,address,dfn,var{font-style:normal!important}
em{font-family:inherit;font-weight:800;color:var(--hl)}
.px{font-style:normal;font-weight:600;font-family:var(--mono);font-size:.85em;opacity:.85}
/* nav */
nav{position:sticky;top:0;z-index:50;background:var(--nav);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;gap:28px;height:72px}nav img{height:34px;display:block}
.links{display:flex;gap:24px;margin-left:auto;font-size:.92rem}.links a{text-decoration:none;color:var(--mut)}.links a:hover{color:var(--tx)}
.links a[href^=tel]{font-family:var(--mono);color:var(--hl);font-size:.85rem}
.burger{display:none;background:none;border:0;width:36px;height:36px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;padding:6px}.burger span{height:2px;background:var(--tx);display:block}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;font:600 .95rem var(--disp);text-decoration:none;border:0;cursor:pointer;border-radius:2px;transition:transform .2s,background .2s,color .2s}
.btn.p{background:var(--cta);color:var(--btn-fg)}.btn.p:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--royal)}
.btn.g{border:1px solid var(--line);color:var(--tx);font-family:var(--mono);font-size:.88rem}.btn.g:hover{border-color:var(--sky)}
nav .btn{padding:10px 16px}
/* hero */
.hero{position:relative;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;padding:48px 0 28px}
.aurora{position:absolute;inset:-20%;filter:blur(80px) saturate(140%);opacity:.75;z-index:0}
.aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen;animation:drift 26s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:55vw;height:55vw;background:radial-gradient(circle,var(--royal),transparent 65%);left:40%;top:5%}
.aurora i:nth-child(2){width:45vw;height:45vw;background:radial-gradient(circle,var(--sky),transparent 65%);left:62%;top:35%;animation-duration:32s;animation-delay:-8s}
.aurora i:nth-child(3){width:30vw;height:30vw;background:radial-gradient(circle,rgba(91,196,204,.35),transparent 65%);left:30%;top:55%;animation-duration:38s;animation-delay:-14s}
@keyframes drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-8vw,6vh) scale(1.15)}100%{transform:translate(5vw,-5vh) scale(.92)}}
.ribbon{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.ribbon path{fill:none;stroke-linecap:round}
#rib{stroke:var(--lime);stroke-width:2.4;opacity:.7}#rib2{stroke:var(--sky);stroke-width:1.2;opacity:.6}
.herogrid{position:relative;z-index:2;display:grid;grid-template-columns:1.4fr .9fr;gap:36px;align-items:center;width:100%}
.eyebrow{font:500 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tx);display:flex;align-items:center;gap:10px;margin-bottom:16px}
.dot{width:8px;height:8px;background:#ff3b3b;display:inline-block;clip-path:polygon(50% 0,61% 35%,100% 35%,68% 57%,79% 100%,50% 75%,21% 100%,32% 57%,0 35%,39% 35%)}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:800;line-height:1.05;letter-spacing:-.04em}
h1 span{display:block;overflow:hidden}
h1 .hl{font-size:.82em;line-height:1.05;padding-bottom:.06em}
.kin span{transform:translateY(105%);opacity:0;animation:up .9s cubic-bezier(.2,.8,.2,1) forwards}
.kin span:nth-child(2){animation-delay:.12s}.kin span:nth-child(3){animation-delay:.26s}
@keyframes up{to{transform:none;opacity:1}}
.lead{font-size:1.05rem;max-width:54ch;margin:18px 0 22px;color:var(--lead)}
.ctas{display:flex;gap:14px;flex-wrap:wrap}
.ledger{border-left:2px solid var(--hl);background:var(--ledger-bg);backdrop-filter:blur(6px);border:1px solid var(--line);border-left:3px solid var(--hl)}
.lrow{display:flex;align-items:baseline;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}.lrow:last-child{border:0}
.lrow b{font:600 1.85rem var(--disp);letter-spacing:-.04em;min-width:3.2ch;color:var(--tx)}.lrow span{font:.78rem var(--mono);color:var(--mut);text-transform:uppercase;letter-spacing:.05em}
.rail{position:relative;z-index:2;margin-top:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--rail-bg)}
.track{display:flex;width:max-content;animation:mq 40s linear infinite}
.track span{font:600 1rem var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:18px 34px;white-space:nowrap;display:flex;align-items:center;gap:34px;color:var(--mut)}
.track span:after{content:"";width:8px;height:8px;background:var(--hl);transform:rotate(45deg)}
@keyframes mq{to{transform:translateX(-50%)}}
/* testimonials */
.voices{background:var(--ink2);color:var(--tx);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:56px}
.voices .wrap{max-width:900px}
.voices .kick{color:var(--mut)}.voices .kick:before{background:var(--lime)}
.voice blockquote{font:600 clamp(1.2rem,2vw,1.65rem)/1.35 var(--disp);letter-spacing:-.02em;color:var(--tx);max-width:52ch}
.voice.big blockquote{font-size:clamp(1.45rem,2.8vw,2.15rem);line-height:1.2;max-width:40ch}
.voice mark{background:transparent;color:var(--hl);padding:0;font-weight:800}
figcaption{font:.82rem var(--mono);margin-top:18px;text-transform:uppercase;letter-spacing:.06em}
.vpair{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
/* cards / pillars */
.card{position:relative;padding:32px;background:transparent;border-top:1px solid var(--line)}
.ic{width:46px;height:46px;color:var(--sky);margin-bottom:22px}.ico{width:100%;height:100%}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);counter-reset:p;border-left:1px solid var(--line)}
.pillars .card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 34px 48px;counter-increment:p;transition:background .3s}
.pillars .card:before{content:"0" counter(p);position:absolute;top:30px;right:30px;font:.8rem var(--mono);color:var(--mut)}
.card:hover{background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(42,109,227,.12),transparent 60%)}
.card:hover .ic{color:var(--lime)}
.card ul{padding:0;list-style:none;margin-top:18px}.card li{padding:8px 0 8px 22px;border-top:1px dashed var(--line);position:relative;color:var(--lead);font-size:.95rem}
.card li:before{content:"";position:absolute;left:0;top:17px;width:10px;height:2px;background:var(--lime)}
.grid{display:grid;gap:0}.g2{grid-template-columns:1fr 1fr;gap:40px}.g4{grid-template-columns:repeat(4,1fr)}
/* pos */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.checks{list-style:none;padding:0;margin:30px 0;columns:2;column-gap:30px}.checks li{break-inside:avoid;padding:10px 0;border-top:1px solid var(--line);font-size:.95rem}
.checks li:before{content:"→ ";color:var(--lime);font-family:var(--mono)}
.badge{font:600 .7rem var(--mono);background:var(--lime);color:var(--ink);padding:3px 7px;margin-right:6px}
#pos a:not(.btn){color:var(--sky)}
.device{position:relative;transform:rotate(-4deg);transition:transform .8s}.device.in{transform:rotate(-2deg)}
.bezel{background:#1a1d24;border-radius:30px;padding:18px;box-shadow:0 0 0 2px #2b2f3a,30px 40px 0 -10px var(--royal),0 50px 100px rgba(0,0,0,.5)}
.screen{background:#f3f1ea;color:#111;border-radius:12px;display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:auto 1fr;aspect-ratio:4/3;overflow:hidden;font-size:.8rem}
.sbar{grid-column:1/-1;display:flex;justify-content:space-between;padding:10px 14px;background:#111;color:#f3f1ea;font-family:var(--mono);font-size:.7rem}.sbar b{color:var(--lime)}
.menu{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}
.menu span{background:#fff;border:1px solid #ddd;padding:10px;font-weight:600;display:flex;flex-direction:column;justify-content:space-between}
.menu em,.ticket em{font:400 .72rem var(--mono);color:#666}
.ticket{background:#fff;border-left:1px dashed #bbb;padding:12px;display:flex;flex-direction:column;gap:6px}
.ticket span,.ticket b{display:flex;justify-content:space-between}.ticket .tot{border-top:1px solid #111;padding-top:6px;margin-top:auto}
.pay{background:var(--royal);color:#fff;text-align:center;padding:10px;font-weight:600;animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{background:#0F4C81}}
.tag{position:absolute;bottom:-18px;left:-14px;background:var(--lime);color:var(--ink);font:600 .75rem var(--mono);padding:8px 12px;transform:rotate(3deg);text-transform:uppercase}
/* payments */
.pm{display:flex;flex-wrap:wrap;gap:0;margin-bottom:50px;border-top:2px solid var(--tx)}
.pm span{flex:1 1 22%;padding:22px 0;border-bottom:1px solid var(--line);font:700 1.35rem var(--disp);letter-spacing:-.02em;transition:color .2s,padding .2s}
.pm span:hover{color:var(--lime);padding-left:10px}
/* steps */
.steps{counter-reset:s;border-top:2px solid var(--tx)}
.step{counter-increment:s;border:0;border-right:1px solid var(--line);padding:28px 28px 10px 0;margin-right:28px}
.step:last-child{border:0}
.step:before{content:counter(s,decimal-leading-zero);display:block;font:800 4.4rem/1 var(--disp);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--sky);margin-bottom:20px}
/* stripe */
.stripe{background:repeating-linear-gradient(135deg,transparent 0 22px,rgba(42,109,227,.06) 22px 23px),var(--ink2)}
.stripe .card{border:1px solid var(--line);background:var(--card-soft);padding:44px}
.stripe .card:first-child{border-top:4px solid var(--royal)}.stripe .card:last-child{border-top:4px solid var(--lime)}
/* industries */
.inds{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}
.inds .card{display:grid;grid-template-columns:46px 1fr;gap:0 20px;padding:28px 0}.inds .ic{grid-row:span 2;margin:0}
/* faq */
details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:24px 0;font-size:1.25rem;font-weight:600;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font:400 1.6rem/1 var(--mono);color:var(--lime);transition:transform .3s}details[open] summary:after{transform:rotate(45deg)}
details p{padding:0 0 24px;max-width:66ch}
/* cta */
.cta{background:var(--royal);border:0}
.cta p,.cta .kick{color:#dbe4ff}.cta .hl{color:#fff}
.contact a{display:block;font:700 clamp(1.4rem,2.6vw,2rem) var(--disp);letter-spacing:-.03em;text-decoration:none;margin-top:6px}.contact a:hover{color:var(--lime)}
form{background:var(--paper);padding:40px;display:grid;gap:18px;box-shadow:8px 8px 0 var(--form-shadow);border:1px solid var(--line)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:grid;gap:6px;font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
input,textarea{background:transparent;border:0;border-bottom:1px solid var(--line);padding:10px 0;color:var(--tx);font:1rem var(--disp);border-radius:0}
input:focus,textarea:focus{outline:0;border-color:var(--lime)}
form .btn{justify-self:start}
/* footer */
footer{padding:80px 0 40px;border-top:1px solid var(--line)}
.cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.cols img{height:40px;margin-bottom:16px}
.cols h4{font:600 .75rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--lime);margin-bottom:14px}
.cols a,.cols span{display:block;color:var(--mut);text-decoration:none;padding:3px 0}.cols a:hover{color:var(--tx)}
.disc{font-size:.78rem;margin-top:60px;padding-top:24px;border-top:1px solid var(--line)}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,150%);background:var(--cta);color:#fff;padding:14px 22px;font-weight:600;transition:transform .4s;z-index:200}.toast.on{transform:translate(-50%,0)}
/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
.device.rv.in{transform:rotate(-2deg)}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
@media(max-width:1000px){.links{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:var(--ink);padding:20px 28px;border-bottom:1px solid var(--line)}.links.open{display:flex}.burger{display:flex;margin-left:auto}nav>.wrap>.btn{display:none}
.herogrid,.split{grid-template-columns:1fr;gap:50px}.pillars,.inds{grid-template-columns:1fr 1fr}.g4{grid-template-columns:1fr 1fr}.step:nth-child(2){border:0}}
@media(max-width:640px){section{padding:80px 0}.wrap{padding:0 20px}.pillars,.inds,.g2,.g4,.vpair,.row,.cols{grid-template-columns:1fr}.vpair{gap:40px}.step{border:0;border-bottom:1px solid var(--line);margin:0}.checks{columns:1}.pm span{flex-basis:50%;font-size:1.3rem}form{padding:26px;box-shadow:8px 8px 0 var(--royal)}.track span{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.kin span,.rv{opacity:1;transform:none}html{scroll-behavior:auto}}

/* theme toggle */
.theme-tog{display:inline-flex;align-items:center;gap:8px;margin-left:8px;background:transparent;border:1px solid var(--line);color:var(--tx);padding:8px 12px;border-radius:999px;cursor:pointer;font:600 .75rem var(--mono);letter-spacing:.04em;text-transform:uppercase}
.theme-tog:hover{border-color:var(--sky)}
.theme-tog .ico-sun,.theme-tog .ico-moon{width:16px;height:16px;display:none}
html[data-theme="dark"] .theme-tog .ico-sun{display:block}
html[data-theme="light"] .theme-tog .ico-moon{display:block}
html[data-theme="light"] .aurora{opacity:.35;filter:blur(90px) saturate(120%)}
html[data-theme="light"] .aurora i{mix-blend-mode:multiply}
html[data-theme="light"] #rib{stroke:var(--royal);opacity:.45}
html[data-theme="light"] #rib2{stroke:var(--sky);opacity:.4}
html[data-theme="light"] .grain{opacity:.035}
html[data-theme="light"] .btn.p:hover{box-shadow:4px 4px 0 #0F4C81}
html[data-theme="light"] .tag,html[data-theme="light"] .badge,html[data-theme="light"] .toast{background:var(--royal);color:#fff}
html[data-theme="light"] .sbar b{color:#5BC4CC}
@media(max-width:1000px){.theme-tog{margin-left:auto;margin-right:8px}}

/* ---- appended by build.py: prose pages (privacy, blog) + the live lead form ---- */
.prose{max-width:760px}
.prose h1{font-family:var(--disp);font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.prose h2{font-size:clamp(1.2rem,2.1vw,1.5rem);font-weight:700;max-width:none;margin:46px 0 12px;letter-spacing:-.02em}
.prose p{margin:0 0 16px;color:var(--lead)}
.prose .sub{color:var(--mut)}
.prose ul,.prose ol{margin:0 0 20px;padding-left:22px;color:var(--lead)}
.prose li{margin:0 0 8px}
.prose a{color:var(--hl);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--tx);font-weight:700}
.prose .meta{font:600 .74rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:0 0 28px}
.prose .prose-foot{margin-top:48px;padding-top:28px;border-top:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.bloglist{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:40px}
.bloglist .card{display:block;text-decoration:none;padding:26px}
.bloglist .card h3{color:var(--tx)}
.bloglist .card .meta{margin:14px 0 0}
.formmsg{margin-top:14px;font-size:.92rem;color:var(--hl)}
.formmsg.bad{color:#ff8a8a}
button[disabled]{opacity:.6;cursor:progress}
@media(max-width:860px){.prose h2{margin-top:34px}}
