@import "tailwindcss";

:root {
  --background: #000;
  --foreground: #ededed;
  --font-default: "Montserrat", sans-serif;
}

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --font-sans: var(--font-default);
}

/* @media (prefers-color-scheme: dark) {
  :root {
    --background: #0a0a0a;
    --foreground: #ededed;
  }
} */

/* * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
} */

* {
  font-family: "Montserrat", Arial, Helvetica, sans-serif !important;
}

body {
  background: var(--background);
  color: var(--foreground);
  overflow-x: hidden;
  font-size: 16px;
  touch-action: pan-y; /* allow vertical scroll */
  position: relative;
}

#cameraSection {
  perspective: 1400px;
}

#flashEffect {
  transform-origin: center;
  filter: blur(8px);
}

.module-item {
  transform-origin: center;
  transform: perspective(1400px) translateZ(-300px) scale(0.1);
}
/* 
.brand-gradient {
  background: linear-gradient(90deg, #f3504f, #054f7a, #ffc020);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
} */

.char {
  display: inline-block;
}

/* .card {
  width: 280px;
  height: 420px;
  flex-shrink: 0;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 1rem;
} */

/* .card {
  min-width: calc(100% / 9);
  background-size: contain;
  background-repeat: no-repeat;
} */

.cardListSlide {
  visibility: hidden;
  opacity: 0;
}

/* .pin-spacer #moduleCardsSection {
  position: absolute !important;
} */

#smooth-wrapper {
  position: fixed;
  overflow: hidden;
  inset: 0;
  width: 100%;
  height: 100%; /* wrapper cannot scroll */
  top: 0;
  left: 0;
}

#smooth-content {
  min-height: 100%;
  will-change: transform;
  touch-action: auto !important;
}

.pinSection,
.cardListContainer,
.cardListSlide,
.cardListItem {
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  touch-action: auto !important;
}

#smooth-content {
  transform-style: preserve-3d;
}

.pinSection {
  transform-style: flat;
}

.cardListTitleFill {
  will-change: transform;
  transform-origin: top left;
  transform: translateZ(0);
}

.bgr1 {
  background: linear-gradient(180deg, #ffc020 0%, #f3504f 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  background-size: 200% 100%;
}

.bgr2 {
  background: linear-gradient(180deg, #f3504f 0%, #afc4e2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  background-size: 200% 100%;
}

.bgr3 {
  background: linear-gradient(180deg, #afc4e2 0%, #054f7a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  background-size: 200% 100%;
}

.bgr-animate {
  animation: slideGradient 2s linear infinite;
}

@keyframes slideGradient {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}

.h-screen {
  height: 100svh !important;
}

#mobileNav a {
  padding: 0.5rem 0;
  width: 100%;
}

#hamburgerBtn.active {
  transform: rotate(90deg);
}