.container { width: min(1100px, 92vw); margin: 0 auto; }
.hero-compact { padding-block: 2.25rem; }

/* Executive summary */
.summary { padding: 1.5rem 0 2rem; }
.summary .container {
  display: grid; gap: 1rem; grid-template-columns: 1.6fr .9fr;
}
.summary-body p { color: #475467; }
.bullets { margin-top: .6rem; padding-left: 1.1rem; }
.kpiblock { display: grid; gap: .75rem; }
.kpi {
  background: #fff; border: 1px solid #e7ebf0; border-radius: 12px; padding: .9rem 1rem;
  box-shadow: 0 4px 16px rgba(16,24,40,.06);
}
.kpi strong { font-size: 1.6rem; display: block; }
.kpi span   { color: #667085; }

@media (max-width: 900px) {
  .summary .container { grid-template-columns: 1fr; }
}

/* Inside */
.inside { background: #f8f9fb; padding: 1.75rem 0 2rem; }
.inside h2 { text-align: center; margin-bottom: .9rem; }
.grid {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.inside-card {
  background: #fff; border: 1px solid #e7ebf0; border-radius: 12px;
  padding: 1rem; min-height: 160px; box-shadow: 0 4px 16px rgba(16,24,40,.06);
}
.inside-card h3 { margin-bottom: .3rem; }

/* Download */
.download { padding: 2rem 0; }
.download-card {
  background: #fff; border: 1px solid #e7ebf0; border-radius: 12px;
  box-shadow: 0 6px 18px rgba(16,24,40,.08);
  padding: 1rem;
  display: grid; gap: 1rem;
  grid-template-columns: 1.1fr 1fr;
}
@media (max-width: 900px) {
  .download-card { grid-template-columns: 1fr; }
}
.dl-copy p { color: #475467; }
.tiny { margin-top: .5rem; padding-left: 1.1rem; color: #667085; }

.dl-form .field { margin-bottom: .65rem; }
.dl-form label { display: block; font-weight: 600; margin-bottom: .35rem; }
.dl-form label span { color: #d92d20; }
.dl-form input {
  width: 100%; padding: .65rem .8rem; border: 1px solid #d0d5dd; border-radius: 10px;
}
.checkline .ck { display: inline-flex; gap: .55rem; align-items: center; }
.checkline input { width: 18px; height: 18px; }

.status {
  margin-bottom: .6rem; border-radius: 10px; padding: .55rem .75rem; border: 1px solid transparent;
}
.status.ok { background: #ecfdf3; border-color: #a6f4c5; color: #027a48; }
.status.err { background: #fef3f2; border-color: #fecaca; color: #b42318; }

.actions { display: flex; gap: .6rem; margin-top: .4rem; }
.note { color: #667085; margin-top: .6rem; }

/* Accessibility helpers */
.hp { position: absolute; left: -99999px; width: 1px; height: 1px; overflow: hidden; }
.error { color: #d92d20; font-size: .85rem; min-height: 1em; display: inline-block; margin-top: .25rem; }
