.eng-mechanism { padding: 24px; background: #f4f8fa; border: 1px solid #dbe4e8; border-radius: 12px; }
.eng-mechanism h2 { margin: 0 0 22px; font-size: 1.8rem; }
.eng-mechanism__states { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; text-align: center; }
.eng-mechanism__states h3 { margin: 0; font-size: 1.1rem; }
.eng-mechanism__states p { margin: 8px 0 0; font-size: 1rem; }
.eng-mechanism img { border: 0; box-shadow: none; background: transparent; aspect-ratio: 3 / 1; object-fit: cover; }
.eng-mechanism .eng-figure__open { display: inline-flex; min-height: 44px; align-items: center; color: #15803d; font-weight: 700; }
.eng-mechanism__note { margin-top: 20px !important; font-size: .95rem !important; }
@media (max-width: 600px) {
  .eng-mechanism { padding: 16px; }
  .eng-mechanism__states { gap: 12px; }
  .eng-mechanism__states p { font-size: .9rem; }
  .eng-mechanism figcaption { width: auto; max-width: 100%; }
}
