/* Cyber security page: hero logo strip, AI pillars, logo grid, customer stories, article cards */

/* hero: the live app window (shared .is-app layout), then the cybersecurity logo strip */
.cy-trust { margin: 96px auto 0; max-width: 1040px; }
.cy-trust-h { font-size: clamp(20px, 2vw, 24px); font-weight: 500; letter-spacing: -0.02em; color: var(--fg-2); }
.cy-sec-logos { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.cy-sec-logos li { display: flex; align-items: center; justify-content: center; height: 96px; border: 1px solid var(--line); border-radius: 16px; background: rgb(var(--ink) / .015); }
.cy-sec-logos img { display: block; width: 100%; max-width: 170px; height: auto; max-height: 78px; object-fit: contain; filter: var(--silhouette); opacity: .72; transition: opacity .2s; }
.cy-sec-logos li:hover img { opacity: 1; }

/* ───── AI observability: four pillars ───── */
.cy-pillars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cy-pillar { padding: 30px 28px; }
.cy-pillar h3 { font-size: 18.5px; font-weight: 600; letter-spacing: -0.02em; margin-bottom: 12px; }
.cy-pillar p { font-size: 15px; line-height: 1.6; color: var(--fg-2); }
.cy-pillars + .showcase-cta { margin-top: 48px; }

/* ───── Customer logos: shown as white marks ───── */
.cy-logos { list-style: none; margin: 0 auto 56px; padding: 0; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); align-items: center; gap: 12px 20px; }
.cy-logos li { display: flex; align-items: center; justify-content: center; }
.cy-logos img { display: block; height: auto; width: 100%; max-width: 132px; max-height: 50px; object-fit: contain; filter: var(--silhouette); opacity: .62; transition: opacity .2s; }
.cy-logos img:hover { opacity: 1; }

/* ───── Customer stories ───── */
.cy-stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cy-story { margin: 0; padding: 32px; display: flex; flex-direction: column; }
.cy-story-logo { display: block; height: 44px; width: auto; margin: -6px 0 18px -4px; filter: var(--silhouette); opacity: .9; align-self: flex-start; }
.cy-story blockquote { flex: 1; font-size: 16.5px; line-height: 1.55; letter-spacing: -0.01em; color: var(--fg); }
.cy-story figcaption { margin-top: 20px; font-size: 14px; color: var(--fg-2); }
.cy-story figcaption b { display: block; color: var(--fg); font-weight: 500; }
.cy-story-stats { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.cy-story-stats b { display: block; font-size: 28px; line-height: 1; font-weight: 600; letter-spacing: -0.04em; color: var(--accent); }
.cy-story-stats span { display: block; margin-top: 8px; font-size: 13px; line-height: 1.45; color: var(--fg-2); }
.cy-story .link { margin-top: 24px; font-size: 14.5px; }

/* ───── Related articles ───── */
.cy-guides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cy-guide { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.cy-guide-img { aspect-ratio: 1024 / 536; overflow: hidden; border-bottom: 1px solid var(--line); background: var(--bg-1); }
.cy-guide-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.cy-guide:hover .cy-guide-img img { transform: scale(1.03); }
.cy-guide-body { display: flex; flex-direction: column; flex: 1; padding: 26px 28px 28px; }
.cy-guide-tag { font-family: var(--mono); font-size: 12.5px; color: var(--accent); }
.cy-guide h3 { margin-top: 12px; font-size: 19px; line-height: 1.35; font-weight: 600; letter-spacing: -0.02em; }
.cy-guide p { flex: 1; margin-top: 12px; font-size: 14.5px; line-height: 1.6; color: var(--fg-2); }
.cy-guide-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; }
.cy-guide-foot small { font-family: var(--mono); font-size: 12px; color: var(--fg-3); }
.cy-guide-foot .link { font-size: 14px; }

/* final CTA: fine print under the buttons, stats as headline numbers */
.final .fine { text-align: center; }
.final .facts span { font-size: 22px; letter-spacing: -0.02em; font-family: inherit; font-weight: 600; text-transform: none; }

@media (max-width: 1120px) {
  .cy-pillars { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cy-stories { gap: 16px; }
  .cy-story { padding: 28px 26px; }
  .cy-story-stats b { font-size: 24px; }
}
@media (max-width: 960px) {
  .cy-trust { margin-top: 80px; }
  .cy-sec-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 640px; margin-left: auto; margin-right: auto; }
  .cy-guides, .cy-stories { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin: 0 auto; }
  .cy-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 720px; gap: 8px 28px; }
}
@media (max-width: 560px) {
  .cy-trust { margin-top: 64px; }
  .cy-sec-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .cy-sec-logos li { height: 78px; }
  .cy-sec-logos li:last-child { grid-column: 1 / -1; }
  .cy-pillars { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .cy-pillar, .cy-story { padding: 26px; }
  .cy-guide-body { padding: 22px 24px 24px; }
  .cy-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 24px; margin-bottom: 40px; }
}

/* Imperva's vector mark is drawn tighter than the other boxed logos: scale it to match */
.cy-sec-logos img.cy-sec-vector { max-width: 128px; }

/* Light skin: small green text uses --mint (≥4.5:1 on the light surfaces); --accent stays for dots, fills,
   borders and large numbers. Light only, so the dark skin is unchanged. */
:root[data-theme="light"] .cy-guide-tag { color: var(--mint); }
