.contact-page {
  background: #fff;
  color: #202027;
}

.contact-shell {
  margin: 0 auto;
  max-width: 42rem;
  min-height: 58vh;
  padding: clamp(3rem, 8vw, 6rem) 1.25rem;
}

.contact-header {
  border-bottom: 2px solid #000066;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
}

.contact-header h1 {
  color: #000066;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  margin: 0;
}

.contact-form {
  display: grid;
  gap: 0.65rem;
}

.contact-form label {
  color: #262633;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  margin: 0.8rem 0 0;
}

.contact-form input,
.contact-form textarea {
  background: #fff;
  border: 1px solid #a9a9b5;
  border-radius: 0.4rem;
  color: #202027;
  font: 1rem/1.5 Arial, Helvetica, sans-serif;
  padding: 0.75rem 0.85rem;
  width: 100%;
}

.contact-form textarea { resize: vertical; }

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: #000066;
  box-shadow: 0 0 0 3px rgba(0, 0, 102, 0.13);
  outline: 0;
}

.contact-form button {
  background: #000066;
  border: 0;
  border-radius: 0.45rem;
  color: #fff;
  cursor: pointer;
  font: 700 1rem Arial, Helvetica, sans-serif;
  justify-self: start;
  min-width: 8rem;
  padding: 0.75rem 1.2rem;
}

.contact-form button:hover { background: #11117a; }
.contact-form button:focus-visible { outline: 3px solid rgba(0, 0, 102, 0.28); outline-offset: 3px; }
.contact-honeypot { display: none !important; }

.contact-notice {
  border-left: 4px solid currentColor;
  font-family: Arial, Helvetica, sans-serif;
  margin: 0 0 1.5rem;
  padding: 0.8rem 1rem;
}

.contact-notice p { margin: 0; }
.contact-notice p + p { margin-top: 0.4rem; }
.contact-notice--success { background: #eff8f0; color: #225e2c; }
.contact-notice--error { background: #fff1f1; color: #8e1515; }

.contact-form .cf-turnstile { margin-top: 0.8rem; max-width: 100%; }

@media (max-width: 36rem) {
  .contact-shell { padding-top: 2.5rem; }
  .contact-form button { justify-self: stretch; width: 100%; }
}
