/* Customer review chrome and index; approved city layout remains intact. */
.location-faq-layout { grid-template-columns:1fr; gap:28px; }
.location-hero-overlay .location-hero-photo { object-position:var(--hero-position,center 40%); }
@media(min-width:901px) { .location-hero-overlay .location-hero-photo { left:auto; right:0; width:var(--hero-desktop-width,100%); } }
@media(max-width:700px) { .location-hero-overlay .location-hero-photo { object-position:var(--hero-position-mobile,center 38%); } }
.city-review-bar { background:#071c2b; color:#e6edf2; font:600 13px/1.4 Barlow,Arial,sans-serif; }
.city-review-bar > div { width:min(100%,1200px); margin:auto; min-height:40px; padding:9px 24px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.city-review-bar a { color:#fff; text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
.city-review-bar a:hover { text-decoration:underline; }
.city-review-bar > div > span { color:#b7c7d2; font-weight:500; }
.city-review-bar > div > span span { padding:0 6px; color:#7c929f; }
.city-review-form-note { font-size:12px; line-height:1.5; margin:8px 0 0; color:#536a7b; }
.location-page .city-contact-section { padding:64px 24px; scroll-margin-top:90px; }
.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-review-home { background:#f5f5f1; color:#102e42; min-height:100vh; }
.city-review-home * { box-sizing:border-box; }
.city-review-header { border-bottom:1px solid #d8dfdf; background:#fff; }
.city-review-header-inner { max-width:1200px; min-height:94px; padding:18px 24px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.city-review-header .brand img { width:42px; height:auto; }
.city-review-header .brand-copy strong { font-size:23px; }
.city-review-header .brand-copy > span { font-size:11px; letter-spacing:3.5px; }
.city-review-edition { color:#556c7a; font-size:13px; text-transform:uppercase; letter-spacing:1px; font-weight:600; }
.city-review-main { max-width:1200px; margin:auto; padding:56px 24px 72px; }
.city-review-intro { max-width:770px; margin-bottom:36px; }
.city-review-intro .location-kicker { margin-bottom:16px; }
.city-review-intro h1 { font-family:'Barlow Condensed',Impact,sans-serif; font-size:clamp(42px,5.2vw,68px); line-height:1; text-transform:uppercase; margin:0 0 20px; letter-spacing:-.5px; }
.city-review-intro > p:last-child { max-width:660px; color:#536a7b; font-size:19px; line-height:1.55; margin:0; }
.city-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.city-review-card { min-width:0; background:white; border:1px solid #d5dedf; padding:26px; text-decoration:none; display:flex; flex-direction:column; min-height:238px; color:#102e42; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.city-review-card:hover { border-color:#ac7c24; box-shadow:0 5px 20px #0f2e4210; transform:translateY(-2px); }
.city-review-card:focus-visible { outline:3px solid #ac7c24; outline-offset:4px; }
.city-review-card-number { color:#a47624; font-size:12px; font-weight:700; letter-spacing:1.8px; margin-bottom:16px; }
.city-review-card h2 { font-family:'Barlow Condensed',Impact,sans-serif; font-size:34px; line-height:1; margin:0 0 12px; text-transform:uppercase; }
.city-review-card p { font-size:16px; line-height:1.45; color:#536a7b; margin:0 0 22px; }
.city-review-card-action { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:16px; border-top:1px solid #e4e9e9; font-size:14px; font-weight:700; }
.city-review-card-action > span { color:#a47624; font-size:22px; line-height:1; }
.city-review-footer { max-width:1200px; margin:0 auto; padding:0 24px 30px; color:#627580; font-size:13px; line-height:1.6; }
.city-review-footer p { border-top:1px solid #d8dfdf; padding-top:24px; margin:0; }
@media(max-width:900px) { .city-review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .city-review-grid { grid-template-columns:1fr; gap:14px; } .city-review-header-inner { min-height:82px; padding:16px 20px; } .city-review-edition { font-size:11px; max-width:90px; text-align:right; } .city-review-main { padding:38px 20px 44px; } .city-review-intro { margin-bottom:28px; } .city-review-intro > p:last-child { font-size:17px; } .city-review-card { min-height:210px; padding:24px; } .city-review-bar > div { padding:10px 20px; } .city-review-bar > div > span { font-size:11px; } .city-review-footer { padding:0 20px 24px; } }
@media(prefers-reduced-motion:reduce) { .city-review-card { transition:none; } }
