/* Federal solution page: extras on top of pages.css */

/* hero: Coralogix Federal lockup and the illustration */
.fed-badge { display: block; height: 40px; width: auto; margin: 0 auto 32px; }
.fed-hero h1 { max-width: 1000px; }
.fed-hero-art { position: relative; max-width: 560px; margin: 64px auto 0; }
.fed-hero-art img { display: block; width: 100%; height: auto; -webkit-mask-image: linear-gradient(#000 72%, transparent); mask-image: linear-gradient(#000 72%, transparent); }

/* isometric illustrations, set on a soft mint glow */
.fed-art { position: relative; }
.fed-art::before { content: ""; position: absolute; inset: 8% 6%; border-radius: 50%; background: radial-gradient(closest-side, rgba(19,233,137,.14), transparent 75%); filter: blur(20px); pointer-events: none; }
.fed-art img { position: relative; display: block; width: 100%; height: auto; }

/* ingest: highlights and the log-stream animation */
.fed-points { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.fed-points li { padding-left: 18px; border-left: 1px solid rgba(19,233,137,.4); font-size: 15.5px; line-height: 1.5; color: var(--fg-2); }
.fed-points b { color: var(--fg); font-weight: 600; }
.fed-anim { padding: 24px; background: radial-gradient(90% 90% at 50% 50%, rgba(19,233,137,.06), transparent 70%), var(--bg-1); }
.fed-anim .lottie { width: 100%; filter: var(--flip, invert(.95) hue-rotate(180deg)); } /* drawn on white */
.fed-anim .lottie svg { display: block; }

/* federal sales leader */
.fed-leader { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); max-width: 1040px; margin: 0 auto; }
.fed-leader-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 14px; border: 1px solid var(--line-2); }
.fed-leader-logo { height: 26px; width: auto; display: block; margin-bottom: 24px; }
.fed-leader figcaption { margin: 0 0 20px; font-size: 14.5px; letter-spacing: .02em; }
.fed-leader figcaption b { font-size: 22px; letter-spacing: -0.02em; margin-bottom: 4px; }
.fed-leader p { font-size: 15.5px; line-height: 1.7; color: var(--fg-2); }
.fed-leader p + p { margin-top: 14px; }
.fed-leader-cta { margin-top: 28px; }

/* final CTA numbers */
.fed-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; max-width: 900px; margin: 88px auto 0; text-align: left; }
.fed-stats div { padding-left: 24px; border-left: 1px solid rgba(19,233,137,.4); }
.fed-stats b { display: block; font-size: clamp(36px, 4vw, 52px); line-height: 1; font-weight: 600; letter-spacing: -0.045em; color: var(--accent); }
.fed-stats span { display: block; margin-top: 10px; font-size: 15px; color: var(--fg-2); }

@media (max-width: 960px) {
  .fed-leader { grid-template-columns: minmax(0, 1fr); }
  .fed-leader-photo { max-width: 320px; }
  .fed-stats { grid-template-columns: minmax(0, 1fr); gap: 24px; max-width: 420px; margin-top: 64px; }
}
@media (max-width: 560px) {
  .fed-badge { height: 30px; margin-bottom: 24px; }
  .fed-hero-art { margin-top: 44px; }
  .fed-anim { padding: 12px; }
  .fed-leader-cta .btn { width: 100%; justify-content: center; }
}
