---
title: Web App Development
description: Home         /         Services         /         Web App Development                               Available Now · 90+ Readymade Solutions                     
url: https://miracuves.com/service/web-app-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 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: 'React - 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/)
        /
        Web App Development
      

      
        
        
          
            
              
              **Available Now** · 90+ Readymade Solutions
            
          
          
# Web App Development Company

          
Dashboards · Portals · SaaS Products

          
Miracuves is an enterprise Web app development company. We build production SPAs, admin panels, customer portals,
            and SaaS dashboards with React 19 and TypeScript — from Uber-style dispatch consoles to 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/)
          
        

        
        
          
          
            
            
            
              
              
              
              
              
              
              
              
              
              
              
              
            
            
              
#### React 19 · TypeScript

              
TanStack Query · Pinia · Vite-powered SPAs and admin panels

            
          

          
            
              Miracuves Delivery RecordWeb App Team
              
              
                
                  3–9d
                  Delivery timeline
                
                
                  $3,699
                  Starting price
                
                
                  90+
                  Clone solutions
                
                
                  100%
                  IP assignment
                
              
              
                Web app engineers active right now
              
            
          

                    
          
            [FRONTEND STACK

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

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

          
          
            
              
                
                
                
              
              DevTools Console
              ACTIVE (React 19)
            
            
              
                RENDERER
                Concurrent Mode
              
              
                STATE STANDARD
                TanStack Query / Pinia
              
              
                DATA LAYER
                Typed API hooks
              
              
                CI/CD PIPELINE
                GitHub Actions
              
            
          
        
      
    
  

  
  
    
      
        **SPAs · Admin · Portals**Browser-first Web app products
        
        **80+ React Web Apps**Admin panels shipped by Miracuves
        
        **TanStack Query · Pinia**Our enforced data & state standard
        
        **2–5 Weeks**Typical admin panel sprint
        
        **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 "Web App 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 "Web App 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 "Web App 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 "Web App 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 "Web App 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 "Web App 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 "Web App 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 "Web App 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 "Web App Development 9")](https://www.goodfirms.co/company/miracuves-solution)                                    
									                                
                            
						                
            
			        
						
				
				
				
		

  
  
    
      
        
        
          
            
              **Our React Approach**
            
          
          
## How Miracuves delivers Web app 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 React 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.

          
Web Apps and admin panels run in every modern browser — responsive dashboards, customer portals, and internal tools
            from one TypeScript codebase. Miracuves pairs Web app 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 Web app 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.

          
            React 19 with TypeScript strict mode — typed components, hooks, and API layers from day one
            TanStack Query for server state + Pinia for UI state — predictable data flow, testable hooks
            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 React team — US fintech SaaS analytics dashboard, 5 weeks

            
"Multi-tenant analytics dashboard with role-based views, GDPR-aware data export, and live KPI widgets — scoped to
              five weeks. We used React 19, TanStack Query, Recharts, and Pinia; shared TypeScript types with their Node API.
              Delivered on week 5 for their Series A data room."

          

          
            
              
              
            
            Written by the Miracuves Web App 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+
              Web app admin panels in production on AWS and Vercel
            
            
              3–9d
              Miracuves Web app admin and SPA sprint timelines
            
            
              SPA
              Largest front-end ecosystem — npm registry
            
          

          
          
            
              
                  
                  
                
              PWA
              Installable web app
            
            
              
                  
                  
                
              Responsive
              Mobile-first UI
            
            
              
                  
                  
                  
                
              Web
              PWA capable
            
          

          
          
            
#### Why React 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
          
        
      
    
  

  
    
    
      
        
          
            
              **React Web Admin & Dashboard Builds**
            
          
          
## What Miracuves has deployed — what you can launch today

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

      
        
                                                        [6 Days
            01
          
          
            
Short Video

            
### TikTok Clone

            
Scrollable short-video feeds, creator monetization, viral challenges, AI recommendations.

            From $4,899iOS + AndroidCreator Dashboard](https://miracuves.com/tiktok-clone/)

        
                                                        [6 Days
            02
          
          
            
Food Delivery

            
### UberEats Clone

            
Real-time order tracking, restaurant dashboards, delivery partner interfaces.

            From $3,3993 AppsMulti-Restaurant](https://miracuves.com/ubereats-clone/)

        
                                                        [6 Days
            03
          
          
            
Rental Marketplace

            
### Airbnb Clone

            
Property listings with dynamic pricing, booking calendar, guest reviews.

            From $3,399iOS + Android + WebBooking Engine](https://miracuves.com/airbnb-clone/)

        
                                                        [6 Days
            04
          
          
            
E-commerce

            
### Amazon Clone

            
Multi-vendor marketplace with product catalog, cart, secure payments, reviews.

            From $2,899iOS + AndroidMulti-Vendor](https://miracuves.com/amazon-clone/)

        
                                                        [6 Days
            05
          
          
            
Streaming

            
### Netflix Clone

            
Video streaming platform with tiered subscriptions, user profiles, content library.

            From $3,699iOS + Android + WebMulti-Profile](https://miracuves.com/netflix-clone/)

        
                                                        [6 Days
            06
          
          
            
Ride-Hailing

            
### inDrive Clone

            
Ride-hailing platform with fare negotiation, real-time tracking, driver ratings.

            From $2,899iOS + AndroidNegotiation](https://miracuves.com/indrive-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 Web app admin with mobile clones and tell you which stack fits before kickoff.
    
  

  
  
    
    
      
        
          
            **Technology Comparison**
          
        
        
## Web App vs Native Mobile vs React Native — which is right for your 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 | Web App · React + Node  
← 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 React if…

          
You need admin panels, SaaS dashboards, or customer portals · largest hiring pool · TanStack Query 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 Web app projects for production

          
These are the specific decisions our engineering team makes on every
            Web app 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 — TanStack Query + Pinia

              
TanStack Query owns server state; Pinia 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 DevTools Profiler — development mode performance is never accepted as final.

            
            
              
                
What most React 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 — TanStack Query 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,
              });
              }
            
            Caches server data with typed query keys — keeping admin tables responsive without redundant API calls.
              Used in every React marketplace portal and SaaS dashboard Miracuves ships.
          
        
      
    
  

  
  
    
      
        
          
            **Our Service Models**
          
        
        
## Three ways Miracuves delivers your Web app 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 Web app 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 React 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 Web App 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 Web app 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
          TanStack Query + Pinia — 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 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 React stack Miracuves ships with

        
        
Matched to your Web app architecture and delivery
          requirements — not a one-size-fits-all default.

      

      
        
          R19
          React 19
          Core UI library · concurrent features
        
        
          TS
          TypeScript 5.x
          Strict types · shared API contracts
        
        
          Vt
          Vite 6
          Fast dev server · optimized builds
        
        
          RR
          React Router 7
          SPA routing · nested layouts
        
        
          TQ
          TanStack Query
          Server state · cache · mutations
        
        
          Zs
          Pinia
          Lightweight UI state
        
        
          Tw
          Tailwind CSS
          Utility-first · responsive admin UI
        
        
          Sh
          shadcn/ui
          Accessible components · dashboards
        
        
          Nx
          Next.js 15
          SSR/SSG when SEO required
        
        
          Ax
          Axios / fetch
          Typed API client layer
        
        
          Rc
          Recharts
          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 Web app app — what happens and when

        
Every Web app 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 Web app 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

          
- Web App 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 React Build

          Custom Quote
          
Scoped before build · milestone billing

          
- Full React 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 Web app project cost at Miracuves

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

        
        
          
Typical Web app 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 Web app project looks like at Miracuves

        
An EU-based B2B SaaS founder needed a multi-tenant analytics dashboard with role-based KPI views, GDPR-aware data
          export, and live usage metrics — in React and TypeScript — within 5 weeks before a Series A data room.

        
          
            01
            
              
The Challenge

              
Greenfield React build — tenant isolation, admin roles, Recharts dashboards, TanStack Query data layer,
                and audit logging — scoped to 5 weeks with milestone billing.

            
          
          
            02
            
              
What Miracuves Delivered

              
Structured feature folders, React Router nested layouts, Pinia for UI filters, TanStack Query for metrics APIs,
                and shared TypeScript types with their Node backend — deployed to AWS with GitHub Actions CI.

            
          
          
            03
            
              
Outcome

              
Delivered on week 5. Production on AWS 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 credible analytics product for our Series A data room and assumed five weeks was optimistic. Miracuves
            shipped a multi-tenant React dashboard on time — our engineers recognised the TypeScript patterns immediately and
            extended two chart modules themselves the following sprint."

          
            MV
            
              
M.V., Co-Founder

              
US fintech SaaS · Analytics Dashboard

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

        
        
          
Project Brief

          Solution usedB2B SaaS Analytics
              (React)
          Delivery timeline5 weeks
          Platforms deliverediOS + Android +
              Admin
          Key integrationsMulti-tenant · GDPR ·
              Recharts · RBAC
          ComplianceEU GDPR data export
          
          Source code100% client-owned
          
        

        
        
          
            40+
            Enterprise tenants · Month 1
          
          
            4.8★
            App Store rating
          
          
            60d
            Support included
          
        
      
    
  

  
  
    
      
        
          
            **Client Reviews**
          
        
        
## What clients say about Miracuves Web app development

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

      

      
        
        
          ★★★★★
          
Clutch · B2B SaaS Admin

          
"Miracuves rebuilt our internal ops dashboard in React with role-based views our previous vendor never got right.
            TanStack Query made our data tables feel instant. Shipped in four weeks — our CS team adopted it without training docs."

          
            SK
            
              
S.K., VP Product

              
B2B SaaS · Austin, USA

            
          
          React · Admin Panel · TanStack Query · RBAC
        

        
        
          ★★★★★
          
Google Reviews · Marketplace Platform

          
"We needed a vendor portal for 200+ sellers — catalog uploads, order queues, payout statements. Miracuves delivered
            a responsive React portal in three weeks. Vendors on tablets and desktops both work. Honest about pairing it with Flutter mobile apps."

          
            PR
            
              
P.R., Founder

              
Multi-Vendor Marketplace · Sydney, Australia

            
          
          React · Vendor Portal · Marketplace · Payouts
        

        
        
          ★★★★★
          
Clutch · OTT Content Admin

          
"Our content team needed a Netflix-style CMS — catalogue regions, DRM flags, subscription tiers. Miracuves built the
            Web app admin in five weeks while consumer apps stayed on Flutter. Full source code handoff; our editors were publishing day one."

          
            LN
            
              
L.N., Head of Content

              
Streaming Platform · Stockholm, Sweden

            
          
          React · OTT Admin · CMS · DRM · Multi-Region
        
      

      
      
        
          **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/)

        
        [Multi-Platform

            
Cross-Platform App Development](https://miracuves.com/service/cross-platform-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 Web app 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 React 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 Web app project realistically be delivered?

          
Scoped admin panel bases on our React stack typically ship in 2–4 weeks. Custom Web Apps 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 Web app 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 Web app admin with our mobile apps?

          
Yes — standard at Miracuves. We build Web app 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 Web app 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 Web App 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);
  })();
