Spaces:
Running
Running
| @import "tailwindcss"; | |
| /* βββ Brand Tokens (identical to main app) ββββββββββββββββββββββ */ | |
| :root { | |
| --background: #F8FAFC; | |
| --foreground: #334155; | |
| --primary: #0F766E; | |
| --secondary: #14B8A6; | |
| --border: #E2E8F0; | |
| --card: #FFFFFF; | |
| /* Marketing-site extended tokens β derived from above */ | |
| --primary-dark: #074742; | |
| --primary-glow: rgba(20, 184, 166, 0.45); | |
| --secondary-glow: rgba(45, 212, 191, 0.35); | |
| --dark-bg: #040914; | |
| /* Deeper space black */ | |
| --dark-surface: #0a1324; | |
| --dark-card: rgba(255, 255, 255, 0.02); | |
| --dark-border: rgba(45, 212, 191, 0.15); | |
| /* Tech teal borders */ | |
| --neon-cyan: #22d3ee; | |
| --neon-purple: #c084fc; | |
| } | |
| @theme inline { | |
| --color-background: var(--background); | |
| --color-foreground: var(--foreground); | |
| --color-primary: var(--primary); | |
| --color-secondary: var(--secondary); | |
| --color-border: var(--border); | |
| --color-card: var(--card); | |
| --font-inter: "Inter", sans-serif; | |
| } | |
| body { | |
| background: var(--background); | |
| color: var(--foreground); | |
| font-family: var(--font-inter); | |
| -webkit-font-smoothing: antialiased; | |
| } | |
| @layer base { | |
| *, | |
| ::after, | |
| ::before { | |
| border-color: var(--border); | |
| } | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| } | |
| /* βββ Keyframe animations βββββββββββββββββββββββββββββββββββββββ */ | |
| @keyframes fadeUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(24px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes pulse-glow { | |
| 0%, | |
| 100% { | |
| opacity: 0.4; | |
| filter: blur(4px); | |
| } | |
| 50% { | |
| opacity: 1; | |
| filter: blur(8px); | |
| } | |
| } | |
| @keyframes float { | |
| 0%, | |
| 100% { | |
| transform: translateY(0px); | |
| } | |
| 50% { | |
| transform: translateY(-12px); | |
| } | |
| } | |
| @keyframes scanline { | |
| 0% { | |
| transform: translateY(-100%); | |
| } | |
| 100% { | |
| transform: translateY(100vh); | |
| } | |
| } | |
| @keyframes drawLine { | |
| 0% { | |
| stroke-dashoffset: 1000; | |
| } | |
| 100% { | |
| stroke-dashoffset: 0; | |
| } | |
| } | |
| @keyframes border-spin { | |
| 100% { | |
| transform: rotate(-360deg); | |
| } | |
| } | |
| @keyframes marquee { | |
| 0% { | |
| transform: translateX(0); | |
| } | |
| 100% { | |
| transform: translateX(-50%); | |
| } | |
| } | |
| .animate-fade-up { | |
| animation: fadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; | |
| } | |
| .animate-fade-in { | |
| animation: fadeIn 0.8s ease forwards; | |
| } | |
| .animate-float { | |
| animation: float 5s ease-in-out infinite; | |
| } | |
| .animate-float-delayed { | |
| animation: float 5s ease-in-out 2.5s infinite; | |
| } | |
| .animate-pulse-glow { | |
| animation: pulse-glow 4s ease-in-out infinite; | |
| } | |
| .animate-scanline { | |
| animation: scanline 8s linear infinite; | |
| } | |
| .animate-border-spin { | |
| animation: border-spin 5s linear infinite; | |
| } | |
| .animate-draw-line { | |
| animation: drawLine 3s ease-in-out forwards; | |
| } | |
| /* βββ Server-component hover patterns (CSS-only) βββββββββββββββ */ | |
| /* Primary gradient button */ | |
| .btn-primary { | |
| background: var(--primary); | |
| color: white; | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| transition: background-color 0.2s, transform 0.2s, border-color 0.2s; | |
| } | |
| .btn-primary:hover { | |
| background: var(--primary-dark); | |
| border-color: rgba(255, 255, 255, 0.2); | |
| } | |
| /* Ghost dark (dark section) */ | |
| .btn-ghost-dark { | |
| background: rgba(255, 255, 255, 0.03); | |
| border: 1px solid rgba(255, 255, 255, 0.08); | |
| color: rgba(241, 245, 249, 0.9); | |
| transition: border-color 0.2s, background-color 0.2s, color 0.2s; | |
| } | |
| .btn-ghost-dark:hover { | |
| border-color: rgba(255, 255, 255, 0.2); | |
| background-color: rgba(255, 255, 255, 0.08); | |
| color: #fff; | |
| } | |
| /* Ghost light (light section) */ | |
| .btn-ghost-light { | |
| background: #FFFFFF; | |
| border: 1px solid var(--border); | |
| color: var(--foreground); | |
| transition: border-color 0.2s, box-shadow 0.2s; | |
| } | |
| .btn-ghost-light:hover { | |
| border-color: rgba(15, 118, 110, 0.3); | |
| box-shadow: 0 4px 12px rgba(15, 118, 110, 0.08); | |
| } | |
| /* Footer nav link */ | |
| .footer-link { | |
| color: rgba(148, 163, 184, 0.8); | |
| transition: color 0.2s; | |
| } | |
| .footer-link:hover { | |
| color: var(--secondary); | |
| } | |
| /* Footer social icon */ | |
| .social-icon { | |
| background: rgba(255, 255, 255, 0.05); | |
| border: 1px solid rgba(255, 255, 255, 0.08); | |
| color: rgba(148, 163, 184, 0.8); | |
| transition: color 0.2s, border-color 0.2s; | |
| } | |
| .social-icon:hover { | |
| color: var(--secondary); | |
| border-color: rgba(20, 184, 166, 0.4); | |
| } | |
| /* Dark feature card */ | |
| .feature-card-dark { | |
| background: rgba(255, 255, 255, 0.03); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| transition: border-color 0.3s, background 0.3s; | |
| } | |
| .feature-card-dark:hover { | |
| border-color: rgba(255, 255, 255, 0.15); | |
| background: rgba(255, 255, 255, 0.05); | |
| } | |
| /* Light feature card */ | |
| .feature-card-light { | |
| background: #FFFFFF; | |
| border: 1px solid var(--border); | |
| transition: border-color 0.3s, box-shadow 0.3s; | |
| } | |
| .feature-card-light:hover { | |
| border-color: rgba(15, 118, 110, 0.3); | |
| box-shadow: 0 4px 20px rgba(15, 118, 110, 0.12); | |
| } | |
| /* Dark value card (about page) */ | |
| .value-card-dark { | |
| background: rgba(255, 255, 255, 0.03); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| transition: border-color 0.3s, background 0.3s; | |
| } | |
| .value-card-dark:hover { | |
| border-color: rgba(255, 255, 255, 0.15); | |
| background: rgba(255, 255, 255, 0.05); | |
| } | |
| /* Navigation card (product page breadcrumbs) */ | |
| .nav-card { | |
| background: #FFFFFF; | |
| border: 1px solid var(--border); | |
| transition: border-color 0.2s, box-shadow 0.2s; | |
| } | |
| .nav-card:hover { | |
| border-color: rgba(15, 118, 110, 0.3); | |
| box-shadow: 0 4px 16px rgba(15, 118, 110, 0.08); | |
| } | |
| .nav-card:hover .nav-card-arrow { | |
| transform: translateX(4px); | |
| } | |
| .nav-card-arrow { | |
| transition: transform 0.2s; | |
| } | |
| /* Category filter link */ | |
| .category-link { | |
| background: rgba(255, 255, 255, 0.05); | |
| border: 1px solid rgba(255, 255, 255, 0.08); | |
| color: rgba(148, 163, 184, 0.8); | |
| transition: color 0.2s, border-color 0.2s; | |
| } | |
| .category-link:hover { | |
| color: var(--secondary); | |
| border-color: rgba(20, 184, 166, 0.3); | |
| } | |
| /* Text link primary */ | |
| .text-link-primary { | |
| color: var(--primary); | |
| transition: color 0.2s; | |
| } | |
| .text-link-primary:hover { | |
| color: var(--secondary); | |
| } | |
| /* Text link teal */ | |
| .text-link-teal { | |
| color: var(--secondary); | |
| transition: color 0.2s; | |
| } | |
| .text-link-teal:hover { | |
| color: #5EEAD4; | |
| } | |
| /* Waitlist disabled button style */ | |
| .btn-coming-soon { | |
| background: rgba(255, 255, 255, 0.05); | |
| border: 1px solid rgba(255, 255, 255, 0.08); | |
| color: #475569; | |
| transition: color 0.2s, border-color 0.2s; | |
| } | |
| .btn-coming-soon:hover { | |
| color: #94A3B8; | |
| border-color: rgba(255, 255, 255, 0.15); | |
| } | |
| /* βββ Utility classes βββββββββββββββββββββββββββββββββββββββββββ */ | |
| /* Gradient text */ | |
| .gradient-text { | |
| background: linear-gradient(135deg, var(--neon-cyan) 0%, var(--primary) 50%, var(--secondary) 100%); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| .neon-text { | |
| color: #fff; | |
| text-shadow: 0 0 10px rgba(34, 211, 238, 0.5), 0 0 20px rgba(34, 211, 238, 0.3); | |
| } | |
| /* Gradient border card with spinning effect */ | |
| .gradient-border { | |
| position: relative; | |
| background: var(--dark-card); | |
| border-radius: 1rem; | |
| overflow: hidden; | |
| z-index: 1; | |
| } | |
| .gradient-border-spin::before { | |
| content: ""; | |
| position: absolute; | |
| top: -50%; | |
| left: -50%; | |
| width: 200%; | |
| height: 200%; | |
| background: conic-gradient(transparent, | |
| rgba(20, 184, 166, 0.1), | |
| transparent 30%); | |
| animation: border-spin 4s linear infinite; | |
| z-index: -2; | |
| opacity: 0; | |
| transition: opacity 0.5s; | |
| } | |
| .gradient-border-spin:hover::before { | |
| opacity: 1; | |
| } | |
| .gradient-border::after { | |
| content: ""; | |
| position: absolute; | |
| inset: 1px; | |
| background: var(--dark-bg); | |
| border-radius: calc(1rem - 1px); | |
| z-index: -1; | |
| } | |
| /* Glow effect */ | |
| .glow-primary { | |
| box-shadow: 0 0 40px var(--primary-glow), 0 0 80px rgba(15, 118, 110, 0.15); | |
| } | |
| .glow-sm { | |
| box-shadow: 0 0 20px var(--primary-glow); | |
| } | |
| /* Dark section base */ | |
| .dark-section { | |
| background: var(--dark-bg); | |
| color: #F1F5F9; | |
| } | |
| /* Glass panel */ | |
| .glass-panel { | |
| background: rgba(10, 19, 36, 0.4); | |
| backdrop-filter: blur(24px); | |
| -webkit-backdrop-filter: blur(24px); | |
| border: 1px solid rgba(45, 212, 191, 0.15); | |
| box-shadow: inset 0 0 20px rgba(45, 212, 191, 0.05); | |
| } | |
| /* Cockpit grid lines */ | |
| .cockpit-grid { | |
| background-image: | |
| linear-gradient(rgba(45, 212, 191, 0.1) 1px, transparent 1px), | |
| linear-gradient(90deg, rgba(45, 212, 191, 0.1) 1px, transparent 1px); | |
| background-size: 50px 50px; | |
| perspective: 1000px; | |
| } | |
| .cockpit-grid-3d { | |
| transform: rotateX(60deg) scale(2); | |
| transform-origin: top; | |
| } | |
| /* βββ Mission 33: Scroll-reveal + Catalog cards ββββββββββββββββββββ */ | |
| @keyframes revealUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(30px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes shimmer { | |
| 0% { | |
| background-position: -200% 0; | |
| } | |
| 100% { | |
| background-position: 200% 0; | |
| } | |
| } | |
| /* Initial hidden state for scroll-reveal sections */ | |
| .reveal-hidden { | |
| opacity: 0; | |
| transform: translateY(30px); | |
| } | |
| .reveal-visible { | |
| animation: revealUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards; | |
| } | |
| /* Staggered reveals β add delay-N class alongside reveal-hidden */ | |
| .reveal-delay-1 { | |
| animation-delay: 0.1s; | |
| } | |
| .reveal-delay-2 { | |
| animation-delay: 0.2s; | |
| } | |
| .reveal-delay-3 { | |
| animation-delay: 0.3s; | |
| } | |
| .reveal-delay-4 { | |
| animation-delay: 0.4s; | |
| } | |
| .reveal-delay-5 { | |
| animation-delay: 0.5s; | |
| } | |
| /* Dark catalog card (templates, integrations) */ | |
| .catalog-card { | |
| background: rgba(255, 255, 255, 0.03); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| border-radius: 1rem; | |
| transition: border-color 0.3s, background 0.3s, transform 0.3s; | |
| } | |
| .catalog-card:hover { | |
| border-color: rgba(255, 255, 255, 0.15); | |
| background: rgba(255, 255, 255, 0.05); | |
| transform: translateY(-2px); | |
| } | |
| /* Muted variant for coming-soon / disabled items */ | |
| .catalog-card-muted { | |
| background: rgba(255, 255, 255, 0.02); | |
| border: 1px solid rgba(255, 255, 255, 0.05); | |
| border-radius: 1rem; | |
| opacity: 0.55; | |
| transition: opacity 0.3s; | |
| } | |
| .catalog-card-muted:hover { | |
| opacity: 0.7; | |
| } | |
| /* Platform badge pills */ | |
| .badge-platform { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 4px; | |
| padding: 2px 8px; | |
| border-radius: 9999px; | |
| font-size: 10px; | |
| font-weight: 600; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| background: rgba(255, 255, 255, 0.06); | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| color: rgba(148, 163, 184, 0.9); | |
| } | |
| /* Category badge pills */ | |
| .badge-category { | |
| display: inline-flex; | |
| align-items: center; | |
| padding: 2px 8px; | |
| border-radius: 9999px; | |
| font-size: 10px; | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| letter-spacing: 0.06em; | |
| } | |
| .badge-category[data-category="lead_generation"] { | |
| background: rgba(20, 184, 166, 0.15); | |
| color: #14B8A6; | |
| border: 1px solid rgba(20, 184, 166, 0.3); | |
| } | |
| .badge-category[data-category="sales"] { | |
| background: rgba(59, 130, 246, 0.15); | |
| color: #60A5FA; | |
| border: 1px solid rgba(59, 130, 246, 0.3); | |
| } | |
| .badge-category[data-category="customer_support"] { | |
| background: rgba(245, 158, 11, 0.15); | |
| color: #FBBF24; | |
| border: 1px solid rgba(245, 158, 11, 0.3); | |
| } | |
| .badge-category[data-category="onboarding"] { | |
| background: rgba(168, 85, 247, 0.15); | |
| color: #C084FC; | |
| border: 1px solid rgba(168, 85, 247, 0.3); | |
| } | |
| /* Skeleton loading line */ | |
| .skeleton-line { | |
| height: 12px; | |
| border-radius: 6px; | |
| background: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 25%, rgba(255, 255, 255, 0.08) 50%, rgba(255, 255, 255, 0.04) 75%); | |
| background-size: 200% 100%; | |
| animation: shimmer 1.5s ease-in-out infinite; | |
| } | |
| /* Active category filter tab */ | |
| .category-link-active { | |
| background: rgba(15, 118, 110, 0.15); | |
| border: 1px solid rgba(20, 184, 166, 0.4); | |
| color: var(--secondary); | |
| } |