{"id":2941,"date":"2026-07-19T03:03:33","date_gmt":"2026-07-19T03:03:33","guid":{"rendered":"https:\/\/revtechteam.com\/?page_id=2941"},"modified":"2026-07-19T03:42:57","modified_gmt":"2026-07-19T03:42:57","slug":"home-v2","status":"publish","type":"page","link":"https:\/\/revtechteam.com\/","title":{"rendered":"AI Workflow Automation, React Apps &#038; Dashboards"},"content":{"rendered":"\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600&#038;family=Space+Grotesk:wght@500;600;700&#038;display=swap\" rel=\"stylesheet\">\n<style>\n  :root{\n    color-scheme:dark;\n    --bg:#05080f;\n    --bg-2:#0a1020;\n    --panel:rgba(148,163,184,.055);\n    --panel-solid:#0c1322;\n    --line:rgba(148,163,184,.14);\n    --line-bright:rgba(148,163,184,.30);\n    --text:#e8eef7;\n    --muted:#98a6ba;\n    --faint:#7b8aa0;\n    --cyan:#38bdf8;\n    --violet:#a78bfa;\n    --mint:#34d399;\n    --amber:#fbbf24;\n    --grad:linear-gradient(100deg,#38bdf8 0%,#818cf8 55%,#a78bfa 100%);\n    --radius:20px;\n    --font-display:\"Space Grotesk\",sans-serif;\n    --font-body:\"Inter\",sans-serif;\n  }\n  *{margin:0;padding:0;box-sizing:border-box}\n  html{scroll-behavior:smooth}\n  body{\n    background:var(--bg);\n    color:var(--text);\n    font-family:var(--font-body);\n    font-size:16px;\n    line-height:1.6;\n    -webkit-font-smoothing:antialiased;\n    overflow-x:hidden;\n  }\n  ::selection{background:rgba(56,189,248,.35)}\n\n  \/* accessibility utilities *\/\n  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}\n  .skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--cyan);color:#06101c;padding:13px 22px;border-radius:0 0 12px 0;font-weight:600;text-decoration:none;font-size:.95rem}\n  .skip-link:focus{left:0}\n\n  \/* ambient background *\/\n  .bg-stage{position:fixed;inset:0;z-index:-2;background:\n    radial-gradient(1100px 520px at 78% -10%, rgba(129,140,248,.16), transparent 60%),\n    radial-gradient(900px 480px at 8% 12%, rgba(56,189,248,.13), transparent 60%),\n    radial-gradient(1000px 600px at 50% 115%, rgba(167,139,250,.10), transparent 60%),\n    var(--bg);}\n  .bg-grid{position:fixed;inset:0;z-index:-1;pointer-events:none;\n    background-image:linear-gradient(rgba(148,163,184,.05) 1px,transparent 1px),\n                     linear-gradient(90deg,rgba(148,163,184,.05) 1px,transparent 1px);\n    background-size:56px 56px;\n    mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,black 0%,transparent 72%);\n    -webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,black 0%,transparent 72%);}\n\n  .wrap{max-width:1180px;margin:0 auto;padding:0 24px}\n  section{position:relative;padding:104px 0}\n\n  h1,h2,h3,.stat-num{font-family:var(--font-display);letter-spacing:-.02em}\n  \/* theme-bleed protection: WordPress loads Porto\/plugin CSS beside this page's styles *\/\n  h1,h2,h3{color:var(--text) !important}\n  .punchline{color:var(--text) !important}\n  .grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}\n\n  .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:18px}\n  .eyebrow::before{content:\"\";width:26px;height:1px;background:var(--grad)}\n  .section-head{max-width:720px;margin-bottom:56px}\n  .section-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.15;font-weight:700}\n  .section-head p{color:var(--muted);margin-top:16px;font-size:1.05rem}\n\n  \/* nav *\/\n  header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}\n  body.admin-bar #siteHeader{top:32px}\n  header.scrolled{background:rgba(5,8,15,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line)}\n  .nav{display:flex;align-items:center;justify-content:space-between;height:72px}\n  .brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);font-family:var(--font-display);font-weight:700;font-size:1.12rem;letter-spacing:-.01em}\n  .brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#0e1a30,#101a33);border:1px solid var(--line-bright);display:grid;place-items:center;flex:none}\n  .brand-mark svg{width:22px;height:15px}\n  .nav-links{display:flex;align-items:center;gap:34px;list-style:none}\n  .nav-links a{color:var(--muted);text-decoration:none;font-size:.93rem;font-weight:500;transition:color .2s}\n  .nav-links a:hover{color:var(--text)}\n  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;padding:13px 24px;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;font-family:var(--font-body)}\n  .btn:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}\n  .btn-primary{background:var(--grad);color:#06101c;box-shadow:0 10px 32px rgba(56,189,248,.28)}\n  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(56,189,248,.4)}\n  .btn-ghost{border-color:var(--line-bright);color:var(--text);background:rgba(148,163,184,.04)}\n  .btn-ghost:hover{border-color:var(--cyan);transform:translateY(-2px)}\n  .btn-nav{padding:10px 20px;font-size:.9rem}\n  .nav-toggle{display:none;background:none;border:1px solid var(--line-bright);border-radius:10px;width:42px;height:42px;cursor:pointer;color:var(--text);align-items:center;justify-content:center}\n\n  \/* hero *\/\n  .hero{padding:190px 0 110px;overflow:hidden}\n  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}\n  .hero-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:rgba(148,163,184,.05);border-radius:100px;padding:8px 16px;font-size:.82rem;color:var(--muted);margin-bottom:26px}\n  .pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 rgba(52,211,153,.5);animation:pulse 2.2s infinite}\n  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.5)}70%{box-shadow:0 0 0 9px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}\n  .hero h1{font-size:clamp(2.4rem,4.9vw,3.85rem);line-height:1.07;font-weight:700;letter-spacing:-.03em}\n  .hero-sub{color:var(--muted);font-size:1.13rem;margin:26px 0 34px;max-width:540px}\n  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap}\n  .hero-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}\n  .chip{font-size:.8rem;color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:6px 14px;background:rgba(148,163,184,.04)}\n  .chip b{color:var(--text);font-weight:600}\n\n  \/* hero visual *\/\n  .hero-visual{position:relative;min-height:480px}\n  .glow-blob{position:absolute;inset:-8% -12%;background:radial-gradient(closest-side,rgba(56,189,248,.14),transparent 70%);filter:blur(10px);z-index:0}\n  .mock{border:1px solid var(--line-bright);border-radius:16px;background:linear-gradient(180deg,#0d1526,#0a1120);box-shadow:0 30px 80px rgba(2,6,17,.7)}\n  .mock-head{display:flex;align-items:center;gap:8px;padding:13px 16px;border-bottom:1px solid var(--line)}\n  .dot{width:9px;height:9px;border-radius:50%}\n  .mock-title{margin-left:8px;font-size:.78rem;color:var(--faint);letter-spacing:.04em}\n  .live{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:.68rem;color:var(--mint);letter-spacing:.12em;font-weight:600}\n  .live i{width:6px;height:6px;border-radius:50%;background:var(--mint);animation:pulse 2.2s infinite}\n  .dash{position:relative;z-index:1;width:92%;padding-bottom:4px}\n  .dash-body{padding:18px}\n  .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}\n  .kpi{border:1px solid var(--line);border-radius:12px;padding:12px;background:rgba(148,163,184,.04)}\n  .kpi-label{font-size:.66rem;color:var(--faint);letter-spacing:.1em;text-transform:uppercase}\n  .kpi-val{font-family:var(--font-display);font-weight:600;font-size:1.15rem;margin-top:4px}\n  .kpi-val.up{color:var(--mint)}\n  .spark{display:flex;align-items:flex-end;gap:3px;height:26px;margin-top:9px}\n  .spark span{flex:1;border-radius:2px;background:linear-gradient(180deg,var(--cyan),rgba(56,189,248,.25));transform:scaleY(.15);transform-origin:bottom;animation:grow 1s cubic-bezier(.2,.7,.3,1) forwards}\n  .spark.v span{background:linear-gradient(180deg,var(--violet),rgba(167,139,250,.25))}\n  .spark.m span{background:linear-gradient(180deg,var(--mint),rgba(52,211,153,.25))}\n  @keyframes grow{to{transform:scaleY(var(--h,1))}}\n  .chart{border:1px solid var(--line);border-radius:12px;padding:14px;background:rgba(148,163,184,.03)}\n  .chart-label{font-size:.66rem;color:var(--faint);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;display:flex;justify-content:space-between}\n  .chart-label em{font-style:normal;color:var(--mint)}\n  .chart svg{width:100%;height:88px;display:block}\n  .line-path{fill:none;stroke:url(#lineGrad);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.2s .4s cubic-bezier(.3,.6,.3,1) forwards}\n  .area-path{fill:url(#areaGrad);opacity:0;animation:fadein 1s 1.6s forwards}\n  @keyframes draw{to{stroke-dashoffset:0}}\n  @keyframes fadein{to{opacity:1}}\n\n  .flowcard{position:absolute;z-index:2;left:-14px;bottom:36px;width:65%;padding-bottom:6px;animation:floaty 7s ease-in-out infinite}\n  .flow-body{padding:16px 16px 12px}\n  .fnode{display:flex;align-items:center;gap:11px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(148,163,184,.05);font-size:.8rem;color:var(--muted)}\n  .fnode b{color:var(--text);font-weight:600}\n  .fnode .fic{width:26px;height:26px;flex:none;border-radius:8px;display:grid;place-items:center;background:rgba(56,189,248,.12);color:var(--cyan)}\n  .fnode.ai .fic{background:rgba(167,139,250,.14);color:var(--violet)}\n  .fnode.human .fic{background:rgba(52,211,153,.13);color:var(--mint)}\n  .fnode.glowing{animation:nodeglow 3.6s infinite}\n  .fnode.ai.glowing{animation-delay:.9s}\n  .fnode.human.glowing{animation-delay:1.8s}\n  .fnode.done.glowing{animation-delay:2.7s}\n  @keyframes nodeglow{0%,28%,100%{border-color:var(--line);box-shadow:none}10%{border-color:rgba(56,189,248,.6);box-shadow:0 0 18px rgba(56,189,248,.18)}}\n  .flink{width:2px;height:12px;margin-left:24px;background:repeating-linear-gradient(180deg,var(--line-bright) 0 3px,transparent 3px 6px)}\n  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}\n  .toast{position:absolute;z-index:3;right:-10px;bottom:-16px;display:flex;align-items:center;gap:10px;border:1px solid rgba(52,211,153,.35);background:linear-gradient(180deg,#0c1a1c,#0a1420);border-radius:12px;padding:11px 16px;font-size:.8rem;color:var(--text);box-shadow:0 18px 44px rgba(2,6,17,.6);animation:floaty 6s 1s ease-in-out infinite}\n  .toast .tick{width:22px;height:22px;border-radius:50%;background:rgba(52,211,153,.15);color:var(--mint);display:grid;place-items:center;font-size:.72rem;flex:none}\n  .toast small{display:block;color:var(--faint);font-size:.7rem}\n\n  \/* marquee *\/\n  .marquee-band{padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(148,163,184,.02)}\n  .marquee-label{text-align:center;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-bottom:20px}\n  .marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent)}\n  .marquee-track{display:flex;gap:0;width:max-content;animation:scroll 36s linear infinite}\n  .marquee:hover .marquee-track{animation-play-state:paused}\n  .marquee-track.paused{animation-play-state:paused}\n  .mq-pause{margin-left:14px;background:rgba(148,163,184,.07);border:1px solid var(--line-bright);color:var(--muted);border-radius:100px;padding:5px 14px;font-size:.72rem;font-weight:600;letter-spacing:.05em;cursor:pointer;font-family:var(--font-body);transition:color .2s,border-color .2s}\n  .mq-pause:hover{color:var(--text);border-color:var(--cyan)}\n  .mq-item{display:flex;align-items:center;gap:26px;padding:0 26px;font-family:var(--font-display);font-weight:600;font-size:1.02rem;color:var(--muted);white-space:nowrap}\n  .mq-item::after{content:\"\";width:5px;height:5px;border-radius:50%;background:var(--faint);opacity:.55}\n  @keyframes scroll{to{transform:translateX(-50%)}}\n\n  \/* problem *\/\n  .pain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}\n  .pain{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:var(--panel);transition:border-color .25s,transform .25s}\n  .pain:hover{border-color:rgba(251,191,36,.4);transform:translateY(-3px)}\n  .pain-ic{width:42px;height:42px;border-radius:12px;background:rgba(251,191,36,.1);color:var(--amber);display:grid;place-items:center;margin-bottom:16px}\n  .pain h3{font-size:1.04rem;margin-bottom:9px}\n  .pain p{color:var(--muted);font-size:.9rem}\n  .punchline{margin-top:44px;text-align:center;font-family:var(--font-display);font-size:clamp(1.25rem,2.4vw,1.7rem);font-weight:600}\n  .punchline span{color:var(--muted);font-weight:500}\n\n  \/* services bento *\/\n  .bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}\n  .card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:30px;position:relative;overflow:hidden;transition:border-color .25s,transform .25s,box-shadow .25s}\n  .card:hover{border-color:rgba(56,189,248,.45);transform:translateY(-4px);box-shadow:0 22px 54px rgba(2,6,17,.55)}\n  .card-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:18px;background:linear-gradient(135deg,rgba(56,189,248,.14),rgba(167,139,250,.14));color:var(--cyan);border:1px solid rgba(56,189,248,.22)}\n  .card h3{font-size:1.28rem;margin-bottom:11px;font-weight:600}\n  .card > p{color:var(--muted);font-size:.94rem}\n  .card ul{list-style:none;margin-top:16px;display:grid;gap:9px}\n  .card li{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.88rem}\n  .card li::before{content:\"\";flex:none;width:14px;height:14px;margin-top:4px;border-radius:50%;background:rgba(56,189,248,.14);box-shadow:inset 0 0 0 1px rgba(56,189,248,.5)}\n  .span7{grid-column:span 7}.span5{grid-column:span 5}.span4{grid-column:span 4}\n  .featured{background:linear-gradient(140deg,rgba(56,189,248,.08),rgba(167,139,250,.06) 55%,var(--panel))}\n  .featured .tagrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}\n  .tag{font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--violet);background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.3);padding:5px 12px;border-radius:100px}\n  .mini-flow{margin-top:24px;display:flex;align-items:center;gap:0;flex-wrap:wrap;row-gap:10px}\n  .mf-node{display:flex;align-items:center;gap:8px;border:1px solid var(--line-bright);background:rgba(5,8,15,.55);padding:8px 14px;border-radius:100px;font-size:.78rem;color:var(--text);font-weight:500}\n  .mf-node i{width:7px;height:7px;border-radius:50%;flex:none}\n  .mf-arrow{color:var(--faint);padding:0 10px;font-size:.85rem}\n\n  \/* what we build *\/\n  .cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}\n  .cap{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:22px;transition:border-color .25s,transform .25s}\n  .cap:hover{border-color:rgba(167,139,250,.5);transform:translateY(-3px)}\n  .cap-ic{width:38px;height:38px;border-radius:11px;background:rgba(167,139,250,.11);color:var(--violet);display:grid;place-items:center;margin-bottom:14px}\n  .cap h3{font-size:.98rem;margin-bottom:7px}\n  .cap p{color:var(--muted);font-size:.84rem}\n\n  \/* case study *\/\n  .case{border:1px solid var(--line-bright);border-radius:26px;overflow:hidden;background:linear-gradient(140deg,rgba(56,189,248,.07),rgba(10,16,32,.6) 45%,rgba(167,139,250,.07));display:grid;grid-template-columns:1.15fr .85fr}\n  .case-left{padding:46px}\n  .case-label{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan);font-weight:600;margin-bottom:14px}\n  .case-left h3{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:22px}\n  .checks{list-style:none;display:grid;gap:14px}\n  .checks li{display:flex;gap:13px;color:var(--muted);font-size:.95rem;align-items:flex-start}\n  .checks .ck{flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;background:rgba(52,211,153,.13);color:var(--mint);display:grid;place-items:center;font-size:.7rem;box-shadow:inset 0 0 0 1px rgba(52,211,153,.4)}\n  .case-right{border-left:1px solid var(--line);display:grid;grid-template-rows:repeat(3,1fr)}\n  .stat{padding:26px 40px;display:flex;flex-direction:column;justify-content:center}\n  .stat + .stat{border-top:1px solid var(--line)}\n  .stat-num{font-size:2.5rem;font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}\n  .stat-desc{color:var(--muted);font-size:.9rem;margin-top:4px}\n\n  \/* who we help *\/\n  .fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}\n  .fit{border:1px solid var(--line);border-radius:var(--radius);padding:38px;background:var(--panel);transition:border-color .25s,transform .25s}\n  .fit:hover{transform:translateY(-4px)}\n  .fit.ent:hover{border-color:rgba(56,189,248,.5)}\n  .fit.mid:hover{border-color:rgba(167,139,250,.5)}\n  .fit-kicker{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:12px}\n  .fit.ent .fit-kicker{color:var(--cyan)}\n  .fit.mid .fit-kicker{color:var(--violet)}\n  .fit h3{font-size:1.45rem;margin-bottom:10px}\n  .fit > p{color:var(--muted);font-size:.95rem;margin-bottom:20px}\n  .fit ul{list-style:none;display:grid;gap:12px}\n  .fit li{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:.92rem}\n  .fit li .ck{flex:none;width:20px;height:20px;margin-top:2px;border-radius:6px;display:grid;place-items:center;font-size:.62rem}\n  .fit.ent li .ck{background:rgba(56,189,248,.12);color:var(--cyan);box-shadow:inset 0 0 0 1px rgba(56,189,248,.35)}\n  .fit.mid li .ck{background:rgba(167,139,250,.12);color:var(--violet);box-shadow:inset 0 0 0 1px rgba(167,139,250,.35)}\n\n  \/* process *\/\n  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}\n  .step{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:var(--panel);position:relative;transition:border-color .25s,transform .25s}\n  .step:hover{border-color:rgba(56,189,248,.45);transform:translateY(-3px)}\n  .step-num{font-family:var(--font-display);font-weight:700;font-size:2.4rem;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.85;margin-bottom:16px}\n  .step h3{font-size:1.1rem;margin-bottom:9px}\n  .step p{color:var(--muted);font-size:.88rem}\n\n  \/* contact *\/\n  .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start}\n  .offer-list{list-style:none;display:grid;gap:16px;margin:26px 0 30px}\n  .offer-list li{display:flex;gap:14px;align-items:flex-start;color:var(--muted)}\n  .offer-ic{flex:none;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,rgba(56,189,248,.13),rgba(167,139,250,.13));border:1px solid rgba(56,189,248,.22);color:var(--cyan);display:grid;place-items:center}\n  .offer-list b{display:block;color:var(--text);font-weight:600;font-size:.97rem}\n  .offer-list span{font-size:.87rem}\n  .direct{display:flex;flex-direction:column;gap:10px;font-size:.93rem;color:var(--muted)}\n  .direct a{color:var(--cyan);text-decoration:none;font-weight:500}\n  .direct a:hover{text-decoration:underline}\n  .form-card{border:1px solid var(--line-bright);border-radius:24px;background:linear-gradient(180deg,rgba(148,163,184,.07),rgba(148,163,184,.03));padding:36px;box-shadow:0 30px 80px rgba(2,6,17,.5)}\n  .form-card h3{font-size:1.3rem;margin-bottom:6px}\n  .form-card > p{color:var(--muted);font-size:.88rem;margin-bottom:24px}\n  .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}\n  .field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}\n  .field label{font-size:.8rem;font-weight:600;color:var(--muted)}\n  .field input,.field select,.field textarea{background:#0a1120;border:1px solid #5d6f88;border-radius:11px;padding:12px 14px;color:var(--text);font-family:var(--font-body);font-size:.93rem;transition:border-color .2s,box-shadow .2s;width:100%}\n  .field textarea{resize:vertical;min-height:96px}\n  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(56,189,248,.15)}\n  .field ::placeholder{color:#7b8aa0;opacity:1}\n  .field select{appearance:none;background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2398a6ba' stroke-width='1.6' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:right 14px center}\n  .form-note{font-size:.78rem;color:var(--faint);text-align:center;margin-top:14px}\n  .form-status{display:none;margin-top:14px;font-size:.86rem;color:var(--mint);text-align:center}\n  .btn-full{width:100%}\n\n  \/* final band *\/\n  .final{border-top:1px solid var(--line);text-align:center;background:\n    radial-gradient(700px 320px at 50% 120%, rgba(129,140,248,.16), transparent 70%)}\n  .final h2{font-size:clamp(2rem,4.4vw,3.1rem);line-height:1.12;font-weight:700}\n  .final p{color:var(--muted);max-width:560px;margin:20px auto 34px}\n\n  \/* footer *\/\n  footer{border-top:1px solid var(--line);padding:52px 0 40px;background:rgba(3,6,12,.6)}\n  .foot-grid{display:flex;justify-content:space-between;gap:36px;flex-wrap:wrap}\n  .foot-brand{max-width:320px}\n  .foot-brand p{color:var(--faint);font-size:.86rem;margin-top:14px}\n  .foot-col h3{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint) !important;margin-bottom:14px;font-weight:600}\n  .foot-col ul{list-style:none;display:grid;gap:9px}\n  .foot-col a{color:var(--muted);text-decoration:none;font-size:.9rem;transition:color .2s}\n  .foot-col a:hover{color:var(--text)}\n  .foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--faint);font-size:.82rem}\n\n  \/* reveal on scroll *\/\n  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.6,.3,1),transform .7s cubic-bezier(.2,.6,.3,1);transition-delay:var(--d,0s)}\n  .reveal.in{opacity:1;transform:none}\n\n  @media (prefers-reduced-motion:reduce){\n    *,*::before,*::after{animation:none!important;transition:none!important}\n    .reveal{opacity:1;transform:none}\n    html{scroll-behavior:auto}\n  }\n\n  @media (max-width:1024px){\n    .hero-grid{grid-template-columns:1fr;gap:56px}\n    .hero{padding-top:150px}\n    .hero-visual{max-width:620px;margin:0 auto;width:100%}\n    .pain-grid{grid-template-columns:repeat(2,1fr)}\n    .cap-grid{grid-template-columns:repeat(2,1fr)}\n    .steps{grid-template-columns:repeat(2,1fr)}\n    .span7,.span5,.span4{grid-column:span 12}\n    .case{grid-template-columns:1fr}\n    .case-right{border-left:none;border-top:1px solid var(--line);grid-template-rows:none;grid-template-columns:repeat(3,1fr)}\n    .stat{padding:22px;text-align:center}\n    .stat + .stat{border-top:none;border-left:1px solid var(--line)}\n    .contact-grid{grid-template-columns:1fr}\n  }\n  @media (max-width:720px){\n    section{padding:76px 0}\n    .nav-links{position:fixed;top:72px;left:0;right:0;flex-direction:column;gap:0;background:rgba(5,8,15,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:none;padding:10px 0 18px}\n    .nav-links.open{display:flex}\n    .nav-links li{width:100%;text-align:center}\n    .nav-links a{display:block;padding:14px}\n    .nav-cta-wrap{display:none}\n    .nav-toggle{display:inline-flex}\n    .pain-grid{grid-template-columns:1fr}\n    .cap-grid{grid-template-columns:1fr}\n    .steps{grid-template-columns:1fr}\n    .fit-grid{grid-template-columns:1fr}\n    .frow{grid-template-columns:1fr}\n    .case-right{grid-template-columns:1fr}\n    .stat + .stat{border-left:none;border-top:1px solid var(--line)}\n    .flowcard{position:relative;left:0;bottom:0;width:100%;margin-top:16px;animation:none}\n    .toast{display:none}\n    .dash{width:100%}\n    .hero-visual{min-height:0}\n  }\n<\/style>\n<a class=\"skip-link\" href=\"#top\">Skip to main content<\/a>\n<div class=\"bg-stage\"><\/div>\n<div class=\"bg-grid\"><\/div>\n\n<header id=\"siteHeader\">\n  <div class=\"wrap nav\">\n    <a class=\"brand\" href=\"#top\" aria-label=\"REV Tech Team home\">\n      <span class=\"brand-mark\" aria-hidden=\"true\">\n        <svg viewBox=\"0 0 96 64\" fill=\"none\"><defs><linearGradient id=\"bolt\" gradientUnits=\"userSpaceOnUse\" x1=\"14\" y1=\"10\" x2=\"84\" y2=\"54\"><stop offset=\"0\" stop-color=\"#38bdf8\"\/><stop offset=\".55\" stop-color=\"#818cf8\"\/><stop offset=\"1\" stop-color=\"#a78bfa\"\/><\/linearGradient><\/defs><path d=\"M22 32c0-13.5 18-13.5 26 0 8 13.5 26 13.5 26 0s-18-13.5-26 0c-8 13.5-26 13.5-26 0z\" stroke=\"url(#bolt)\" stroke-width=\"9\" stroke-linecap=\"round\"\/><circle cx=\"61\" cy=\"22\" r=\"6\" fill=\"#a78bfa\" stroke=\"#0f1a31\" stroke-width=\"3\"\/><\/svg>\n      <\/span>\n      REV Tech Team\n    <\/a>\n    <nav aria-label=\"Primary\">\n      <ul class=\"nav-links\" id=\"navLinks\">\n        <li><a href=\"#services\">Services<\/a><\/li>\n        <li><a href=\"#build\">What We Build<\/a><\/li>\n        <li><a href=\"#who\">Who We Help<\/a><\/li>\n        <li><a href=\"#process\">Process<\/a><\/li>\n      <\/ul>\n    <\/nav>\n    <div style=\"display:flex;align-items:center;gap:12px\">\n      <span class=\"nav-cta-wrap\"><a class=\"btn btn-primary btn-nav\" href=\"#contact\">Book a Strategy Call<\/a><\/span>\n      <button class=\"nav-toggle\" id=\"navToggle\" aria-label=\"Toggle menu\" aria-expanded=\"false\" aria-controls=\"navLinks\">\n        <svg aria-hidden=\"true\" focusable=\"false\" width=\"18\" height=\"14\" viewBox=\"0 0 18 14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M1 1h16M1 7h16M1 13h16\"\/><\/svg>\n      <\/button>\n    <\/div>\n  <\/div>\n<\/header>\n\n<main id=\"top\">\n\n  <!-- HERO -->\n  <section class=\"hero\" aria-label=\"Intro\">\n    <div class=\"wrap hero-grid\">\n      <div>\n        <span class=\"hero-badge reveal\"><span class=\"pulse-dot\"><\/span>AI Workflow Automation &middot; Custom Software &middot; Data<\/span>\n        <h1 class=\"reveal\" style=\"--d:.05s\">The systems your business runs on. <span class=\"grad-text\">Built right.<\/span><\/h1>\n        <p class=\"hero-sub reveal\" style=\"--d:.12s\">AI workflow automation, React applications, SQL Server data platforms, and custom dashboards. Architected and shipped for enterprise and mid&#8209;market teams that are done running on manual glue.<\/p>\n        <div class=\"hero-ctas reveal\" style=\"--d:.18s\">\n          <a class=\"btn btn-primary\" href=\"#contact\">Book a Strategy Call\n            <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"12\" viewBox=\"0 0 15 12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 6h12M9 1l5 5-5 5\"\/><\/svg>\n          <\/a>\n          <a class=\"btn btn-ghost\" href=\"#services\">See What We Build<\/a>\n        <\/div>\n        <div class=\"hero-chips reveal\" style=\"--d:.25s\">\n          <span class=\"chip\"><b>Human-in-the-loop<\/b> AI<\/span>\n          <span class=\"chip\"><b>Senior builders<\/b> only<\/span>\n          <span class=\"chip\"><b>Enterprise-grade<\/b> delivery<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"hero-visual reveal\" style=\"--d:.2s\" aria-hidden=\"true\">\n        <div class=\"glow-blob\"><\/div>\n        <div class=\"mock dash\" style=\"margin-left:auto\">\n          <div class=\"mock-head\">\n            <span class=\"dot\" style=\"background:#f87171\"><\/span>\n            <span class=\"dot\" style=\"background:#fbbf24\"><\/span>\n            <span class=\"dot\" style=\"background:#34d399\"><\/span>\n            <span class=\"mock-title\">Operations Command Center<\/span>\n            <span class=\"live\"><i><\/i>LIVE<\/span>\n          <\/div>\n          <div class=\"dash-body\">\n            <div class=\"kpis\">\n              <div class=\"kpi\"><div class=\"kpi-label\">Pipeline synced<\/div><div class=\"kpi-val up\">Real-time<\/div>\n                <div class=\"spark\"><span style=\"--h:.45;animation-delay:.2s\"><\/span><span style=\"--h:.6;animation-delay:.3s\"><\/span><span style=\"--h:.5;animation-delay:.4s\"><\/span><span style=\"--h:.75;animation-delay:.5s\"><\/span><span style=\"--h:.9;animation-delay:.6s\"><\/span><\/div><\/div>\n              <div class=\"kpi\"><div class=\"kpi-label\">Invoices matched<\/div><div class=\"kpi-val\">Auto<\/div>\n                <div class=\"spark v\"><span style=\"--h:.35;animation-delay:.35s\"><\/span><span style=\"--h:.55;animation-delay:.45s\"><\/span><span style=\"--h:.7;animation-delay:.55s\"><\/span><span style=\"--h:.65;animation-delay:.65s\"><\/span><span style=\"--h:.85;animation-delay:.75s\"><\/span><\/div><\/div>\n              <div class=\"kpi\"><div class=\"kpi-label\">Handoffs<\/div><div class=\"kpi-val up\">Zero manual<\/div>\n                <div class=\"spark m\"><span style=\"--h:.8;animation-delay:.5s\"><\/span><span style=\"--h:.6;animation-delay:.6s\"><\/span><span style=\"--h:.45;animation-delay:.7s\"><\/span><span style=\"--h:.35;animation-delay:.8s\"><\/span><span style=\"--h:.2;animation-delay:.9s\"><\/span><\/div><\/div>\n            <\/div>\n            <div class=\"chart\">\n              <div class=\"chart-label\"><span>Cycle time, quote to cash<\/span><em>&#9660; trending down<\/em><\/div>\n              <svg viewBox=\"0 0 320 88\" preserveAspectRatio=\"none\">\n                <defs>\n                  <linearGradient id=\"lineGrad\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\"><stop offset=\"0\" stop-color=\"#38bdf8\"\/><stop offset=\"1\" stop-color=\"#a78bfa\"\/><\/linearGradient>\n                  <linearGradient id=\"areaGrad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"rgba(56,189,248,.22)\"\/><stop offset=\"1\" stop-color=\"rgba(56,189,248,0)\"\/><\/linearGradient>\n                <\/defs>\n                <path class=\"area-path\" d=\"M0,26 C40,20 60,44 95,40 C130,36 150,58 190,54 C230,50 250,68 320,72 L320,88 L0,88 Z\"><\/path>\n                <path class=\"line-path\" pathLength=\"1\" d=\"M0,26 C40,20 60,44 95,40 C130,36 150,58 190,54 C230,50 250,68 320,72\"><\/path>\n              <\/svg>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"mock flowcard\">\n          <div class=\"mock-head\">\n            <span class=\"mock-title\" style=\"margin-left:0\">AI Workflow &middot; Quote-to-Cash<\/span>\n            <span class=\"live\"><i><\/i>RUNNING<\/span>\n          <\/div>\n          <div class=\"flow-body\">\n            <div class=\"fnode glowing\"><span class=\"fic\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M13 2 3 14h8l-1 8 11-13h-9l1-7z\"\/><\/svg><\/span><span><b>New deal closed<\/b> in CRM<\/span><\/div>\n            <div class=\"flink\"><\/div>\n            <div class=\"fnode ai glowing\"><span class=\"fic\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><rect x=\"4\" y=\"6\" width=\"16\" height=\"12\" rx=\"3\"\/><path d=\"M9 11h.01M15 11h.01M12 2v4\"\/><\/svg><\/span><span><b>AI drafts<\/b> contract + invoice<\/span><\/div>\n            <div class=\"flink\"><\/div>\n            <div class=\"fnode human glowing\"><span class=\"fic\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"8\" r=\"4\"\/><path d=\"M4 21c1.5-4 5-6 8-6s6.5 2 8 6\"\/><\/svg><\/span><span><b>Your team approves<\/b><\/span><\/div>\n            <div class=\"flink\"><\/div>\n            <div class=\"fnode done glowing\"><span class=\"fic\" style=\"background:rgba(52,211,153,.13);color:var(--mint)\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 12.5 10 18 20 6\"\/><\/svg><\/span><span><b>Billing + reporting<\/b> update themselves<\/span><\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"toast\"><span class=\"tick\">&#10003;<\/span><span>Approved &amp; synced to billing<small>No copy-paste involved<\/small><\/span><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- MARQUEE -->\n  <div class=\"marquee-band reveal\">\n    <div class=\"marquee-label\">Platforms and tools we build with\n      <button class=\"mq-pause\" id=\"mqPause\" aria-pressed=\"false\" aria-label=\"Pause scrolling platform list\">Pause<\/button>\n    <\/div>\n    <div class=\"marquee\" aria-hidden=\"true\">\n      <div class=\"marquee-track\" id=\"mqTrack\">\n        <span class=\"mq-item\">React<\/span><span class=\"mq-item\">TypeScript<\/span><span class=\"mq-item\">Next.js<\/span><span class=\"mq-item\">Node.js<\/span><span class=\"mq-item\">SQL Server<\/span><span class=\"mq-item\">Azure<\/span><span class=\"mq-item\">Power BI<\/span><span class=\"mq-item\">Python<\/span><span class=\"mq-item\">Claude<\/span><span class=\"mq-item\">OpenAI<\/span><span class=\"mq-item\">n8n<\/span><span class=\"mq-item\">HubSpot<\/span><span class=\"mq-item\">Salesforce<\/span><span class=\"mq-item\">Stripe<\/span><span class=\"mq-item\">BigQuery<\/span><span class=\"mq-item\">Slack<\/span><span class=\"mq-item\">Zendesk<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- PROBLEM -->\n  <section aria-label=\"The problem\">\n    <div class=\"wrap\">\n      <div class=\"section-head reveal\">\n        <span class=\"eyebrow\">The Problem<\/span>\n        <h2>Most teams are still running on manual glue.<\/h2>\n        <p>Good people spending their week re-keying data, chasing status, and stitching reports together by hand. It works, until you try to grow.<\/p>\n      <\/div>\n      <div class=\"pain-grid\">\n        <div class=\"pain reveal\">\n          <div class=\"pain-ic\" aria-hidden=\"true\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M12 9v4M12 17h.01M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z\"\/><\/svg><\/div>\n          <h3>Copy-paste operations<\/h3>\n          <p>Sales, finance, and ops re-keying the same data between spreadsheets, email, and disconnected tools.<\/p>\n        <\/div>\n        <div class=\"pain reveal\" style=\"--d:.08s\">\n          <div class=\"pain-ic\" aria-hidden=\"true\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M9 3H4v5M15 3h5v5M9 21H4v-5M15 21h5v-5M9.5 9.5l5 5M14.5 9.5l-5 5\"\/><\/svg><\/div>\n          <h3>Systems that don&#8217;t talk<\/h3>\n          <p>CRM, billing, support, and reporting each hold a different version of the truth. Handoffs break in between.<\/p>\n        <\/div>\n        <div class=\"pain reveal\" style=\"--d:.16s\">\n          <div class=\"pain-ic\" aria-hidden=\"true\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><path d=\"M3 3l18 18\"\/><\/svg><\/div>\n          <h3>No real-time visibility<\/h3>\n          <p>Leadership can&#8217;t see pipeline, delivery, or billing health without asking someone to build another report.<\/p>\n        <\/div>\n        <div class=\"pain reveal\" style=\"--d:.24s\">\n          <div class=\"pain-ic\" aria-hidden=\"true\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 21h18M6 17l4-6 4 3 5-8\"\/><circle cx=\"19\" cy=\"6\" r=\"1.6\"\/><\/svg><\/div>\n          <h3>Decisions on stale data<\/h3>\n          <p>Forecasts built on gut feel and last month&#8217;s export instead of live numbers you can actually trust.<\/p>\n        <\/div>\n      <\/div>\n      <p class=\"punchline reveal\">You don&#8217;t need more tools. <span>You need systems built around how your business actually works.<\/span><\/p>\n    <\/div>\n  <\/section>\n\n  <!-- SERVICES -->\n  <section id=\"services\" aria-label=\"Services\">\n    <div class=\"wrap\">\n      <div class=\"section-head reveal\">\n        <span class=\"eyebrow\">Services<\/span>\n        <h2>Five ways we make your business faster.<\/h2>\n        <p>From intelligent automation to the applications, data platforms, and dashboards around it. Built as one system, not a pile of point solutions.<\/p>\n      <\/div>\n      <div class=\"bento\">\n        <div class=\"card featured span7 reveal\">\n          <div class=\"card-ic\" aria-hidden=\"true\"><svg width=\"21\" height=\"21\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M13 2 3 14h8l-1 8 11-13h-9l1-7z\"\/><\/svg><\/div>\n          <h3>AI Workflow Automation<\/h3>\n          <p>Intelligent workflows that draft documents, route work, reconcile data, and follow up automatically, with your team approving the moments that matter. We automate the busywork so your people can do the work that wins.<\/p>\n          <ul>\n            <li>AI decisioning, routing, and enrichment across your stack<\/li>\n            <li>Document generation and processing: quotes, contracts, invoices<\/li>\n            <li>Onboarding, billing, and reporting flows that run themselves<\/li>\n            <li>Human approval steps, full logging, and clean error handling<\/li>\n          <\/ul>\n          <div class=\"mini-flow\" aria-hidden=\"true\">\n            <span class=\"mf-node\"><i style=\"background:var(--cyan)\"><\/i>Trigger<\/span><span class=\"mf-arrow\">&#8594;<\/span>\n            <span class=\"mf-node\"><i style=\"background:var(--violet)\"><\/i>AI drafts<\/span><span class=\"mf-arrow\">&#8594;<\/span>\n            <span class=\"mf-node\"><i style=\"background:var(--mint)\"><\/i>Team approves<\/span><span class=\"mf-arrow\">&#8594;<\/span>\n            <span class=\"mf-node\"><i style=\"background:var(--amber)\"><\/i>Systems update<\/span>\n          <\/div>\n          <div class=\"tagrow\">\n            <span class=\"tag\">Claude &amp; OpenAI<\/span><span class=\"tag\">n8n<\/span><span class=\"tag\">Custom agents<\/span><span class=\"tag\">API integrations<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"card span5 reveal\" style=\"--d:.08s\">\n          <div class=\"card-ic\" aria-hidden=\"true\"><svg width=\"21\" height=\"21\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M8 5 3 12l5 7M16 5l5 7-5 7M13 4l-3 16\"\/><\/svg><\/div>\n          <h3>React Application Development<\/h3>\n          <p>Production-grade React and Next.js applications: internal tools, customer portals, and line-of-business apps your team actually enjoys using.<\/p>\n          <ul>\n            <li>TypeScript, tested, documented, maintainable<\/li>\n            <li>Auth, roles, and permissions done right<\/li>\n            <li>Deep integration with your CRM, ERP, and data layer<\/li>\n          <\/ul>\n        <\/div>\n\n        <div class=\"card span4 reveal\">\n          <div class=\"card-ic\" aria-hidden=\"true\"><svg width=\"21\" height=\"21\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><ellipse cx=\"12\" cy=\"5.5\" rx=\"8\" ry=\"3\"\/><path d=\"M4 5.5v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6M4 11.5v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6\"\/><\/svg><\/div>\n          <h3>SQL Server &amp; Data Engineering<\/h3>\n          <p>Data you can trust, in one place. Schemas, pipelines, and reporting layers across SQL Server, Azure, and BigQuery.<\/p>\n          <ul>\n            <li>Data modeling, migrations, and tuning<\/li>\n            <li>ETL pipelines and warehousing<\/li>\n            <li>Quality, governance, and deduplication<\/li>\n          <\/ul>\n        <\/div>\n\n        <div class=\"card span4 reveal\" style=\"--d:.08s\">\n          <div class=\"card-ic\" aria-hidden=\"true\"><svg width=\"21\" height=\"21\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"3\"\/><path d=\"M8 16v-5M12 16V8M16 16v-3\"\/><\/svg><\/div>\n          <h3>Custom UIs &amp; Dashboards<\/h3>\n          <p>Executive scorecards and operational dashboards with the numbers leadership asks for. Live, instead of buried in a spreadsheet.<\/p>\n          <ul>\n            <li>Power BI and custom web dashboards<\/li>\n            <li>KPI design and revenue attribution<\/li>\n            <li>Real-time pipeline and delivery views<\/li>\n          <\/ul>\n        <\/div>\n\n        <div class=\"card span4 reveal\" style=\"--d:.16s\">\n          <div class=\"card-ic\" aria-hidden=\"true\"><svg width=\"21\" height=\"21\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M3 12h18M12 3c2.5 2.6 4 5.7 4 9s-1.5 6.4-4 9c-2.5-2.6-4-5.7-4-9s1.5-6.4 4-9z\"\/><\/svg><\/div>\n          <h3>Web Development<\/h3>\n          <p>Fast, modern websites and landing pages that load quick, look sharp, and convert. With a clean handoff your team can maintain.<\/p>\n          <ul>\n            <li>Marketing sites and product pages<\/li>\n            <li>SEO, analytics, and CRM-connected forms<\/li>\n            <li>Performance and accessibility built in<\/li>\n          <\/ul>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- WHAT WE BUILD -->\n  <section id=\"build\" aria-label=\"What we build\" style=\"padding-top:0\">\n    <div class=\"wrap\">\n      <div class=\"section-head reveal\">\n        <span class=\"eyebrow\">Capabilities<\/span>\n        <h2>What we build.<\/h2>\n        <p>The systems scaling companies depend on, from custom CRM builds to the automation and reporting on top of them.<\/p>\n      <\/div>\n      <div class=\"cap-grid\">\n        <div class=\"cap reveal\"><div class=\"cap-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M14.7 6.3a4.5 4.5 0 0 0-6.4 6.4l-5 5V21h3.3l5-5a4.5 4.5 0 0 0 6.4-6.4l-3 3-2.3-2.3 3-3z\"\/><\/svg><\/div><h3>Custom CRM &amp; internal tools<\/h3><p>HubSpot and Salesforce builds, migrations, and the internal apps around them.<\/p><\/div>\n        <div class=\"cap reveal\" style=\"--d:.06s\"><div class=\"cap-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M4 7h16M4 12h16M4 17h10\"\/><circle cx=\"19\" cy=\"17\" r=\"2.4\"\/><\/svg><\/div><h3>Quote-to-cash automation<\/h3><p>Proposal to contract to payment to revenue recognition, as one automated flow.<\/p><\/div>\n        <div class=\"cap reveal\" style=\"--d:.12s\"><div class=\"cap-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M7 3h7l5 5v13H7z\"\/><path d=\"M14 3v5h5M10 13h6M10 17h6\"\/><\/svg><\/div><h3>AI document processing<\/h3><p>Intake, classify, extract, and generate documents with review steps built in.<\/p><\/div>\n        <div class=\"cap reveal\" style=\"--d:.18s\"><div class=\"cap-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"14\" rx=\"2\"\/><path d=\"M8 21h8M12 18v3M7 9h4M7 13h7\"\/><\/svg><\/div><h3>Partner &amp; client portals<\/h3><p>Secure portals and dashboards that replace status emails and shared spreadsheets.<\/p><\/div>\n        <div class=\"cap reveal\"><div class=\"cap-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><ellipse cx=\"12\" cy=\"5.5\" rx=\"8\" ry=\"2.8\"\/><path d=\"M4 5.5V18c0 1.6 3.6 2.8 8 2.8s8-1.2 8-2.8V5.5M4 12c0 1.6 3.6 2.8 8 2.8s8-1.2 8-2.8\"\/><\/svg><\/div><h3>Data pipelines &amp; warehousing<\/h3><p>SQL Server, BigQuery, and custom ETL that unify CRM, billing, and ops data.<\/p><\/div>\n        <div class=\"cap reveal\" style=\"--d:.06s\"><div class=\"cap-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 21h18M6 17l4-7 4 4 4-9\"\/><\/svg><\/div><h3>Executive dashboards<\/h3><p>Power BI and custom reporting that give leadership real-time answers.<\/p><\/div>\n        <div class=\"cap reveal\" style=\"--d:.12s\"><div class=\"cap-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M9 12a3 3 0 1 0 6 0 3 3 0 0 0-6 0zM4 6l3 2M20 6l-3 2M4 18l3-2M20 18l-3-2\"\/><circle cx=\"4\" cy=\"5.5\" r=\"1.6\"\/><circle cx=\"20\" cy=\"5.5\" r=\"1.6\"\/><circle cx=\"4\" cy=\"18.5\" r=\"1.6\"\/><circle cx=\"20\" cy=\"18.5\" r=\"1.6\"\/><\/svg><\/div><h3>System integrations<\/h3><p>HubSpot, Stripe, Zendesk, Slack, and your whole stack, kept in sync automatically.<\/p><\/div>\n        <div class=\"cap reveal\" style=\"--d:.18s\"><div class=\"cap-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M3 12h18M12 3c2.5 2.6 4 5.7 4 9s-1.5 6.4-4 9c-2.5-2.6-4-5.7-4-9s1.5-6.4 4-9z\"\/><\/svg><\/div><h3>Websites &amp; landing pages<\/h3><p>Modern, fast, conversion-focused web builds connected to your CRM.<\/p><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- CASE STUDY -->\n  <section aria-label=\"Results\" style=\"padding-top:0\">\n    <div class=\"wrap\">\n      <div class=\"section-head reveal\">\n        <span class=\"eyebrow\">Results<\/span>\n        <h2>Built for real operators.<\/h2>\n      <\/div>\n      <div class=\"case reveal\">\n        <div class=\"case-left\">\n          <div class=\"case-label\">Case Study<\/div>\n          <h3>Quote-to-Cash Transformation<\/h3>\n          <ul class=\"checks\">\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>Unified contracts, payments, and onboarding into a single automated workflow<\/li>\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>Eliminated manual handoffs between sales, finance, and operations<\/li>\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>Created real-time revenue visibility across the entire customer lifecycle<\/li>\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>Built a custom HubSpot + Stripe integration for automated billing<\/li>\n          <\/ul>\n        <\/div>\n        <div class=\"case-right\">\n          <div class=\"stat\"><span class=\"stat-num\">3x<\/span><span class=\"stat-desc\">Faster client onboarding<\/span><\/div>\n          <div class=\"stat\"><span class=\"stat-num\">100%<\/span><span class=\"stat-desc\">Clean, structured system data<\/span><\/div>\n          <div class=\"stat\"><span class=\"stat-num\">&#8734;<\/span><span class=\"stat-desc\">Room to grow on the team they already had<\/span><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- WHO WE HELP -->\n  <section id=\"who\" aria-label=\"Who we help\" style=\"padding-top:0\">\n    <div class=\"wrap\">\n      <div class=\"section-head reveal\">\n        <span class=\"eyebrow\">Who We Help<\/span>\n        <h2>Enterprise scale. Mid-market speed.<\/h2>\n        <p>Two kinds of teams hire us. Both want the same thing: systems that work, shipped by people who have done it inside real operations.<\/p>\n      <\/div>\n      <div class=\"fit-grid\">\n        <div class=\"fit ent reveal\">\n          <div class=\"fit-kicker\">Enterprise Teams<\/div>\n          <h3>You own the platforms. Make them work together.<\/h3>\n          <p>You have the CRM, the ERP, the BI stack, and a backlog your internal teams can&#8217;t get to. We plug in, build, and hand off clean.<\/p>\n          <ul>\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>Integrate and automate across the stack you already own<\/li>\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>Documentation, change control, and security-minded delivery<\/li>\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>We work alongside IT, data governance, and vendor teams<\/li>\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>Dashboards and data models leadership actually uses<\/li>\n          <\/ul>\n        <\/div>\n        <div class=\"fit mid reveal\" style=\"--d:.1s\">\n          <div class=\"fit-kicker\">Mid-Market Companies<\/div>\n          <h3>Senior engineering, without the agency overhead.<\/h3>\n          <p>You&#8217;ve outgrown spreadsheets and duct-taped workflows, but you&#8217;re not ready to hire a full engineering org. That&#8217;s exactly our lane.<\/p>\n          <ul>\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>Fixed-scope engagements with clear milestones and pricing<\/li>\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>Direct access to the people actually building your system<\/li>\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>Automation that lets the team you have do more, without burning out<\/li>\n            <li><span class=\"ck\" aria-hidden=\"true\">&#10003;<\/span>Systems designed to scale with your next stage of growth<\/li>\n          <\/ul>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- PROCESS -->\n  <section id=\"process\" aria-label=\"Process\" style=\"padding-top:0\">\n    <div class=\"wrap\">\n      <div class=\"section-head reveal\">\n        <span class=\"eyebrow\">Our Process<\/span>\n        <h2>How we work.<\/h2>\n        <p>A proven framework from first audit to ongoing optimization. You approve every milestone before we move.<\/p>\n      <\/div>\n      <div class=\"steps\">\n        <div class=\"step reveal\"><div class=\"step-num\">01<\/div><h3>Audit<\/h3><p>We map your current systems, data flows, and processes to find the gaps and bottlenecks that cost you the most.<\/p><\/div>\n        <div class=\"step reveal\" style=\"--d:.08s\"><div class=\"step-num\">02<\/div><h3>Architect<\/h3><p>We design the target-state architecture with clear milestones, integration points, and a fixed scope you sign off on.<\/p><\/div>\n        <div class=\"step reveal\" style=\"--d:.16s\"><div class=\"step-num\">03<\/div><h3>Build<\/h3><p>We build, integrate, and automate with weekly demos of real, working software. No shortcuts, no technical debt.<\/p><\/div>\n        <div class=\"step reveal\" style=\"--d:.24s\"><div class=\"step-num\">04<\/div><h3>Operate<\/h3><p>We document, train your team, and keep optimizing as your business scales and requirements change.<\/p><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- CONTACT -->\n  <section id=\"contact\" aria-label=\"Contact\" style=\"padding-top:0\">\n    <div class=\"wrap\">\n      <div class=\"contact-grid\">\n        <div class=\"reveal\">\n          <span class=\"eyebrow\">Get Started<\/span>\n          <h2 style=\"font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.15\">Book a strategy call.<\/h2>\n          <p style=\"color:var(--muted);margin-top:16px\">Tell us about your business and where the friction is. We review every submission and reach out within 24 hours with a tailored recommendation.<\/p>\n          <ul class=\"offer-list\">\n            <li><span class=\"offer-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 7v5l3 3\"\/><\/svg><\/span><span><b>Free 30-minute strategy consultation<\/b><span>A real working session, not a sales pitch.<\/span><\/span><\/li>\n            <li><span class=\"offer-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M10 3h4v4h-4zM4 17h4v4H4zM16 17h4v4h-4zM12 7v4M6 17v-3h12v3\"\/><\/svg><\/span><span><b>Systems and automation audit<\/b><span>Where your workflows leak time and data today.<\/span><\/span><\/li>\n            <li><span class=\"offer-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M4 19V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v14M4 19a2 2 0 0 0 2 2h14M9 7h6M9 11h6M9 15h3\"\/><\/svg><\/span><span><b>Implementation roadmap<\/b><span>Clear phases, milestones, and pricing for your stack.<\/span><\/span><\/li>\n            <li><span class=\"offer-ic\" aria-hidden=\"true\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M13 2 3 14h8l-1 8 11-13h-9l1-7z\"\/><\/svg><\/span><span><b>AI opportunity assessment<\/b><span>The automations with the fastest payback for your team.<\/span><\/span><\/li>\n          <\/ul>\n          <div class=\"direct\">\n            <span>Prefer email? <a href=\"mailto:info@revtechteam.com\">info@revtechteam.com<\/a><\/span>\n            <span>Connect on <a href=\"https:\/\/www.linkedin.com\/company\/revtechteam\" target=\"_blank\" rel=\"noopener\">LinkedIn<span class=\"sr-only\"> (opens in a new tab)<\/span><\/a><\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"form-card reveal\" style=\"--d:.1s\">\n          <h3>Tell us what you&#8217;re up against<\/h3>\n          <p>Fill this out and we&#8217;ll get back to you within 24 hours. Fields marked * are required.<\/p>\n          <form id=\"contactForm\" novalidate>\n            <div class=\"frow\">\n              <div class=\"field\"><label for=\"fname\">First Name *<\/label><input id=\"fname\" name=\"First Name\" type=\"text\" autocomplete=\"given-name\" required><\/div>\n              <div class=\"field\"><label for=\"lname\">Last Name *<\/label><input id=\"lname\" name=\"Last Name\" type=\"text\" autocomplete=\"family-name\" required><\/div>\n            <\/div>\n            <div class=\"frow\">\n              <div class=\"field\"><label for=\"email\">Work Email *<\/label><input id=\"email\" name=\"Work Email\" type=\"email\" autocomplete=\"email\" required><\/div>\n              <div class=\"field\"><label for=\"company\">Company *<\/label><input id=\"company\" name=\"Company\" type=\"text\" autocomplete=\"organization\" required><\/div>\n            <\/div>\n            <div class=\"frow\">\n              <div class=\"field\">\n                <label for=\"size\">Company Size *<\/label>\n                <select id=\"size\" name=\"Company Size\" required>\n                  <option value=\"\">Select size<\/option>\n                  <option>1-10 employees<\/option>\n                  <option>11-50 employees<\/option>\n                  <option>51-200 employees<\/option>\n                  <option>201-1,000 employees<\/option>\n                  <option>1,000+ employees<\/option>\n                <\/select>\n              <\/div>\n              <div class=\"field\">\n                <label for=\"need\">What do you need? *<\/label>\n                <select id=\"need\" name=\"Need\" required>\n                  <option value=\"\">Select one<\/option>\n                  <option>AI workflow automation<\/option>\n                  <option>React application build<\/option>\n                  <option>SQL Server \/ data engineering<\/option>\n                  <option>Dashboards &amp; BI<\/option>\n                  <option>Website \/ web development<\/option>\n                  <option>Not sure yet, let&#8217;s talk<\/option>\n                <\/select>\n              <\/div>\n            <\/div>\n            <div class=\"field\"><label for=\"challenge\">Biggest Challenge *<\/label><textarea id=\"challenge\" name=\"Biggest Challenge\" required placeholder=\"What's slowing your team down right now?\"><\/textarea><\/div>\n            <button class=\"btn btn-primary btn-full\" type=\"submit\">Submit &amp; Book Your Call\n              <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"12\" viewBox=\"0 0 15 12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 6h12M9 1l5 5-5 5\"\/><\/svg>\n            <\/button>\n            <div class=\"form-status\" id=\"formStatus\" role=\"status\">Opening your email client with everything filled in. Just hit send.<\/div>\n            <p class=\"form-note\">We respect your privacy. No spam, ever.<\/p>\n          <\/form>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- FINAL CTA -->\n  <section class=\"final\">\n    <div class=\"wrap reveal\">\n      <h2>Stop running on manual glue.<br><span class=\"grad-text\">Start scaling on systems.<\/span><\/h2>\n      <p>Automated, unified, and built around the way your business actually works. Let&#8217;s map it together.<\/p>\n      <a class=\"btn btn-primary\" href=\"#contact\">Book a Strategy Call\n        <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"12\" viewBox=\"0 0 15 12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 6h12M9 1l5 5-5 5\"\/><\/svg>\n      <\/a>\n    <\/div>\n  <\/section>\n<\/main>\n\n<footer>\n  <div class=\"wrap\">\n    <div class=\"foot-grid\">\n      <div class=\"foot-brand\">\n        <a class=\"brand\" href=\"#top\">\n          <span class=\"brand-mark\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 96 64\" fill=\"none\"><path d=\"M22 32c0-13.5 18-13.5 26 0 8 13.5 26 13.5 26 0s-18-13.5-26 0c-8 13.5-26 13.5-26 0z\" stroke=\"url(#bolt)\" stroke-width=\"9\" stroke-linecap=\"round\"\/><circle cx=\"61\" cy=\"22\" r=\"6\" fill=\"#a78bfa\" stroke=\"#0f1a31\" stroke-width=\"3\"\/><\/svg>\n          <\/span>\n          REV Tech Team\n        <\/a>\n        <p>AI workflow automation, custom applications, and data systems for enterprise and mid-market teams.<\/p>\n      <\/div>\n      <nav class=\"foot-col\" aria-label=\"Footer\">\n        <h3>Explore<\/h3>\n        <ul>\n          <li><a href=\"#services\">Services<\/a><\/li>\n          <li><a href=\"#build\">What We Build<\/a><\/li>\n          <li><a href=\"#who\">Who We Help<\/a><\/li>\n          <li><a href=\"#process\">Process<\/a><\/li>\n        <\/ul>\n      <\/nav>\n      <div class=\"foot-col\">\n        <h3>Contact<\/h3>\n        <ul>\n          <li><a href=\"mailto:info@revtechteam.com\">info@revtechteam.com<\/a><\/li>\n          <li><a href=\"https:\/\/www.linkedin.com\/company\/revtechteam\" target=\"_blank\" rel=\"noopener\">LinkedIn<span class=\"sr-only\"> (opens in a new tab)<\/span><\/a><\/li>\n          <li><a href=\"#contact\">Book a Call<\/a><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n    <div class=\"foot-bottom\">\n      <span>&copy; <span id=\"year\">2026<\/span> REV Tech Team. All rights reserved.<\/span>\n      <span>Built with the same tools we build with for clients.<\/span>\n    <\/div>\n  <\/div>\n<\/footer>\n\n<script>\n  \/\/ sticky header state\n  var header = document.getElementById('siteHeader');\n  var onScroll = function(){ header.classList.toggle('scrolled', window.scrollY > 10); };\n  window.addEventListener('scroll', onScroll, {passive:true});\n  onScroll();\n\n  \/\/ mobile nav\n  var toggle = document.getElementById('navToggle');\n  var links = document.getElementById('navLinks');\n  toggle.addEventListener('click', function(){\n    var open = links.classList.toggle('open');\n    toggle.setAttribute('aria-expanded', open ? 'true' : 'false');\n  });\n  links.addEventListener('click', function(e){\n    if (e.target.tagName === 'A') { links.classList.remove('open'); toggle.setAttribute('aria-expanded','false'); }\n  });\n  document.addEventListener('keydown', function(e){\n    if (e.key === 'Escape' && links.classList.contains('open')) {\n      links.classList.remove('open');\n      toggle.setAttribute('aria-expanded','false');\n      toggle.focus();\n    }\n  });\n\n  \/\/ duplicate marquee content for seamless loop\n  var track = document.getElementById('mqTrack');\n  if (track) track.innerHTML += track.innerHTML;\n\n  \/\/ pause\/resume control for the auto-scrolling marquee (WCAG 2.2.2)\n  var mqPause = document.getElementById('mqPause');\n  if (mqPause && track) {\n    mqPause.addEventListener('click', function(){\n      var paused = track.classList.toggle('paused');\n      mqPause.setAttribute('aria-pressed', paused ? 'true' : 'false');\n      mqPause.textContent = paused ? 'Play' : 'Pause';\n      mqPause.setAttribute('aria-label', paused ? 'Resume scrolling platform list' : 'Pause scrolling platform list');\n    });\n  }\n\n  \/\/ reveal on scroll\n  var revealEls = document.querySelectorAll('.reveal');\n  if ('IntersectionObserver' in window) {\n    var io = new IntersectionObserver(function(entries){\n      entries.forEach(function(en){\n        if (en.isIntersecting) { en.target.classList.add('in'); io.unobserve(en.target); }\n      });\n    }, {threshold:.12, rootMargin:'0px 0px -40px 0px'});\n    revealEls.forEach(function(el){ io.observe(el); });\n  } else {\n    revealEls.forEach(function(el){ el.classList.add('in'); });\n  }\n\n  \/\/ contact form -> opens prefilled email (swap for CRM form handler when wired up)\n  var form = document.getElementById('contactForm');\n  form.addEventListener('submit', function(e){\n    e.preventDefault();\n    if (!form.checkValidity()) { form.reportValidity(); return; }\n    var fd = new FormData(form);\n    var lines = [];\n    fd.forEach(function(v,k){ lines.push(k + ': ' + v); });\n    var body = 'New strategy call request from revtechteam.com%0D%0A%0D%0A' +\n      lines.map(function(l){ return encodeURIComponent(l); }).join('%0D%0A');\n    var subject = encodeURIComponent('Strategy Call Request - ' + (fd.get('Company') || 'New Lead'));\n    window.location.href = 'mailto:info@revtechteam.com?subject=' + subject + '&body=' + body;\n    document.getElementById('formStatus').style.display = 'block';\n  });\n\n  \/\/ current year\n  document.getElementById('year').textContent = new Date().getFullYear();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Skip to main content REV Tech Team Services What We Build Who We Help Process Book a Strategy Call AI Workflow Automation &middot; Custom Software &middot; Data The systems your business runs on. Built right. AI workflow automation, React applications, SQL Server data platforms, and custom dashboards. Architected and shipped for enterprise and mid&#8209;market teams [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-2941","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AI Workflow Automation, React Apps &amp; Dashboards - REV<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/revtechteam.com\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI Workflow Automation, React Apps &amp; Dashboards - REV\" \/>\n<meta property=\"og:description\" content=\"Skip to main content REV Tech Team Services What We Build Who We Help Process Book a Strategy Call AI Workflow Automation &middot; Custom Software &middot; Data The systems your business runs on. Built right. AI workflow automation, React applications, SQL Server data platforms, and custom dashboards. Architected and shipped for enterprise and mid&#8209;market teams [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/revtechteam.com\/\" \/>\n<meta property=\"og:site_name\" content=\"REV\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-19T03:42:57+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/revtechteam.com\\\/\",\"url\":\"https:\\\/\\\/revtechteam.com\\\/\",\"name\":\"AI Workflow Automation, React Apps & Dashboards - REV\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/revtechteam.com\\\/#website\"},\"datePublished\":\"2026-07-19T03:03:33+00:00\",\"dateModified\":\"2026-07-19T03:42:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/revtechteam.com\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/revtechteam.com\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/revtechteam.com\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/revtechteam.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI Workflow Automation, React Apps &#038; Dashboards\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/revtechteam.com\\\/#website\",\"url\":\"http:\\\/\\\/revtechteam.com\\\/\",\"name\":\"REV\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/revtechteam.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AI Workflow Automation, React Apps & Dashboards - REV","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/revtechteam.com\/","og_locale":"en_US","og_type":"article","og_title":"AI Workflow Automation, React Apps & Dashboards - REV","og_description":"Skip to main content REV Tech Team Services What We Build Who We Help Process Book a Strategy Call AI Workflow Automation &middot; Custom Software &middot; Data The systems your business runs on. Built right. AI workflow automation, React applications, SQL Server data platforms, and custom dashboards. Architected and shipped for enterprise and mid&#8209;market teams [&hellip;]","og_url":"https:\/\/revtechteam.com\/","og_site_name":"REV","article_modified_time":"2026-07-19T03:42:57+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/revtechteam.com\/","url":"https:\/\/revtechteam.com\/","name":"AI Workflow Automation, React Apps & Dashboards - REV","isPartOf":{"@id":"http:\/\/revtechteam.com\/#website"},"datePublished":"2026-07-19T03:03:33+00:00","dateModified":"2026-07-19T03:42:57+00:00","breadcrumb":{"@id":"https:\/\/revtechteam.com\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/revtechteam.com\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/revtechteam.com\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/revtechteam.com\/"},{"@type":"ListItem","position":2,"name":"AI Workflow Automation, React Apps &#038; Dashboards"}]},{"@type":"WebSite","@id":"http:\/\/revtechteam.com\/#website","url":"http:\/\/revtechteam.com\/","name":"REV","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/revtechteam.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/revtechteam.com\/index.php?rest_route=\/wp\/v2\/pages\/2941","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/revtechteam.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/revtechteam.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/revtechteam.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/revtechteam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2941"}],"version-history":[{"count":4,"href":"https:\/\/revtechteam.com\/index.php?rest_route=\/wp\/v2\/pages\/2941\/revisions"}],"predecessor-version":[{"id":2945,"href":"https:\/\/revtechteam.com\/index.php?rest_route=\/wp\/v2\/pages\/2941\/revisions\/2945"}],"wp:attachment":[{"href":"https:\/\/revtechteam.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}