/* Contact panel reused from the deployed October 28 location-page styles. */
.city-contact-container { max-width:1040px; }
.city-contact-panel { overflow:hidden; border:1px solid #d5dddb; border-radius:12px; background:#fff; box-shadow:0 14px 40px rgba(16,46,66,.06); }
.city-contact-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; align-items:center; padding:32px 36px 28px; border-bottom:1px solid #e2e7e5; }
.city-contact-header h2 { max-width:none; margin:0; font-size:clamp(32px,3.2vw,46px); line-height:1.02; letter-spacing:-.3px; }
.city-contact-header p { max-width:590px; margin:12px 0 0; color:#536a7b; font-size:16px; line-height:1.55; }
.city-contact-phone { display:flex; flex-direction:column; gap:6px; padding-left:28px; border-left:1px solid #dce3e1; color:#102e42; text-decoration:none; }
.city-contact-phone span { color:#536a7b; font-size:13px; line-height:1.4; }
.city-contact-phone strong { font-size:23px; line-height:1.15; white-space:nowrap; }
.city-contact-phone:hover strong { text-decoration:underline; text-underline-offset:4px; }
.city-contact-phone:focus-visible { outline:3px solid #ac7c24; outline-offset:6px; }
.city-contact-body { padding:28px 36px 30px; }
.city-contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; margin:0; }
.city-contact-field { display:grid; align-content:start; gap:8px; min-width:0; }
.city-contact-field-wide,.city-contact-actions { grid-column:1/-1; }
.city-contact-form label { margin:0; font:600 14px/1.4 Barlow,Arial,sans-serif; letter-spacing:0; text-transform:none; }
.city-contact-form input,.city-contact-form select,.city-contact-form textarea { min-width:0; margin:0; border-color:#cdd7d5; }
.city-contact-form textarea { min-height:108px; }
.city-contact-actions { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:4px; }
.city-contact-actions .btn { min-width:220px; margin:0; }
.city-contact-actions .city-review-form-note { max-width:300px; margin:0; }
.city-contact-footer { padding:12px 36px; border-top:1px solid #e2e7e5; background:#fafbf9; }
.city-contact-footer .applicant-link { margin:0; padding:0; border:0; font-size:13px; }
.city-contact-footer .applicant-link a { min-height:32px; }
@media(max-width:799px) {
  .location-page .city-contact-section { padding:44px 20px; }
  .city-contact-header { grid-template-columns:1fr; gap:20px; padding:26px 24px 24px; }
  .city-contact-phone { flex-direction:row; align-items:baseline; gap:12px; padding:0; border:0; }
  .city-contact-phone strong { font-size:21px; }
  .city-contact-body { padding:24px; }
  .city-contact-form { gap:18px 20px; }
  .city-contact-footer { padding:12px 24px; }
  .city-contact-actions { gap:20px; }
  .city-contact-actions .btn { min-width:190px; }
}
@media(max-width:599px) {
  .city-contact-header { padding:24px 20px 22px; }
  .city-contact-header h2 { font-size:34px; }
  .city-contact-header p { font-size:15px; }
  .city-contact-body { padding:22px 20px 24px; }
  .city-contact-form { grid-template-columns:1fr; gap:18px; }
  .city-contact-actions { flex-direction:column; align-items:stretch; gap:12px; padding-top:2px; }
  .city-contact-actions .btn { width:100%; }
  .city-contact-actions .city-review-form-note { max-width:none; }
  .city-contact-footer { padding:10px 20px; }
}
.city-contact-form [data-lead-details]{display:contents}.city-contact-form[hidden]{display:none!important}.city-contact-form [data-lead-challenge]{grid-column:1/-1}

/* Contact page integration; panel rules above match the deployed location forms. */
.contact-pattern .contact-columns{max-width:1040px;grid-template-columns:minmax(0,1fr);gap:44px}
.contact-pattern .city-contact-panel{scroll-margin-top:110px;color:#102b3f}
.contact-pattern .city-contact-header h2{font-family:'Barlow Condensed',Arial,sans-serif;text-transform:uppercase}
.contact-pattern .city-contact-form label{margin:0}
.contact-pattern .city-contact-actions .btn{margin:0}
.contact-pattern .city-contact-form .lead-error{margin:0}
.contact-pattern .contact-proof{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.contact-pattern .contact-proof .section-head{margin:0}
.contact-pattern .contact-proof .google-summary{margin:0;min-width:260px}
.contact-pattern .contact-reviews{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.contact-pattern .contact-reviews .review{margin:0}
.contact-pattern .review-source{grid-column:1/-1;margin:0}
@media(max-width:799px){.contact-pattern .contact-proof{grid-template-columns:minmax(0,1fr)}.contact-pattern .contact-reviews{grid-template-columns:minmax(0,1fr)}.contact-pattern .contact-proof .google-summary{min-width:0;justify-self:start;width:100%;max-width:320px}}

/* Review revision 3: form and social proof share the desktop viewport. */
.contact-pattern .contact-intro{padding:18px 24px 16px}
.contact-pattern .contact-intro h1{font-size:42px;margin-bottom:8px}
.contact-pattern .contact-intro .intro-copy{max-width:none;font-size:17px;line-height:1.5}
.contact-pattern .contact-workspace{padding-top:20px}
.contact-pattern .contact-columns{max-width:1200px;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:32px;align-items:start}
.contact-pattern .contact-left{min-width:0}
.contact-pattern .city-contact-header{gap:20px;padding:18px 26px 16px}
.contact-pattern .city-contact-header h2{font-size:34px;line-height:1.06}
.contact-pattern .city-contact-header p{font-size:14px;line-height:1.45;margin-top:8px}
.contact-pattern .city-contact-phone{gap:4px;padding-left:18px}
.contact-pattern .city-contact-phone span{font-size:12px}
.contact-pattern .city-contact-phone strong{font-size:20px}
.contact-pattern .city-contact-body{padding:20px 26px}
.contact-pattern .city-contact-form{gap:12px 20px}
.contact-pattern .city-contact-field{gap:6px}
.contact-pattern .city-contact-form input,.contact-pattern .city-contact-form select{height:46px;min-height:46px;padding:11px 12px;font-size:16px}
.contact-pattern .city-contact-form textarea{min-height:84px;padding:11px 12px;font-size:16px;line-height:1.45}
.contact-pattern .city-contact-actions{padding-top:0}
.contact-pattern .city-contact-actions .btn{min-width:200px;min-height:46px;padding:12px 22px}
.contact-pattern .city-contact-footer{padding:8px 26px}
.contact-pattern .email-option{margin:14px 4px 0;overflow-wrap:anywhere}
.contact-pattern .contact-proof{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.contact-pattern .contact-proof .section-head{margin:0}
.contact-pattern .contact-proof h2{font-size:30px;line-height:1.1;margin:0}
.contact-pattern .contact-proof .google-summary{min-width:0;width:100%;margin:0;padding:14px 20px;gap:16px;border-radius:12px;background:#f8f7f2}
.contact-pattern .google-summary>strong{font-size:34px;line-height:1}
.contact-pattern .google-summary>span{font-size:14px;line-height:1.5}
.contact-pattern .google-summary .stars{font-size:21px;letter-spacing:1px}
.contact-pattern .contact-reviews{grid-column:auto;grid-template-columns:minmax(0,1fr);gap:12px}
.contact-pattern .contact-reviews .review{padding:18px 20px;border-radius:12px;margin:0}
.contact-pattern .contact-reviews .stars{font-size:17px;line-height:1;letter-spacing:1px;color:#896516}
.contact-pattern .contact-reviews blockquote{font-size:16px;line-height:1.5;margin:10px 0 12px}
.contact-pattern .contact-reviews cite{font-size:14px;line-height:1.4}
.contact-pattern .contact-reviews small{display:inline;font-size:12px;line-height:1.4;margin:0 0 0 8px;white-space:nowrap}
.contact-pattern .review-source{grid-column:auto;margin:0;font-size:12px;line-height:1.5}
@media(min-width:1141px) and (max-height:850px){
  .contact-pattern .contact-intro{padding-top:14px;padding-bottom:12px}
  .contact-pattern .contact-workspace{padding-top:16px}
}
@media(min-width:1024px) and (max-width:1140px){
  .contact-pattern .contact-columns{gap:24px;grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr)}
  .contact-pattern .city-contact-header{grid-template-columns:1fr;gap:12px;padding:20px 24px}
  .contact-pattern .city-contact-phone{flex-direction:row;align-items:baseline;gap:10px;border:0;padding:0}
  .contact-pattern .city-contact-body{padding:22px 24px}
  .contact-pattern .city-contact-footer{padding:8px 24px}
}
@media(max-width:1023px){
  .contact-pattern .contact-columns{max-width:760px;grid-template-columns:minmax(0,1fr);gap:20px}
  .contact-pattern .contact-left{grid-column:1;grid-row:2}
  .contact-pattern .contact-proof{display:contents}
  .contact-pattern .contact-proof .google-summary{grid-column:1;grid-row:1;max-width:none;justify-self:stretch;gap:14px;padding:12px 20px}
  .contact-pattern .google-summary>span{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
  .contact-pattern .google-summary br{display:none}
  .contact-pattern .contact-proof .section-head{grid-column:1;grid-row:3;margin-top:8px}
  .contact-pattern .contact-reviews{grid-column:1;grid-row:4}
  .contact-pattern .review-source{grid-column:1;grid-row:5}
  .contact-pattern .city-contact-header{grid-template-columns:minmax(0,1fr) auto}
}
@media(max-width:599px){
  .contact-pattern .contact-intro{padding:22px 20px 20px}
  .contact-pattern .contact-intro h1{font-size:38px}
  .contact-pattern .contact-intro .intro-copy{font-size:16px;line-height:1.5}
  .contact-pattern .contact-workspace{padding-top:20px}
  .contact-pattern .contact-columns{gap:16px}
  .contact-pattern .contact-proof .google-summary{padding:12px 16px;gap:14px}
  .contact-pattern .google-summary>strong{font-size:30px}
  .contact-pattern .google-summary>span{display:block;font-size:13px;line-height:1.4}
  .contact-pattern .google-summary br{display:block}
  .contact-pattern .google-summary .stars{font-size:18px}
  .contact-pattern .city-contact-header{grid-template-columns:1fr;gap:14px;padding:20px}
  .contact-pattern .city-contact-header h2{font-size:30px}
  .contact-pattern .city-contact-header p{font-size:15px;line-height:1.5}
  .contact-pattern .city-contact-phone{flex-direction:row;align-items:baseline;gap:10px;padding:0;border:0}
  .contact-pattern .city-contact-phone span{font-size:13px}
  .contact-pattern .city-contact-phone strong{font-size:20px}
  .contact-pattern .city-contact-body{padding:20px}
  .contact-pattern .city-contact-form{grid-template-columns:1fr;gap:16px}
  .contact-pattern .city-contact-form input,.contact-pattern .city-contact-form select{height:50px;min-height:50px}
  .contact-pattern .city-contact-form textarea{min-height:112px}
  .contact-pattern .city-contact-actions .btn{width:100%;min-height:50px}
  .contact-pattern .city-contact-footer{padding:8px 20px}
  .contact-pattern .contact-proof h2{font-size:30px}
  .contact-pattern .contact-reviews .review{padding:20px}
}
