/* Start custom CSS *//* ════════════════════════════════════════
   CONTACT PAGE
════════════════════════════════════════ */

/* Reveal animation */
.reveal { opacity:0; transform:translateY(20px); transition:opacity 0.65s ease,transform 0.65s ease; }
.reveal.is-visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.12s; }

/* Layout */
.contact-wrap { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:clamp(40px,6vw,72px); max-width:var(--max-w); margin:0 auto; padding:clamp(48px,6vw,72px) var(--pad-x) clamp(56px,7vw,88px); align-items:start; }

/* Form heading */
.contact-form-wrap h2 { font-family:var(--serif); font-size:clamp(22px,3vw,36px); font-weight:300; color:var(--midnight); margin-bottom:10px; line-height:1.2; }
.contact-form-wrap > p { font-size:14px; color:var(--muted); line-height:1.75; margin-bottom:32px; max-width:520px; overflow-wrap:break-word; }

/* WPForms overrides — make WPForms match the site design */
.contact-form-wrap .wpforms-form .wpforms-field-container { margin-bottom:0; }
.contact-form-wrap .wpforms-form .wpforms-field { padding:0; margin-bottom:20px; }
.contact-form-wrap .wpforms-form .wpforms-field-label { font-size:11px !important; font-weight:600 !important; letter-spacing:0.12em !important; text-transform:uppercase !important; color:var(--firm-navy) !important; margin-bottom:6px !important; }
.contact-form-wrap .wpforms-form input[type=text],
.contact-form-wrap .wpforms-form input[type=email],
.contact-form-wrap .wpforms-form input[type=tel],
.contact-form-wrap .wpforms-form select,
.contact-form-wrap .wpforms-form textarea { font-family:var(--sans) !important; font-size:14px !important; color:var(--ink) !important; background:#fff !important; border:1px solid rgba(27,47,110,0.2) !important; border-radius:0 !important; padding:12px 14px !important; width:100% !important; box-shadow:none !important; transition:border-color 0.2s, box-shadow 0.2s !important; }
.contact-form-wrap .wpforms-form input:focus,
.contact-form-wrap .wpforms-form select:focus,
.contact-form-wrap .wpforms-form textarea:focus { border-color:var(--gold) !important; box-shadow:0 0 0 3px rgba(184,160,106,0.12) !important; outline:none !important; }
.contact-form-wrap .wpforms-form textarea { min-height:140px !important; resize:vertical !important; }
/* Submit button */
.contact-form-wrap .wpforms-form .wpforms-submit { font-family:var(--sans) !important; font-size:11px !important; font-weight:600 !important; letter-spacing:0.16em !important; text-transform:uppercase !important; color:#fff !important; background:var(--firm-navy) !important; border:none !important; border-radius:0 !important; padding:14px 32px !important; cursor:pointer !important; transition:background 0.2s !important; }
.contact-form-wrap .wpforms-form .wpforms-submit:hover { background:var(--midnight) !important; }
/* Two column field layout */
.contact-form-wrap .wpforms-form .wpforms-field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* Info sidebar */
.contact-info { display:flex; flex-direction:column; gap:16px; position:sticky; top:calc(var(--nav-h) + 24px); }
.info-card { background:var(--off-white); padding:clamp(20px,3vw,32px) clamp(18px,2.5vw,28px); }
.info-card--dark { background:var(--midnight); }
.info-card__heading { font-size:10px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid rgba(184,160,106,0.2); }
.info-card__address { font-size:14px; color:var(--muted); line-height:2; margin-bottom:16px; overflow-wrap:break-word; }
.info-card__address a { color:var(--firm-navy); transition:color 0.2s; }
.info-card__address a:hover { color:var(--gold); }
.info-card--dark .info-card__address { color:rgba(255,255,255,0.55); }
.info-card--dark .info-card__address a { color:var(--gold); opacity:0.85; }
.info-card--dark .info-card__address a:hover { opacity:1; }
.gold-rule { height:1px; background:linear-gradient(to right,var(--gold),transparent); margin:16px 0; opacity:0.3; }
.info-card__hours { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); margin-top:4px; }
.info-card__hours::before { content:''; width:8px; height:8px; border-radius:50%; background:#2a6e3a; flex-shrink:0; }

.info-card--map {
  padding: 0;
  overflow: hidden;
}
.info-card--map .info-card__heading {
  padding: 16px 20px 12px;
  margin: 0;
  border-bottom: 1px solid var(--border);
}
.info-card--map iframe {
  display: block;
  width: 100%;
  height: 220px;
  border: 0;
}

/* Advocate rows */
.advocate-contact { padding:12px 0; border-bottom:1px solid var(--border); }
.advocate-contact:last-child { border-bottom:none; padding-bottom:0; }
.advocate-contact__name { font-family:var(--serif); font-size:16px; font-weight:400; color:var(--midnight); margin-bottom:2px; }
.advocate-contact__name a { transition:color 0.2s; }
.advocate-contact__name a:hover { color:var(--gold); }
.advocate-contact__role { font-size:10px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); margin-bottom:4px; }
.advocate-contact__email { font-size:12px; color:var(--firm-navy); display:block; transition:color 0.2s; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.advocate-contact__email:hover { color:var(--gold); }

/* Responsive */
@media(max-width:900px){
  .contact-wrap { grid-template-columns:1fr; gap:40px; }
  .contact-info { position:static; }
  .contact-form-wrap .wpforms-form .wpforms-field-row { grid-template-columns:1fr; }
}
@media(max-width:480px){
  .contact-form-wrap .wpforms-form .wpforms-submit { width:100% !important; }
}/* End custom CSS */