.contact-section { padding:64px 48px; display:grid; grid-template-columns:1fr 360px; gap:56px; align-items:start; }
.form-title { font-family:Georgia,serif; font-size:24px; font-weight:700; color:#0A1628; margin-bottom:6px; }
.form-subtitle { font-size:14px; color:#6b7280; margin-bottom:32px; }
.contact-form { display:flex; flex-direction:column; gap:20px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:7px; }
.form-group label { font-size:13px; font-weight:600; color:#374151; }
.label-opt { font-weight:400; color:#9ca3af; }
.form-group input,.form-group select,.form-group textarea { padding:10px 14px; border:1px solid #e2e6ef; border-radius:7px; font-size:14px; color:#0A1628; font-family:inherit; background:#fff; outline:none; transition:border-color 0.15s; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:#1D4ED8; box-shadow:0 0 0 3px rgba(29,78,216,0.08); }
.form-group textarea { resize:vertical; line-height:1.6; }
.checkbox-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:4px; }
.check-label { display:flex; align-items:center; gap:8px; font-size:14px; color:#374151; cursor:pointer; }
.check-label input { width:16px; height:16px; accent-color:#1D4ED8; cursor:pointer; }
.error-msg { display:none; background:#FEF2F2; border:1px solid #fecaca; border-radius:8px; padding:12px 16px; font-size:14px; color:#991b1b; line-height:1.6; }
.submit-btn { background:linear-gradient(135deg,#1D4ED8,#06B6D4); color:#fff; padding:14px 32px; border-radius:7px; font-size:15px; font-weight:600; border:none; cursor:pointer; align-self:flex-start; }
.submit-btn:disabled { opacity:0.6; cursor:not-allowed; }
.success-msg { display:none; flex-direction:column; align-items:flex-start; gap:12px; padding:36px; background:#F0FDF4; border:1px solid #bbf7d0; border-radius:12px; }
.success-icon { width:44px; height:44px; background:#22c55e; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; font-weight:700; }
.success-msg h3 { font-family:Georgia,serif; font-size:22px; color:#166534; }
.success-msg p { font-size:15px; color:#166534; line-height:1.65; }
.contact-aside { display:flex; flex-direction:column; gap:20px; position:sticky; top:80px; }
.aside-card { background:#F8F9FC; border:0.5px solid #e2e6ef; border-radius:12px; padding:28px; }
.aside-card-title { font-size:15px; font-weight:600; color:#0A1628; margin-bottom:20px; }
.expect-steps { display:flex; flex-direction:column; gap:18px; }
.expect-step { display:flex; gap:14px; }
.expect-num { width:26px; height:26px; background:#EEF2FF; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:#1D4ED8; flex-shrink:0; margin-top:1px; }
.expect-title { font-size:14px; font-weight:600; color:#0A1628; margin-bottom:4px; }
.expect-text { font-size:13px; color:#6b7280; line-height:1.55; }
@media(max-width:900px){
  .contact-section{grid-template-columns:1fr;padding:40px 24px;}
  .contact-aside{position:static;}
  .form-row{grid-template-columns:1fr;}
  .checkbox-grid{grid-template-columns:1fr;}
}
