:root { /* Brand */ --navy: #0f172a; --dark-blue: #1e293b; --mid-blue: #334155; --accent-green: #10b981; --accent-green-dim: #059669; --light-green: #d1fae5; --teal: #14b8a6; --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(15,23,42,0.04); --shadow-sm: 0 2px 8px rgba(15,23,42,0.06); --shadow-md: 0 4px 20px rgba(15,23,42,0.08); --shadow-lg: 0 8px 32px rgba(15,23,42,0.10); /* Radius */ --radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; --radius-xl: 20px; /* Glass */ --glass-bg: rgba(255,255,255,0.7); --glass-border: rgba(255,255,255,0.5); } * { 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: 1000; background: rgba(255,255,255,0.92); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid rgba(226,232,240,0.7); padding: 0 2rem; height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; transition: background 0.3s, box-shadow 0.3s; } .nav-scrolled { background: rgba(255,255,255,0.97) !important; box-shadow: 0 1px 10px rgba(15,23,42,0.07); } .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; } /* ── MEGA-MENU TOP-LEVEL LIST ── */ .nav-mega-links { display: flex; gap: 0.125rem; list-style: none; align-items: center; } .nav-mega-item { position: relative; } /* ── MEGA TRIGGER BUTTON ── */ .nav-mega-trigger { display: flex; align-items: center; gap: 0.3rem; font-size: 0.8375rem; font-weight: 500; color: var(--gray-600); background: none; border: none; padding: 0.375rem 0.7rem; border-radius: 7px; cursor: pointer; font-family: inherit; white-space: nowrap; transition: color 0.15s, background 0.15s; line-height: 1; } .nav-mega-trigger:hover { color: var(--navy); background: var(--gray-50); } .nav-mega-trigger.panel-open { color: var(--navy); background: var(--gray-100); } .nav-mega-chevron { width: 11px; height: 11px; transition: transform 0.2s; color: var(--gray-400); flex-shrink: 0; } .nav-mega-trigger.panel-open .nav-mega-chevron { transform: rotate(180deg); } /* ── MEGA PANEL DROPDOWN ── */ .nav-mega-panel { display: none; position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%); background: #fff; border: 1px solid var(--gray-200); border-radius: 14px; box-shadow: 0 8px 40px rgba(15,23,42,0.10), 0 2px 8px rgba(15,23,42,0.05); padding: 1.25rem; min-width: 580px; z-index: 999; animation: megaFadeIn 0.14s ease; } .nav-mega-panel.open { display: block; } .nav-mega-panel.wide { min-width: 740px; } @keyframes megaFadeIn { from { opacity: 0; transform: translateX(-50%) translateY(-8px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } } /* First item panel — anchor left not center */ .nav-mega-item:first-child .nav-mega-panel { left: 0; transform: none; } @keyframes megaFadeInLeft { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } } .nav-mega-item:first-child .nav-mega-panel.open { animation: megaFadeInLeft 0.14s ease; } /* ── PANEL INNER GRID ── */ .mega-cols { display: grid; gap: 1.25rem; } .mega-cols-2 { grid-template-columns: 1fr 1fr; } .mega-cols-3 { grid-template-columns: 1fr 1fr 1fr; } .mega-cols-4 { grid-template-columns: 1fr 1fr 1fr 1fr; } .mega-col-hd { font-size: 0.67rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: var(--gray-400); margin-bottom: 0.5rem; padding-bottom: 0.4rem; border-bottom: 1px solid var(--gray-100); } .mega-links { list-style: none; display: flex; flex-direction: column; gap: 0.1rem; } .mega-links a { display: block; font-size: 0.8125rem; font-weight: 500; color: var(--gray-600); text-decoration: none; padding: 0.26rem 0.5rem; border-radius: 5px; transition: color 0.12s, background 0.12s; white-space: nowrap; } .mega-links a:hover { color: var(--navy); background: var(--gray-50); } .mega-links a.mega-see-all { color: var(--accent-green); font-weight: 600; margin-top: 0.2rem; font-size: 0.775rem; } .mega-links a.mega-see-all:hover { background: rgba(16,185,129,0.06); } /* ── AI TRACKER INPUT (Track the Market panel) ── */ .mega-ai-row { grid-column: 1 / -1; background: linear-gradient(135deg, rgba(16,185,129,0.05) 0%, rgba(99,102,241,0.04) 100%); border: 1px solid rgba(16,185,129,0.16); border-radius: 10px; padding: 0.875rem 1rem; margin-bottom: 0.125rem; } .mega-ai-label { font-size: 0.68rem; font-weight: 700; color: var(--accent-green); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.35rem; } .mega-ai-form { display: flex; gap: 0.5rem; } .mega-ai-input { flex: 1; padding: 0.575rem 0.875rem; border: 1px solid var(--gray-200); border-radius: 8px; font-size: 0.8375rem; font-family: inherit; color: var(--navy); background: #fff; outline: none; min-width: 0; transition: border 0.15s, box-shadow 0.15s; } .mega-ai-input:focus { border-color: var(--accent-green); box-shadow: 0 0 0 3px rgba(16,185,129,0.08); } .mega-ai-input::placeholder { color: var(--gray-400); } .mega-ai-btn { padding: 0.575rem 1rem; background: linear-gradient(135deg, var(--accent-green), var(--teal)); color: #fff; border: none; border-radius: 8px; font-size: 0.8rem; font-weight: 700; cursor: pointer; font-family: inherit; white-space: nowrap; transition: box-shadow 0.15s; box-shadow: 0 2px 8px rgba(16,185,129,0.25); } .mega-ai-btn:hover { box-shadow: 0 4px 14px rgba(16,185,129,0.35); } /* ── MY STACK EDGE CTA BUTTON ── */ .nav-edge-cta { display: inline-flex; align-items: center; gap: 0.35rem; background: linear-gradient(135deg, #10b981, #059669); color: #fff !important; font-size: 0.8125rem; font-weight: 700; padding: 0.44rem 1.05rem; border-radius: 8px; text-decoration: none; white-space: nowrap; transition: all 0.15s; box-shadow: 0 2px 10px rgba(16,185,129,0.30); border: 1px solid rgba(5,150,105,0.3); } .nav-edge-cta:hover { box-shadow: 0 4px 16px rgba(16,185,129,0.40); transform: translateY(-1px); } .nav-premium-btn { display: inline-flex; align-items: center; gap: 0.3rem; background: linear-gradient(135deg, #6366f1, #4f46e5); color: #fff !important; font-size: 0.8rem; font-weight: 700; padding: 0.4rem 0.9rem; border-radius: 8px; text-decoration: none; white-space: nowrap; transition: all 0.15s; box-shadow: 0 2px 10px rgba(99,102,241,0.35); border: 1px solid rgba(99,102,241,0.4); letter-spacing: 0.02em; } .nav-premium-btn:hover { box-shadow: 0 4px 16px rgba(99,102,241,0.50); transform: translateY(-1px); } /* ── MOBILE HAMBURGER ── */ .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; } /* ── LEGACY COMPAT ── */ .nav-cta { background: linear-gradient(135deg, var(--accent-green), var(--teal)) !important; color: #fff !important; padding: 0.375rem 0.875rem; border-radius: 7px; font-weight: 600 !important; font-size: 0.8125rem !important; transition: all 0.15s !important; white-space: nowrap; box-shadow: 0 2px 8px rgba(16,185,129,0.25); } .nav-cta:hover { box-shadow: 0 4px 14px rgba(16,185,129,0.3) !important; transform: translateY(-1px); } .nav-advisors-link { background: linear-gradient(135deg, var(--accent-green), var(--teal)) !important; color: #fff !important; padding: 0.375rem 0.875rem; border-radius: 7px; font-weight: 600 !important; font-size: 0.8125rem !important; transition: all 0.15s !important; box-shadow: 0 2px 8px rgba(16,185,129,0.25); } .nav-advisors-link:hover { box-shadow: 0 4px 14px rgba(16,185,129,0.3) !important; } .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-new-badge { display: inline-block; font-size: 0.55rem; font-weight: 800; padding: 0.1rem 0.35rem; border-radius: 3px; background: linear-gradient(135deg, var(--accent-green), var(--teal)); 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: linear-gradient(135deg, var(--accent-green), var(--teal)); color: #fff; box-shadow: 0 2px 8px rgba(16,185,129,0.25); } .btn-primary:hover { box-shadow: 0 4px 14px rgba(16,185,129,0.3); transform: translateY(-1px); } .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: linear-gradient(135deg, var(--accent-green), var(--teal)); color: #fff; } /* ── 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(--gray-50); color: var(--gray-500); padding: 3.5rem 2rem 2rem; margin-top: 5rem; border-top: 1px solid var(--gray-100); } .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 var(--gray-200); margin-bottom: 2rem; } .footer-brand .footer-logo { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.1rem; color: var(--navy); 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-500); } .footer-legal { display: flex; gap: 1.25rem; } .footer-legal a { font-size: 0.78rem; color: var(--gray-500); text-decoration: none; transition: color 0.15s; } .footer-legal a:hover { color: var(--navy); } /* ── RESPONSIVE ── */ @media (max-width: 1100px) { .nav-mega-links { gap: 0.05rem; } .nav-mega-trigger { padding: 0.375rem 0.5rem; font-size: 0.8rem; } .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-mega-links { display: none; } .nav-mega-links.open { display: flex; flex-direction: column; position: absolute; top: 64px; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--gray-200); padding: 0.5rem 0; box-shadow: 0 8px 24px rgba(15,23,42,0.08); z-index: 999; max-height: 80vh; overflow-y: auto; } .nav-mega-item { width: 100%; border-bottom: 1px solid var(--gray-100); } .nav-mega-item:last-child { border-bottom: none; } .nav-mega-trigger { width: 100%; justify-content: space-between; padding: 0.75rem 1.25rem; font-size: 0.9rem; font-weight: 600; border-radius: 0; } .nav-mega-panel { display: none; position: static; transform: none; box-shadow: none; border: none; border-radius: 0; border-top: 1px solid var(--gray-100); padding: 0.75rem 1.25rem 1rem; min-width: 0; animation: none; background: var(--gray-50); } .nav-mega-panel.open { display: block; } .nav-mega-panel.wide { min-width: 0; } .mega-cols { grid-template-columns: 1fr; gap: 0.875rem; } .mega-cols-2, .mega-cols-3, .mega-cols-4 { grid-template-columns: 1fr; } .mega-ai-row { grid-column: 1; } .mega-ai-form { flex-direction: column; } .mega-ai-input { width: 100%; } .mega-ai-btn { width: 100%; justify-content: center; } .nav-edge-cta { display: flex; justify-content: center; margin: 0.625rem 1.25rem; } .nav-mobile-btn { display: flex; } /* Legacy mobile compat */ .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; } .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:var(--white); border:1px solid var(--gray-200); border-radius:10px; padding:0.75rem 0.875rem; min-width:270px; max-width:340px; z-index:9999; box-shadow:0 8px 32px rgba(15,23,42,0.12); 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:var(--gray-400); 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:var(--gray-700); gap:0.5rem; border-bottom:1px solid var(--gray-100); } .dfb-tip-row:last-of-type { border-bottom:none; } .dfb-tip-meta { color:var(--gray-400); font-size:0.69rem; white-space:nowrap; } .dfb-tip-footer { margin-top:0.6rem; padding-top:0.5rem; border-top:1px solid var(--gray-100); } .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; }
Top HYSAs earn 3.90%–5.00% APY — up to 10× the national average of 0.46%. All accounts are FDIC insured with zero monthly fees. Updated May 2026 with current rates and independent methodology.
Ranked by APY within each category. All accounts are FDIC insured with $0 monthly fees.
Sorted by APY (highest first). Rates are variable and subject to change. Verify current rates at each bank before opening.
| Account | APY | Min Deposit | FDIC Insured | Monthly Fee | App Rating | Action |
|---|---|---|---|---|---|---|
|
LendingClub High-Yield Savings
Highest APY
|
5.00% | $100 | ✓ FDIC | $0 |
4.5
★
|
Open Account → |
|
Synchrony High Yield Savings
High APY, No Minimum
|
4.65% | $0 | ✓ FDIC | $0 |
4.3
★
|
View Rates → |
|
SoFi Checking & Savings
Best Overall Package
|
Up to 4.60% | $0 | ✓ FDIC Up to $2M through partner banks |
$0 |
4.8
★
|
Open Account → |
|
Citizens Access Online Savings
|
~4.25% | $0 | ✓ FDIC | $0 |
4.2
★
|
View Rates → |
|
Wealthfront Cash Account
Best for Investors
|
4.20% | $1 | ✓ FDIC Up to $8M through partner banks |
$0 |
4.7
★
|
View Rates → |
|
Marcus by Goldman Sachs
Most Trusted Brand
|
~3.90% | $0 | ✓ FDIC | $0 |
4.5
★
|
Open Account → |
|
Discover Online Savings
Strong Runner-Up
|
~3.90% | $0 | ✓ FDIC | $0 |
4.7
★
|
View Rates → |
|
Capital One 360 Performance Savings
Best Big-Bank Option
|
~3.70% | $0 | ✓ FDIC | $0 |
4.8
★
|
View Rates → |
|
American Express High Yield Savings
Best for Amex Cardholders
|
3.20–3.30% | $0 | ✓ FDIC | $0 |
4.4
★
|
View Rates → |
|
Ally Bank Online Savings
Best Savings Tools
|
3.10–3.30% | $0 | ✓ FDIC | $0 |
4.8
★
|
Open Account → |
Sources: Bank rate pages, NerdWallet, Bankrate, investormint.com as of May 2026. App ratings from Apple App Store and Google Play (combined average). Rates are variable.
These accounts are open now — no paperwork, no branch visit. Takes about 5 minutes online.
* Some links above are affiliate links. We may earn a commission at no extra cost to you. This does not affect our editorial rankings or account selection.
Not every HYSA that advertises a high rate deserves the label. We evaluated accounts on five dimensions: current APY, fee structure, minimum deposit and balance requirements, FDIC coverage depth, and mobile app quality. A 5.00% APY account with a $500 monthly fee minimum and a 2-star app is not a recommendation — it is a trap.
The highest-APY accounts tend to be smaller online banks or financial technology companies that partner with FDIC-member banks to hold deposits. These institutions have lower overhead than traditional banks, which they pass on as higher rates. That is the structural reason online banks consistently outperform the national average on savings rates.
HYSA rates are directly correlated with the Federal Reserve's federal funds rate. When the Fed raised rates aggressively in 2022–2023, HYSA APYs climbed from near-zero to 5%+. As the Fed began cutting rates in late 2024 and into 2025, HYSA APYs followed downward. As of May 2026, the best accounts still offer 3.90%–5.00% — well above the long-term historical average and the current national savings rate of ~0.46%.
The key implication for savers: if you expect the Fed to cut rates further in 2026, locking in a portion of your savings in a CD (certificate of deposit) at today's rates can protect your yield against rate cuts. Our Savings Calculator can model the APY difference across different account types and balances.
Marcus by Goldman Sachs and Ally Bank consistently rank as the two most-compared HYSAs in search traffic — and for good reason. They represent two distinct philosophies: Marcus optimizes for APY and brand trust; Ally optimizes for features and automation tools. In April 2026, Marcus holds the rate edge at ~3.90% vs. Ally's 3.10–3.30%. However, Ally's Savings Buckets (goal-based sub-accounts) and Surprise Savings feature (automated transfers from checking) give it a powerful edge for behavioral savers who want help building habits.
Our full head-to-head breakdown is at Marcus vs. Ally Savings: Full Comparison →
High-Yield Savings Account: Best for emergency funds and short-term savings goals. Fully liquid — withdraw anytime with no penalty. APY fluctuates with market rates.
Money Market Account: Similar APY range but adds check-writing and debit card access. Better for savers who need cash access without a linked checking account. May have higher minimum balance requirements.
Certificate of Deposit (CD): Best for medium-term goals (1–5 years) when you can lock up funds. Pays a fixed rate for the term — ideal in a falling rate environment to lock in today's higher yields. Early withdrawal penalties apply.
The standard framework: keep 3–6 months of expenses in a HYSA as your emergency fund (liquid, accessible), then ladder CDs with any additional savings you won't need for 12+ months.
Standard FDIC insurance covers $250,000 per depositor, per ownership category, per institution. If you hold more than $250,000 in savings, you need to spread funds across multiple institutions — or use an account (like SoFi or Wealthfront) that extends FDIC coverage through a network of partner banks.
SoFi insures up to $2 million this way. Wealthfront insures up to $8 million. For most savers — those with under $250K in liquid savings — a single institution is sufficient. For high-net-worth savers parking larger balances, see our High Net Worth Savings Accounts guide →
Every account on this list was evaluated independently. We did not accept payment from any bank for inclusion or placement.
We verified the current APY on each bank's official rate page as of May 2026. Promotional rates are noted. Rate history and volatility were considered.
Monthly maintenance fees, excess withdrawal fees, transfer fees, and closing fees were reviewed. Accounts with any mandatory fees were scored down.
Opening deposit and ongoing minimum balance to earn the advertised APY. Accounts with no minimums received maximum scores on this dimension.
Standard $250K vs. extended coverage through partner bank networks. Relevant primarily for balances exceeding $250K per depositor.
Combined Apple App Store and Google Play ratings, weighted by recent review count. Features evaluated: mobile deposit, savings goals, transfers, alerts.
Common questions about high-yield savings accounts, APY, FDIC insurance, and account comparisons.
Use our calculators and comparison pages to model savings growth and evaluate your options.
Market pulse, stock spotlights, and actionable frameworks — delivered every week.
No spam · Unsubscribe anytime · View all issues →