/* contact.css */
.contact-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:72px; align-items:start; }

.contact-info__title { font-size:1.4rem; color:var(--navy); margin-bottom:22px; }
.contact-info__list { display:flex; flex-direction:column; border-top:1px solid var(--gray-light); margin-bottom:40px; }
.contact-info__list li {
  padding:12px 0 12px 18px;
  font-size:.875rem; color:var(--text-light);
  border-bottom:1px solid var(--gray-light);
  position:relative; line-height:1.6;
}
.contact-info__list li::before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:5px; height:1px; background:var(--accent); }

.contact-info__subtitle { font-family:var(--font-body); font-size:.95rem; font-weight:700; color:var(--navy); margin-bottom:18px; }
.contact-steps { display:flex; flex-direction:column; gap:18px; }
.contact-step  { display:flex; gap:18px; align-items:flex-start; }
.contact-step__num { font-family:var(--font-mono); font-size:.7rem; color:var(--accent); letter-spacing:.1em; flex-shrink:0; padding-top:2px; }
.contact-step h4 { font-family:var(--font-body); font-size:.875rem; font-weight:700; color:var(--navy); margin-bottom:3px; }
.contact-step p  { font-size:.8rem; color:var(--text-light); line-height:1.7; }

.contact-form-wrap { background:var(--off-white); border-radius:4px; padding:44px 36px; border:1px solid var(--gray-light); }
.contact-form { display:flex; flex-direction:column; gap:22px; }
.form-group { display:flex; flex-direction:column; gap:7px; }
.form-group label { font-size:.8rem; font-weight:700; color:var(--navy); letter-spacing:.03em; display:flex; align-items:center; gap:7px; }
.req { font-size:.66rem; font-weight:400; background:var(--navy); color:var(--white); padding:2px 6px; border-radius:2px; }
.form-group input:not([type="checkbox"]),
.form-group select,
.form-group textarea {
  width:100%; padding:11px 14px;
  font-size:.88rem; font-family:var(--font-body);
  color:var(--text); background:var(--white);
  border:1px solid var(--gray-light); border-radius:2px;
  outline:none; transition:border-color .2s;
  appearance:none; -webkit-appearance:none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(0,170,221,.08); }
.form-group textarea { resize:vertical; min-height:130px; line-height:1.8; }
.form-group--check { flex-direction:row; align-items:center; }
.checkbox-label { display:flex; align-items:flex-start; gap:11px; font-size:.8rem; color:var(--text-light); cursor:pointer; font-weight:400 !important; }
.checkbox-label input[type="checkbox"] { width:16px; height:16px; flex-shrink:0; margin-top:2px; accent-color:var(--navy); cursor:pointer; }
.form-submit { width:100%; justify-content:center; padding:15px; font-size:.88rem; letter-spacing:.07em; margin-top:6px; }

.form-success { text-align:center; padding:40px 20px; display:flex; flex-direction:column; align-items:center; gap:16px; }
.form-success h3 { font-size:1.5rem; color:var(--navy); }
.form-success p  { font-size:.9rem; color:var(--text-light); line-height:1.8; }

@media (max-width:1023px) {
  .contact-layout { grid-template-columns:1fr; gap:40px; }
  .contact-form-wrap { padding:32px 28px; }
}

@media (max-width:767px) {
  .contact-form-wrap { padding:24px 18px; }
  .contact-info__title { font-size:1.2rem; }
  .contact-info__list li { font-size:.84rem; }
  .form-group input,
  .form-group select,
  .form-group textarea { font-size:.875rem; padding:11px 12px; }
}
