/* Forms */
.form { display: grid; gap: 1.25rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.field { display: flex; flex-direction: column; gap: 0.5rem; }
.field label { font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-muted); }
.field label .opt { color: var(--grey-dark); text-transform: none; letter-spacing: 0; font-style: italic; }
.field input, .field select, .field textarea {
  background: var(--charcoal); border: 1px solid var(--line-soft); color: var(--text);
  padding: 0.95rem 1rem; font-size: 1rem; transition: border-color 0.3s var(--ease); width: 100%;
}
.field textarea { min-height: 140px; resize: vertical; }
.field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23c6a15b' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--gold); }
.field.invalid input, .field.invalid select, .field.invalid textarea { border-color: #c0563f; }
.field .err { color: #e0836b; font-size: 0.8rem; min-height: 1em; display: none; }
.field.invalid .err { display: block; }
.checkbox { display: flex; gap: 0.7rem; align-items: flex-start; font-size: 0.9rem; color: var(--text-muted); }
.checkbox input { width: 20px; height: 20px; accent-color: var(--gold); flex: none; margin-top: 2px; }
.form-note { font-size: 0.85rem; color: var(--grey-dark); }
.form-status { padding: 1rem 1.25rem; border: 1px solid var(--line); background: var(--charcoal); display: none; }
.form-status.show { display: block; }
.form-status.ok { border-color: var(--gold); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Contact layout */
.contact-grid { display: grid; grid-template-columns: 0.9fr 1.4fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.info-block { display: grid; gap: 1.75rem; }
.info-item { display: flex; gap: 1rem; align-items: flex-start; }
.info-item svg { width: 24px; height: 24px; color: var(--gold); flex: none; margin-top: 3px; }
.info-item h3 { font-family: var(--font-sans); font-size: 0.8rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.4rem; }
.info-item a, .info-item p { font-size: 1.05rem; color: var(--text); }
.info-item a:hover { color: var(--gold); }
@media (max-width: 860px) { .contact-grid { grid-template-columns: 1fr; } .form-row { grid-template-columns: 1fr; } }
