/* Landing Page Styles */ /* Variables */ :root { --landing-primary: #3b82f6; --landing-primary-dark: #1e40af; --landing-secondary: #10b981; --landing-dark: #0f172a; --landing-dark-lighter: #1e293b; --landing-text: #f1f5f9; --landing-text-muted: #94a3b8; --landing-border: #334155; } .landing-page { background: var(--landing-dark); color: var(--landing-text); min-height: 100vh; } /* Navbar */ .landing-navbar { background: rgba(15, 23, 42, 0.95); backdrop-filter: blur(10px); border-bottom: 1px solid var(--landing-border); padding: 1rem 0; transition: all 0.3s ease; } .landing-navbar.scrolled { padding: 0.5rem 0; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); } .landing-navbar .nav-link { color: var(--landing-text-muted) !important; font-weight: 500; padding: 0.5rem 1rem !important; transition: color 0.3s ease; background: none; border: none; } .landing-navbar .nav-link:hover { color: var(--landing-text) !important; } /* Hero Section */ .hero-section { position: relative; overflow: hidden; } .hero-bg { position: absolute; inset: 0; background: radial-gradient(ellipse at 20% 20%, rgba(59, 130, 246, 0.15), transparent 50%), radial-gradient(ellipse at 80% 80%, rgba(16, 185, 129, 0.1), transparent 50%); } .hero-section .container { position: relative; z-index: 1; } /* Hero Title Animation */ .hero-title-wrapper { line-height: 1.1; } .hero-title-wrapper h1 { line-height: 1.1; } .hero-title-wrapper h1:first-child { padding-left: 0; } .hero-title-wrapper h1:last-child { padding-left: 3.5rem; } @media (min-width: 768px) { .hero-title-wrapper h1:last-child { padding-left: 5rem; } } .hero-title-highlight { background: linear-gradient(135deg, var(--landing-primary), var(--landing-secondary)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: glow 3s ease-in-out infinite, colorShift 5s ease-in-out infinite; } @keyframes glow { 0%, 100% { filter: drop-shadow(0 0 5px rgba(59, 130, 246, 0.3)); } 50% { filter: drop-shadow(0 0 20px rgba(16, 185, 129, 0.5)) drop-shadow(0 0 40px rgba(59, 130, 246, 0.3)); } } @keyframes colorShift { 0%, 100% { background: linear-gradient(135deg, var(--landing-primary), var(--landing-secondary)); -webkit-background-clip: text; background-clip: text; } 50% { background: linear-gradient(135deg, var(--landing-secondary), var(--landing-primary)); -webkit-background-clip: text; background-clip: text; } } /* Dashboard Preview */ .hero-image { perspective: 1000px; } .dashboard-preview { background: var(--landing-dark-lighter); border-radius: 16px; border: 1px solid var(--landing-border); overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); transform: rotateY(-5deg) rotateX(5deg); transition: transform 0.5s ease; } .dashboard-preview:hover { transform: rotateY(0) rotateX(0); } .preview-header { background: var(--landing-dark); padding: 12px 16px; border-bottom: 1px solid var(--landing-border); } .preview-dots { display: flex; gap: 8px; } .preview-dots .dot { width: 12px; height: 12px; border-radius: 50%; } .preview-dots .dot.red { background: #ef4444; } .preview-dots .dot.yellow { background: #f59e0b; } .preview-dots .dot.green { background: #22c55e; } .preview-content { padding: 24px; display: flex; flex-direction: column; gap: 16px; } .preview-card { background: var(--landing-dark); border-radius: 12px; padding: 20px; display: flex; align-items: center; gap: 16px; font-size: 1.25rem; font-weight: 600; } .preview-card i { font-size: 2rem; } .preview-card.balance i { color: var(--landing-primary); } .preview-card.income i { color: #22c55e; } .preview-card.expense i { color: #ef4444; } .preview-card.income span { color: #22c55e; } .preview-card.expense span { color: #ef4444; } /* Features Section */ .features-section { background: var(--landing-dark-lighter); } .feature-card { background: var(--landing-dark); border-radius: 16px; padding: 32px; border: 1px solid var(--landing-border); transition: transform 0.3s ease, border-color 0.3s ease; } .feature-card:hover { transform: translateY(-8px); border-color: var(--landing-primary); } .feature-icon { width: 64px; height: 64px; background: linear-gradient(135deg, var(--landing-primary), var(--landing-secondary)); border-radius: 16px; display: flex; align-items: center; justify-content: center; margin-bottom: 24px; } .feature-icon i { font-size: 28px; color: white; } .feature-card h4 { margin-bottom: 12px; color: var(--landing-text); } /* Pricing Section */ .pricing-section { background: var(--landing-dark); } .pricing-card { background: var(--landing-dark-lighter); border-radius: 16px; padding: 32px; border: 1px solid var(--landing-border); transition: transform 0.3s ease, border-color 0.3s ease; display: flex; flex-direction: column; } .pricing-card:hover { transform: translateY(-8px); } .pricing-card.featured { border-color: var(--landing-primary); box-shadow: 0 0 40px rgba(59, 130, 246, 0.2); position: relative; } .featured-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: linear-gradient(135deg, var(--landing-primary), var(--landing-primary-dark)); color: white; padding: 6px 20px; border-radius: 20px; font-size: 0.875rem; font-weight: 600; } .coming-soon-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: linear-gradient(135deg, #6366f1, #4f46e5); color: white; padding: 6px 20px; border-radius: 20px; font-size: 0.875rem; font-weight: 600; white-space: nowrap; } .pricing-card.coming-soon { opacity: 0.9; border: 2px dashed rgba(99, 102, 241, 0.5); } .pricing-card.coming-soon .coming-soon-text { font-size: 3rem; color: #6366f1; } .pricing-card.coming-soon .pricing-features li { opacity: 0.7; } /* Gold Plan Teaser */ .gold-teaser { background: linear-gradient(135deg, rgba(234, 179, 8, 0.1) 0%, rgba(161, 98, 7, 0.2) 100%); border: 2px solid rgba(234, 179, 8, 0.3); backdrop-filter: blur(10px); } .gold-teaser h4 { font-weight: 700; text-transform: uppercase; letter-spacing: 1px; } .pricing-header { text-align: center; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--landing-border); } .pricing-header h3 { font-size: 1.5rem; margin-bottom: 16px; } .price { display: flex; align-items: baseline; justify-content: center; gap: 4px; } .price .currency { font-size: 1.5rem; font-weight: 600; color: var(--landing-text-muted); } .price .amount { font-size: 3rem; font-weight: 700; color: var(--landing-text); } .price .period { font-size: 1rem; color: var(--landing-text-muted); } .billing-note { font-size: 0.875rem; color: var(--landing-text-muted); margin-top: 8px; } .pricing-features { list-style: none; padding: 0; margin: 0 0 24px 0; flex-grow: 1; } .pricing-features li { padding: 12px 0; border-bottom: 1px solid var(--landing-border); font-size: 0.95rem; } .pricing-features li:last-child { border-bottom: none; } .pricing-footer { margin-top: auto; } /* FAQ Section */ .faq-section { background: var(--landing-dark-lighter); } .faq-section .accordion-item { background: var(--landing-dark); border: 1px solid var(--landing-border); margin-bottom: 12px; border-radius: 12px !important; overflow: hidden; } .faq-section .accordion-button { background: var(--landing-dark); color: var(--landing-text); font-weight: 500; padding: 20px 24px; } .faq-section .accordion-button:not(.collapsed) { background: var(--landing-dark); color: var(--landing-primary); } .faq-section .accordion-button::after { filter: invert(1); } .faq-section .accordion-button:focus { box-shadow: none; border-color: var(--landing-primary); } .faq-section .accordion-body { background: var(--landing-dark); color: var(--landing-text-muted); padding: 0 24px 20px 24px; } /* CTA Section */ .cta-section { background: linear-gradient(135deg, var(--landing-primary), var(--landing-primary-dark)); } /* Footer */ .landing-footer { background: var(--landing-dark); border-top: 1px solid var(--landing-border); } .landing-footer a { text-decoration: none; transition: color 0.3s ease; } .landing-footer a:hover { color: var(--landing-primary) !important; } /* Responsive */ @media (max-width: 768px) { .hero-section .row { min-height: auto; padding-top: 100px; } .price .amount { font-size: 2.5rem; } .feature-card { padding: 24px; } }