/* Cybersecurity and Digital forensics services on phones and tablets (25 Sep 2026 audit). Loaded last by both pages, so
   these override their own styles only at the widths named; desktop is untouched. */

/* the chapter bar scrolls sideways without a scrollbar; a fade on the right says there is more (the script keeps the
   current chapter in view) */
@media (max-width: 1100px) {
  .cy-jump .cy-in { scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent); }
  .cy-jump .cy-in::-webkit-scrollbar { display: none; }
  .cy main [id] { scroll-margin-top: calc(var(--cy-header) + var(--cy-jump) + 30px); }
}

/* tablets: heroes without the fixed tall floor, and lifecycle / coverage grids without a half-empty last row */
@media (max-width: 900px) {
  .cy-hero-grid, .df-hero-in { min-height: 0; }
  .cy-lifecycle .cy-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cy-lifecycle .cy-in > :last-child:nth-child(odd), .cy-coverage-list > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  /* buttons: stacked, full width, label and arrow together */
  .cy .cy-actions .cy-button { flex: 1 1 100%; gap: 12px; font-size: 14px; padding-inline: 20px; }
  .df #incident-response .cy-button, .df-hero .cy-button { font-size: 14px; padding-inline: 20px; }
  .cy-link { min-height: 44px; margin-top: 12px; }

  /* Cybersecurity */
  .cy-lifecycle .cy-in, .cy-coverage-list { grid-template-columns: 1fr; }
  .cy-coverage-list { gap: 18px; }
  .cy-lifecycle .cy-in > :last-child:nth-child(odd), .cy-coverage-list > :last-child:nth-child(odd) { grid-column: auto; }
  .cy-operations-principles li > span { flex: 0 0 38px; font-variant-numeric: tabular-nums; }
  .cy-decision { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .cy-decision > span { grid-column: 1 / -1; }
  .cy-decision b { text-align: center; background: transparent; box-shadow: inset 0 0 0 1px #c9d6ea; }

  /* Digital forensics */
  .df-monitor-outcomes { grid-template-columns: 1fr; gap: 14px; }
  .df-monitor-outcomes b { font-size: 15px; }
  .df .df-monitor-outcomes p { font-size: 14px; }
  .df-six-questions > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; width: 100%; }
  .df-verdict-out b i { display: none; }
  .df-verdict-out b { display: flex; flex-direction: column; gap: 2px; }
  .df-assurance span { font-size: 12px; }
  .df .df-hero-lab, .df-hero .cy-crumb { font-size: 12px; }
  .df-techniques li::before { left: 0; right: 0; border-radius: 12px 12px 0 0; }
  .cy form textarea { min-height: 104px; }
}
