.contact-wrap { max-width: 680px; margin: var(--rhythm) auto 0; }
.coupon { border: 2px dashed var(--rule-strong); padding: clamp(28px, 6vw, 48px); }
.coupon-head { font-family: var(--font); font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin: 0 0 24px; }
.form-field { margin: 0 0 18px; }
.form-field--wide { margin: 0 0 24px; }
.form-label { display: block; font-family: var(--font); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); margin: 0 0 5px; }
.form-input { font-family: var(--font); font-size: 16px; background: transparent; border: 0; border-bottom: 1.5px solid var(--rule-faint); color: var(--ink); width: 100%; padding: 0 0 8px; transition: border-bottom-color .15s ease; }
.form-input:focus { outline: none; border-bottom-color: var(--ink); }
.form-textarea { font-family: var(--font); font-size: 15px; line-height: 1.5; background: transparent; border: 0; border-bottom: 1.5px solid var(--rule-faint); color: var(--ink); width: 100%; padding: 0 0 8px; resize: vertical; min-height: 80px; transition: border-bottom-color .15s ease; }
.form-textarea:focus { outline: none; border-bottom-color: var(--ink); }
.form-honeypot { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }
.form-error { font-family: var(--font); font-size: 13px; color: var(--red); margin: 8px 0 0; display: none; }
.form-error.is-visible { display: block; }
.form-submit { font-family: var(--font); font-size: 15px; font-weight: 500; letter-spacing: .01em; color: var(--paper); background: var(--ink); border: 0; padding: 10px 16px; cursor: pointer; margin: 28px 0 0; transition: background .15s ease; }
.form-submit:hover { background: var(--red); }
.form-submit:active { opacity: 0.8; }
.form-submit:disabled { opacity: 0.6; cursor: not-allowed; }
.form-submit:disabled:hover { background: var(--ink); }
.thanks-state { display: none; text-align: center; padding: 44px 0; }
.thanks-emoji { font-size: 48px; margin: 0 0 16px; }
.thanks-head { font-family: var(--font); font-weight: 500; font-size: 22px; letter-spacing: -.01em; color: var(--ink); margin: 0 0 8px; }
.thanks-copy { font-family: var(--font); font-size: 16px; line-height: 1.6; color: var(--body); margin: 0; max-width: 400px; margin-left: auto; margin-right: auto; }

@media (max-width: 600px) {
  .coupon { padding: clamp(20px, 4vw, 36px); }
  .form-field--wide { margin: 0 0 18px; }
}
