/* Audit corrections: layouts constrain their own children instead of hiding page overflow. */
.hero-grid > *, .control-room, .control-body, .control-events, .service-ticker { min-width: 0; max-width: 100%; box-sizing: border-box; }
.control-room > header { flex-wrap: wrap; gap: .75rem; }
.control-chart { min-width: 0; }
.control-chart svg { display: block; width: 100%; max-width: 100%; }
.control-events > div { grid-template-columns: 4rem minmax(0, 1fr) auto; }
.control-events span { white-space: normal; overflow-wrap: anywhere; }
.service-ticker { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; }
.service-ticker > span { white-space: normal; min-width: 0; overflow-wrap: anywhere; animation: none; }
.audit-footer { background: #04131a; color: #c3d2d8; padding: 3.5rem 0 1.5rem; font-family: 'Archivo', sans-serif; }
.audit-footer-inner { width: min(1180px, calc(100% - 3rem)); margin: auto; }
.audit-footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 2.8rem; }
.audit-footer img { width: 132px; height: auto; filter: brightness(0) invert(1); margin-bottom: 1rem; }
.audit-footer h2 { color: white; font-size: 1rem; margin: 0 0 1.2rem; }
.audit-footer p, .audit-footer address { font-style: normal; font-size: .9rem; line-height: 1.8; margin: .7rem 0; }
.audit-footer a { color: #d2e3e9; text-decoration: none; overflow-wrap: anywhere; }
.audit-footer a:hover { color: #16c5dd; text-decoration: underline; }
.audit-footer nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; font-size: .88rem; }
.audit-footer-bottom { border-top: 1px solid #29414c; margin-top: 2.5rem; padding-top: 1.5rem; font-size: .76rem; padding-right: 4rem; }
.audit-about { color: #102b35; line-height: 1.8; }
.audit-about h2 { font-size: clamp(1.7rem, 4vw, 2.5rem); line-height: 1.15; margin: 0 0 1.5rem; }
.audit-about p { margin: 0 0 1.2rem; }
.sil-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; width: 100%; color: #e8f1f4; }
.sil-form label { display: flex; flex-direction: column; gap: .5rem; font-size: .85rem; font-weight: 600; min-width: 0; }
.sil-form input, .sil-form select, .sil-form textarea { box-sizing: border-box; width: 100%; min-width: 0; padding: .9rem; color: #102b35; background: #fff; border: 1px solid #93a6ad; border-radius: 3px; font: inherit; }
.sil-form input:focus, .sil-form select:focus, .sil-form textarea:focus { outline: 3px solid #16c5dd; outline-offset: 2px; }
.sil-form .wide, .sil-form button, .sil-form [role="alert"], .sil-form .sil-form-alternative { grid-column: 1 / -1; }
.sil-form button { padding: 1rem; min-height: 48px; background: #16c5dd; color: #071c25; border: 0; font: 700 .95rem 'Archivo', sans-serif; cursor: pointer; }
.sil-form button:disabled { opacity: .65; cursor: wait; }
.sil-form [role="alert"] { background: #fff1f1; color: #861e26; padding: 1rem; line-height: 1.6; }
.sil-form [hidden] { display: none; }
.sil-form-alternative { font-size: .83rem; line-height: 1.6; }
.sil-form-alternative a { color: #8be7f1; text-decoration: underline; }
.sil-form-success { background: #e4faf3; color: #103d32; padding: 2rem; border-left: 4px solid #2cbead; }
.sil-form-success h3 { font-size: 1.5rem; margin: 0 0 .7rem; }
.audit-location { padding: 4rem 0; background: #f4f1e9; color: #102b35; }
.audit-location-inner { width: min(1180px, calc(100% - 3rem)); margin: auto; display: grid; grid-template-columns: 1fr 1.4fr; gap: 2rem; align-items: center; }
.audit-location h2 { font-size: 2rem; line-height: 1.2; margin-bottom: 1rem; }
.audit-location p { line-height: 1.8; }
.audit-location iframe { width: 100%; height: 310px; border: 1px solid #c9c8bf; }
.audit-disclaimer { font-size: .82rem; line-height: 1.65; color: #b6c9cf; margin-top: 1.5rem; }
@media(max-width: 940px) {
  .hero-grid { grid-template-columns: minmax(0,1fr) !important; }
  .audit-footer-grid { grid-template-columns: 1fr 1fr; }
  .audit-footer-grid > :first-child { grid-column: 1 / -1; }
}
@media(max-width: 620px) {
  .problem-grid { grid-template-columns: minmax(0,1fr); }
  .problem-grid > *, .pain-list, .pain-list article { min-width: 0; }
  .problem-grid h2 { font-size: clamp(30px,9vw,39px); overflow-wrap: break-word; }
  .contact-intro { grid-template-columns: minmax(0,1fr); }
  .contact-intro > *, .contact-intro address, .contact-intro a { min-width: 0; overflow-wrap: anywhere; }
  .contact-intro h2 { font-size: clamp(30px,9vw,39px); }
  .control-room { width: 100%; transform: none !important; }
  .control-room .live-badge { position: static; display: block; width: fit-content; margin: .8rem; transform: none; }
  .control-room > header { display: grid; grid-template-columns: minmax(0,1fr); }
  .control-chart > span, .control-chart > b { position: static; display: block; white-space: normal; font-size: .6rem; }
  .control-events > div { display: grid; grid-template-columns: 3.5rem minmax(0,1fr); gap: .5rem; }
  .control-events > div > strong { grid-column: 2; }
  .control-metrics b { font-size: 1.7rem; }
  .service-ticker > strong, .service-ticker > span { width: 100%; }
  .audit-footer-grid, .audit-location-inner, .sil-form { grid-template-columns: minmax(0,1fr); }
  .audit-footer-grid > :first-child { grid-column: auto; }
  .audit-footer-inner, .audit-location-inner { width: calc(100% - 2rem); }
  .hero-actions, .hero-actions > a { max-width: 100%; box-sizing: border-box; white-space: normal; }
}
