---
title: Angular Development
description: Home         /         Services         /         Angular Development                               Available Now · 90+ Readymade Solutions                     
url: https://miracuves.com/service/angular-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(221, 0, 49, 0.25) 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 Angular CLI 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: 'Angular - Miracuves';
      color: var(--red-l);
    }

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

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

    .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/)
        /
        Angular Development
      

      
        
        
          
            
              
              **Available Now** · 90+ Readymade Solutions
            
          
          
# Angular Development Company

          
Enterprise · Scalable · Standalone Signals

          
Miracuves is an enterprise Angular development company. We build large-scale admin portals, banking dashboards,
            and government service portals with Angular 18 and standalone Signals — from enterprise admin panels to
            banking compliance 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/)
          
        

        
        
          
          
            
            
            
              
              
              
            
            
              
#### Angular 18 · Standalone

              
Signals · RxJS · Enterprise-grade architecture for large-scale portals

            
          

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

                    
          
            [JAVASCRIPT STACK

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

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

          
          
            
              
                
                
              
              Angular CLI Console
              ACTIVE (Angular 18)
            
            
              
                RENDERER
                Ivy Renderer
              
              
                STATE STANDARD
                RxJS / NgRx
              
              
                ARCHITECTURE
                Standalone Signals
              
              
                CI/CD PIPELINE
                Angular CLI
              
            
          
        
      
    
  

  
  
    
      
        **Admin · Banking · Gov**Enterprise-scale web portals
        
        **60+ Angular Apps**Portals deployed by Miracuves
        
        **RxJS · NgRx**Our enforced async standard
        
        **3–6 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 "Angular 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 "Angular 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 "Angular 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 "Angular 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 "Angular 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 "Angular 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 "Angular 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 "Angular 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 "Angular Development 9")](https://www.goodfirms.co/company/miracuves-solution)                                    
									                                
                            
						                
            
			        
						
				
				
				
		

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

          
After deploying 9,000+ projects and publishing 3,900+ apps, Miracuves
            has a specific way of working with Angular 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 Angular CLI project.

          
Angular's strict TypeScript architecture delivers enterprise-scale admin portals, banking dashboards, and government service portals
            from one codebase. Miracuves pairs Angular web admin with Flutter or React Native mobile clones where products
            need both; full source code is yours on handoff.

          
**Who this service is built for:** Enterprise founders, banking product teams, and government agencies who need
            large-scale admin portals, banking dashboards, or government service portals — not rapid MVPs. Miracuves Angular 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 a fast MVP without complex architecture, we recommend our [React](https://miracuves.com/service/react-development/) service instead.

          
            Angular 18 with standalone components and Signals — reactive state without zone.js boilerplate from day one
            RxJS for async data + NgRx for complex state — predictable data flow, testable observables
            Role-based access control, audit logging, and enterprise-grade security for admin portals on desktop and tablet
            GitHub Actions or Azure DevOps CI configured on every project — preview deploys from first pull request
            Production deployment to AWS, Azure, or your cloud — SSL, environment secrets, and APM monitoring configured
          

          
            
From our Angular team — UAE Government service portal, 10 weeks

            
"Government service portal with ARIA compliance, Arabic RTL support, role-based citizen access, and real-time status
              updates — scoped to ten weeks. We used Angular 18 standalone components, Signals for reactive state, Angular Material
              for accessibility, and NgRx for cross-module state. Delivered on week 10."

          

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

        
        
          
          
            
              2.8M+
              Monthly npm downloads of the @angular/core package
            
            
              95%
              Component reuse across admin modules and portals
            
            
              40%
              Lower cost vs separate native development teams
            
            
              600K+
              Angular admin portals in production on AWS and Azure
            
            
              3–9d
              Miracuves Angular admin and portal sprint timelines
            
            
              ENT
              Enterprise framework — Google Trends, 5 years
            
          

          
          
            
              
                  
                  
                
              SPA
              Client-side rendered
            
            
              
                  
                  
                
              SSR
              Server-side rendered
            
            
              
                  
                  
                  
                
              PWA
              Installable web app
            
          

          
          
            
#### Why Angular at Miracuves

            Time to first MVP3–6
                weeks
            Platforms from one codebaseAdmin
                · Banking · Gov
            Cost saving vs native teamsUp
                to 40%
            Clone solutions ready to ship90+ solutions
            Architecture scaleEnterprise
                ready
            Source code ownership100%
                yours
          
        
      
    
  

  
    
    
      
        
          
            
              **Angular Enterprise Portal Builds**
            
          
          
## What Miracuves has deployed — what you can launch today

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

      
        
                                                [6 Days
            01
          
          
            
Website Builder

            
### Wix Clone

            
Drag-and-drop website builder with customizable templates, hosting, custom domains.

            From $2,899WebDrag & Drop](https://miracuves.com/wix-clone/)

        
                                                [6 Days
            02
          
          
            
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
            03
          
          
            
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
            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
          
          
            
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
            06
          
          
            
Food Delivery

            
### UberEats Clone

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

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

      **Honest note:** Miracuves uses Angular for large-scale enterprise admin panels, banking dashboards, and government portals where strict architecture and TypeScript matter. For faster MVPs, we recommend React. We pair Angular web admin with Flutter or React Native mobile clones and tell you which stack fits before kickoff.
    
  

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

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

      

      
        
| Metric | Angular · TS + Signals  
← MIRACUVES DEFAULT | React · TS + TanStack | Vue · Composition API |
| --- | --- | --- | --- |
| UI Rendering | Ivy + Signals — enterprise-scale rendering | Virtual DOM — flexible but manual | Compile-time reactivity — lean bundles |
| Code Reuse | Full framework — routing, forms, state built-in | Library — choose your stack | Progressive — gentle learning curve |
| Dev Speed | Structured — conventions, strict TypeScript | Fast — flexible, rapid prototyping | Moderate — SFC tooling, Nuxt for SSR |
| Native API Access | Angular Universal — enterprise SSR | Next.js SSR/SSG — React-native | Nuxt SSR/SSG — Vue-native |
| Best For | Enterprise portals · banking dashboards | Rapid MVPs · flexible stack | Progressive adoption · lighter SPAs |

      

      
        
          
Choose Angular if…

          
You need enterprise-scale admin panels, banking dashboards, or government portals · strict TypeScript architecture · built-in routing, forms, state · multi-year maintainability.

        
        
          
Consider an alternative if…

          
Your team needs a fast MVP without complex architecture · you're committed to React or Vue only · product is mobile-first without web admin. [See React →](https://miracuves.com/service/react-development/) · [See Vue →](https://miracuves.com/service/vue-development/)

        
      
    
  

  
  
    
      
        
        
          
            
              **Technical Architecture**
            
          
          
## How Miracuves engineers structure Angular web projects for production

          
These are the specific decisions our engineering team makes on every
            Angular project — choices that determine whether an admin portal scales cleanly or becomes a spaghetti modules mess that needs to
            be rewritten.

          
            
              
### Architecture — Module Boundaries + Standalone Components

              
Feature modules with clear boundaries. Standalone components eliminate NgModules boilerplate. Every
                module owns its components, services, and state independently. This is how Miracuves adds a new admin module in days without breaking existing routes.

            
            
              
### State — RxJS for Async, NgRx for Complex State

              
RxJS handles async data streams; NgRx manages complex cross-module state. We ban manual DOM manipulation or
                imperative state patterns — the problems we inherit from rushed Angular agencies and fix on day one.

            
            
              
### Performance — Signals, OnPush, and Bundle Budgets

              
OnPush change detection on every component. Signals for fine-grained reactivity. We profile production bundles with Lighthouse
                and Angular DevTools — development mode performance is never accepted as final.

            
            
              
                
What most Angular agencies get wrong

                
Giant bundles. No OnPush. Zone.js running everything. No strict TypeScript. Secrets in client bundles.
                  No feature module boundaries. Miracuves has inherited all of these — starting correctly is faster than cleanup.

              
            
          
        

        
        
          
            
              
              
              
              admin-dashboard.component.ts — Standalone Component
            
            // Native bridge for background GPS tracking
                // Used in Uber Clone + all on-demand products

              class LocationBridge {
              static const MethodChannel _ch =
              MethodChannel('com.miracuves/location');

              Future<void> startTracking({
              required double lat,
              required double lng,
              }) async {
              try {
              await _ch.invokeMethod('startTracking', {
              'lat': lat,
              'lng': lng,
              });
              } on PlatformException catch
              (e) {
              debugPrint('Bridge: ${e.message}');
              }
              }
              }
            
            Standalone components with Signals eliminate NgModules boilerplate while maintaining type safety. OnPush change detection
              keeps admin dashboards responsive at scale. Used in every Angular enterprise portal Miracuves ships.
          
        
      
    
  

  
  
    
      
        
          
            **Our Service Models**
          
        
        
## Three ways Miracuves delivers your Angular web project

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

      

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

            
### Admin Panel Base Delivery

            
Miracuves deploys a production-grade Angular admin panel under your brand — enterprise,
              banking, or government modules — in 3–6 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
          
        

        
        
          
            
              
                
                
                AppModule
                
                
                
                
                
                
                
                
                RxJS
                
                Services
                
                Components
                
                
                
                
                
                Streams
                
                API / State
                
                Templates
              
            
          
          
            
Custom Development · Scoped

            
### Custom Angular 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, Azure, or your cloud
            Full source code · IP 100% yours
          
        

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

            
### Ongoing Angular 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 Angular web delivery meets production standard

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

        
          Clean architecture — Presentation / Domain / Data separatedArchitecture
          RxJS + NgRx — no imperative state patternsState
          OnPush + Signals — efficient change detectionPerformance
          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 Angular 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 Angular stack Miracuves ships with

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

      

      
        
          A18
          Angular 18
          Core framework · Standalone Signals
        
        
          TS
          TypeScript 5.x
          Strict types · shared API contracts
        
        
          Rx
          RxJS 7
          Async data streams · observables
        
        
          Ng
          NgRx
          Complex state · cross-module
        
        
          AM
          Angular Material
          Accessible · enterprise components
        
        
          Rx
          RxForm
          Reactive forms · validation
        
        
          Au
          Angular Universal
          SSR for SEO · gov portals
        
        
          Ax
          Axios / HttpClient
          Typed API client layer
        
        
          Jw
          Jest / Karma
          Unit tests · E2E testing
        
        
          Ws
          WebSockets
          Real-time admin updates
        
        
          GH
          GitHub Actions
          CI/CD · preview deploys
        
        
          Aw
          Azure / AWS
          Production hosting · CDN
        
        
          Sn
          Sentry
          Error tracking · performance
        
        
          Nd
          Node.js API
          Backend · shared types with web
        
        
          Zj
          zone.js
          Async change detection
        
        
          Ix
          Ivy Renderer
          Fast rendering · tree-shaking
        
      
    
  

  
  
    
      
        
          
            **Our Process**
          
        
        
## From brief to deployed Angular web app — what happens and when

        
Every Angular web 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
        **3–6 Weeks**Admin panel sprint
        **24 Hours**First commit after scope
        **60 Days**Post-launch support
      
    
  

  
  
    
      
        
          
            **Transparent Pricing**
          
        
        
## What Angular 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

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

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

        
        
          Most Requested
          
### Custom Angular Build

          Custom Quote
          
Scoped before build · milestone billing

          
- Full Angular 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 Angular web project cost at Miracuves

          
Readymade clone pricing stays fixed when scope matches the base product.
            Custom Angular web builds scale with: number of admin modules (users, analytics, payouts, content), role-based access complexity, compliance requirements (banking, healthcare, government), Angular Universal SSR needs, third-party integrations (payment gateways, ERP, CRM), and multi-tenant scope.

        
        
          
Typical Angular web budget ranges

          
**Admin panel base:** from $4,999 · 3–6 weeks.  

            **Custom portal / dashboard:** $8,000–$35,000 · 6–14 weeks depending on scope.  

            **Ongoing retainer:** from $3,699/month for feature work and maintenance.  

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

        
      
    
  

  
  
    
    
      
        
          
            **Client Reference**
          
        
        
## What a real Angular web project looks like at Miracuves

        
A UAE government agency needed an ARIA-compliant service portal with Arabic RTL support, citizen dashboards,
          role-based access for government staff, and real-time status updates for public services — within 10 weeks before launch.

        
          
            01
            
              
The Challenge

              
Greenfield Angular build — feature modules with clear boundaries, standalone components eliminating NgModules boilerplate,
                Angular Material for accessibility compliance, RxJS for async state, and Angular Universal for government portal SEO.

            
          
          
            02
            
              
What Miracuves Delivered

              
Structured feature modules, used Angular 18 standalone components with Signals for reactive state, implemented
                RxJS observables for real-time updates, integrated Angular Material ARIA components, and deployed Angular Universal for SEO — deployed to AWS with GitHub Actions CI.

            
          
          
            03
            
              
Outcome

              
Delivered on week 10. 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.

            
          
        

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

    
    
      
        
        
          
Client Testimonial

          
"We needed a government portal that met strict accessibility and compliance standards within ten weeks. Miracuves
            delivered an ARIA-compliant Angular portal with Arabic RTL and role-based citizen access on time — our engineers recognized
            the strict TypeScript architecture immediately and the Signals implementation was production-grade."

          
            KA
            
              
K.A., Director

              
UAE Government Agency · Service Portal Launch

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

        
        
          
Project Brief

          Solution usedGovernment Portal
              (Angular)
          Delivery timeline10 weeks
          Platforms deliverediOS + Android +
              Admin
          Key integrationsARIA · RTL ·
              Signals · RBAC
          ComplianceGovernment accessibility compliance
          
          Source code100% client-owned
          
        

        
        
          
            25K+
            Citizens · Month 1
          
          
            4.8★
            App Store rating
          
          
            60d
            Support included
          
        
      
    
  

  
  
    
      
        
          
            **Client Reviews**
          
        
        
## What clients say about Miracuves Angular development

        
Across government portals, enterprise ERPs, and manufacturing dashboards — from government agencies to
          enterprise teams — verified on Clutch and Google.

      

      
        
        
          ★★★★★
          
Clutch · Government Portal

          
"Miracuves built an ARIA-compliant government service portal with Arabic RTL and strict role-based access. The Angular
            architecture with standalone components and Signals was exactly what our accessibility audit required. Delivered on
            week 10 — our citizens were using it day one."

          
            KA
            
              
K.A., Director

              
Government Service Portal · Dubai, UAE

            
          
          Angular · Government · ARIA · RTL · Signals
        

        
        
          ★★★★★
          
Google Reviews · Enterprise ERP

          
"We needed an enterprise ERP admin dashboard with 20+ modules and strict audit logging. Miracuves delivered
            a full Angular system with NgRx state management and role-based permissions in 12 weeks. RxJS made our data
            flows observable and debuggable. Honest about using React for MVPs where needed."

          
            RM
            
              
R.M., CTO

              
Enterprise ERP · Mumbai, India

            
          
          Angular · ERP · NgRx · RxJS · RBAC
        

        
        
          ★★★★★
          
Clutch · Manufacturing Dashboard

          
"Our manufacturing floor dashboard needed real-time production metrics and Japanese language support. Miracuves
            built an Angular portal with RxJS observables for live data streams and Angular Material for accessibility.
            Clean architecture — our maintenance team extended it without handholding."

          
            TY
            
              
T.Y., Engineering Manager

              
Manufacturing Dashboard · Tokyo, Japan

            
          
          Angular · Manufacturing · RxJS · Real-time · A11y
        
      

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

      
      
        
        [Frontend Library

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

        
        [SSR / SSG

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

        
        [Frontend Framework

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

        
        [Typed JavaScript

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

        
        [Cross-Platform Mobile

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

        
        [Web Products

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

        
        [Backend API

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

        
        [Cross-Platform Mobile

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

  
  
    
      
        
          
            **Frequently Asked**
          
        
        
## Questions about Angular development at Miracuves

      

      
        
          
What is the difference between Angular and React at Miracuves?

          
Angular is a full framework with built-in routing, forms, and state management — ideal for large-scale enterprise
            admin panels and government portals. React is a library with more flexibility. Miracuves uses Angular for enterprise-scale
            projects with strict architecture; React for faster MVPs. We recommend the stack that fits your project scale.

        
        
          
Does Miracuves deliver the full source code?

          
Yes — completely. Miracuves delivers the full Angular 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 an Angular web project realistically be delivered?

          
Scoped admin panel bases on our Angular stack typically ship in 3–6 weeks. Custom Angular portals and
            banking dashboards run 6–14 weeks with milestone billing. All timelines are stated in writing before any payment is requested.

        
        
          
Angular vs React — which does Miracuves recommend?

          
Miracuves recommends Angular for large-scale enterprise admin portals and government portals where strict TypeScript
            and built-in architecture matter. React is better for faster MVPs and rapid prototyping. We recommend honestly based on
            your project scale — not whichever stack we prefer.

        
        
          
Does Miracuves build Angular apps with SSR?

          
Yes. Miracuves ships client-rendered Angular SPAs and SSR with Angular Universal when SEO, first-load performance,
            or server-side rendering matters for government or banking portals. SSR is scoped in the quote — not a surprise add-on after kickoff.

        
        
          
What is included in an Angular admin panel delivery?

          
Role-based access, user management, analytics dashboards, audit logging, Angular Material components, and platform
            configuration — delivered as a responsive web app. Clone admin bases include standard modules; custom builds scope additional modules in the quote.

        
        
          
How does Miracuves handle async data in Angular?

          
Miracuves uses RxJS observables for async data streams and NgRx for complex cross-module state management. Signals provide
            fine-grained reactivity for component state. We ban manual DOM manipulation or imperative state patterns — the problems
            we inherit from rushed Angular agencies.

        
        
          
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 Angular web portal 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 Angular 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);
  })();
