/* Gradient placeholders to avoid external image requests */
.gradient-hero {
  background: linear-gradient(135deg, #0f172a 0%, #1f2937 60%, #111827 100%);
}
.gradient-dc {
  background: linear-gradient(135deg, #0f172a 0%, #334155 100%);
}
.gradient-network {
  background: linear-gradient(135deg, #111827 0%, #1f2937 50%, #ef4444 100%);
}
.gradient-ai {
  background: linear-gradient(135deg, #0f172a 0%, #7c3aed 50%, #ef4444 100%);
}
.gradient-map {
  background: radial-gradient(
    circle at 30% 30%,
    #ef4444 0%,
    #1f2937 30%,
    #0f172a 100%
  );
}
.gradient-sustainability {
  background: linear-gradient(135deg, #064e3b 0%, #065f46 50%, #0f172a 100%);
}
.gradient-blog {
  background: linear-gradient(135deg, #111827 0%, #374151 100%);
}
.gradient-storage {
  background: linear-gradient(135deg, #0f172a 0%, #ef4444 100%);
}
.gradient-generic {
  background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
}

/* Utility sizes for SafeImage wrappers */
.safeimage-hero {
  height: 60vh;
  width: 100%;
}
.safeimage-map {
  height: 480px;
  width: 100%;
  border-radius: 0.75rem;
}
.safeimage-card {
  height: 256px;
  width: 100%;
  border-radius: 0.5rem;
}

.safeimage-wide {
  height: 400px;
  width: 100%;
  border-radius: 0.5rem;
}

/* Decorative carbon fibre-like texture without external requests */
.decor-carbon-fibre {
  background-image: repeating-linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.12) 0px,
    rgba(255, 255, 255, 0.12) 2px,
    rgba(255, 255, 255, 0.06) 2px,
    rgba(255, 255, 255, 0.06) 4px
  );
}
