/* Computer forensic investigations: the method as an always-open sequence beside one editorial image. */
.df-inv-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: clamp(35px, 4.4vw, 84px); }
.df-inv-copy { min-width: 0; }
.df-method { position: relative; display: grid; gap: 4px; margin-top: 30px; counter-reset: none; }
.df-method::before { content: ''; position: absolute; left: 19px; top: 22px; bottom: 22px; width: 2px; background: linear-gradient(180deg, #e0343c, #2f6db0 40%, #b9cbe4); }
.df-method li { position: relative; display: grid; grid-template-columns: 40px 1fr; gap: 20px; align-items: start; padding: 13px 18px 13px 0; border-radius: 12px; }
.df-method li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 2px #2f6db0; color: #174a86; font: 700 12px ui-monospace, SFMono-Regular, Menlo, monospace; transition: background .2s, color .2s, box-shadow .2s; }
.df-method li:first-child > span { box-shadow: inset 0 0 0 2px #e0343c; color: #c42533; }
.df-method b { display: block; padding-top: 8px; font-size: 18px; line-height: 1.25; font-weight: 800; color: #11234e; letter-spacing: -.02em; }
.df .df-method p { margin-top: 6px; font-size: 14px; line-height: 1.7; color: #5b6d87; max-width: 560px; }
.df-method li:hover > span { background: #174a86; color: #fff; box-shadow: none; }
.df-editorial-art { min-width: 0; margin: 0; }
.df-editorial-art img { width: 100%; height: clamp(490px, 64vh, 700px); display: block; object-fit: cover; object-position: center; border-radius: 13px; background: var(--navy); }
.df-editorial-art figcaption { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding-top: 15px; }
.df-editorial-art figcaption span { font-size: 12px; font-weight: 700; color: #506b94; }
.df-editorial-art figcaption small { font-size: 10px; color: #8490a8; flex: none; }
@media (min-width: 1100px) and (min-height: 700px) and (max-height: 950px) {
  .df-method { margin-top: 18px; gap: 0; }
  .df-method li { padding-block: 8px; grid-template-columns: 34px 1fr; gap: 16px; }
  .df-method li > span { width: 34px; height: 34px; font-size: 11px; }
  .df-method::before { left: 16px; }
  .df-method b { font-size: 16px; padding-top: 6px; }
  .df .df-method p { font-size: 12.5px; line-height: 1.6; margin-top: 3px; }
  .df-editorial-art img { height: 520px; }
  .df-editorial-art figcaption { padding-top: 10px; }
}
@media (max-width: 1100px) {
  .df-inv-grid { gap: 32px; }
  .df-editorial-art img { height: 560px; }
  .df-editorial-art figcaption { display: block; }
  .df-editorial-art figcaption small { display: block; margin-top: 5px; }
}
@media (max-width: 900px) {
  .df-inv-grid { grid-template-columns: 1fr; }
  .df-editorial-art img { height: auto; aspect-ratio: 1.4; }
}
@media (prefers-reduced-motion: reduce) { .df-method li > span { transition: none; } }
