/* Compact hero to keep page tight */
.hero-compact { padding-block: 2.5rem; }

/* Standards section */
.standards { padding: 2rem 1rem; }
.standards-head {
  display: flex; align-items: center; gap: 1rem;
  justify-content: space-between;
  max-width: 1100px; margin: 0 auto 1rem;
}
.std-filter input {
  width: 320px; max-width: 60vw;
  padding: .6rem .75rem; border: 1px solid #d0d5dd; border-radius: 8px;
}
.std-grid {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  max-width: 1100px; margin: 0 auto;
}
.std-card {
  background: #fff; border: 1px solid #e7ebf0; border-radius: 12px;
  padding: 1rem; box-shadow: 0 4px 16px rgba(16,24,40,.06);
  display: grid; gap: .5rem;
}
.std-icon { font-size: 1.4rem; }
.std-expand {
  justify-self: start;
  border: 1px solid #d0d5dd; background: #fff; border-radius: 8px;
  padding: .45rem .7rem; cursor: pointer;
}
.std-details { padding-top: .5rem; border-top: 1px dashed #e5e7eb; }

/* Mapping cards */
.mapping { background: #f8f9fb; padding: 2rem 1rem; }
.mapping h2, .evidence h2, .faq h2 { text-align: center; margin-bottom: .9rem; }
.map-grid {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  max-width: 1100px; margin: 0 auto;
}
.map-card {
  background: #fff; border: 1px solid #e7ebf0; border-radius: 12px;
  padding: 1rem; min-height: 140px; box-shadow: 0 4px 16px rgba(16,24,40,.06);
}

/* Evidence block */
.evidence { padding: 2rem 1rem; }
.evidence-wrap {
  max-width: 960px; margin: 0 auto;
  display: grid; gap: 1rem; grid-template-columns: 1fr auto;
}
.evidence-list { padding-left: 1rem; }
.evidence-cta { display: grid; gap: .6rem; align-content: start; }

/* FAQ */
.faq { background: #f8f9fb; padding: 2rem 1rem; }
.faq-list { max-width: 900px; margin: 0 auto; display: grid; gap: .6rem; }
.faq details {
  background: #fff; border: 1px solid #e7ebf0; border-radius: 10px; padding: .8rem 1rem;
}
.faq summary { cursor: pointer; font-weight: 600; }
