/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=Outfit:wght@800&display=swap');

:root {
  /* Cinematic Dark Palette based on new logo */
  --color-primary: #0B0F19;
  --color-secondary: #171E30;
  --color-accent: #FFE600;
  --color-text: #E2E8F0;
  --color-background: #0B0F19;
  --color-heading: #FFFFFF;

  /* Fonts */
  --font-heading: 'Outfit', sans-serif;
  --font-body: 'Inter', sans-serif;

  /* Fluid Typography Scale */
  --text-xs: clamp(0.75rem, 0.8vw, 0.875rem);
  --text-sm: clamp(0.875rem, 1vw, 0.9375rem);
  --text-base: clamp(1rem, 1.2vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1.4vw, 1.25rem);
  --text-xl: clamp(1.25rem, 1.6vw, 1.5rem);
  --text-2xl: clamp(1.5rem, 2vw, 1.875rem);
  --text-3xl: clamp(1.75rem, 2.5vw, 2.25rem);
  --text-4xl: clamp(1.75rem, 3vw, 2.5rem);
  --text-5xl: clamp(2rem, 4vw, 3.5rem);
  --text-6xl: clamp(2.5rem, 5vw, 4.5rem);

  /* Transition Defaults */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Base Reset */
html {
  scroll-behavior: smooth;
  font-size: 16px;
  background-color: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  margin: 0;
  padding: 0;
  line-height: 1.6;
  background-color: var(--color-background);
  color: var(--color-text);
}

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0;
}

.delay-100 { animation-delay: 100ms; }
.delay-200 { animation-delay: 200ms; }
.delay-300 { animation-delay: 300ms; }
.delay-400 { animation-delay: 400ms; }
.delay-500 { animation-delay: 500ms; }

/* Scroll-Reveal Intersection Protocol */
[data-scroll] {
  opacity: 0;
  transform: translateY(35px);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

[data-scroll="scale"] {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

[data-scroll="left"] {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

[data-scroll="right"] {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

[data-scroll].is-visible,
[data-scroll="scale"].is-visible,
[data-scroll="left"].is-visible,
[data-scroll="right"].is-visible {
  opacity: 1;
  transform: translateY(0) scale(1) translateX(0);
}

[data-scroll].is-visible .animate-fade-in-up {
  animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Professional Section Transitions & Dividers */
.section-divider-gradient {
  height: 1px;
  width: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(9, 9, 11, 0.12) 50%, transparent 100%);
}

.section-glow-connector {
  position: relative;
}

.section-glow-connector::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 45%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 230, 0, 0.6), transparent);
}

.bg-gradient-fade-bottom {
  background: linear-gradient(180deg, #0A0A0A 0%, #000000 100%);
}

.bg-gradient-fade-top {
  background: linear-gradient(180deg, #000000 0%, #0A0A0A 100%);
}

/* Accessibility */
*:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

::selection {
  background-color: var(--color-accent);
  color: #000000;
}

/* Typography Elements */
h1, .h1 {
  font-family: var(--font-heading);
  font-weight: 800;
  color: var(--color-heading);
  font-size: var(--text-5xl);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-top: 0;
}

h2, .h2 {
  font-family: var(--font-heading);
  font-weight: 800;
  color: var(--color-heading);
  font-size: var(--text-4xl);
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin-top: 0;
}

h3, .h3 {
  font-family: var(--font-heading);
  font-weight: 800;
  color: var(--color-heading);
  font-size: var(--text-3xl);
  line-height: 1.25;
  margin-top: 0;
}

h4, .h4 {
  font-family: var(--font-heading);
  font-weight: 800;
  color: var(--color-heading);
  font-size: var(--text-2xl);
  line-height: 1.3;
  margin-top: 0;
}

h5, .h5 {
  font-family: var(--font-heading);
  font-weight: 800;
  color: var(--color-heading);
  font-size: var(--text-xl);
  line-height: 1.4;
  margin-top: 0;
}

h6, .h6 {
  font-family: var(--font-heading);
  font-weight: 800;
  color: var(--color-heading);
  font-size: var(--text-lg);
  line-height: 1.4;
  margin-top: 0;
}

p {
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: var(--text-base);
}

.container-custom {
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

@media (min-width: 640px) {
  .container-custom {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .container-custom {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* Infinite Marquee Keyframes */
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

@keyframes marquee-reverse {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0%); }
}

.animate-marquee {
  animation: marquee 35s linear infinite;
}

.animate-marquee-reverse {
  animation: marquee-reverse 35s linear infinite;
}

/* --- Awwwards Sticky Cards --- */
.sticky-card-container {
  position: relative;
  width: 100%;
}

.sticky-card {
  position: sticky;
  /* top padaromas dinamiškai per HTML arba fiksuotas */
  transform-origin: top center;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

/* --- Awwwards Section Transitions (Parallax Scale) --- */
.section-parallax {
  opacity: 0;
  transform: translateY(50px) scale(0.97);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.section-parallax.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

