.firewall-section {
  margin: 48px 0;
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid rgba(90, 190, 220, 0.25);
  border-radius: 18px;
  background: linear-gradient(135deg, #101f2b, #0b1520);
  color: #e9f4f8;
}

.firewall-section h2 {
  margin: 12px 0;
  font-size: clamp(1.8rem, 4vw, 2.5rem);
}

.firewall-section > p {
  color: #b8cbd5;
}

.firewall-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 14px;
  margin: 28px 0 20px;
}

.firewall-stat {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 18px;
  border: 1px solid rgba(120, 190, 215, 0.18);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.045);
}

.firewall-stat strong {
  font-size: clamp(1.8rem, 3vw, 2.3rem);
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  color: #6ce0d4;
}

.firewall-stat span {
  font-size: 0.9rem;
  color: #b8cbd5;
}

.firewall-section .firewall-updated {
  font-size: 0.85rem;
  color: #85d4c9;
}

.firewall-section .firewall-note {
  margin-bottom: 0;
  font-size: 0.8rem;
  color: #9daeb9;
}

@media (max-width: 480px) {
  .firewall-section {
    padding: 20px 16px;
  }

  .firewall-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .firewall-stat {
    padding: 16px 12px;
  }

  .firewall-stat strong {
    font-size: 1.65rem;
  }
}
