.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* Hallmark · polish of an existing design (notiontech.com.au), 12 Nov 2026 · genre: modern-minimal · job: enquire, the form ends every page · waive 38iii · the hero line "built in Sydney" in the brand blue, once, as the site signature */
:root{--nt-navy:#0B0E2D;--nt-ink:#20254A;--nt-mut:#5E6584;--nt-faint:#8A90AA;--nt-line:#E7E9F1;--nt-soft:#F6F7FB;--nt-blue:#0555F4;--nt-cyan:#00C2FF;--nt-violet:#0555F4;--nt-grad:linear-gradient(115deg,#00C2FF 0%,#0555F4 42%,#0446CC 70%,#0E9BE8 100%);--nt-ease:cubic-bezier(.2,.7,.2,1);--nt-max:1240px;--nt-head:76px;--nt-top:38px;--nt-r:26px;--nt-glass:rgba(255,255,255,.86);--nt-head:68px;--nt-serif:Newsreader,"Iowan Old Style","Palatino Linotype",Georgia,serif;--tc:var(--nt-blue);--nt-grad:linear-gradient(115deg,#0E9BE8 0%,#0555F4 100%);--nt-focus:#0555F4;--nt-f-display:Geist,Inter,system-ui,sans-serif;--nt-f-body:Inter,system-ui,sans-serif;--nt-f-mono:ui-monospace,Menlo,Consolas,monospace;--nt-c1:#fff;--nt-c2:#f6f7fb;--nt-c3:#c7cbe6;--nt-c4:rgba(0,194,255,.16);--nt-c5:rgba(14,155,232,.16);--nt-c6:#b4b9d9;--nt-c7:#9fa6d6;--nt-c8:rgba(11,14,45,.05);--nt-c9:rgba(5,85,244,.1);--nt-c10:rgba(5,85,244,.08);--nt-c11:rgba(255,255,255,.07);--nt-c12:#cfe9ff;--nt-c13:rgba(5,85,244,.26);--nt-c14:rgba(11,14,45,.18);--nt-c15:rgba(255,255,255,.22);--nt-c16:rgba(0,194,255,.14);--nt-c17:rgba(14,155,232,.12);--nt-c18:rgba(27,31,224,.2);--nt-c19:rgba(11,14,45,.08);--nt-c20:rgba(11,14,45,.35);--nt-c21:rgba(5,85,244,.4);--nt-c22:#fbfbfe;--nt-c23:#e3e5ee;--nt-c24:#f0f2f8;--nt-c25:#a5aacb;--nt-c26:rgba(255,255,255,.04);--nt-c27:rgba(255,255,255,.08);--nt-c28:rgba(255,255,255,.1);--nt-c29:rgba(0,0,0,.6);--nt-c30:#e8ebff;--nt-c31:#daddf2;--nt-c32:rgba(255,255,255,.92);--nt-c33:rgba(11,14,45,.25);--nt-c34:#a9aed0;--nt-c35:#7fd8ff;--nt-c36:#7c84a8;--nt-c37:#0555f4;--nt-c38:#0a9f6b;--nt-c39:rgba(11,14,45,.3);--nt-c40:#eef0f6;--nt-c41:#dfe3ff;--nt-c42:#00c2ff;--nt-c43:#22c08a;--nt-c44:#f5b94a;--nt-c45:#e8ebf3;--nt-c46:#0b0e2d;--nt-c47:rgba(11,14,45,.6);--nt-c48:#22e39a;--nt-c49:rgba(34,227,154,.15);--nt-c50:#e3e6fa;--nt-c51:rgba(0,194,255,.1);--nt-c52:#9fe3ff;--nt-c53:#000;--nt-c54:rgba(14,155,232,.14);--nt-c55:#3d4366;--nt-c56:#eef1fb;--nt-c57:rgba(0,194,255,.28);--nt-c58:rgba(5,85,244,.22);--nt-c59:rgba(14,155,232,.26);--nt-c60:rgba(255,255,255,.82);--nt-c61:rgba(11,14,45,.06);--nt-c62:#eef0f7;--nt-c63:rgba(14,155,232,.13);--nt-c64:rgba(5,85,244,.10);--nt-c65:rgba(11,14,45,.45);--nt-c66:rgba(11,14,45,.55);--nt-c67:rgba(255,255,255,.12);--nt-c68:rgba(255,255,255,.18);--nt-c69:rgba(255,255,255,.75);--nt-c70:#11153a;--nt-c71:rgba(0,0,0,.5);--nt-c72:rgba(0,194,255,.55);--nt-c73:rgba(150,60,255,.45);--nt-c74:rgba(5,85,244,.11);--nt-c75:rgba(11,14,45,.4);--nt-c76:rgba(11,14,45,.07);--nt-c77:#dde1f8;--nt-c78:#a9afd0;--nt-c79:#c9ceea;--nt-c80:rgba(11,14,45,.055);--nt-c81:rgba(11,14,45,.28);--nt-c82:rgba(0,194,255,.15);--nt-c83:rgba(14,155,232,.15);--nt-c84:#f3f7ff;--nt-c85:#f8f3ff;--nt-c86:#e9ecf6;--nt-c87:rgba(14,155,232,.25);--nt-c88:#6fd6ff;--nt-c89:#e9ecfb;--nt-c90:#e6e9fa;--nt-c91:#c3c8e6;--nt-c92:rgba(255,255,255,.11);--nt-c93:rgba(255,255,255,0);--nt-c94:#8f96bc;--nt-c95:#b4badc;--nt-c96:#1faf55;--nt-c97:rgba(31,175,85,.6);--nt-c98:rgba(11,14,45,.1);--nt-c99:rgba(0,194,255,.2);--nt-c100:rgba(150,60,255,.17);--nt-c101:rgba(5,85,244,.09);--nt-c102:#f6f8ff;--nt-c103:rgba(11,14,45,.12);--nt-c104:rgba(0,194,255,.34);--nt-c105:rgba(14,155,232,.3);--nt-c106:rgba(11,14,45,.42);--nt-c107:rgba(5,85,244,.5);--nt-c108:rgba(255,255,255,.9);--nt-c109:rgba(11,14,45,.38);--nt-c110:#12b981;--nt-c111:#f5f8ff;--nt-c112:#f8f4ff;--nt-c113:rgba(5,85,244,.6);--nt-c114:rgba(11,14,45,.5);--nt-c115:rgba(0,194,255,.26);--nt-c116:rgba(14,155,232,.24);--nt-c117:#8fe2ff;--nt-c118:#e7e9f1;--nt-c119:#eef0fc;--nt-c120:rgba(5,85,244,.3);--nt-c121:#9aa0bc;--nt-c122:rgba(5,85,244,.12);--nt-c123:rgba(5,85,244,.55);--nt-c124:#ecfdf5;--nt-c125:#a7f3d0;--nt-c126:#fef2f2;--nt-c127:#fecaca;--nt-c128:rgba(11,14,45,.09);--nt-c129:#0a7f56;--nt-c130:rgba(0,194,255,.3);--nt-c131:rgba(14,155,232,.28);--nt-c132:#7fdcff;--nt-c133:rgba(5,85,244,.35);--nt-c134:rgba(0,194,255,.25);--nt-c135:rgba(14,155,232,.22);--nt-c136:rgba(255,255,255,.8);--nt-c137:#0096c7;--nt-c138:#0b4df0;--nt-c139:#e0246e;--nt-c140:#b8bedf;--nt-c141:#1b1f42;--nt-c142:#fff3bf;--nt-c143:#5c4700;--nt-c144:#c5cae0;--nt-c145:#a9afcb;--nt-c146:#d5daf0;--nt-c147:rgba(255,255,255,.06);--nt-c148:#141842;--nt-c149:#ff5f57;--nt-c150:#febc2e;--nt-c151:#28c840;--nt-c152:#c9d1f5;--nt-c153:#4b5285;--nt-c154:#e3e7ff;--nt-c155:#9fd4ff;--nt-c156:#9be29b;--nt-c157:#ffc97a;--nt-c158:#eef2ff;--nt-c159:#f3eeff;--nt-c160:#bfe9ff;--nt-c161:#bfe3ff;--nt-c162:#fff6e5;--nt-c163:#a56300;--nt-c164:#c9d4ff;--nt-c165:rgba(40,200,64,.25)}
/* Notion Tech design system · loaded site-wide from the header. Light theme from the logo:
   navy wordmark, "Tech" blue, cyan→blue→violet mark. Classes are Elementor global classes (labels). */

html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body .elementor .e-grid-base{grid-template-rows:none!important}
body{background:var(--nt-c1);color:var(--nt-ink);font-family:var(--nt-f-body);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}
body .elementor .e-div-block-base,body .elementor .e-flexbox-base,body .elementor .e-grid-base{padding:0;min-width:0}
body .elementor .e-con.e-atomic-element{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
body a{color:inherit}
body .elementor .elementor-widget-container p:last-child{margin-bottom:0}

/* layout */
body .elementor .nt-sec{display:block;width:100%;padding:120px 0;position:relative}
body .elementor .nt-sec--tight{padding:56px 0}
body .elementor .nt-sec--soft{background:var(--nt-soft)}
body .elementor .nt-sec--fade{background:linear-gradient(180deg,var(--nt-c1),var(--nt-c2) 60%,var(--nt-c1))}
body .elementor .nt-sec--dark{background:var(--nt-navy);color:var(--nt-c3);border-radius:44px;margin:0 14px;width:auto;overflow:hidden}
body .elementor .nt-sec--dark:before{content:"";position:absolute;inset:0;background:radial-gradient(800px 500px at 90% 0%,var(--nt-c4),transparent 60%),radial-gradient(700px 500px at 0% 100%,var(--nt-c5),transparent 60%);pointer-events:none}
body .elementor .nt-wrap{display:block;position:relative;max-width:var(--nt-max);margin:0 auto;padding:0 28px;width:100%}

/* type */
body .elementor .nt-h1,body .elementor .nt-h2,body .elementor .nt-h3{display:block;font-family:var(--nt-f-display);color:var(--nt-navy);font-weight:600;letter-spacing:-.035em;line-height:1.04;margin:0}
body .elementor .nt-h1{font-size:clamp(44px,6.2vw,90px);margin:24px 0}
body .elementor .nt-h1--page{font-size:clamp(40px,5vw,72px)}
body .elementor .nt-h1 span,body .elementor .nt-h2 span{background:var(--nt-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
body .elementor .nt-h2{font-size:clamp(32px,4.2vw,60px);margin-top:18px}
body .elementor .nt-h2--md{font-size:clamp(28px,3.2vw,44px)}
body .elementor .nt-h2--xl{font-size:clamp(40px,6vw,90px);max-width:980px;margin:20px auto}
body .elementor .nt-h3{font-size:23px;letter-spacing:-.025em;line-height:1.2;margin:0 0 8px}
body .elementor .nt-h3--xl{font-size:clamp(34px,3.6vw,50px);line-height:1.04;margin-bottom:16px}
body .elementor .nt-sec--dark .nt-h2,body .elementor .nt-sec--dark .nt-h3,body .elementor .nt-tile--dark .nt-h3{color:var(--nt-c1)}
body .elementor .nt-lead{display:block;font-size:clamp(17px,1.4vw,19.5px);color:var(--nt-mut);max-width:560px;margin:0 0 34px;line-height:1.6}
body .elementor .nt-lead--center{margin:0 auto 34px;text-align:center}
body .elementor .nt-p{display:block;color:var(--nt-mut);font-size:16.5px;line-height:1.65;margin:0 0 16px}
body .elementor .nt-p--sm{font-size:15px;margin:0}
body .elementor .nt-sec--dark .nt-p{color:var(--nt-c6)}
body .elementor .nt-eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 13px/1 var(--nt-f-display);letter-spacing:.02em;color:var(--nt-mut);margin:0}
body .elementor .nt-eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--nt-grad)}
body .elementor .nt-eyebrow--center{display:flex;justify-content:center}
body .elementor .nt-sec--dark .nt-eyebrow{color:var(--nt-c7)}
body .elementor .nt-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-line),0 4px 14px var(--nt-c8);font:500 13.5px/1 var(--nt-f-display);color:var(--nt-ink);margin:0}
body .elementor .nt-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--nt-grad);box-shadow:0 0 0 4px var(--nt-c9)}
body .elementor .nt-crumbs{display:block;font:500 13px/1.4 var(--nt-f-display);color:var(--nt-faint);margin:0 0 22px}
body .elementor .nt-crumbs a{color:var(--nt-mut);text-decoration:none}
body .elementor .nt-crumbs a:hover{color:var(--nt-blue)}
body .elementor .nt-tag{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--nt-c10);font:500 12.5px/1 var(--nt-f-display);color:var(--nt-blue);margin:0 0 22px}
body .elementor .nt-sec--dark .nt-tag{background:var(--nt-c11);color:var(--nt-c12)}

/* buttons */
body .elementor .nt-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;padding:0;width:auto}
body .elementor .nt-ctas--center{justify-content:center}
body .elementor .nt-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;font:500 15.5px/1 var(--nt-f-display);text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:transform .3s var(--nt-ease),background-color .3s,color .3s;background:var(--nt-navy);color:var(--nt-c1)}
body .elementor .nt-btn--grad{background:var(--nt-grad);color:var(--nt-c1);box-shadow:0 12px 32px var(--nt-c13)}
body .elementor .nt-btn--dark{background:var(--nt-navy);color:var(--nt-c1);box-shadow:0 10px 30px var(--nt-c14)}
body .elementor .nt-btn--ghost{background:var(--nt-c1);color:var(--nt-navy);box-shadow:inset 0 0 0 1px var(--nt-line)}
body .elementor .nt-btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--nt-navy)}
body .elementor .nt-btn--line{background:transparent;color:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-c15)}
body .elementor .nt-btn--line:hover{box-shadow:inset 0 0 0 1px var(--nt-c1)}
body .elementor .nt-btn:hover{transform:translateY(-2px)}
body .elementor .nt-btn.nt-link{background:none;box-shadow:none;padding:0;height:auto;color:var(--nt-navy)}
body .elementor .nt-btn.nt-link:hover{color:var(--nt-blue);transform:translateX(3px)}

/* hero */
body .elementor .nt-hero{position:relative;padding:150px 0 0;overflow:hidden;display:block}
body .elementor .nt-hero:before{content:"";position:absolute;inset:-10% -10% auto;height:110%;background:radial-gradient(640px 420px at 76% 30%,var(--nt-c16),transparent 65%),radial-gradient(560px 420px at 92% 55%,var(--nt-c17),transparent 62%);pointer-events:none}
body .elementor .nt-hero--page{padding:150px 0 90px}
body .elementor .nt-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px}
body .elementor .nt-hero-solo{display:block;max-width:860px}
body .elementor .nt-hero-copy{display:block}
body .elementor .nt-stage{position:relative;aspect-ratio:1/1;width:100%;max-width:600px;justify-self:end}
body .elementor .nt-stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
body .elementor .nt-stage-fallback{position:absolute;inset:18%;width:64%;opacity:0;transition:opacity .4s}
body .elementor .nt-stage.nogl .nt-stage-fallback{opacity:1}
body .elementor .nt-stage:after{content:"";position:absolute;left:22%;right:22%;bottom:9%;height:7%;border-radius:50%;background:radial-gradient(closest-side,var(--nt-c18),transparent);filter:blur(10px)}
body .elementor .nt-hero-visual{display:block;position:relative}
body .elementor .nt-facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:34px;margin-top:40px;padding-top:24px;border-top:1px solid var(--nt-line)}
body .elementor .nt-fact-b{display:block;font:600 22px/1.1 var(--nt-f-display);color:var(--nt-navy);letter-spacing:-.02em;margin:0 0 4px}
body .elementor .nt-fact-s{display:block;font-size:13.5px;color:var(--nt-mut);margin:0}

/* product window */
body .elementor .nt-window-wrap{position:relative;margin-top:24px;perspective:1600px}
body .elementor .nt-window{position:relative;display:block;max-width:1120px;margin:0 auto;border-radius:18px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-c19),0 50px 120px -30px var(--nt-c20),0 30px 60px -40px var(--nt-c21);transform-origin:50% 0;overflow:hidden}
body .elementor .nt-window-wrap .nt-window{transform:rotateX(24deg) scale(.92);will-change:transform}
body .elementor .nt-window-wrap:after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(transparent,var(--nt-c1) 92%);pointer-events:none}
body .elementor .nt-window-bar{display:flex;align-items:center;gap:7px;height:40px;padding:0 16px;border-bottom:1px solid var(--nt-line);background:var(--nt-c22);position:relative}
body .elementor .nt-window-bar:before{content:"";width:11px;height:11px;border-radius:50%;background:var(--nt-c23);box-shadow:18px 0 0 var(--nt-c23),36px 0 0 var(--nt-c23);margin-right:40px}
body .elementor .nt-window-url{display:block;margin:0 auto;padding:5px 60px;border-radius:8px;background:var(--nt-c24);font:500 12px/1 var(--nt-f-display);color:var(--nt-faint)}
body .elementor .nt-window-img,body .elementor .nt-window-img img{display:block;width:100%;height:auto}
body .elementor .nt-float{position:absolute;right:2%;bottom:-6%;width:40%;border-radius:16px;overflow:hidden;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-c19),0 40px 80px -20px var(--nt-c20);transform:translateY(40px);opacity:1;transition:transform 1.2s var(--nt-ease),opacity 1.2s var(--nt-ease);z-index:2}
body .elementor .nt-float.in{transform:none;opacity:1}
body .elementor .nt-float .nt-window-bar{height:30px}

/* proof */
body .elementor .nt-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid var(--nt-line);padding-top:30px}
body .elementor .nt-proof-h{display:block;font:500 12.5px/1 var(--nt-f-display);color:var(--nt-faint);margin:0 0 14px}
body .elementor .nt-proof-names{display:flex;flex-wrap:wrap;gap:8px 22px;font:600 19px/1.2 var(--nt-f-display);color:var(--nt-navy);letter-spacing:-.02em;margin:0}

/* section heads */
body .elementor .nt-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;margin-bottom:60px}
body .elementor .nt-head--center{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}
body .elementor .nt-head-l{display:block;max-width:800px}
body .elementor .nt-head-p{display:block;max-width:420px;color:var(--nt-mut);font-size:17px;margin:0}
body .elementor .nt-sec--dark .nt-head-p{color:var(--nt-c25)}

/* products */
body .elementor .nt-prod{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;align-items:center;padding:56px;border-radius:30px;background:var(--nt-c26);box-shadow:inset 0 0 0 1px var(--nt-c27)}
body .elementor .nt-prod+.nt-prod{margin-top:26px}
body .elementor .nt-prod--flip{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
body .elementor .nt-prod--flip .nt-prod-media{order:-1}
body .elementor .nt-prod-copy{display:block}
body .elementor .nt-prod-media{display:block;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px var(--nt-c28),0 40px 80px -30px var(--nt-c29);transform:perspective(1200px) rotateY(-6deg);transition:transform .8s var(--nt-ease)}
body .elementor .nt-prod--flip .nt-prod-media{transform:perspective(1200px) rotateY(6deg)}
body .elementor .nt-prod:hover .nt-prod-media{transform:perspective(1200px) rotateY(0)}
body .elementor .nt-prod-img,body .elementor .nt-prod-img img{display:block;width:100%;height:auto}
body .elementor .nt-stores{display:flex;gap:8px;margin:18px 0 0}
body .elementor .nt-stores span{padding:7px 11px;border-radius:9px;background:var(--nt-c27);font:500 12px/1 var(--nt-f-display);color:var(--nt-c30)}

/* lists */
body .elementor .nt-checks{display:grid;gap:10px;margin:0 0 30px;padding:0;list-style:none}
body .elementor .nt-checks--2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 22px}
body .elementor .nt-li{display:flex;gap:10px;align-items:flex-start;list-style:none}
body .elementor .nt-li:before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:6px;background:var(--nt-grad);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/15px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/15px no-repeat}
body .elementor .nt-li-c{display:block}
body .elementor .nt-li-t{display:block;font-size:15.5px;color:var(--nt-ink);margin:0}
body .elementor .nt-sec--dark .nt-li-t{color:var(--nt-c31)}

/* work */
body .elementor .nt-work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
body .elementor .nt-case{display:block;text-decoration:none}
body .elementor .nt-case-shot{position:relative;border-radius:24px;overflow:hidden;background:var(--nt-soft);aspect-ratio:16/10;box-shadow:0 0 0 1px var(--nt-line)}
body .elementor .nt-case-img,body .elementor .nt-case-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.2s var(--nt-ease)}
body .elementor .nt-case:hover .nt-case-img img,body .elementor .nt-case:hover img.nt-case-img{transform:scale(1.045)}
body .elementor .nt-case-tag{position:absolute;left:18px;top:18px;padding:7px 12px;border-radius:999px;background:var(--nt-c32);backdrop-filter:blur(8px);font:500 12.5px/1 var(--nt-f-display);color:var(--nt-navy);margin:0}
body .elementor .nt-case-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 4px 0}
body .elementor .nt-case-txt{display:block}
body .elementor .nt-case-arrow{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--nt-line);margin:0;transition:background .3s,color .3s,transform .3s var(--nt-ease);font-size:16px}
body .elementor .nt-case:hover .nt-case-arrow{background:var(--nt-navy);color:var(--nt-c1);transform:rotate(-45deg)}

/* bento */
body .elementor .nt-bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
body .elementor .nt-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:30px;border-radius:26px;background:var(--nt-soft);overflow:hidden;min-height:300px;text-decoration:none;transition:transform .5s var(--nt-ease),box-shadow .5s}
body .elementor .nt-tile:hover{transform:translateY(-5px);box-shadow:0 30px 60px -30px var(--nt-c33)}
body .elementor .nt-t-2{grid-column:span 2}body .elementor .nt-t-3{grid-column:span 3}body .elementor .nt-t-4{grid-column:span 4}body .elementor .nt-t-6{grid-column:span 6}
body .elementor .nt-tile--dark{background:var(--nt-navy)}
body .elementor .nt-tile--dark .nt-p{color:var(--nt-c34)}
body .elementor .nt-tile-more{display:block;margin:14px 0 0;font:500 14px/1 var(--nt-f-display);color:var(--nt-blue)}
body .elementor .nt-tile--dark .nt-tile-more{color:var(--nt-c35)}
body .elementor .nt-viz{position:relative;display:block;min-height:150px;margin:0 0 26px}
body .elementor .nt-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
body .elementor .nt-chip{display:inline-block;padding:9px 15px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--nt-line);font:500 14px/1 var(--nt-f-display);color:var(--nt-ink);margin:0;background:var(--nt-c1)}

/* mini visuals */
body .elementor .nt-code{display:block;font:500 13px/1.75 var(--nt-f-mono);color:var(--nt-c36);background:var(--nt-c1);border-radius:14px;padding:16px 18px;box-shadow:0 0 0 1px var(--nt-line);white-space:nowrap;overflow:hidden;margin:0}
body .elementor .nt-code strong{color:var(--nt-c37);font-weight:500}body .elementor .nt-code em{color:var(--nt-c37);font-style:normal}body .elementor .nt-code u{color:var(--nt-c38);text-decoration:none}
body .elementor .nt-phone{position:absolute;right:0;top:0;width:100px;height:176px;border-radius:22px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line),0 20px 40px -20px var(--nt-c39);padding:20px 11px}
body .elementor .nt-phone-hero{height:42px;border-radius:10px;background:var(--nt-grad);margin-bottom:10px}
body .elementor .nt-phone-line{height:9px;border-radius:5px;background:var(--nt-c40);margin-bottom:8px}
body .elementor .nt-phone-line--s{width:60%}
body .elementor .nt-phone-btn{height:22px;border-radius:11px;background:var(--nt-navy);margin-top:16px}
body .elementor .nt-bubbles{display:grid;gap:8px}
body .elementor .nt-bubble{display:block;max-width:80%;padding:9px 12px;border-radius:14px;font-size:12.5px;line-height:1.35;margin:0}
body .elementor .nt-bubble--u{justify-self:end;background:var(--nt-c1);color:var(--nt-ink)}
body .elementor .nt-bubble--a{background:var(--nt-c28);color:var(--nt-c41)}
body .elementor .nt-browser{display:block;border-radius:12px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line);overflow:hidden}
body .elementor .nt-browser-bar{height:22px;background:var(--nt-c22);border-bottom:1px solid var(--nt-line)}
body .elementor .nt-browser-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px;padding:14px}
body .elementor .nt-browser-a{grid-row:span 2;border-radius:9px;background:var(--nt-grad);min-height:70px}
body .elementor .nt-browser-b{height:30px;border-radius:9px;background:var(--nt-c40)}
body .elementor .nt-bars{display:flex;align-items:flex-end;gap:9px;height:130px}
body .elementor .nt-bar{flex:1;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--nt-c37),var(--nt-c42));opacity:.85;transform-origin:bottom;transform:scaleY(.15);transition:transform 1.4s var(--nt-ease)}
body .elementor .in .nt-bar{transform:none}
body .elementor .nt-bar--1{height:30%}body .elementor .nt-bar--2{height:42%}body .elementor .nt-bar--3{height:38%}body .elementor .nt-bar--4{height:55%}body .elementor .nt-bar--5{height:62%}body .elementor .nt-bar--6{height:74%}body .elementor .nt-bar--7{height:88%}
body .elementor .nt-nodes{position:relative;height:130px;background:radial-gradient(circle at 50% 50%,var(--nt-c10),transparent 60%)}
body .elementor .nt-node{position:absolute;padding:8px 12px;border-radius:12px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line);font:500 12.5px/1 var(--nt-f-display);color:var(--nt-ink);margin:0}
body .elementor .nt-node--1{left:0;top:14px}body .elementor .nt-node--2{left:0;bottom:14px}body .elementor .nt-node--3{right:0;top:14px}body .elementor .nt-node--4{right:0;bottom:14px}
body .elementor .nt-node--hub{left:50%;top:50%;transform:translate(-50%,-50%);background:var(--nt-navy);color:var(--nt-c1);box-shadow:0 0 0 8px var(--nt-c9)}
body .elementor .nt-uptime{display:block}
body .elementor .nt-uptime-top{display:flex;justify-content:space-between;font:500 13px var(--nt-f-display);margin-bottom:10px}
body .elementor .nt-uptime-l{color:var(--nt-mut);margin:0}body .elementor .nt-uptime-ok{color:var(--nt-c38);margin:0}
body .elementor .nt-uptime-bars{display:flex;gap:3px;height:34px}
body .elementor .nt-up{flex:1;border-radius:3px;background:var(--nt-c43);opacity:.85}
body .elementor .nt-up--warn{background:var(--nt-c44)}
body .elementor .nt-stack{display:flex;flex-wrap:wrap;gap:8px}
body .elementor .nt-stack-chip{padding:8px 12px;border-radius:10px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line);font:500 13px/1 var(--nt-f-display);color:var(--nt-ink);margin:0}
body .elementor .nt-pen{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}
body .elementor .nt-pen-frame{display:grid;gap:8px;padding:14px;border-radius:12px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line)}
body .elementor .nt-pen-a{height:46px;border-radius:9px;background:var(--nt-grad)}
body .elementor .nt-pen-b{height:10px;width:70%;border-radius:5px;background:var(--nt-c45)}
body .elementor .nt-pen-c{height:24px;width:40%;border-radius:12px;background:var(--nt-navy)}
body .elementor .nt-pen-swatches{display:grid;gap:8px}
body .elementor .nt-sw{width:26px;height:26px;border-radius:50%}
body .elementor .nt-sw--1{background:var(--nt-c42)}body .elementor .nt-sw--2{background:var(--nt-c37)}body .elementor .nt-sw--3{background:var(--nt-c37)}body .elementor .nt-sw--4{background:var(--nt-c46)}

/* AI */
body .elementor .nt-ai{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center}
body .elementor .nt-ai-copy{display:block}
body .elementor .nt-ai-list{display:grid;gap:0;margin:0 0 34px}
body .elementor .nt-ai-row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--nt-line)}
body .elementor .nt-ai-b{font:600 15.5px/1.4 var(--nt-f-display);color:var(--nt-navy);min-width:200px;margin:0}
body .elementor .nt-ai-s{color:var(--nt-mut);font-size:15.5px;margin:0}
body .elementor .nt-console{position:relative;display:block;border-radius:26px;background:var(--nt-navy);padding:22px;box-shadow:0 50px 100px -40px var(--nt-c47)}
body .elementor .nt-console-top{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 18px;border-bottom:1px solid var(--nt-c27);margin-bottom:18px}
body .elementor .nt-console-name{display:flex;align-items:center;gap:8px;color:var(--nt-c1);font:600 13px/1 var(--nt-f-display);margin:0}
body .elementor .nt-console-name:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--nt-c48);box-shadow:0 0 0 4px var(--nt-c49)}
body .elementor .nt-console-ch{color:var(--nt-c3);font:500 13px/1 var(--nt-f-display);margin:0}
body .elementor .nt-msgs{display:grid;gap:12px;min-height:330px;align-content:start}
body .elementor .nt-msg{display:block;max-width:84%;padding:12px 15px;border-radius:16px;font-size:14.5px;line-height:1.5;margin:0;transition:opacity .5s,transform .5s var(--nt-ease)}
body .elementor .nt-msgs.ready .nt-msg{opacity:0;transform:translateY(8px)}
body .elementor .nt-msgs.ready .nt-msg.show{opacity:1;transform:none}
body .elementor .nt-msg--u{justify-self:end;background:var(--nt-c1);color:var(--nt-navy);border-bottom-right-radius:5px}
body .elementor .nt-msg--a{background:var(--nt-c27);color:var(--nt-c50);border-bottom-left-radius:5px}
body .elementor .nt-msg--t{background:var(--nt-c51);color:var(--nt-c52);font:500 12.5px/1.4 var(--nt-f-display);border-radius:10px}

/* steps */
body .elementor .nt-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--nt-line)}
body .elementor .nt-step{position:relative;display:block;padding:30px 26px 0 0}
body .elementor .nt-step:before{content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--nt-grad);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.2s var(--nt-ease)}
body .elementor .nt-steps.in .nt-step:before{transform:none}
body .elementor .nt-steps.in .nt-step:nth-child(2):before{transition-delay:.25s}body .elementor .nt-steps.in .nt-step:nth-child(3):before{transition-delay:.5s}body .elementor .nt-steps.in .nt-step:nth-child(4):before{transition-delay:.75s}body .elementor .nt-steps.in .nt-step:nth-child(5):before{transition-delay:1s}
body .elementor .nt-step-n{display:block;font:500 13px/1 var(--nt-f-display);color:var(--nt-blue);margin:0 0 14px}

/* tech */
body .elementor .nt-sec--tech{padding:20px 0 110px}
body .elementor .nt-tech{display:block;overflow:hidden;padding:26px 0 0;-webkit-mask-image:linear-gradient(90deg,transparent,var(--nt-c53) 12%,var(--nt-c53) 88%,transparent);mask-image:linear-gradient(90deg,transparent,var(--nt-c53) 12%,var(--nt-c53) 88%,transparent)}
body .elementor .nt-track{display:flex;gap:12px;width:max-content;animation:nt-mq 44s linear infinite}
body .elementor .nt-track--r{animation-direction:reverse;margin-top:12px}
body .elementor .nt-track-chip{padding:14px 22px;border-radius:16px;background:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-line);font:500 15.5px/1 var(--nt-f-display);color:var(--nt-ink);white-space:nowrap;margin:0}
@keyframes nt-mq{to{transform:translateX(-50%)}}

/* features, prose, split */
body .elementor .nt-features{display:grid;gap:16px}
body .elementor .nt-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}body .elementor .nt-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}body .elementor .nt-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
body .elementor .nt-feature{display:block;padding:30px;border-radius:24px;background:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-line);transition:box-shadow .4s,transform .4s var(--nt-ease)}
body .elementor .nt-feature:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px transparent,0 26px 50px -26px var(--nt-c33)}
body .elementor .nt-sec--soft .nt-feature{background:var(--nt-c1)}
body .elementor .nt-feature-n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--nt-c16),var(--nt-c54));font:600 13px/1 var(--nt-f-display);color:var(--nt-blue);margin:0 0 20px}
body .elementor .nt-prose{display:block;max-width:820px;margin:0 auto}
body .elementor .nt-prose+.nt-prose{margin-top:64px}
body .elementor .nt-prose-p{display:block;font-size:17.5px;line-height:1.75;color:var(--nt-c55);margin:18px 0 0}
body .elementor .nt-prose-p a,body .elementor .nt-p a{color:var(--nt-blue);text-decoration:underline;text-underline-offset:3px}
body .elementor .nt-prose .nt-checks{margin-top:22px}
body .elementor .nt-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center}
body .elementor .nt-duo+.nt-duo{margin-top:110px}
body .elementor .nt-duo--flip .nt-duo-media{order:-1}
body .elementor .nt-duo-copy{display:block}
body .elementor .nt-duo-copy .nt-h2{margin-bottom:18px}
body .elementor .nt-duo-media{display:block;border-radius:22px;overflow:hidden;box-shadow:0 0 0 1px var(--nt-line),0 40px 80px -40px var(--nt-c20)}
body .elementor .nt-duo-img,body .elementor .nt-duo-img img{display:block;width:100%;height:auto}
body .elementor .nt-duo-media:has(.nt-viz-box){box-shadow:none;overflow:visible}

/* FAQ */
body .elementor .nt-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:start}
body .elementor .nt-faq-l{display:block;position:sticky;top:110px}
body .elementor .nt-faq{display:flex;flex-direction:column;gap:12px}
body .elementor .nt-faq-item{display:block;border-radius:20px;background:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-line);overflow:hidden;transition:box-shadow .3s}
body .elementor .nt-faq-item[open],body .elementor .nt-faq-item:has([aria-expanded="true"]){box-shadow:inset 0 0 0 1.5px var(--nt-blue)}
body .elementor .nt-faq-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;cursor:pointer;list-style:none}
body .elementor .nt-faq-title{display:block;flex:1}
body .elementor .nt-faq-q{display:block;font:600 18px/1.35 var(--nt-f-display);color:var(--nt-navy);letter-spacing:-.015em;margin:0}
body .elementor .nt-faq-icon{flex:none;color:var(--nt-blue)}
body .elementor .nt-faq-body{display:block;padding:0 26px 24px}
body .elementor .nt-faq-a{display:block;color:var(--nt-mut);font-size:16px;line-height:1.7;margin:0}

/* related */
body .elementor .nt-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
body .elementor .nt-rel{display:block;padding:28px;border-radius:22px;background:var(--nt-soft);text-decoration:none;transition:transform .4s var(--nt-ease),background .3s}
body .elementor .nt-rel:hover{transform:translateY(-4px);background:var(--nt-c56)}

/* CTA */
body .elementor .nt-sec--cta{padding:20px 0 120px}
body .elementor .nt-cta{position:relative;display:block;margin:0 14px;border-radius:44px;padding:130px 28px;text-align:center;overflow:hidden;background:var(--nt-soft)}
body .elementor .nt-cta:before{content:"";position:absolute;width:900px;height:900px;left:50%;top:40%;margin-left:-450px;border-radius:50%;background:conic-gradient(from 120deg,var(--nt-c57),var(--nt-c58),var(--nt-c59),var(--nt-c57));filter:blur(90px);opacity:.7;animation:nt-spin 24s linear infinite}
body .elementor .nt-cta>*{position:relative}
@keyframes nt-spin{to{transform:rotate(360deg)}}
body .elementor .nt-cta-contact{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 30px;margin:34px 0 0;font:500 15px/1 var(--nt-f-display);color:var(--nt-ink)}
body .elementor .nt-cta-contact a{text-decoration:none}
body .elementor .nt-cta-contact a:hover{color:var(--nt-blue)}

/* reveal */
html.js body .elementor .nt-reveal{opacity:0;transform:translateY(18px);transition:opacity .75s var(--nt-ease),transform .75s var(--nt-ease)}
html body .elementor .nt-reveal.in,body.elementor-editor-active .nt-reveal,.elementor-editor-preview .nt-reveal{opacity:1;transform:none}

/* header + footer (V3 widgets in the site parts) */
body .elementor .nt-header{position:fixed;inset:0 0 auto;z-index:60;transition:background .35s,box-shadow .35s}
body.admin-bar .nt-header{top:32px}
body .elementor .nt-header.solid{background:var(--nt-c60);backdrop-filter:saturate(1.8) blur(16px);-webkit-backdrop-filter:saturate(1.8) blur(16px);box-shadow:0 1px 0 var(--nt-c61)}
body .elementor .nt-header-in{display:flex;align-items:center;gap:36px;height:76px}
body .elementor .nt-logo,body .elementor .nt-logo img{display:block;height:34px;width:auto}
body .elementor .nt-header .elementor-widget-nav-menu{flex:1}
body .elementor .nt-header-cta{height:42px;padding:0 18px;font-size:14.5px}
body .elementor .nt-header .elementor-menu-toggle{background:var(--nt-c1);border:1px solid var(--nt-line);border-radius:12px;color:var(--nt-navy)}
body .elementor .nt-header .elementor-nav-menu a{font:500 14.5px/1 var(--nt-f-display)!important;color:var(--nt-ink)!important;padding:10px 14px!important;border-radius:999px}
body .elementor .nt-header .elementor-nav-menu--main>ul>li>a:hover{background:var(--nt-c8)}
body .elementor .nt-header .sub-menu{border-radius:16px!important;padding:8px!important;box-shadow:0 30px 60px -20px var(--nt-c33),0 0 0 1px var(--nt-line)!important;background:var(--nt-c1)!important;min-width:250px!important}
body .elementor .nt-header .sub-menu a{border-radius:10px;padding:11px 14px!important}
body .elementor .nt-header .sub-menu a:hover{background:var(--nt-soft)!important;color:var(--nt-blue)!important}
body .elementor .nt-footer{background:var(--nt-c1);padding:90px 0 40px;color:var(--nt-mut);font-size:14.5px}
body .elementor .nt-foot{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);gap:36px;padding-bottom:50px}
body .elementor .nt-foot-brand{display:block}
body .elementor .nt-logo--foot,body .elementor .nt-logo--foot img{height:38px;margin-bottom:20px}
body .elementor .nt-foot-col{display:block}
body .elementor .nt-foot-h{display:block;font:500 13px/1 var(--nt-f-display);color:var(--nt-faint);margin:0 0 18px}
body .elementor .nt-foot-links{display:grid;gap:11px}
body .elementor .nt-foot-a{display:block;margin:0;font-size:14.5px}
body .elementor .nt-foot-a a{text-decoration:none;color:var(--nt-mut)}
body .elementor .nt-foot-a a:hover{color:var(--nt-navy)}
body .elementor .nt-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid var(--nt-line);font-size:13px}
body .elementor .nt-legal-l,body .elementor .nt-legal-r{margin:0;color:var(--nt-mut)}
body .elementor .nt-legal-r a{text-decoration:none}
@media (max-width:1024px){body .elementor .nt-foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body .elementor .nt-header .nt-header-cta{display:none}}
body .elementor .nt-foot-big{display:block;font:600 clamp(60px,15vw,230px)/.8 var(--nt-f-display);letter-spacing:-.06em;background:linear-gradient(180deg,var(--nt-c62),var(--nt-c1));-webkit-background-clip:text;background-clip:text;color:transparent;text-align:center;user-select:none;margin:10px 0 30px}

/* responsive */
@media (max-width:1024px){
  body .elementor .nt-hero-grid,body .elementor .nt-ai,body .elementor .nt-duo,body .elementor .nt-faq-grid{grid-template-columns:minmax(0,1fr);gap:44px}
  body .elementor .nt-stage{justify-self:center;max-width:420px;order:-1;margin:-10px 0 -40px}
  body .elementor .nt-float{display:none}
  body .elementor .nt-head{grid-template-columns:minmax(0,1fr)}
  body .elementor .nt-proof{grid-template-columns:minmax(0,1fr)}
  body .elementor .nt-prod,body .elementor .nt-prod--flip{grid-template-columns:minmax(0,1fr);padding:30px;gap:34px}
  body .elementor .nt-prod--flip .nt-prod-media{order:0}
  body .elementor .nt-work,body .elementor .nt-related,body .elementor .nt-cols-3,body .elementor .nt-cols-4{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  body .elementor .nt-t-2,body .elementor .nt-t-3,body .elementor .nt-t-4{grid-column:span 3}
  body .elementor .nt-steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px}
  body .elementor .nt-duo--flip .nt-duo-media{order:0}
  body .elementor .nt-faq-l{position:static}
}
@media (max-width:767px){
  body{font-size:16px}
  body .elementor .nt-wrap{padding:0 20px}
  body .elementor .nt-sec{padding:84px 0}
  body .elementor .nt-hero{padding-top:110px}
  body .elementor .nt-hero--page{padding:120px 0 60px}
  body .elementor .nt-sec--dark,body .elementor .nt-cta{border-radius:28px;margin:0 8px}
  body .elementor .nt-cta{padding:90px 22px}
  body .elementor .nt-prod{padding:22px}
  body .elementor .nt-checks--2,body .elementor .nt-work,body .elementor .nt-related,body .elementor .nt-cols-2,body .elementor .nt-cols-3,body .elementor .nt-cols-4,body .elementor .nt-steps{grid-template-columns:minmax(0,1fr)}
  body .elementor .nt-t-2,body .elementor .nt-t-3,body .elementor .nt-t-4{grid-column:span 6}
  body .elementor .nt-ai-row{flex-direction:column;gap:2px}
  body .elementor .nt-ai-b{min-width:0}
  body .elementor .nt-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
  body .elementor .nt-window-url{padding:5px 24px}
}
@media (prefers-reduced-motion:reduce){body *,body *:before,body *:after{animation:none!important;transition:none!important}body .elementor .nt-reveal{opacity:1;transform:none}body .elementor .nt-window-wrap .nt-window{transform:none}}

/* ---- Trending motion sections (video hero, statement fill, stacking products, horizontal services) ---- */
body .elementor .nt-vhero{position:relative;display:block;padding:150px 0 0;overflow:clip}
body .elementor .nt-vhero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 420px at 50% 18%,var(--nt-c4),transparent 65%),radial-gradient(620px 420px at 80% 40%,var(--nt-c63),transparent 62%),radial-gradient(520px 380px at 18% 45%,var(--nt-c64),transparent 60%)}
body .elementor .nt-vhero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:1000px;margin:0 auto}
body .elementor .nt-h1--center{text-align:center;font-size:clamp(46px,7vw,104px);max-width:1000px}
body .elementor .nt-split .nt-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
body .elementor .nt-split .nt-w>i{display:inline-block;font-style:normal;will-change:transform}
body .elementor .nt-vstage{position:relative;display:block;height:auto;margin-top:64px;padding:0 28px}
body .elementor .nt-vcard{position:relative;display:block;margin:0 auto;max-width:1180px;aspect-ratio:16/9;border-radius:32px;overflow:hidden;background:var(--nt-c46);box-shadow:0 60px 140px -40px var(--nt-c65),0 0 0 1px var(--nt-c61);will-change:transform,border-radius}
body .elementor .nt-vvideo,body .elementor .nt-vvideo video{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;aspect-ratio:auto;object-fit:cover}
body .elementor .nt-vcard:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,var(--nt-c66));pointer-events:none}
body .elementor .nt-vchips{position:absolute;left:28px;right:28px;bottom:26px;z-index:2;display:flex;flex-wrap:wrap;gap:10px}
body .elementor .nt-vchip{display:block;padding:12px 16px;border-radius:16px;background:var(--nt-c67);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--nt-c68)}
body .elementor .nt-vchip-b{display:block;font:600 14.5px/1.2 var(--nt-f-display);color:var(--nt-c1);margin:0}
body .elementor .nt-vchip-s{display:block;font:500 12px/1.3 var(--nt-f-display);color:var(--nt-c69);margin:2px 0 0}
body .elementor .nt-magnetic{will-change:transform}
body .elementor .nt-sec--statement{padding:150px 0}
body .elementor .nt-fill{display:block;max-width:1100px;margin:30px auto 0;text-align:center;font:600 clamp(30px,4.4vw,64px)/1.12 var(--nt-f-display);letter-spacing:-.035em;color:var(--nt-navy)}
body .elementor .nt-fill .nt-fw{opacity:.14;transition:opacity .2s linear}
body .elementor .nt-fill .nt-fw.on{opacity:1}
body .elementor .nt-fill strong{font-weight:600;background:var(--nt-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* stacking product cards */
body .elementor .nt-sec--dark .nt-prod{position:sticky;top:96px;background:var(--nt-c70);box-shadow:inset 0 0 0 1px var(--nt-c27),0 -30px 60px -30px var(--nt-c71);transform-origin:50% 0}
/* horizontal services */
body .elementor .nt-hs{display:block;padding:120px 0;overflow:clip}
body .elementor .nt-hs-viewport{display:block;overflow:visible}
body .elementor .nt-hs-track{display:flex;gap:18px;width:max-content;padding:0 max(28px,calc((100vw - var(--nt-max))/2 + 28px));will-change:transform}
body .elementor .nt-t-hs{flex:none;width:400px;min-height:430px}
body .elementor .nt-t-hs .nt-viz{min-height:190px}
@media (max-width:1024px){
  body .elementor .nt-hs-viewport{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  body .elementor .nt-t-hs{width:82vw;max-width:380px;scroll-snap-align:start;min-height:380px}
  body .elementor .nt-sec--dark .nt-prod{position:relative;top:auto}
  body .elementor .nt-vstage{padding:0 16px;margin-top:44px}
  body .elementor .nt-vcard{border-radius:22px}
  body .elementor .nt-vchips{display:none}
}
@media (max-width:767px){body .elementor .nt-vhero{padding-top:118px}body .elementor .nt-sec--statement{padding:96px 0}}
/* word-split headline: keep the gradient on the words of the highlighted span */
body .elementor .nt-split span.nt-w{background:none!important;-webkit-text-fill-color:currentColor;color:inherit}
body .elementor .nt-split>span:not(.nt-w){background:none!important;-webkit-text-fill-color:currentColor;color:inherit}
body .elementor .nt-split>span:not(.nt-w) .nt-w>i{background:var(--nt-grad);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
body .elementor .nt-split>span:not(.nt-w) .nt-w:nth-child(2)>i{background-position:50% 0}
body .elementor .nt-split>span:not(.nt-w) .nt-w:nth-child(3)>i{background-position:100% 0}
body .elementor .nt-h1.nt-split{display:block!important;text-align:center}
body .elementor .nt-split>span:not(.nt-w){display:inline}

/* ---------- Blog (Hello Elementor single + archive markup, styled site-wide) ---------- */
body.single-post,body.blog,body.archive,body.search,body.error404{background:var(--nt-c1);color:var(--nt-ink);font-family:var(--nt-f-body)}
body.single-post main.site-main,body.blog main.site-main,body.archive main.site-main,body.search main.site-main,body.error404 main.site-main{max-width:760px;margin:0 auto;padding:150px 24px 110px}
body.blog main.site-main,body.archive main.site-main,body.search main.site-main{max-width:var(--nt-max)}
body.single-post .page-header .entry-title,body.blog .page-header .entry-title,body.archive .page-header .entry-title,body.search .page-header .entry-title,body.error404 .page-header .entry-title{font:700 clamp(36px,5vw,58px)/1.06 var(--nt-f-display);letter-spacing:-.03em;color:var(--nt-navy);margin:0 0 28px}
body.single-post .page-content{font-size:18.5px;line-height:1.75;color:var(--nt-ink)}
body.single-post .page-content p{margin:0 0 22px}
body.single-post .page-content h2{font:600 30px/1.2 var(--nt-f-display);letter-spacing:-.02em;color:var(--nt-navy);margin:52px 0 16px}
body.single-post .page-content ul{margin:0 0 26px;padding:0;list-style:none}
body.single-post .page-content li{position:relative;padding:0 0 12px 30px}
body.single-post .page-content li:before{content:"";position:absolute;left:4px;top:.62em;width:10px;height:10px;border-radius:50%;background:var(--nt-grad)}
body.single-post .page-content a{color:var(--nt-blue);text-decoration:underline;text-underline-offset:3px}
body.single-post .page-content p:last-child{margin-top:44px;padding:28px 30px;border-radius:20px;background:var(--nt-soft);box-shadow:inset 0 0 0 1px var(--nt-line)}
body.single-post .page-content p:first-child{font-size:21px;line-height:1.65;color:var(--nt-navy)}
body.single-post .post-tags,body.single-post .comments-area{display:none}
body.blog .page-content,body.archive .page-content,body.search .page-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.blog article.post,body.archive article.post,body.search article.post{padding:30px;border-radius:22px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line);transition:transform .35s var(--nt-ease),box-shadow .35s}
body.blog article.post:hover,body.archive article.post:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--nt-line),0 30px 60px -30px var(--nt-c39)}
body.blog article.post .entry-title,body.archive article.post .entry-title,body.search article.post .entry-title{font:600 22px/1.25 var(--nt-f-display);letter-spacing:-.015em;margin:0 0 12px}
body.blog article.post .entry-title a,body.archive article.post .entry-title a,body.search article.post .entry-title a{color:var(--nt-navy);text-decoration:none}
body.blog article.post p,body.archive article.post p{color:var(--nt-mut);font-size:15.5px;line-height:1.6;margin:0}
body.blog article.post img,body.archive article.post img{border-radius:14px;margin-bottom:18px}
body.blog .pagination,body.archive .pagination{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:30px}
body.blog .pagination a,body.archive .pagination a{color:var(--nt-blue);font-weight:500}
@media (max-width:900px){body.blog .page-content,body.archive .page-content,body.search .page-content{grid-template-columns:minmax(0,1fr)}body.single-post main.site-main{padding-top:120px}}
body.blog .page-header .entry-title{font-size:0!important;margin-bottom:40px}
body.blog .page-header .entry-title:after{content:"Insights on software, apps and AI";font-size:clamp(36px,5vw,58px);display:block}
body.blog .page-header:before{content:"The Notion Tech blog";display:block;font:500 13px/1 var(--nt-f-body);color:var(--nt-blue);margin-bottom:18px}

/* ---------- Motion v3 (calm, native scroll) ---------- */
body .nt-progress{position:fixed;left:0;top:0;right:0;height:3px;z-index:99999;background:var(--nt-grad);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
/* hero: words blur + rise, never clipped */
body .elementor .nt-split .nt-w{overflow:visible;padding-bottom:0}
html.js body .elementor .nt-split .nt-w{opacity:0;animation:ntWord 1.05s var(--nt-ease) both}
@keyframes ntWord{from{opacity:0;filter:blur(14px);transform:translateY(.4em)}to{opacity:1;filter:none;transform:none}}
html.js body .elementor .nt-rise{opacity:0;transform:translateY(16px);transition:opacity .9s var(--nt-ease),transform .9s var(--nt-ease)}
html.js body .elementor .nt-rise.in{opacity:1;transform:none}
body .elementor .nt-split>span:not(.nt-w) .nt-w>i{animation:ntShine 7s ease-in-out infinite alternate}
@keyframes ntShine{from{background-position:0 0}to{background-position:100% 0}}
/* living aurora behind the hero */
body .elementor .nt-vhero-glow{overflow:hidden}
body .elementor .nt-vhero-glow:before,body .elementor .nt-vhero-glow:after{content:"";position:absolute;width:56vw;height:56vw;max-width:820px;max-height:820px;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}
body .elementor .nt-vhero-glow:before{left:-8%;top:-22%;background:radial-gradient(circle,var(--nt-c72),transparent 65%);animation:ntDrift1 18s ease-in-out infinite alternate}
body .elementor .nt-vhero-glow:after{right:-10%;top:4%;background:radial-gradient(circle,var(--nt-c73),transparent 65%);animation:ntDrift2 22s ease-in-out infinite alternate}
@keyframes ntDrift1{to{transform:translate(18vw,10dvh) scale(1.15)}}
@keyframes ntDrift2{to{transform:translate(-16vw,14dvh) scale(.9)}}
body .elementor .nt-vstage{perspective:1600px}
body .elementor .nt-vcard{transform-origin:50% 100%}
/* products: no sticky stacking, panels stay fully visible */
body .elementor .nt-sec--dark .nt-prod{position:relative;top:auto;opacity:1}
body .elementor .nt-prod-media{will-change:transform}
/* services: clean grid on desktop, swipe row on phones */
@media (min-width:1025px){
  body .elementor .nt-hs{padding:120px 0}
  body .elementor .nt-hs-track{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;width:auto;max-width:var(--nt-max);margin:0 auto;padding:0 28px;transform:none!important}
  body .elementor .nt-t-hs{width:auto;min-height:400px}
  body .elementor .nt-t-hs:first-child{grid-column:span 2}
}
/* cursor spotlight */
body .elementor .nt-spot{position:relative;isolation:isolate}
body .elementor .nt-spot:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;transition:opacity .35s;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),var(--nt-c74),transparent 62%)}
body .elementor .nt-spot:hover:after{opacity:1}
body .elementor .nt-sec--dark .nt-spot:after,body .elementor .nt-tile--dark.nt-spot:after{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),var(--nt-c4),transparent 62%)}
body .elementor .nt-step.nt-spot:after{inset:-6px -10px}
/* case cards: soft 3D tilt on the screenshot */
body .elementor .nt-case-shot{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--nt-ease),box-shadow .5s}
body .elementor .nt-case:hover .nt-case-shot{box-shadow:0 0 0 1px var(--nt-line),0 40px 70px -35px var(--nt-c75)}
body .elementor .nt-case-img img,body .elementor .nt-case-img{transition:transform .8s var(--nt-ease)}
body .elementor .nt-case:hover .nt-case-img img{transform:scale(1.04)}
.nt-btn--grad{transition:translate .35s var(--nt-ease),transform .3s,box-shadow .3s}
@media (prefers-reduced-motion:reduce){body .elementor .nt-vhero-glow:before,body .elementor .nt-vhero-glow:after{animation:none}}
html body .elementor .nt-tile.in:hover,html body .elementor .nt-rel.in:hover,html body .elementor .nt-feature.in:hover{transform:translateY(-5px)}


/* =====================================================================================================
   Notion Tech design v4 (premium layer). Loaded after design.css; same tokens, richer components:
   utility bar + mega menu, dark footer, layered hero, logo marquee, stats, tabbed services, comparison,
   industry cards, technology grid, forms, icon tiles. Every .elementor-22 keeps the "body .elementor" prefix.
   ===================================================================================================== */

html.nt-lock{overflow:hidden}
body .elementor .nt-i{display:block;width:18px;height:18px;flex:none;line-height:0}
body .elementor .nt-i svg{display:block}
body .elementor .nt-lgi{display:block;width:20px;height:20px;flex:none;padding:0;min-width:0;background:var(--nt-navy);-webkit-mask:var(--lg) center/contain no-repeat;mask:var(--lg) center/contain no-repeat}
body .elementor .nt-btn--sm{height:42px;padding:0 18px;font-size:14.5px}
body .elementor .nt-sec--line{border-top:1px solid var(--nt-line)}

/* ---------- header: utility bar ---------- */
body .elementor .nt-header{position:fixed;inset:0 0 auto;z-index:80;transition:background .35s,box-shadow .35s}
body .elementor .nt-header.solid,body .elementor .nt-header.mega-open,body .elementor .nt-header.nav-open{background:var(--nt-glass);backdrop-filter:saturate(1.8) blur(18px);-webkit-backdrop-filter:saturate(1.8) blur(18px);box-shadow:0 1px 0 var(--nt-c76)}
body .elementor .nt-header.mega-open,body .elementor .nt-header.nav-open{background:var(--nt-c1)}
body .elementor .nt-topbar{display:block;height:var(--nt-top);overflow:hidden;background:var(--nt-navy);transition:opacity .3s}
body .elementor .nt-header.solid .nt-topbar,body .elementor .nt-header.nav-open .nt-topbar{height:0;opacity:0}
body .elementor .nt-topbar-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--nt-top)}
body .elementor .nt-topbar-l{margin:0;font:500 13px/1 var(--nt-f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .elementor .nt-topbar-l a{color:var(--nt-c77);text-decoration:none}
body .elementor .nt-topbar-l a:hover{color:var(--nt-c1)}
body .elementor .nt-topbar-l strong{display:inline-block;margin-right:10px;padding:4px 9px;border-radius:999px;background:var(--nt-grad);color:var(--nt-c1);font:600 10.5px/1 var(--nt-f-display);vertical-align:1px}
body .elementor .nt-topbar-r{display:flex;align-items:center;gap:24px;width:auto;flex:none}
body .elementor .nt-topbar-a{margin:0;font:500 13px/1 var(--nt-f-display);color:var(--nt-c78);white-space:nowrap}
body .elementor .nt-topbar-a a{color:var(--nt-c79);text-decoration:none;transition:color .2s}
body .elementor .nt-topbar-a a:hover{color:var(--nt-c1)}

/* ---------- header: bar + menu ---------- */
body .elementor .nt-header-in{display:flex;align-items:center;gap:26px;height:var(--nt-head);position:relative}
body .elementor .nt-header .nt-logo,body .elementor .nt-header .nt-logo img{height:36px;width:auto;flex:none}
body .elementor .nt-menu{display:flex;align-items:center;justify-content:center;gap:2px;flex:1;width:auto;position:static}
body .elementor .nt-mi{display:block;position:static;width:auto}
body .elementor .nt-mi-top{margin:0}
body .elementor .nt-mi-top a{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 15px;border-radius:999px;font:500 15px/1 var(--nt-f-display);color:var(--nt-ink);text-decoration:none;transition:background .2s,color .2s}
body .elementor .nt-mi--has>.nt-mi-top a:after{content:"";width:6px;height:6px;margin-top:-3px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg);opacity:.5;transition:transform .3s var(--nt-ease),margin .3s}
body .elementor .nt-mi-top a:hover,body .elementor .nt-mi.open>.nt-mi-top a,body .elementor .nt-mi.current>.nt-mi-top a{background:var(--nt-c80);color:var(--nt-navy)}
body .elementor .nt-mi.open>.nt-mi-top a:after{transform:rotate(-135deg);margin-top:3px}
body .elementor .nt-header-actions{display:flex;align-items:center;gap:10px;width:auto;flex:none}
body .elementor .nt-header-cta{height:44px;padding:0 20px;font-size:14.5px}
body .elementor .nt-burger{display:none}
body .elementor .nt-menu-cta{display:none}
body .elementor .nt-header:after{content:"";position:absolute;left:0;right:0;top:100%;height:100dvh;background:var(--nt-c81);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;pointer-events:none;z-index:-1}
body .elementor .nt-header.mega-open:after{opacity:1;visibility:visible;transition-delay:0s}

/* ---------- mega panels ---------- */
body .elementor .nt-mega{display:block;position:absolute;left:28px;right:28px;top:100%;width:auto;padding-top:8px;visibility:hidden;opacity:0;transform:translateY(10px) scale(.985);transform-origin:50% 0;transition:opacity .2s,transform .32s var(--nt-ease),visibility 0s .32s;pointer-events:none;z-index:5}
body .elementor .nt-mi.open>.nt-mega,html:not(.nt-js) body .elementor .nt-mi:hover>.nt-mega,body .elementor .nt-mi:has(:focus-visible)>.nt-mega{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition-delay:0s}
body .elementor .nt-mega-card{display:block;position:relative;overflow:hidden;background:var(--nt-c1);border-radius:var(--nt-r);padding:26px;box-shadow:0 0 0 1px var(--nt-c61),0 40px 90px -30px var(--nt-c75),0 18px 40px -22px var(--nt-c58)}
body .elementor .nt-mega-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--nt-grad)}
body .elementor .nt-mega-grid{display:grid;gap:8px 20px;align-items:start}
body .elementor .nt-mega-grid--4{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.95fr)}
body .elementor .nt-mega-grid--prod{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.95fr)}
body .elementor .nt-mega-grid--ind{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
body .elementor .nt-mega-grid--work{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body .elementor .nt-mega-grid--co{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
body .elementor .nt-mcol{display:block}
body .elementor .nt-mh{display:block;margin:4px 0 10px 12px;font:600 11.5px/1 var(--nt-f-display);color:var(--nt-faint)}
body .elementor .nt-ml{display:flex;align-items:flex-start;gap:13px;width:auto;padding:10px 12px;border-radius:14px;text-decoration:none;transition:background .2s}
body .elementor .nt-ml:hover{background:var(--nt-soft)}
body .elementor .nt-ml-i{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--nt-c82),var(--nt-c83));color:var(--nt-blue);transition:background .25s,color .25s,transform .35s var(--nt-ease)}
body .elementor .nt-ml:hover .nt-ml-i{background:var(--nt-grad);color:var(--nt-c1);transform:scale(1.07) rotate(-5deg)}
body .elementor .nt-ml-t{display:block;min-width:0}
body .elementor .nt-ml-b{display:block;margin:1px 0 0;font:600 14.5px/1.3 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-ml-s{display:block;margin:2px 0 0;font:400 13px/1.4 var(--nt-f-body);color:var(--nt-mut)}
body .elementor .nt-mcol--tech{background:var(--nt-soft);border-radius:18px;padding:14px 10px 16px}
body .elementor .nt-mtechs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px}
body .elementor .nt-mtech{display:flex;align-items:center;gap:9px;width:auto;padding:10px;border-radius:10px;text-decoration:none;transition:background .2s}
body .elementor .nt-mtech:hover{background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line)}
body .elementor .nt-mtech .nt-lgi{width:17px;height:17px}
body .elementor .nt-mtech-t{margin:0;font:500 13.5px/1 var(--nt-f-display);color:var(--nt-ink);white-space:nowrap}
body .elementor .nt-mmore{display:block;margin:12px 0 0 12px;font:600 13.5px/1 var(--nt-f-display);color:var(--nt-blue)}
body .elementor .nt-mmore a{color:inherit;text-decoration:none}
body .elementor .nt-mega-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;width:auto;margin:20px -26px -26px;padding:16px 26px 16px 38px;background:linear-gradient(90deg,var(--nt-c84),var(--nt-c85));border-top:1px solid var(--nt-line)}
body .elementor .nt-mega-cta-t{display:block;width:auto}
body .elementor .nt-mega-cta-b{margin:0;font:600 15px/1.3 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-mega-cta-s{margin:2px 0 0;font:400 13.5px/1.4 var(--nt-f-body);color:var(--nt-mut)}
body .elementor .nt-mega-cta-a{display:flex;align-items:center;gap:24px;width:auto;flex:none}
body .elementor .nt-mf{margin:0;font:600 14px/1 var(--nt-f-display);color:var(--nt-navy);white-space:nowrap}
body .elementor .nt-mf a{color:inherit;text-decoration:none;transition:color .2s}
body .elementor .nt-mf a:hover{color:var(--nt-blue)}
body .elementor .nt-mega-foot{display:flex;gap:24px;width:auto;margin:16px 0 0;padding:16px 12px 0;border-top:1px solid var(--nt-line)}
body .elementor .nt-mega-foot .nt-mf{color:var(--nt-blue)}
body .elementor .nt-mprod,body .elementor .nt-mfeat{display:block;overflow:hidden;border-radius:18px;background:var(--nt-soft);text-decoration:none;transition:transform .4s var(--nt-ease),box-shadow .4s,background .3s}
body .elementor .nt-mprod:hover,body .elementor .nt-mfeat:hover{transform:translateY(-3px);background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line),0 26px 50px -26px var(--nt-c20)}
body .elementor .nt-mprod-shot,body .elementor .nt-mfeat-shot{display:block;aspect-ratio:16/8.2;overflow:hidden;background:var(--nt-c86)}
body .elementor .nt-mprod-img,body .elementor .nt-mprod-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:0 0;transition:transform .8s var(--nt-ease)}
body .elementor .nt-mprod:hover .nt-mprod-img img,body .elementor .nt-mfeat:hover .nt-mprod-img img,body .elementor .nt-mwork:hover .nt-mprod-img img{transform:scale(1.05)}
body .elementor .nt-mprod-t,body .elementor .nt-mfeat-t{display:block;padding:16px 18px 18px}
body .elementor .nt-mprod-tag{display:block;margin:0 0 7px;font:600 11px/1 var(--nt-f-display);color:var(--nt-blue)}
body .elementor .nt-mprod-b{display:block;margin:0 0 4px;font:600 18px/1.2 var(--nt-f-display);letter-spacing:-.01em;color:var(--nt-navy)}
body .elementor .nt-mprod-t .nt-mmore,body .elementor .nt-mfeat-t .nt-mmore{margin-left:0}
body .elementor .nt-mwork{display:block;width:auto;padding:8px 8px 12px;border-radius:16px;text-decoration:none;transition:background .2s}
body .elementor .nt-mwork:hover{background:var(--nt-soft)}
body .elementor .nt-mwork-shot{display:block;aspect-ratio:16/10;margin-bottom:12px;border-radius:12px;overflow:hidden;background:var(--nt-c86);box-shadow:0 0 0 1px var(--nt-line)}
body .elementor .nt-mwork .nt-ml-b,body .elementor .nt-mwork .nt-ml-s{padding:0 4px}
body .elementor .nt-mcontact{display:block;position:relative;overflow:hidden;border-radius:18px;padding:24px;background:var(--nt-navy)}
body .elementor .nt-mcontact:before{content:"";position:absolute;inset:0;background:radial-gradient(300px 200px at 100% 0%,var(--nt-c57),transparent 65%),radial-gradient(280px 220px at 0% 100%,var(--nt-c87),transparent 65%);pointer-events:none}
body .elementor .nt-mcontact-b{position:relative;margin:0;font:600 18px/1.25 var(--nt-f-display);color:var(--nt-c1)}
body .elementor .nt-mcontact-s{position:relative;margin:4px 0 16px;font:400 13.5px/1.4 var(--nt-f-body);color:var(--nt-c78)}
body .elementor .nt-mcontact-r{position:relative;display:flex;align-items:center;gap:11px;width:auto;padding:7px 0;color:var(--nt-c88)}
body .elementor .nt-mcontact-r .nt-i{width:15px;height:15px}
body .elementor .nt-mcontact-a{margin:0;font:500 14.5px/1.2 var(--nt-f-display);color:var(--nt-c89)}
body .elementor .nt-mcontact-a a{color:inherit;text-decoration:none}
body .elementor .nt-mcontact-a a:hover{color:var(--nt-c1);text-decoration:underline;text-underline-offset:3px}

/* ---------- header: tablet + phone drawer ---------- */
@media (max-width:1180px){body .elementor .nt-mi-top a{padding:0 11px;font-size:14.5px}body .elementor .nt-header-in{gap:14px}}
@media (max-width:1024px){
  
  body .elementor .nt-topbar-r{display:none}
  body .elementor .nt-topbar-in{justify-content:center}
  body .elementor .nt-header-in{justify-content:space-between}
  body .elementor .nt-header .nt-header-cta{display:none}
  body .elementor .nt-burger{display:grid;place-content:center;gap:5px;width:46px;height:46px;padding:0;border:1px solid var(--nt-line);border-radius:14px;background:var(--nt-c1);cursor:pointer}
  body .elementor .nt-burger-l{display:block;width:19px;height:2px;min-width:0;padding:0;border-radius:2px;background:var(--nt-navy);transition:transform .35s var(--nt-ease),opacity .2s}
  body .elementor .nav-open .nt-burger-l:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body .elementor .nav-open .nt-burger-l:nth-child(2){opacity:0}
  body .elementor .nav-open .nt-burger-l:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  body .elementor .nt-menu{display:block;position:absolute;left:0;right:0;top:100%;height:calc(100dvh - var(--nt-head));overflow:auto;overscroll-behavior:contain;background:var(--nt-c1);border-top:1px solid var(--nt-line);padding:6px 20px 60px;visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .25s,transform .35s var(--nt-ease),visibility 0s .35s}
  body .elementor .nav-open .nt-menu{visibility:visible;opacity:1;transform:none;transition-delay:0s}
  body .elementor .nt-mi{border-bottom:1px solid var(--nt-line)}
  body .elementor .nt-mi-top a{display:flex;justify-content:space-between;height:62px;padding:0 4px;border-radius:0;font-size:19px;font-weight:600;background:none!important}
  body .elementor .nt-mi--has>.nt-mi-top a:after{width:8px;height:8px}
  body .elementor .nt-mega{position:static;display:none;padding:0;visibility:visible;opacity:1;transform:none;pointer-events:auto}
  body .elementor .nt-mi.open>.nt-mega{display:block}
  body .elementor .nt-mega-card{padding:0 0 20px;border-radius:0;box-shadow:none}
  body .elementor .nt-mega-card:before{display:none}
  body .elementor .nt-mega-grid{grid-template-columns:minmax(0,1fr)!important;gap:6px}
  body .elementor .nt-mega-grid--work{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  body .elementor .nt-mh{margin:14px 0 6px 4px}
  body .elementor .nt-ml{padding:9px 4px}
  body .elementor .nt-mprod-shot,body .elementor .nt-mfeat-shot{display:none}
  body .elementor .nt-mega-cta{flex-direction:column;align-items:flex-start;margin:14px 0 0;padding:18px;border:0;border-radius:16px}
  body .elementor .nt-mega-cta-a{flex-wrap:wrap;gap:14px 20px}
  body .elementor .nt-mega-foot{padding:14px 4px 0}
  body .elementor .nt-menu-cta{display:grid;gap:16px;justify-items:start;padding:26px 4px}
  body .elementor .nt-menu-tel{margin:0;font:600 17px/1 var(--nt-f-display)}
  body .elementor .nt-menu-tel a{color:var(--nt-navy);text-decoration:none}
  body .elementor .nt-header:after{display:none}
}

/* ---------- footer (dark) ---------- */
body .elementor .nt-footer{position:relative;overflow:hidden;margin-top:30px;padding:96px 0 34px;border-radius:44px 44px 0 0;background:var(--nt-navy);color:var(--nt-c78);font-size:14.5px}
body .elementor .nt-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(760px 420px at 88% 0%,var(--nt-c4),transparent 62%),radial-gradient(700px 460px at 0% 100%,var(--nt-c83),transparent 62%);pointer-events:none}
body .elementor .nt-foot{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1.15fr) minmax(0,1.05fr) minmax(0,.95fr) minmax(0,.8fr);gap:44px;padding-bottom:60px;position:relative}
body .elementor .nt-logo--foot,body .elementor .nt-logo--foot img{height:40px;width:auto;margin-bottom:22px}
body .elementor .nt-foot-p{display:block;max-width:330px;margin:0 0 24px;font-size:14.5px;line-height:1.7;color:var(--nt-c78)}
body .elementor .nt-foot-contact{display:grid;gap:13px}
body .elementor .nt-fc{display:flex;align-items:center;gap:12px;width:auto;color:var(--nt-c88)}
body .elementor .nt-fc .nt-i{width:15px;height:15px}
body .elementor .nt-fc-a{margin:0;font:500 14.5px/1.2 var(--nt-f-display);color:var(--nt-c90)}
body .elementor .nt-fc-a a{color:inherit;text-decoration:none}
body .elementor .nt-fc-a a:hover{color:var(--nt-c1);text-decoration:underline;text-underline-offset:3px}
body .elementor .nt-foot-stack{display:grid;gap:36px;align-content:start}
body .elementor .nt-foot-h{color:var(--nt-c1);opacity:.5;margin:0 0 20px}
body .elementor .nt-foot-links{gap:12px}
body .elementor .nt-foot-a a{display:inline-block;color:var(--nt-c91);text-decoration:none;transition:color .2s,transform .3s var(--nt-ease)}
body .elementor .nt-foot-a a:hover{color:var(--nt-c1);transform:translateX(4px)}
body .elementor .nt-foot-big{position:relative;background:linear-gradient(180deg,var(--nt-c92),var(--nt-c93) 82%);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 26px}
body .elementor .nt-legal{position:relative;align-items:center;border-top:1px solid var(--nt-c28)}
body .elementor .nt-legal-l{color:var(--nt-c94)}
body .elementor .nt-legal-r{display:flex;gap:22px;width:auto}
body .elementor .nt-legal-a{margin:0;font-size:13px}
body .elementor .nt-legal-a a{color:var(--nt-c95);text-decoration:none}
body .elementor .nt-legal-a a:hover{color:var(--nt-c1)}
body .elementor .nt-fab{position:fixed;right:22px;bottom:22px;z-index:70;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--nt-c96);color:var(--nt-c1);box-shadow:0 16px 36px -10px var(--nt-c97);transition:transform .35s var(--nt-ease);text-decoration:none}
body .elementor .nt-fab:hover{transform:scale(1.08) rotate(6deg)}
body .elementor .nt-fab .nt-i{width:26px;height:26px}
@media (max-width:1024px){body .elementor .nt-foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:40px 28px}body .elementor .nt-foot-brand{grid-column:1/-1}}
@media (max-width:767px){body .elementor .nt-footer{border-radius:28px 28px 0 0;padding:64px 0 28px}body .elementor .nt-foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body .elementor .nt-fab{right:14px;bottom:14px;width:50px;height:50px}}

/* ---------- page heroes sit under the taller header ---------- */
body .elementor .nt-hero--page{padding:190px 0 96px}
body .elementor .nt-hero--page:after{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--nt-c98) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:radial-gradient(60% 70% at 78% 30%,var(--nt-c53),transparent 72%);mask-image:radial-gradient(60% 70% at 78% 30%,var(--nt-c53),transparent 72%);pointer-events:none}
body .elementor .nt-hero--page .nt-wrap{z-index:1}
body.single-post main.site-main,body.blog main.site-main,body.archive main.site-main,body.search main.site-main,body.error404 main.site-main{padding-top:190px}
@media (max-width:767px){body .elementor .nt-hero--page{padding:150px 0 64px}body.single-post main.site-main,body.blog main.site-main,body.archive main.site-main{padding-top:150px}}

/* ---------- home hero (layered product collage) ---------- */
body .elementor .nt-xhero{position:relative;display:block;padding:196px 0 96px;overflow:clip}
body .elementor .nt-xhero-bg{position:absolute;inset:0;padding:0;overflow:hidden;pointer-events:none;background:radial-gradient(900px 540px at 80% 20%,var(--nt-c99),transparent 62%),radial-gradient(760px 520px at 100% 72%,var(--nt-c100),transparent 60%),radial-gradient(700px 480px at 0% 0%,var(--nt-c101),transparent 60%),linear-gradient(180deg,var(--nt-c102) 0%,var(--nt-c1) 82%)}
body .elementor .nt-xhero-bg:before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--nt-c103) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:radial-gradient(75% 65% at 62% 34%,var(--nt-c53),transparent 76%);mask-image:radial-gradient(75% 65% at 62% 34%,var(--nt-c53),transparent 76%)}
body .elementor .nt-xhero-bg:after{content:"";position:absolute;right:-6%;top:6%;width:46vw;height:46vw;max-width:720px;max-height:720px;border-radius:50%;background:conic-gradient(from 210deg,var(--nt-c104),var(--nt-c13),var(--nt-c105),var(--nt-c104));filter:blur(90px);opacity:.55;animation:ntSpin 26s linear infinite}
@keyframes ntSpin{to{transform:rotate(360deg)}}
body .elementor .nt-xhero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:60px;align-items:center}
body .elementor .nt-xhero-copy{display:block}
body .elementor .nt-xhero .nt-h1{font-size:clamp(42px,5.2vw,80px);line-height:1.02;margin:24px 0 18px}
body .elementor .nt-xhero .nt-h1.nt-split{text-align:left}
body .elementor .nt-xhero .nt-lead{max-width:540px;margin-bottom:32px}
body .elementor .nt-rot{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px;width:auto;margin:0 0 18px;font:500 clamp(19px,1.9vw,26px)/1.3 var(--nt-f-display)}
body .elementor .nt-rot-l{margin:0;font:inherit;color:var(--nt-mut)}
body .elementor .nt-rot-w{display:grid;width:auto}
body .elementor .nt-rot-i{grid-area:1/1;margin:0;font:inherit;font-weight:600;white-space:nowrap;background:var(--nt-grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;transform:translateY(55%);filter:blur(6px);transition:opacity .45s,transform .65s var(--nt-ease),filter .45s}
body .elementor .nt-rot-i.on,html:not(.nt-js) body .elementor .nt-rot-i:first-child{opacity:1;transform:none;filter:none}
body .elementor .nt-rot-i.out{opacity:0;transform:translateY(-55%);filter:blur(6px)}
body .elementor .nt-trust{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;width:auto;margin-top:38px;padding-top:26px;border-top:1px solid var(--nt-line)}
body .elementor .nt-trust-l{margin:0;font:600 11.5px/1 var(--nt-f-display);color:var(--nt-faint)}
body .elementor .nt-trust-b{margin:0;font:600 18px/1 var(--nt-f-display);letter-spacing:-.02em;color:var(--nt-navy)}
body .elementor .nt-trust-b a{color:inherit;text-decoration:none}
body .elementor .nt-trust-b a:hover{color:var(--nt-blue)}
body .elementor .nt-trust-sep{width:1px;height:22px;min-width:0;padding:0;background:var(--nt-line)}
body .elementor .nt-trust-s{display:flex;align-items:center;gap:9px;width:auto;color:var(--nt-navy)}
body .elementor .nt-trust-s .nt-i{width:17px;height:17px}
body .elementor .nt-trust-t{margin:0;font:500 13.5px/1.3 var(--nt-f-display);color:var(--nt-mut)}
body .elementor .nt-collage{position:relative;display:block;width:100%;aspect-ratio:1/.84;perspective:1800px;--px:0;--py:0}
body .elementor .nt-cw{position:absolute;left:0;top:7%;width:93%;display:block;overflow:hidden;border-radius:16px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-c19),0 60px 110px -34px var(--nt-c106),0 34px 70px -40px var(--nt-c107);transform:rotateY(-14deg) rotateX(5deg) rotate(1.2deg);transform-origin:0 50%;translate:calc(var(--px)*-12px) calc(var(--py)*-9px);transition:translate .6s var(--nt-ease)}
body .elementor .nt-cw .nt-window-bar{height:34px}
body .elementor .nt-cw .nt-window-url{padding:4px 40px;font-size:11px}
body .elementor .nt-cphone{position:absolute;right:1%;bottom:0;width:27.5%;display:block;padding:7px;border-radius:30px;background:var(--nt-c46);box-shadow:0 50px 90px -28px var(--nt-c47),inset 0 0 0 1px var(--nt-c67);translate:calc(var(--px)*-30px) calc(var(--py)*-22px);transition:translate .6s var(--nt-ease);animation:ntFloatA 7s ease-in-out infinite}
body .elementor .nt-cphone-img,body .elementor .nt-cphone-img img{display:block;width:100%;height:auto;border-radius:23px}
body .elementor .nt-cc{position:absolute;display:flex;align-items:center;gap:12px;width:auto;padding:12px 16px 12px 12px;border-radius:16px;background:var(--nt-c108);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 0 0 1px var(--nt-c61),0 26px 50px -20px var(--nt-c109);transition:translate .6s var(--nt-ease)}
body .elementor .nt-cc-i{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:var(--nt-grad);color:var(--nt-c1)}
body .elementor .nt-cc-i--ok{background:linear-gradient(135deg,var(--nt-c110),var(--nt-c38))}
body .elementor .nt-cc-t{display:block;width:auto}
body .elementor .nt-cc-b{margin:0;font:600 13.5px/1.25 var(--nt-f-display);color:var(--nt-navy);white-space:nowrap}
body .elementor .nt-cc-s{margin:2px 0 0;font:400 12px/1.3 var(--nt-f-body);color:var(--nt-mut);white-space:nowrap}
body .elementor .nt-cc--claim{left:30%;top:-3%;translate:calc(var(--px)*22px) calc(var(--py)*18px);animation:ntFloatB 8s ease-in-out infinite}
body .elementor .nt-cc--ai{left:-5%;bottom:17%;translate:calc(var(--px)*34px) calc(var(--py)*26px);animation:ntFloatA 9s ease-in-out infinite reverse}
body .elementor .nt-cc--sync{right:25%;bottom:-3%;translate:calc(var(--px)*18px) calc(var(--py)*14px);animation:ntFloatB 7.5s ease-in-out infinite reverse}
@keyframes ntFloatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes ntFloatB{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
@media (max-width:1024px){
  body .elementor .nt-xhero{padding:164px 0 70px}
  body .elementor .nt-xhero-grid{grid-template-columns:minmax(0,1fr);gap:64px}
  body .elementor .nt-collage{max-width:620px;margin:0 auto}
}
@media (max-width:767px){
  body .elementor .nt-xhero{padding:142px 0 56px}
  body .elementor .nt-cc--sync{display:none}
  body .elementor .nt-cc{padding:9px 12px 9px 9px;gap:9px}
  body .elementor .nt-cc-i{width:30px;height:30px;border-radius:9px}
  body .elementor .nt-cc--ai{left:-2%}
  body .elementor .nt-cc--claim{left:18%}
  body .elementor .nt-trust-sep{display:none}
}

/* ---------- logo marquee ---------- */
body .elementor .nt-logos{display:block;padding:34px 0 40px;border-top:1px solid var(--nt-line);border-bottom:1px solid var(--nt-line);background:var(--nt-c1)}
body .elementor .nt-logos-l{display:block;margin:0 0 4px;text-align:center;font:600 11.5px/1 var(--nt-f-display);color:var(--nt-faint)}
body .elementor .nt-logos .nt-tech{padding-top:22px}
body .elementor .nt-logos .nt-track{gap:10px;animation-duration:60s}
body .elementor .nt-lg{display:flex;align-items:center;gap:10px;flex:none;width:auto;height:50px;padding:0 18px;border-radius:14px;background:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-line)}
body .elementor .nt-lg-t{margin:0;font:500 15px/1 var(--nt-f-display);color:var(--nt-ink);white-space:nowrap}

/* ---------- stats ---------- */
body .elementor .nt-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-radius:var(--nt-r);background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line),0 30px 70px -40px var(--nt-c33)}
body .elementor .nt-stat{display:block;padding:34px 30px;border-left:1px solid var(--nt-line)}
body .elementor .nt-stat:first-child{border-left:0}
body .elementor .nt-stat-n{display:block;margin:0 0 10px;font:600 clamp(40px,4.4vw,62px)/1 var(--nt-f-display);letter-spacing:-.045em;background:var(--nt-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
body .elementor .nt-stat-l{display:block;margin:0 0 4px;font:600 16px/1.3 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-stat-s{display:block;margin:0;font-size:14px;line-height:1.5;color:var(--nt-mut)}
@media (max-width:1024px){body .elementor .nt-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body .elementor .nt-stat:nth-child(3){border-left:0}body .elementor .nt-stat:nth-child(n+3){border-top:1px solid var(--nt-line)}}
@media (max-width:560px){body .elementor .nt-stats{grid-template-columns:minmax(0,1fr)}body .elementor .nt-stat{border-left:0;border-top:1px solid var(--nt-line)}body .elementor .nt-stat:first-child{border-top:0}}

/* ---------- tabbed services ---------- */
body .elementor .nt-tabs{display:block;gap:0}
body .elementor .nt-tabs-menu{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;width:auto;margin:0 0 22px;padding:6px;border-radius:20px;background:var(--nt-soft);box-shadow:inset 0 0 0 1px var(--nt-line)}
body .elementor .nt-tab{flex:1 1 auto;width:auto;min-width:0;padding:0 18px;height:50px;border:0;border-radius:14px;background:transparent;color:var(--nt-mut);cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}
body .elementor .nt-tab:hover{color:var(--nt-navy)}
body .elementor .nt-tab.e--selected{background:var(--nt-c1);color:var(--nt-navy);box-shadow:0 0 0 1px var(--nt-line),0 10px 24px -12px var(--nt-c39)}
body .elementor .nt-tab-t{margin:0;font:600 15px/1 var(--nt-f-display);color:inherit;white-space:nowrap}
body .elementor .nt-tabs-area{display:block}
body .elementor .nt-tab-c{padding:0}
body .elementor .nt-tabp{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:50px;align-items:center;padding:52px;border-radius:32px;background:linear-gradient(135deg,var(--nt-c111),var(--nt-c112));box-shadow:inset 0 0 0 1px var(--nt-line);overflow:hidden;animation:ntTabIn .6s var(--nt-ease)}
@keyframes ntTabIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
body .elementor .nt-tabp-copy{display:block}
body .elementor .nt-tabp-i{display:grid;place-items:center;width:52px;height:52px;margin-bottom:22px;border-radius:15px;background:var(--nt-grad);color:var(--nt-c1);box-shadow:0 14px 30px -12px var(--nt-c113)}
body .elementor .nt-tabp-i .nt-i{width:22px;height:22px}
body .elementor .nt-tabp .nt-h3{font-size:clamp(26px,2.6vw,36px);line-height:1.1;margin-bottom:14px}
body .elementor .nt-tabp .nt-checks{margin:20px 0 28px}
body .elementor .nt-tabp-links{display:flex;flex-wrap:wrap;gap:8px;width:auto;margin-top:22px}
body .elementor .nt-tabp-link{margin:0;font:500 13.5px/1 var(--nt-f-display)}
body .elementor .nt-tabp-link a{display:inline-block;padding:9px 14px;border-radius:999px;background:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-line);color:var(--nt-ink);text-decoration:none;transition:box-shadow .2s,color .2s}
body .elementor .nt-tabp-link a:hover{color:var(--nt-blue);box-shadow:inset 0 0 0 1px var(--nt-blue)}
body .elementor .nt-tabp-media{display:block;position:relative;min-width:0}
body .elementor .nt-tabp-media .nt-window{box-shadow:0 0 0 1px var(--nt-c19),0 40px 80px -34px var(--nt-c75);transform:none}
body .elementor .nt-tabp-phone{display:block;width:min(250px,60%);margin:0 auto;padding:8px;border-radius:34px;background:var(--nt-c46);box-shadow:0 40px 80px -30px var(--nt-c66)}
body .elementor .nt-tabp-phone img{display:block;width:100%;height:auto;border-radius:26px}
body .elementor .nt-tabp-stack{display:grid;gap:16px}
body .elementor .nt-tabp-stack .nt-console{box-shadow:0 40px 80px -34px var(--nt-c114)}
body .elementor .nt-vizcard{display:block;padding:26px;border-radius:20px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line),0 24px 50px -30px var(--nt-c39)}
body .elementor .nt-vizcard .nt-nodes,body .elementor .nt-vizcard .nt-bars,body .elementor .nt-vizcard .nt-uptime{position:relative;inset:auto}
@media (max-width:1024px){body .elementor .nt-tabp{grid-template-columns:minmax(0,1fr);padding:34px;gap:36px}body .elementor .nt-tabs-menu{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}body .elementor .nt-tab{flex:none}}
@media (max-width:767px){body .elementor .nt-tabp{padding:24px;border-radius:24px}}

/* ---------- icon feature cards ---------- */
body .elementor .nt-feature-i{display:grid;place-items:center;width:46px;height:46px;margin-bottom:20px;border-radius:13px;background:linear-gradient(135deg,var(--nt-c82),var(--nt-c83));color:var(--nt-blue);transition:background .3s,color .3s,transform .4s var(--nt-ease)}
body .elementor .nt-feature-i .nt-i{width:20px;height:20px}
body .elementor .nt-feature:hover .nt-feature-i{background:var(--nt-grad);color:var(--nt-c1);transform:scale(1.06) rotate(-5deg)}

/* ---------- showreel ---------- */
body .elementor .nt-reel{display:block;padding:0 0 40px}
body .elementor .nt-reel .nt-vstage{margin-top:0;perspective:1600px}
body .elementor .nt-reel .nt-vcard{transform-origin:50% 100%;will-change:transform}

/* ---------- comparison ---------- */
body .elementor .nt-vs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:20px;align-items:stretch}
body .elementor .nt-vs-col{display:block;padding:38px;border-radius:28px;background:var(--nt-soft);box-shadow:inset 0 0 0 1px var(--nt-line)}
body .elementor .nt-vs-col--us{position:relative;overflow:hidden;background:var(--nt-navy);box-shadow:0 40px 80px -40px var(--nt-c47)}
body .elementor .nt-vs-col--us:before{content:"";position:absolute;inset:0;background:radial-gradient(420px 300px at 100% 0%,var(--nt-c115),transparent 65%),radial-gradient(420px 320px at 0% 100%,var(--nt-c116),transparent 65%);pointer-events:none}
body .elementor .nt-vs-h{position:relative;display:block;margin:0 0 22px;font:600 13px/1 var(--nt-f-display);color:var(--nt-faint)}
body .elementor .nt-vs-col--us .nt-vs-h{color:var(--nt-c117)}
body .elementor .nt-vs-r{position:relative;display:block;margin:0;padding:15px 0 15px 38px;border-top:1px solid var(--nt-line);font:500 16px/1.45 var(--nt-f-display);color:var(--nt-mut)}
body .elementor .nt-vs-r:before{content:"";position:absolute;left:0;top:15px;width:24px;height:24px;border-radius:50%;background:var(--nt-c118) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A90AA' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E") center/14px no-repeat}
body .elementor .nt-vs-col--us .nt-vs-r{border-color:var(--nt-c28);color:var(--nt-c119)}
body .elementor .nt-vs-col--us .nt-vs-r:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8'/%3E%3C/svg%3E"),linear-gradient(135deg,var(--nt-c42),var(--nt-c37));background-size:15px,cover;background-position:center;background-repeat:no-repeat}
@media (max-width:900px){body .elementor .nt-vs{grid-template-columns:minmax(0,1fr)}body .elementor .nt-vs-col{padding:28px}}

/* ---------- industry cards ---------- */
body .elementor .nt-inds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
body .elementor .nt-ind{display:flex;flex-direction:column;min-height:210px;padding:26px;border-radius:22px;background:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-line);text-decoration:none;transition:transform .4s var(--nt-ease),box-shadow .4s}
body .elementor .nt-ind:hover{transform:translateY(-5px);box-shadow:inset 0 0 0 1px transparent,0 30px 60px -30px var(--nt-c39)}
body .elementor .nt-ind-i{display:grid;place-items:center;width:46px;height:46px;margin-bottom:auto;border-radius:13px;background:linear-gradient(135deg,var(--nt-c82),var(--nt-c83));color:var(--nt-blue);transition:background .3s,color .3s}
body .elementor .nt-ind:hover .nt-ind-i{background:var(--nt-grad);color:var(--nt-c1)}
body .elementor .nt-ind-i .nt-i{width:20px;height:20px}
body .elementor .nt-ind .nt-h3{font-size:19px;margin:26px 0 6px}
body .elementor .nt-ind--all{background:var(--nt-navy);box-shadow:none;justify-content:flex-end}
body .elementor .nt-ind--all .nt-h3{color:var(--nt-c1)}
body .elementor .nt-ind--all .nt-p{color:var(--nt-c78)}
@media (max-width:1024px){body .elementor .nt-inds{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:560px){body .elementor .nt-inds{grid-template-columns:minmax(0,1fr)}body .elementor .nt-ind{min-height:0}body .elementor .nt-ind-i{margin-bottom:0}}

/* ---------- technology grid ---------- */
body .elementor .nt-tg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
body .elementor .nt-tg-card{display:block;padding:26px;border-radius:22px;background:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-line)}
body .elementor .nt-tg-h{display:block;margin:0 0 16px;font:600 11.5px/1 var(--nt-f-display);color:var(--nt-faint)}
body .elementor .nt-tg-items{display:flex;flex-wrap:wrap;gap:8px;width:auto}
body .elementor .nt-tg-i{display:flex;align-items:center;gap:9px;width:auto;height:40px;padding:0 13px;border-radius:11px;background:var(--nt-soft);transition:background .25s,transform .3s var(--nt-ease),box-shadow .25s}
body .elementor .nt-tg-i:hover{background:var(--nt-c1);transform:translateY(-2px);box-shadow:0 0 0 1px var(--nt-line),0 12px 24px -12px var(--nt-c39)}
body .elementor .nt-tg-i .nt-lgi{width:17px;height:17px}
body .elementor .nt-tg-i .nt-i{width:15px;height:15px;color:var(--nt-blue)}
body .elementor .nt-tg-t{margin:0;font:500 14px/1 var(--nt-f-display);color:var(--nt-ink);white-space:nowrap}
body .elementor .nt-tg-t a{color:inherit;text-decoration:none}
@media (max-width:1024px){body .elementor .nt-tg{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:640px){body .elementor .nt-tg{grid-template-columns:minmax(0,1fr)}}

/* ---------- latest posts (loop) ---------- */
body .elementor .nt-loop{display:block}
body .elementor .nt-loop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;grid-auto-rows:auto}
body .elementor .nt-post{display:flex;flex-direction:column;height:100%;padding:28px;border-radius:22px;background:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-line);transition:transform .4s var(--nt-ease),box-shadow .4s}
body .elementor .nt-post:hover{transform:translateY(-5px);box-shadow:inset 0 0 0 1px transparent,0 30px 60px -30px var(--nt-c39)}
body .elementor .nt-post-d{margin:0 0 14px;font:600 11.5px/1 var(--nt-f-display);color:var(--nt-blue)}
body .elementor .nt-post .nt-h3{font-size:21px;line-height:1.25;margin:0 0 10px}
body .elementor .nt-post .nt-h3 a{color:inherit;text-decoration:none}
body .elementor .nt-post .nt-h3 a:hover{color:var(--nt-blue)}
body .elementor .nt-post-x{margin:0 0 20px;font-size:15px;line-height:1.6;color:var(--nt-mut)}
body .elementor .nt-post-more{margin:auto 0 0;font:600 14px/1 var(--nt-f-display);color:var(--nt-blue)}
body .elementor .nt-loop-empty{display:none!important}
body .elementor .nt-sec--posts:has(.nt-loop-grid[style*="display: none"]),body .elementor .nt-sec--posts:has(.nt-loop-grid[style*="display:none"]){display:none}
@media (max-width:1024px){body .elementor .nt-loop-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- contact + form ---------- */
body .elementor .nt-contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
body .elementor .nt-contact-copy{display:block}
body .elementor .nt-contact-rows{display:grid;gap:10px;margin-top:30px}
body .elementor .nt-crow{display:flex;align-items:center;gap:16px;width:auto;padding:16px 18px;border-radius:18px;background:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-line);text-decoration:none;transition:transform .35s var(--nt-ease),box-shadow .35s}
body .elementor .nt-crow:hover{transform:translateX(5px);box-shadow:inset 0 0 0 1px var(--nt-blue)}
body .elementor .nt-crow-i{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:13px;background:var(--nt-grad);color:var(--nt-c1)}
body .elementor .nt-crow-t{display:block;width:auto}
body .elementor .nt-crow-s{margin:0;font:500 12.5px/1 var(--nt-f-display);color:var(--nt-faint)}
body .elementor .nt-crow-b{margin:5px 0 0;font:600 16.5px/1.2 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-formcard{display:block;position:relative;padding:40px;border-radius:30px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line),0 50px 100px -50px var(--nt-c75),0 30px 60px -40px var(--nt-c120)}
body .elementor .nt-formcard:before{content:"";position:absolute;inset:0 30px auto;height:3px;border-radius:0 0 4px 4px;background:var(--nt-grad)}
body .elementor .nt-formcard .nt-h3{font-size:26px;margin-bottom:6px}
body .elementor .nt-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 16px;margin-top:22px;padding:0}
body .elementor .nt-form-f{display:block}
body .elementor .nt-form-f--full{grid-column:1/-1}
body .elementor .nt-form-l{display:block;margin:10px 0 7px;font:600 13px/1 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-form-i,body .elementor .nt-form-s,body .elementor .nt-form-t{display:block;width:100%;height:50px;padding:0 15px;border:1px solid var(--nt-line);border-radius:13px;background:var(--nt-soft);font:400 15.5px/1.4 var(--nt-f-body);color:var(--nt-navy);outline:none;transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none}
body .elementor .nt-form-t{height:auto;min-height:124px;padding:13px 15px;resize:vertical}
body .elementor .nt-form-s{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E6584' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}
body .elementor .nt-form-i::placeholder,body .elementor .nt-form-t::placeholder{color:var(--nt-c121)}
body .elementor .nt-form-i:focus,body .elementor .nt-form-s:focus,body .elementor .nt-form-t:focus{border-color:var(--nt-blue);background:var(--nt-c1);box-shadow:0 0 0 4px var(--nt-c122)}
body .elementor .nt-form-submit{grid-column:1/-1;justify-self:start;margin-top:18px;height:54px;padding:0 28px;border:0;border-radius:999px;background:var(--nt-grad);color:var(--nt-c1);font:600 16px/1 var(--nt-f-display);cursor:pointer;box-shadow:0 14px 34px -10px var(--nt-c123);transition:transform .3s var(--nt-ease),box-shadow .3s}
body .elementor .nt-form-submit:hover{transform:translateY(-2px);box-shadow:0 20px 40px -12px var(--nt-c113)}
body .elementor .nt-form-note{grid-column:1/-1;margin:12px 0 0;font-size:13px;color:var(--nt-faint)}
body .elementor .nt-form-ok,body .elementor .nt-form-err{grid-column:1/-1;margin-top:14px;padding:14px 16px;border-radius:13px;background:var(--nt-c124);box-shadow:inset 0 0 0 1px var(--nt-c125)}
body .elementor .nt-form-err{background:var(--nt-c126);box-shadow:inset 0 0 0 1px var(--nt-c127)}
body .elementor .nt-form-ok .nt-p,body .elementor .nt-form-err .nt-p{margin:0;color:var(--nt-navy);font-size:15px}
@media (max-width:1024px){body .elementor .nt-contact{grid-template-columns:minmax(0,1fr);gap:40px}}
@media (max-width:560px){body .elementor .nt-form{grid-template-columns:minmax(0,1fr)}body .elementor .nt-formcard{padding:26px 22px;border-radius:24px}}

/* ---------- small upgrades to shared pieces ---------- */
body .elementor .nt-sec--grid:before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--nt-c128) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,transparent,var(--nt-c53) 30%,var(--nt-c53) 70%,transparent);mask-image:linear-gradient(180deg,transparent,var(--nt-c53) 30%,var(--nt-c53) 70%,transparent);pointer-events:none}
body .elementor .nt-head--center{display:block;text-align:center;max-width:820px;margin-left:auto;margin-right:auto}
body .elementor .nt-head--center .nt-eyebrow{justify-content:center;display:flex}
body .elementor .nt-head--center .nt-head-p{margin:18px auto 0;max-width:620px}
body .elementor .nt-case-shot{border-radius:26px}
body .elementor .nt-work--feature{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
body .elementor .nt-cta{position:relative;overflow:hidden}
body .nt-progress{z-index:99999}

/* ---------- small visuals used in tabs + showreel placement ---------- */
body .elementor .nt-doc-h{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:600 14px/1 var(--nt-f-mono);color:var(--nt-navy)}
body .elementor .nt-doc-h:before{content:"";width:30px;height:30px;border-radius:9px;background:var(--nt-grad)}
body .elementor .nt-doc-r{display:flex;justify-content:space-between;gap:16px;width:auto;padding:12px 0;border-top:1px solid var(--nt-line)}
body .elementor .nt-doc-k{margin:0;font:500 13.5px/1.3 var(--nt-f-display);color:var(--nt-mut)}
body .elementor .nt-doc-v{margin:0;font:600 14px/1.3 var(--nt-f-display);color:var(--nt-navy);text-align:right}
body .elementor .nt-doc-ok{display:block;margin:14px 0 0;padding:11px 13px;border-radius:11px;background:var(--nt-c124);color:var(--nt-c129);font:600 13px/1.3 var(--nt-f-display)}
body .elementor .nt-reel{margin-bottom:28px;padding:0}
body .elementor .nt-reel .nt-vstage{padding:0;margin-top:0}
body .elementor .nt-reel .nt-vcard{max-width:none}
body .elementor .nt-contact-copy .nt-h2{margin-bottom:18px}
body .elementor .nt-contact-copy .nt-lead{margin-bottom:0}
body .elementor .nt-li:before{position:static!important;display:block}
body .elementor .nt-mpromo{display:block;position:relative;overflow:hidden;margin-top:12px;padding:18px;border-radius:18px;background:var(--nt-navy);text-decoration:none;transition:transform .35s var(--nt-ease)}
body .elementor .nt-mpromo:hover{transform:translateY(-2px)}
body .elementor .nt-mpromo:before{content:"";position:absolute;inset:0;background:radial-gradient(240px 160px at 100% 0%,var(--nt-c130),transparent 65%),radial-gradient(220px 180px at 0% 100%,var(--nt-c131),transparent 65%);pointer-events:none}
body .elementor .nt-mpromo-b{position:relative;margin:0;font:600 15px/1.3 var(--nt-f-display);color:var(--nt-c1)}
body .elementor .nt-mpromo-s{position:relative;margin:4px 0 0;font:400 13px/1.45 var(--nt-f-body);color:var(--nt-c95)}
body .elementor .nt-mpromo-a{position:relative;margin:12px 0 0;font:600 13.5px/1 var(--nt-f-display);color:var(--nt-c132)}
@media (max-width:560px){
  body .elementor .nt-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  body .elementor .nt-stat{padding:22px 18px;border-left:1px solid var(--nt-line);border-top:0}
  body .elementor .nt-stat:nth-child(odd){border-left:0}
  body .elementor .nt-stat:nth-child(n+3){border-top:1px solid var(--nt-line)}
  body .elementor .nt-stat-s{font-size:13px}
  body .elementor .nt-topbar-l{font-size:12px}
}

/* ---------- inner pages: editorial long-form (sticky heading left, text right) ---------- */
body .elementor .nt-prose{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);column-gap:70px;max-width:none;margin:0;align-items:start}
body .elementor .nt-prose>.nt-h2{grid-column:1;grid-row:1/span 30;position:sticky;top:120px;margin-top:0;font-size:clamp(28px,3vw,42px)}
body .elementor .nt-prose>:not(.nt-h2){grid-column:2}
body .elementor .nt-prose>.nt-prose-p:nth-child(2){margin-top:4px}
body .elementor .nt-prose+.nt-prose{margin-top:70px;padding-top:70px;border-top:1px solid var(--nt-line)}
body .elementor .nt-prose .nt-checks{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 24px;margin:26px 0 0;padding:24px;border-radius:20px;background:var(--nt-soft)}
body .elementor .nt-inds--3{grid-template-columns:repeat(3,minmax(0,1fr))}
body .elementor .nt-tg-items--center{justify-content:center;margin-top:24px}
body .elementor .nt-sec--center .nt-tg-i{background:var(--nt-c1);box-shadow:inset 0 0 0 1px var(--nt-line);height:44px;padding:0 15px}
body .elementor .nt-facts{gap:14px;border-top:0;padding-top:0}
body .elementor .nt-fact{display:block;padding:16px 20px;border-radius:16px;background:var(--nt-c69);box-shadow:inset 0 0 0 1px var(--nt-line);backdrop-filter:blur(8px)}
body .elementor .nt-fact-b{background:var(--nt-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
body .elementor .nt-fact-s{display:block}
body .elementor .nt-svcgroup+.nt-svcgroup{margin-top:70px}
body .elementor .nt-svcgroup .nt-head{margin-bottom:28px}
body .elementor .nt-svcgroup .nt-h2{font-size:clamp(26px,2.8vw,38px)}
@media (max-width:1024px){
  body .elementor .nt-prose{grid-template-columns:minmax(0,1fr)}
  body .elementor .nt-prose>.nt-h2{position:static;grid-row:auto;margin-bottom:8px}
  body .elementor .nt-prose>:not(.nt-h2){grid-column:1}
  body .elementor .nt-inds--3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:640px){body .elementor .nt-prose .nt-checks{grid-template-columns:minmax(0,1fr)}body .elementor .nt-inds--3{grid-template-columns:minmax(0,1fr)}body .elementor .nt-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ---------- page hero: small visuals become proper cards ---------- */
body .elementor .nt-hero-visual{position:relative}
body .elementor .nt-hero-visual>.nt-code{padding:28px 30px;border-radius:22px;font-size:14.5px;line-height:1.9;white-space:pre-wrap;box-shadow:0 0 0 1px var(--nt-line),0 50px 100px -40px var(--nt-c75),0 30px 60px -40px var(--nt-c133)}
body .elementor .nt-hero-visual>.nt-code:before{content:"";display:block;width:11px;height:11px;margin:0 0 18px;border-radius:50%;background:var(--nt-c23);box-shadow:18px 0 0 var(--nt-c23),36px 0 0 var(--nt-c23)}
body .elementor .nt-hero-visual>.nt-bubbles{gap:14px;padding:34px;border-radius:26px;background:var(--nt-navy);box-shadow:0 50px 100px -40px var(--nt-c47);position:relative;overflow:hidden}
body .elementor .nt-hero-visual>.nt-bubbles:before{content:"";position:absolute;inset:0;background:radial-gradient(340px 220px at 100% 0%,var(--nt-c134),transparent 65%),radial-gradient(320px 240px at 0% 100%,var(--nt-c135),transparent 65%);pointer-events:none}
body .elementor .nt-hero-visual>.nt-bubbles .nt-bubble{position:relative;padding:14px 18px;border-radius:18px;font-size:15.5px;line-height:1.5;max-width:86%}
body .elementor .nt-hero-visual>.nt-stack{gap:10px;padding:30px;border-radius:26px;background:var(--nt-c136);backdrop-filter:blur(10px);box-shadow:0 0 0 1px var(--nt-line),0 40px 80px -40px var(--nt-c20)}
body .elementor .nt-hero-visual>.nt-stack .nt-stack-chip{padding:12px 16px;border-radius:12px;font-size:14.5px;background:var(--nt-soft);box-shadow:none}
body .elementor .nt-hero-visual>.nt-nodes,body .elementor .nt-hero-visual>.nt-bars,body .elementor .nt-hero-visual>.nt-uptime,body .elementor .nt-hero-visual>.nt-pen,body .elementor .nt-hero-visual>.nt-browser{padding:34px;border-radius:26px;background-color:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-line),0 50px 100px -40px var(--nt-c75)}
body .elementor .nt-hero-visual>.nt-nodes{height:300px}
body .elementor .nt-hero-visual>.nt-nodes .nt-node{padding:12px 16px;font-size:14.5px;border-radius:14px}
body .elementor .nt-hero-visual>.nt-nodes .nt-node--1{left:34px;top:44px}body .elementor .nt-hero-visual>.nt-nodes .nt-node--2{left:34px;bottom:44px}body .elementor .nt-hero-visual>.nt-nodes .nt-node--3{right:34px;top:44px}body .elementor .nt-hero-visual>.nt-nodes .nt-node--4{right:34px;bottom:44px}
body .elementor .nt-hero-visual>.nt-bars{height:300px;gap:14px}
body .elementor .nt-hero-visual>.nt-bars .nt-bar{transform:none}
body .elementor .nt-hero-visual>.nt-browser{padding:0}
body .elementor .nt-hero-visual>.nt-browser .nt-browser-bar{height:36px}
body .elementor .nt-hero-visual>.nt-browser .nt-browser-body{padding:26px;gap:16px}
body .elementor .nt-hero-visual>.nt-browser .nt-browser-a{min-height:150px;border-radius:14px}
body .elementor .nt-hero-visual>.nt-browser .nt-browser-b{height:66px;border-radius:14px}
body .elementor .nt-hero-visual>.nt-phone{position:relative;right:auto;top:auto;width:220px;height:400px;margin:0 auto;padding:44px 22px;border-radius:40px;box-shadow:0 0 0 1px var(--nt-line),0 0 0 9px var(--nt-c46),0 60px 100px -40px var(--nt-c114)}
body .elementor .nt-hero-visual>.nt-phone .nt-phone-hero{height:110px;border-radius:18px;margin-bottom:20px}
body .elementor .nt-hero-visual>.nt-phone .nt-phone-line{height:14px;border-radius:7px;margin-bottom:14px}
body .elementor .nt-hero-visual>.nt-phone .nt-phone-btn{height:44px;border-radius:22px;margin-top:34px}
body .elementor .nt-hero-visual>.nt-pen .nt-pen-a{height:120px}
body .elementor .nt-hero-visual>.nt-pen .nt-sw{width:40px;height:40px}

/* ---------- FAQ: proper toggle icon; titles keep their width on phones ---------- */
body .elementor .nt-faq-title{flex:1 1 0;min-width:0;width:auto}
body .elementor .nt-faq-icon{position:relative;flex:none;width:30px;height:30px;min-width:0;padding:0;border-radius:50%;background:var(--nt-soft);transition:background .3s}
body .elementor .nt-faq-icon>*{display:none}
body .elementor .nt-faq-icon:before,body .elementor .nt-faq-icon:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:var(--nt-navy);transition:transform .35s var(--nt-ease),background .3s}
body .elementor .nt-faq-icon:after{transform:rotate(90deg)}
body .elementor .nt-faq-item[open] .nt-faq-icon{background:var(--nt-grad)}
body .elementor .nt-faq-item[open] .nt-faq-icon:before,body .elementor .nt-faq-item[open] .nt-faq-icon:after{background:var(--nt-c1)}
body .elementor .nt-faq-item[open] .nt-faq-icon:after{transform:rotate(0deg)}
body .elementor .nt-form-ok:focus,body .elementor .nt-form-err:focus{outline:none}
@media (max-width:767px){body .elementor .nt-faq-head{padding:18px 18px;gap:14px}body .elementor .nt-faq-q{font-size:16.5px}body .elementor .nt-faq-body{padding:0 18px 20px}}
body .elementor .nt-faq-l .nt-h2{margin-bottom:16px}


/* ==================================================================================================
   NOTIONS: the blog as a magazine (blog home, topic pages, articles). Built by build/blog.js.
   One serif (Newsreader) carries the masthead, headlines and article text; Geist stays for labels.
   Each topic owns a colour (--tc). Stories sit on rules and white space, not in cards.
   The font files only download on pages that use them.
   ================================================================================================== */
@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(https://fonts.gstatic.com/s/newsreader/v26/cY9AfjOCX1hbuyalUrK4397yjA.woff2) format("woff2")}
@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(https://fonts.gstatic.com/s/newsreader/v26/cY9CfjOCX1hbuyalUrK439vCjohC.woff2) format("woff2")}

[data-topic="ai-automation"],.category-ai-automation,body .elementor .nt-tc--ai-automation{--tc:var(--nt-c37)}
[data-topic="mobile-apps"],.category-mobile-apps,body .elementor .nt-tc--mobile-apps{--tc:var(--nt-c137)}
[data-topic="custom-software"],.category-custom-software,body .elementor .nt-tc--custom-software{--tc:var(--nt-c138)}
[data-topic="seo-marketing"],.category-seo-marketing,body .elementor .nt-tc--seo-marketing{--tc:var(--nt-c139)}

/* ---------- masthead ---------- */
body .elementor .nt-mag-mast{display:block;padding:176px 0 0}
body .elementor .nt-mag-mast-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:48px;align-items:end;padding:0 0 30px}
body .elementor .nt-mag-title{position:relative;margin:0 0 -.04em -.035em;padding:46px 0 0;font:500 clamp(84px,14.6vw,210px)/.82 var(--nt-serif);letter-spacing:-.045em;color:var(--nt-navy);white-space:nowrap}
body .elementor .nt-mag-title span{position:absolute;left:clamp(3px,.52vw,8px);top:0;font:500 15px/1 var(--nt-f-display);letter-spacing:0;color:var(--nt-mut)}
body .elementor .nt-mag-deck{display:block;margin:0 0 .3em;font:400 19px/1.45 var(--nt-serif);color:var(--nt-ink)}
body .elementor .nt-mag-deck p{margin:0}
body .elementor .nt-mag-nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 34px;width:auto;border-top:2px solid var(--nt-navy);border-bottom:1px solid var(--nt-line)}
body .elementor .nt-mag-nav-l{margin:0;font:500 15px/1 var(--nt-f-display);color:var(--nt-mut)}
body .elementor .nt-mag-nav-l a{position:relative;display:block;padding:19px 0 18px;color:inherit;text-decoration:none;transition:color .2s}
body .elementor .nt-mag-nav-l a:hover,body .elementor .nt-mag-nav-l a[aria-current]{color:var(--nt-navy)}
body .elementor .nt-mag-nav-l a[aria-current]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--tc)}
/* topic pages: small wordmark back to the front page, the topic as the heading */
body .elementor .nt-mag-back{margin:0 0 30px;font:500 italic 30px/1 var(--nt-serif);letter-spacing:-.02em;color:var(--nt-navy)}
body .elementor .nt-mag-back a{color:inherit;text-decoration:none}
body .elementor .nt-mag-back a:before{content:"←";margin-right:10px;font:500 20px/1 var(--nt-f-display);color:var(--nt-mut);vertical-align:.12em}
body .elementor .nt-mag-topic-h{margin:0 0 -.02em;font:500 clamp(52px,8.4vw,124px)/.92 var(--nt-serif);letter-spacing:-.035em;color:var(--nt-navy)}
body .elementor .nt-mag-topic-h:after{content:"";display:inline-block;width:.16em;height:.16em;margin-left:.1em;border-radius:.03em;background:var(--tc)}

/* ---------- stories ---------- */
body .elementor .nt-mag-main{display:block;padding:48px 0 110px}
body .elementor .nt-mag-loop{display:block}
body .elementor .nt-mag-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;column-gap:44px;row-gap:0;align-items:start;width:100%}
body .elementor .nt-mag-item{display:block;grid-column:span 4;width:auto;min-width:0;margin:40px 0 0;padding:40px 0 0;border-top:1px solid var(--nt-line)}
body .elementor .nt-story{display:block}
body .elementor .nt-story-cover{display:block;position:relative;overflow:hidden;aspect-ratio:16/10;border-radius:14px;background:var(--nt-grad)}
body .elementor .nt-story-cover:after{content:"N";position:absolute;inset:0;display:grid;place-items:center;font:500 italic 120px/1 var(--nt-serif);color:var(--nt-c32)}
body .elementor .nt-story-cover a{position:relative;z-index:1;display:block;width:100%;height:100%}
body .elementor .nt-story-img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .7s var(--nt-ease)}
body .elementor .nt-story-cover img:not([src]){visibility:hidden}
body .elementor .nt-story:hover .nt-story-img{transform:scale(1.035)}
body .elementor .nt-story-body{display:block;padding:20px 0 0}
body .elementor .nt-story-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;width:auto;margin:0 0 12px;font:500 13.5px/1.2 var(--nt-f-display);color:var(--nt-mut)}
body .elementor .nt-story-topic,body .elementor .nt-art-topic,body .elementor .nt-soon-t{display:inline-flex;align-items:center;gap:8px;margin:0;font:600 13.5px/1.2 var(--nt-f-display);color:var(--nt-navy);text-decoration:none}
body .elementor .nt-story-topic:before,body .elementor .nt-art-topic:before,body .elementor .nt-soon-t:before{content:"";flex:none;width:9px;height:9px;border-radius:2px;background:var(--tc)}
body .elementor .nt-story-topic:hover,body .elementor .nt-art-topic:hover{text-decoration:underline;text-underline-offset:3px}
body .elementor .nt-story-date{margin:0;font:inherit;color:inherit}
body .elementor .nt-story-h{margin:0;font:500 27px/1.13 var(--nt-serif);letter-spacing:-.014em;color:var(--nt-navy);text-wrap:balance}
body .elementor .nt-story-h a{color:inherit;text-decoration:none;background:linear-gradient(var(--tc),var(--tc)) 0 100%/0 2px no-repeat;transition:background-size .4s var(--nt-ease)}
body .elementor .nt-story:hover .nt-story-h a,body .elementor .nt-story-h a:focus-visible{background-size:100% 2px}
body .elementor .nt-story-x{margin:12px 0 0;font:400 16px/1.6 var(--nt-f-body);color:var(--nt-mut)}
body .elementor .nt-story-x:empty{display:none}

@media (min-width:1025px){
  /* the first story leads; the next three run down the side; the rest fall into three columns */
  body .elementor .nt-mag-grid>.nt-mag-item:nth-child(-n+4){margin-top:0}
  body .elementor .nt-mag-grid>.nt-mag-item:nth-child(-n+2){padding-top:0;border-top:0}
  body .elementor .nt-mag-grid>.nt-mag-item:first-child{grid-column:1/span 8;grid-row:1}
  body .elementor .nt-mag-grid:has(>:nth-child(3))>.nt-mag-item:first-child{grid-row:1/span 2}
  body .elementor .nt-mag-grid:has(>:nth-child(4))>.nt-mag-item:first-child{grid-row:1/span 3}
  body .elementor .nt-mag-grid>.nt-mag-item:nth-child(n+2):nth-child(-n+4){grid-column:9/span 4}
  body .elementor .nt-mag-grid>.nt-mag-item:nth-child(n+3):nth-child(-n+4){margin-top:28px;padding-top:26px}
  body .elementor .nt-mag-grid>.nt-mag-item:nth-child(n+5):nth-child(-n+7){margin-top:64px;border-top:2px solid var(--nt-navy)}
  /* the lead runs words first, then its cover */
  body .elementor .nt-mag-grid>.nt-mag-item:first-child:not(:last-child) .nt-story{display:flex;flex-direction:column}
  body .elementor .nt-mag-grid>.nt-mag-item:first-child:not(:last-child) .nt-story-body{order:-1;padding:0 0 34px}
  body .elementor .nt-mag-grid>.nt-mag-item:first-child .nt-story-h{font-size:clamp(38px,4.4vw,60px);line-height:1.03;letter-spacing:-.024em}
  body .elementor .nt-mag-grid>.nt-mag-item:first-child .nt-story-x{max-width:56ch;margin-top:18px;font:400 21px/1.5 var(--nt-serif);color:var(--nt-ink)}
  /* with four or more stories, the third and fourth run as headlines only */
  body .elementor .nt-mag-grid:has(>:nth-child(4))>.nt-mag-item:nth-child(n+3):nth-child(-n+4) .nt-story-cover{display:none}
  body .elementor .nt-mag-grid:has(>:nth-child(4))>.nt-mag-item:nth-child(n+3):nth-child(-n+4) .nt-story-body{padding-top:0}
  body .elementor .nt-mag-grid:has(>:nth-child(4))>.nt-mag-item:nth-child(n+3):nth-child(-n+4) .nt-story-h{font-size:24px}
  body .elementor .nt-mag-grid:has(>:nth-child(4))>.nt-mag-item:nth-child(n+3):nth-child(-n+4) .nt-story-x{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px}
  /* a single story fills the row: cover left, words right */
  body .elementor .nt-mag-grid>.nt-mag-item:first-child:last-child{grid-column:1/-1}
  body .elementor .nt-mag-grid>.nt-mag-item:first-child:last-child .nt-story{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:52px;align-items:center}
  body .elementor .nt-mag-grid>.nt-mag-item:first-child:last-child .nt-story-body{padding-top:0}
}

/* pages of stories */
body .elementor .nt-pager{display:flex;justify-content:space-between;align-items:center;gap:16px;width:auto;margin:64px 0 0;padding:22px 0 0;border-top:2px solid var(--nt-navy)}
body .elementor .nt-pager:not(:has(a[href])){display:none}
body .elementor .nt-pager-b{display:inline-flex;width:auto;padding:0;border:0;border-radius:0;font:500 16px/1 var(--nt-f-display);color:var(--nt-navy);text-decoration:none}
body .elementor .nt-pager-b:hover{color:var(--nt-blue)}
body .elementor .nt-pager-b.e--disabled{visibility:hidden}
body .elementor .nt-pager-t{margin:0;font:inherit;color:inherit}

/* nothing published yet */
body .elementor .nt-mag-empty{display:block;padding:8px 0 0}
body .elementor .nt-mag-empty-h{max-width:17ch;margin:0 0 14px;font:500 clamp(36px,4.8vw,64px)/1.03 var(--nt-serif);letter-spacing:-.024em;color:var(--nt-navy);text-wrap:balance}
body .elementor .nt-mag-empty-p{max-width:52ch;margin:0;font:400 21px/1.5 var(--nt-serif);color:var(--nt-ink)}
body .elementor .nt-mag-empty-p a{color:var(--nt-navy);text-decoration:underline;text-decoration-color:var(--tc);text-decoration-thickness:2px;text-underline-offset:4px}
body .elementor .nt-soon-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;margin:48px 0 0;border-top:2px solid var(--nt-navy)}
body .elementor .nt-soon{display:grid;grid-template-columns:168px minmax(0,1fr);gap:26px;align-items:center;padding:26px 0;border-bottom:1px solid var(--nt-line)}
body .elementor .nt-soon-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px}
body .elementor .nt-soon-body{display:block}
body .elementor .nt-soon-h{margin:10px 0 8px;font:500 23px/1.16 var(--nt-serif);letter-spacing:-.012em;color:var(--nt-navy);text-wrap:balance}
body .elementor .nt-soon-d{margin:0;font:500 13.5px/1.2 var(--nt-f-display);color:var(--nt-mut)}

/* closing band */
body .elementor .nt-mag-cta{display:block;padding:0 0 110px}
body .elementor .nt-mag-cta-in{display:grid;grid-template-columns:minmax(0,1.25fr) auto;gap:40px;align-items:end;position:relative;overflow:hidden;padding:64px;border-radius:28px;background:var(--nt-navy)}
body .elementor .nt-mag-cta-in:before{content:"";position:absolute;inset:0;background:radial-gradient(520px 320px at 100% 0%,var(--nt-c57),transparent 65%),radial-gradient(520px 360px at 0% 100%,var(--nt-c59),transparent 65%);pointer-events:none}
body .elementor .nt-mag-cta-l{display:block;position:relative}
body .elementor .nt-mag-cta-h{margin:0 0 16px;font:500 clamp(34px,4.2vw,58px)/1.02 var(--nt-serif);letter-spacing:-.024em;color:var(--nt-c1)}
body .elementor .nt-mag-cta-p{max-width:46ch;margin:0;font:400 17px/1.6 var(--nt-f-body);color:var(--nt-c140)}
body .elementor .nt-mag-cta-r{display:flex;flex-wrap:wrap;gap:12px;width:auto;position:relative}

/* ---------- article ---------- */
body .elementor .nt-art{display:block}
body .elementor .nt-art-head{display:block;padding:176px 0 46px}
body .elementor .nt-art-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;width:auto;margin:0 0 30px}
body .elementor .nt-art-crumb{margin:0;font:500 italic 22px/1 var(--nt-serif);letter-spacing:-.01em;color:var(--nt-navy)}
body .elementor .nt-art-crumb a{color:inherit;text-decoration:none}
body .elementor .nt-art-crumb a:hover{text-decoration:underline;text-underline-offset:4px}
body .elementor .nt-art-topic{padding-left:14px;border-left:1px solid var(--nt-line)}
body .elementor .nt-art-h1{max-width:19ch;margin:0;font:500 clamp(40px,6.1vw,86px)/1.01 var(--nt-serif);letter-spacing:-.03em;color:var(--nt-navy);text-wrap:balance}
body .elementor .nt-art-deck{max-width:44ch;margin:28px 0 0;font:400 clamp(20px,2vw,26px)/1.42 var(--nt-serif);color:var(--nt-ink)}
body .elementor .nt-art-deck:empty{display:none}
body .elementor .nt-art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;width:auto;margin:44px 0 0;padding:18px 0 0;border-top:2px solid var(--nt-navy);font:500 14.5px/1.2 var(--nt-f-display);color:var(--nt-mut)}
body .elementor .nt-art-by{margin:0;font:inherit;font-weight:600;color:var(--nt-navy)}
body .elementor .nt-art-date,body .elementor .nt-art-read{margin:0;font:inherit;color:inherit}
body .elementor .nt-art-cover{display:block}
body .elementor .nt-art-cover:has(img:not([src])){display:none}
body .elementor .nt-art-img{display:block;width:100%;max-width:none;aspect-ratio:16/8.6;object-fit:cover;border-radius:18px}
body .elementor .nt-art-main{display:block}
body .elementor .nt-art-grid{display:grid;grid-template-columns:210px minmax(0,700px);gap:0 80px;align-items:start;padding-top:68px;padding-bottom:36px}
body .elementor .nt-art-rail{display:block;position:sticky;top:118px;width:auto}
body .elementor .nt-rail-k{margin:0 0 14px;font:600 13.5px/1.2 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-art-rail.is-short>.nt-rail-k:first-child{display:none}
body .nt-rail-list{list-style:none;margin:0 0 34px;padding:0;border-left:1px solid var(--nt-line)}
body .nt-rail-list a{display:block;margin-left:-1px;padding:7px 0 7px 16px;border-left:2px solid transparent;font:500 14px/1.35 var(--nt-f-display);color:var(--nt-mut);text-decoration:none;transition:color .2s,border-color .2s}
body .nt-rail-list a:hover{color:var(--nt-navy)}
body .nt-rail-list a.on{color:var(--nt-navy);border-left-color:var(--tc)}
body .nt-share{display:block}
body .nt-share-l{display:block;width:fit-content;margin:0;padding:5px 0;border:0;background:none;font:500 14px/1.35 var(--nt-f-display);color:var(--nt-mut);text-align:left;text-decoration:none;cursor:pointer;transition:color .2s}
body .nt-share-l:hover,body .nt-share-l.done{color:var(--nt-navy)}
body .elementor .nt-art-end .nt-share{display:none}

/* article text: the post's own blocks, set as a long read */
body .elementor .nt-art-body{display:block;font:400 20.5px/1.72 var(--nt-serif);color:var(--nt-c141)}
/* Elementor gives the post-content block its own grey sans; hand it back to the article's type */
body .elementor .nt-art-body .elementor-widget-theme-post-content{font-family:inherit;font-weight:inherit;color:inherit}
body .elementor .nt-art-body p{margin:0 0 1.2em}
body .elementor .nt-art-body :is(.elementor-widget-container,.elementor-widget-theme-post-content)>p:first-child:first-letter{float:left;margin:.05em .09em 0 0;font:500 5em/.74 var(--nt-serif);color:var(--tc)}
body .elementor .nt-art-body h2{margin:2.1em 0 .55em;font:500 35px/1.1 var(--nt-serif);letter-spacing:-.02em;color:var(--nt-navy);scroll-margin-top:110px;text-wrap:balance}
body .elementor .nt-art-body h3{margin:1.7em 0 .4em;font:600 24px/1.2 var(--nt-serif);letter-spacing:-.01em;color:var(--nt-navy);scroll-margin-top:110px}
body .elementor .nt-art-body h4{margin:1.6em 0 .4em;font:600 17px/1.3 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-art-body a{color:var(--nt-navy);text-decoration:underline;text-decoration-color:var(--tc);text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s}
body .elementor .nt-art-body a:hover{color:var(--tc)}
body .elementor .nt-art-body strong{font-weight:600;color:var(--nt-navy)}
body .elementor .nt-art-body ul{margin:0 0 1.3em;padding:0;list-style:none}
body .elementor .nt-art-body ul li{position:relative;margin:0 0 .5em;padding:0 0 0 1.5em}
body .elementor .nt-art-body ul li:before{content:"";position:absolute;left:.12em;top:.68em;width:.46em;height:.46em;border-radius:2px;background:var(--tc)}
body .elementor .nt-art-body ol{margin:0 0 1.3em;padding:0 0 0 1.4em}
body .elementor .nt-art-body ol li{margin:0 0 .5em;padding-left:.25em}
body .elementor .nt-art-body ol li::marker{font:600 .82em/1 var(--nt-f-display);color:var(--tc)}
body .elementor .nt-art-body blockquote{margin:1.8em 0;padding:0 0 0 28px;border-left:3px solid var(--tc);font:400 italic 29px/1.3 var(--nt-serif);letter-spacing:-.012em;color:var(--nt-navy)}
body .elementor .nt-art-body blockquote p{margin:0 0 .5em}
body .elementor .nt-art-body blockquote cite{display:block;font:500 normal 14px/1.3 var(--nt-f-display);color:var(--nt-mut)}
body .elementor .nt-art-body :is(img,video,iframe){max-width:100%;height:auto;border-radius:14px}
body .elementor .nt-art-body figure{margin:2em 0}
body .elementor .nt-art-body figcaption{margin:12px 0 0;font:400 14px/1.45 var(--nt-f-body);color:var(--nt-mut)}
body .elementor .nt-art-body table{width:100%;margin:1.8em 0;border-collapse:collapse;font:400 16px/1.5 var(--nt-f-body)}
body .elementor .nt-art-body :is(th,td){padding:13px 14px 13px 0;border:0;border-bottom:1px solid var(--nt-line);background:none;text-align:left;vertical-align:top}
body .elementor .nt-art-body th{border-bottom:2px solid var(--nt-navy);font:600 14px/1.3 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-art-body hr{margin:2.4em 0;border:0;border-top:1px solid var(--nt-line)}
body .elementor .nt-art-body code{padding:.12em .36em;border-radius:6px;background:var(--nt-soft);font:500 .82em/1.4 var(--nt-f-mono)}
/* a post that signs off with a bold question and a link gets it set as the closing line */
body .elementor .nt-art-body p:last-child:has(>strong:first-child):has(>a){margin:2.3em 0 0;padding:26px 0;border-top:2px solid var(--nt-navy);border-bottom:1px solid var(--nt-line);font:500 19px/1.45 var(--nt-f-display);color:var(--nt-ink)}
body .elementor .nt-art-body p:last-child:has(>strong:first-child):has(>a) strong{display:block;margin:0 0 4px;font:500 30px/1.12 var(--nt-serif);letter-spacing:-.016em}

body .elementor .nt-art-end{display:block;padding:0 0 96px}
body .elementor .nt-art-author{display:grid;grid-template-columns:60px minmax(0,1fr);gap:22px;align-items:start;max-width:700px;margin:0 0 0 290px;padding:30px 0 0;border-top:1px solid var(--nt-line)}
body .elementor .nt-art-author-i{display:block;width:60px;height:60px;padding:13px 10px;border-radius:16px;background:var(--nt-soft);object-fit:contain}
body .elementor .nt-art-author-b{display:block}
body .elementor .nt-art-author-n{margin:0 0 6px;font:600 16px/1.3 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-art-author-p{margin:0 0 10px;font:400 15.5px/1.6 var(--nt-f-body);color:var(--nt-mut)}
body .elementor .nt-art-author-l{margin:0;font:600 14.5px/1.2 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-art-author-l a{color:inherit;text-decoration:none}
body .elementor .nt-art-author-l a:hover{color:var(--nt-blue)}

/* keep reading */
body .elementor .nt-more{display:block;padding:84px 0 96px;background:var(--nt-soft)}
body .elementor .nt-more.is-empty,body .elementor .nt-more:has(.nt-more-grid[style*="display: none"]),body .elementor .nt-more:has(.nt-more-grid[style*="display:none"]){display:none}
body .elementor .nt-more+.nt-mag-cta{padding-top:96px}
body .elementor .nt-more-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;width:auto;margin:0 0 36px;padding:0 0 22px;border-bottom:2px solid var(--nt-navy)}
body .elementor .nt-more-h{margin:0;font:500 clamp(32px,3.6vw,48px)/1.04 var(--nt-serif);letter-spacing:-.022em;color:var(--nt-navy)}
body .elementor .nt-more-all{margin:0;font:600 15px/1 var(--nt-f-display);color:var(--nt-navy);white-space:nowrap}
body .elementor .nt-more-all a{color:inherit;text-decoration:none}
body .elementor .nt-more-all a:hover{color:var(--nt-blue)}
body .elementor .nt-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:44px;align-items:start;width:100%}
body .elementor .nt-more-grid>.nt-mag-item{grid-column:auto;margin:0;padding:0;border:0}
body .elementor .nt-more-grid>.nt-mag-item:nth-child(n+4){display:none}
body .elementor .nt-more .nt-mag-empty{padding:0}
/* homepage "latest stories": the whole section stays hidden until a story is published */
body .elementor .nt-sec--posts:has(.nt-more-grid[style*="display: none"]),body .elementor .nt-sec--posts:has(.nt-more-grid[style*="display:none"]){display:none}
body .elementor .nt-lab-k{margin:0 0 24px;padding:8px 12px;border-radius:8px;background:var(--nt-c142);font:600 13px/1 var(--nt-f-display);color:var(--nt-c143)}

/* ---------- smaller screens ---------- */
@media (max-width:1100px){
  body .elementor .nt-art-grid{grid-template-columns:minmax(0,700px);padding-top:48px}
  body .elementor .nt-art-rail{display:none}
  body .elementor .nt-art-author{margin-left:0}
  body .elementor .nt-art-end .nt-share{display:flex;flex-wrap:wrap;gap:4px 22px;max-width:700px;margin:0 0 30px}
  body .elementor .nt-art-end .nt-share .nt-rail-k{flex:0 0 100%;margin:0 0 4px}
}
@media (max-width:1024px){
  body .elementor .nt-mag-mast-top{grid-template-columns:minmax(0,1fr);gap:26px}
  body .elementor .nt-mag-deck{max-width:46ch}
  body .elementor .nt-mag-grid{column-gap:32px}
  body .elementor .nt-mag-grid>.nt-mag-item{grid-column:span 6}
  body .elementor .nt-mag-grid>.nt-mag-item:first-child{grid-column:1/-1;margin-top:0;padding-top:0;border-top:0}
  body .elementor .nt-mag-grid>.nt-mag-item:first-child .nt-story-h{font-size:clamp(32px,6vw,48px);line-height:1.05;letter-spacing:-.02em}
  body .elementor .nt-mag-grid>.nt-mag-item:first-child .nt-story-x{font:400 19px/1.5 var(--nt-serif);color:var(--nt-ink)}
  body .elementor .nt-soon-list{grid-template-columns:minmax(0,1fr)}
  body .elementor .nt-mag-cta-in{grid-template-columns:minmax(0,1fr);padding:48px 36px}
  body .elementor .nt-more-grid{gap:32px}
}
@media (max-width:767px){
  body .elementor .nt-mag-mast{padding-top:150px}
  body .elementor .nt-mag-title{font-size:clamp(80px,27vw,150px)}
  body .elementor .nt-mag-title{padding-top:30px}
  body .elementor .nt-mag-deck{font-size:18px}
  body .elementor .nt-mag-nav{flex-wrap:nowrap;gap:0 26px;margin:0 -20px;padding:0 20px;overflow-x:auto;scrollbar-width:none}
  body .elementor .nt-mag-nav::-webkit-scrollbar{display:none}
  body .elementor .nt-mag-nav-l{flex:none;white-space:nowrap}
  body .elementor .nt-mag-main{padding:32px 0 76px}
  body .elementor .nt-mag-grid{display:block}
  body .elementor .nt-mag-grid>.nt-mag-item{margin-top:26px;padding-top:26px}
  /* after the lead, stories run as a list: words left, a small cover right */
  body .elementor .nt-mag-grid>.nt-mag-item:nth-child(n+2) .nt-story{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:18px;align-items:start}
  body .elementor .nt-mag-grid>.nt-mag-item:nth-child(n+2) .nt-story-cover{order:2;aspect-ratio:1;border-radius:10px}
  body .elementor .nt-mag-grid>.nt-mag-item:nth-child(n+2) .nt-story-cover:after{font-size:60px}
  body .elementor .nt-mag-grid>.nt-mag-item:nth-child(n+2) .nt-story-body{padding-top:0}
  body .elementor .nt-mag-grid>.nt-mag-item:nth-child(n+2) .nt-story-h{font-size:21px;line-height:1.16}
  body .elementor .nt-mag-grid>.nt-mag-item:nth-child(n+2) .nt-story-x{display:none}
  body .elementor .nt-pager{margin-top:40px}
  body .elementor .nt-soon{grid-template-columns:104px minmax(0,1fr);gap:18px}
  body .elementor .nt-soon-h{font-size:20px}
  body .elementor .nt-mag-empty-p{font-size:19px}
  body .elementor .nt-mag-cta{padding-bottom:76px}
  body .elementor .nt-mag-cta-in{padding:40px 26px;border-radius:22px}
  body .elementor .nt-art-head{padding:146px 0 34px}
  body .elementor .nt-art-crumbs{margin-bottom:22px}
  body .elementor .nt-art-meta{margin-top:32px;gap:6px 20px}
  body .elementor .nt-art-img{aspect-ratio:16/10;border-radius:14px}
  body .elementor .nt-art-grid{padding-top:36px}
  body .elementor .nt-art-body{font-size:19px;line-height:1.68}
  body .elementor .nt-art-body h2{font-size:29px}
  body .elementor .nt-art-body h3{font-size:22px}
  body .elementor .nt-art-body blockquote{padding-left:20px;font-size:24px}
  body .elementor .nt-art-body p:last-child:has(>strong:first-child):has(>a) strong{font-size:25px}
  body .elementor .nt-art-end{padding-bottom:70px}
  body .elementor .nt-more{padding:60px 0 66px}
  body .elementor .nt-more+.nt-mag-cta{padding-top:66px}
  body .elementor .nt-more-grid{grid-template-columns:minmax(0,1fr);gap:34px}
}
@media (prefers-reduced-motion:reduce){body .elementor .nt-story-img,body .elementor .nt-story-h a{transition:none}}


/* ---------- article blocks (post-blocks.js): summary, tables, charts, timelines, pairs, numbers, steps, notes, images.
   Figures animate once as they scroll into view: blog-motion.js adds .nt-anim to the article body and .in to each figure.
   Without scripts, or with reduced motion, everything simply shows in its finished state. ---------- */
body .elementor .nt-art-body .nt-key{margin:0 0 1.7em;padding:22px 26px 20px;border-left:3px solid var(--tc);border-radius:0 14px 14px 0;background:var(--nt-soft);font:400 17px/1.55 var(--nt-f-body);color:var(--nt-ink)}
body .elementor .nt-art-body .nt-key-t,body .elementor .nt-art-body .nt-note-t{margin:0 0 10px;font:600 13.5px/1.2 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-art-body .nt-key ul{margin:0}
body .elementor .nt-art-body .nt-key li{margin:0 0 .42em;padding-left:1.4em}
body .elementor .nt-art-body .nt-key li:last-child{margin-bottom:0}
body .elementor .nt-art-body .nt-table{display:flex;flex-direction:column;margin:2.1em 0;overflow-x:auto}
body .elementor .nt-art-body .nt-table table{min-width:520px;margin:0}
body .elementor .nt-art-body .nt-table td:first-child{font-weight:600;color:var(--nt-navy)}
body .elementor .nt-art-body .nt-table tbody tr{transition:background .2s}
body .elementor .nt-art-body .nt-table tbody tr:hover{background:var(--nt-soft)}
body .elementor .nt-art-body .nt-table figcaption,body .elementor .nt-art-body .nt-fig-t{order:-1;margin:0 0 14px;font:600 15px/1.3 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-art-body .nt-fig{margin:2.2em 0;font-family:var(--nt-f-body)}
body .elementor .nt-art-body .nt-fig-src{margin:16px 0 0;font:400 13px/1.5 var(--nt-f-body);color:var(--nt-mut)}
body .elementor .nt-art-body .nt-fig-src a{text-decoration-thickness:1px}
body .elementor .nt-art-body .nt-bars,body .elementor .nt-art-body .nt-nums{padding:26px 28px;border-radius:16px;box-shadow:inset 0 0 0 1px var(--nt-line)}
body .elementor .nt-art-body .nt-bar{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr) auto;gap:14px;align-items:center;padding:9px 0}
body .elementor .nt-art-body .nt-bar-l{font:500 15px/1.3 var(--nt-f-body);color:var(--nt-ink)}
body .elementor .nt-art-body .nt-bar-track{display:block;height:14px;border-radius:7px;background:var(--nt-soft);overflow:hidden}
body .elementor .nt-art-body .nt-bar-fill{display:block;height:100%;width:calc(var(--v)*1%);border-radius:7px;background:var(--nt-c144);transform-origin:0 50%;transition:transform 1.2s var(--nt-ease)}
body .elementor .nt-art-body .nt-bar.is-key .nt-bar-fill{background:var(--tc)}
body .elementor .nt-art-body .nt-bar-n{min-width:5.2em;text-align:right;font:600 15px/1.2 var(--nt-f-display);color:var(--nt-navy);white-space:nowrap}
body .elementor .nt-art-body.nt-anim .nt-fig:not(.in) .nt-bar-fill{transform:scaleX(0)}
body .elementor .nt-art-body .nt-time ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--nt-line)}
body .elementor .nt-art-body .nt-time li{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;margin:0;padding:0 0 22px 26px;transition:opacity .6s,transform .6s var(--nt-ease)}
body .elementor .nt-art-body .nt-time li:last-child{padding-bottom:0}
body .elementor .nt-art-body .nt-time li:before{content:"";position:absolute;left:-7px;top:.36em;width:12px;height:12px;border-radius:50%;background:var(--nt-c1);box-shadow:0 0 0 2px var(--tc)}
body .elementor .nt-art-body .nt-time li:last-child:before{background:var(--tc)}
body .elementor .nt-art-body .nt-time-d{font:600 14px/1.55 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-art-body .nt-time-b{display:block;font:400 16px/1.5 var(--nt-f-body);color:var(--nt-mut)}
body .elementor .nt-art-body .nt-time-b strong,body .elementor .nt-art-body .nt-steps2 strong{display:block;font:600 17px/1.35 var(--nt-f-body);color:var(--nt-navy)}
body .elementor .nt-art-body .nt-time-b span,body .elementor .nt-art-body .nt-steps2 span{display:block;margin-top:2px}
body .elementor .nt-art-body.nt-anim .nt-time:not(.in) li,body .elementor .nt-art-body.nt-anim .nt-pair:not(.in) .nt-pair-c,body .elementor .nt-art-body.nt-anim .nt-steps2:not(.in) li,body .elementor .nt-art-body.nt-anim .nt-nums:not(.in) .nt-num{opacity:0;transform:translateY(14px)}
body .elementor .nt-art-body .nt-fig :is(li,.nt-pair-c,.nt-num):nth-child(2){transition-delay:.12s}
body .elementor .nt-art-body .nt-fig :is(li,.nt-pair-c,.nt-num):nth-child(3){transition-delay:.24s}
body .elementor .nt-art-body .nt-fig :is(li,.nt-pair-c,.nt-num):nth-child(4){transition-delay:.36s}
body .elementor .nt-art-body .nt-fig :is(li,.nt-pair-c,.nt-num):nth-child(5){transition-delay:.48s}
body .elementor .nt-art-body .nt-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
body .elementor .nt-art-body .nt-pair-c{padding:24px 26px 22px;border-radius:16px;background:var(--nt-soft);transition:opacity .6s,transform .6s var(--nt-ease)}
body .elementor .nt-art-body .nt-pair-c.is-key{background:var(--nt-navy)}
body .elementor .nt-art-body .nt-pair-t{margin:0 0 14px;font:500 25px/1.1 var(--nt-serif);letter-spacing:-.014em;color:var(--nt-navy)}
body .elementor .nt-art-body .nt-pair-c.is-key .nt-pair-t{color:var(--nt-c1)}
body .elementor .nt-art-body .nt-pair ul{margin:0}
body .elementor .nt-art-body .nt-pair li{margin:0 0 .5em;padding-left:1.4em;font:400 16px/1.5 var(--nt-f-body);color:var(--nt-ink)}
body .elementor .nt-art-body .nt-pair li:before{background:var(--nt-c145)}
body .elementor .nt-art-body .nt-pair-c.is-key li{color:var(--nt-c146)}
body .elementor .nt-art-body .nt-pair-c.is-key li:before{background:var(--nt-cyan)}
body .elementor .nt-art-body .nt-nums-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
body .elementor .nt-art-body .nt-num{transition:opacity .6s,transform .6s var(--nt-ease)}
body .elementor .nt-art-body .nt-num-n{display:block;font:500 60px/1 var(--nt-serif);letter-spacing:-.03em;color:var(--tc);font-variant-numeric:tabular-nums}
body .elementor .nt-art-body .nt-num-l{display:block;margin-top:10px;font:400 15px/1.45 var(--nt-f-body);color:var(--nt-ink)}
body .elementor .nt-art-body ol.nt-steps2{list-style:none;counter-reset:s;display:grid;gap:12px;margin:2em 0;padding:0}
body .elementor .nt-art-body ol.nt-steps2 li{counter-increment:s;position:relative;margin:0;padding:18px 22px 18px 72px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--nt-line);font:400 16px/1.5 var(--nt-f-body);color:var(--nt-mut);transition:opacity .6s,transform .6s var(--nt-ease)}
body .elementor .nt-art-body ol.nt-steps2 li:before{content:counter(s);position:absolute;left:20px;top:17px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--tc);color:var(--nt-c1);font:600 15px/1 var(--nt-f-display)}
body .elementor .nt-art-body .nt-note{margin:2.1em 0;padding:22px 26px;border-radius:16px;background:var(--nt-soft);box-shadow:inset 0 0 0 1px var(--nt-line)}
body .elementor .nt-art-body .nt-note p:last-child{margin:0;font:400 italic 19px/1.55 var(--nt-serif);color:var(--nt-ink)}
body .elementor .nt-art-body .wp-block-image{margin:2.3em 0}
body .elementor .nt-art-body .wp-block-image img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 0 0 1px var(--nt-line),0 30px 60px -40px var(--nt-c75)}
body .elementor .nt-art-body .wp-block-image.is-phone{max-width:290px;margin-left:auto;margin-right:auto}
body .elementor .nt-art-body .wp-block-image.is-phone img{border-radius:30px}
body .elementor .nt-art-body .wp-block-image.is-phone figcaption{text-align:center}
/* links inside feature cards (pricing cards point to their service pages) */
body .elementor .nt-feature a{color:var(--nt-blue);text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){
  body .elementor .nt-art-body .nt-key{padding:18px 20px;font-size:16.5px}
  body .elementor .nt-art-body .nt-bars,body .elementor .nt-art-body .nt-nums{padding:20px 18px}
  body .elementor .nt-art-body .nt-bar{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
  body .elementor .nt-art-body .nt-bar-l{grid-column:1/-1}
  body .elementor .nt-art-body .nt-time li{grid-template-columns:minmax(0,1fr);gap:2px;padding-left:22px}
  body .elementor .nt-art-body .nt-pair,body .elementor .nt-art-body .nt-nums-g{grid-template-columns:minmax(0,1fr)}
  body .elementor .nt-art-body .nt-nums-g{gap:20px}
  body .elementor .nt-art-body .nt-num-n{font-size:50px}
  body .elementor .nt-art-body ol.nt-steps2 li{padding:16px 16px 16px 62px}
  body .elementor .nt-art-body ol.nt-steps2 li:before{left:14px;top:15px}
}


/* ---------- "code turns into app" hero (hero-code.js). motion.js sets --w (0..1, how much of a code line is typed) on each
   .nt-cl, and adds .on to app parts as their line finishes. With reduced motion or no script, everything shows finished:
   the "waiting" state below only applies once motion.js has added .is-live to the hero. ---------- */
body .elementor .nt-chero{display:block;position:relative;background:radial-gradient(1000px 620px at 82% 18%,var(--nt-c4),transparent 62%),radial-gradient(900px 600px at 100% 90%,var(--nt-c54),transparent 60%),var(--nt-c1)}
body .elementor .nt-chero-stage{display:flex;align-items:center;min-height:100dvh;padding:150px 0 70px;overflow:hidden}
body .elementor .nt-chero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center}
body .elementor .nt-chero-copy{display:block;position:relative;z-index:3}
body .elementor .nt-chero-h1{margin:22px 0 0;font-size:clamp(42px,5vw,74px)}
body .elementor .nt-chero-lead{max-width:30em;margin:24px 0 32px}
body .elementor .nt-chero-stack{margin:30px 0 0;font:500 13.5px/1.4 var(--nt-f-mono);color:var(--nt-mut)}
body .elementor .nt-cscene{display:block;position:relative;height:min(64dvh,600px);min-height:470px}

/* editor */
body .elementor .nt-ed{display:block;position:absolute;left:0;top:0;width:66%;padding:0;border-radius:18px;overflow:hidden;background:var(--nt-c46);box-shadow:0 40px 80px -40px var(--nt-c47),0 0 0 1px var(--nt-c147) inset;z-index:1}
body .elementor .nt-ed-bar{display:flex;align-items:center;gap:14px;width:auto;padding:13px 16px;background:var(--nt-c148)}
body .elementor .nt-ed-dots{display:block;width:44px;height:10px;background:radial-gradient(circle at 5px 5px,var(--nt-c149) 4.5px,transparent 5px),radial-gradient(circle at 22px 5px,var(--nt-c150) 4.5px,transparent 5px),radial-gradient(circle at 39px 5px,var(--nt-c151) 4.5px,transparent 5px)}
body .elementor .nt-ed-tab{margin:0;padding:5px 12px;border-radius:7px;background:var(--nt-c46);font:500 12.5px/1 var(--nt-f-mono);color:var(--nt-c152)}
body .elementor .nt-ed-code{display:block;padding:18px 18px 26px}
body .elementor .nt-cl{display:flex;align-items:baseline;gap:16px;width:auto;padding:4px 0;--w:1}
body .elementor .nt-cl-n{flex:none;width:16px;margin:0;text-align:right;font:400 13px/1.6 var(--nt-f-mono);color:var(--nt-c153)}
body .elementor .nt-cl-t{position:relative;margin:0;font:400 14px/1.6 var(--nt-f-mono);color:var(--nt-c154);white-space:nowrap;clip-path:inset(0 calc((1 - var(--w))*100%) 0 0)}
body .elementor .nt-cl-t b{font-weight:500;color:var(--nt-c132)}
body .elementor .nt-cl-t i{font-style:normal;color:var(--nt-c155)}
body .elementor .nt-cl-t s{text-decoration:none;color:var(--nt-c156)}
body .elementor .nt-cl-t u{text-decoration:none;color:var(--nt-c157)}
body .elementor .nt-cl.typing .nt-cl-t:after{content:"";position:absolute;top:3px;bottom:3px;left:calc(var(--w)*100% + 1px);width:2px;background:var(--nt-c132)}

/* app window */
body .elementor .nt-capp{display:block;position:absolute;right:0;top:24%;width:70%;padding:0;z-index:2}
body .elementor .nt-ap{transition:opacity .5s,transform .6s var(--nt-ease)}
body .elementor .nt-chero.is-live .nt-ap:not(.on){opacity:0;transform:translateY(14px) scale(.98)}
body .elementor .nt-capp-frame{display:block;position:absolute;inset:0;border-radius:16px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-c19),0 50px 90px -40px var(--nt-c65)}
body .elementor .nt-chero.is-live .nt-capp-frame:not(.on){opacity:1;transform:none;background:transparent;box-shadow:inset 0 0 0 2px var(--nt-c103)}
body .elementor .nt-capp-bar{display:flex;align-items:center;gap:14px;width:auto;padding:11px 14px;border-bottom:1px solid var(--nt-line)}
body .elementor .nt-capp-dots{display:block;width:38px;height:9px;background:radial-gradient(circle at 4.5px 4.5px,var(--nt-c23) 4px,transparent 4.5px),radial-gradient(circle at 18.5px 4.5px,var(--nt-c23) 4px,transparent 4.5px),radial-gradient(circle at 32.5px 4.5px,var(--nt-c23) 4px,transparent 4.5px)}
body .elementor .nt-capp-url{margin:0;padding:4px 12px;border-radius:7px;background:var(--nt-soft);font:500 11.5px/1 var(--nt-f-body);color:var(--nt-mut)}
body .elementor .nt-capp-body{display:flex;gap:0;position:relative;width:auto;padding:46px 0 0;min-height:330px}
body .elementor .nt-side{display:block;flex:none;width:27%;padding:16px 12px;border-right:1px solid var(--nt-line)}
body .elementor .nt-side-logo{display:block;width:30px;height:30px;margin:0 0 16px 6px;border-radius:9px;background:var(--nt-grad)}
body .elementor .nt-side-i{margin:0 0 4px;padding:8px 10px;border-radius:8px;font:500 12.5px/1 var(--nt-f-body);color:var(--nt-mut)}
body .elementor .nt-side-i.on{background:var(--nt-c158);color:var(--nt-blue)}
body .elementor .nt-capp-main{display:block;flex:1;min-width:0;padding:16px 18px 20px}
body .elementor .nt-capp-h{display:block;margin:0 0 14px}
body .elementor .nt-capp-h-t{margin:0;font:600 17px/1.2 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-capp-h-s{margin:3px 0 0;font:400 12px/1.2 var(--nt-f-body);color:var(--nt-mut)}
body .elementor .nt-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
body .elementor .nt-kpi{display:block;padding:11px 12px;border-radius:12px;background:var(--nt-soft)}
body .elementor .nt-kpi:nth-child(2){background:var(--nt-c124)}body .elementor .nt-kpi:nth-child(3){background:var(--nt-c159)}
body .elementor .nt-kpi-l{margin:0;font:500 11px/1.2 var(--nt-f-body);color:var(--nt-mut)}
body .elementor .nt-kpi-n{margin:6px 0 0;font:600 22px/1 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-capp-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px}
body .elementor .nt-table{display:block;padding:8px 10px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--nt-line)}
body .elementor .nt-trow{display:flex;align-items:center;gap:8px;width:auto;padding:7px 0;border-bottom:1px solid var(--nt-line)}
body .elementor .nt-trow:last-child{border-bottom:0}
body .elementor .nt-tav{display:block;flex:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--nt-c160),var(--nt-c161))}
body .elementor .nt-tc{margin:0;font:400 11.5px/1.2 var(--nt-f-body);color:var(--nt-mut);white-space:nowrap}
body .elementor .nt-tc--who{flex:1;font-weight:600;color:var(--nt-navy)}
body .elementor .nt-tc--tag{padding:3px 7px;border-radius:999px;background:var(--nt-c124);color:var(--nt-c129);font-weight:600}
body .elementor .nt-trow:last-child .nt-tc--tag{background:var(--nt-c162);color:var(--nt-c163)}
body .elementor .nt-chart{display:flex;align-items:flex-end;gap:7px;padding:12px 12px 8px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--nt-line)}
body .elementor .nt-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1;height:96px;gap:6px}
body .elementor .nt-col-b{display:block;width:100%;border-radius:5px 5px 2px 2px;background:var(--nt-c164);transform-origin:50% 100%;transition:transform .9s var(--nt-ease)}
body .elementor .nt-col-b--1{height:55%}body .elementor .nt-col-b--2{height:80%;background:var(--nt-grad)}body .elementor .nt-col-b--3{height:62%}body .elementor .nt-col-b--4{height:90%;background:var(--nt-grad)}body .elementor .nt-col-b--5{height:44%}
body .elementor .nt-chero.is-live .nt-chart:not(.on) .nt-col-b{transform:scaleY(.06)}
body .elementor .nt-col-l{margin:0;font:500 10.5px/1 var(--nt-f-body);color:var(--nt-faint)}

/* AI toast, phone, live badge */
body .elementor .nt-toast{display:flex;align-items:center;gap:12px;position:absolute;left:12%;bottom:4%;z-index:4;width:auto;max-width:330px;padding:13px 16px;border-radius:16px;background:var(--nt-c1);box-shadow:0 0 0 1px var(--nt-c61),0 26px 50px -22px var(--nt-c65)}
body .elementor .nt-toast-i{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:11px;background:var(--nt-grad);color:var(--nt-c1)}
body .elementor .nt-toast-i svg{width:18px;height:18px;fill:currentColor}
body .elementor .nt-toast-b{display:block}
body .elementor .nt-toast-k{margin:0;font:600 11px/1.2 var(--nt-f-display);color:var(--nt-blue)}
body .elementor .nt-toast-t{margin:3px 0 0;font:600 13.5px/1.3 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-cphone{display:block;position:absolute;right:-2%;bottom:-2%;z-index:5;width:150px;height:300px;padding:30px 12px 12px;border-radius:30px;background:var(--nt-c1);box-shadow:0 0 0 7px var(--nt-navy),0 40px 70px -30px var(--nt-c47)}
body .elementor .nt-cphone-notch{display:block;position:absolute;left:50%;top:9px;width:54px;height:14px;margin-left:-27px;border-radius:9px;background:var(--nt-navy)}
body .elementor .nt-cphone-h{margin:4px 0 10px;font:600 14px/1 var(--nt-f-display);color:var(--nt-navy)}
body .elementor .nt-cphone-card{display:block;margin:0 0 8px;padding:10px;border-radius:12px;background:var(--nt-navy)}
body .elementor .nt-cphone-card--2{background:var(--nt-soft)}
body .elementor .nt-cphone-b{margin:0;font:600 12px/1.2 var(--nt-f-display);color:var(--nt-c1)}
body .elementor .nt-cphone-s{margin:4px 0 0;font:400 10.5px/1.2 var(--nt-f-body);color:var(--nt-c140)}
body .elementor .nt-cphone-card--2 .nt-cphone-b{color:var(--nt-navy)}body .elementor .nt-cphone-card--2 .nt-cphone-s{color:var(--nt-mut)}
body .elementor .nt-live{display:flex;align-items:center;gap:8px;position:absolute;right:4%;top:14%;z-index:4;width:auto;padding:8px 13px;border-radius:999px;background:var(--nt-navy);box-shadow:0 16px 30px -16px var(--nt-c47)}
body .elementor .nt-live-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--nt-c151);box-shadow:0 0 0 4px var(--nt-c165)}
body .elementor .nt-live-t{margin:0;font:600 12px/1 var(--nt-f-display);color:var(--nt-c1)}

@media (min-width:1025px) and (min-height:640px){
  body .elementor .nt-chero{height:240dvh}
  body .elementor .nt-chero-stage{position:sticky;top:0;height:100dvh;min-height:0}
}
@media (max-width:1024px){
  body .elementor .nt-chero-stage{min-height:0;padding:140px 0 56px}
  body .elementor .nt-chero-grid{grid-template-columns:minmax(0,1fr);gap:30px}
}
@media (max-width:640px){
  body .elementor .nt-cscene{height:auto;min-height:0;display:flex;flex-direction:column;gap:14px}
  body .elementor .nt-ed,body .elementor .nt-capp,body .elementor .nt-toast{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%}
  body .elementor .nt-ed-code{padding:12px 12px 16px;overflow:hidden}
  body .elementor .nt-cl-t{font-size:11px}
  body .elementor .nt-capp-frame{position:absolute}
  body .elementor .nt-capp-body{min-height:0}
  body .elementor .nt-side{display:none}
  body .elementor .nt-capp-row{grid-template-columns:minmax(0,1fr)}
  body .elementor .nt-chart{display:none}
  body .elementor .nt-cphone{display:none}
  body .elementor .nt-live{top:auto;bottom:auto;right:auto;position:relative;align-self:flex-start}
  body .elementor .nt-toast{max-width:none}
}
@media (prefers-reduced-motion:reduce){body .elementor .nt-ap,body .elementor .nt-col-b{transition:none}}
/* keep the code readable: editor wider, the app sits lower and to the right */
@media (min-width:641px){
  body .elementor .nt-ed{width:76%}
  body .elementor .nt-cl-t{font-size:14.5px}
  body .elementor .nt-capp{top:44%;width:60%}
  body .elementor .nt-live{top:2%;right:0}
  body .elementor .nt-toast{left:4%;bottom:-6%}
}
/* 3D orbit (motion.js orbit3d) fills the whole hero, behind the words, editor and app */
body .elementor .nt-chero-stage{position:relative}
body .nt-orbit{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
body .elementor .nt-chero-grid{position:relative;z-index:1}
body .elementor .nt-chero-copy{text-shadow:0 0 18px var(--nt-c108)}
/* scrolling turns the editor and app from an angle to face you (--p from orbit3d, desktop) */
@media (min-width:1025px){
  body .elementor .nt-cscene{perspective:1800px}
  body .elementor .nt-ed{transform:rotateY(calc(18deg*(1 - var(--p,1)))) rotateX(calc(7deg*(1 - var(--p,1))));transform-origin:0 50%}
  body .elementor .nt-capp{transform:rotateY(calc(-20deg*(1 - var(--p,1)))) translateZ(calc(90px*(1 - var(--p,1))));transform-origin:100% 50%}
}
@media (min-width:1025px) and (min-height:640px){body .elementor .nt-chero-stage{position:sticky}}
/* keep the headline crisp over the 3D: a soft white pool behind the words instead of a text shadow */
body .elementor .nt-chero-copy{text-shadow:none}
body .elementor .nt-chero-copy:before{content:"";position:absolute;inset:-60px -80px -60px -120px;z-index:-1;background:radial-gradient(closest-side,var(--nt-c32),var(--nt-c69) 55%,var(--nt-c93));pointer-events:none}


/* ---------- Hallmark polish layer (12 Nov 2026) ----------
   Fixes the "made by a machine" tells Hallmark's linter found on the live site, without changing the layout:
   one blue ramp instead of the cyan-to-purple gradient, no coloured word inside section headings, labels in sentence
   case, a visible keyboard focus ring, a reduced-motion fallback, and no drawn browser chrome. Loaded last. */

html{overflow-x:clip}
body{overflow-x:clip}

/* one style per heading: the hero keeps its blue line as the page's single signature (stamp: waive 38iii) */
body .elementor :is(h2,h3,h4) span{background:none!important;-webkit-text-fill-color:currentColor!important;color:inherit!important}

/* labels: body face, a step smaller, sentence case, untracked */
body .elementor :is(.nt-mh,.nt-foot-h,.nt-mprod-tag,.nt-trust-l,.nt-logos-l,.nt-vs-h,.nt-tg-h,.nt-post-d,.nt-crow-s,.nt-proof-h,.nt-mmore,.nt-case-tag,.nt-doc-k,.nt-kpi-l,.nt-stat-s,.nt-chero-stack){text-transform:none!important;letter-spacing:0!important}
body .elementor :is(.nt-mh,.nt-foot-h,.nt-tg-h,.nt-logos-l,.nt-trust-l){font-family:var(--nt-f-body)!important;font-weight:600!important;font-size:13px!important;color:var(--nt-mut)}

/* no drawn browser or OS chrome: the window frames keep the screenshot, the editor keeps its real file name */
body .elementor :is(.nt-ed-dots,.nt-capp-dots,.nt-capp-url){display:none!important}
body .elementor .nt-capp-bar{display:none!important}
body .elementor .nt-capp-body{padding-top:0}
body .elementor .nt-hero-visual>.nt-code:before{display:none}

/* keyboard focus: an instant ring on everything you can reach */
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--nt-focus)!important;outline-offset:3px!important;transition:none!important}
body .elementor .nt-btn:focus-visible{box-shadow:0 0 0 3px var(--nt-c1),0 0 0 6px var(--nt-focus)!important}

/* reduced motion: everything shows in its finished state */
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .nt-reveal,.js .nt-tile,.js .nt-rise{opacity:1!important;transform:none!important}
}
 body .elementor .nt-lg--react{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/react.svg)} body .elementor .nt-lg--nextdotjs{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/nextdotjs.svg)} body .elementor .nt-lg--typescript{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/typescript.svg)} body .elementor .nt-lg--javascript{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/javascript.svg)} body .elementor .nt-lg--nodedotjs{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/nodedotjs.svg)} body .elementor .nt-lg--express{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/express.svg)} body .elementor .nt-lg--python{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/python.svg)} body .elementor .nt-lg--php{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/php.svg)} body .elementor .nt-lg--swift{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/swift.svg)} body .elementor .nt-lg--kotlin{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/kotlin.svg)} body .elementor .nt-lg--postgresql{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/postgresql.svg)} body .elementor .nt-lg--mysql{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/mysql.svg)} body .elementor .nt-lg--socketdotio{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/socketdotio.svg)} body .elementor .nt-lg--tailwindcss{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/tailwindcss.svg)} body .elementor .nt-lg--amazonaws{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/amazonaws.svg)} body .elementor .nt-lg--docker{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/docker.svg)} body .elementor .nt-lg--cloudflare{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/cloudflare.svg)} body .elementor .nt-lg--nginx{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/nginx.svg)} body .elementor .nt-lg--wordpress{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/wordpress.svg)} body .elementor .nt-lg--elementor{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/elementor.svg)} body .elementor .nt-lg--woocommerce{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/woocommerce.svg)} body .elementor .nt-lg--shopify{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/shopify.svg)} body .elementor .nt-lg--stripe{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/stripe.svg)} body .elementor .nt-lg--xero{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/xero.svg)} body .elementor .nt-lg--expo{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/expo.svg)} body .elementor .nt-lg--figma{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/figma.svg)} body .elementor .nt-lg--zapier{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/zapier.svg)} body .elementor .nt-lg--make{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/make.svg)} body .elementor .nt-lg--twilio{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/twilio.svg)} body .elementor .nt-lg--googleads{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/googleads.svg)} body .elementor .nt-lg--googleanalytics{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/googleanalytics.svg)} body .elementor .nt-lg--meta{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/meta.svg)} body .elementor .nt-lg--quickbooks{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/quickbooks.svg)} body .elementor .nt-lg--vultr{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/vultr.svg)} body .elementor .nt-lg--digitalocean{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/digitalocean.svg)} body .elementor .nt-lg--googlecloud{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/googlecloud.svg)} body .elementor .nt-lg--pm2{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/pm2.svg)} body .elementor .nt-lg--redis{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/redis.svg)} body .elementor .nt-lg--firebase{--lg:url(https://cdn.jsdelivr.net/npm/simple-icons@11.14.0/icons/firebase.svg)}/* End custom CSS */