body {
      background-color: #FAF7F2;
      color: #1D1510;
      overflow-x: hidden;
    }

    /* Photographic Bee Container and Wing Vibration */
    #bee-actor {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 50;
      pointer-events: none;
      will-change: transform;
      filter: drop-shadow(0 15px 18px rgba(0, 0, 0, 0.28));
    }

    /* BODY / THORAX / ABDOMEN STABILITY:
       Eliminate fast jitter completely. Ultra-smooth slow organic hover bobbing & gentle abdomen sway. */
    .bee-body-solid {
      transform: none !important;
      backface-visibility: hidden;
    }

    .bee-abdomen-sway {
      transform-box: fill-box;
      transform-origin: 50% 15%;
      animation: abdomen-sway 1.2s ease-in-out infinite alternate;
    }

    @keyframes abdomen-sway {
      0% {
        transform: rotate(-2deg);
      }
      100% {
        transform: rotate(2deg);
      }
    }

    /* Dual photographic bee image crossfade */
    .bee-img {
      transition: opacity 0.25s ease-in-out;
      user-select: none;
      -webkit-user-drag: none;
    }

    /* Fallback static bee for reduced motion */
    @media (prefers-reduced-motion: reduce) {
      #bee-actor {
        display: none !important;
      }
      .reduced-motion-bee {
        display: block !important;
      }
    }

    /* Hero Background Video Blur and Responsiveness */
    /* Hero video shown whole (zoomed out). main.js sizes the frame to the exact video shape and
       feathers only the edges that touch the blurred backdrop. --hero-zoom: 1 = full frame, bigger = zoom in */
    .hero-video {
      --hero-zoom: 1; --fx: 0%; --fy: 0%;
      left: 50%; top: 50%; width: 100%; height: 100%;
      object-fit: contain; object-position: center;
      transform: translate(-50%, -50%) scale(var(--hero-zoom));
      -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--fy), #000 calc(100% - var(--fy)), transparent 100%), linear-gradient(to right, transparent 0, #000 var(--fx), #000 calc(100% - var(--fx)), transparent 100%);
      -webkit-mask-composite: source-in;
      mask-image: linear-gradient(to bottom, transparent 0, #000 var(--fy), #000 calc(100% - var(--fy)), transparent 100%), linear-gradient(to right, transparent 0, #000 var(--fx), #000 calc(100% - var(--fx)), transparent 100%);
      mask-composite: intersect;
    }
    .hero-video-back { object-fit: cover; filter: blur(26px) saturate(1.1); transform: scale(1.15); }
    @media (max-width: 767px) { .hero-video { --hero-zoom: 1.3; } }

    @media (prefers-reduced-motion: reduce) {
      .hero-video, .hero-video-back {
        display: none !important;
      }
      .hero-poster-fallback {
        display: block !important;
      }
      #hero-sound { display: none !important; }
    }

    /* Golden Glow */
    .glow-amber {
      box-shadow: 0 0 50px -10px rgba(228, 172, 85, 0.4);
    }
    
    /* Custom Scrollbar */
    ::-webkit-scrollbar {
      width: 7px;
    }
    ::-webkit-scrollbar-track {
      background: #FAF7F2;
    }
    ::-webkit-scrollbar-thumb {
      background: #EECD8E;
      border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
      background: #D58D21;
    }

    /* Ambient drifting particles */
    .pollen-dot {
      position: absolute;
      background: radial-gradient(circle, #F5D061 20%, rgba(228, 172, 85, 0.1) 80%);
      border-radius: 50%;
      pointer-events: none;
      filter: blur(0.5px);
    }

    /* Bee sitting: small contact shadow instead of the big floating shadow */
    #bee-actor { transition: filter 0.3s ease; }
    #bee-actor.bee--landed { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.25)); }
