/* CONTACT — operate. Task first: the form leads, details support.
   Signature: the active field group is gently lit; the counter keeps
   the message within the server's 2000-character limit. */
.contact-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(24px, 4vw, 44px); margin-top: 30px; align-items: start; }
.field { border-radius: 10px; transition: background .2s ease; padding: 2px 6px 10px; margin-left: -6px; margin-right: -6px; }
.field:focus-within { background: #fff; box-shadow: 0 0 0 1.5px var(--line); }
.char-row { display: flex; justify-content: flex-end; font-size: 13px; color: var(--muted); margin-top: 4px; font-variant-numeric: tabular-nums; }
.form-hint { font-size: 14px; color: var(--muted); margin-top: 12px; }
.contact-aside { background: var(--ink); color: #ece7d6; border-radius: var(--radius); padding: clamp(22px, 3.5vw, 32px); }
.contact-aside h2 { font-family: var(--serif); color: #ffd98a; font-size: 24px; margin-bottom: 6px; }
.vrows { display: grid; margin-top: 16px; border-top: 1px solid rgba(255, 255, 255, .2); }
.vrows div { padding: 13px 0; border-bottom: 1px solid rgba(255, 255, 255, .2); font-size: 15.5px; }
.vrows strong { display: block; font-size: 11.5px; letter-spacing: 2px; text-transform: uppercase; color: #b9c2dc; margin-bottom: 2px; }
.contact-aside a { color: #ffd98a; }

@media (max-width: 980px) {
  .contact-grid { grid-template-columns: 1fr; }
}
