 * {
      box-sizing: border-box;
      scroll-behavior: smooth;
    }

    body {
      font-family: 'Montserrat', sans-serif;
      margin: 0;
      padding: 0;
      color: #1a1a1a;
    }

    header {
      background: #047857;
      color: #fff;
      padding: 1rem 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    header img {
      height: 40px;
      margin-right: 10px;
    }

    nav a {
      color: #fff;
      margin-left: 1rem;
      text-decoration: none;
      font-weight: 500;
    }

    nav a:hover {
      text-decoration: underline;
    }

    section {
      padding: 4rem 2rem;
    }

    .hero {
      text-align: center;
      background: #f3f4f6;
    }

    .hero h1 {
      font-size: 2rem;
      margin-bottom: 1rem;
    }

    .hero p {
      color: #555;
      font-size: 1.1rem;
      margin-bottom: 2rem;
    }

    .btn {
      padding: 1rem 2rem;
      background: #047857;
      color: white;
      border: none;
      border-radius: 5px;
      font-weight: 600;
      cursor: pointer;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: 1fr;
      gap: 2rem;
    }

    @media (min-width: 768px) {
      .grid-2 {
        grid-template-columns: 1fr 1fr;
      }
    }

    .servicios, .tarjeta {
      background: #f9fafb;
      padding: 2rem;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0,0,0,0.05);
      text-align: center;
    }

    .tarjeta img {
      width: 48px;
      margin-bottom: 1rem;
    }

    footer {
      background: #111;
      color: #ccc;
      text-align: center;
      padding: 2rem;
    }

    .form-wrapper {
      background: #047857;
      color: white;
      padding: 3rem 2rem;
      text-align: center;
    }

    form {
      max-width: 600px;
      margin: auto;
      display: flex;
      flex-direction: column;
    }

    .form-control {
      margin-bottom: 1rem;
      padding: 1rem;
      border-radius: 5px;
      border: none;
      font-size: 1rem;
    }

    .form-control:focus {
      outline: 2px solid #059669;
    }

    .btn-enviar {
      background: white;
      color: #047857;
      font-weight: 600;
    }

    .message {
      margin-top: 1rem;
      padding: 1rem;
      border-radius: 5px;
    }

    .success { background: #d1fae5; color: #065f46; }
    .error { background: #fee2e2; color: #991b1b; }