html { scroll-behavior: smooth; }
body { margin: 0; background: #0c0c0f; }
* { box-sizing: border-box; }

.container.gt-container { max-width: 1280px; }

.gt-nav-spacer { height: 66px; }

@keyframes gt-fade-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes gt-float { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-18px) rotate(3deg); } }
@keyframes gt-drift { 0% { background-position: 0 0; } 100% { background-position: 73.5px 73.5px; } }
@keyframes gt-pulse { 0%,100% { opacity: .5; } 50% { opacity: 1; } }
@keyframes gt-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes gt-spin-slow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes gt-orbit-cw { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes gt-orbit-ccw { from { transform: rotate(0deg); } to { transform: rotate(-360deg); } }
@keyframes gt-flare-pulse { 0%,100% { opacity: .2; } 50% { opacity: .95; } }
@keyframes gt-halo-pulse { 0%,100% { transform: translate(-50%,-50%) scale(1); opacity: .45; } 50% { transform: translate(-50%,-50%) scale(1.18); opacity: .8; } }
@keyframes gt-corona-rotate { from { transform: translate(-50%,-50%) rotate(0deg); } to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes gt-flame-a { 0%,100% { transform: rotate(8deg) scaleY(1); opacity: .75; } 50% { transform: rotate(8deg) scaleY(1.35); opacity: 1; } }
@keyframes gt-flame-b { 0%,100% { transform: rotate(-6deg) scaleY(1.1); opacity: .6; } 50% { transform: rotate(-6deg) scaleY(0.8); opacity: .95; } }
@keyframes gt-flame-c { 0%,100% { transform: rotate(3deg) scaleY(0.9); opacity: .85; } 50% { transform: rotate(3deg) scaleY(1.25); opacity: .55; } }
@keyframes gt-flame-flicker { 0%,100% { transform: scaleY(1) scaleX(1); opacity: .8; } 45% { transform: scaleY(1.22) scaleX(0.92); opacity: 1; } 70% { transform: scaleY(0.88) scaleX(1.05); opacity: .6; } }
@keyframes gt-spark-twinkle { 0%,100% { opacity: 0; transform: scale(0.4); } 50% { opacity: 1; transform: scale(1); } }
@keyframes vb-glow-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(255,212,0,0.7), 0 0 14px 3px rgba(255,212,0,0.45); } 50% { box-shadow:0 0 0 11px rgba(255,212,0,0), 0 0 26px 8px rgba(255,212,0,0.65); } }

.vb-glow { animation: vb-glow-pulse 2.2s ease-in-out infinite; }

.gt-partner-track { display: flex; gap: 28px; animation: gt-marquee 26s linear infinite; }
.gt-partner-track:hover { animation-play-state: paused; }
.gt-partner-card { transition: transform .3s ease, box-shadow .3s ease; }
.gt-partner-card:hover { transform: translateY(-6px) scale(1.03); box-shadow: 0 20px 40px -12px rgba(0,0,0,0.5); }

[data-reveal] { opacity: 0; transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); will-change: opacity, transform; }
[data-reveal="up"] { transform: translateY(46px); }
[data-reveal="left"] { transform: translateX(-50px); }
[data-reveal="right"] { transform: translateX(50px); }
[data-reveal="scale"] { transform: scale(0.88); }
[data-reveal].gt-in { opacity: 1; transform: none; }
[data-reveal-group] > * { opacity: 0; transform: translateY(30px); transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
[data-reveal-group].gt-in > * { opacity: 1; transform: none; }
[data-reveal-group].gt-in > *:nth-child(1) { transition-delay: 0.05s; }
[data-reveal-group].gt-in > *:nth-child(2) { transition-delay: 0.14s; }
[data-reveal-group].gt-in > *:nth-child(3) { transition-delay: 0.23s; }
[data-reveal-group].gt-in > *:nth-child(4) { transition-delay: 0.32s; }
[data-reveal-group].gt-in > *:nth-child(5) { transition-delay: 0.41s; }
[data-reveal-group].gt-in > *:nth-child(6) { transition-delay: 0.5s; }
[data-reveal-group].gt-in > *:nth-child(7) { transition-delay: 0.59s; }

/* responsive helpers */
@media (max-width: 991.98px) {
  #home { min-height: auto !important; padding-top: 24px; }
  #director .row > div { text-align: center; }
}


.rounded-border-image {
  border: 5px solid #ffffff;
  border-radius: 15px;
  overflow: hidden;
}

.rounded-image {
  border-radius: 15px;
  overflow: hidden;
}

.container-logo {
  display: flex;                /* включаем flexbox */
  justify-content: flex-end;    /* прижимаем дочерние элементы вправо */
}

.container-logo img {
    margin: 5px;
}

.gt-lang-item a {
    text-decoration: none;
}
