/* Contact and inquiry pages */

.contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.contact-side { display: grid; gap: 20px; }
.contact-map { border: 1px solid var(--line); background: var(--surface); padding: 22px; }
.contact-map h3 { margin-top: 0; font-size: 1rem; }
.contact-map p { margin: 0; color: var(--muted); font-size: 0.92rem; }
.contact-social { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.contact-social a {
  border: 1px solid var(--line); padding: 8px 14px; border-radius: 2px; font-size: 0.84rem;
  transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
}
.contact-social a:hover { border-color: var(--brand); color: var(--brand-strong); background: var(--surface); }

.form-panel { border: 1px solid var(--line); background: #fff; padding: 30px; }
.form-panel h2 { margin-top: 0; font-size: 1.3rem; }
.form-panel .lead { color: var(--muted); font-size: 0.92rem; }

.inquiry-layout { display: grid; grid-template-columns: minmax(0, 0.62fr) minmax(0, 1.38fr); gap: 44px; align-items: start; }
.inquiry-aside { border: 1px solid var(--line); background: var(--surface); padding: 26px; position: sticky; top: 96px; }
.inquiry-aside h2 { margin-top: 0; font-size: 1.16rem; }
.inquiry-aside .contact-list { margin-top: 18px; }

@media (max-width: 1024px) {
  .contact-layout, .inquiry-layout { grid-template-columns: 1fr; gap: 28px; }
  .inquiry-aside { position: static; }
}
@media (max-width: 600px) {
  .form-panel { padding: 20px; }
}
