    :root{
      --traffic-accent:#2d7f91;
      --traffic-accent-soft:#edf6f7;
      --traffic-sand:#f7f1e7;
      --traffic-shadow:0 12px 30px rgba(15, 23, 42, 0.08);
    }

    .traffic-card{
      border:1px solid rgba(15, 23, 42, 0.08);
      box-shadow:var(--traffic-shadow);
      transition:transform 0.25s ease, box-shadow 0.25s ease;
      animation:fadeInUp 0.6s ease both;
      animation-delay:var(--delay, 0s);
    }

    .traffic-card:hover{
      transform:translateY(-4px);
      box-shadow:0 18px 45px rgba(15, 23, 42, 0.14);
    }

    .traffic-icon{
      width:48px;
      height:48px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:14px;
      background:var(--traffic-accent-soft);
      color:var(--traffic-accent);
      font-size:1.5rem;
    }

    .traffic-link{
      font-weight:600;
      text-decoration:none;
      color:var(--traffic-accent);
    }

    .traffic-link:hover{
      color:#1b5f6b;
      text-decoration:underline;
    }

    .traffic-map{
      min-height:320px;
    }

    @keyframes fadeInUp{
      from{
        opacity:0;
        transform:translateY(18px);
      }

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

    @media (prefers-reduced-motion: reduce){
      .traffic-card{
        animation:none;
      }
    }

    [v-cloak]{
      display:none;
    }
