/* H30 v0.9.1: targeted contrast and copy-cleanup refinements.
   Layout, imagery, full logo, favicon and footer structure are preserved. */
body { --blue: #006f97; }
body .button { color: #fff; background: #c44710; }
body .button:hover { color: #fff; background: #a5360b; }
body .text-link { color: #a83c12; }
/* Retain the lighter accent where the background is navy. */
body .area-intro .text-link { color: #ffae87; }
body .service-feature-copy .text-link { color: #ffae87; }
body .form-preview-notice a { color: #075575; text-decoration: underline; text-underline-offset: 3px; }
body .form-preview-notice { color: #52636d; }
body .form-status:not(:empty) { color: #123d54; }
body .form-status[data-state="error"] { color: #9a2d18; }
body .form-status[data-state="success"] { color: #205535; }
/* Source-label SVGs must shrink independently of long labels. */
.city-source-link svg, .service-answer-link svg { flex: 0 0 14px; }
.city-source-link, .service-answer-link { overflow-wrap: anywhere; }
/* Keep the gallery title typography while correcting its heading level. */
.project-gallery .home-project-card h2 {
  font-size: calc(16 * var(--u)); line-height: 1.35; font-weight: 500;
  margin-top: calc(5 * var(--u)); letter-spacing: -.02em;
}
@media (max-width:760px) { .project-gallery .home-project-card h2 { font-size:19px; } }

/* v0.9.1: the required telephone hint stays beside its own field. */
.phone-help { display:block; color:#52626e; font-size:12px; line-height:1.5; margin-top:6px; font-weight:400; }
