---
title: Vue.js Development
description: Home         /         Services         /         Vue.js Development                               Available Now · 90+ Readymade Solutions                      
url: https://miracuves.com/service/vue-development
date_modified: 2026-07-02
author: miracuves
language: en_US
---

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800&family=JetBrains+Mono:wght@400;500;600&display=swap');

  /* Redesign variables - Corporate brand dark & red glass accents */
  .ta {
    --red: #a70d2a;
    /* Corporate primary red */
    --red-d: #990000;
    /* Corporate alternate red */
    --red-l: #a70d2a;
    /* Light brand accent */
    --ra: rgba(167, 13, 42, 0.06);
    /* Transparent brand primary */
    --rb: rgba(167, 13, 42, 0.16);
    --rc-glow: rgba(167, 13, 42, 0.12);
    --rg: linear-gradient(135deg, #a70d2a 0%, #990000 100%);
    /* Strict primary-alternate red gradient */
    --green: #00E676;
    /* Vibrant Emerald Green */
    --gl: #26A69A;
    /* Beautiful Clean Teal */
    --teal: #00F3FF;
    /* High-fidelity Neon Cyan */

    /* High-end obsidian dark scales */
    --dk0: #030008;
    /* Obsidian deep background */
    --dk1: #07040f;
    /* Sleek card background */
    --dk2: #0c081a;
    /* Elevated container dark */
    --dk3: #120e26;
    /* Saturated card base */
    --dk4: #191433;
    /* Modern highlight dark */

    /* Elevated glassmorphism */
    --card: rgba(8, 4, 15, 0.76);
    /* Frosted premium glass */
    --cardh: rgba(14, 8, 25, 0.88);
    /* Hover glass brightness */
    --l0: #ffffff;
    --l1: #fafafd;
    --l2: #f2f1f6;
    --l3: #e8e7ee;

    /* Text and borders */
    --dx1: #ffffff;
    --dx2: rgba(255, 255, 255, 0.95);
    --dx3: rgba(255, 255, 255, 0.65);
    --dx4: rgba(255, 255, 255, 0.35);
    --lx1: #0c0716;
    --lx2: #322d3e;
    --lx3: #5f5a70;
    --lx4: #928ea3;

    /* High fidelity grid borders */
    --bd: rgba(255, 255, 255, 0.06);
    --bd2: rgba(255, 255, 255, 0.12);
    --bd3: rgba(255, 255, 255, 0.20);
    --bl: rgba(12, 7, 22, 0.04);
    --bl2: rgba(12, 7, 22, 0.08);

    /* Animations */
    --f: 'Plus Jakarta Sans', 'Inter', -apple-system, sans-serif;
    --fm: 'JetBrains Mono', monospace;
    --r20: 20px;
    --r14: 14px;
    --r10: 10px;
    --r6: 6px;
    --r100: 100px;
    --spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    /* Fluid elastic bounce */
    --ease: cubic-bezier(0.16, 1, 0.3, 1);
  }

  .ta,
  .ta * {
    box-sizing: border-box !important;
  }

  .ta {
    font-family: var(--f) !important;
    -webkit-font-smoothing: antialiased;
    font-size: 15px;
    line-height: 1.7;
    color: var(--lx2);
    width: 100%;
    overflow-x: hidden;
    background: var(--l0);
  }

  .ta h1,
  .ta h2,
  .ta h3,
  .ta h4,
  .ta p,
  .ta ul,
  .ta ol {
    margin: 0;
    padding: 0;
  }

  .ta ul,
  .ta ol {
    list-style: none;
  }

  .ta a {
    text-decoration: none !important;
    color: inherit;
  }

  .ta img {
    max-width: 100%;
    display: block;
  }

  /* Layout & Grid systems */
  .ta .W {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 40px;
  }

  .ta .S {
    padding: 120px 0;
    position: relative;
  }

  .ta .SM {
    padding: 75px 0;
    position: relative;
  }

  .ta .g2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  .ta .g3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }

  .ta .g4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }

  .ta .g5 {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
  }

  .ta .sp5050 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 88px;
    align-items: start;
  }

  .ta .sp5050a {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 96px;
    align-items: start;
  }

  .ta .hi>*,
  .ta .sp5050>*,
  .ta .sp5050a>*,
  .ta .two-col>* {
    min-width: 0;
  }

  /* Skins and Ambient backgrounds */
  .ta .sD {
    background: var(--dk1);
  }

  .ta .sD2 {
    background: var(--dk2);
  }

  .ta .sW {
    background: var(--l0);
    position: relative;
  }

  .ta .sG {
    background: var(--l1);
    position: relative;
  }

  .ta .sR {
    background: var(--red-d);
    position: relative;
  }

  .ta .sD h2,
  .ta .sD h3,
  .ta .sD h4,
  .ta .sD2 h2,
  .ta .sD2 h3,
  .ta .sD2 h4 {
    color: var(--dx1);
  }

  .ta .sD p,
  .ta .sD2 p {
    color: var(--dx2);
  }

  .ta .sD .mu,
  .ta .sD2 .mu {
    color: var(--dx3);
  }

  .ta .sW h2,
  .ta .sW h3,
  .ta .sW h4,
  .ta .sG h2,
  .ta .sG h3,
  .ta .sG h4 {
    color: var(--lx1);
  }

  .ta .sW p,
  .ta .sG p {
    color: var(--lx2);
  }

  .ta .sW .mu,
  .ta .sG .mu {
    color: var(--lx3);
  }

  .ta .sR h2,
  .ta .sR h3,
  .ta .sR h4 {
    color: #fff;
  }

  .ta .sR p {
    color: rgba(255, 255, 255, 0.9);
  }

  /* Typography system */
  .ta h1 {
    font-size: clamp(52px, 7vw, 92px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -3.8px;
  }

  .ta h2 {
    font-size: clamp(34px, 4.2vw, 54px);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -2px;
  }

  .ta h2 em {
    font-style: normal;
    color: var(--red);
  }

  .ta .sR h2 em {
    color: #a70d2a;
  }

  .ta h3 {
    font-size: 21px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.6px;
  }

  .ta .lead {
    font-size: 18px;
    line-height: 1.76;
    font-weight: 400;
    max-width: 640px;
  }

  .ta .body {
    font-size: 15px;
    line-height: 1.76;
    font-weight: 400;
  }

  /* Micro-animations */
  @keyframes ta-fade-up {
    from {
      opacity: 0;
      transform: translateY(32px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes ta-pulse {
    0% {
      transform: scale(0.6);
      opacity: 0.7;
    }

    100% {
      transform: scale(2.2);
      opacity: 0;
    }
  }

  @keyframes ta-float {

    0%,
    100% {
      transform: translateY(0) rotate(-2deg);
    }

    50% {
      transform: translateY(-8px) rotate(-1deg);
    }
  }

  @keyframes ta-float2 {

    0%,
    100% {
      transform: translateY(0) rotate(2deg);
    }

    50% {
      transform: translateY(-7px) rotate(1deg);
    }
  }

  @keyframes ta-draw {
    0% {
      stroke-dashoffset: 240;
    }

    100% {
      stroke-dashoffset: 0;
    }
  }

  @keyframes ta-orbit1 {
    from {
      transform: rotate(0deg) translateX(36px) rotate(0deg);
    }

    to {
      transform: rotate(360deg) translateX(36px) rotate(-360deg);
    }
  }

  @keyframes ta-orbit2 {
    from {
      transform: rotate(120deg) translateX(36px) rotate(-120deg);
    }

    to {
      transform: rotate(480deg) translateX(36px) rotate(-480deg);
    }
  }

  @keyframes ta-orbit3 {
    from {
      transform: rotate(240deg) translateX(36px) rotate(-240deg);
    }

    to {
      transform: rotate(600deg) translateX(36px) rotate(-600deg);
    }
  }

  @keyframes ta-core {

    0%,
    100% {
      transform: scale(1);
      box-shadow: 0 0 20px rgba(167, 13, 42, 0.4);
    }

    50% {
      transform: scale(1.08);
      box-shadow: 0 0 35px rgba(167, 13, 42, 0.85);
    }
  }

  @keyframes ta-dotglow {

    0%,
    100% {
      box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.6);
    }

    50% {
      box-shadow: 0 0 0 8px rgba(74, 222, 128, 0);
    }
  }

  @keyframes ta-glow-pulse {

    0%,
    100% {
      opacity: 1;
      transform: scale(1);
    }

    50% {
      opacity: 0.8;
      transform: scale(1.05);
    }
  }

  @keyframes ta-shimmer {
    0% {
      transform: translateX(-100%);
    }

    100% {
      transform: translateX(100%);
    }
  }

  @keyframes drift {
    0% {
      transform: translate(0, 0) scale(1);
    }

    50% {
      transform: translate(4%, 5%) scale(1.08);
    }

    100% {
      transform: translate(-2%, -3%) scale(0.95);
    }
  }

  /* Ambient background light blobs */
  .ta .glow-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(130px);
    opacity: 0.15;
    pointer-events: none;
    z-index: 0;
  }

  .ta .glow-1 {
    top: -10%;
    right: -5%;
    width: 550px;
    height: 550px;
    background: radial-gradient(circle, var(--red) 0%, transparent 70%);
  }

  .ta .glow-2 {
    bottom: 10%;
    left: -10%;
    width: 450px;
    height: 450px;
    background: radial-gradient(circle, var(--red-d) 0%, transparent 70%);
  }

  .ta .glow-3 {
    top: 35%;
    right: 25%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, var(--red-l) 0%, transparent 70%);
  }

  /* Scroll reveals */
  .ta .rev {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
  }

  .ta .rev.in {
    opacity: 1;
    transform: translateY(0);
  }

  .ta .revl {
    opacity: 0;
    transform: translateX(-32px);
    transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
  }

  .ta .revl.in {
    opacity: 1;
    transform: translateX(0);
  }

  .ta .revr {
    opacity: 0;
    transform: translateX(32px);
    transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
  }

  .ta .revr.in {
    opacity: 1;
    transform: translateX(0);
  }

  .ta .stag>* {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.65s var(--ease), transform 0.65s var(--ease);
  }

  .ta .stag.in>* {
    opacity: 1;
    transform: none;
    transition-delay: 0.35s;
  }

  .ta .stag.in>*:nth-child(1) {
    transition-delay: 0.04s;
  }

  .ta .stag.in>*:nth-child(2) {
    transition-delay: 0.08s;
  }

  .ta .stag.in>*:nth-child(3) {
    transition-delay: 0.12s;
  }

  .ta .stag.in>*:nth-child(4) {
    transition-delay: 0.16s;
  }

  .ta .stag.in>*:nth-child(5) {
    transition-delay: 0.20s;
  }

  .ta .stag.in>*:nth-child(6) {
    transition-delay: 0.24s;
  }

  .ta .stag.in>*:nth-child(7) {
    transition-delay: 0.28s;
  }

  .ta .stag.in>*:nth-child(8) {
    transition-delay: 0.32s;
  }

  .ta .stag.in>*:nth-child(9) {
    transition-delay: 0.35s;
  }

  .ta .stag.in>*:nth-child(10) {
    transition-delay: 0.38s;
  }

  .ta .stag.in>*:nth-child(11) {
    transition-delay: 0.41s;
  }

  .ta .stag.in>*:nth-child(12) {
    transition-delay: 0.44s;
  }

  .ta .stag.in>*:nth-child(13) {
    transition-delay: 0.47s;
  }

  .ta .stag.in>*:nth-child(14) {
    transition-delay: 0.50s;
  }

  .ta .stag.in>*:nth-child(15) {
    transition-delay: 0.53s;
  }

  .ta .stag.in>*:nth-child(16) {
    transition-delay: 0.56s;
  }

  /* Eyebrow Pill Badge */
  .ta .pill {
    display: flex;
    margin-bottom: 30px;
  }

  .ta .pill.c {
    justify-content: center;
  }

  .ta .eyp {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(12, 7, 23, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--bd2);
    border-radius: var(--r100);
    padding: 8px 18px 8px 12px;
    font-size: 12.5px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  }

  .ta .sW .eyp,
  .ta .sG .eyp {
    background: rgba(255, 255, 255, 0.85);
    border-color: var(--bl2);
    color: var(--lx2);
    box-shadow: 0 4px 16px rgba(12, 7, 22, 0.04);
  }

  .ta .sR .eyp {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.22);
    color: #fff;
  }

  .ta .eyp strong {
    color: #fff !important;
    font-weight: 700;
  }

  .ta .sW .eyp strong,
  .ta .sG .eyp strong {
    color: var(--red) !important;
  }

  .ta .eyp .el {
    width: 18px;
    height: 2px;
    background: var(--red);
    border-radius: 2px;
  }

  .ta .sR .eyp .el {
    background: rgba(255, 255, 255, 0.75);
  }

  /* Live Pulsing Dot */
  .ta .ldot {
    position: relative;
    width: 8px;
    height: 8px;
    background: var(--gl);
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(74, 222, 128, 0.8);
    flex-shrink: 0;
    animation: ta-dotglow 2s ease-in-out infinite;
  }

  .ta .ldot::after {
    content: '';
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    border: 1.5px solid var(--gl);
    opacity: 0.55;
    animation: ta-pulse 2.2s ease-out infinite;
  }

  /* Buttons */
  .ta .btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--f);
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: 0.015em;
    padding: 16px 30px;
    border-radius: var(--r14);
    cursor: pointer;
    transition: transform 0.3s var(--spring), box-shadow 0.3s var(--ease), background 0.3s var(--ease);
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    border: none;
    text-decoration: none !important;
  }

  .ta .btn svg {
    width: 18px;
    height: 18px;
    stroke-width: 2.4;
    position: relative;
    z-index: 1;
    flex-shrink: 0;
  }

  .ta .btn span {
    position: relative;
    z-index: 1;
  }

  .ta .btn-p {
    background: var(--rg);
    color: #fff !important;
    box-shadow: 0 12px 30px rgba(167, 13, 42, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.20);
  }

  .ta .btn-p::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 25%, rgba(255, 255, 255, 0.25) 50%, transparent 75%);
    transform: translateX(-100%);
    transition: transform 0.65s var(--ease);
  }

  .ta .btn-p:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 18px 40px rgba(167, 13, 42, 0.5);
  }

  .ta .btn-p:hover::before {
    transform: translateX(100%);
  }

  .ta .btn-g {
    background: rgba(12, 7, 23, 0.6);
    color: #fff !important;
    border: 1px solid var(--bd2);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }

  .ta .btn-g:hover {
    background: rgba(12, 7, 23, 0.85);
    transform: translateY(-3px);
    border-color: var(--bd3);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
  }

  .ta .sW .btn-g,
  .ta .sG .btn-g {
    background: rgba(255, 255, 255, 0.85);
    color: var(--lx1) !important;
    border-color: var(--bl2);
    backdrop-filter: none;
    box-shadow: 0 2px 10px rgba(12, 7, 22, 0.04);
  }

  .ta .sW .btn-g:hover,
  .ta .sG .btn-g:hover {
    background: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(12, 7, 22, 0.08);
    border-color: var(--bl2);
  }

  .ta .sR .btn-g {
    background: rgba(255, 255, 255, 0.16);
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.26);
  }

  .ta .sR .btn-g:hover {
    background: rgba(255, 255, 255, 0.26);
  }

  .ta .btn-wa {
    background: #25D366;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(37, 211, 102, 0.25);
    border: none;
  }

  .ta .btn-wa:hover {
    background: #20ba5a;
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(37, 211, 102, 0.4);
  }

  .ta .btn-wa svg {
    color: #fff;
  }

  /* Checklist Elements */
  .ta .ck {
    display: flex;
    gap: 14px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.62;
    padding: 14px 0;
    align-items: flex-start;
  }

  .ta .ck::before {
    content: '✓';
    font-weight: 900;
    font-size: 12px;
    margin-top: 3px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
  }

  .ta .sD .ck::before,
  .ta .sD2 .ck::before {
    color: var(--gl);
    background: rgba(74, 222, 128, 0.08);
  }

  .ta .sD .ck,
  .ta .sD2 .ck {
    color: var(--dx2);
  }

  .ta .sW .ck::before,
  .ta .sG .ck::before {
    color: var(--green);
    background: rgba(34, 197, 94, 0.08);
  }

  .ta .sW .ck,
  .ta .sG .ck {
    color: var(--lx2);
  }

  .ta .sR .ck::before {
    color: #ffd700;
    background: rgba(255, 215, 0, 0.12);
  }

  .ta .sR .ck {
    color: rgba(255, 255, 255, 0.88);
  }

  /* Structural Badges & Icons */
  .ta .nb {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13.5px;
    font-weight: 800;
    flex-shrink: 0;
  }

  .ta .sD .nb,
  .ta .sD2 .nb {
    background: var(--ra);
    color: var(--red-l);
    border: 1px solid var(--rb);
  }

  .ta .sW .nb,
  .ta .sG .nb {
    background: var(--red);
    color: #fff;
  }

  .ta .sR .nb {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.1);
  }

  .ta .ico {
    width: 44px;
    height: 44px;
    border-radius: var(--r10);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid;
    background: var(--ra);
    border-color: var(--rb);
    flex-shrink: 0;
    transition: transform 0.3s var(--spring);
  }

  .ta .ico svg {
    width: 20px;
    height: 20px;
    color: var(--red-l);
    transition: color 0.3s;
  }

  .ta .titem:hover .ico {
    transform: scale(1.08) rotate(3deg);
    background: rgba(167, 13, 42, 0.12);
    border-color: rgba(167, 13, 42, 0.4);
  }

  .ta .sR .ico {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.24);
  }

  .ta .sR .ico svg {
    color: #fff;
  }

  /* Dynamic Header alignment */
  .ta .sh {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 28px;
    flex-wrap: wrap;
    margin-bottom: 56px;
  }

  .ta .ta-bc {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 600;
    margin-bottom: 30px;
    flex-wrap: wrap;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }

  .ta .ta-bc a {
    color: var(--dx3);
    transition: color 0.2s;
    text-decoration: none;
  }

  .ta .ta-bc a:hover {
    color: var(--red-l);
  }

  .ta .ta-bc .bs {
    color: var(--dx4);
    opacity: 0.6;
    font-size: 10px;
    margin: 0 4px;
  }

  .ta .ta-bc .ta-bc-curr {
    color: var(--dx1);
    font-weight: 700;
  }

  /* ══ S01 HERO SECTION REDESIGN ══ */
  .ta .hero {
    background:
      radial-gradient(circle at 15% 15%, rgba(167, 13, 42, 0.25) 0%, transparent 55%),
      radial-gradient(circle at 85% 75%, rgba(255, 42, 95, 0.18) 0%, transparent 60%),
      radial-gradient(circle at 50% -10%, rgba(0, 243, 255, 0.08) 0%, transparent 45%),
      #04010a;
    position: relative;
    padding: 120px 0 20px;
    overflow: hidden;
  }

  .ta .hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: linear-gradient(rgba(167, 13, 42, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(167, 13, 42, 0.03) 1px, transparent 1px);
    background-size: 56px 56px;
    pointer-events: none;
  }

  /* Animated & Vibrant Hero Ambient Glows */
  .ta .hero .glow-blob {
    opacity: 0.38;
    filter: blur(140px);
    transition: opacity 0.5s ease;
  }

  .ta .hero .glow-1 {
    background: radial-gradient(circle, #ff2a5f 0%, transparent 70%);
    animation: drift 16s ease-in-out infinite alternate;
  }

  .ta .hero .glow-2 {
    background: radial-gradient(circle, var(--red) 0%, transparent 70%);
    animation: drift 20s ease-in-out infinite alternate-reverse 2s;
  }

  .ta .hero .glow-3 {
    background: radial-gradient(circle, rgba(97, 218, 251, 0.45) 0%, transparent 70%);
    opacity: 0.22;
    animation: drift 24s ease-in-out infinite alternate 1s;
  }

  .ta .hi {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 72px;
    align-items: start;
    position: relative;
    z-index: 1;
  }

  .ta .hl {
    padding-bottom: 80px;
  }

  .ta .hew {
    display: flex;
    margin-bottom: 28px;
    animation: ta-fade-up 0.6s var(--ease) both;
  }

  .ta .he {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(12, 7, 23, 0.85);
    backdrop-filter: blur(24px);
    border: 1px solid var(--bd2);
    border-radius: var(--r100);
    padding: 8px 18px 8px 12px;
    font-size: 12.5px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  }

  /* Gradient H1 Hero typography */
  .ta .hh1 {
    font-size: clamp(54px, 7.5vw, 94px);
    font-weight: 800;
    line-height: 0.96;
    letter-spacing: -0.045em;
    color: var(--dx1);
    animation: ta-fade-up 0.7s var(--ease) 0.1s both;
  }

  .ta .hh1 em {
    font-style: normal;
    color: #ff3355 !important;
    -webkit-text-fill-color: #ff3355 !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: inline !important;
    letter-spacing: -0.045em;
    text-shadow: 0 0 20px rgba(255, 51, 85, 0.25);
  }

  .ta .hh1 .h1s {
    display: block;
  }

  .ta .hh1 .dim {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 700;
    font-size: 0.68em;
    display: block;
    margin-top: 14px;
    letter-spacing: -0.035em;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.85);
  }

  .ta .hdim {
    color: #ffffff;
    font-weight: 700;
    font-size: 26px;
    display: block;
    margin-top: 14px;
    letter-spacing: -0.01em;
    -webkit-text-fill-color: #ffffff;
  }

  .ta .hlead {
    font-size: 18.5px;
    line-height: 1.76;
    color: var(--dx2);
    margin-top: 24px;
    max-width: 540px;
    animation: ta-fade-up 0.7s var(--ease) 0.18s both;
    font-weight: 400;
  }

  .ta .htrust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 30px 0;
    animation: ta-fade-up 0.7s var(--ease) 0.24s both;
  }

  .ta .htr {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #ffffff;
    padding: 8px 16px;
    border-radius: var(--r100);
    transition: all 0.3s var(--ease);
  }

  .ta .htr:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(167, 13, 42, 0.15);
  }

  .ta .htr svg {
    width: 13px;
    height: 13px;
    color: var(--green);
    flex-shrink: 0;
  }

  .ta .hctas {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    animation: ta-fade-up 0.7s var(--ease) 0.3s both;
  }

  .ta .hproof {
    display: flex;
    gap: 16px;
    align-items: center;
    margin-top: 28px;
    flex-wrap: wrap;
    font-size: 12.5px;
    font-weight: 600;
    animation: ta-fade-up 0.7s var(--ease) 0.36s both;
    color: rgba(255, 255, 255, 0.85);
  }

  .ta .hproof a {
    color: #ffffff;
    text-decoration: underline !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: opacity 0.2s;
    font-weight: 700;
  }

  .ta .hproof a:hover {
    opacity: 0.8;
  }

  .ta .hproof .dot {
    color: rgba(255, 255, 255, 0.35);
  }

  .ta .hr {
    padding-top: 8px;
    animation: ta-fade-up 0.7s var(--ease) 0.2s both;
  }

  /* SScard with double borders and inset highlights */
  .ta .hsc {
    position: relative;
    border-radius: var(--r20);
    overflow: hidden;
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.65);
    transition: transform 0.4s var(--spring), box-shadow 0.4s var(--ease);
  }

  .ta .hsc::before {
    content: '';
    position: absolute;
    inset: 0;
    padding: 1.5px;
    background: linear-gradient(135deg, rgba(167, 13, 42, 0.6), rgba(255, 255, 255, 0.05), rgba(153, 0, 0, 0.5));
    border-radius: var(--r20);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: 2;
  }

  .ta .hsc:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 35px 80px rgba(167, 13, 42, 0.15), 0 30px 70px rgba(0, 0, 0, 0.7);
  }

  .ta .hsc-inner {
    background: rgba(6, 3, 12, 0.88);
    backdrop-filter: blur(40px) saturate(180%);
    -webkit-backdrop-filter: blur(40px) saturate(180%);
    border-radius: calc(var(--r20) - 1px);
    position: relative;
    z-index: 1;
  }

  .ta .hsch {
    padding: 24px 28px 18px;
    border-bottom: 1px solid var(--bd);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .ta .hscl {
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--red-l);
  }

  .ta .hscv {
    font-size: 11.5px;
    color: var(--dx3);
    font-weight: 650;
  }

  .ta .hscg {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .ta .hsci {
    padding: 24px 28px;
    border-right: 1px solid var(--bd);
    border-bottom: 1px solid var(--bd);
    transition: background 0.3s var(--ease);
  }

  .ta .hsci:hover {
    background: rgba(167, 13, 42, 0.03);
  }

  .ta .hsci:nth-child(2n) {
    border-right: none;
  }

  .ta .hsci:nth-child(3),
  .ta .hsci:nth-child(4) {
    border-bottom: none;
  }

  .ta .hscn {
    font-size: 34px;
    font-weight: 800;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    line-height: 1.1;
    letter-spacing: -0.04em;
    text-shadow: 0 4px 12px rgba(167, 13, 42, 0.4);
  }

  .ta .hscll {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--dx3);
    margin-top: 6px;
  }

  .ta .hscav {
    padding: 16px 28px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid var(--bd);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--green);
    background: rgba(0, 230, 118, 0.05);
  }

  /* Clone card slider grid */
  .ta .hshow {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .ta .hsc-card {
    display: block;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--bd);
    border-radius: var(--r14);
    padding: 16px 20px;
    transition: all 0.35s var(--ease);
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .ta .hsc-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--rg);
    opacity: 0;
    transition: opacity 0.25s, transform 0.25s;
  }

  .ta .hsc-card:hover {
    border-color: rgba(167, 13, 42, 0.4);
    background: rgba(255, 255, 255, 0.05);
    transform: translateX(6px);
    box-shadow: 0 12px 30px rgba(167, 13, 42, 0.08), 0 8px 24px rgba(0, 0, 0, 0.35);
  }

  .ta .hsc-card:hover::before {
    opacity: 1;
  }

  .ta .hsc-cat {
    font-size: 9.5px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #ffffff !important;
    margin-bottom: 5px;
  }

  .ta .hsc-name {
    font-size: 14px;
    font-weight: 800;
    color: var(--dx1);
    line-height: 1.35;
    letter-spacing: -0.01em;
  }

  .ta .hsc-meta {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.8) !important;
    margin-top: 4px;
    font-weight: 600;
  }

  /* Interactive Vue DevTools Console */
  .ta .hstatus-console {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--bd);
    border-radius: var(--r14);
    margin-top: 14px;
    padding: 18px 22px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: all 0.35s var(--ease);
  }

  .ta .hstatus-console:hover {
    border-color: rgba(167, 13, 42, 0.3);
    background: rgba(255, 255, 255, 0.04);
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
  }

  .ta .hstatus-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--dx3);
    margin-bottom: 14px;
    font-weight: 800;
  }

  .ta .hstatus-dot {
    width: 7px;
    height: 7px;
    background: var(--green);
    border-radius: 50%;
    box-shadow: 0 0 8px var(--green);
    animation: ta-dotglow 2s ease-in-out infinite;
  }

  .ta .hstatus-tag {
    margin-left: auto;
    color: var(--red-l);
    font-weight: 850;
    font-size: 10px;
    border: 1px solid rgba(167, 13, 42, 0.2);
    padding: 2px 8px;
    border-radius: 4px;
    background: rgba(167, 13, 42, 0.05);
  }

  .ta .hstatus-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .ta .hstatus-item {
    background: rgba(255, 255, 255, 0.01);
    border: 1px solid rgba(255, 255, 255, 0.03);
    padding: 10px 14px;
    border-radius: var(--r10);
    transition: border-color 0.25s;
  }

  .ta .hstatus-item:hover {
    border-color: rgba(255, 255, 255, 0.08);
  }

  .ta .hstatus-lbl {
    display: block;
    font-size: 9px;
    font-weight: 850;
    color: var(--dx4);
    letter-spacing: 0.08em;
    margin-bottom: 2px;
  }

  .ta .hstatus-val {
    display: block;
    font-size: 12.5px;
    font-weight: 750;
    color: var(--dx1);
  }

  /* ══ S01 STRIP REDESIGN ══ */
  .ta .hstrip {
    background: var(--l0);
    border-top: none;
    padding: 34px 0;
    position: relative;
    z-index: 1;
    box-shadow: 0 -1px 0 rgba(167, 13, 42, 0.08), 0 12px 40px rgba(12, 7, 22, 0.06);
  }

  .ta .hsr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 16px;
  }

  .ta .hsi {
    flex-shrink: 0;
  }

  .ta .hsi strong {
    display: block;
    font-size: 20px;
    font-weight: 800;
    color: var(--red-d);
    line-height: 1.1;
    letter-spacing: -0.03em;
    background: linear-gradient(135deg, var(--red-d) 0%, var(--red) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .ta .hsi span {
    display: block;
    font-size: 10.2px;
    font-weight: 700;
    color: var(--lx3);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 4px;
  }

  .ta .hsep {
    width: 1px;
    height: 36px;
    background: var(--bl2);
    flex-shrink: 0;
  }

  /* ══ S02 TRUST BAR REDESIGN ══ */
  .ta .tbar {
    padding: 48px 0;
    border-bottom: 1px solid var(--bd);
    position: relative;
    z-index: 1;
  }

  .ta .tbrow {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px 48px;
    justify-items: center;
  }

  .ta .titem {
    display: flex;
    align-items: center;
    gap: 14px;
  }

  .ta .titem h4 {
    font-size: 14.5px;
    font-weight: 800;
    color: var(--dx1);
    letter-spacing: -0.01em;
  }

  .ta .titem p {
    font-size: 12.5px;
    color: var(--dx2);
    margin-top: 4px;
    font-weight: 500;
  }

  .ta .tsep {
    display: none !important;
  }

  /* ══ S03 OUR APPROACH REDESIGN ══ */
  .ta .approach-right {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .ta .approach-cards {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    margin-top: 4px;
  }

  .ta .ac {
    border: 1px solid transparent;
    border-radius: var(--r14);
    padding: 22px 16px;
    background-image: linear-gradient(var(--l0), var(--l0)), linear-gradient(135deg, rgba(12, 7, 22, 0.06), rgba(167, 13, 42, 0.15));
    background-origin: border-box;
    background-clip: padding-box, border-box;
    transition: all 0.35s var(--spring);
    text-align: center;
    box-shadow: 0 4px 16px rgba(12, 7, 22, 0.02);
  }

  .ta .ac:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(167, 13, 42, 0.1);
    background-image: linear-gradient(var(--l0), var(--l0)), linear-gradient(135deg, rgba(167, 13, 42, 0.4), rgba(167, 13, 42, 0.08));
  }

  .ta .ac-icon {
    width: 42px;
    height: 42px;
    border-radius: var(--r10);
    background: var(--ra);
    border: 1px solid var(--rb);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    transition: transform 0.3s var(--spring);
  }

  .ta .ac:hover .ac-icon {
    transform: scale(1.1) rotate(3deg);
    background: rgba(167, 13, 42, 0.1);
  }

  .ta .ac-icon svg {
    width: 20px;
    height: 20px;
    color: var(--red);
  }

  .ta .ac-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--lx1);
    margin-bottom: 6px;
    letter-spacing: -0.01em;
  }

  .ta .ac-desc {
    font-size: 11.5px;
    color: var(--lx3);
    line-height: 1.5;
    font-weight: 500;
  }

  /* Symmetrical stat card elements */
  .ta .sgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

  .ta .scard {
    border: 1px solid transparent;
    border-radius: var(--r14);
    padding: 28px 24px;
    transition: all 0.35s var(--spring);
    position: relative;
    overflow: hidden;
    background-image: linear-gradient(var(--l0), var(--l0)), linear-gradient(135deg, rgba(12, 7, 22, 0.04), rgba(167, 13, 42, 0.08));
    background-origin: border-box;
    background-clip: padding-box, border-box;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
  }

  .ta .scard::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(167, 13, 42, 0.04), transparent);
    opacity: 0;
    transition: opacity 0.3s;
  }

  .ta .scard:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(167, 13, 42, 0.08), 0 8px 24px rgba(12, 7, 22, 0.04);
    background-image: linear-gradient(var(--l0), var(--l0)), linear-gradient(135deg, rgba(167, 13, 42, 0.35), rgba(167, 13, 42, 0.05));
  }

  .ta .scard:hover::before {
    opacity: 1;
  }

  .ta .sn {
    font-size: 38px;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 6px;
    letter-spacing: -0.04em;
    background: var(--rg);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .ta .sl {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--lx3);
  }

  .ta .anote {
    background: rgba(167, 13, 42, 0.02);
    border: 1px solid rgba(167, 13, 42, 0.12);
    border-left: 5px solid var(--red);
    border-radius: 0 var(--r14) var(--r14) 0;
    padding: 20px 24px;
    margin-top: 30px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  }

  .ta .anh {
    font-size: 11px;
    font-weight: 850;
    color: var(--red);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
  }

  .ta .mrow {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 0;
    border-top: 1px solid var(--bl2);
    margin-top: 30px;
    font-size: 13.5px;
    color: var(--lx3);
    font-weight: 650;
  }

  .ta .mrow svg {
    width: 16px;
    height: 16px;
    color: var(--red);
    flex-shrink: 0;
  }

  .ta .mrow a {
    color: var(--red-d);
    font-weight: 700;
    transition: color 0.2s;
  }

  .ta .mrow a:hover {
    color: var(--red);
  }

  .ta .tech-adv {
    background: linear-gradient(135deg, rgba(167, 13, 42, 0.04) 0%, rgba(167, 13, 42, 0.01) 100%);
    border: 1px solid rgba(167, 13, 42, 0.12);
    border-radius: var(--r14);
    padding: 26px 28px;
    margin-top: 4px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  }

  .ta .tech-adv h4 {
    font-size: 14px;
    font-weight: 850;
    color: var(--lx1);
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }

  .ta .fadv-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--bl2);
  }

  .ta .fadv-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .ta .fadv-label {
    font-size: 13.5px;
    color: var(--lx2);
    font-weight: 550;
  }

  .ta .fadv-val {
    font-size: 13.5px;
    font-weight: 800;
    color: var(--red);
  }

  /* ══ S04 CLONE SOLUTIONS REDESIGN ══ */
  .ta .scrd {
    display: block;
    text-decoration: none !important;
    background: var(--l0);
    border: 1px solid var(--bl2);
    border-radius: var(--r20);
    overflow: hidden;
    transition: all 0.4s var(--spring);
    box-shadow: 0 4px 16px rgba(12, 7, 22, 0.02);
  }

  .ta .scrd:hover {
    transform: translateY(-8px);
    border-color: rgba(167, 13, 42, 0.35);
    box-shadow: 0 24px 50px rgba(167, 13, 42, 0.1), 0 8px 24px rgba(12, 7, 22, 0.06);
  }

  .ta .sv {
    height: 130px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--bl2);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .ta .sv1 {
    background: linear-gradient(135deg, rgba(167, 13, 42, 0.12), rgba(153, 0, 0, 0.03));
  }

  .ta .sv2 {
    background: linear-gradient(135deg, rgba(0, 243, 255, 0.12), rgba(0, 243, 255, 0.03));
  }

  .ta .sv3 {
    background: linear-gradient(135deg, rgba(153, 0, 0, 0.12), rgba(153, 0, 0, 0.03));
  }

  .ta .sv4 {
    background: linear-gradient(135deg, rgba(0, 230, 118, 0.12), rgba(0, 230, 118, 0.03));
  }

  .ta .sv5 {
    background: linear-gradient(135deg, rgba(157, 0, 255, 0.12), rgba(157, 0, 255, 0.03));
  }

  .ta .sv6 {
    background: linear-gradient(135deg, rgba(167, 13, 42, 0.06), rgba(153, 0, 0, 0.06));
  }

  .ta .spill {
    position: absolute;
    top: 16px;
    right: 16px;
    background: rgba(12, 7, 23, 0.76);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--r100);
    padding: 5px 14px;
    font-size: 10px;
    font-weight: 850;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }

  .ta .snum {
    font-size: 60px;
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1;
    opacity: 0.07;
    position: absolute;
    bottom: -12px;
    right: 18px;
    color: var(--lx1);
  }

  .ta .siwrap {
    width: 56px;
    height: 56px;
    border-radius: var(--r14);
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.65);
    box-shadow: 0 6px 20px rgba(12, 7, 22, 0.06);
    transition: transform 0.35s var(--spring);
  }

  .ta .scrd:hover .siwrap {
    transform: scale(1.1) rotate(4deg);
  }

  .ta .siwrap svg {
    width: 26px;
    height: 26px;
  }

  .ta .sb {
    padding: 26px;
  }

  .ta .scat {
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--red);
    margin-bottom: 12px;
  }

  .ta .scrd h3 {
    font-size: 19px;
    font-weight: 800;
    line-height: 1.3;
    color: var(--lx1);
    letter-spacing: -0.02em;
  }

  .ta .scrd p {
    font-size: 13.5px;
    line-height: 1.68;
    color: var(--lx2);
    margin-top: 10px;
  }

  .ta .schips {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    flex-wrap: wrap;
  }

  .ta .schip {
    font-size: 11px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: var(--r6);
    background: rgba(167, 13, 42, 0.05);
    color: var(--red);
    border: 1px solid rgba(167, 13, 42, 0.12);
  }

  .ta .hnote {
    margin-top: 26px;
    padding: 18px 24px;
    font-size: 13.8px;
    color: var(--lx2);
    background: rgba(167, 13, 42, 0.03);
    border: 1px solid rgba(167, 13, 42, 0.12);
    border-left: 5px solid var(--red);
    border-radius: 0 var(--r14) var(--r14) 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  }

  /* ══ S05 COMPARISON REDESIGN ══ */
  .ta .ctw {
    overflow-x: auto;
    border-radius: var(--r20);
    border: 1px solid var(--bd);
    margin-top: 40px;
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5);
  }

  .ta .ct {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.8px;
  }

  .ta .ct th,
  .ta .ct td {
    padding: 20px 22px;
    text-align: left;
    border: 1px solid;
    vertical-align: middle;
  }

  .ta .ct th {
    font-weight: 850;
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    line-height: 1.4;
  }

  .ta .sD .ct th {
    background: rgba(255, 255, 255, 0.03);
    color: var(--dx2);
    border-color: var(--bd);
  }

  .ta .sD .ct td {
    border-color: var(--bd);
    color: var(--dx2);
  }

  .ta .ct .ch {
    border-left: 2px solid rgba(167, 13, 42, 0.4) !important;
    border-right: 2px solid rgba(167, 13, 42, 0.4) !important;
    background: rgba(167, 13, 42, 0.05) !important;
  }

  .ta .ct tr:first-child .ch {
    border-top: 3px solid var(--red) !important;
  }

  .ta .ct tr:last-child .ch {
    border-bottom: 3px solid var(--red) !important;
  }

  .ta .ct .yes {
    color: var(--green) !important;
    font-weight: 800;
    text-shadow: 0 0 10px rgba(0, 230, 118, 0.2);
  }

  .ta .ct .no {
    opacity: 0.5;
  }

  .ta .ct .win {
    color: var(--red-l) !important;
    font-weight: 850;
    text-shadow: 0 0 10px rgba(167, 13, 42, 0.2);
  }

  .ta .dbx {
    padding: 24px 26px;
    border-radius: var(--r14);
    border: 1px solid;
  }

  .ta .sD .dbx {
    background: rgba(255, 255, 255, 0.02);
    border-color: var(--bd);
  }

  .ta .dlbl {
    font-size: 11.5px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
  }

  /* ══ S06 ARCHITECTURE REDESIGN ══ */
  .ta .ait {
    padding: 24px 0;
    border-bottom: 1px solid var(--bl2);
  }

  .ta .ait:last-child {
    border-bottom: none;
  }

  .ta .ait h3 {
    font-size: 17px;
    font-weight: 800;
    color: var(--lx1);
    margin-bottom: 18px;
    letter-spacing: -0.02em;
  }
  .ta .ait p.body {
    margin-bottom: 14px;
  }

  .ta .wcall {
    background: rgba(167, 13, 42, 0.02);
    border: 1px solid rgba(167, 13, 42, 0.12);
    border-left: 5px solid var(--red);
    border-radius: 0 var(--r14) var(--r14) 0;
    padding: 20px;
    margin-top: 4px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  }

  .ta .wch {
    font-size: 11.5px;
    font-weight: 850;
    color: var(--red);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
  }

  /* High fidelity macOS Window structure */
  .ta .cw2 {
    background: var(--dk0);
    border: 1px solid var(--bd2);
    border-radius: var(--r20);
    overflow: hidden;
    box-shadow: 0 35px 80px rgba(0, 0, 0, 0.7);
    position: relative;
    transition: transform 0.4s var(--spring);
  }

  .ta .cw2:hover {
    transform: translateY(-4px);
    box-shadow: 0 40px 90px rgba(157, 0, 255, 0.12), 0 30px 75px rgba(0, 0, 0, 0.75);
  }

  .ta .cw2::before {
    content: '';
    position: absolute;
    inset: 0;
    padding: 1px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent, rgba(255, 255, 255, 0.02));
    border-radius: var(--r20);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
  }

  .ta .chdr {
    padding: 16px 22px;
    border-bottom: 1px solid var(--bd);
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.03);
  }

  .ta .cd {
    width: 12px;
    height: 12px;
    border-radius: 50%;
  }

  .ta .cdr {
    background: #ff5f56;
  }

  .ta .cdy {
    background: #ffbd2e;
  }

  .ta .cdg {
    background: #27c93f;
  }

  .ta .ctit {
    font-size: 11.5px;
    font-weight: 600;
    color: var(--dx3);
    margin-left: 10px;
    font-family: var(--fm);
    letter-spacing: 0.04em;
  }

  .ta .cbody {
    padding: 24px 28px;
    font-family: var(--fm);
    font-size: 12.8px;
    line-height: 1.9;
    white-space: pre;
    overflow-x: auto;
    color: rgba(255, 255, 255, 0.95);
    background: #050308;
  }

  .ta .ckw {
    color: #c678dd;
    font-weight: 700;
  }

  .ta .cty {
    color: #e5c07b;
  }

  .ta .cst {
    color: #98c379;
  }

  .ta .ccm {
    color: #5c6370;
    font-style: italic;
  }

  .ta .cnot {
    padding: 18px 24px;
    background: var(--l1);
    border-top: 1px solid var(--bl2);
    font-size: 13.8px;
    color: var(--lx2);
    line-height: 1.7;
    border-radius: 0 0 var(--r20) var(--r20);
    font-weight: 500;
  }

  /* ══ S07 SERVICE MODELS REDESIGN ══ */
  .ta .vcrd {
    background: var(--l0);
    border: 1px solid var(--bl2);
    border-radius: var(--r20);
    overflow: hidden;
    transition: all 0.4s var(--spring);
    position: relative;
    box-shadow: 0 4px 16px rgba(12, 7, 22, 0.02);
  }

  .ta .vcrd:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 50px rgba(167, 13, 42, 0.08), 0 8px 24px rgba(12, 7, 22, 0.06);
    border-color: rgba(167, 13, 42, 0.3);
  }

  .ta .vbadge {
    position: absolute;
    top: -1px;
    left: 24px;
    background: var(--red);
    color: #fff;
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 5px 16px;
    border-radius: 0 0 8px 8px;
    z-index: 5;
    box-shadow: 0 2px 10px rgba(167, 13, 42, 0.25);
  }

  .ta .vvis {
    height: 180px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--bl2);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Phone Mockups redesign */
  .ta .vvis-phones {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(167, 13, 42, 0.08), rgba(153, 0, 0, 0.02));
  }

  .ta .phone-mock {
    position: absolute;
    width: 68px;
    height: 110px;
    border-radius: 14px;
    border: 2.2px solid;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
  }

  .ta .phone-mock .pm-bar {
    height: 12px;
    flex-shrink: 0;
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.05);
  }

  .ta .phone-mock .pm-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 6px;
  }

  .ta .phone-mock .pm-line {
    height: 3px;
    border-radius: 2px;
    width: 85%;
  }

  .ta .phone-mock .pm-line:nth-child(2) {
    width: 55%;
  }

  .ta .phone-mock .pm-line:nth-child(3) {
    width: 75%;
  }

  .ta .phone-mock .pm-btn {
    margin-top: auto;
    height: 11px;
    border-radius: 4px;
  }

  .ta .phone-customer {
    transform: rotate(-8deg) translate(-40px, 8px);
    z-index: 1;
    opacity: 0.7;
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(8, 4, 12, 0.94);
  }

  .ta .phone-customer .pm-bar {
    background: rgba(167, 13, 42, 0.35);
  }

  .ta .phone-customer .pm-line {
    background: rgba(255, 255, 255, 0.12);
  }

  .ta .phone-customer .pm-btn {
    background: rgba(167, 13, 42, 0.3);
  }

  .ta .phone-driver {
    z-index: 3;
    border-color: rgba(167, 13, 42, 0.6);
    background: linear-gradient(160deg, rgba(167, 13, 42, 0.15), rgba(8, 3, 12, 0.94));
    box-shadow: 0 16px 36px rgba(167, 13, 42, 0.25);
    animation: ta-float 4.5s ease-in-out infinite;
  }

  .ta .phone-driver .pm-bar {
    background: rgba(167, 13, 42, 0.65);
  }

  .ta .phone-driver .pm-line {
    background: rgba(255, 255, 255, 0.25);
  }

  .ta .phone-driver .pm-btn {
    background: var(--rg);
  }

  .ta .phone-admin {
    transform: rotate(8deg) translate(40px, -4px);
    z-index: 2;
    opacity: 0.8;
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(12, 6, 20, 0.94);
    animation: ta-float2 4.5s ease-in-out infinite;
  }

  .ta .phone-admin .pm-bar {
    background: rgba(255, 255, 255, 0.16);
  }

  .ta .phone-admin .pm-line {
    background: rgba(255, 255, 255, 0.12);
  }

  .ta .phone-admin .pm-btn {
    background: rgba(255, 255, 255, 0.16);
  }

  .ta .phone-lbl {
    position: absolute;
    bottom: 8px;
    font-size: 7.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.4);
    text-align: center;
    width: 100%;
  }

  .ta .phone-lbl.driver {
    color: var(--red-l);
    z-index: 4;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    font-weight: 900;
  }

  /* Widget Tree Layout */
  .ta .vvis-tree {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(0, 243, 255, 0.08), rgba(0, 243, 255, 0.02));
  }

  .ta .tree-svg {
    width: 100%;
    height: 100%;
    max-width: 220px;
    max-height: 130px;
  }

  .ta .tree-node {
    fill: rgba(8, 3, 15, 0.92);
    stroke: rgba(0, 243, 255, 0.5);
    stroke-width: 1.2;
    rx: 5;
  }

  .ta .tree-node-root {
    fill: rgba(167, 13, 42, 0.16);
    stroke: rgba(167, 13, 42, 0.65);
    stroke-width: 1.5;
  }

  .ta .tree-line {
    stroke: rgba(0, 243, 255, 0.25);
    stroke-width: 1;
    stroke-dasharray: 4 3;
  }

  .ta .tree-line-root {
    stroke: rgba(167, 13, 42, 0.4);
    stroke-width: 1.2;
    stroke-dasharray: none;
    animation: ta-draw 3s ease-in-out infinite alternate;
  }

  .ta .tree-text {
    fill: rgba(255, 255, 255, 0.75);
    font-size: 6.5px;
    font-family: var(--fm);
    font-weight: 600;
  }

  .ta .tree-text-root {
    fill: var(--red-l);
  }

  /* Sprint Timeline */
  .ta .vvis-sprint {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    background: linear-gradient(180deg, rgba(157, 0, 255, 0.08), rgba(157, 0, 255, 0.02));
  }

  .ta .sprint-track {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .ta .sprint-row {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .ta .sprint-label {
    font-size: 8px;
    font-weight: 850;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    width: 30px;
    flex-shrink: 0;
    text-align: right;
  }

  .ta .sprint-bar-wrap {
    flex: 1;
    height: 10px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    border: 0.5px solid rgba(255, 255, 255, 0.02);
  }

  .ta .sprint-fill {
    height: 100%;
    border-radius: 6px;
    position: relative;
  }

  .ta .sprint-fill.done {
    background: linear-gradient(90deg, var(--red), rgba(167, 13, 42, 0.5));
  }

  .ta .sprint-fill.active {
    background: linear-gradient(90deg, rgba(157, 0, 255, 0.8), rgba(157, 0, 255, 0.45));
    width: 75%;
    position: relative;
  }

  .ta .sprint-fill.active::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transform: translateX(-100%);
    animation: ta-shimmer 1.8s infinite;
  }

  .ta .sprint-fill.next {
    background: rgba(255, 255, 255, 0.06);
  }

  .ta .sprint-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
  }

  .ta .sprint-dot.done {
    background: var(--green);
  }

  .ta .sprint-dot.active {
    background: var(--red-l);
    animation: ta-dotglow 1.5s ease-in-out infinite;
  }

  .ta .sprint-dot.next {
    background: rgba(255, 255, 255, 0.2);
  }

  .ta .vbody {
    padding: 28px 30px;
  }

  .ta .vtag {
    font-size: 10.5px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--red);
    margin-bottom: 12px;
  }

  .ta .vtit {
    font-size: 20px;
    font-weight: 800;
    line-height: 1.25;
    color: var(--lx1);
    margin-bottom: 12px;
    letter-spacing: -0.02em;
  }

  .ta .vdesc {
    font-size: 13.8px;
    line-height: 1.68;
    color: var(--lx2);
    margin-bottom: 20px;
  }

  /* ══ S08 QUALITY STANDARDS REDESIGN ══ */
  .ta .two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .ta .tc-panel {
    padding: 130px 90px;
    display: flex;
    align-items: flex-start;
  }

  .ta .tc-inner {
    width: 100%;
    max-width: 560px;
  }

  .ta .two-col .tc-panel:first-child .tc-inner {
    margin-left: auto;
    margin-right: 0;
  }

  .ta .two-col .tc-panel:last-child .tc-inner {
    margin-left: 0;
    margin-right: auto;
  }

  .ta .qs-dark {
    background: var(--dk1);
    position: relative;
  }

  .ta .qs-dark::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 0% 100%, rgba(167, 13, 42, 0.08) 0%, transparent 68%);
    pointer-events: none;
  }

  .ta .qs-red {
    background: var(--red-d);
    position: relative;
    overflow: hidden;
  }

  .ta .qs-red::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 100% 0%, rgba(167, 13, 42, 0.35) 0%, transparent 68%);
    pointer-events: none;
  }

  .ta .qs-red .tc-inner {
    position: relative;
    z-index: 1;
  }

  .ta .qs-red h2 em {
    color: #ffffff;
  }

  .ta .qs-dark .qrow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--r10);
    padding: 16px 22px;
    transition: all 0.3s var(--ease);
  }

  .ta .qs-dark .qrow:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(167, 13, 42, 0.35);
    transform: translateX(6px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
  }

  .ta .qs-dark .qn {
    font-size: 13.8px;
    font-weight: 650;
    color: var(--dx1);
  }

  .ta .qs-dark .qb {
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: rgba(255, 255, 255, 0.06);
    border-color: var(--bd2);
    color: var(--dx3);
    flex-shrink: 0;
    white-space: nowrap;
  }

  .ta .qs-dark h2 {
    color: var(--dx1);
  }

  .ta .qs-dark h2 em {
    color: var(--red-l);
  }

  .ta .qs-dark .lead {
    color: var(--dx2);
  }

  .ta .qs-dark .eyp {
    background: rgba(8, 4, 12, 0.75);
    border-color: var(--bd2);
  }

  .ta .qs-dark .eyp strong {
    color: #fff;
  }

  .ta .qs-dark .el {
    background: var(--red);
  }

  .ta .qs-red .tc-inner {
    max-width: 760px;
  }

  .ta .qsteps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    width: 100%;
  }

  .ta .vstep {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--r14);
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    transition: transform 0.35s var(--spring), border-color 0.3s, background 0.3s, box-shadow 0.3s;
  }

  .ta .vstep:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.3);
  }

  .ta .vstep-nb {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11.5px;
    font-weight: 850;
    flex-shrink: 0;
  }

  .ta .vstep h4 {
    font-size: 15px;
    font-weight: 800;
    color: #fff;
    margin: 0;
    line-height: 1.35;
    letter-spacing: -0.01em;
  }

  .ta .vstep p {
    font-size: 12.5px;
    line-height: 1.62;
    color: rgba(255, 255, 255, 0.82);
    margin: 0;
  }

  /* ══ S09 TECH STACK REDESIGN ══ */
  .ta #stack {
    background: linear-gradient(135deg, #cccccc 0%, #b2b2b2 100%) !important;
    color: var(--lx2) !important;
  }

  .ta #stack h2 {
    color: var(--lx1) !important;
  }

  .ta #stack .mu {
    color: var(--lx3) !important;
  }

  .ta #stack .eyp {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    color: var(--lx2) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
  }

  .ta #stack .eyp strong {
    color: var(--red) !important;
  }

  .ta #stack .el {
    background: var(--red) !important;
  }

  .ta .stack16 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }

  .ta .stki {
    background: rgba(255, 255, 255, 0.6) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: var(--r14);
    padding: 28px 22px;
    text-align: center;
    transition: all 0.35s var(--ease);
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    position: relative;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.03) !important;
  }

  .ta .stki::before {
    content: '';
    position: absolute;
    inset: 0;
    padding: 1px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.4), transparent, rgba(0, 0, 0, 0.03));
    border-radius: var(--r14);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
  }

  .ta .stki:hover {
    transform: translateY(-6px);
    border-color: var(--red) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 20px 40px rgba(167, 13, 42, 0.12) !important;
  }

  .ta .stlogo {
    width: 50px;
    height: 50px;
    border-radius: var(--r10);
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    font-size: 14px;
    font-weight: 850;
    background: rgba(0, 0, 0, 0.04) !important;
    color: var(--red) !important;
    transition: transform 0.3s var(--spring);
  }

  .ta .stki:hover .stlogo {
    transform: scale(1.1) rotate(4deg);
    background: rgba(0, 0, 0, 0.08) !important;
    border-color: var(--red) !important;
  }

  .ta .stname {
    font-size: 14px;
    font-weight: 800;
    color: var(--lx1) !important;
    margin-bottom: 6px;
    letter-spacing: -0.01em;
  }

  .ta .stdesc {
    font-size: 11px;
    line-height: 1.5;
    color: var(--lx3) !important;
    font-weight: 500;
  }

  /* ══ S10 PROCESS REDESIGN ══ */
  .ta #process {
    background: #000000 !important;
    color: #fff !important;
    position: relative;
    overflow: hidden;
    padding: 120px 0;
  }

  .ta #process h2 {
    color: #fff !important;
  }

  .ta #process h2 em {
    color: var(--red) !important;
    font-style: normal;
  }

  .ta #process p,
  .ta #process .body,
  .ta #process .lead {
    color: rgba(255, 255, 255, 0.82) !important;
  }

  .ta #process .pill .eyp {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
  }

  .ta #process .pill .eyp strong {
    color: var(--red-l);
  }

  .ta-process-wrapper {
    margin-top: 80px;
    position: relative;
  }

  .ta-process-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    position: relative;
  }

  .ta-process-step {
    position: relative;
    height: 380px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .ta-process-card {
    width: 200px;
    height: 220px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 18px;
    padding: 24px 18px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
    transition: all 0.4s var(--ease);
    position: relative;
    z-index: 5;
  }

  .ta-process-card:hover {
    transform: translateY(-8px);
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.18);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.45);
  }

  .ta-process-icon-wrap {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.2) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    transition: all 0.3s var(--ease);
  }

  .ta-process-card:hover .ta-process-icon-wrap {
    transform: scale(1.08);
    background: #fff !important;
    border-color: #fff !important;
  }

  .ta-process-card:hover .ta-process-icon-wrap svg {
    stroke: #000000 !important;
    fill: none;
  }

  .ta-process-icon-wrap svg {
    width: 22px;
    height: 22px;
    stroke: #ffffff !important;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    transition: all 0.3s var(--ease);
  }

  .ta-process-card h3 {
    font-size: 17.5px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin-bottom: 8px !important;
    letter-spacing: -0.01em !important;
  }

  .ta-process-card p {
    font-size: 12.8px !important;
    line-height: 1.62 !important;
    color: rgba(255, 255, 255, 0.78) !important;
    font-weight: 500 !important;
    margin: 0 !important;
  }

  .ta-step-label {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    z-index: 10;
    pointer-events: none;
  }

  .ta-step-label.top {
    top: 15px;
  }

  .ta-step-label.bottom {
    bottom: 15px;
  }

  .ta-step-label span {
    display: block;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    white-space: nowrap;
  }

  .ta-step-label.top span {
    margin-bottom: 8px;
  }

  .ta-step-label.bottom span {
    margin-top: 8px;
  }

  .ta-step-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 0 auto;
  }

  .ta-proc-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
    z-index: 2;
  }

  .ta .tpills {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 56px;
  }

  .ta .tpill {
    padding: 18px 28px;
    border-radius: var(--r14);
    text-align: center;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.35s var(--spring);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01);
  }

  .ta .tpill:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.3);
    border-color: rgba(167, 13, 42, 0.5);
    background: rgba(255, 255, 255, 0.04);
  }

  .ta .tpill strong {
    display: block;
    font-size: 24px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.03em;
    line-height: 1.1;
    background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.7) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .ta .tpill span {
    display: block;
    font-size: 11.5px;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 6px;
    font-weight: 700;
  }

  @media (max-width: 991px) {
    .ta-process-grid {
      grid-template-columns: 1fr;
      gap: 40px;
      justify-items: center;
    }

    .ta-process-grid::before {
      content: '';
      position: absolute;
      top: 40px;
      bottom: 40px;
      left: 50%;
      transform: translateX(-50%);
      width: 3px;
      background: linear-gradient(to bottom, #a70d2a, #990000, #a70d2a, #990000, #a70d2a);
      z-index: 1;
    }

    .ta-process-step {
      height: auto;
      width: 100%;
      max-width: 320px;
      flex-direction: column;
      align-items: center;
      padding: 0;
    }

    .ta-process-card {
      width: 100%;
      height: auto;
      min-height: 200px;
      padding: 30px 24px;
    }

    .ta-step-label {
      position: relative !important;
      top: auto !important;
      bottom: auto !important;
      left: auto !important;
      transform: none !important;
      margin-bottom: 12px;
    }

    .ta-step-label.bottom {
      display: flex;
      flex-direction: column-reverse;
      align-items: center;
    }

    .ta-step-label.top {
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .ta-step-dot {
      margin: 6px auto !important;
      width: 12px;
      height: 12px;
      box-shadow: 0 0 10px currentColor;
    }

    .ta-proc-svg {
      display: none;
    }
  }

  /* ══ S11 PRICING REDESIGN ══ */
  .ta .pcrd {
    background: var(--l0);
    border: 1px solid var(--bl2);
    border-radius: var(--r20);
    padding: 44px 34px;
    position: relative;
    transition: all 0.4s var(--spring);
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(12, 7, 22, 0.02);
  }

  .ta .pcrd::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: var(--rg);
    opacity: 0;
    transition: opacity 0.3s var(--ease);
  }

  .ta .pcrd:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 50px rgba(12, 7, 22, 0.06), 0 10px 24px rgba(167, 13, 42, 0.05);
    border-color: rgba(167, 13, 42, 0.3);
  }

  .ta .pcrd:hover::before {
    opacity: 1;
  }

  .ta .pcrd.hot {
    border-color: var(--red);
    box-shadow: 0 16px 40px rgba(167, 13, 42, 0.08);
    background: var(--l1);
  }

  .ta .pcrd.hot::before {
    opacity: 1;
  }

  .ta .ptag {
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--red);
    color: #fff;
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 5px 18px;
    border-radius: 0 0 8px 8px;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(167, 13, 42, 0.25);
  }

  .ta .pname {
    font-size: 19px;
    font-weight: 800;
    color: var(--lx1);
    margin-bottom: 14px;
    letter-spacing: -0.02em;
  }

  .ta .pamt {
    font-size: 40px;
    font-weight: 850;
    line-height: 1;
    margin-bottom: 10px;
    letter-spacing: -0.04em;
    color: var(--red-d);
    background: linear-gradient(135deg, var(--red-d) 0%, var(--red) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .ta .pnote {
    font-size: 12.8px;
    color: var(--lx3);
    margin-bottom: 26px;
    font-weight: 600;
  }

  .ta .pcrd ul {
    display: flex;
    flex-direction: column;
    gap: 11px;
    margin-bottom: 32px;
  }

  .ta .pcrd li {
    position: relative;
    padding-left: 26px;
    font-size: 13.8px;
    line-height: 1.6;
    color: var(--lx2);
    font-weight: 550;
  }

  .ta .pcrd li::before {
    content: '✓';
    position: absolute;
    left: 0;
    font-weight: 900;
    color: var(--green);
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: rgba(0, 230, 118, 0.08);
    border-radius: 50%;
    margin-top: 2px;
  }

  /* ══ S12 CASE STUDY REDESIGN ══ */
  .ta .cs-dark {
    background: var(--dk1);
    position: relative;
  }

  .ta .cs-dark::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 0% 100%, rgba(167, 13, 42, 0.08) 0%, transparent 68%);
    pointer-events: none;
  }

  .ta .cs-dark .tc-inner {
    position: relative;
    z-index: 1;
  }

  .ta .cs-dark h2 {
    color: var(--dx1);
  }

  .ta .cs-dark h2 em {
    color: var(--red-l);
  }

  .ta .cs-dark .body {
    color: var(--dx2);
  }

  .ta .cs-dark .eyp {
    background: rgba(8, 4, 12, 0.75);
    border-color: var(--bd2);
  }

  .ta .cs-dark .eyp strong {
    color: #fff;
  }

  .ta .cs-dark .el {
    background: var(--red);
  }

  .ta .cs-dark .cst {
    color: var(--dx1);
  }

  .ta .cs-dark .csb {
    color: var(--dx2);
  }

  .ta .cs-dark .csr {
    border-color: var(--bd);
  }

  .ta .cs-dark .csn {
    background: var(--ra);
    color: var(--red-l);
    border-color: var(--rb);
  }

  .ta .cs-dark .rbar .rpill {
    background: rgba(255, 255, 255, 0.03);
    border-color: var(--bd);
  }

  .ta .cs-dark .rbar .rpill strong {
    color: var(--red-l);
  }

  .ta .cs-dark .rbar .rpill span {
    color: var(--dx3);
  }

  .ta .cs-dark .btn-g {
    border-color: var(--bd3);
    color: var(--dx1) !important;
  }

  .ta .csr {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 22px 0;
    border-bottom: 1px solid var(--bd);
  }

  .ta .csr:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .ta .csn {
    width: 40px;
    height: 40px;
    border-radius: var(--r10);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13.5px;
    font-weight: 850;
    flex-shrink: 0;
    background: var(--ra);
    color: var(--red-l);
    border: 1px solid var(--rb);
    transition: transform 0.3s;
  }

  .ta .csr:hover .csn {
    transform: scale(1.08) rotate(3deg);
  }

  .ta .cst {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 8px;
    color: var(--dx1);
    letter-spacing: -0.01em;
  }

  .ta .csb {
    font-size: 13.8px;
    line-height: 1.7;
    color: var(--dx2);
  }

  .ta .rbar {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 26px;
  }

  .ta .rpill {
    padding: 16px 20px;
    border-radius: var(--r10);
    text-align: center;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--bd);
    transition: all 0.28s var(--ease);
  }

  .ta .rpill:hover {
    border-color: rgba(167, 13, 42, 0.4);
    background: rgba(167, 13, 42, 0.08);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(167, 13, 42, 0.12);
  }

  .ta .rpill strong {
    display: block;
    font-size: 24px;
    font-weight: 800;
    color: var(--red-l);
    letter-spacing: -0.03em;
    line-height: 1.1;
  }

  .ta .rpill span {
    display: block;
    font-size: 11px;
    color: var(--dx3);
    margin-top: 4px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }

  .ta .cs-dark .btn-g:hover {
    border-color: var(--red);
    background: var(--ra);
  }

  /* Left-right symmetry card boxes */
  .ta .cs-grey .testi {
    background: var(--l0);
    border-color: var(--bl2);
    box-shadow: 0 8px 30px rgba(12, 7, 22, 0.03);
    border-radius: var(--r20);
    padding: 36px;
    border: 1px solid var(--bl2);
  }

  .ta .cs-grey .tlbl {
    color: var(--red);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    margin-bottom: 16px;
    display: block;
  }

  .ta .cs-grey .tq {
    color: var(--lx1);
    font-size: 16px;
    font-weight: 550;
    line-height: 1.76;
    font-style: italic;
    letter-spacing: -0.01em;
  }

  .ta .cs-grey .tau {
    border-color: var(--bl2);
    padding-top: 20px;
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-top: 1px solid var(--bl2);
  }

  .ta .cs-grey .tav {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--ra);
    border: 1px solid var(--rb);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 850;
    color: var(--red);
  }

  .ta .cs-grey .tnm {
    color: var(--lx1);
    font-weight: 850;
    font-size: 15px;
  }

  .ta .cs-grey .trl {
    color: var(--lx3);
    font-size: 12.8px;
    margin-top: 2px;
    font-weight: 550;
  }

  .ta .cs-grey .tvfy {
    margin-top: 20px;
    padding: 14px 18px;
    background: var(--l1);
    border-radius: var(--r10);
    font-size: 13.8px;
    font-weight: 700;
    border: 1px solid var(--bl2);
  }

  .ta .cs-grey .proj-brief {
    background: var(--l0);
    border-color: var(--bl2);
    box-shadow: 0 8px 30px rgba(12, 7, 22, 0.03);
    border-radius: var(--r20);
    padding: 26px 30px;
    border: 1px solid var(--bl2);
  }

  .ta .cs-grey .pb-title {
    color: var(--red);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    margin-bottom: 16px;
  }

  .ta .cs-grey .pb-row {
    border-color: var(--bl2);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--bl2);
  }

  .ta .cs-grey .pb-row:last-child {
    border-bottom: none;
  }

  .ta .cs-grey .pb-label {
    color: var(--lx3);
    font-weight: 600;
    font-size: 13.5px;
  }

  .ta .cs-grey .pb-val {
    color: var(--lx1);
    font-weight: 700;
    font-size: 13.5px;
  }

  .ta .cs-grey .pm-item {
    background: var(--l0);
    border-color: var(--bl2);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
    border-radius: var(--r12);
    padding: 16px;
    border: 1px solid var(--bl2);
  }

  .ta .cs-grey .pm-num {
    color: var(--red-d);
    font-size: 24px;
    font-weight: 850;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, var(--red-d) 0%, var(--red) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .ta .cs-grey .pm-lbl {
    color: var(--lx3);
    font-weight: 700;
    font-size: 10.5px;
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }

  /* ══ S13 REVIEWS REDESIGN ══ */
  .ta .rev-card {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--r20);
    padding: 34px;
    transition: all 0.35s var(--ease);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .ta .rev-card:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(167, 13, 42, 0.35);
    transform: translateY(-8px);
    box-shadow: 0 30px 60px rgba(167, 13, 42, 0.12), 0 10px 30px rgba(0, 0, 0, 0.45);
  }

  .ta .rev-stars {
    color: #ffd700;
    font-size: 16px;
    letter-spacing: 2px;
    margin-bottom: 14px;
    text-shadow: 0 0 10px rgba(255, 215, 0, 0.3);
  }

  .ta .rev-source {
    color: var(--dx3);
    font-size: 11.5px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
  }

  .ta .rev-quote {
    color: var(--dx2);
    font-size: 15px;
    line-height: 1.76;
    font-style: italic;
    font-weight: 500;
  }

  .ta .rev-author {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
  }

  .ta .rev-av {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 850;
    color: #fff;
  }

  .ta .rev-name {
    color: #fff;
    font-weight: 800;
    font-size: 14.5px;
  }

  .ta .rev-role {
    color: var(--dx3);
    font-size: 12.5px;
    margin-top: 2px;
    font-weight: 500;
  }

  .ta .rev-tag {
    font-size: 11px;
    color: var(--red-l);
    font-weight: 750;
    margin-top: 16px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }

  .ta .sR .rev-card {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
  }

  .ta .sR .rev-card:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.25);
  }

  .ta .sR .rev-stars {
    color: #ffe644;
  }

  .ta .sR .rev-source {
    color: rgba(255, 255, 255, 0.7);
  }

  .ta .sR .rev-quote {
    color: #fff;
  }

  .ta .sR .rev-author {
    border-color: rgba(255, 255, 255, 0.14);
  }

  .ta .sR .rev-av {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.24);
  }

  .ta .sR .rev-role {
    color: rgba(255, 255, 255, 0.65);
  }

  .ta .sR .rev-tag {
    color: #ffe644;
  }

  .ta .rev-summary {
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
    background: var(--l0);
    border: 1px solid var(--bl2);
    border-radius: var(--r14);
    padding: 24px 36px;
    box-shadow: 0 8px 24px rgba(12, 7, 22, 0.02);
  }

  .ta .rev-sum-item {
    display: flex;
    flex-direction: column;
  }

  .ta .rev-sum-item strong {
    font-size: 24px;
    font-weight: 850;
    color: var(--red-d);
    letter-spacing: -0.02em;
    line-height: 1.1;
    background: linear-gradient(135deg, var(--red-d) 0%, var(--red) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .ta .rev-sum-item span {
    font-size: 11.5px;
    color: var(--lx3);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 5px;
    font-weight: 700;
  }

  .ta .rev-sum-sep {
    width: 1px;
    height: 42px;
    background: var(--bl2);
    flex-shrink: 0;
  }

  /* ══ S14 RELATED SERVICES REDESIGN ══ */
  .ta .rcrd {
    display: flex;
    align-items: center;
    gap: 18px;
    background: var(--l0);
    border: 1px solid var(--bl2);
    border-radius: var(--r14);
    padding: 22px 24px;
    transition: all 0.35s var(--spring);
    text-decoration: none !important;
    box-shadow: 0 4px 16px rgba(12, 7, 22, 0.02);
  }

  .ta .rcrd:hover {
    transform: translateX(6px);
    border-color: rgba(167, 13, 42, 0.35);
    box-shadow: 0 16px 36px rgba(167, 13, 42, 0.08);
  }

  .ta .rict {
    width: 44px;
    height: 44px;
    border-radius: var(--r10);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ra);
    border: 1px solid var(--rb);
    flex-shrink: 0;
    transition: transform 0.3s var(--spring);
  }

  .ta .rcrd:hover .rict {
    transform: scale(1.1) rotate(4deg);
    background: rgba(167, 13, 42, 0.1);
  }

  .ta .rict svg {
    width: 20px;
    height: 20px;
    color: var(--red);
  }

  .ta .rcat {
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--lx3);
    margin-bottom: 5px;
  }

  .ta .rtit {
    font-size: 15px;
    font-weight: 800;
    color: var(--lx1);
    letter-spacing: -0.01em;
  }

  /* ══ S15 FAQ REDESIGN ══ */
  .ta .fitem {
    background: var(--l0);
    border: 1px solid var(--bl2);
    border-radius: var(--r14);
    overflow: hidden;
    transition: border-color 0.3s var(--ease), box-shadow 0.3s var(--ease);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.01);
  }

  .ta .fitem:hover {
    border-color: rgba(167, 13, 42, 0.28);
    box-shadow: 0 12px 28px rgba(12, 7, 22, 0.05);
  }

  .ta .fq {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
    color: var(--lx1);
    padding: 24px 28px 0;
    letter-spacing: -0.02em;
  }

  .ta .faq-a {
    font-size: 14px;
    line-height: 1.74;
    color: var(--lx2);
    padding: 12px 28px 24px;
    font-weight: 500;
  }

  /* ══ S16 CTA BANNER REDESIGN ══ */
  .ta .ctawrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 64px;
    flex-wrap: wrap;
  }

  .ta .ctal {
    flex: 1;
    min-width: 280px;
  }

  .ta .ctar {
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex-shrink: 0;
    min-width: 260px;
  }

  .ta .ctapr {
    display: flex;
    gap: 36px;
    margin-top: 32px;
    flex-wrap: wrap;
  }

  .ta .ctapr strong {
    display: block;
    font-size: 28px;
    font-weight: 850;
    color: var(--red-d);
    letter-spacing: -0.03em;
    line-height: 1.1;
    background: linear-gradient(135deg, var(--red-d) 0%, var(--red) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .ta .ctapr span {
    display: block;
    font-size: 11.5px;
    color: var(--lx3);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 6px;
    font-weight: 700;
  }

  .ta .ctanote {
    font-size: 12.8px;
    color: var(--lx3);
    text-align: center;
    font-weight: 600;
  }

  /* Responsive adjustments */
  @media(max-width:1100px) {

    .ta .hi,
    .ta .sp5050a {
      grid-template-columns: 1fr;
    }

    .ta .hr {
      display: block;
      margin-top: 48px;
      width: 100%;
    }

    .ta .hl {
      padding-bottom: 0;
    }

    .ta .sp5050 {
      grid-template-columns: 1fr;
      gap: 56px;
    }

    .ta .g4 {
      grid-template-columns: 1fr 1fr;
    }

    .ta .g5 {
      grid-template-columns: 1fr 1fr 1fr;
      gap: 30px;
    }

    .ta .procl {
      display: none;
    }

    .ta .ctawrap {
      flex-direction: column;
      align-items: flex-start;
      gap: 40px;
    }

    .ta .ctar {
      width: 100%;
    }

    .ta .hsr {
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px 24px;
    }

    .ta .hsep {
      display: none;
    }

    .ta .tbrow {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px 32px;
      justify-items: center;
    }

    .ta .tsep {
      display: none;
    }
  }

  @media(max-width:900px) {
    .ta .stack16 {
      grid-template-columns: repeat(3, 1fr);
    }

    .ta .approach-cards {
      grid-template-columns: 1fr 1fr 1fr;
    }

    .ta .proj-metrics {
      grid-template-columns: 1fr 1fr 1fr;
    }

    .ta .two-col {
      grid-template-columns: 1fr;
    }

    .ta .tc-panel {
      padding: 68px 32px;
    }

    .ta .tc-panel .tc-inner {
      max-width: none;
      margin: 0;
    }

    .ta .qsteps {
      grid-template-columns: 1fr;
      gap: 16px;
    }
  }

  @media(max-width:768px) {
    .ta .W {
      padding: 0 24px;
    }

    .ta .S {
      padding: 80px 0;
    }

    .ta .hero {
      padding-bottom: 80px;
    }

    .ta h2 {
      font-size: 28px;
      letter-spacing: 0;
      line-height: 1.16;
    }

    .ta h3 {
      font-size: 18px;
      letter-spacing: 0;
    }

    .ta .lead {
      font-size: 16px;
      line-height: 1.7;
    }

    .ta .body {
      font-size: 14.5px;
      line-height: 1.72;
    }

    .ta .hh1 {
      font-size: 38px;
      line-height: 1.35;
      letter-spacing: 0;
    }

    .ta .sh {
      display: block;
      margin-bottom: 34px;
    }

    .ta .pill {
      margin-bottom: 20px;
    }

    .ta .eyp {
      max-width: 100%;
      white-space: normal;
      line-height: 1.35;
    }

    .ta .cbody {
      white-space: pre-wrap;
      overflow-wrap: anywhere;
      font-size: 11.5px;
      line-height: 1.75;
      padding: 20px 18px;
    }

    .ta .revl,
    .ta .revr {
      transform: none;
    }

    /* Symmetrical 1-column layouts for 3-card blocks (Services, Pricing, Reviews, Related) */
    .ta .g3 {
      grid-template-columns: 1fr;
      max-width: 600px;
      margin-left: auto;
      margin-right: auto;
      gap: 24px;
    }

    .ta .g2 {
      grid-template-columns: 1fr;
    }

    .ta .g4,
    .ta .g5 {
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

    .ta .hsr {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .ta .hsi {
      width: 100%;
      min-height: 92px;
      padding: 16px;
      border: 1px solid var(--bl2);
      border-radius: var(--r14);
      background: var(--l0);
      box-shadow: 0 6px 18px rgba(12, 7, 22, 0.04);
    }

    .ta .hsi strong {
      font-size: 18px;
      line-height: 1.2;
    }

    .ta .hsi span {
      font-size: 10px;
      line-height: 1.35;
    }

    .ta .hsep,
    .ta .tsep {
      display: none;
    }

    .ta .sgrid {
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }

    .ta .scard {
      padding: 22px 18px;
    }

    .ta .sn {
      font-size: 30px;
    }

    .ta .sl {
      font-size: 12.5px;
    }

    .ta .tech-adv {
      padding: 22px 18px;
    }

    .ta .fadv-row {
      align-items: flex-start;
      gap: 6px;
    }

    .ta .fadv-label,
    .ta .fadv-val {
      line-height: 1.45;
    }

    /* Trust Bar: Transform into vertical list of horizontal rows matching Miracuves.com mobile layout */
    .ta .tbrow {
      grid-template-columns: 1fr;
      gap: 12px;
      justify-items: stretch;
      max-width: 600px;
      margin: 0 auto;
    }

    .ta .titem {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      gap: 16px !important;
      background: rgba(255, 255, 255, 0.02) !important;
      border: 1px solid rgba(255, 255, 255, 0.06) !important;
      border-radius: var(--r14) !important;
      padding: 16px 20px !important;
      width: 100% !important;
      text-align: left !important;
    }

    .ta .titem .ico {
      width: 40px !important;
      height: 40px !important;
      border-radius: 8px !important;
      flex-shrink: 0 !important;
      background: rgba(167, 13, 42, 0.08) !important;
      border-color: rgba(167, 13, 42, 0.2) !important;
    }

    .ta .titem .ico svg {
      width: 18px !important;
      height: 18px !important;
      color: var(--red-l) !important;
    }

    .ta .titem h4 {
      font-size: 14.5px !important;
      color: #ffffff !important;
      font-weight: 700 !important;
      margin: 0 !important;
    }

    .ta .titem p {
      font-size: 12px !important;
      color: rgba(255, 255, 255, 0.6) !important;
      text-transform: none !important;
      letter-spacing: 0 !important;
      margin-top: 3px !important;
      font-weight: 500 !important;
    }

    .ta .approach-cards {
      grid-template-columns: 1fr 1fr;
    }

    .ta .cs-right {
      gap: 14px;
    }

    .ta .rev-summary {
      flex-direction: column;
      align-items: center;
      gap: 20px;
      padding: 24px;
      text-align: center;
    }

    .ta .rev-sum-sep {
      display: none;
    }

    /* Mobile card view for comparison table */
    .ta .ctw {
      overflow: visible;
      border: none;
      border-radius: 0;
      margin-top: 28px;
      box-shadow: none;
    }

    .ta .ct,
    .ta .ct thead,
    .ta .ct tbody,
    .ta .ct tr,
    .ta .ct th,
    .ta .ct td {
      display: block;
      width: 100%;
    }

    .ta .ct thead {
      display: none;
    }

    .ta .ct tbody {
      display: grid;
      gap: 16px;
    }

    .ta .ct tr {
      border: 1px solid var(--bd2);
      border-radius: var(--r14);
      overflow: hidden;
      background: rgba(255, 255, 255, 0.03);
      box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
    }

    .ta .ct th,
    .ta .ct td {
      min-width: 0 !important;
      border: 0 !important;
      padding: 15px 18px;
    }

    .ta .ct td {
      border-top: 1px solid var(--bd) !important;
      font-size: 13.5px;
      line-height: 1.55;
    }

    .ta .ct td:first-child {
      border-top: 0 !important;
      background: rgba(255, 255, 255, 0.05);
      color: #fff !important;
      font-size: 15px;
      font-weight: 850 !important;
    }

    .ta .ct td:not(:first-child)::before {
      display: block;
      margin-bottom: 5px;
      font-size: 10px;
      font-weight: 850;
      line-height: 1.3;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.52);
    }

    .ta .ct td:nth-child(2)::before {
      content: 'Vue.js - Miracuves';
      color: var(--red-l);
    }

    .ta .ct td:nth-child(3)::before {
      content: 'Vue';
    }

    .ta .ct td:nth-child(4)::before {
      content: 'Angular';
    }

    .ta .ct .ch {
      border-left: 0 !important;
      border-right: 0 !important;
      background: rgba(167, 13, 42, 0.08) !important;
    }
  }

  @media(max-width:600px) {
    .ta .stack16 {
      grid-template-columns: repeat(2, 1fr);
    }

    .ta .tc-panel {
      padding: 48px 20px;
    }

    .ta .sgrid,
    .ta .g4,
    .ta .g5 {
      grid-template-columns: 1fr;
    }

    .ta .scard,
    .ta .scrd,
    .ta .vcrd,
    .ta .pcrd,
    .ta .rev-card,
    .ta .fitem {
      border-radius: var(--r14);
    }

    .ta .fadv-row {
      flex-direction: column;
      align-items: flex-start;
      padding: 13px 0;
    }

    .ta .fadv-val {
      font-size: 14px;
    }

    .ta .pb-row {
      flex-direction: column;
      align-items: flex-start;
      gap: 3px;
    }

    .ta .rbar {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }

    .ta .rpill {
      width: 100%;
      padding: 14px 12px;
    }
  }

  @media(max-width:480px) {
    .ta .W {
      padding: 0 16px;
    }

    .ta .S {
      padding: 60px 0;
    }

    .ta .hero {
      padding: 76px 0 100px;
    }

    .ta .hi {
      gap: 34px;
    }

    .ta .hr {
      margin-top: 34px;
    }

    .ta .hh1 {
      font-size: 34px;
      line-height: 1.4;
      letter-spacing: 0;
    }

    .ta .hh1 .h1s {
    display: block;
  }

  .ta .hh1 .dim {
      margin-top: 10px;
      font-size: 0.72em;
      letter-spacing: 0;
    }

    .ta .hdim {
      margin-top: 16px;
      font-size: 20px;
      letter-spacing: 0;
    }

    .ta .hh1 em {
      padding: 0;
      border-radius: 0;
    }

    .ta h2 {
      font-size: 25px;
      letter-spacing: 0;
    }

    .ta .lead {
      font-size: 15.5px;
    }

    .ta .htrust {
      gap: 8px;
      margin: 22px 0;
    }

    .ta .htr {
      width: 100%;
      justify-content: flex-start;
      border-radius: var(--r10);
    }

    .ta .hsr {
      grid-template-columns: 1fr;
    }

    .ta .hsi {
      min-height: 0;
      padding: 15px 16px;
    }

    .ta .hsch {
      padding: 18px 18px 14px;
      align-items: flex-start;
      flex-direction: column;
      gap: 4px;
    }

    /* Hero Stats Card: Rework into perfect 2x2 grid matching Miracuves.com mobile layout */
    .ta .hscg {
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      padding: 24px 16px;
    }

    .ta .hsci {
      border: none !important;
      padding: 0 !important;
      text-align: center;
    }

    .ta .hscn {
      font-size: 26px !important;
      font-weight: 800 !important;
      color: #ffffff !important;
      -webkit-text-fill-color: #ffffff !important;
    }

    .ta .hscll {
      font-size: 9px !important;
      color: rgba(255, 255, 255, 0.6) !important;
      text-transform: uppercase !important;
      letter-spacing: 0.08em !important;
      font-weight: 700 !important;
      margin-top: 3px !important;
    }

    .ta .hshow {
      grid-template-columns: 1fr;
    }

    .ta .hstatus-grid {
      grid-template-columns: 1fr;
    }

    /* Force S02 Trust Bar cards to full width */
    .ta .tbrow {
      max-width: 100%;
    }

    .ta .approach-cards {
      grid-template-columns: 1fr;
    }

    .ta .stack16 {
      grid-template-columns: 1fr;
    }

    .ta .proj-metrics {
      grid-template-columns: 1fr;
      gap: 12px;
    }

    .ta .anote,
    .ta .hnote,
    .ta .wcall {
      padding: 18px 16px;
    }

    .ta .mrow {
      align-items: flex-start;
    }

    .ta .mrow span {
      min-width: 0;
    }

    .ta .ck {
      font-size: 13.8px;
      padding: 6px 0;
    }

    .ta .pcrd {
      padding: 32px 20px;
    }

    .ta .pamt {
      font-size: 34px;
    }

    .ta .vbody,
    .ta .sb,
    .ta .rev-card,
    .ta .cs-grey .testi,
    .ta .cs-grey .proj-brief {
      padding: 22px 18px;
    }

    .ta .fq {
      padding: 20px 18px 0;
      font-size: 15px;
    }

    .ta .faq-a {
      padding: 10px 18px 20px;
      font-size: 13.5px;
    }

    .ta .rbar {
      grid-template-columns: 1fr;
    }

    .ta .ctapr {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      width: 100%;
    }

    .ta .ctar {
      min-width: 0;
    }

    .ta .ctar .btn {
      width: 100%;
      justify-content: center;
      white-space: normal;
      text-align: center;
    }

    /* Hero Button Stacking: full-width block buttons easy for thumbs */
    .ta .hctas {
      flex-direction: column;
      width: 100%;
    }

    .ta .hctas .btn {
      width: 100%;
      justify-content: center;
      padding: 18px 24px;
      font-size: 15px;
    }

    .ta .rcrd {
      width: 100%;
    }
  }

  
  
    
    
    
    
      
      
        [Home](https://miracuves.com/)
        /
        [Services](https://miracuves.com/service/)
        /
        Vue.js Development
      

      
        
        
          
            
              
              **Available Now** · 90+ Readymade Solutions
            
          
          
# Vue.js Development Company

          
Admin Panels · Dashboards · Vue 3

          
Miracuves is an enterprise Vue.js development company. We build production admin panels, dashboards,
            content management systems, and SaaS web apps with Vue 3 Composition API and TypeScript —
            from admin panel bases to real-time analytics dashboards —
            with 100% source code ownership and absolute IP safety on day one.

          
            
                
              9,000+ Delivered
            
                
              3,900+ Store Published
            
                
              100% Source Ownership
            
                
              NDA Day One
          

          
            [WhatsApp — Talk to Our Team](https://wa.me/919830009649)
            [Explore Clone Solutions](https://miracuves.com/schedule-consultation/)
          

          
            Clutch Reviewed 4.9★
            ·
            Starting from $3,699
            ·
            [View live deployments](https://miracuves.com/portfolio/)
          
        

        
        
          
          
            
            
            
              
              
            
            
              
#### Vue 3 · TypeScript

              
Pinia · Composition API · Vite-powered SPAs and admin panels

            
          

          
            
              Miracuves Delivery RecordVue.js Team
              
              
                
                  3–9d
                  Delivery timeline
                
                
                  $3,699
                  Starting price
                
                
                  90+
                  Clone solutions
                
                
                  100%
                  IP assignment
                
              
              
                Vue.js engineers active right now
              
            
          

                    
          
            [FRONTEND FRAMEWORK

              
#### React Development](https://miracuves.com/service/react-development/)
            [WEB APP STACK

              
#### Web App Development](https://miracuves.com/service/web-app-development/)
          

          
          
            
              
                
              
              Vite + Vue DevTools Console
              ACTIVE (Vue 3.5+)
            
            
              
                RENDERER
                Composition API
              
              
                STATE STANDARD
                Pinia / VueUse
              
              
                STATE MGMT
                Typed Pinia stores
              
              
                CI/CD PIPELINE
                GitHub Actions
              
            
          
        
      
    
  

  
  
    
      
        **Admin · Dashboards · CMS**Vue 3 web admin products
        
        **100% Source Code**Delivered to you on handoff
      
    
  

  
  
    
      
        
          
              
              
              
            
          
            
#### White-Label Ready

            
Fully rebrandable on delivery

          
        
        
        
          
              
            
          
            
#### NDA Day One

            
IP protected first call

          
        
        
        
          
              
              
            
          
            
#### Full Source Code

            
Delivered at handoff

          
        
        
        
          
              
              
            
          
            
#### 60-Day Support

            
Post-launch included

          
        
        
        
          
              
              
            
          
            
#### 100% IP Ownership

            
Yours — always

          
        
        
        [#### Clutch Reviewed 4.9★

            
Third-party verified](https://miracuves.com/reviews-awards/)
      
    
  

		
			
				
				
					More than 6,000+ Companies Trust us Worldwide				
				
				
				
					        
            
                
					                            
                                
									                                    
										[![Miracuves Ranked among top 1000 companies globally by Clutch](https://miracuves.com/wp-content/uploads/2024/03/Miracuves-Clutch-top-1000-company.webp "Vue.js Development 1")](https://clutch.co/profile/miracuves-solutions#reviews)                                    
									                                
                            
						                            
                                
									                                    
										[![Miracuves is a top-minus service provider in the United States by Clutch](https://miracuves.com/wp-content/uploads/2024/03/Miracuves-clutch-top-managed-service-provider-US.webp "Vue.js Development 2")](https://clutch.co/profile/miracuves-solutions#reviews)                                    
									                                
                            
						                            
                                
									                                    
										![MediaCube is the best managed IT service provider in New York City by Expertise.com](https://miracuves.com/wp-content/uploads/2024/03/Miracuves-Expertise-Provider.webp "Vue.js Development 3")                                    
									                                
                            
						                            
                                
									                                    
										![MiraQs as an official member of Forbes Business Council ](https://miracuves.com/wp-content/uploads/2024/03/Mircuves-Official-Memeber-Forbes-Council.webp "Vue.js Development 4")                                    
									                                
                            
						                            
                                
									                                    
										[![Miracuves is a verified agency with design rush. ](https://miracuves.com/wp-content/uploads/2024/03/DesignRush-Top-Design-Agencies-in-India.webp "Vue.js Development 5")](https://www.designrush.com/agency/profile/miracuves#reviews)                                    
									                                
                            
						                            
                                
									                                    
										[![MiraQs is ranked as a trustworthy service provider with Trustpilot. ](https://miracuves.com/wp-content/uploads/2025/04/Miracuves-TrustPilot-Top-Software-Development-Company.webp "Vue.js Development 6")](https://www.trustpilot.com/review/miracuves.com)                                    
									                                
                            
						                            
                                
									                                    
										[![Miracuves is one of the top managed service providers, companies by themanifest. ](https://miracuves.com/wp-content/uploads/2025/04/Miracuves-The-Manifest-Top-Managed-Software-Development-Company.webp "Vue.js Development 7")](https://themanifest.com/company/miracuves-solutions)                                    
									                                
                            
						                            
                                
									                                    
										[![Miracuves ranked as a top software development company by Design Rush. ](https://miracuves.com/wp-content/uploads/2025/04/Miracuves-Designrush-Top-Software-Development-Company.webp "Vue.js Development 8")](https://www.designrush.com/agency/profile/miracuves#reviews)                                    
									                                
                            
						                            
                                
									                                    
										[![Miracuves is recognized as top software developed company by goodfirms. ](https://miracuves.com/wp-content/uploads/2025/04/Miracuves-GoodFirms-Top-Software-Development-Company.webp "Vue.js Development 9")](https://www.goodfirms.co/company/miracuves-solution)                                    
									                                
                            
						                
            
			        
						
				
				
				
		

  
  
    
      
        
        
          
            
              **Our Vue.js Approach**
            
          
          
## How Miracuves delivers Vue.js web products — from 9,000+ projects of real experience

          
After deploying 9,000+ projects and publishing 3,900+ apps, Miracuves
            has a specific way of working with Vue.js on the web. We start from production-grade admin panel and dashboard modules —
            already integrated with auth, role management, analytics, payments, and real-time data — not from a blank Vite project.

          
React SPAs and admin panels run in every modern browser — responsive dashboards, customer portals, and internal tools
            from one TypeScript codebase. Miracuves pairs Vue.js web admin with Flutter or React Native mobile clones where products
            need both; full source code is yours on handoff.

          
**Who this service is built for:** SaaS founders, B2B product teams, and marketplace operators who need
            admin panels, customer portals, analytics dashboards, or standalone web apps — not app-store-first mobile products.
            Miracuves Vue.js development fits when you want a company-delivered web build with published pricing and full IP —
            not hire or hourly staffing. If your primary need is iOS/Android clone apps without a web admin, we recommend our
            [Flutter](https://miracuves.com/service/flutter-app-development/) or
            [React Native](https://miracuves.com/service/react-native-development/) services instead.

          
            Vue 3 Composition API with TypeScript strict mode — typed components, composables, and Pinia stores from day one
            Pinia for state management + VueUse composables — predictable reactivity, testable stores and actions
            Role-based access control, audit logs, and responsive layouts for admin panels on desktop and tablet
            GitHub Actions or Vercel CI configured on every project — preview deploys from first pull request
            Production deployment to AWS, Vercel, or your cloud — SSL, environment secrets, and monitoring configured
          

          
            
From our Vue.js team — Singapore EdTech admin panel, 6 weeks

            
"Vue 3 admin panel for an EdTech platform with role-based teacher/student/parent dashboards, real-time grade feeds,
              attendance analytics, and curriculum management — scoped to 6 weeks. We used Vue 3 Composition API, Pinia, Nuxt for SSR,
              and PrimeVue component library. Delivered on week 6 with full TypeScript source code."

          

          
            
              
              
            
            Written by the Miracuves Vue.js Development Team · May 2026 · [View
                Deployed Portfolio →](https://miracuves.com/portfolio/)
          
        

        
        
          
          
            
              2.8M+
              Weekly npm downloads of the react package
            
            
              95%
              Component reuse across admin modules and portals
            
            
              40%
              Lower cost vs separate native development teams
            
            
              600K+
              Vue admin panels in production on AWS and Vercel
            
            
              3–9d
              Miracuves Vue admin panel and SPA sprint timelines
            
            
              SPA
              Largest front-end ecosystem — npm registry
            
          

          
          
            
              
                  
                  
                
              SPA
              Client-side rendered
            
            
              
                  
                  
                
              SSR
              Server-side rendered
            
            
              
                  
                  
                  
                
              Web
              PWA capable
            
          

          
          
            
#### Why Vue.js at Miracuves

            Time to first MVP2–5
                weeks
            Platforms from one codebaseSPAs
                · Admin · Dashboards
            Cost saving vs native teamsUp
                to 40%
            Clone solutions ready to ship90+ solutions
            Ecosystem depthLargest
                npm stack
            Source code ownership100%
                yours
          
        
      
    
  

  
    
    
      
        
          
            
              **Vue.js Admin Panel & Dashboard Builds**
            
          
          
## What Miracuves has deployed — what you can launch today

        
        [View All 90+ Solutions →](https://miracuves.com/solutions/)
      

      
        
                                                        [6 Days
            01
          
          
            
Professional Network

            
### LinkedIn Clone

            
Professional networking platform with jobs, messaging, feed, recommendations, recruiting.

            From $6,699iOS + Android + WebProfessional Network](https://miracuves.com/linkedin-clone/)

        
                                                        [6 Days
            02
          
          
            
Property Mgmt

            
### Buildium Clone

            
Property management platform with tenant portals, maintenance, accounting, leasing.

            From $12,999Web + MobileProperty Mgmt](https://miracuves.com/buildium-clone/)

        
                                                        [6 Days
            03
          
          
            
Personalized Video

            
### Cameo Clone

            
Personalized video marketplace connecting fans with celebrities for custom shoutouts.

            From $2,899iOS + AndroidCeleb Videos](https://miracuves.com/cameo-clone/)

        
                                                        [6 Days
            04
          
          
            
Boat Rental

            
### GetMyBoat Clone

            
Boat and yacht rental marketplace with booking, captain profiles, reviews, payments.

            From $2,899iOS + Android + WebBoat Rental](https://miracuves.com/getmyboat-clone/)

        
                                                        [6 Days
            05
          
          
            
Social Network

            
### Facebook Clone

            
Social networking platform with feed, groups, messaging, events, marketplace.

            From $2,899iOS + Android + WebSocial Network](https://miracuves.com/facebook-clone/)

        
                                                        [6 Days
            06
          
          
            
GLOBAL PAYMENTS

            
### Wise Clone

            
Cross-border payment platform with transfers, multi-currency wallets, cards, and real-time exchange rates.

            From $21,999iOS + Android + WebGLOBAL PAYMENTS](https://miracuves.com/wise-clone/)
      

      **Honest note:** Miracuves uses React for web admin panels, customer portals, and standalone SaaS dashboards. Mobile consumer apps in our clone catalog ship on Flutter or React Native. We pair Vue.js web admin with mobile clones and tell you which stack fits before kickoff.
    
  

  
  
    
    
      
        
          
            **Technology Comparison**
          
        
        
## React vs Vue vs Angular — which is right for your web project?

        
Most development companies avoid this question because
          they only know one stack. Miracuves answers it honestly — your technology choice determines long-term cost,
          performance, and maintenance.

      

      
        
| Metric | React · TypeScript + Vite  
← MIRACUVES DEFAULT | Vue · Composition API | Angular · RxJS |
| --- | --- | --- | --- |
| UI Rendering | Virtual DOM + Concurrent — smooth admin UIs | Compile-time reactivity — lean SFC bundles | Stable enterprise patterns — predictable change detection |
| Code Reuse | Largest npm ecosystem — admin UI libraries | Progressive — gentle learning curve | Structured — opinionated full framework |
| Dev Speed | Fast — Vite HMR, huge hiring pool | Fast — SFC tooling, Nuxt for SSR | Moderate — boilerplate, strong conventions |
| Native API Access | Next.js SSR/SSG when SEO matters | Nuxt SSR/SSG — Vue-native | Angular Universal — enterprise SSR |
| Best For | Admin panels · SaaS · customer portals | Progressive adoption · lighter SPAs | Enterprise forms · large org standards |

      

      
        
          
Choose Vue.js if…

          
You need admin panels, SaaS dashboards, or customer portals · largest hiring pool · Pinia ecosystem · one team owning web delivery.

        
        
          
Consider an alternative if…

          
Your team is committed to Vue or Angular only · you need a mobile-first app-store product without web admin. [See Vue →](https://miracuves.com/service/vue-development/) · [See Angular →](https://miracuves.com/service/angular-development/)

        
      
    
  

  
  
    
      
        
        
          
            
              **Technical Architecture**
            
          
          
## How Miracuves engineers structure Vue.js web projects for production

          
These are the specific decisions our engineering team makes on every
            Vue.js web project — choices that determine whether an admin panel scales cleanly or becomes a prop-drilling mess that needs to
            be rewritten.

          
            
              
### Architecture — Feature Folders + Shared Core

              
src/features/* with colocated components and hooks, src/core for API clients and auth, src/shared for UI primitives.
                Miracuves adds a new admin module — payouts, analytics, content — in days without breaking existing routes.

            
            
              
### State — Pinia + VueUse

              
Pinia owns server state; VueUse handles UI-only state. We ban fetching inside useEffect without query keys
                — the pattern we inherit from rushed React agencies and fix on day one.

            
            
              
### Performance — Memoization, Code Splitting, and Bundle Budgets

              
Route-level code splitting, memoized table rows, and lazy-loaded charts. We profile production bundles with Lighthouse
                and Vue DevTools Profiler — development mode performance is never accepted as final.

            
            
              
                
What most Vue.js agencies get wrong

                
Giant bundle sizes. Fetching in useEffect without caching. No TypeScript strict mode. Secrets in client bundles.
                  No role-based access on admin routes. Miracuves has inherited all of these — starting correctly is faster than cleanup.

              
            
          
        

        
        
          
            
              
              
              
              useOrders.ts — Pinia hook
            
            // Typed data hook for admin order tables
                // Used in marketplace vendor portals + dashboards

              import { useQuery } from '@tanstack/react-query';
              import { api } from '@/core/api';

              export function useOrders(vendorId: string) {
              return useQuery({
              queryKey: ['orders', vendorId],
              queryFn: () => api.getOrders(vendorId),
              staleTime: 30_000,
              });
              }
            
            Typed reactive Pinia stores — keeping admin tables responsive without redundant API calls.
              Used in every Vue 3 marketplace portal and SaaS dashboard Miracuves ships.
          
        
      
    
  

  
  
    
      
        
          
            **Our Service Models**
          
        
        
## Three ways Miracuves delivers your Vue.js web project

        
Every engagement is with Miracuves as a company — a complete team, a
          defined process, and full delivery accountability. Choose the model that matches your project stage.

      

      
        
        
          Most Popular
          
            
              
              
                
                
                  
                  
                  
                  
                
              
              
              
                
                
                  
                  
                  
                  
                
              
              
              
                
                
                  
                  
                  
                  
                
              
              
              Customer
              Driver App
              Admin
            
          
          
            
Admin Panel Base · Fixed Price

            
### Admin Panel Base Delivery

            
Miracuves deploys a production-grade Vue admin panel under your brand — dispatch, analytics,
              or vendor modules — in 2–4 weeks. Source code fully yours.

            Starting from $2,499 — fixed price, no surprises
            90+ solutions matched to your vertical
            Branding, configuration, white-labelling applied
            Admin panel included in every delivery
            Full source code · NDA · 60-day support
          
        

        
        
          
            
              
                
                
                App.tsx
                
                
                
                
                
                
                
                
                Query
                
                Router
                
                Features
                
                
                
                
                
                Hooks
                
                Routes
                
                Components
              
            
          
          
            
Custom Development · Scoped

            
### Custom Vue.js Build

            
Miracuves builds from your specification — custom architecture, custom flows, unique
              features. Full team: engineer, backend, QA, PM.

            Scoped and priced before development begins
            Clean architecture designed specifically for your product
            Weekly sprint demos — working software every sprint
            Production deployment to AWS, Vercel, or your cloud
            Full source code · IP 100% yours
          
        

        
        
          
            
              
                
                  Wk 1
                  
                    
                  
                  
                
                
                  Wk 2
                  
                    
                  
                  
                
                
                  Wk 3
                  
                    
                  
                  
                
                
                  Wk 4
                  
                    
                  
                  
                
              
            
          
          
            
Ongoing Retainer · Monthly

            
### Ongoing Vue.js Development

            
Miracuves works as your ongoing development partner — new features, releases, maintenance
              on a monthly retainer with weekly sprint demos.

            From $2,299/month — cancel with 2 weeks notice
            Dedicated Miracuves team assigned to your product
            Direct communication — no account manager relay
            Weekly sprint demos — deliverables every cycle
            Scales up or down as your product evolves
          
        
      
    
  

  
  
    
    
      
        
          
            **Quality Standards**
          
        
        
## How Miracuves ensures every Vue.js web delivery meets production standard

        
Every project passes through Miracuves' quality gates before handoff —
          not as a checklist, as a non-negotiable delivery standard applied to every codebase we ship.

        
          Clean architecture — Presentation / Domain / Data separatedArchitecture
          Pinia + VueUse — no fetch-in-useEffect antipatternsState
          Lighthouse performance budget on production buildsPerformance
          Physical device QA — tested on real iOS and Android hardwareQA
          CI/CD pipeline — automated builds and tests from day oneDevOps
          No secrets in source — API keys in environment config onlySecurity
          App Store-ready — provisioning, compliance, review passedDelivery
        
      
    

    
    
      
        
          
            **Enforced QA Gates**
          
        
        
## Our 6 Continuous Delivery Gateways

        
Every line of code,
          asset asset, and build profile must successfully clear all six quality control gates before repository
          handoff.

        
          
            01
            
              
#### Code Review on Every Pull Request

              
Every line merged into your main branch is reviewed by a senior Miracuves engineer. No untested code
                reaches your production environment under any circumstances.

            
          
          
            02
            
              
#### Automated Test Coverage Required

              
Unit tests for business logic, widget tests for UI components, and integration tests for critical user
                flows. Minimum coverage enforced before any release build is created.

            
          
          
            03
            
              
#### Release Builds Profiled — Not Debug Builds

              
Miracuves profiles performance using Vue DevTools Profiler and Lighthouse on every production build. Dev mode performance
                is not representative of what users experience and is never accepted as sufficient.

            
          
          
            04
            
              
#### Handoff Package — Not Just a Repository

              
Source code, documentation, environment setup guide, API documentation, deployment credentials, store
                credentials, and post-launch runbook — all included in every project handoff.

            
          
          
            05
            
              
#### App Store Submission — Full Compliance Managed

              
Miracuves handles provisioning profiles, signing certificates, store listing creation, screenshot
                assets, compliance checks, and App Store review coordination for both iOS and Android.

            
          
          
            06
            
              
#### Post-Launch Monitoring — 60-Day Active Support

              
Crashlytics and Firebase Analytics configured pre-launch. Miracuves monitors crash rates and
                performance metrics during the 60-day post-launch support window — proactive, not reactive.

            
          
        
      
    
  

  
  
    
      
        
          
            
              **Technology Stack**
            
          
          
## The Vue.js stack Miracuves ships with

        
        
Matched to your Vue.js web architecture and delivery
          requirements — not a one-size-fits-all default.

      

      
        
          V3
          Vue 3.5+
          Core UI library · Composition API
        
        
          TS
          TypeScript 5.x
          Strict types · shared API contracts
        
        
          Vt
          Vite 6
          Fast dev server · optimized builds
        
        
          VR
          Vue Router 4
          SPA routing · nested layouts
        
        
          Pi
          Pinia
          State management · typed stores
        
        
          VU
          VueUse
          Composables · patterns
        
        
          Tw
          Tailwind CSS
          Utility-first · responsive admin UI
        
        
          PV
          PrimeVue / Element+
          Admin component libraries
        
        
          Nx
          Nuxt 4
          SSR/SSG when SEO required
        
        
          Ax
          Axios / fetch
          Typed API client layer
        
        
          Cj
          Chart.js / ECharts
          Analytics · KPI dashboards
        
        
          Ws
          WebSockets
          Real-time admin updates
        
        
          GH
          GitHub Actions
          CI/CD · preview deploys
        
        
          Vc
          Vercel / AWS
          Production hosting · CDN
        
        
          Sn
          Sentry
          Error tracking · performance
        
        
          Nd
          Node.js API
          Backend · shared types with web
        
      
    
  

  
  
    
      
        
          
            **Our Process**
          
        
        
## From brief to deployed Vue.js web app — what happens and when

        
Every Vue.js engagement follows the same delivery spine — whether you
          start from a readymade clone or a custom spec. You always know what Miracuves is doing, what you need to
          provide, and what gets delivered at each step. Timelines below reflect our standard clone sprint; custom builds
          run milestone-based with the same checkpoints.

      

      
        

          
          
            
            
              
              
            

            
            
              
                
                  
                
              
              
### Brief & NDA

              
Share your concept via WhatsApp. NDA signed same day. We ask 6 specific questions.

            

            
            
              
              Step 01
            
          

          
          
            
            
              
              
            

            
            
              
                
                  
                  
                
              
              
### Scope & Plan

              
Right solution base, stack, and model confirmed. No payment before scope is agreed.

            

            
            
              Step 02
              
            
          

          
          
            
            
              
              
            

            
            
              
                
                  
                  
                  
                
              
              
### Build & Demo

              
Repo created, architecture set. First commit in 24h. Weekly working demo runs.

            

            
            
              
              Step 03
            
          

          
          
            
            
              
              
            

            
            
              
                
                  
                  
                  
                
              
              
### QA & Polish

              
Tested on real iOS/Android devices. Profiles optimized for Store guidelines.

            

            
            
              Step 04
              
            
          

          
          
            
            
              
            

            
            
              
                
                  
                
              
              
### Launch & Handoff

              
Full code and docs delivered. Store submissions handled. 60 days active support.

            

            
            
              
              Step 05
            
          
        
      

      
        **Same Day**NDA turnaround
        **2–5 Weeks**Admin panel sprint
        **24 Hours**First commit after scope
        **60 Days**Post-launch support
      
    
  

  
  
    
      
        
          
            **Transparent Pricing**
          
        
        
## What Vue.js development costs at Miracuves

        
We publish prices because we are confident in what we deliver. No
          "contact us for pricing" pages. No hidden fees after scope is agreed.

      

      
        
        
          
### Readymade Clone

          $2,499
              from
          
Fixed price · 3–9 day delivery · scoped

          
- Vue.js SPA or admin panel — web
- Admin panel included as standard
- Branding and white-label applied
- Full source code on handoff
- 60-day post-launch support
- NDA protected from day one

          [Start a
            Clone Project](https://wa.me/919830009649)
        

        
        
          Most Requested
          
### Custom Vue.js Build

          Custom Quote
          
Scoped before build · milestone billing

          
- Full Vue.js team — frontend + backend + QA
- Custom architecture for your spec
- Weekly sprint demos — working software
- App Store and Play Store submission
- Full source code · complete IP transfer
- Milestone billing — no pay before delivery

          [Get a
            Scope & Quote](https://miracuves.com/contact/)
        

        
        
          
### Ongoing Development

          $2,299/mo
          
Monthly retainer · cancel with 2 weeks notice

          
- Miracuves team assigned to your product
- New features, releases, and maintenance
- Weekly demos and sprint planning
- Direct communication — no relay
- Scales up or down as needed
- All code remains 100% yours

          [Discuss
            Ongoing Work](https://wa.me/919830009649)
        
      

      **Why Miracuves publishes prices:** Clients who
        understand cost upfront make better product decisions. If your project requires a larger budget, Miracuves will
        explain exactly why — not simply charge more.

      
        
          
What affects Vue.js web project cost at Miracuves

          
Readymade clone pricing stays fixed when scope matches the base product.
            Custom Vue.js web builds scale with: number of admin modules (users, analytics, payouts, content), real-time dashboards,
            role-based access complexity, Nuxt SSR requirements, third-party integrations (Stripe, CRM, ERP), multi-tenant scope,
            and whether we extend an existing admin base or build greenfield.

        
        
          
Typical Vue.js web budget ranges

          
**Admin panel base:** from $3,699 · 2–4 weeks.  

            **Custom SPA / SaaS dashboard:** $6,000–$22,000 · 4–8 weeks depending on scope.  

            **Ongoing retainer:** from $2,299/month for feature work and maintenance.  

            Every quote is written before payment — no surprise invoices after kickoff.

        
      
    
  

  
  
    
    
      
        
          
            **Client Reference**
          
        
        
## What a real Vue.js web project looks like at Miracuves

        
A Singapore-based EdTech founder needed a multi-role admin panel for teachers, students, and parents with real-time grade feeds,
          attendance tracking, curriculum management, and analytics dashboards — in Vue 3 and TypeScript — within 6 weeks before a school pilot launch.

        
          
            01
            
              
The Challenge

              
Greenfield Vue 3 build — Pinia stores for state, Vue Router with lazy-loaded routes, PrimeVue DataTables for admin tables,
                and Nuxt for SEO-friendly course catalog pages — scoped to 6 weeks with milestone billing.

            
          
          
            02
            
              
What Miracuves Delivered

              
Structured feature folders with colocated components, Composition API composables for data fetching, Pinia stores for role-based state,
                and shared TypeScript types with their Node backend — deployed to Vercel with GitHub Actions CI.

            
          
          
            03
            
              
Outcome

              
Delivered on week 6. Production on Vercel with staging previews. Admin panel, full source code, and
                App Store submission support all included. Client launched on time for the investor demo.

            
          
        

        
          **5 Weeks**Full delivery
          **2 Stores**Simultaneously
          **100%**Source owned
        
        [View All Case Studies →](https://miracuves.com/portfolio/)
      
    

    
    
      
        
        
          
Client Testimonial

          
"We needed a production admin panel before our school pilot and honestly expected scope creep. Miracuves
            shipped a multi-role Vue 3 panel on time — our teachers adopted it without training docs. The
            Composition API patterns are clean enough that our junior developer extended two modules the following sprint."

          
            JL
            
              
J.L., CTO

              
Singapore EdTech Platform · Admin Panel Launch

            
          
          [⭐ Read Clutch & Google Reviews →](https://miracuves.com/reviews-awards/)
          
        

        
        
          
Project Brief

          Solution usedEdTech Admin Panel
              (Vue 3)
          Delivery timeline6 weeks
          Platforms deliverediOS + Android +
              Admin
          Key integrationsMulti-role · Real-time ·
              PrimeVue · Nuxt
          ComplianceSingapore pilot timeline
          
          Source code100% client-owned
          
        

        
        
          
            25+
            Schools onboarded · Month 1
          
          
            4.8★
            App Store rating
          
          
            60d
            Support included
          
        
      
    
  

  
  
    
      
        
          
            **Client Reviews**
          
        
        
## What clients say about Miracuves Vue.js development

        
Across SaaS admin panels, marketplace vendor portals, and OTT content systems — from solo founders to funded startups — verified on Clutch and Google.

      

      
        
        
          ★★★★★
          
Clutch · EdTech Admin

          
"Miracuves shipped a multi-role Vue 3 admin panel for our school network in six weeks — teacher dashboards,
            student grade views, parent attendance feeds. PrimeVue tables with Pinia state made it feel production-grade from day one.
            Our junior dev extended two modules without any hand-holding. Best admin build we have worked with."

          
            JL
            
              
J.L., CTO

              
Singapore EdTech Platform

            
          
          Vue 3 · Admin Panel · PrimeVue · Pinia
        

        
        
          ★★★★★
          
Google Reviews · Fintech Dashboard

          
"We migrated our legacy jQuery dashboard to Vue 3 with Miracuves — incremental adoption, zero downtime.
            The Composition API patterns are clean, Pinia replaced our chaotic state layer, and Nuxt gave us SEO for public pages.
            Our team of four was productive in Vue within a week. Honest about what we did not need."

          
            RM
            
              
R.M., Head of Engineering

              
Brazil Fintech Dashboard

            
          
          Vue 3 · Dashboard · Migration · Nuxt
        

        
        
          ★★★★★
          
Clutch · Logistics Portal

          
"We needed a shipment tracking admin panel with real-time WebSocket feeds and multi-warehouse views.
            Miracuves built it in Vue 3 with Pinia stores and Tailwind — responsive on desktop and tablet. Five-week delivery.
            Clean TypeScript throughout. Our logistics coordinators adopted it without training docs."

          
            KW
            
              
K.W., Operations Director

              
Germany Logistics Portal

            
          
          Vue 3 · Logistics · WebSocket · Pinia
        
      

      
      
        
          **4.9 / 5.0**
          Clutch average rating
        
        
        
          **4.8 / 5.0**
          Google average rating
        
        
        
          **Top Developer**
          Clutch recognition · 2024–2025
        
        
        [Read All Reviews
          →](https://miracuves.com/reviews-awards/)
      
    
  

  
  
    
      
        
          
            **Related Services**
          
        
        
## Also building with these technologies at Miracuves

      
      
        
        [Cross-Platform Mobile

            
React Native Development](https://miracuves.com/service/react-native-development/)

        
        [SSR / SSG

            
Next.js Development](https://miracuves.com/service/next-js-development/)

        
        [Frontend Framework

            
Vue Development](https://miracuves.com/service/vue-development/)

        
        [Enterprise Frontend

            
Angular Development](https://miracuves.com/service/angular-development/)

        
        [Cross-Platform Mobile

            
Flutter App Development](https://miracuves.com/service/flutter-app-development/)

        
        [Web Products

            
Web App Development](https://miracuves.com/service/web-app-development/)

        
        [Typed JavaScript

            
TypeScript Development](https://miracuves.com/service/typescript-development/)

        
        [Backend API

            
Node.js Development](https://miracuves.com/service/node-js-development/)
      
    
  

  
  
    
      
        
          
            **Frequently Asked**
          
        
        
## Questions about Vue.js development at Miracuves

      

      
        
          
What is the difference between React and React Native at Miracuves?

          
React is for web — SPAs, admin panels, SaaS dashboards, and customer portals in the browser. React Native is for iOS and Android mobile apps. Miracuves uses React for web admin paired with Flutter or React Native mobile clones; we recommend the stack that fits your product before kickoff.

        
        
          
Does Miracuves deliver the full source code?

          
Yes — completely. Miracuves delivers the full Vue.js codebase, repository with complete commit
            history, CI/CD configuration, and deployment credentials, environment configuration, API documentation, and all deployment credentials. Zero lock-in. Your
            team or any other development company can continue the work immediately after handoff.

        
        
          
How fast can a Vue.js web project realistically be delivered?

          
Scoped admin panel bases on our React stack typically ship in 2–4 weeks. Custom React SPAs and SaaS dashboards run 4–8 weeks with milestone billing. Timelines are stated in writing before any payment is requested.

        
        
          
React vs Vue — which does Miracuves recommend?

          
Miracuves defaults to React for admin panels and SaaS dashboards because of ecosystem depth and hiring pool. Vue fits progressive adoption or teams already on Nuxt. We recommend honestly based on your team — not whichever stack we prefer.

        
        
          
Does Miracuves build SSR or Next.js apps?

          
Yes. Miracuves ships client-rendered SPAs with Vite and SSR/SSG with Next.js when SEO, first-load performance, or hybrid rendering matter. SSR is scoped in the quote — not a surprise add-on after kickoff.

        
        
          
What is included in a Vue admin panel delivery?

          
Role-based access, user management, analytics dashboards, order/booking modules, content controls, payout settings, and platform configuration — delivered as a responsive web app. Clone admin bases include standard modules; custom builds scope additional modules in the quote.

        
        
          
Can Miracuves integrate Vue admin with our mobile apps?

          
Yes — standard at Miracuves. We build Vue admin panels that pair with Flutter or React Native mobile clones, sharing API contracts and TypeScript types where possible so web and mobile stay aligned.

        
        
          
How does Miracuves handle NDA, IP, and post-launch support?

          
Bilateral NDA before details are shared. IP assignment confirming 100% client ownership is signed at project start. Every delivery includes 60 days of post-launch support for bugs within agreed scope; feature additions are quoted separately.

        
      
    
  

  
  
    
      
        
        
          
            
              **Get Started**
            
          
          
## Ready to build your Vue.js web product with Miracuves?

          
Tell Miracuves what you are building. We will confirm the right
            solution base, service model, and delivery timeline — in writing, before any commitment is required from
            you.

          
            **9,000+**Projects delivered
            **3–9 Days**MVP delivery
            **100%**Source code yours
            **Same Day**NDA turnaround
          
        

        
        
          [WhatsApp — Start Now](https://wa.me/919830009649)
          [Contact &
              Brief Form](https://miracuves.com/contact/)
          
NDA signed before we discuss your project details

        
      
      
        
          
          
        
        Page reviewed by the Miracuves Vue.js Development Team · Last updated May 2026 · [Clutch & Google Reviews](https://miracuves.com/reviews-awards/)
      
    
  

  (function () {
    var els = document.querySelectorAll('.ta .rev,.ta .revl,.ta .revr,.ta .stag');
    if (!els.length) return;
    var io = new IntersectionObserver(function (entries) {
      entries.forEach(function (e) {
        if (e.isIntersecting) { e.target.classList.add('in'); io.unobserve(e.target); }
      });
    }, { threshold: 0.10, rootMargin: '0px 0px -50px 0px' });
    els.forEach(function (el) { io.observe(el); });

    // Failsafe: After 1.5 seconds, force-reveal any elements that haven't been animated yet
    setTimeout(function () {
      document.querySelectorAll('.ta .rev:not(.in),.ta .revl:not(.in),.ta .revr:not(.in),.ta .stag:not(.in)').forEach(function (el) {
        el.classList.add('in');
      });
    }, 1500);
  })();
