/* Contact */
/* Contact */
.contact { display: grid; gap: 36px; }
.contact h2 { font-size: clamp(40px, 7vw, 84px); max-width: 16ch; }
.rows { display: grid; border-top: 1px solid var(--hair); max-width: 44rem; }
.row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--hair); flex-wrap: wrap; }
.row .k { color: var(--muted); font-size: 14px; min-width: 7rem; }
.row .v { font-family: var(--display); font-size: clamp(18px, 2.4vw, 24px); font-weight: 400; letter-spacing: -0.02em; flex: 1; user-select: all; }
.row a.v { text-decoration: none; }
.row a.v:hover { text-decoration: underline; text-underline-offset: 4px; }
.contact-sec .contact { gap: clamp(36px, 5vw, 56px); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.contact-grid .rows { max-width: none; }
.msg { display: grid; gap: 14px; padding: 24px; border-radius: 24px; background: var(--surface); }
.msg-t { font-family: var(--display); font-size: 22px; letter-spacing: -.02em; }
.fld { display: grid; gap: 6px; font-size: 13px; color: var(--muted); }
.fld input, .fld textarea { width: 100%; font: 400 16px/1.5 var(--body); color: var(--ink); background: var(--ground); border: 1px solid var(--hair); border-radius: 14px; padding: 12px 14px; outline: none; resize: vertical; transition: border-color .2s, box-shadow .2s; }
.fld textarea { min-height: 140px; }
.fld input:focus, .fld textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ink) 12%, transparent); }
.msg-foot { display: flex; align-items: center; gap: 14px 18px; flex-wrap: wrap; }
.msg-note { font-size: 13px; color: var(--muted); max-width: 32ch; }
.msg-note.warn { color: var(--ink); font-weight: 500; }
@media (max-width: 860px) { .contact-grid { grid-template-columns: 1fr; } .msg .btn.lg { width: 100%; } }
.msg-col { display: grid; gap: 16px; justify-items: stretch; }
