/* ==================================================
   PNN SOFT NATURAL BACKGROUND
   isolir.pnn.web.id
================================================== */

body {
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;

  background:
    radial-gradient(
      circle at 12% 12%,
      rgba(48, 199, 239, 0.28),
      transparent 30%
    ),
    radial-gradient(
      circle at 88% 28%,
      rgba(8, 127, 194, 0.16),
      transparent 28%
    ),
    radial-gradient(
      circle at 50% 100%,
      rgba(48, 199, 239, 0.18),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #f3fcff 0%,
      #ffffff 48%,
      #eaf8ff 100%
    );

  background-attachment: fixed;
}

/* cahaya lembut */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -2;

  background:
    linear-gradient(
      120deg,
      transparent 0%,
      rgba(255,255,255,0.52) 42%,
      transparent 72%
    );

  opacity: 0.7;
}

/* titik tekstur sangat halus */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;

  background-image:
    radial-gradient(
      rgba(8, 127, 194, 0.13) 1px,
      transparent 1px
    );

  background-size: 26px 26px;
  opacity: 0.22;
}

/* glow lembut tambahan */
.bg-fiber-glow {
  position: fixed;
  width: 360px;
  height: 360px;
  right: -130px;
  bottom: -90px;

  border-radius: 50%;
  background: rgba(48, 199, 239, 0.20);
  filter: blur(38px);

  pointer-events: none;
  z-index: -3;
}

/* mobile */
@media (max-width: 768px) {
  body {
    background:
      radial-gradient(
        circle at 10% 8%,
        rgba(48, 199, 239, 0.22),
        transparent 32%
      ),
      radial-gradient(
        circle at 95% 80%,
        rgba(8, 127, 194, 0.14),
        transparent 30%
      ),
      linear-gradient(
        135deg,
        #f5fdff 0%,
        #ffffff 50%,
        #edf9ff 100%
      );
  }

  body::after {
    opacity: 0.14;
    background-size: 24px 24px;
  }

  .bg-fiber-glow {
    width: 230px;
    height: 230px;
    right: -95px;
    bottom: -70px;
  }
}