 body { background: #F08090; }
    .section--soft { background: #F08090; }
    .banner::before {
      background: linear-gradient(135deg, rgba(240, 128, 144, 0.38), rgba(240, 128, 144, 0.15));
    }

    /* ====================== STAR FIELD (from entertainment-and-others gallery) ====================== */
    .starfield-section {
      position: relative;
      overflow: hidden;
    }

    .starfield-section > .container {
      position: relative;
      z-index: 2;
    }

    .starfield {
      position: absolute;
      inset: 0;
      z-index: 0;
      overflow: hidden;
      pointer-events: none;
    }

    /* three parallax layers of stars drifting upward + twinkling */
    .starfield .stars {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 200%;
      background-repeat: repeat;
      background-position: 0 0;
    }

    .starfield .stars--1 {
      background-image:
        radial-gradient(1.5px 1.5px at 20px 30px, #fff, transparent),
        radial-gradient(1.5px 1.5px at 80px 120px, #fff, transparent),
        radial-gradient(1.5px 1.5px at 140px 60px, #fff, transparent),
        radial-gradient(1.5px 1.5px at 200px 160px, #fff, transparent),
        radial-gradient(1.5px 1.5px at 260px 100px, #fff, transparent),
        radial-gradient(1.5px 1.5px at 45px 175px, #fff, transparent),
        radial-gradient(1.5px 1.5px at 120px 25px, #fff, transparent),
        radial-gradient(1.5px 1.5px at 175px 130px, #fff, transparent);
      background-size: 200px 200px;
      animation: starDrift 90s linear infinite, starTwinkle 4s ease-in-out infinite;
    }

    .starfield .stars--2 {
      background-image:
        radial-gradient(2.5px 2.5px at 50px 80px, #fff, transparent),
        radial-gradient(2.5px 2.5px at 170px 40px, rgba(255, 240, 200, 1), transparent),
        radial-gradient(2.5px 2.5px at 110px 180px, #fff, transparent),
        radial-gradient(2.5px 2.5px at 240px 130px, #fff, transparent),
        radial-gradient(2.5px 2.5px at 30px 30px, #fff, transparent),
        radial-gradient(2.5px 2.5px at 200px 210px, rgba(255, 240, 200, 1), transparent);
      background-size: 260px 260px;
      animation: starDrift 60s linear infinite, starTwinkle 5.5s ease-in-out infinite 0.8s;
    }

    .starfield .stars--3 {
      background-image:
        radial-gradient(3.5px 3.5px at 90px 50px, #fff, transparent),
        radial-gradient(3.5px 3.5px at 210px 150px, rgba(245, 184, 30, 1), transparent),
        radial-gradient(3.5px 3.5px at 30px 200px, #fff, transparent),
        radial-gradient(3.5px 3.5px at 150px 90px, rgba(245, 184, 30, 1), transparent),
        radial-gradient(3.5px 3.5px at 280px 40px, #fff, transparent);
      background-size: 320px 320px;
      animation: starDrift 40s linear infinite, starTwinkle 3.2s ease-in-out infinite 0.4s;
    }

    @keyframes starDrift {
      from { transform: translateY(0); }
      to   { transform: translateY(-50%); }
    }

    @keyframes starTwinkle {
      0%, 100% { opacity: 0.65; }
      50%      { opacity: 1; }
    }

    @media (prefers-reduced-motion: reduce) {
      .starfield .stars { animation: none; }
    }