/* Harville Plumbing Co. — the OLD pattern, replicated from the F11 finding
   as filed (KDG Lab #006, retrofit exhibit). The defect is the .reveal block
   below: content hidden by author CSS, visibility restored only by script,
   no noscript fallback, no reduced-motion fallback. */

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: #22303a;
  background: #ffffff;
}
.wrap { max-width: 720px; margin: 0 auto; padding: 0 22px; }

.hero { background: #1f4e79; color: #fff; padding: 64px 0 56px; text-align: center; }
.hero h1 { font-size: 2.3rem; line-height: 1.1; }
.hero .tag { margin-top: 12px; opacity: .85; }
.cta {
  display: inline-block;
  background: #e9a13b;
  color: #22303a;
  font-weight: 700;
  text-decoration: none;
  padding: 14px 26px;
  border-radius: 8px;
  margin-top: 24px;
}
.call { margin-top: 12px; font-size: .92rem; }
.call a { color: #cfe0ee; }

section { padding: 48px 0; }
section h2 { font-size: 1.5rem; margin-bottom: 16px; }
.grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 640px) { .grid { grid-template-columns: repeat(3, 1fr); } }
.box { border: 1px solid #dde4ea; border-radius: 8px; padding: 16px; background: #fbfcfd; }
.box h3 { font-size: 1.05rem; margin-bottom: 6px; }
.box p { font-size: .93rem; color: #4c5b66; }
.box .who { margin-top: 10px; font-size: .84rem; color: #7b8790; }

.cta-band { background: #eef3f8; text-align: center; }
.foot { background: #16364f; color: #d8e2ea; padding: 30px 0 36px; font-size: .9rem; }
.foot .fine { opacity: .6; margin-top: 8px; font-size: .8rem; }

/* THE DEFECT (as filed, F11): everything below the hero starts invisible and
   stays invisible until scripting hands it back. No JavaScript, no page. */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.visible {
  opacity: 1;
  transform: none;
}

/* ---- kdg-retrofit-f11 v1 -- appended by apply_patch.py; nothing above this
   line changed. Makes the page complete without JavaScript and calm under
   prefers-reduced-motion, without altering the JS-on appearance:
   - (scripting: none): browsers with scripting unavailable/off render all
   - the noscript <style> line (inserted in index.html): same cover for
     browsers that predate the scripting media query
   - (prefers-reduced-motion: reduce): content stands, nothing animates
   The one world this CANNOT cover: scripting ON but the reveal script never
   arrives -- only the clean-sheet architecture removes that (BUDGETS.md L1,
   the hider and the revealer must be the same file). ---- */
@media (scripting: none) {
  .reveal { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}
/* ---- end kdg-retrofit-f11 v1 ---- */
