﻿:root {
    --hue: 223;
    --bg: hsl(var(--hue),90%,10%);
    --fg: hsl(var(--hue),90%,90%);
    --primary: hsl(var(--hue),90%,50%);
    --trans-dur: 0.3s;
    --trans-timing: cubic-bezier(0.65,0,0.35,1);
    font-size: calc(14px + (30 - 14) * (100vw - 280px) / (3840 - 280));
    --m: 1rem;
    --diag-scale: 1;
    --tile-col: 384px;
    --tile-row: 529px;
    --tile-gap: 12px;
    --tile-width: 346px;
    --tile-height: 475px;
    --tile-width-zoom: 384px;
    --tile-height-zoom: 529px;
    --content-width: 7162px;
    --content-height: 4763px;
    --red: #FF6565;
    --pink: #FF64F9;
    --purple: #6B5FFF;
    --blue: #4D8AFF;
    --green: #5BFF89;
    --yellow: #FFEE55;
    --orange: #FF6D1B;
    --light: #FFFFFF;
    --violet: #712380;
    --color-bg1: rgb(8, 10, 15);
    --color-bg2: rgb(0, 17, 32);
    --color-interactive: 113, 35, 128;
    --color1: 90, 25, 115;
    --color2: 75, 20, 105;
    --color3: 65, 18, 95;
    --color4: 50, 15, 80;
    --color5: 60, 43, 94;
    --circle-size: 80%;
    --blending: hard-light;
    --alpha: .5;
    --main-bg: #000000;
    --red1:113, 35, 128;
    --pink1: 12, 40, 59;
    --purple1: 12, 40, 59;
    --violet1: 113, 35, 128;
    --blue1:  60, 43, 94;
    --green1: 12, 40, 59;
    --yellow1: 113, 35, 128;
    --orange1: 113, 35, 128;
    --light1: 255, 255, 255;
  }

body {
    margin: 0;
    padding: 0;
    overflow: hidden;
    /* background: linear-gradient(to bottom, #712380, #3C2B5E); */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100vw;
    height: 100vh;
    font-size: var(--font-size-base); /* ÐÐ²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÐ¾Ðµ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° ÑˆÑ€Ð¸Ñ„Ñ‚Ð° */
}

#loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #712380, #3C2B5E);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10001;
    color: white;
    font-size: 24px;
    font-family: Arial, sans-serif;
    flex-direction: column;
}

#loading-text {
    margin-top: 20px;
    font-size: 30px;
}

#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0);
    z-index: 4;
    display: none;
}

@keyframes rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

#loading-circle {
    border: 10px solid #fff;
    border-top: 10px solid #712380;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    animation: rotate 2s linear infinite;
}

#grid-container {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    position: relative;
    z-index: 10; 
    cursor: grab;
    touch-action: none;
}

#grid-container:active {
    cursor: grabbing;
}

#content {
    display: flex;
    flex-wrap: wrap;
    width: calc(var(--content-width) * var(--diag-scale));
    height: calc(var(--content-height) * var(--diag-scale));
    position: absolute;
    top: 0;
    left: 0;
}

.grid-box {
  display: grid;
  grid-template-columns: repeat(6, calc(var(--tile-col) * var(--diag-scale)));
  grid-template-rows: repeat(9, calc(var(--tile-row) * var(--diag-scale)));
  grid-auto-rows: calc(var(--tile-row) * var(--diag-scale)); /* <<< ДОБАВИТЬ */
  gap: calc(var(--tile-gap) * var(--diag-scale));
  position: relative;
  overflow: hidden;
  margin: calc(var(--tile-gap) * var(--diag-scale)) 0 0 calc(var(--tile-gap) * var(--diag-scale));
  z-index: 4;
}

.grid-box img {
  position: relative;
  width: calc(var(--tile-width) * var(--diag-scale));
  height: calc(var(--tile-height) * var(--diag-scale));
  display: block;
  border-radius: 5%;
  margin: 0.1vw;
  /* object-fit: contain; */
  -webkit-user-drag: none;
  user-drag: none;
  transition: width 0.5s ease-in-out, height 0.5s ease-in-out;
}

.grid-box img.zoomed {
    width: calc(var(--tile-width-zoom) * var(--diag-scale));
    height: calc(var(--tile-height-zoom) * var(--diag-scale));
}

@media (max-width: 1375px) {
  :root {
    --content-width: 7258px;
  }
}

@media (max-width: 1000px) {
  :root {
    --tile-col: 260px;
    --tile-row: 320px;
    --tile-gap: 12px;
    --tile-width: 240px;
    --tile-height: 300px;
    --tile-width-zoom: 260px;
    --tile-height-zoom: 320px;
    --content-width: calc((var(--tile-col) * 6 + var(--tile-gap) * 6) * 3);
    --content-height: 3600px;
  }
}

.grid-box .image-wrapper {
    position: relative;
}

.grid-box .image-title {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 10px;
    left: 10px;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 10px;
    border-radius: 5px;
    pointer-events: auto;
    opacity: 0;
    transition: opacity 0.3s;
}

.grid-box .image-wrapper:hover .image-title {
    opacity: 1;
}

#fade-in-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: linear-gradient(to bottom, rgba(12, 40, 59, 0.85) , rgba(60, 43, 94, 0.85));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 4;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.fade-in-logo {
    width: 400px;
    height: 350px;
    margin-top: -10%;
}

@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes slideUp {
    0% { transform: translateY(100%); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
}

#fade-in-container .activation-text {
    font-size: 60px;
    color: white;
    text-align: center;
    opacity: 0;
    animation: slideUp 1s forwards;
    margin-top: 35%;
}

#fade-in-container .instruction-text {
    font-size: 18px;
    color: white;
    text-align: center;
    margin-top: 10px;
    opacity: 0;
    animation: fadeIn 1s forwards;
    animation-delay: 1s;
    margin-top: 2%;
}
/* Base (desktop / default) */
.spline-viewer {
  position: fixed;
  top: 50%;
  left: 50%;

  width: min(460px, 45vw);
  aspect-ratio: 1 / 1;

  border-radius: 50%;
  object-fit: cover;

  transform: translate(-50%, -50%);
  transform-origin: center center;

  transition:
    top 0.8s ease-in-out,
    transform 0.8s ease-in-out;

  pointer-events: none;
  z-index: 1000;

  will-change: transform, top;
}

.spline-viewer.move-to-bottom {
  /* fallback */
  top: 97vh;
 
  top: 97dvh;

  transform: translate(-50%, -50%) scale(0.8);
}

/* -------------------- Mobile (<= 767px) -------------------- */
@media (max-width: 767px) {
  .spline-viewer {
    
    width: min(320px, 72vw);
  }

  .spline-viewer.move-to-bottom {
   
    top: 98vh;
    top: 98dvh;

 
    transform: translate(-50%, -50%) scale(0.72);
  }
}

/* -------------------- Tablet (768px - 1024px) -------------------- */
@media (min-width: 768px) and (max-width: 1024px) {
  .spline-viewer {
    width: min(420px, 55vw);
  }

  .spline-viewer.move-to-bottom {
    top: 96vh;
    top: 96dvh;

    transform: translate(-50%, -50%) scale(0.78);
  }
}


 #fade-in-container .start-button {
    margin-top: 2%;
} 

  .fixed-buttons-right 
  {
    width: 60vw;
    left: 20vw;
    margin-bottom: 10vh ;
  }

  .btn-hover {
  width: 100px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  height: 30px;
  text-align: center;
  border: none;
  background-size: 300% 100%;
  transition: all .4s ease-in-out;
}

.btn-hover.color-1 {
  background-image: linear-gradient(to right, #712380, #0C283B, #3C2B5E, #5A4682);
}

.btn-hover:hover {
  background-position: 100% 0;
  transition: all .4s ease-in-out;
}

.btn-hover:focus {
  outline: none;
}




/* .fixed-buttons button {
    flex: 1;
    padding: 10px 20px;
    background: linear-gradient(to bottom, #712380, #3C2B5E);
    color: #ffffff;
    border: none;
    border-right: 1px solid #fff;
    font-size: 16px;
    cursor: pointer;
    opacity: 0.9;
}

 */


/* 
.fixed-buttons-right button {
    flex: 1;
    padding: 10px 20px;
    background: linear-gradient(to bottom, #712380, #3C2B5E);
    color: #ffffff;
    border: none;
    border-left: 1px solid #fff;
    font-size: 16px;
    cursor: pointer;
    opacity: 0.9;
}

  */

@keyframes moveUpInfinite0_5 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}

@keyframes moveUpInfinite0_6 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}

@keyframes moveUpInfinite0_7 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}

@keyframes moveUpInfinite0_8 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}

@keyframes moveUpInfinite0_9 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}

@keyframes moveUpInfinite1 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}

.column-speed-0_5 {
    animation: moveUpInfinite0_5 10s linear infinite;
}

.column-speed-0_6 {
    animation: moveUpInfinite0_6 12s linear infinite;
}

.column-speed-0_7 {
    animation: moveUpInfinite0_7 14s linear infinite;
}

.column-speed-0_8 {
    animation: moveUpInfinite0_8 16s linear infinite;
}

.column-speed-0_9 {
    animation: moveUpInfinite0_9 18s linear infinite;
}

.column-speed-1 {
    animation: moveUpInfinite1 20s linear infinite;
}


@keyframes moveUpInfiniteFast1 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}

@keyframes moveUpInfiniteFast2 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}

@keyframes moveUpInfiniteFast3 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}

@keyframes moveUpInfiniteFast4 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}

@keyframes moveUpInfiniteFast5 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}

@keyframes moveUpInfiniteFast6 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-455%); }
}


@media (max-width: 1000px) {

  @keyframes moveUpInfinite0_5 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

@keyframes moveUpInfinite0_6 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

@keyframes moveUpInfinite0_7 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

@keyframes moveUpInfinite0_8 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

@keyframes moveUpInfinite0_9 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

@keyframes moveUpInfinite1 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

@keyframes moveUpInfiniteFast1 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

@keyframes moveUpInfiniteFast2 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

@keyframes moveUpInfiniteFast3 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

@keyframes moveUpInfiniteFast4 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

@keyframes moveUpInfiniteFast5 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

@keyframes moveUpInfiniteFast6 {
    0% { transform: translateY(0); }
    100% { transform: translateY(-522%); }
}

}

.l {
    --dur: 2s;
    --dur-frac: calc(var(--dur) * 0.7);
    --start-delay-a: calc(var(--dur) * 0.125);
    --mid-delay-a: calc(var(--dur) * 0.825);
    --end-delay-a: calc(var(--dur) * 1.825);
    --start-delay-b: calc(var(--dur) * 0.25);
    --mid-delay-b: calc(var(--dur) * 0.95);
    --end-delay-b: calc(var(--dur) * 1.95);
    --end-delay-c: calc(var(--dur) * 1.7);
    animation: fade-slide-in 0.5s var(--trans-timing);
    display: block;
    margin: auto;
    width: 12em;
    height: auto;
  }
  .l__a, .l__b, .l__c, .l__rotate {
    transform-origin: 64px 64px;
  }
  .l--running .l__a {
    animation: ring-a-start var(--dur-frac) var(--start-delay-a) linear, ring-a var(--dur) var(--mid-delay-a) linear, ring-a-end var(--dur-frac) var(--end-delay-a) linear;
  }
  .l--running .l__b {
    animation: ring-b-start var(--dur-frac) var(--start-delay-b) linear, ring-b var(--dur) var(--mid-delay-b) linear, ring-b-end var(--dur-frac) var(--end-delay-b) linear;
  }
  .l--running .l__c {
    animation: ring-c-start var(--dur-frac) linear, ring-c var(--dur) var(--dur-frac) linear, ring-c-end var(--dur-frac) var(--end-delay-c) linear;
  }
  .l--running .l__rotate {
    animation: ring-rotate var(--dur) linear infinite;
  }
  
  /* Animations */
  @keyframes fade-slide-in {
    from {
      opacity: 0;
      transform: translateY(33%);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes ring-a {
    from, to {
      stroke-dashoffset: -329.875;
      transform: rotate(0);
    }
    50% {
      stroke-dashoffset: -94.25;
      transform: rotate(135deg);
    }
  }
  @keyframes ring-a-start {
    from {
      stroke-dashoffset: 0;
      transform: rotate(0);
    }
    to {
      stroke-dashoffset: -329.875;
      transform: rotate(-360deg);
    }
  }
  @keyframes ring-a-end {
    from {
      stroke-dashoffset: -329.875;
      transform: rotate(0);
    }
    to {
      stroke-dashoffset: 0;
      transform: rotate(360deg);
    }
  }
  @keyframes ring-b {
    from, to {
      stroke-dashoffset: -296.8875;
      transform: rotate(0);
    }
    50% {
      stroke-dashoffset: -84.825;
      transform: rotate(135deg);
    }
  }
  @keyframes ring-b-start {
    from {
      stroke-dashoffset: 0;
      transform: rotate(0);
    }
    to {
      stroke-dashoffset: -296.8875;
      transform: rotate(-360deg);
    }
  }
  @keyframes ring-b-end {
    from {
      stroke-dashoffset: -296.8875;
      transform: rotate(0);
    }
    to {
      stroke-dashoffset: 0;
      transform: rotate(360deg);
    }
  }
  @keyframes ring-c {
    from, to {
      stroke-dashoffset: -263.9;
      transform: rotate(0);
    }
    50% {
      stroke-dashoffset: -75.4;
      transform: rotate(135deg);
    }
  }
  @keyframes ring-c-start {
    from {
      stroke-dashoffset: 0;
      transform: rotate(0);
    }
    to {
      stroke-dashoffset: -263.9;
      transform: rotate(-360deg);
    }
  }
  @keyframes ring-c-end {
    from {
      stroke-dashoffset: -263.9;
      transform: rotate(0);
    }
    to {
      stroke-dashoffset: 0;
      transform: rotate(360deg);
    }
  }
  @keyframes ring-rotate {
    from {
      transform: rotate(0);
    }
    to {
      transform: rotate(-720deg);
    }
  }
/* 
  button  {
    border: calc(0.08 * var(--m)) solid transparent;
    position: relative;
    color: #F3F3F3;
    font-family: 'Space Grotesk';
    font-size: var(--m);
    border-radius: calc(0.7 * var(--m));
    padding: calc(0.5 * var(--m)) calc(1 * var(--m));
    display: flex;
    justify-content: center;
    cursor: pointer;
    
    background:linear-gradient(#121213, #121213), linear-gradient(#121213 50%, rgba(18, 18, 19, 0.6) 80%, rgba(18, 18, 19, 0)),  linear-gradient(90deg, var(--orange), var(--yellow), var(--green), var(--blue), var(--purple), var(--pink), var(--red));
    background-origin: border-box;
    background-clip: padding-box, border-box, border-box;
    background-size: 200%;
    animation: animate 2s infinite linear;
  }
  
  button::before {
    content: '';
    background: linear-gradient(90deg, var(--orange), var(--yellow), var(--green), var(--blue), var(--purple), var(--pink), var(--red));
    height: 30%;
    width: 60%;
    position: absolute;
    bottom: -20%;
    z-index: -5;
    background-size: 200%;
    animation: animate 2s infinite linear;
    filter: blur(calc(0.8 * var(--m)));
  }
  
  button:hover, button:hover::before {
    animation: animate 0.5s infinite linear;
  }
  
  @keyframes animate {
    0% {background-position: 0}
    100% {background-position: 200%}
  }
  
  @media screen and (max-width: 1000px) {
    :root {
      --m: 2rem;
    }
  } */

  .bubble {
    position: relative;
    width: 20rem;
    height: 20rem;
    border-radius: 50%;
       box-shadow: inset 0 0 2rem rgba(var(--light1), 1), 
         inset 2rem 0 4rem rgba(var(--pink1), 1),
         inset -2rem 0 6rem rgba(var(--blue1), 1),
         inset 0 4rem 4rem rgba(var(--violet1), 1),
         inset 0 -2rem 2rem rgba(var(--yellow1), 1),
         inset 2rem -2rem 1rem rgba(var(--yellow1), 1),
         0 0 4rem rgba(var(--light1), .2),
         2rem 0 8rem rgba(var(--pink1), var(--alpha)),
         -2rem 0 8rem rgba(var(--blue1), var(--alpha)),
         0 4rem 8rem rgba(var(--violet1), var(--alpha)),
         0 -2rem 8rem rgba(var(--yellow1), var(--alpha));
    animation: floating 3s ease-in-out infinite;
    cursor: pointer;
  }
  
  .bubble.animated {
    animation: rubber 1s linear;
  }
  
  
  .bubble::before,
  .bubble::after {
    content: "";
    position: absolute;
    display: block;
    border-radius: 100%;
    transform: rotate(40deg);
  }
  
  .bubble::before {
    top: 2rem;
    right: 2rem;
    width: 5rem;
    height: 2rem;
    background-color: rgba(var(--light1),1);
    background: radial-gradient(closest-side, rgba(var(--light1), .7) 50%, transparent 100%);
  }
  
  .bubble::after {
    bottom: 1.5rem;
    left: 1.5rem;
    width: 10rem;
    height: 5rem;
    background: radial-gradient(closest-side, rgba(var(--light1), .3) 50%, transparent 100%);
  }
  
  
  @keyframes rubber {
    from {
      transform: scale3d(1, 1, 1);
    }
  
    30% {
      transform: scale3d(1.25, 0.75, 1);
    }
  
    40% {
      transform: scale3d(0.75, 1.25, 1);
    }
  
    50% {
      transform: scale3d(1.15, 0.85, 1);
    }
  
    65% {
      transform: scale3d(0.95, 1.05, 1);
    }
  
    75% {
      transform: scale3d(1.05, 0.95, 1);
    }
  
    to {
      transform: scale3d(1, 1, 1);
    }
  }
  
  @keyframes floating {
    from {
      transform: translate(0, 0);
    }
    65% {
      transform: translate(0, 1rem);
    }
    to {
      transform: translate(0, 0);
    }
  }
  
  
  @media (max-width: 768px) {
    html {
      font-size: 10px;
    }
  }
  

.card {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    user-select: none;
    max-width: 100%;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-radius: 8px;
    box-shadow: 0 4px 90px rgba(0, 0, 0, 0.1);
    overflow: hidden;
  }
  .card:before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: white;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, white 34%, white 89%, rgba(255, 255, 255, 0) 100%);
    opacity: 0.3;
    filter: blur(0.5px);
    mix-blend-mode: hard-light;
  }
  .card .noise {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
    opacity: 0.1;
  }
  .card .content {
    position: relative;
    z-index: 2;
    text-shadow: -3px 0px 2px rgba(0, 0, 0, 0.1);
  }
  
  h1 {
    font-size: 3rem;
    margin-bottom: 16px;
  }
  
  p {
    line-height: 1.6;
  }
  
  @keyframes moveInCircle {
    0% {
      transform: rotate(0deg);
    }
    50% {
      transform: rotate(180deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  @keyframes moveVertical {
    0% {
      transform: translateY(-50%);
    }
    50% {
      transform: translateY(50%);
    }
    100% {
      transform: translateY(-50%);
    }
  }
  @keyframes moveHorizontal {
    0% {
      transform: translateX(-50%) translateY(-10%);
    }
    50% {
      transform: translateX(50%) translateY(10%);
    }
    100% {
      transform: translateX(-50%) translateY(-10%);
    }
  }
  .gradient-bg {
    width: 100vw;
    height: 100vh;
    position: relative;
    overflow: hidden;
    background: linear-gradient(40deg, var(--color-bg1), var(--color-bg2));
    top: 0;
    left: 0;
  }
  .gradient-bg .svgBlur {
    display: none;
  }
  .gradient-bg .noiseBg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    mix-blend-mode: soft-light;
    opacity: 0.3;
  }

  .gradient-bg .gradients-container {
    filter: url(#goo) blur(40px);
    width: 100%;
    height: 100%;
  }

  .gradients-container {
    z-index: -1000; /* ÐÐ¸Ð·ÐºÐ¸Ð¹ z-index Ð´Ð»Ñ Ð³Ñ€Ð°Ð´Ð¸ÐµÐ½Ñ‚Ð° */
}

  .gradient-bg .g1 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color1), 0.8) 0, rgba(var(--color1), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);
    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);
    transform-origin: center center;
    animation: moveVertical 30s ease infinite;
    opacity: 1;
  }
  .gradient-bg .g2 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color2), 0.8) 0, rgba(var(--color2), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);
    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);
    transform-origin: calc(50% - 400px);
    animation: moveInCircle 20s reverse infinite;
    opacity: 1;
  }
  .gradient-bg .g3 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color3), 0.8) 0, rgba(var(--color3), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);
    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2 + 200px);
    left: calc(50% - var(--circle-size) / 2 - 500px);
    transform-origin: calc(50% + 400px);
    animation: moveInCircle 40s linear infinite;
    opacity: 1;
  }
  .gradient-bg .g4 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color4), 0.8) 0, rgba(var(--color4), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);
    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);
    transform-origin: calc(50% - 200px);
    animation: moveHorizontal 40s ease infinite;
    opacity: 0.7;
  }
  .gradient-bg .g5 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color5), 0.8) 0, rgba(var(--color5), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);
    width: calc(var(--circle-size) * 2);
    height: calc(var(--circle-size) * 2);
    top: calc(50% - var(--circle-size));
    left: calc(50% - var(--circle-size));
    transform-origin: calc(50% - 800px) calc(50% + 200px);
    animation: moveInCircle 20s ease infinite;
    opacity: 1;
  }
  .gradient-bg .interactive {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color-interactive), 0.8) 0, rgba(var(--color-interactive), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);
    width: 100%;
    height: 100%;
    top: -50%;
    left: -50%;
    opacity: 0.7;
  }

  .spline-viewer, #spline, canvas {
    pointer-events: none; 
}

@media (max-width: 1000px) {
  .gradient-bg .noiseBg,
  .card .noise {
    display: none;
  }
}


