    :root {
      --max-width: 1100px;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: 'Inter', sans-serif;
      background: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1));
      color: #fff;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    /* Hero */
    .hero {
      position: relative;
      overflow: hidden;
      min-height: 85vh;
      display: flex;
      align-items: center;
      justify-content: center;
      background-image: url('graph/Man-Young-Thai-Wife.jpg');
      background-size: cover;
      background-position: center center;
      padding: 30px 16px;
    }

    .container {
      width: 100%;
      max-width: 420px;
      margin: 40px auto;
      padding: 24px;
      background: rgba(255,255,255,0.88);
      color: #111;
      border-radius: 14px;
      box-shadow: 0 10px 30px rgba(0,0,0,0.18);
    }

    h1, h2, h3 {
      font-family: 'Playfair Display', serif;
      margin-top: 0;
    }

    h3 {
      font-size: 28px;
      margin-bottom: 20px;
      text-align: center;
    }

    .field {
      margin-bottom: 16px;
      position: relative;
    }

    label {
      display: block;
      margin-bottom: 6px;
      font-weight: 600;
      font-size: 14px;
    }

    input,
    textarea {
      width: 100%;
      padding: 12px;
      border-radius: 8px;
      border: 1px solid #ccc;
      font-size: 15px;
      font-family: 'Inter', sans-serif;
      outline: none;
      transition: border-color 0.2s ease, background 0.2s ease;
    }

    textarea {
      min-height: 120px;
      resize: vertical;
    }

    .btn {
      background: #d63c35;
      color: #fff;
      border: none;
      padding: 12px 20px;
      border-radius: 8px;
      font-weight: 600;
      cursor: pointer;
      width: 100%;
      font-size: 16px;
      transition: background 0.2s ease, opacity 0.2s ease;
    }

    .btn:hover {
      background: #b8302a;
    }

    .btn:disabled {
      opacity: 0.7;
      cursor: not-allowed;
    }

    .error-message {
      color: #d63c35;
      font-size: 12px;
      margin-top: 4px;
      display: block;
      min-height: 14px;
    }

    .field input.error,
    .field textarea.error {
      border-color: #d63c35;
      background: #fff5f5;
    }

    .field input.valid,
    .field textarea.valid {
      border-color: #28a745;
      background: #f5fff8;
    }

    .checkmark {
      position: absolute;
      right: 10px;
      top: 38px;
      font-size: 16px;
      color: #28a745;
      display: none;
      pointer-events: none;
    }

    .field.valid .checkmark {
      display: inline;
    }

    .success-message {
      background: #f0fff5;
      border: 1px solid #28a745;
      color: #155724;
      padding: 12px;
      border-radius: 8px;
      margin-top: 16px;
      display: none;
      font-size: 14px;
    }

    .service-box {
      font-size: 13px;
      color: #111;
      margin-bottom: 14px;
      line-height: 1.5;
    }

    .hidden-trap {
      position: absolute;
      left: -9999px;
      top: -9999px;
      opacity: 0;
      pointer-events: none;
    }

    @media (max-width: 480px) {
      .container {
        padding: 20px;
      }

      h3 {
        font-size: 24px;
      }
    }