/* Home page styles. */

/* Spacing between paragraphs */
                    .animation-tab-text p {
                      margin: 0;
                    }

                    .animation-tab-text p+p {
                      margin-top: 0.8em;
                    }

                    /* Mobile only - up to 767px */
                    @media (max-width: 767px) {
                      .animation-tab-text {
                        max-height: 2.5em;
                        overflow: hidden;
                        position: relative;
                        cursor: pointer;
                        transition: max-height 0.5s ease;
                      }

                      .animation-tab-text::after {
                        content: '';
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        right: 0;
                        height: 2em;
                        background: linear-gradient(transparent, #ffffff);
                        pointer-events: none;
                        transition: opacity 0.3s ease;
                      }

                      .animation-tab-text.is-open {
                        max-height: 1500px;
                      }

                      .animation-tab-text.is-open::after {
                        opacity: 0;
                      }

                      .read-more-dots {
                        display: block;
                        margin-top: -8px;
                        font-size: 18px;
                        letter-spacing: 4px;
                        color: #888;
                        line-height: 1;
                        cursor: pointer;
                        transition: opacity 0.3s ease;
                      }

                      .read-more-dots.is-hidden {
                        opacity: 0;
                        pointer-events: none;
                        height: 0;
                        margin-top: 0;
                        overflow: hidden;
                      }
                    }

                    @media (min-width: 768px) {
                      .read-more-dots {
                        display: none;
                      }
                    }

.logo-list-new {
                  animation: scroll-left 20s linear infinite;
                }

                @keyframes scroll-left {
                  0% {
                    transform: translateX(0);
                  }

                  100% {
                    transform: translateX(-100%);
                  }
                }

/* Navigation dots — base styles */
              .panel-nav-dots {
                position: fixed;
                z-index: 10;
                display: flex;
                gap: 14px;
                opacity: 0;
                pointer-events: none;
                transition: opacity 0.4s ease;

                /* Desktop layout — vertical, 102px from the right edge */
                flex-direction: column;
                right: 72px;
                top: 50%;
                transform: translateY(-50%);
              }

              .panel-nav-dots.visible {
                opacity: 1;
                pointer-events: auto;
              }

              /* Tablet and mobile — horizontal row, 15% from the bottom */
              @media (max-width: 991px) {
                .panel-nav-dots {
                  flex-direction: row;
                  right: auto;
                  top: auto;
                  bottom: 10vh;
                  left: 50%;
                  transform: translateX(-50%);
                }
              }

              .panel-nav-dot {
                width: 12px;
                height: 12px;
                padding: 0;
                border-radius: 50%;
                background: rgba(255, 255, 255, 0.25);
                border: 1px solid rgba(255, 255, 255, 0.45);
                cursor: pointer;
                transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
                outline: none;
              }

              .panel-nav-dot:hover {
                background: rgba(255, 255, 255, 0.55);
                transform: scale(1.2);
              }

              .panel-nav-dot.active {
                background: #ffffff;
                border-color: #ffffff;
                transform: scale(1.35);
              }

.orbs-fixed {
                    position: fixed;
                    top: 0;
                    left: 0;
                    width: 100vw;
                    height: 100vh;
                    pointer-events: none;
                    z-index: 1;
                    overflow: hidden;
                    opacity: 0;
                    transition: opacity 0.6s ease;
                  }

                  .orbs-fixed.visible {
                    opacity: 1;
                  }

                  .orb {
                    position: absolute;
                    border-radius: 50%;
                    background: radial-gradient(circle at 35% 35%,
                        rgba(255, 255, 255, 0.52),
                        rgba(210, 210, 210, 0.14) 50%,
                        transparent 72%);
                    filter: blur(2px);
                    will-change: transform, opacity;
                    animation:
                      orbFloat var(--dur, 16s) ease-in-out infinite var(--delay, 0s),
                      orbPulse calc(var(--dur, 16s) * 0.65) ease-in-out infinite var(--delay, 0s);
                  }

                  @keyframes orbFloat {
                    0% {
                      transform: translate(0px, 0px);
                    }

                    25% {
                      transform: translate(var(--x1, 14px), var(--y1, -18px));
                    }

                    55% {
                      transform: translate(var(--x2, -10px), var(--y2, 12px));
                    }

                    80% {
                      transform: translate(var(--x3, 8px), var(--y3, -6px));
                    }

                    100% {
                      transform: translate(0px, 0px);
                    }
                  }

                  @keyframes orbPulse {

                    0%,
                    100% {
                      opacity: var(--op-lo, 0.3);
                    }

                    50% {
                      opacity: var(--op-hi, 0.72);
                    }
                  }
