.contact-grid { display: grid; grid-template-columns: 1fr; gap: 24px; margin-bottom: 48px; }
.contact-form-card { background-color: #ffffff; border: 1px solid #e0e0e6; border-radius: 12px; padding: 24px; }
.contact-info-card { background-color: #ffffff; border: 1px solid #e0e0e6; border-radius: 12px; padding: 24px; align-self: start; }
.contact-info-heading { font-size: 18px; font-weight: 700; color: #1a1a2e; margin-bottom: 20px; }
.contact-info-item { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.contact-info-icon { font-size: 18px; color: #1F25DB; flex-shrink: 0; margin-top: 2px; }
.contact-info-label { font-size: 12px; font-weight: 700; color: #999999; text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: 2px; }
.contact-info-value { font-size: 15px; color: #333333; }
.contact-info-divider { height: 1px; background-color: #e0e0e6; margin: 20px 0; }
.contact-info-note { font-size: 13px; line-height: 1.6; color: #666666; }
.contact-info-note p { margin: 0; }
.form-group { margin-bottom: 20px; }
.form-label { display: block; font-size: 14px; font-weight: 700; color: #333333; margin-bottom: 6px; }
.form-input { display: block; width: 100%; padding: 12px 14px; font-size: 15px; color: #333333; background-color: #f8f8fc; border: 1px solid #e0e0e6; border-radius: 8px; font-family: inherit; transition: border-color 0.2s, box-shadow 0.2s; box-sizing: border-box; }
.form-input:focus { outline: none; border-color: #1F25DB; box-shadow: 0 0 0 3px rgba(31, 37, 219, 0.1); }
.form-input::placeholder { color: #aaaaaa; }
.form-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; cursor: pointer; }
.form-textarea { resize: vertical; min-height: 120px; }
.form-submit-row { display: flex; }
.form-submit-btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 32px; background-color: #1F25DB; color: #ffffff; font-size: 15px; font-weight: 700; border-radius: 8px; cursor: pointer; transition: background-color 0.2s, transform 0.2s; }
.form-submit-btn:hover { background-color: #161BA8; transform: translateY(-1px); }
.form-success { display: none; margin-top: 20px; padding: 16px 20px; background-color: #edfbf0; border: 1px solid #b7e6c0; border-radius: 8px; }
.form-success.visible { display: flex; align-items: center; gap: 12px; }
.form-success-icon { font-size: 18px; color: #22a652; flex-shrink: 0; }
.form-success-text { font-size: 14px; color: #1a7a38; margin: 0; line-height: 1.5; }
@media (min-width: 768px) {
  .contact-grid { grid-template-columns: 3fr 2fr; }
  .contact-form-card { padding: 32px; }
  .contact-info-card { padding: 28px; }
}
