/* AI Cyber Security — incident response landing page.
   Deep defensive blue, built on the site's own design system:
   same type scale, hairline grids and CTA geometry as the rest of ELIAMA. */

.ai-defense {
  --def-line: rgba(156, 194, 255, .22);
  --def-line-strong: rgba(156, 194, 255, .38);
  --def-text: #E9F0FB;
  --def-muted: rgba(214, 228, 250, .62);
  --def-accent: #9CC2FF;
  --def-bg: #050C1A;
  --def-panel: #0A1830;
  --def-panel-hover: #0D1E3A;
  --def-cta: #1B4F9C;
  --def-cta-hover: #16407F;

  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background:
    radial-gradient(ellipse 120% 55% at 50% -10%, rgba(43, 92, 168, .35) 0%, rgba(43, 92, 168, .08) 45%, transparent 72%),
    radial-gradient(ellipse 60% 40% at 88% 12%, rgba(96, 150, 220, .12) 0%, transparent 60%),
    var(--def-bg);
  color: var(--def-text);
}

.ai-defense__section {
  position: relative;
  padding: clamp(5rem, 10vw, 9rem) 8vw;
}

/* Same eyebrow convention as .section-section, in flow so it can never
   collide with the vertically centred hero content, and bright enough
   to stay readable on the dark background. */

.ai-defense .section-number {
  position: static;
  display: block;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  font-size: .85rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(214, 228, 250, .78);
}

/* ---------------- Hero ---------------- */

.ai-defense__hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ai-defense__status {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  align-self: flex-start;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  padding: .5rem 1rem;
  border: 1px solid var(--def-line);
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--def-accent);
}

.ai-defense__status-dot {
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: #7FD1A8;
  animation: ai-defense-pulse 2.4s ease-out infinite;
}

@keyframes ai-defense-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(127, 209, 168, .45); }
  70%  { box-shadow: 0 0 0 .6rem rgba(127, 209, 168, 0); }
  100% { box-shadow: 0 0 0 0 rgba(127, 209, 168, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .ai-defense__status-dot { animation: none; }
}

/* Same scale as .content-section h2 / .hero-copy h1. */

.ai-defense__title {
  margin: 0;
  font-size: clamp(2.5rem, 6vw, 6rem);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.08em;
  color: #F4F8FF;
}

/* Same treatment as .hero-copy .scroll-copy. */

.ai-defense__statement {
  max-width: 900px;
  margin: clamp(2rem, 5vw, 4rem) 0 0;
  font-size: clamp(1.1rem, 2.4vw, 2.8rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.045em;
  color: var(--def-accent);
}

/* Same treatment as .content-section p. */

.ai-defense__lede,
.ai-defense__intro {
  max-width: 560px;
  margin: clamp(2rem, 5vw, 4rem) 0 0;
  font-size: clamp(1rem, 1.8vw, 1.5rem);
  line-height: 1.25;
  color: var(--def-muted);
}

/* ---------------- CTA — .book-call geometry in deep blue ---------------- */

.ai-defense__call {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  width: 100%;
  min-height: 120px;
  margin: clamp(2.5rem, 5vw, 4rem) 0 0;
  padding: 1.25rem clamp(1.5rem, 4vw, 3rem);
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, .12) 0%, rgba(255, 255, 255, 0) 100%), var(--def-cta);
  color: #FFFFFF;
  font: 400 clamp(1.1rem, 2vw, 1.6rem) "Space Grotesk", sans-serif;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .07em;
  transition: background .25s, transform .25s, box-shadow .25s;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
}

.ai-defense__call:hover {
  background: linear-gradient(180deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, 0) 100%), var(--def-cta-hover);
  transform: translateY(-4px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 18px 45px rgba(27, 79, 156, .35);
}

.ai-defense__call:active {
  transform: translateY(-1px);
}

.ai-defense__call .divider-arrow {
  font-size: 1.3em;
  font-weight: 300;
  transition: transform .25s;
}

.ai-defense__call:hover .divider-arrow {
  transform: translateX(.35em);
}

.ai-defense__note {
  margin: 1rem 0 0;
  font-size: .95rem;
  color: var(--def-muted);
}

.ai-defense__quiet-link {
  color: var(--def-accent);
}

.ai-defense__quiet-link:hover {
  color: #F4F8FF;
}

/* ---------------- Section headings ---------------- */

.ai-defense__heading {
  margin: 0;
  font-size: clamp(2rem, 4.6vw, 4rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.08em;
  color: #F4F8FF;
  max-width: 22ch;
}

/* ---------------- Response steps — .process-list pattern ---------------- */

.ai-defense__steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  margin-top: clamp(3rem, 7vw, 7rem);
  border-top: 1px solid var(--def-line);
  border-bottom: 1px solid var(--def-line);
}

.ai-defense__steps > div {
  display: flex;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.25rem, 2.5vw, 2.5rem) clamp(2rem, 4vw, 3rem);
  border-right: 1px solid var(--def-line);
}

.ai-defense__steps > div:last-child {
  border-right: 0;
}

.ai-defense__steps b {
  display: flex;
  align-items: baseline;
  gap: .6em;
  padding-bottom: 1.1rem;
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
  border-bottom: 1px solid var(--def-line);
  font-size: .75rem;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--def-muted);
}

.ai-defense__steps .step-index {
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  font-weight: 300;
  letter-spacing: -.03em;
  opacity: .35;
  color: var(--def-text);
}

.ai-defense__steps strong {
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--def-text);
}

.ai-defense__steps p {
  margin: .9rem 0 0;
  font-size: .95rem;
  line-height: 1.55;
  color: var(--def-muted);
}

/* ---------------- Cards — hairline grid like the rest of the site ---------------- */

.ai-defense__grid,
.ai-defense__pillars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1px;
  margin-top: clamp(3rem, 7vw, 7rem);
  border: 1px solid var(--def-line);
  background: var(--def-line);
}

.ai-defense__grid > div,
.ai-defense__pillars > div {
  display: flex;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.25rem, 2.5vw, 2.5rem) clamp(2rem, 4vw, 3rem);
  background: var(--def-panel);
  transition: background .25s;
}

.ai-defense__grid > div:hover,
.ai-defense__pillars > div:hover {
  background: var(--def-panel-hover);
}

.ai-defense__grid b,
.ai-defense__pillars b {
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--def-text);
}

.ai-defense__grid p,
.ai-defense__pillars p {
  margin: .9rem 0 0;
  font-size: .95rem;
  line-height: 1.55;
  color: var(--def-muted);
}

/* ---------------- Local section — .security-callout pattern ---------------- */

.ai-defense__callout {
  margin-top: clamp(3rem, 6vw, 5rem);
  padding: clamp(1.5rem, 3vw, 3rem);
  border: 1px solid var(--def-line-strong);
}

.ai-defense__callout p {
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.6rem);
  line-height: 1.2;
  letter-spacing: -.02em;
  color: var(--def-text);
}

.ai-defense__callout p + p {
  margin-top: 1.5rem;
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  line-height: 1.45;
  letter-spacing: 0;
  color: var(--def-muted);
}

.ai-defense__callout p.ai-defense__local-alt {
  font-size: .95rem;
  line-height: 1.7;
  letter-spacing: .04em;
  color: var(--def-accent);
}

/* ---------------- FAQ — service-list style rows ---------------- */

.ai-defense__faq {
  margin-top: clamp(2.5rem, 5vw, 4rem);
  border-top: 1px solid var(--def-line);
}

.ai-defense__faq-item {
  border-bottom: 1px solid var(--def-line);
}

.ai-defense__faq-item summary {
  cursor: pointer;
  list-style: none;
  position: relative;
  padding: 1.4rem 3rem 1.4rem 0;
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--def-text);
  transition: color .2s;
}

.ai-defense__faq-item summary::-webkit-details-marker {
  display: none;
}

.ai-defense__faq-item summary::after {
  content: "+";
  position: absolute;
  right: .5rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem;
  font-weight: 300;
  color: var(--def-accent);
}

.ai-defense__faq-item[open] summary::after {
  content: "–";
}

.ai-defense__faq-item summary:hover {
  color: var(--def-accent);
}

.ai-defense__faq-item p {
  max-width: 720px;
  margin: 0;
  padding: 0 0 1.5rem;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--def-muted);
}

/* ---------------- Final call ---------------- */

.ai-defense__final {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-top: 1px solid var(--def-line);
}

.ai-defense__final .ai-defense__call {
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.ai-defense__back {
  padding: 0 8vw clamp(4rem, 8vw, 6rem);
}

.ai-defense__back .text-link {
  color: var(--def-muted);
}

.ai-defense__back .text-link:hover {
  color: var(--def-text);
}
