.safetyShell{padding-top:24px}
.safetyHero{align-items:stretch}
.safetySpecimen{min-height:100%}
.safetyHeroFigure,
.safetyFigure,
.safetyDiagramFigure{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:240px;
  border:1px solid rgba(113,129,142,.18);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(244,237,227,.75));
  padding:16px;
}
.safetyHeroFigure img,
.safetyFigure img,
.safetyDiagramFigure img{width:100%; max-width:300px; height:auto; display:block}
.safetyFoundationGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.safetyFoundationCard,
.safetyDiagramCard,
.safetyCheckCard{
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,253,248,.98), rgba(247,241,231,.98));
  padding:18px;
  display:grid;
  gap:14px;
}
.safetyFoundationTop,.safetyDiagramTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.safetyFoundationTitleWrap{display:grid;gap:6px}
.safetyFoundationBadge{padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line)}
.safetyFoundationBadge.hazards{background:rgba(143,90,73,.12);border-color:rgba(143,90,73,.25);color:var(--warn)}
.safetyFoundationBadge.signals{background:rgba(113,129,142,.12);border-color:rgba(113,129,142,.25);color:var(--bluegray)}
.safetyFoundationBadge.setup{background:rgba(87,113,79,.12);border-color:rgba(87,113,79,.25);color:var(--good)}
.safetyFoundationText,.safetyDiagramText{color:var(--muted)}
.safetyFoundationList{display:grid;gap:8px}
.safetyFoundationListItem,.safetyDiagramTag{padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.6);color:var(--muted)}
.diagramGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.safetyDiagramMeta{display:flex;justify-content:space-between;gap:10px;align-items:center}
.safetyDiagramTopic{padding:8px 12px;border-radius:999px;border:1px solid rgba(113,129,142,.25);background:rgba(113,129,142,.08);color:var(--bluegray);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.safetyCheckCard{gap:10px}
.safetyCheckPrompt{font-family:Georgia, "Times New Roman", serif;font-size:1.1rem;color:#2a2723}
.safetyCheckAnswer{color:var(--muted)}
.safetyLessonGrid .lessonCard{min-height:100%}
@media (max-width: 860px){
  .safetyHero{grid-template-columns:1fr}
}
