/* Cross-device layer shared by the Intelligence, Zero-Day, and AI Threats pages. */
html, body { max-width: 100%; overflow-x: hidden; }
main, section, article, div { min-width: 0; }
img { max-width: 100%; }
button, .primary { min-height: 44px; }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 4px;
}

@media (max-width: 1100px) and (min-width: 761px) {
  .topbar {
    height: auto;
    min-height: 82px;
    padding-top: 10px;
    padding-bottom: 10px;
    flex-wrap: wrap;
    row-gap: 8px;
  }

  .topbar .brand { margin-right: auto; }
  .topbar nav {
    order: 3;
    width: 100%;
    margin-left: 0;
    padding-top: 10px;
    border-top: 1px solid var(--line);
    justify-content: center;
    gap: clamp(14px, 2.4vw, 26px);
  }
}

@media (max-width: 960px) {
  .ai-hero {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 44px;
    padding-top: 70px;
  }

  .threat-radar { width: min(520px, 82vw); }
  .surface-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .topbar {
    height: 72px;
    min-height: 72px;
    padding: 0 18px;
    gap: 12px;
  }

  .brand-logo { width: 160px; height: 54px; }
  .topbar nav {
    top: 100%;
    max-height: calc(100vh - 72px);
    overflow-y: auto;
    gap: 0;
    padding: 8px 18px 18px;
    border-top: 1px solid var(--line);
  }

  .topbar nav a {
    display: flex;
    align-items: center;
    min-height: 46px;
    border-bottom: 1px solid var(--line);
  }

  .menu { min-width: 58px; min-height: 44px; }
  .hero h1, .ai-hero h1, .zd-hero h1 { line-height: 1.02; }
  .ai-hero { padding: 60px 22px; }
  .ai-hero-copy > p:not(.eyebrow), .zd-hero .hero-clock-copy > .lede { font-size: 17px; }
  .now-grid { grid-template-columns: 1fr; }
  .surface-tab { min-height: 72px; }
  .site-footer > div { line-height: 2; }
}

@media (max-width: 480px) {
  .brand-logo { width: 145px; }
  .hero h1, .ai-hero h1, .zd-hero h1 { font-size: clamp(39px, 12vw, 48px); }
  .section-head h2, .section h2 { overflow-wrap: break-word; }
  .radar-placement { align-items: flex-start; flex-direction: column; }
  .clock-marker { font-size: 8px; }
  .clock-marker b { font-size: 13px; }
  .clock-core span { font-size: 8px; }
  .clock-core small { font-size: 9px; letter-spacing: .08em; }
}

@media (hover: none) and (pointer: coarse) {
  .category-card:hover, .evidence-grid a:hover { transform: none; }
  button, a { -webkit-tap-highlight-color: rgba(0,168,200,.18); }
}
