/* contact-us.css */
.contact-layout { display: grid; grid-template-columns: 1fr 1.6fr; gap: 4rem; align-items: start; }
.contact-info-col h2 { font-family: var(--font-display); font-size: var(--fs-2xl); font-weight: 900; margin-bottom: 1rem; line-height: 1.2; }
.contact-info-col > p { font-size: var(--fs-md); color: var(--mid); margin-bottom: 2.5rem; }
.contact-methods { display: flex; flex-direction: column; gap: 1rem; }
.contact-method { display: flex; gap: 1rem; align-items: flex-start; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.25rem; transition: all var(--transition); }
.contact-method:hover { box-shadow: var(--shadow-sm); }
.contact-method-icon { width: 48px; height: 48px; background: var(--ocean-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; flex-shrink: 0; }
.contact-method h4 { font-size: var(--fs-sm); font-weight: 700; margin-bottom: 0.2rem; }
.contact-method p  { font-size: var(--fs-sm); color: var(--mid); }
.contact-form-panel { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 2.5rem; }
.contact-form-panel h2 { font-family: var(--font-display); font-size: var(--fs-xl); font-weight: 900; margin-bottom: 0.5rem; }
.contact-form-panel > p { font-size: var(--fs-sm); color: var(--mid); margin-bottom: 2rem; }
.form-row   { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.form-group { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1.25rem; }
.form-group label { font-size: var(--fs-sm); font-weight: 700; color: var(--charcoal); }
.form-group label .req { color: var(--coral); margin-left: 0.2rem; }
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  font-family: var(--font-body);
  font-size: var(--fs-base);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  transition: border-color var(--transition), box-shadow var(--transition);
  line-height: 1.5;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color: var(--ocean); box-shadow: 0 0 0 3px rgba(0,105,148,0.15); outline: none; }
.form-group input[aria-invalid="true"],
.form-group select[aria-invalid="true"],
.form-group textarea[aria-invalid="true"] { border-color: var(--coral); background: #fff8f7; }
.form-group textarea { resize: vertical; min-height: 130px; }
.form-hint   { font-size: var(--fs-xs); color: var(--muted); }
.field-error { font-size: var(--fs-xs); color: var(--coral-dark); font-weight: 700; display: block; margin-top: 0.2rem; }
.form-check  { display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 1.5rem; }
.form-check input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; accent-color: var(--ocean); }
.form-check label { font-size: var(--fs-sm); color: var(--mid); line-height: 1.5; }
.form-alert { padding: 1rem 1.25rem; border-radius: var(--radius); margin-bottom: 1.5rem; font-size: var(--fs-sm); }
.form-alert[hidden] { display: none; }
.form-alert--error   { background: var(--coral-light); border: 1px solid var(--coral); color: var(--coral-dark); font-weight: 600; }
.form-alert--success { background: var(--palm-light);  border: 1px solid var(--palm);  color: var(--palm); }
#form-success { text-align: center; padding: 3rem 1.5rem; }
#form-success .success-icon { font-size: 3.5rem; display: block; margin-bottom: 1.25rem; }
#form-success h3 { font-family: var(--font-display); font-size: var(--fs-2xl); font-weight: 900; color: var(--palm); margin-bottom: 0.75rem; }
#form-success p  { font-size: var(--fs-md); color: var(--mid); }
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}}
@media(max-width:600px){.form-row{grid-template-columns:1fr}.contact-form-panel{padding:1.5rem}}
