/* ZenTask — styles global (loaded after Tailwind CDN) */

/* Font Geist */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Geist+Mono:wght@100..900&display=swap');

html {
  scroll-behavior: auto; /* Lenis handles smooth scroll */
}

body {
  color: #ededed;
  background: #000;
  font-family: 'Geist', system-ui, -apple-system, sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Scrollbar styling */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #111; }
::-webkit-scrollbar-thumb { background: #333; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #FF5F00; }

/* Hero background animations (GPU-accelerated) */
@keyframes float-slow {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(30px, -30px) scale(1.05); }
}
@keyframes float-slower {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-20px, 20px) scale(1.1); }
}
.animate-float-slow { animation: float-slow 8s ease-in-out infinite; }
.animate-float-slower { animation: float-slower 12s ease-in-out infinite; }

/* Accent color fallbacks (before Tailwind CDN loads to prevent FOUC) */
.text-accent { color: #FF5F00; }
.bg-accent { background-color: #FF5F00; }
.border-accent { border-color: #FF5F00; }

/* Lenis smooth scroll required styles */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }

/* FAQ accordion */
.faq-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}
.faq-item[data-open="true"] .faq-content {
  max-height: 500px;
  opacity: 1;
}
.faq-item[data-open="true"] .icon-plus { display: none; }
.faq-item:not([data-open="true"]) .icon-minus { display: none; }

/* Mobile menu */
.mobile-menu {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.mobile-menu[data-open="true"] {
  opacity: 1;
  pointer-events: auto;
}

/* Navbar scrolled state (manually applied via JS) */
.navbar.navbar-scrolled {
  background: rgba(0,0,0,0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid #111827;
}

/* Lucide icon fallback sizing */
[data-lucide] { width: 1em; height: 1em; display: inline-block; vertical-align: middle; }

/* Initial hidden state for Hero anim (prevents flash before GSAP runs) */
.gsap-hidden { opacity: 0; }

/* Prose (typography) for legal pages — mimic @tailwindcss/typography prose-invert */
.prose { color: #d1d5db; max-width: 65ch; font-size: 0.9rem; line-height: 1.75; }
@media (min-width: 640px) { .prose { font-size: 1rem; } }
.prose h1 { color: #fff; font-size: 2rem; font-weight: 800; margin-top: 0; margin-bottom: 1.5rem; line-height: 1.15; }
@media (min-width: 640px) { .prose h1 { font-size: 2.5rem; } }
.prose h2 { color: #fff; font-size: 1.4rem; font-weight: 700; margin-top: 2.5rem; margin-bottom: 1rem; line-height: 1.3; }
@media (min-width: 640px) { .prose h2 { font-size: 1.6rem; } }
.prose h3 { color: #fff; font-size: 1.15rem; font-weight: 700; margin-top: 2rem; margin-bottom: 0.75rem; }
.prose p { margin-top: 1.25rem; margin-bottom: 1.25rem; color: #d1d5db; }
.prose ul { margin-top: 1rem; margin-bottom: 1.25rem; padding-left: 1.5rem; list-style: disc; }
.prose ul li { margin-top: 0.5rem; margin-bottom: 0.5rem; color: #d1d5db; }
.prose ul li::marker { color: #FF5F00; }
.prose a { color: #FF5F00; text-decoration: underline; transition: color 0.2s; }
.prose a:hover { color: #fff; }
.prose a.no-underline, .prose .no-underline { text-decoration: none; }
.prose strong { color: #fff; font-weight: 700; }

