.ess { max-width: 72rem; }
.ess-lead { font-size: 1.05rem; color: #4a453c; margin: 0 0 1.4rem; }
.ess-form { background: #fff; padding: 1.3rem 1.4rem; box-shadow: 0 10px 28px rgba(10, 16, 32, 0.08); margin-bottom: 1.6rem; }
.ess-form label { display: grid; gap: 0.35rem; }
.ess-form input[type="url"],
.ess-form input[type="number"] {
  border: 1px solid #d8d2c6;
  padding: 0.65rem 0.75rem;
  font: inherit;
}
.ess-fine { font-size: 0.85rem; color: #6b6458; margin: 0.2rem 0 0.6rem; }
.ess-hp { position: absolute; left: -9999px; height: 0; width: 0; opacity: 0; }
.ess-report { margin-top: 2rem; }
.ess-report__head h2 { margin: 0.2rem 0 0.4rem; }
.ess-kicker {
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.72rem;
  font-weight: 700;
  color: #8a7340;
  margin: 0;
}
.ess-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: 0.8rem;
  margin: 1.2rem 0;
}
.ess-card {
  background: #fff;
  padding: 0.9rem 1rem;
  border-top: 2px solid #c4a05a;
  box-shadow: 0 8px 20px rgba(10, 16, 32, 0.06);
}
.ess-card span { display: block; font-size: 0.75rem; color: #6b6458; letter-spacing: 0.06em; text-transform: uppercase; }
.ess-card strong { font-size: 1.35rem; }
.ess-ctx { font-size: 0.92rem; color: #4a453c; }
.ess-findings { margin: 0 0 1.4rem; padding-left: 1.2rem; }
.ess-table td em { color: #8a3a4a; font-style: normal; }
.ess.is-busy .ess-submit { opacity: 0.7; pointer-events: none; }
.ess-busy { margin: 0.8rem 0 0; font-weight: 600; }
