/* Simple Contact Form — scoped to .scf so it doesn't clash with your theme */
.scf {
  --scf-card: #ffffff;
  --scf-ink: #17262c;
  --scf-muted: #5b6b72;
  --scf-line: #cfd9dd;
  --scf-accent: #1f5a7a;
  --scf-err: #b3362b;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  background: var(--scf-card);
  color: var(--scf-ink);
  border: 1px solid var(--scf-line);
  border-radius: 6px;
  font-size: 16px;
  line-height: 1.55;
}
.scf *, .scf *::before, .scf *::after { box-sizing: border-box; }
.scf [hidden] { display: none !important; }
.scf-inner { padding: 32px clamp(20px, 5vw, 40px) 36px; display: grid; gap: 24px; }
.scf-header { display: grid; gap: 8px; }
.scf-eyebrow {
  font-size: 12px; font-weight: 600; line-height: 1;
  letter-spacing: .12em; text-transform: uppercase; color: var(--scf-accent);
}
.scf .scf-title {
  margin: 0; padding: 0; color: var(--scf-ink);
  font-size: clamp(28px, 6vw, 38px); font-weight: 700; line-height: 1.1;
  letter-spacing: -.01em; text-wrap: balance;
}
.scf-intro { margin: 0; color: var(--scf-muted); max-width: 46ch; }
.scf-form { display: grid; gap: 18px; margin: 0; }
.scf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 520px) { .scf-row { grid-template-columns: 1fr; } }
.scf-field { display: grid; gap: 6px; min-width: 0; }
.scf label { display: block; margin: 0; font-weight: 600; font-size: 14px; color: var(--scf-ink); }
.scf-opt { font-weight: 400; color: var(--scf-muted); }
.scf input, .scf textarea, .scf select {
  width: 100%; max-width: 100%; margin: 0;
  font: inherit; color: var(--scf-ink);
  background: var(--scf-card);
  border: 1px solid var(--scf-line); border-radius: 4px;
  padding: 11px 12px; box-shadow: none;
  transition: border-color .15s, box-shadow .15s;
}
.scf textarea { min-height: 150px; resize: vertical; }
.scf input:focus, .scf textarea:focus, .scf select:focus {
  outline: none; border-color: var(--scf-accent);
  box-shadow: 0 0 0 3px rgba(31, 90, 122, .22);
}
.scf [aria-invalid="true"] { border-color: var(--scf-err); }
.scf .scf-check input { max-width: 160px; }
.scf-question { font-weight: 600; color: var(--scf-accent); }
.scf-hint { font-size: 13px; color: var(--scf-err); }
.scf-hint:empty { display: none; }
.scf .scf-honey { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.scf-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.scf .scf-send {
  font: inherit; font-size: 16px; font-weight: 600; line-height: 1;
  color: #fff; background: var(--scf-accent);
  border: 0; border-radius: 4px;
  padding: 14px 26px; cursor: pointer; text-transform: none; letter-spacing: normal;
  transition: filter .15s, transform .05s;
}
.scf .scf-send:hover { filter: brightness(1.1); }
.scf .scf-send:active { transform: translateY(1px); }
.scf .scf-send:focus-visible { outline: 3px solid var(--scf-accent); outline-offset: 2px; }
.scf .scf-send[disabled] { opacity: .6; cursor: progress; }
.scf-status { font-size: 14px; color: var(--scf-muted); }
.scf-status.is-error { color: var(--scf-err); }
.scf-sent { display: grid; gap: 10px; }
.scf-sent h3 { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.2; color: var(--scf-ink); }
.scf-sent p { margin: 0; color: var(--scf-muted); }
.scf .scf-again {
  justify-self: start; background: none; border: 0; padding: 0;
  font: inherit; font-weight: 600; color: var(--scf-accent);
  text-decoration: underline; cursor: pointer;
}
@media (prefers-reduced-motion: reduce) { .scf * { transition: none !important; } }
