/* contact.css — corporate */
.contact-inner { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--edge); width: 100%; }
.contact-layout { display: grid; grid-template-columns: 1fr 360px; gap: 64px; align-items: start; }
.contact-form-wrap { background: var(--white); border: 1px solid var(--b1); border-radius: var(--radius-lg); padding: 36px 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: 6px; }
.form-group label { font-size: 0.8rem; font-weight: 600; color: var(--t2); }
.form-group input, .form-group select, .form-group textarea { background: var(--gray-50); border: 1px solid var(--b2); border-radius: var(--radius); padding: 11px 14px; font-family: var(--font); font-size: 0.875rem; color: var(--t1); transition: border-color 0.18s; outline: none; width: 100%; }
.form-group input::placeholder, .form-group textarea::placeholder { color: var(--t4); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--blue); background: var(--white); box-shadow: 0 0 0 3px rgba(37,99,235,0.08); }
.form-group select { 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='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; cursor: pointer; background-color: var(--gray-50); }
.form-group textarea { resize: vertical; min-height: 120px; line-height: 1.65; }
.form-note { font-size: 0.75rem; color: var(--t4); text-align: center; }
.contact-info { display: flex; flex-direction: column; gap: 24px; }
.contact-block { display: flex; align-items: flex-start; gap: 14px; padding-bottom: 24px; border-bottom: 1px solid var(--b1); }
.contact-block:last-of-type { border-bottom: none; }
.contact-block h4 { margin-bottom: 3px; }
.contact-val { font-size: 0.9rem; color: var(--t2); }
a.contact-val:hover { color: var(--blue); }
.expect-box { background: var(--gray-50); border: 1px solid var(--b1); border-radius: var(--radius-lg); padding: 22px 20px; }
.expect-title { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--t3); margin-bottom: 14px; }
.expect-list { display: flex; flex-direction: column; gap: 9px; }
.expect-list li { font-size: 0.83rem; color: var(--t2); display: flex; align-items: flex-start; gap: 8px; line-height: 1.5; }
.expect-list li::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--blue); flex-shrink: 0; margin-top: 7px; }
@media (max-width: 1024px) {
  .contact-layout { grid-template-columns: 1fr; gap: 32px; }
  .contact-info { order: -1; }
}

@media (max-width: 768px) {
  .contact-form-wrap { padding: 22px 18px; }
  .form-row { grid-template-columns: 1fr; gap: 14px; }
  .contact-block { gap: 12px; padding-bottom: 18px; }
  .contact-block h4 { font-size: 0.88rem; }
  .expect-box { padding: 18px 16px; }
  .expect-list li { font-size: 0.8rem; }
}

@media (max-width: 480px) {
  .contact-form-wrap { padding: 18px 14px; }
  /* Prevent iOS zoom on input focus */
  .form-group input,
  .form-group select,
  .form-group textarea { font-size: 16px !important; }
  .form-group label { font-size: 0.78rem; }
}