/* ============================================================
   CONTACT.CSS — Contact Page
   ============================================================ */

.contact-section { padding: 0 0 var(--space-4xl); }
.contact-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: var(--space-md); align-items: stretch; }

/* Info */
.contact-info { padding: clamp(1.75rem, 3vw, 2.5rem); background: var(--bg-elevated); border-radius: var(--radius-xl); display: flex; flex-direction: column; }
.contact-info h2 { font-size: var(--fs-h3); margin-bottom: var(--space-xl); }
.contact-list { display: flex; flex-direction: column; gap: var(--space-lg); flex: 1; }
.contact-list li { display: flex; gap: var(--space-md); align-items: flex-start; }
.contact-icon { width: 40px; height: 40px; border-radius: var(--radius-full); border: 1px solid var(--border-subtle); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--text-primary); }
.contact-icon svg { width: 18px; height: 18px; }
.contact-label { display: block; font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: var(--ls-wider); color: var(--text-muted); margin-bottom: 2px; }
.contact-list p { font-size: var(--fs-small); color: var(--text-primary); line-height: 1.5; }
.contact-list a:hover { color: var(--text-secondary); }
.contact-note { margin-top: var(--space-xl); padding-top: var(--space-lg); border-top: 1px solid var(--border-subtle); font-size: var(--fs-small); color: var(--text-secondary); }

/* Form */
.contact-form-wrap { padding: clamp(1.75rem, 3vw, 2.5rem); background: var(--bg-elevated); border-radius: var(--radius-xl); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }
.hp-field { position: absolute; left: -9999px; }
.contact-form select.form-input { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 16px; padding-right: 2.75rem; }
.contact-form .btn { width: 100%; }
.form-status { margin-top: var(--space-md); font-size: var(--fs-small); color: var(--text-secondary); min-height: 1.5em; }
.form-status.success { color: var(--success); }
.form-status.error { color: var(--error); }

@media (max-width: 900px) { .contact-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .form-row { grid-template-columns: 1fr; } }
