    body {
      font-family: "DM Sans", sans-serif;
      margin: 0;
      padding: 0;
      background: #0b0e17;
      color: #fff;
    }

    .section {
      padding: 80px 20px;
    }

    main#contenido .container {
      max-width: 1280px;
      margin: 0 auto;
    }

    main#contenido .container > h1 {
      font-size: 4.2rem;
      margin-bottom: 10px;
      animation: fadeIn 0.8s ease forwards;
      opacity: 0;
      line-height: 1.1;
    }

    .subtitle {
      font-size: 1.55rem;
      color: #b8b8c8;
      max-width: 760px;
      margin-bottom: 40px;
      animation: fadeIn 1s ease forwards;
      opacity: 0;
    }

    .subtitle.service-page-tagline {
      margin-bottom: 14px;
    }

    .service-page-lead {
      font-size: 1.35rem;
      color: #c7c7d4;
      line-height: 1.75;
      max-width: 72ch;
      margin: 0 0 42px;
      opacity: 0;
      animation: fadeIn 1s ease 0.08s forwards;
    }

    .services-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
      gap: 30px;
    }

    .service-card {
      background: #141824;
      border-radius: 22px;
      padding: 38px 34px;
      border: 1px solid rgba(255,255,255,0.06);
      box-shadow: 0 10px 30px rgba(0,0,0,0.4);
      position: relative;
      overflow: hidden;
      transform: translateY(20px);
      opacity: 0;
      animation: floatUp 0.8s ease forwards;
    }

    .service-card:nth-child(1) { animation-delay: 0.1s; }
    .service-card:nth-child(2) { animation-delay: 0.2s; }
    .service-card:nth-child(3) { animation-delay: 0.3s; }
    .service-card:nth-child(4) { animation-delay: 0.4s; }
    .service-card:nth-child(5) { animation-delay: 0.5s; }
    .service-card:nth-child(6) { animation-delay: 0.6s; }
    .service-card:nth-child(7) { animation-delay: 0.7s; }
    .service-card:nth-child(8) { animation-delay: 0.8s; }
    .service-card:nth-child(9) { animation-delay: 0.9s; }
    .service-card:nth-child(10) { animation-delay: 1s; }
    .service-card:nth-child(11) { animation-delay: 1.1s; }
    .service-card:nth-child(12) { animation-delay: 1.2s; }

    .icon {
      font-size: 48px;
      margin-bottom: 14px;
      display: inline-block;
      transition: transform 0.3s ease;
    }

    .service-card:hover .icon {
      transform: scale(1.15) rotate(4deg);
    }

    .services-grid h3 {
      margin: 0 0 10px;
      font-size: 2rem;
      line-height: 1.2;
    }

    .services-grid p {
      margin: 0;
      color: #c7c7d4;
      line-height: 1.72;
      font-size: 1.28rem;
    }


    /* Variante elegida: Borde izquierdo ancho + mismo lenguaje en borde inferior */
    body.service-web-test-2 .services-grid {
      gap: 28px;
    }
    body.service-web-test-2 .service-card {
      background: #F7E9DC;
      border: 1px solid rgba(20,24,36,0.18);
      border-radius: 20px;
      box-shadow: 0 12px 24px rgba(0,0,0,0.16);
      padding: 36px 32px 34px;
      transform: translateY(20px);
      transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.25s ease;
    }
    body.service-web-test-2 .service-card::before,
    body.service-web-test-2 .service-card::after {
      content: "";
      position: absolute;
      pointer-events: none;
      background: #141824;
      transition: background-color 0.25s ease;
    }
    body.service-web-test-2 .service-card::before {
      left: 0;
      top: 10px;
      bottom: 10px;
      width: 6px;
      border-radius: 999px;
    }
    body.service-web-test-2 .service-card::after {
      left: 10px;
      right: 10px;
      bottom: 0;
      height: 6px;
      border-radius: 999px;
    }
    body.service-web-test-2 .services-grid h3 {
      font-size: 2.08rem;
      letter-spacing: 0.005em;
      color: #141824;
    }
    body.service-web-test-2 .services-grid p {
      color: rgba(20,24,36,0.82);
    }
    body.service-web-test-2 .service-card .icon,
    body.service-web-test-2 .service-card .card-icon img {
      color: #141824;
      filter: brightness(0) saturate(100%);
    }

    /* Hover final elegido (antes: Test C) */
    body.service-web-test-2 .service-card:hover {
      border-color: rgba(20,24,36,0.24);
      box-shadow:
        0 20px 38px rgba(0,0,0,0.22),
        0 0 0 1px rgba(20,24,36,0.08) inset,
        0 8px 18px rgba(255,132,0,0.16);
      transform: translateY(-7px) scale(1.018);
    }
    body.service-web-test-2 .service-card:hover::before,
    body.service-web-test-2 .service-card:hover::after {
      background: #ff8400;
    }

    @media (max-width: 980px) {
      main#contenido .container > h1 {
        font-size: 3.2rem;
      }
      .subtitle {
        font-size: 1.35rem;
      }
      .service-page-lead {
        font-size: 1.18rem;
      }
      .services-grid {
        grid-template-columns: 1fr;
        gap: 18px;
      }
      .service-card {
        padding: 28px 22px;
      }
      .services-grid h3 {
        font-size: 1.7rem;
      }
      .services-grid p {
        font-size: 1.12rem;
      }
    }

    @keyframes fadeIn {
      to { opacity: 1; }
    }

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