/* Contact page */
.contact-section{ padding-top:clamp(140px,14vw,180px); }
.contact-layout{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px,5vw,64px); align-items:start; }
.contact-intro h1{ margin-top:18px; font-size:clamp(2.2rem,4vw,3.5rem); max-width:480px; }
.contact-intro > p{ margin-top:20px; font-size:1.05rem; max-width:460px; color:var(--text-muted); }
.contact-details{ display:grid; gap:14px; margin-top:32px; }
.contact-detail{ display:flex; align-items:flex-start; gap:16px; padding:18px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); }
.contact-icon{ display:grid; place-items:center; flex:0 0 44px; height:44px; border-radius:12px; background:var(--brand-grad-soft); color:var(--purple); }
.contact-detail > div:last-child{ min-width:0; }
.contact-detail h2{ font-family:var(--font-mono); font-size:.68rem; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); margin:0 0 5px; }
.contact-detail p,.contact-detail a{ font-size:.95rem; line-height:1.55; overflow-wrap:anywhere; }
.contact-detail a{ color:var(--heading); font-weight:500; }
.contact-detail a:hover{ color:var(--purple); }
.contact-intro .contact-social-label{ margin-top:28px; font-size:.85rem; color:var(--text-muted); }
.contact-intro .social-row{ margin-top:12px; }
.contact-form-card{ padding:clamp(22px,3vw,40px); background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--card-shadow); min-width:0; }
.contact-form-heading{ margin-bottom:28px; }
.contact-form-heading h2{ font-size:clamp(1.4rem,2.5vw,1.8rem); line-height:1.2; }
.contact-form-heading p{ margin-top:10px; font-size:.9rem; color:var(--text-muted); }
.contact-form-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.contact-field{ min-width:0; margin-bottom:20px; }
.form-label-sanara{ display:block; margin-bottom:8px; color:var(--heading); font-size:.85rem; font-weight:500; }
.form-label-sanara .optional{ font-size:.75rem; color:var(--text-muted); font-weight:400; }
.form-control-sanara{ width:100%; min-width:0; background:var(--surface); border:1px solid var(--line-strong); border-radius:var(--radius-sm); padding:13px 14px; color:var(--text); font-family:var(--font-body); font-size:1rem; line-height:1.5; transition:border-color .2s,box-shadow .2s; }
.form-control-sanara::placeholder{ color:var(--text-faint); }
.form-control-sanara:focus{ outline:none; border-color:var(--violet); box-shadow:0 0 0 3px rgba(124,58,237,.14); }
select.form-control-sanara{ color-scheme:light; }
[data-theme="dark"] select.form-control-sanara{ color-scheme:dark; }
textarea.form-control-sanara{ resize:vertical; min-height:140px; }
.invalid-feedback-sanara{ display:none; margin-top:6px; color:#b42336; font-size:.8rem; line-height:1.5; }
[data-theme="dark"] .invalid-feedback-sanara{ color:#ff8fa0; }
.was-validated .form-control-sanara:invalid ~ .invalid-feedback-sanara{ display:block; }
.was-validated .form-control-sanara:invalid{ border-color:#b42336; }
[data-theme="dark"] .was-validated .form-control-sanara:invalid{ border-color:#ff8fa0; }
.contact-submit{ width:100%; justify-content:center; white-space:normal; }
.contact-submit:disabled{ opacity:.6; cursor:wait; }
.contact-form-note{ margin-top:12px; color:var(--text-muted); font-size:.8rem; line-height:1.6; text-align:center; }
.contact-next{ border-top:1px solid var(--line); background:var(--surface); }
.contact-next .section-head{ margin-bottom:30px; }
.contact-next-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.contact-step{ display:flex; gap:16px; align-items:flex-start; }
.contact-step > span{ font-family:var(--font-mono); font-size:.8rem; color:var(--purple); padding-top:3px; }
.contact-step h3{ font-size:1.05rem; line-height:1.3; }
.contact-step p{ font-size:.9rem; color:var(--text-muted); margin-top:8px; }
@media (max-width:992px){
  .contact-layout{ grid-template-columns:minmax(0,1fr); gap:36px; }
  .contact-intro h1,.contact-intro > p{ max-width:640px; }
}
@media (max-width:640px){
  .contact-form-grid,.contact-next-grid{ grid-template-columns:minmax(0,1fr); gap:0; }
  .contact-detail{ padding:16px; gap:12px; }
  .contact-next-grid{ gap:24px; }
  .contact-form-heading{ margin-bottom:24px; }
}
