@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Manrope:wght@300;400;500;600;700&display=swap');

:root {
  --font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #000; color: #fff; font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
body { overflow-x: hidden; }

.font-sans { font-family: var(--font-sans); }
.font-mono { font-family: var(--font-mono); }

/* ---- keyframes ---- */
@keyframes flyOutRight { 0% { transform: translateX(0); } 100% { transform: translateX(250%); } }
@keyframes flyInLeft { 0% { transform: translateX(-250%); } 100% { transform: translateX(0); } }
.animate-fly-out { animation: flyOutRight 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
.animate-fly-in { animation: flyInLeft 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

@keyframes flyOutUp { 0% { transform: translateY(0); } 100% { transform: translateY(-150%); } }
@keyframes flyInUp { 0% { transform: translateY(150%); } 100% { transform: translateY(0); } }
.animate-fly-out-up { animation: flyOutUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
.animate-fly-in-up { animation: flyInUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

@keyframes pulseBar { 0%, 100% { opacity: 0.4; transform: translateX(-100%);} 50% { opacity: 1; } 100% { transform: translateX(300%);} }
.animate-loading-bar { animation: pulseBar 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite; }

/* ---- ScrollReveal ---- */
.scroll-reveal { margin: 0; }
.scroll-reveal-text { display: flex; flex-wrap: wrap; margin: 0; }
.word { display: inline-block; white-space: pre; }

/* ---- Reveal initial ---- */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.8s cubic-bezier(0.16,1,0.3,1), transform 0.8s cubic-bezier(0.16,1,0.3,1); }
.reveal.in { opacity: 1; transform: translateY(0); }

/* ---- Buttons / utilities the inline classes refer to ---- */
.glass { background: rgba(26,26,26,0.4); backdrop-filter: blur(80px); -webkit-backdrop-filter: blur(80px); }
.glass-button { background: rgba(255,255,255,0.08); backdrop-filter: blur(80px); -webkit-backdrop-filter: blur(80px); transition: background 0.3s cubic-bezier(0.4,0,0.2,1), color 0.3s cubic-bezier(0.4,0,0.2,1); }
.group:hover .group-hover\:bg-white { background: #fff; }
.group:hover .group-hover\:text-black { color: #000; }
.group:hover .group-hover\:text-white { color: #fff; }

/* placeholder pitch background (only used as fallback if video does not load) */
.pitch-fallback {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 50% 30%, rgba(40,90,40,0.35), transparent 60%),
    repeating-linear-gradient(90deg, #0a1208 0 6%, #0e1a0b 6% 12%),
    #050805;
}
.pitch-fallback::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 90%, rgba(0,0,0,0) 0%, rgba(0,0,0,0.85) 70%);
}

/* hide scrollbar visually but keep scroll */
::-webkit-scrollbar { width: 0; background: transparent; }
