* { box-sizing: border-box; }
html { min-height: 100%; background: var(--charcoal-950); }
body {
  margin: 0;
  min-height: 100vh;
  font-family: "Times New Roman", Times, serif;
  background:
    linear-gradient(rgba(15, 17, 19, 0.72), rgba(15, 17, 19, 0.86)),
    url("../img/sentinel-audit-poster.png") center center / cover fixed no-repeat,
    var(--charcoal-950);
  color: var(--soft-gray-200);
  letter-spacing: 0;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: rgba(15, 17, 19, 0.42);
  pointer-events: none;
}
a { color: inherit; text-decoration: none; }
p { color: var(--soft-gray-300); line-height: 1.65; }
h1, h2, h3 { margin: 0; color: var(--soft-gray-100); font-weight: 700; letter-spacing: 0; }
h1 { font-size: clamp(1.65rem, 3vw, 2.7rem); }
h2 { font-size: clamp(1.45rem, 2.5vw, 2.25rem); }
h3 { font-size: 1.15rem; }
button, input, select { font: inherit; }
:focus-visible { outline: 2px solid var(--lime-primary); outline-offset: 3px; }
.svg-icon { display: inline-block; flex: 0 0 auto; }
.section-label, .page-label {
  display: block;
  color: var(--lime-primary);
  font-size: 0.75rem;
  letter-spacing: 0;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}
.muted, small { color: var(--soft-gray-400); }
.disclaimer {
  border-left: 2px solid var(--lime-primary);
  padding-left: 1rem;
  color: var(--soft-gray-300);
}
.glass-panel {
  background: rgba(21, 24, 27, 0.58);
  border: 1px solid rgba(217, 220, 223, 0.16);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.36);
  backdrop-filter: blur(18px) saturate(140%);
}
