.handled-contact, .handled-contact * { box-sizing: border-box; }
.handled-contact {
  --ha-ink: #1a1a1a;
  --ha-gold: #a98442;
  --ha-paper: #faf9f6;
  --ha-field: #ffffff;
  --ha-border: #cfc9be;
  --ha-button: #1a1a1a;
  --ha-button-text: #ffffff;
  max-width: 840px;
  margin: 24px auto;
  padding: clamp(28px, 5vw, 56px);
  background: var(--ha-paper);
  border: 1px solid var(--ha-border);
  color: var(--ha-ink);
  font-family: Jost, Arial, sans-serif;
  line-height: 1.5;
  box-shadow: 0 16px 40px rgba(26,26,26,.045);
}
.handled-contact__eyebrow { color: var(--ha-gold); letter-spacing: .19em; font-size: 11px; font-weight: 700; }
.handled-contact h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(36px, 5vw, 50px); line-height: 1.1; margin: 8px 0 12px; color: var(--ha-ink); font-weight: 600; }
.handled-contact__intro { margin: 0 0 30px; color: var(--ha-ink); opacity: .82; font-size: 17px; }
.handled-contact__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 22px; }
.handled-contact__field { min-width: 0; }
.handled-contact__field--wide { grid-column: 1 / -1; }
.handled-contact label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 7px; color: var(--ha-ink); }
.handled-contact label span { color: var(--ha-gold); }
.handled-contact input:not([type=hidden]), .handled-contact textarea {
  width: 100%; min-width: 0; border: 1px solid var(--ha-border); border-radius: 2px;
  background: var(--ha-field); color: var(--ha-ink); padding: 13px 15px;
  font: 16px/1.45 Jost, Arial, sans-serif; box-shadow: none; outline: none;
}
.handled-contact input:focus, .handled-contact textarea:focus { border-color: var(--ha-gold); box-shadow: 0 0 0 3px rgba(169,132,66,.16); }
.handled-contact textarea { display: block; resize: vertical; }
.handled-contact__button {
  display: inline-flex; align-items: center; gap: 24px; justify-content: space-between;
  margin-top: 24px; padding: 14px 20px; border: 1px solid var(--ha-button); border-radius: 2px;
  background: var(--ha-button); color: var(--ha-button-text); font: 600 15px/1.2 Jost, Arial, sans-serif;
  cursor: pointer; transition: background .2s, border-color .2s;
}
.handled-contact__button:hover, .handled-contact__button:focus-visible { filter: brightness(.86); color: var(--ha-button-text); }
.handled-contact__button span { color: #d7b877; font-size: 22px; line-height: .75; }
.handled-contact__foot { margin: 16px 0 0; color: var(--ha-ink); opacity: .7; font-size: 13px; }
.handled-contact__notice { border-left: 4px solid var(--ha-gold); background: var(--ha-field); padding: 12px 16px; margin-bottom: 24px; }
.handled-contact__notice--ok { border-left-color: #367657; }
.handled-contact__trap { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; left: -10000px !important; }
@media (max-width: 600px) { .handled-contact__fields { grid-template-columns: 1fr; } .handled-contact__field--wide { grid-column: auto; } .handled-contact__button { width: 100%; } }
