:root { font-family: Arial, Helvetica, sans-serif; color: #202124; background: #f5f7fa; }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
      background:
        linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.08)),
        url("/background.jpg") center center / cover no-repeat fixed;
    }
    .card { width: 100%; max-width: 620px; background: rgba(255,255,255,.94); border-radius: 14px; padding: 38px; box-shadow: 0 8px 30px rgba(0,0,0,.08); }
    h1 { margin: 0 0 8px; font-size: 32px; }
    .intro { margin: 0 0 28px; color: #5f6368; font-size: 16px; }
    label { display: block; margin: 0 0 7px; font-weight: 600; font-size: 14px; }
    input, textarea { width: 100%; border: 1px solid #c9ced6; border-radius: 8px; padding: 12px 13px; font: inherit; margin-bottom: 18px; background: #fff; }
    input:focus, textarea:focus { outline: 2px solid #8ab4f8; border-color: #4285f4; }
    textarea { min-height: 160px; resize: vertical; }
    button { width: 100%; border: 0; border-radius: 8px; padding: 13px 18px; font: inherit; font-weight: 700; cursor: pointer; background: #1a73e8; color: white; }
    button:hover { background: #1765c1; }
    button:disabled { opacity: .65; cursor: wait; }
    .status { margin-top: 18px; padding: 12px; border-radius: 8px; display: none; font-size: 14px; }
    .success { display: block; background: #e6f4ea; color: #137333; font-size: 18px; font-weight: 700; padding: 16px; }
    .error { display: block; background: #fce8e6; color: #c5221f; }
    .hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
    @media (max-width: 520px) { .card { padding: 26px 20px; } h1 { font-size: 28px; } }

#contactFields {
  border: 0;
  padding: 0;
  margin: 16px 0 0;
  min-width: 0;
}

#contactFields:disabled {
  opacity: 0.55;
}

.cf-turnstile {
  margin: 16px 0;
}
