:root {
  color-scheme: dark;
  --forensic-black: #050505;
  --forensic-paper: #f3f3f1;
  --forensic-soft: rgba(243, 243, 241, 0.62);
  --forensic-quiet: rgba(243, 243, 241, 0.36);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--forensic-black); }
body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background: var(--forensic-black);
  color: var(--forensic-paper);
  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }

.skip-link,
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link:focus {
  z-index: 1100;
  top: 12px;
  left: 12px;
  width: auto;
  height: auto;
  margin: 0;
  padding: 10px 14px;
  clip: auto;
  background: var(--forensic-paper);
  color: #050505;
  font-size: 0.72rem;
  font-weight: 700;
}

.forensics-shell { overflow: clip; }
.forensics-wrap { width: min(calc(100% - clamp(44px, 10vw, 152px)), 1380px); margin: 0 auto; }

.forensics-hero {
  display: grid;
  min-height: 680px;
  align-items: center;
  padding: 112px 0 66px;
  background: var(--forensic-black);
}

.forensics-hero .forensics-wrap {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(360px, 0.84fr);
  gap: clamp(46px, 6vw, 96px);
  align-items: center;
}

.forensics-copy h1 {
  margin: 0;
  color: var(--forensic-paper);
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(2.35rem, 4vw, 4.45rem);
  font-weight: 520;
  letter-spacing: -0.078em;
  line-height: 0.93;
}

.forensics-copy h1 em { color: rgba(243, 243, 241, 0.52); font-style: normal; }

.forensics-lead {
  max-width: 570px;
  margin: 31px 0 0;
  color: var(--forensic-soft);
  font-size: clamp(0.88rem, 1.05vw, 1rem);
  font-weight: 450;
  letter-spacing: -0.025em;
  line-height: 1.55;
}

.forensics-lead p { margin: 0; }
.forensics-lead p + p { margin-top: 13px; }
.forensics-lead strong { color: rgba(243, 243, 241, 0.88); font-weight: 650; }

.forensics-cta {
  display: inline-flex;
  gap: 11px;
  align-items: center;
  margin-top: 37px;
  padding: 13px 16px 13px 18px;
  border: 1px solid rgba(243, 243, 241, 0.16);
  border-radius: 999px;
  background: rgba(243, 243, 241, 0.92);
  color: #0a0a0b;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.63rem;
  font-weight: 800;
  letter-spacing: 0.095em;
  text-transform: uppercase;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.forensics-cta b { color: rgba(10, 10, 11, 0.64); font-size: 1.03rem; font-weight: 500; line-height: 0.6; }
.forensics-cta:hover, .forensics-cta:focus-visible { border-color: #fff; background: #fff; color: #050505; transform: translateY(-1px); }

.forensics-visual {
  position: relative;
  width: min(100%, 485px);
  justify-self: end;
  margin: 0;
  aspect-ratio: 0.96;
}

.forensics-layer-stack {
  position: absolute;
  inset: 0;
  perspective: 1100px;
  transform-style: preserve-3d;
}

.forensics-core-glow {
  position: absolute;
  top: 24%;
  right: 9%;
  bottom: 15%;
  left: 22%;
  background:
    radial-gradient(ellipse at 58% 48%, rgba(236, 236, 239, 0.24) 0%, rgba(132, 133, 141, 0.14) 38%, transparent 70%),
    radial-gradient(ellipse at 15% 48%, rgba(255, 255, 255, 0.065), transparent 63%);
  filter: blur(23px);
}

.forensics-plane {
  position: absolute;
  display: block;
  width: 67%;
  height: 65%;
  border: 1px solid rgba(219, 228, 239, 0.13);
  clip-path: polygon(0 9%, 91% 0, 100% 86%, 9% 100%);
  box-shadow: 0 22px 55px rgba(0, 0, 0, 0.18);
  transform-origin: center;
}

.forensics-plane:nth-of-type(2) {
  top: 22%;
  left: 2%;
  background: linear-gradient(135deg, rgba(31, 32, 36, 0.6), rgba(11, 11, 13, 0.16));
  transform: rotate(-5deg) translate3d(0, 4px, -80px);
}

.forensics-plane:nth-of-type(3) {
  top: 19%;
  left: 7%;
  background: linear-gradient(135deg, rgba(47, 48, 53, 0.55), rgba(17, 17, 20, 0.17));
  transform: rotate(-4.2deg) translate3d(0, 0, -64px);
}

.forensics-plane:nth-of-type(4) {
  top: 17%;
  left: 12%;
  background: linear-gradient(135deg, rgba(67, 68, 74, 0.5), rgba(27, 27, 31, 0.18));
  transform: rotate(-3.5deg) translate3d(0, -2px, -48px);
}

.forensics-plane:nth-of-type(5) {
  top: 14%;
  left: 17%;
  background: linear-gradient(135deg, rgba(88, 89, 96, 0.46), rgba(41, 41, 46, 0.2));
  transform: rotate(-2.7deg) translate3d(0, -4px, -32px);
}

.forensics-plane:nth-of-type(6) {
  top: 12%;
  left: 22%;
  background: linear-gradient(135deg, rgba(112, 113, 120, 0.42), rgba(55, 55, 61, 0.21));
  transform: rotate(-2deg) translate3d(0, -6px, -16px);
}

.forensics-plane:nth-of-type(7) {
  top: 10%;
  left: 27%;
  background: linear-gradient(135deg, rgba(139, 140, 146, 0.38), rgba(68, 68, 74, 0.22));
  transform: rotate(-1.4deg) translate3d(0, -8px, 0);
}

.forensics-plane:nth-of-type(8) {
  top: 8%;
  left: 32%;
  background: linear-gradient(135deg, rgba(166, 166, 172, 0.34), rgba(80, 80, 86, 0.23));
  transform: rotate(-0.8deg) translate3d(0, -10px, 16px);
}

.forensics-plane:nth-of-type(9) {
  top: 7%;
  left: 37%;
  background: linear-gradient(135deg, rgba(192, 192, 196, 0.3), rgba(92, 92, 98, 0.24));
  transform: rotate(-0.35deg) translate3d(0, -11px, 32px);
}

.forensics-plane:nth-of-type(10) {
  top: 6%;
  left: 42%;
  background: linear-gradient(135deg, rgba(218, 218, 221, 0.27), rgba(104, 104, 110, 0.23));
  transform: rotate(0.3deg) translate3d(0, -12px, 48px);
}

[data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity 680ms cubic-bezier(0.16, 1, 0.3, 1), transform 780ms cubic-bezier(0.16, 1, 0.3, 1); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 880px) {
  .forensics-hero { min-height: 0; padding-top: 118px; }
  .forensics-hero .forensics-wrap { grid-template-columns: 1fr; gap: 62px; }
  .forensics-visual { width: min(100%, 520px); justify-self: start; }
}

@media (max-width: 620px) {
  .forensics-wrap { width: min(100% - 44px, 560px); }
  .forensics-hero { min-height: 0; padding: 124px 0 86px; }
  .forensics-copy h1 { font-size: clamp(3.05rem, 14.2vw, 4.7rem); }
  .forensics-lead { margin-top: 25px; font-size: 0.97rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
