:root { /* Brand */ --navy: #0a1628; --dark-blue: #0f2140; --mid-blue: #1a365d; --accent-green: #00d4aa; --accent-green-dim: #00b89a; --light-green: #ccfbef; --brand-accent: #6366f1; /* Grays */ --gray-50: #f8fafc; --gray-100: #f1f5f9; --gray-200: #e2e8f0; --gray-300: #cbd5e1; --gray-400: #94a3b8; --gray-500: #64748b; --gray-600: #475569; --gray-700: #334155; --gray-800: #1e293b; --gray-900: #0f172a; --white: #ffffff; /* Semantic */ --red: #ef4444; --red-light: #fee2e2; --green-light: #d1fae5; --amber: #f59e0b; --amber-light: #fef3c7; --blue: #3b82f6; --blue-light: #dbeafe; /* Shadows */ --shadow-xs: 0 1px 3px rgba(10,22,40,0.06); --shadow-sm: 0 2px 8px rgba(10,22,40,0.08); --shadow-md: 0 4px 20px rgba(10,22,40,0.10); --shadow-lg: 0 8px 32px rgba(10,22,40,0.12); /* Radius */ --radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; --radius-xl: 20px; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; color: var(--gray-800); background: var(--white); -webkit-font-smoothing: antialiased; line-height: 1.6; } /* ── NAV ── */ nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: rgba(255,255,255,0.95); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid var(--gray-200); padding: 0 2rem; height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; } .nav-logo { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.2rem; color: var(--navy); text-decoration: none; display: flex; align-items: center; gap: 0.5rem; flex-shrink: 0; } .nav-logo-icon { width: 32px; height: 32px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; } .nav-logo-icon svg { width: 32px; height: 32px; display: block; } .nav-links { display: flex; gap: 1.5rem; list-style: none; align-items: center; flex-wrap: nowrap; } .nav-links a { font-size: 0.8375rem; font-weight: 500; color: var(--gray-600); text-decoration: none; transition: color 0.15s; white-space: nowrap; } .nav-links a:hover { color: var(--navy); } .nav-links a.active { color: var(--navy); font-weight: 600; } .nav-cta { background: var(--navy); color: var(--accent-green) !important; padding: 0.375rem 0.875rem; border-radius: 7px; font-weight: 600 !important; font-size: 0.8125rem !important; transition: background 0.15s !important; white-space: nowrap; } .nav-cta:hover { background: var(--dark-blue) !important; color: var(--accent-green) !important; } /* Legacy alias */ .nav-advisors-link { background: var(--navy); color: var(--accent-green) !important; padding: 0.375rem 0.875rem; border-radius: 7px; font-weight: 600 !important; font-size: 0.8125rem !important; transition: background 0.15s !important; } .nav-advisors-link:hover { background: var(--dark-blue) !important; } .nav-mobile-btn { display: none; background: none; border: 1.5px solid var(--gray-200); border-radius: 7px; width: 36px; height: 36px; cursor: pointer; align-items: center; justify-content: center; flex-shrink: 0; color: var(--navy); } .nav-mobile-btn svg { display: block; } .nav-new-badge { display: inline-block; font-size: 0.55rem; font-weight: 800; padding: 0.1rem 0.35rem; border-radius: 3px; background: var(--accent-green); color: #fff; vertical-align: middle; margin-left: 0.2rem; letter-spacing: 0.04em; } /* ── LAYOUT ── */ .container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; } .page-header { padding: 7rem 0 3rem; } .page-wrap { max-width: 1200px; margin: 0 auto; padding: 7rem 2rem 4rem; } /* ── BREADCRUMB ── */ .breadcrumb { display: flex; align-items: center; gap: 0.4rem; font-size: 0.78rem; color: var(--gray-500); margin-bottom: 1.25rem; } .breadcrumb a { color: var(--gray-500); text-decoration: none; } .breadcrumb a:hover { color: var(--accent-green); } .breadcrumb span { color: var(--gray-400); } /* ── PAGE TYPOGRAPHY ── */ .page-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--accent-green); margin-bottom: 0.6rem; } .page-title { font-family: 'Space Grotesk', sans-serif; font-size: 2.75rem; font-weight: 700; color: var(--navy); line-height: 1.12; letter-spacing: -0.025em; margin-bottom: 1rem; } .page-subtitle { font-size: 1.05rem; color: var(--gray-500); line-height: 1.75; max-width: 620px; } /* ── SECTION ── */ .section { padding: 3rem 0; border-top: 1px solid var(--gray-100); } .section-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--accent-green); margin-bottom: 0.5rem; } .section-title { font-family: 'Space Grotesk', sans-serif; font-size: 1.35rem; font-weight: 700; color: var(--navy); margin-bottom: 1.5rem; letter-spacing: -0.01em; } .section-subtitle { font-size: 0.95rem; color: var(--gray-500); margin-bottom: 2rem; line-height: 1.7; max-width: 560px; } /* ── CARDS ── */ .card { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); overflow: hidden; } .card-hover { transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s; } .card-hover:hover { border-color: var(--accent-green); box-shadow: var(--shadow-md); transform: translateY(-2px); } .card-body { padding: 1.5rem; } /* ── BUTTONS ── */ .btn { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.625rem 1.25rem; border-radius: 8px; font-size: 0.875rem; font-weight: 600; font-family: inherit; cursor: pointer; border: none; transition: all 0.15s; text-decoration: none; white-space: nowrap; line-height: 1; } .btn-primary { background: var(--navy); color: var(--accent-green); } .btn-primary:hover { background: var(--dark-blue); } .btn-green { background: var(--accent-green); color: var(--white); } .btn-green:hover { background: var(--accent-green-dim); } .btn-outline { background: var(--white); color: var(--navy); border: 1.5px solid var(--gray-200); } .btn-outline:hover { border-color: var(--navy); background: var(--gray-50); } .btn-ghost { background: var(--gray-100); color: var(--gray-700); } .btn-ghost:hover { background: var(--gray-200); } .btn-danger { background: var(--red-light); color: var(--red); } .btn-danger:hover { background: #fecaca; } .btn-sm { padding: 0.375rem 0.75rem; font-size: 0.8rem; border-radius: 6px; } .btn-lg { padding: 0.8rem 1.75rem; font-size: 1rem; border-radius: 10px; } /* ── BADGES ── */ .badge { display: inline-block; padding: 0.2rem 0.625rem; border-radius: 100px; font-size: 0.72rem; font-weight: 600; line-height: 1.4; } .badge-green { background: var(--green-light); color: #065f46; } .badge-red { background: var(--red-light); color: #991b1b; } .badge-blue { background: var(--blue-light); color: #1d4ed8; } .badge-amber { background: var(--amber-light); color: #92400e; } .badge-gray { background: var(--gray-100); color: var(--gray-600); } .badge-navy { background: var(--navy); color: var(--accent-green); } /* ── STAT CARDS ── */ .stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 2rem; } .stat-card { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); padding: 1.25rem 1.5rem; } .stat-label { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--gray-400); margin-bottom: 0.5rem; } .stat-value { font-family: 'Space Grotesk', sans-serif; font-size: 1.75rem; font-weight: 700; color: var(--navy); line-height: 1; } .stat-value.green { color: var(--accent-green); } .stat-value.red { color: var(--red); } .stat-sub { font-size: 0.75rem; color: var(--gray-400); margin-top: 0.35rem; } /* ── DATA TABLE ── */ .data-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; } .data-table th { text-align: left; padding: 0.75rem 1rem; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--gray-400); border-bottom: 2px solid var(--gray-200); background: var(--gray-50); } .data-table td { padding: 0.9rem 1rem; border-bottom: 1px solid var(--gray-100); color: var(--gray-700); vertical-align: middle; } .data-table tr:last-child td { border-bottom: none; } .data-table tr:hover td { background: var(--gray-50); } .data-table .ticker-col { font-family: 'Space Grotesk', sans-serif; font-weight: 700; color: var(--navy); font-size: 0.9rem; } .risks-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; } .risks-table th { text-align: left; padding: 0.75rem 1rem; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--gray-400); border-bottom: 2px solid var(--gray-200); background: var(--gray-50); } .risks-table td { padding: 0.9rem 1rem; border-bottom: 1px solid var(--gray-100); vertical-align: top; color: var(--gray-700); line-height: 1.6; } .risks-table td:first-child { font-weight: 600; color: var(--navy); white-space: nowrap; } .risks-table tr:last-child td { border-bottom: none; } .risks-table tr:hover td { background: var(--gray-50); } /* ── FORMS ── */ .form-group { margin-bottom: 1.1rem; } .form-label { display: block; font-size: 0.8rem; font-weight: 600; color: var(--gray-600); margin-bottom: 0.4rem; } .form-input, .form-select, .form-textarea { width: 100%; padding: 0.65rem 0.9rem; border: 1.5px solid var(--gray-200); border-radius: 8px; font-size: 0.875rem; font-family: inherit; color: var(--gray-800); background: var(--white); transition: border-color 0.15s, box-shadow 0.15s; -webkit-appearance: none; } .form-input:focus, .form-select:focus, .form-textarea:focus { outline: none; border-color: var(--accent-green); box-shadow: 0 0 0 3px rgba(16,185,129,0.1); } .form-textarea { resize: vertical; min-height: 80px; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } .form-actions { display: flex; gap: 0.75rem; justify-content: flex-end; margin-top: 1.5rem; } /* ── EMPTY STATE ── */ .empty-state { text-align: center; padding: 4rem 2rem; } .empty-icon { font-size: 2.5rem; margin-bottom: 1rem; opacity: 0.5; } .empty-title { font-family: 'Space Grotesk', sans-serif; font-size: 1.2rem; font-weight: 700; color: var(--navy); margin-bottom: 0.5rem; } .empty-text { font-size: 0.9rem; color: var(--gray-400); margin-bottom: 1.5rem; line-height: 1.6; } /* ── SUB NAV ── */ .sub-nav { display: flex; gap: 0.25rem; margin-bottom: 2rem; border-bottom: 1px solid var(--gray-200); } .sub-nav a { padding: 0.65rem 1.25rem; font-size: 0.875rem; font-weight: 500; color: var(--gray-500); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: all 0.15s; } .sub-nav a:hover { color: var(--navy); } .sub-nav a.active { color: var(--navy); font-weight: 600; border-bottom-color: var(--accent-green); } /* ── MODAL ── */ .modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 200; align-items: center; justify-content: center; backdrop-filter: blur(4px); } .modal-overlay.open { display: flex; } .modal { background: var(--white); border-radius: var(--radius-xl); padding: 2rem; width: 100%; max-width: 520px; max-height: 90vh; overflow-y: auto; box-shadow: var(--shadow-lg); } .modal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; } .modal-title { font-family: 'Space Grotesk', sans-serif; font-size: 1.25rem; font-weight: 700; color: var(--navy); } .modal-close { background: none; border: none; font-size: 1.5rem; cursor: pointer; color: var(--gray-400); line-height: 1; padding: 0; } .modal-close:hover { color: var(--gray-700); } /* ── FOOTER ── */ footer { background: var(--navy); color: var(--gray-400); padding: 3.5rem 2rem 2rem; margin-top: 5rem; } .footer-inner { max-width: 1200px; margin: 0 auto; } .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; padding-bottom: 2.5rem; border-bottom: 1px solid rgba(255,255,255,0.08); margin-bottom: 2rem; } .footer-brand .footer-logo { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.1rem; color: var(--white); text-decoration: none; display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.875rem; } .footer-brand .footer-logo-icon { width: 28px; height: 28px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; } .footer-brand .footer-logo-icon svg { width: 28px; height: 28px; display: block; } .footer-brand p { font-size: 0.82rem; color: var(--gray-500); line-height: 1.7; max-width: 240px; } .footer-col-title { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gray-400); margin-bottom: 1rem; } .footer-links { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; } .footer-links a { font-size: 0.82rem; color: var(--gray-500); text-decoration: none; transition: color 0.15s; } .footer-links a:hover { color: var(--accent-green); } .footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem; } .footer-bottom p { font-size: 0.78rem; color: var(--gray-600); } .footer-legal { display: flex; gap: 1.25rem; } .footer-legal a { font-size: 0.78rem; color: var(--gray-600); text-decoration: none; transition: color 0.15s; } .footer-legal a:hover { color: var(--gray-400); } /* ── RESPONSIVE ── */ @media (max-width: 1100px) { .nav-links { gap: 1rem; } .footer-grid { grid-template-columns: 1fr 1fr 1fr; } .footer-brand { grid-column: 1 / -1; } .stat-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 900px) { .nav-links { display: none; } .nav-links.open { display: flex; flex-direction: column; position: absolute; top: 64px; left: 0; right: 0; background: var(--white); border-bottom: 1px solid var(--gray-200); padding: 1rem 2rem; gap: 0.25rem; box-shadow: var(--shadow-md); z-index: 99; } .nav-links.open li { width: 100%; } .nav-links.open a { display: block; padding: 0.5rem 0; font-size: 0.9rem; } .nav-mobile-btn { display: flex; } .page-title { font-size: 2.1rem; } .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; } } @media (max-width: 600px) { .page-title { font-size: 1.75rem; } .stat-grid { grid-template-columns: 1fr 1fr; } .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; } .footer-bottom { flex-direction: column; align-items: flex-start; gap: 0.5rem; } .form-row { grid-template-columns: 1fr; } } /* ── Data Freshness Badge ─────────────────────────────────────────── */ .dfb-badge { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.22rem 0.7rem; border-radius: 100px; font-size: 0.72rem; font-weight: 600; cursor: pointer; user-select: none; transition: opacity 0.15s; border: 1px solid; position: relative; text-decoration: none; } .dfb-loading { background:rgba(100,116,139,0.1); border-color:rgba(100,116,139,0.2); color:#64748b; } .dfb-green { background:rgba(16,185,129,0.12); border-color:rgba(16,185,129,0.3); color:#10b981; } .dfb-yellow { background:rgba(245,158,11,0.1); border-color:rgba(245,158,11,0.3); color:#f59e0b; } .dfb-red { background:rgba(239,68,68,0.1); border-color:rgba(239,68,68,0.3); color:#ef4444; } .dfb-dot { width:7px; height:7px; border-radius:50%; background:currentColor; flex-shrink:0; } .dfb-loading .dfb-dot { animation: dfb-pulse 1.5s ease-in-out infinite; } @keyframes dfb-pulse { 0%,100%{opacity:0.3} 50%{opacity:1} } .dfb-tooltip { position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%); background:#0a1628; border:1px solid rgba(255,255,255,0.13); border-radius:10px; padding:0.75rem 0.875rem; min-width:270px; max-width:340px; z-index:9999; box-shadow:0 8px 32px rgba(0,0,0,0.5); text-align:left; white-space:normal; pointer-events:none; } .dfb-tooltip.dfb-tip-open { pointer-events:auto; } .dfb-tooltip.dfb-hidden { display:none; } .dfb-tip-head { font-size:0.7rem; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:0.07em; margin-bottom:0.5rem; } .dfb-tip-row { display:flex; justify-content:space-between; align-items:center; padding:0.2rem 0; font-size:0.75rem; color:#e2e8f0; gap:0.5rem; border-bottom:1px solid rgba(255,255,255,0.06); } .dfb-tip-row:last-of-type { border-bottom:none; } .dfb-tip-meta { color:#64748b; font-size:0.69rem; white-space:nowrap; } .dfb-tip-footer { margin-top:0.6rem; padding-top:0.5rem; border-top:1px solid rgba(255,255,255,0.08); } .dfb-tip-footer a { color:#10b981; font-size:0.75rem; text-decoration:none; font-weight:600; } .dfb-stale-notice { display:none; margin-top:0.75rem; padding:0.6rem 0.875rem; background:rgba(239,68,68,0.06); border:1px solid rgba(239,68,68,0.2); border-radius:8px; font-size:0.8rem; color:#ef4444; line-height:1.5; } .dfb-stale-notice a { color:#ef4444; font-weight:600; }
Welcome to FinanceStackHub (the "Service"), operated by Steeled Inc., a Delaware Corporation ("Company," "we," "us," or "our"). We are committed to protecting your privacy.
This Privacy Policy explains how we collect, use, disclose, and process your personal information when you use financestackhub.com. This policy complies with GDPR, CCPA, and other applicable data protection laws.
1. Account Information — Full name, email address, phone number (optional), company name, job title, password (hashed), billing address, and profile preferences.
2. Business and Submission Data — Documents uploaded, text and data submitted to AI tools, business metrics, communications with support, and feedback you provide.
3. Payment Information — Billing name, billing address, payment email, and payment method details. We do NOT store credit card numbers — payment processing is handled by Stripe (PCI DSS compliant).
4. Usage and Technical Data — IP address, device information, browser type, pages visited, session data, and error logs.
5. AI Interaction Data — Prompts, queries, AI outputs, interaction patterns, corrections, and feedback you provide during AI tool usage.
6. Cookies and Tracking — We use essential, analytics, marketing, and third-party cookies. A cookie consent banner is displayed on your first visit.
7. Third-Party Data — Data received from third-party service providers including Stripe, Google Analytics, Meta, and third-party authentication providers.
AI-generated outputs are based on training data that has a knowledge cutoff date and may not reflect current conditions. Time-sensitive information (regulations, incentive programs, market data, filing deadlines, tax rates, interest rates) should always be verified against current authoritative sources. FinanceStackHub implements data refresh cycles but cannot guarantee real-time accuracy of all information.
For users in the European Economic Area, we process personal data on the following legal bases: performance of a contract, legitimate interests, your consent (where obtained), and compliance with legal obligations.
We may share your information with:
We do NOT sell personal information to third parties.
Your data is processed in the United States. For users in the European Union, we rely on Standard Contractual Clauses (SCCs) approved by the European Commission to ensure adequate protection.
GDPR (EU/EEA users): Right to access, rectification, erasure ("right to be forgotten"), restriction of processing, data portability, right to object, right to withdraw consent, and right to lodge a complaint with a supervisory authority.
CCPA (California users): Right to know what personal information is collected and how it is used, right to delete personal information, right to opt-out of sale or sharing of personal information, and right to non-discrimination for exercising your rights.
Virginia, Colorado, Connecticut, and Utah residents have similar rights to those described under CCPA above.
To exercise any of these rights, contact us at financestackhub@polsia.app. We will respond within 45 days.
The Service is not directed at children under the age of 13. We do not knowingly collect personal information from children under 13. If we learn that we have collected such information, we will promptly delete it. The Service complies with the Children's Online Privacy Protection Act (COPPA).
We implement industry-standard security measures including:
We will provide 30 days notice for material changes to this Privacy Policy. Continued use of the Service after changes take effect constitutes acceptance of the updated policy.
When you submit a contact request through the FinanceStackHub Marketplace, we share your name, email address, and inquiry topic with the vendor you contacted. We do NOT share your financial data, platform usage data, calculator results, or personal financial details with vendors. All marketplace data sharing requires your explicit consent via opt-in. You may opt out of marketplace communications at any time by contacting financestackhub@polsia.app.
Market pulse, stock spotlights, and actionable frameworks — delivered every week.
No spam · Unsubscribe anytime · View all issues →