Thinking Machines Inkling Small – Personal Finance
via DeepInfra · Generated
- AIMAC Debt 2.00
- Cost $0.016
- Total Violations 1
- HTML Size 37 KB
- Em Dashes 16
Screenshot
View Live Page
Accessibility Issues Found
1 Serious
-
color-contrast serious 1 instance
Elements must meet minimum color contrast ratio thresholds
Example HTML
<span class="text-gold font-semibold text-sm">Read Article →</span>
Artifacts
View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Meridian Wealth Partners — Personal Finance & Wealth Strategy</title>
<meta name="description" content="Meridian Wealth Partners offers strategic personal finance guidance covering liquidity, asset allocation, credit improvement, and long-term net worth growth." />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;1,600&family=Inter:wght@300;400;500;600&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;1,8..60,400&display=swap" rel="stylesheet" />
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
colors: {
ink: '#0B1120',
navy: '#111827',
steel: '#334155',
gold: '#CBA135',
cream: '#F8F6F1',
paper: '#F0EDE6',
mist: '#EAE6DE',
inkSoft: '#6B6775',
},
fontFamily: {
display: ['"Playfair Display"', 'Georgia', 'serif'],
body: ['"Inter"', 'system-ui', 'sans-serif'],
editorial: ['"Source Serif 4"', 'Georgia', 'serif'],
}
}
}
}
</script>
<style>
html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, sans-serif; background: #F8F6F1; color: #0B1120; -webkit-font-smoothing: antialiased; }
::selection { background: #CBA13522; color: inherit; }
.prose-custom p { margin-bottom: 1.25rem; line-height: 1.75; font-family: 'Source Serif 4', Georgia, serif; font-size: 1.0625rem; color: #334155; }
.prose-custom h3 { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; letter-spacing: -0.01em; color: #0B1120; line-height: 1.15; }
input, select { font-family: 'Inter', system-ui, sans-serif; }
.accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.35s ease, opacity 0.35s ease; opacity: 0; }
.accordion-content.open { max-height: 500px; opacity: 1; }
</style>
</head>
<body class="bg-cream">
<!-- Header / Navigation -->
<header class="sticky top-0 z-50 bg-ink/95 backdrop-blur border-b border-white/10">
<div class="max-w-7xl mx-auto px-6 lg:px-10">
<div class="flex items-center justify-between h-20">
<!-- Logo -->
<a href="#" class="flex items-center gap-3 group" aria-label="Meridian Wealth Partners Home">
<img src="https://placehold.co/140x40/0B1120/FFFFFF?text=Meridian+Wealth&font=playfair+display" alt="Meridian Wealth Partners Logo" class="h-9 w-auto brightness-125 group-hover:brightness-150 transition" loading="eager" />
</a>
<!-- Nav -->
<nav aria-label="Primary" class="hidden lg:flex items-center gap-1">
<a href="#" class="px-3 py-2 text-sm font-medium text-white/90 hover:text-gold transition rounded-md hover:bg-white/5">Home</a>
<a href="#calculator" class="px-3 py-2 text-sm font-medium text-white/90 hover:text-gold transition rounded-md hover:bg-white/5">Calculator</a>
<a href="#budget-planner" class="px-3 py-2 text-sm font-medium text-white/90 hover:text-gold transition rounded-md hover:bg-white/5">Budget Planner</a>
<a href="#tools" class="px-3 py-2 text-sm font-medium text-white/90 hover:text-gold transition rounded-md hover:bg-white/5">Tools</a>
<a href="#insights" class="px-3 py-2 text-sm font-medium text-white/90 hover:text-gold transition rounded-md hover:bg-white/5">Insights</a>
<a href="#about" class="px-3 py-2 text-sm font-medium text-white/90 hover:text-gold transition rounded-md hover:bg-white/5">About</a>
<a href="#contact" class="ml-2 px-4 py-2.5 text-sm font-semibold bg-gold text-ink rounded-full hover:bg-white transition shadow-lg shadow-gold/20">Contact</a>
</nav>
<!-- Mobile toggle -->
<button onclick="document.getElementById('mobile-menu').classList.toggle('hidden')" aria-label="Open menu" class="lg:hidden text-white p-2">
<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="7" x2="20" y2="7"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="17" x2="14" y2="17"/></svg>
</button>
</div>
</div>
<!-- Mobile Menu -->
<div id="mobile-menu" class="hidden lg:hidden bg-ink border-t border-white/10">
<div class="max-w-7xl mx-auto px-6 py-6 flex flex-col gap-2">
<a href="#" class="text-white/90 py-2 font-medium">Home</a>
<a href="#calculator" class="text-white/90 py-2 font-medium">Calculator</a>
<a href="#budget-planner" class="text-white/90 py-2 font-medium">Budget Planner</a>
<a href="#tools" class="text-white/90 py-2 font-medium">Tools</a>
<a href="#insights" class="text-white/90 py-2 font-medium">Insights</a>
<a href="#about" class="text-white/90 py-2 font-medium">About</a>
<a href="#contact" class="text-gold font-semibold py-2">Contact</a>
</div>
</div>
</header>
<!-- Hero -->
<section class="relative bg-ink overflow-hidden">
<img src="https://picsum.photos/seed/meridianhero/1600/900?grayscale" alt="Urban architecture texture" class="absolute inset-0 w-full h-full object-cover opacity-20 mix-blend-overlay" loading="eager" />
<div class="absolute inset-0 bg-gradient-to-r from-ink via-ink/90 to-ink/70"></div>
<div class="relative max-w-7xl mx-auto px-6 lg:px-10 py-24 lg:py-36 grid lg:grid-cols-2 gap-12 items-center">
<div>
<p class="text-gold font-semibold tracking-widest text-sm uppercase mb-6">Personal Finance Strategy</p>
<h1 class="font-display text-5xl lg:text-7xl font-bold text-white leading-[1.05] mb-8">
Clarity for Your <br /><span class="italic font-normal text-gold">Financial Future.</span>
</h1>
<p class="text-white/80 text-lg lg:text-xl leading-relaxed max-w-xl mb-10 font-light">
Meridian Wealth Partners helps you build liquidity, refine asset allocation, and grow net worth with institutional-grade discipline and personalized guidance.
</p>
<div class="flex flex-wrap gap-4">
<a href="#calculator" class="inline-flex items-center gap-2 px-7 py-4 bg-gold text-ink font-bold rounded-full hover:bg-white transition shadow-xl shadow-gold/20">Calculate Your Net Worth <span aria-hidden="true">→</span></a>
<a href="#tools" class="inline-flex items-center gap-2 px-7 py-4 bg-white/10 text-white font-medium rounded-full hover:bg-white/20 transition border border-white/10">Explore Tools</a>
</div>
</div>
<div class="relative hidden lg:block">
<img src="https://picsum.photos/seed/meridianhero2/800/600?grayscale" alt="Finance planning workspace" class="rounded-3xl shadow-2xl border border-white/10 w-full object-cover" loading="lazy" />
<div class="absolute -bottom-6 -left-6 bg-cream rounded-2xl p-6 shadow-2xl border border-mist max-w-xs">
<p class="font-display text-3xl font-bold text-ink">3.8x</p>
<p class="text-steel text-sm mt-1">Average net worth growth for clients over 5 years through strategic liquidity planning.</p>
</div>
</div>
</div>
</section>
<!-- Key Features Strip -->
<section class="bg-paper border-b border-mist" aria-label="Key services">
<div class="max-w-7xl mx-auto px-6 lg:px-10 py-16 lg:py-20 grid md:grid-cols-3 gap-10">
<article>
<div class="w-12 h-12 rounded-xl bg-ink text-gold flex items-center justify-center mb-6 shadow-lg shadow-ink/20" aria-hidden="true">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M12 2v20M2 12h20M6 6l12 12M18 6l-12 12"/></svg>
</div>
<h3 class="font-display text-2xl mb-3">Liquidity Planning</h3>
<p class="text-steel leading-relaxed">Build resilient cash reserves that protect your long-term asset allocation without forcing liquidations during market dislocation.</p>
</article>
<article>
<div class="w-12 h-12 rounded-xl bg-ink text-gold flex items-center justify-center mb-6 shadow-lg shadow-ink/20" aria-hidden="true">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg>
</div>
<h3 class="font-display text-2xl mb-3">Asset Allocation</h3>
<p class="text-steel leading-relaxed">Structure portfolios with evidence-based diversification, aligning risk exposure to your time horizons and savings goals.</p>
</article>
<article>
<div class="w-12 h-12 rounded-xl bg-ink text-gold flex items-center justify-center mb-6 shadow-lg shadow-ink/20" aria-hidden="true">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18M9 21V9"/></svg>
</div>
<h3 class="font-display text-2xl mb-3">Credit & Debt Strategy</h3>
<p class="text-steel leading-relaxed">Reduce the drag of high-interest liabilities while strengthening your credit profile to unlock favorable capital access.</p>
</article>
</div>
</section>
<!-- Main Layout: 2/3 + 1/3 Sidebar -->
<div class="max-w-7xl mx-auto px-6 lg:px-10 py-20 lg:py-28 grid lg:grid-cols-12 gap-12 lg:gap-16">
<!-- Main Content -->
<main class="lg:col-span-8">
<!-- Section 1: Emergency Fund & Liquidity -->
<section id="budget-planner" class="mb-24" aria-labelledby="sec-liquidity">
<div class="grid md:grid-cols-2 gap-10 lg:gap-14 items-start">
<div>
<img src="https://picsum.photos/seed/liquidity/900/600" alt="Organized financial documents and reserve planning" class="rounded-3xl shadow-xl w-full object-cover" loading="lazy" />
</div>
<div class="prose-custom">
<h2 id="sec-liquidity" class="font-display text-4xl lg:text-5xl mb-6">Establish Liquidity Before You Invest.</h2>
<p>A robust emergency reserve is the cornerstone of any sound personal financial architecture. Before allocating capital toward growth-oriented instruments, it is critical to establish a liquid cushion that can absorb unforeseen expenses—whether medical, automotive, or household—without forcing the liquidation of long-term assets at an inopportune moment. Financial planners generally recommend maintaining three to six months of essential living expenses in highly liquid, low-volatility accounts.</p>
<p>At Meridian Wealth, we guide clients through a structured liquidity audit, identifying redundant expenditure patterns and redirecting those cash flows into dedicated reserve vehicles. This approach preserves your strategic asset allocation while protecting your psychological and financial stability during volatile periods. By prioritizing liquidity first, you create the foundational freedom necessary to pursue aggressive investment strategies without compromising your immediate security.</p>
<a href="#contact" class="inline-flex mt-4 px-6 py-3 bg-ink text-white font-semibold rounded-full hover:bg-steel transition shadow-lg">Download Liquidity Guide</a>
</div>
</div>
</section>
<!-- Section 2: Interactive Calculator (Engagement) -->
<section id="calculator" class="mb-24 bg-ink rounded-3xl overflow-hidden shadow-2xl" aria-labelledby="sec-calc">
<div class="grid lg:grid-cols-2">
<div class="p-10 lg:p-14">
<h2 id="sec-calc" class="font-display text-3xl lg:text-4xl text-white mb-2">Calculate Your Net Worth.</h2>
<p class="text-white/70 mb-10">Understanding your current financial position requires precision, not guesswork. Estimate your monthly surplus and recommended emergency reserve target.</p>
<form onsubmit="event.preventDefault(); calculatePlan();"
class="space-y-5" aria-label="Net Worth and Budget Calculator">
<div class="grid sm:grid-cols-2 gap-5">
<label>
<span class="block text-white/80 text-xs font-semibold uppercase tracking-wider mb-2">Annual Gross Income</span>
<div class="relative">
<span class="absolute left-4 top-1/2 -translate-y-1/2 text-white/50 font-medium">$</span>
<input id="income" type="number" value="95000" min="0" step="1000" class="w-full pl-8 pr-4 py-3 rounded-xl bg-white/10 border border-white/10 text-white placeholder:text-white/40 focus:outline-none focus:ring-2 focus:ring-gold/60" aria-label="Annual gross income" />
</div>
</label>
<label>
<span class="block text-white/80 text-xs font-semibold uppercase tracking-wider mb-2">Monthly Debt Payments</span>
<div class="relative">
<span class="absolute left-4 top-1/2 -translate-y-1/2 text-white/50 font-medium">$</span>
<input id="debt" type="number" value="1200" min="0" step="50" class="w-full pl-8 pr-4 py-3 rounded-xl bg-white/10 border border-white/10 text-white placeholder:text-white/40 focus:outline-none focus:ring-2 focus:ring-gold/60" aria-label="Monthly debt payments" />
</div>
</label>
</div>
<div class="grid sm:grid-cols-2 gap-5">
<label>
<span class="block text-white/80 text-xs font-semibold uppercase tracking-wider mb-2">Current Monthly Savings</span>
<div class="relative">
<span class="absolute left-4 top-1/2 -translate-y-1/2 text-white/50 font-medium">$</span>
<input id="savings" type="number" value="2500" min="0" step="50" class="w-full pl-8 pr-4 py-3 rounded-xl bg-white/10 border border-white/10 text-white placeholder:text-white/40 focus:outline-none focus:ring-2 focus:ring-gold/60" aria-label="Current monthly savings" />
</div>
</label>
<label>
<span class="block text-white/80 text-xs font-semibold uppercase tracking-wider mb-2">Months of Reserves Goal</span>
<select id="goalMonths" class="w-full px-4 py-3 rounded-xl bg-white/10 border border-white/10 text-white focus:outline-none focus:ring-2 focus:ring-gold/60" aria-label="Emergency fund goal in months">
<option value="3" class="bg-ink">3 Months</option>
<option value="6" selected class="bg-ink">6 Months</option>
<option value="9" class="bg-ink">9 Months</option>
</select>
</label>
</div>
<button type="submit" class="w-full py-3.5 bg-gold text-ink font-bold rounded-xl hover:bg-white transition shadow-lg shadow-gold/20">Calculate Budget Surplus</button>
</form>
</div>
<div class="bg-navy p-10 lg:p-14 border-t lg:border-t-0 lg:border-l border-white/10">
<h3 class="font-display text-2xl text-white mb-6">Results</h3>
<div class="grid sm:grid-cols-2 gap-6">
<div class="bg-white/5 rounded-2xl p-6 border border-white/5">
<p class="text-white/50 text-xs uppercase font-bold tracking-widest mb-1">Estimated Monthly Surplus</p>
<p id="result-surplus" class="font-display text-3xl text-gold">—</p>
</div>
<div class="bg-white/5 rounded-2xl p-6 border border-white/5">
<p class="text-white/50 text-xs uppercase font-bold tracking-widest mb-1">Recommended Reserve Target</p>
<p id="result-target" class="font-display text-3xl text-white">—</p>
</div>
</div>
<div class="mt-6 p-5 rounded-2xl bg-white/5 border border-white/5">
<p class="text-sm text-white/80 leading-relaxed">
Based on your inputs, your estimated monthly surplus of <strong id="summary-surplus" class="text-white">—</strong> suggests you can build your reserve within <strong id="summary-months" class="text-gold">—</strong> months at your current savings rate. Adjust your savings rate or debt obligations to accelerate progress.
</p>
</div>
<a href="#contact" class="mt-8 inline-flex items-center gap-2 text-gold font-semibold hover:underline">Discuss a personalized strategy <span aria-hidden="true">→</span></a>
</div>
</div>
</section>
<!-- Section 3: Savings Goals & Asset Allocation -->
<section id="tools" class="mb-24" aria-labelledby="sec-savings">
<div class="grid md:grid-cols-2 gap-10 lg:gap-14 items-start">
<div class="order-2 md:order-1 prose-custom">
<h2 id="sec-savings" class="font-display text-4xl lg:text-5xl mb-6">Align Savings Goals with Asset Allocation.</h2>
<p>Effective savings strategies extend far beyond basic accumulation; they require intentional alignment with your broader asset allocation framework. Whether you are funding a near-term property acquisition, earmarking capital for education, or building generational wealth, each goal demands a distinct risk profile and time horizon. At Meridian Wealth, we construct tiered savings architectures that separate short-term obligations from long-term growth capital.</p>
<p>By delineating emergency reserves, intermediate growth buckets, and long-term retirement vehicles, you ensure that every dollar serves a specific purpose. Furthermore, periodic rebalancing of these tiers prevents emotional decision-making during volatile periods. Our clients benefit from a disciplined, evidence-based approach that transforms vague aspirations into quantifiable milestones, backed by clear metrics and regular progress reviews.</p>
<a href="#contact" class="inline-flex mt-4 px-6 py-3 bg-ink text-white font-semibold rounded-full hover:bg-steel transition shadow-lg">Start Investing</a>
</div>
<div class="order-1 md:order-2">
<img src="https://picsum.photos/seed/savings/900/600" alt="Chart illustrating savings growth over time" class="rounded-3xl shadow-xl w-full object-cover" loading="lazy" />
</div>
</div>
</section>
<!-- Section 4: Credit Improvement -->
<section class="mb-24" aria-labelledby="sec-credit">
<div class="grid md:grid-cols-2 gap-10 lg:gap-14 items-start">
<div>
<img src="https://picsum.photos/seed/credit/900/600" alt="Credit report and score analysis" class="rounded-3xl shadow-xl w-full object-cover" loading="lazy" />
</div>
<div class="prose-custom">
<h2 id="sec-credit" class="font-display text-4xl lg:text-5xl mb-6">Strengthen Credit for Strategic Flexibility.</h2>
<p>Your credit profile is not merely a numeric score—it is a critical lever in your overall financial architecture. A healthy credit standing unlocks favorable lending terms, reduces the cost of capital for major purchases, and signals reliability to institutional partners. Improving credit requires a systemic approach: reducing revolving utilization ratios, establishing diverse tradelines, and maintaining impeccable payment histories over sustained periods.</p>
<p>We advise clients to view credit repair as an asset-class exercise rather than a reactive fix. By integrating credit optimization into your broader net worth strategy, you reduce the drag of high-interest liabilities and improve your liquidity position over time. Our educational resources demystify scoring algorithms, empowering you to make informed decisions that enhance your borrowing capacity and long-term wealth trajectory.</p>
<a href="#contact" class="inline-flex mt-4 px-6 py-3 bg-ink text-white font-semibold rounded-full hover:bg-steel transition shadow-lg">Calculate Impact</a>
</div>
</div>
</section>
<!-- Testimonials -->
<section aria-label="Client testimonials" class="mb-24">
<h2 class="font-display text-3xl lg:text-4xl mb-10">Trusted by Clients Building Real Wealth.</h2>
<div class="grid md:grid-cols-3 gap-8">
<article class="bg-white rounded-3xl p-8 shadow-xl border border-mist relative">
<div class="text-gold text-4xl font-display leading-none mb-4" aria-hidden="true">“</div>
<p class="text-steel leading-relaxed mb-6">Meridian transformed how I think about liquidity. The structured reserve plan gave me the confidence to invest aggressively without fear of a market downturn.</p>
<footer class="flex items-center gap-3">
<img src="https://i.pravatar.cc/100?u=elena" alt="Elena Rodriguez" class="w-10 h-10 rounded-full object-cover ring-2 ring-ink/10" />
<div>
<p class="font-semibold text-ink text-sm">Elena Rodriguez</p>
<p class="text-xs text-inkSoft">Product Director, Austin</p>
</div>
</footer>
</article>
<article class="bg-white rounded-3xl p-8 shadow-xl border border-mist relative">
<div class="text-gold text-4xl font-display leading-none mb-4" aria-hidden="true">“</div>
<p class="text-steel leading-relaxed mb-6">The budget planner and net worth calculator made abstract concepts tangible. Within 18 months, my asset allocation aligned with my actual risk tolerance.</p>
<footer class="flex items-center gap-3">
<img src="https://i.pravatar.cc/100?u=jeff" alt="Jeff Morales" class="w-10 h-10 rounded-full object-cover ring-2 ring-ink/10" />
<div>
<p class="font-semibold text-ink text-sm">Jeff Morales</p>
<p class="text-xs text-inkSoft">Engineer, Seattle</p>
</div>
</footer>
</article>
<article class="bg-white rounded-3xl p-8 shadow-xl border border-mist relative">
<div class="text-gold text-4xl font-display leading-none mb-4" aria-hidden="true">“</div>
<p class="text-steel leading-relaxed mb-6">Credit improvement felt impossible until I understood the strategic framework. Their guidance improved my score 78 points and unlocked better lending terms.</p>
<footer class="flex items-center gap-3">
<img src="https://i.pravatar.cc/100?u=diana" alt="Diana Park" class="w-10 h-10 rounded-full object-cover ring-2 ring-ink/10" />
<div>
<p class="font-semibold text-ink text-sm">Diana Park</p>
<p class="text-xs text-inkSoft">Architect, Chicago</p>
</div>
</footer>
</article>
</div>
</section>
<!-- FAQ Accordion -->
<section aria-label="Frequently asked questions">
<h2 class="font-display text-3xl lg:text-4xl mb-8">Common Questions.</h2>
<div class="space-y-3">
<div class="bg-white rounded-2xl border border-mist overflow-hidden">
<button onclick="toggleAccordion(this)" class="w-full text-left px-6 py-5 flex items-center justify-between font-semibold text-ink hover:text-gold transition" aria-expanded="false">
<span>What is the best order to prioritize savings, debt, and investing?</span>
<span class="ml-4 text-xl text-steel">+</span>
</button>
<div class="accordion-content px-6">
<div class="pb-6 text-steel leading-relaxed">We recommend establishing a 3-month emergency reserve first, then directing surplus toward high-interest debt elimination, followed by systematic investment indexing. Asset allocation should only scale as your liquidity cushion stabilizes.</div>
</div>
</div>
<div class="bg-white rounded-2xl border border-mist overflow-hidden">
<button onclick="toggleAccordion(this)" class="w-full text-left px-6 py-5 flex items-center justify-between font-semibold text-ink hover:text-gold transition" aria-expanded="false">
<span>How does asset allocation differ from savings goals?</span>
<span class="ml-4 text-xl text-steel">+</span>
</button>
<div class="accordion-content px-6">
<div class="pb-6 text-steel leading-relaxed">Savings goals are time-bound targets (property, education, retirement). Asset allocation determines which instruments—equities, fixed income, alternatives—hold those dollars based on risk and horizon.</div>
</div>
</div>
<div class="bg-white rounded-2xl border border-mist overflow-hidden">
<button onclick="toggleAccordion(this)" class="w-full text-left px-6 py-5 flex items-center justify-between font-semibold text-ink hover:text-gold transition" aria-expanded="false">
<span>Can credit improvement really impact my net worth?</span>
<span class="ml-4 text-xl text-steel">+</span>
</button>
<div class="accordion-content px-6">
<div class="pb-6 text-steel leading-relaxed">Yes. Higher credit scores reduce borrowing costs, improve refinancing options, and prevent interest drag. Even a 1% reduction in mortgage rates can translate to tens of thousands in preserved wealth over a loan term.</div>
</div>
</div>
<div class="bg-white rounded-2xl border border-mist overflow-hidden">
<button onclick="toggleAccordion(this)" class="w-full text-left px-6 py-5 flex items-center justify-between font-semibold text-ink hover:text-gold transition" aria-expanded="false">
<span>Should I use your budget planner instead of a spreadsheet?</span>
<span class="ml-4 text-xl text-steel">+</span>
</button>
<div class="accordion-content px-6">
<div class="pb-6 text-steel leading-relaxed">Our budget planner integrates behavioral prompts that spreadsheets lack—automated surplus attribution, goal-tracking visuals, and liquidity alerts—making consistency more achievable.</div>
</div>
</div>
</div>
</section>
</main>
<!-- Sidebar -->
<aside class="lg:col-span-4 space-y-10" aria-label="Insights and quick links">
<!-- Expert Insight -->
<section id="insights" aria-labelledby="side-insight">
<h3 id="side-insight" class="font-display text-2xl mb-6">Expert Insights.</h3>
<a href="#" class="group block bg-white rounded-3xl overflow-hidden shadow-xl border border-mist hover:shadow-2xl transition">
<img src="https://picsum.photos/seed/insight/600/400" alt="Market analysis and strategy" class="w-full h-48 object-cover group-hover:scale-[1.03] transition duration-500" loading="lazy" />
<div class="p-6">
<h4 class="font-display text-xl mb-2 group-hover:text-gold transition">The Liquidity Premium in Volatile Markets</h4>
<p class="text-steel text-sm leading-relaxed mb-3">In unstable environments, the option value of cash often exceeds the marginal return of risk assets—making reserve architecture a strategic asset class.</p>
<span class="text-gold font-semibold text-sm">Read Article →</span>
</div>
</a>
</section>
<!-- Planning Tips -->
<section aria-label="Financial planning tips">
<h3 class="font-display text-2xl mb-6">Financial Planning Tips.</h3>
<div class="bg-ink text-white rounded-3xl p-8 shadow-xl">
<ul class="space-y-6">
<li class="flex gap-4">
<span class="w-8 h-8 rounded-full bg-gold text-ink font-bold flex items-center justify-center shrink-0">1</span>
<p class="text-sm leading-relaxed text-white/90">Automate savings transfers to occur 24 hours after payday. Behavioral finance consistently demonstrates that pre-commitment reduces discretionary leakage.</p>
</li>
<li class="flex gap-4">
<span class="w-8 h-8 rounded-full bg-gold text-ink font-bold flex items-center justify-center shrink-0">2</span>
<p class="text-sm leading-relaxed text-white/90">Rebalance annually, not reactively. Calendar-based rebalancing removes emotional interference from portfolio management.</p>
</li>
<li class="flex gap-4">
<span class="w-8 h-8 rounded-full bg-gold text-ink font-bold flex items-center justify-center shrink-0">3</span>
<p class="text-sm leading-relaxed text-white/90">Review credit reports quarterly. Early detection of errors or identity anomalies prevents long-term score degradation.</p>
</li>
</ul>
</div>
</section>
<!-- Quick Tools Links -->
<section aria-label="Quick tools">
<h3 class="font-display text-2xl mb-6">Quick Tools.</h3>
<nav class="grid grid-cols-2 gap-3">
<a href="#calculator" class="block bg-white rounded-xl px-5 py-5 border border-mist shadow-sm hover:shadow-lg hover:-translate-y-0.5 transition text-center">
<span class="font-display text-lg block mb-1">Calculator</span>
<span class="text-xs text-inkSoft">Net Worth</span>
</a>
<a href="#budget-planner" class="block bg-white rounded-xl px-5 py-5 border border-mist shadow-sm hover:shadow-lg hover:-translate-y-0.5 transition text-center">
<span class="font-display text-lg block mb-1">Budget Planner</span>
<span class="text-xs text-inkSoft">Surplus</span>
</a>
<a href="#tools" class="block bg-white rounded-xl px-5 py-5 border border-mist shadow-sm hover:shadow-lg hover:-translate-y-0.5 transition text-center">
<span class="font-display text-lg block mb-1">Tools</span>
<span class="text-xs text-inkSoft">Resources</span>
</a>
<a href="#contact" class="block bg-white rounded-xl px-5 py-5 border border-mist shadow-sm hover:shadow-lg hover:-translate-y-0.5 transition text-center">
<span class="font-display text-lg block mb-1">Contact</span>
<span class="text-xs text-inkSoft">Advisory</span>
</a>
</nav>
</section>
<!-- CTA Small -->
<section aria-label="Call to action">
<div class="rounded-3xl bg-gradient-to-br from-gold to-amber-600 text-ink p-8 shadow-xl">
<h3 class="font-display text-2xl mb-2">Need Personalized Guidance?</h3>
<p class="text-sm font-medium text-ink/90 mb-6">Book a complimentary strategy session with our advisors to review your liquidity, asset allocation, and credit profile.</p>
<a href="#contact" class="inline-block w-full text-center py-3 bg-ink text-white font-bold rounded-xl hover:bg-navy transition">Book Consultation</a>
</div>
</section>
</aside>
</div>
<!-- About Snippet -->
<section id="about" class="bg-paper border-t border-mist" aria-labelledby="sec-about">
<div class="max-w-4xl mx-auto px-6 lg:px-10 py-20 text-center">
<h2 id="sec-about" class="font-display text-4xl lg:text-5xl mb-6">Planning Is Not an Event. It Is a System.</h2>
<p class="text-steel text-lg lg:text-xl leading-relaxed font-editorial max-w-3xl mx-auto">Meridian Wealth Partners operates at the intersection of behavioral finance and institutional strategy. We believe that lasting wealth is built not through speculation, but through disciplined liquidity management, strategic asset allocation, and continuous education.</p>
</div>
</section>
<!-- Footer -->
<footer id="contact" class="bg-ink text-white" aria-label="Site footer">
<div class="max-w-7xl mx-auto px-6 lg:px-10 pt-16 pb-8">
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-10 mb-12">
<div>
<a href="#" class="inline-block mb-4">
<img src="https://placehold.co/140x40/0B1120/FFFFFF?text=Meridian+Wealth&font=playfair+display" alt="Meridian Wealth Partners Logo" class="h-9 w-auto brightness-125" loading="lazy" />
</a>
<p class="text-white/70 text-sm leading-relaxed">Strategic personal finance guidance for building liquidity, refining asset allocation, and achieving sustainable net worth growth.</p>
</div>
<div>
<h4 class="font-display text-xl mb-4">Contact</h4>
<address class="not-italic text-sm text-white/70 leading-loose">
450 Park Avenue, Suite 2100<br />
New York, NY 10022<br />
<a href="mailto:hello@meridianwealth.com" class="text-gold hover:text-white transition">hello@meridianwealth.com</a><br />
<a href="tel:+12125551234" class="text-gold hover:text-white transition">+1 (212) 555-1234</a>
</address>
</div>
<div>
<h4 class="font-display text-xl mb-4">Navigation</h4>
<ul class="space-y-2 text-sm text-white/70">
<li><a href="#" class="hover:text-gold transition">Home</a></li>
<li><a href="#calculator" class="hover:text-gold transition">Calculator</a></li>
<li><a href="#budget-planner" class="hover:text-gold transition">Budget Planner</a></li>
<li><a href="#tools" class="hover:text-gold transition">Tools</a></li>
<li><a href="#insights" class="hover:text-gold transition">Insights</a></li>
</ul>
</div>
<div>
<h4 class="font-display text-xl mb-4">Social</h4>
<div class="flex gap-3">
<a href="#" aria-label="LinkedIn" class="w-10 h-10 rounded-full bg-white/10 flex items-center justify-center hover:bg-gold hover:text-ink transition" title="LinkedIn">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M19 0h-14c-2.76 0-5 2.24-5 5v14c0 2.76 2.24 5 5 5h14c2.76 0 5-2.24 5-5v-14c0-2.76-2.24-5-5-5zm-11 19h-3v-10h3v10zm-1.5-11.5c-.97 0-1.75-.78-1.75-1.75s.78-1.75 1.75-1.75 1.75.78 1.75 1.75-.78 1.75-1.75 1.75zm13.5 11.5h-3v-5.5c0-1.38-.12-3.12-1.9-3.12-1.9 0-2.2 1.49-2.2 3.03v5.59h-3v-10h2.88v1.37h.04c.4-.75 1.38-1.54 2.84-1.54 3.04 0 3.6 2 3.6 4.59v5.58z"/></svg>
</a>
<a href="#" aria-label="Twitter / X" class="w-10 h-10 rounded-full bg-white/10 flex items-center justify-center hover:bg-gold hover:text-ink transition" title="Twitter">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
</a>
<a href="#" aria-label="Instagram" class="w-10 h-10 rounded-full bg-white/10 flex items-center justify-center hover:bg-gold hover:text-ink transition" title="Instagram">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="2" width="20" height="20" rx="5"/><circle cx="12" cy="12" r="5"/><circle cx="17.5" cy="6.5" r="1.5" fill="currentColor" stroke="none"/></svg>
</a>
</div>
</div>
</div>
<div class="border-t border-white/10 pt-8 flex flex-col md:flex-row items-center justify-between gap-4 text-xs text-white/50">
<p>© 2025 Meridian Wealth Partners. All rights reserved.</p>
<div class="flex gap-6">
<a href="#" class="hover:text-white transition">Privacy Policy</a>
<a href="#" class="hover:text-white transition">Terms of Service</a>
<a href="#" class="hover:text-white transition">Accessibility</a>
</div>
</div>
</div>
</footer>
<script>
// Calculator
function calculatePlan() {
const income = parseFloat(document.getElementById('income').value) || 0;
const debt = parseFloat(document.getElementById('debt').value) || 0;
const savings = parseFloat(document.getElementById('savings').value) || 0;
const monthsGoal = parseInt(document.getElementById('goalMonths').value) || 6;
const monthlyIncome = income / 12;
const surplus = Math.max(0, monthlyIncome - debt - savings);
// Reserve target: 6 months of essential expenses approximated as 60% of monthly income
const reserveTarget = monthlyIncome * 0.6 * monthsGoal;
document.getElementById('result-surplus').textContent = surplus.toLocaleString('en-US', { style: 'currency', currency: 'USD', maximumFractionDigits: 0 });
document.getElementById('result-target').textContent = reserveTarget.toLocaleString('en-US', { style: 'currency', currency: 'USD', maximumFractionDigits: 0 });
document.getElementById('summary-surplus').textContent = surplus.toLocaleString('en-US', { style: 'currency', currency: 'USD', maximumFractionDigits: 0 });
const monthsToReach = surplus > 0 ? Math.ceil(reserveTarget / surplus) : '—';
document.getElementById('summary-months').textContent = monthsToReach === '—' ? '—' : monthsToReach + ' months';
}
// Accordion
function toggleAccordion(btn) {
const content = btn.nextElementSibling;
const isOpen = content.classList.contains('open');
document.querySelectorAll('.accordion-content').forEach(c => c.classList.remove('open'));
document.querySelectorAll('button[aria-expanded]').forEach(b => b.setAttribute('aria-expanded', 'false'));
if (!isOpen) {
content.classList.add('open');
btn.setAttribute('aria-expanded', 'true');
}
}
// Initialize calculator on load
window.addEventListener('DOMContentLoaded', () => {
calculatePlan();
});
</script>
</body>
</html>
View Axe Report (JSON)
{
"testEngine": {
"name": "axe-core",
"version": "4.10.2"
},
"testRunner": {
"name": "axe"
},
"testEnvironment": {
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
"windowWidth": 1280,
"windowHeight": 720,
"orientationAngle": 0,
"orientationType": "landscape-primary"
},
"timestamp": "2026-11-12T09:45:47.792Z",
"url": "https://benchmark.aimac.invalid/0e2366a9f67f35ec9b7c2ed6146672ce9fe51dff2c61ee3586d7bc38f79f04eb.html",
"toolOptions": {
"runOnly": {
"type": "tag",
"values": [
"wcag2a",
"wcag2aa",
"wcag21a",
"wcag21aa",
"wcag22a",
"wcag22aa"
]
},
"resultTypes": [
"violations"
],
"reporter": "v1"
},
"inapplicable": [
{
"id": "area-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag244",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.2.4.4",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <area> elements of image maps have alternative text",
"help": "Active <area> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
"nodes": []
},
{
"id": "aria-braille-equivalent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
"help": "aria-braille attributes must have a non-braille equivalent",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
"nodes": []
},
{
"id": "aria-command-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA button, link and menuitem has an accessible name",
"help": "ARIA commands must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-deprecated-role",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements do not use deprecated roles",
"help": "Deprecated ARIA roles must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
"nodes": []
},
{
"id": "aria-input-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA input field has an accessible name",
"help": "ARIA input fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-meter-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA meter node has an accessible name",
"help": "ARIA meter nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-progressbar-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA progressbar node has an accessible name",
"help": "ARIA progressbar nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements with ARIA roles have all required ARIA attributes",
"help": "Required ARIA attributes must be provided",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-children",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require child roles contain them",
"help": "Certain ARIA roles must contain particular children",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-children?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-parent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require parent roles are contained by them",
"help": "Certain ARIA roles must be contained by particular parents",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
"nodes": []
},
{
"id": "aria-roles",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure all elements with a role attribute use a valid value",
"help": "ARIA roles used must conform to valid values",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
"nodes": []
},
{
"id": "aria-toggle-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA toggle field has an accessible name",
"help": "ARIA toggle fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-tooltip-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every ARIA tooltip node has an accessible name",
"help": "ARIA tooltip nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
"nodes": []
},
{
"id": "autocomplete-valid",
"impact": null,
"tags": [
"cat.forms",
"wcag21aa",
"wcag135",
"EN-301-549",
"EN-9.1.3.5",
"ACT"
],
"description": "Ensure the autocomplete attribute is correct and suitable for the form field",
"help": "autocomplete attribute must be used correctly",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
"nodes": []
},
{
"id": "avoid-inline-spacing",
"impact": null,
"tags": [
"cat.structure",
"wcag21aa",
"wcag1412",
"EN-301-549",
"EN-9.1.4.12",
"ACT"
],
"description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets",
"help": "Inline text spacing must be adjustable with custom stylesheets",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/avoid-inline-spacing?application=axeAPI",
"nodes": []
},
{
"id": "blink",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag222",
"section508",
"section508.22.j",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <blink> elements are not used",
"help": "<blink> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
"nodes": []
},
{
"id": "definition-list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dl> elements are structured correctly",
"help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
"nodes": []
},
{
"id": "dlitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dt> and <dd> elements are contained by a <dl>",
"help": "<dt> and <dd> elements must be contained by a <dl>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
"nodes": []
},
{
"id": "frame-focusable-content",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
"help": "Frames with focusable content must not have tabindex=-1",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
"nodes": []
},
{
"id": "frame-title-unique",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
"help": "Frames must have a unique title attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
"nodes": []
},
{
"id": "frame-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"section508",
"section508.22.i",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements have an accessible name",
"help": "Frames must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
"nodes": []
},
{
"id": "html-xml-lang-mismatch",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
"help": "HTML elements with lang and xml:lang must have the same base language",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
"nodes": []
},
{
"id": "input-button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure input buttons have discernible text",
"help": "Input buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
"nodes": []
},
{
"id": "input-image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <input type=\"image\"> elements have alternative text",
"help": "Image buttons must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
"nodes": []
},
{
"id": "marquee",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag222",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <marquee> elements are not used",
"help": "<marquee> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
"nodes": []
},
{
"id": "meta-refresh",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag221",
"TTv5",
"TT8.a",
"EN-301-549",
"EN-9.2.2.1"
],
"description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
"help": "Delayed refresh under 20 hours must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
"nodes": []
},
{
"id": "object-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure <object> elements have alternative text",
"help": "<object> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
"nodes": []
},
{
"id": "role-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure [role=\"img\"] elements have alternative text",
"help": "[role=\"img\"] elements must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "scrollable-region-focusable",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"wcag213",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1",
"EN-9.2.1.3"
],
"description": "Ensure elements that have scrollable content are accessible by keyboard",
"help": "Scrollable region must have keyboard access",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
"nodes": []
},
{
"id": "server-side-image-map",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag211",
"section508",
"section508.22.f",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure that server-side image maps are not used",
"help": "Server-side image maps must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
"nodes": []
},
{
"id": "summary-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure summary elements have discernible text",
"help": "Summary elements must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
"nodes": []
},
{
"id": "svg-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
"help": "<svg> elements with an img role must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "td-headers-attr",
"impact": null,
"tags": [
"cat.tables",
"wcag2a",
"wcag131",
"section508",
"section508.22.g",
"TTv5",
"TT14.b",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
"help": "Table cells that use the headers attribute must only refer to cells in the same table",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
"nodes": []
},
{
"id": "th-has-data-cells",
"impact": null,
"tags": [
"cat.tables",
"wcag2a",
"wcag131",
"section508",
"section508.22.g",
"TTv5",
"TT14.b",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
"help": "Table headers in a data table must refer to data cells",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
"nodes": []
},
{
"id": "valid-lang",
"impact": null,
"tags": [
"cat.language",
"wcag2aa",
"wcag312",
"TTv5",
"TT11.b",
"EN-301-549",
"EN-9.3.1.2",
"ACT"
],
"description": "Ensure lang attributes have valid values",
"help": "lang attribute must have a valid value",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
"nodes": []
},
{
"id": "video-caption",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag122",
"section508",
"section508.22.a",
"TTv5",
"TT17.a",
"EN-301-549",
"EN-9.1.2.2"
],
"description": "Ensure <video> elements have captions",
"help": "<video> elements must have captions",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
"nodes": []
},
{
"id": "no-autoplay-audio",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag142",
"TTv5",
"TT2.a",
"EN-301-549",
"EN-9.1.4.2",
"ACT"
],
"description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
"help": "<video> or <audio> elements must not play automatically",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
"nodes": []
}
],
"passes": [
{
"id": "aria-allowed-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure an element's role supports its ARIA attributes",
"help": "Elements must only use supported ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "aria-allowed-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attributes are used correctly for the defined role"
}
],
"none": [
{
"id": "aria-unsupported-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attribute is supported"
}
],
"impact": null,
"html": "<a href=\"#\" class=\"flex items-center gap-3 group\" aria-label=\"Meridian Wealth Partners Home\">",
"target": [
"a[aria-label=\"Meridian Wealth Partners Home\"]"
]
}
]
},
{
"id": "aria-conditional-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure ARIA attributes are used as described in the specification of the element's role",
"help": "ARIA attributes must be used as specified for the element's role",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "aria-conditional-attr",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "ARIA attribute is allowed"
}
],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"flex items-center gap-3 group\" aria-label=\"Meridian Wealth Partners Home\">",
"target": [
"a[aria-label=\"Meridian Wealth Partners Home\"]"
]
}
]
},
{
"id": "aria-hidden-body",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"wcag412",
"EN-301-549",
"EN-9.1.3.1",
"EN-9.4.1.2"
],
"description": "Ensure aria-hidden=\"true\" is not present on the document body.",
"help": "aria-hidden=\"true\" must not be present on the document body",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "aria-hidden-body",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "No aria-hidden attribute is present on document body"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<body class=\"bg-cream\">",
"target": [
"body"
]
}
]
},
{
"id": "aria-hidden-focus",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
"help": "ARIA hidden element must not be focusable or contain focusable elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "focusable-modal-open",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "No focusable elements while a modal is open"
},
{
"id": "focusable-disabled",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "No focusable elements contained within element"
},
{
"id": "focusable-not-tabbable",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "No focusable elements contained within element"
}
],
"none": [],
"impact": null,
"html": "<span aria-hidden=\"true\">\u2192</span>",
"target": [
".px-7.py-4.hover\\:bg-white > span[aria-hidden=\"true\"]"
]
}
]
},
{
"id": "aria-prohibited-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure ARIA attributes are not prohibited for an element's role",
"help": "Elements must only use permitted ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "aria-prohibited-attr",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "ARIA attribute is allowed"
}
],
"impact": null,
"html": "<a href=\"#\" class=\"flex items-center gap-3 group\" aria-label=\"Meridian Wealth Partners Home\">",
"target": [
"a[aria-label=\"Meridian Wealth Partners Home\"]"
]
}
]
},
{
"id": "aria-valid-attr-value",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure all ARIA attributes have valid values",
"help": "ARIA attributes must conform to valid values",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "aria-valid-attr-value",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attribute values are valid"
},
{
"id": "aria-errormessage",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique"
},
{
"id": "aria-level",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-level values are valid"
}
],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"flex items-center gap-3 group\" aria-label=\"Meridian Wealth Partners Home\">",
"target": [
"a[aria-label=\"Meridian Wealth Partners Home\"]"
]
}
]
},
{
"id": "aria-valid-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure attributes that begin with aria- are valid ARIA attributes",
"help": "ARIA attributes must conform to valid names",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "aria-valid-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attribute name is valid"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"flex items-center gap-3 group\" aria-label=\"Meridian Wealth Partners Home\">",
"target": [
"a[aria-label=\"Meridian Wealth Partners Home\"]"
]
}
]
},
{
"id": "button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure buttons have discernible text",
"help": "Buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "button-has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has inner text that is visible to screen readers"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<button type=\"submit\" class=\"w-full py-3.5 bg-gold text-ink font-bold rounded-xl hover:bg-white transition shadow-lg shadow-gold/20\">Calculate Budget Surplus</button>",
"target": [
".py-3\\.5"
]
}
]
},
{
"id": "bypass",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag241",
"section508",
"section508.22.o",
"TTv5",
"TT9.a",
"EN-301-549",
"EN-9.2.4.1"
],
"description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
"help": "Page must have means to bypass repeated blocks",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/bypass?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "internal-link-present",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Valid skip link found"
},
{
"id": "header-present",
"data": null,
"relatedNodes": [
{
"html": "<h1 class=\"font-display text-5xl lg:text-7xl font-bold text-white leading-[1.05] mb-8\">\n Clarity for Your <br><span class=\"italic font-normal text-gold\">Financial Future.</span>\n </h1>",
"target": [
"h1"
]
},
{
"html": "<h3 class=\"font-display text-2xl mb-3\">Liquidity Planning</h3>",
"target": [
"article:nth-child(1) > .mb-3"
]
},
{
"html": "<h3 class=\"font-display text-2xl mb-3\">Asset Allocation</h3>",
"target": [
"article:nth-child(2) > .mb-3"
]
},
{
"html": "<h3 class=\"font-display text-2xl mb-3\">Credit & Debt Strategy</h3>",
"target": [
"article:nth-child(3) > .mb-3"
]
},
{
"html": "<h2 id=\"sec-liquidity\" class=\"font-display text-4xl lg:text-5xl mb-6\">Establish Liquidity Before You Invest.</h2>",
"target": [
"#sec-liquidity"
]
},
{
"html": "<h2 id=\"sec-calc\" class=\"font-display text-3xl lg:text-4xl text-white mb-2\">Calculate Your Net Worth.</h2>",
"target": [
"#sec-calc"
]
},
{
"html": "<h3 class=\"font-display text-2xl text-white mb-6\">Results</h3>",
"target": [
".bg-navy > h3"
]
},
{
"html": "<h2 id=\"sec-savings\" class=\"font-display text-4xl lg:text-5xl mb-6\">Align Savings Goals with Asset Allocation.</h2>",
"target": [
"#sec-savings"
]
},
{
"html": "<h2 id=\"sec-credit\" class=\"font-display text-4xl lg:text-5xl mb-6\">Strengthen Credit for Strategic Flexibility.</h2>",
"target": [
"#sec-credit"
]
},
{
"html": "<h2 class=\"font-display text-3xl lg:text-4xl mb-10\">Trusted by Clients Building Real Wealth.</h2>",
"target": [
".lg\\:text-4xl.mb-10.text-3xl"
]
},
{
"html": "<h2 class=\"font-display text-3xl lg:text-4xl mb-8\">Common Questions.</h2>",
"target": [
".mb-8.lg\\:text-4xl.text-3xl"
]
},
{
"html": "<h3 id=\"side-insight\" class=\"font-display text-2xl mb-6\">Expert Insights.</h3>",
"target": [
"#side-insight"
]
},
{
"html": "<h4 class=\"font-display text-xl mb-2 group-hover:text-gold transition\">The Liquidity Premium in Volatile Markets</h4>",
"target": [
".group-hover\\:text-gold"
]
},
{
"html": "<h3 class=\"font-display text-2xl mb-6\">Financial Planning Tips.</h3>",
"target": [
"section[aria-label=\"Financial planning tips\"] > h3"
]
},
{
"html": "<h3 class=\"font-display text-2xl mb-6\">Quick Tools.</h3>",
"target": [
"section[aria-label=\"Quick tools\"] > h3"
]
},
{
"html": "<h3 class=\"font-display text-2xl mb-2\">Need Personalized Guidance?</h3>",
"target": [
".bg-gradient-to-br > .mb-2"
]
},
{
"html": "<h2 id=\"sec-about\" class=\"font-display text-4xl lg:text-5xl mb-6\">Planning Is Not an Event. It Is a System.</h2>",
"target": [
"#sec-about"
]
},
{
"html": "<h4 class=\"font-display text-xl mb-4\">Contact</h4>",
"target": [
".lg\\:grid-cols-4 > div:nth-child(2) > h4"
]
},
{
"html": "<h4 class=\"font-display text-xl mb-4\">Navigation</h4>",
"target": [
"div:nth-child(3) > h4"
]
},
{
"html": "<h4 class=\"font-display text-xl mb-4\">Social</h4>",
"target": [
"div:nth-child(4) > h4"
]
}
],
"impact": "serious",
"message": "Page has a heading"
},
{
"id": "landmark",
"data": null,
"relatedNodes": [
{
"html": "<main class=\"lg:col-span-8\">",
"target": [
"main"
]
}
],
"impact": "serious",
"message": "Page has a landmark region"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#e8e8ea",
"bgColor": "#171c2a",
"contrastRatio": 13.88,
"fontSize": "10.5pt (14px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 13.88"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"px-3 py-2 text-sm font-medium text-white/90 hover:text-gold transition rounded-md hover:bg-white/5\">Home</a>",
"target": [
".px-3.rounded-md.hover\\:bg-white\\/5:nth-child(1)"
]
}
]
},
{
"id": "document-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"TTv5",
"TT12.a",
"EN-301-549",
"EN-9.2.4.2",
"ACT"
],
"description": "Ensure each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document has a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "duplicate-id-aria",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
"help": "IDs used in ARIA and labels must be unique",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "duplicate-id-aria",
"data": "sec-liquidity",
"relatedNodes": [],
"impact": "critical",
"message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<h2 id=\"sec-liquidity\" class=\"font-display text-4xl lg:text-5xl mb-6\">Establish Liquidity Before You Invest.</h2>",
"target": [
"#sec-liquidity"
]
}
]
},
{
"id": "form-field-multiple-labels",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag332",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.3.3.2"
],
"description": "Ensure form field does not have multiple label elements",
"help": "Form field must not have multiple label elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "multiple-label",
"data": null,
"relatedNodes": [
{
"html": "<label>",
"target": [
".gap-5.sm\\:grid-cols-2.grid:nth-child(1) > label:nth-child(1)"
]
}
],
"impact": "moderate",
"message": "Form field does not have multiple label elements"
}
],
"impact": null,
"html": "<input id=\"income\" type=\"number\" value=\"95000\" min=\"0\" step=\"1000\" class=\"w-full pl-8 pr-4 py-3 rounded-xl bg-white/10 border border-white/10 text-white placeholder:text-white/40 focus:outline-none focus:ring-2 focus:ring-gold/60\" aria-label=\"Annual gross income\">",
"target": [
"#income"
]
}
]
},
{
"id": "html-has-lang",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure every HTML document has a lang attribute",
"help": "<html> element must have a lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "The <html> element has a lang attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "html-lang-valid",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure the lang attribute of the <html> element has a valid value",
"help": "<html> element must have a valid value for the lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "valid-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Value of lang attribute is included in the list of valid languages"
}
],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"TT7.b",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <img> elements have alternative text or a role of none or presentation",
"help": "Images must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-alt",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has an alt attribute"
}
],
"all": [],
"none": [
{
"id": "alt-space-value",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has a valid alt attribute value"
}
],
"impact": null,
"html": "<img src=\"https://placehold.co/140x40/0B1120/FFFFFF?text=Meridian+Wealth&font=playfair+display\" alt=\"Meridian Wealth Partners Logo\" class=\"h-9 w-auto brightness-125 group-hover:brightness-150 transition\" loading=\"eager\">",
"target": [
".group-hover\\:brightness-150"
]
}
]
},
{
"id": "label",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every form element has a label",
"help": "Form elements must have labels",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "implicit-label",
"data": {
"implicitLabel": "Annual Gross Income $ Annual gross income"
},
"relatedNodes": [
{
"html": "<label>",
"target": [
".gap-5.sm\\:grid-cols-2.grid:nth-child(1) > label:nth-child(1)"
]
}
],
"impact": "critical",
"message": "Element has an implicit (wrapped) <label>"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-label attribute exists and is not empty"
}
],
"all": [],
"none": [
{
"id": "hidden-explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Form element has a visible explicit <label>"
}
],
"impact": null,
"html": "<input id=\"income\" type=\"number\" value=\"95000\" min=\"0\" step=\"1000\" class=\"w-full pl-8 pr-4 py-3 rounded-xl bg-white/10 border border-white/10 text-white placeholder:text-white/40 focus:outline-none focus:ring-2 focus:ring-gold/60\" aria-label=\"Annual gross income\">",
"target": [
"#income"
]
}
]
},
{
"id": "link-in-text-block",
"impact": null,
"tags": [
"cat.color",
"wcag2a",
"wcag141",
"TTv5",
"TT13.a",
"EN-301-549",
"EN-9.1.4.1"
],
"description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
"help": "Links must be distinguishable without relying on color",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "link-in-text-block-style",
"data": null,
"relatedNodes": [
{
"html": "<div class=\"prose-custom\">",
"target": [
"#budget-planner > .lg\\:gap-14.items-start.md\\:grid-cols-2 > .prose-custom"
]
}
],
"impact": "serious",
"message": "Links can be distinguished from surrounding text by visual styling"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#contact\" class=\"inline-flex mt-4 px-6 py-3 bg-ink text-white font-semibold rounded-full hover:bg-steel transition shadow-lg\">Download Liquidity Guide</a>",
"target": [
"#budget-planner > .lg\\:gap-14.items-start.md\\:grid-cols-2 > .prose-custom > .mt-4.hover\\:bg-steel.inline-flex"
]
}
]
},
{
"id": "link-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag244",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.2.4.4",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure links have discernible text",
"help": "Links must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element has text that is visible to screen readers"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "aria-label attribute exists and is not empty"
}
],
"all": [],
"none": [
{
"id": "focusable-no-name",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element is not in tab order or has accessible text"
}
],
"impact": null,
"html": "<a href=\"#\" class=\"flex items-center gap-3 group\" aria-label=\"Meridian Wealth Partners Home\">",
"target": [
"a[aria-label=\"Meridian Wealth Partners Home\"]"
]
}
]
},
{
"id": "list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that lists are structured correctly",
"help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "only-listitems",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "List element only has direct children that are allowed inside <li> elements"
}
],
"impact": null,
"html": "<ul class=\"space-y-6\">",
"target": [
".space-y-6"
]
}
]
},
{
"id": "listitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <li> elements are used semantically",
"help": "<li> elements must be contained in a <ul> or <ol>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "listitem",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "List item has a <ul>, <ol> or role=\"list\" parent element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<li class=\"flex gap-4\">",
"target": [
".gap-4:nth-child(1)"
]
}
]
},
{
"id": "meta-viewport",
"impact": null,
"tags": [
"cat.sensory-and-visual-cues",
"wcag2aa",
"wcag144",
"EN-301-549",
"EN-9.1.4.4",
"ACT"
],
"description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
"help": "Zooming and scaling must not be disabled",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "meta-viewport",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "<meta> tag does not disable zooming on mobile devices"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
"target": [
"meta[name=\"viewport\"]"
]
}
]
},
{
"id": "nested-interactive",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
"help": "Interactive controls must not be nested",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "no-focusable-content",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element does not have focusable descendants"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<img src=\"https://placehold.co/140x40/0B1120/FFFFFF?text=Meridian+Wealth&font=playfair+display\" alt=\"Meridian Wealth Partners Logo\" class=\"h-9 w-auto brightness-125 group-hover:brightness-150 transition\" loading=\"eager\">",
"target": [
".group-hover\\:brightness-150"
]
}
]
},
{
"id": "select-name",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure select element has an accessible name",
"help": "Select element must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "implicit-label",
"data": {
"implicitLabel": "Months of Reserves Goal Emergency fund goal in months"
},
"relatedNodes": [
{
"html": "<label>",
"target": [
".gap-5.sm\\:grid-cols-2.grid:nth-child(2) > label:nth-child(2)"
]
}
],
"impact": "critical",
"message": "Element has an implicit (wrapped) <label>"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-label attribute exists and is not empty"
}
],
"all": [],
"none": [
{
"id": "hidden-explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Form element has a visible explicit <label>"
}
],
"impact": null,
"html": "<select id=\"goalMonths\" class=\"w-full px-4 py-3 rounded-xl bg-white/10 border border-white/10 text-white focus:outline-none focus:ring-2 focus:ring-gold/60\" aria-label=\"Emergency fund goal in months\">",
"target": [
"#goalMonths"
]
}
]
},
{
"id": "target-size",
"impact": null,
"tags": [
"cat.sensory-and-visual-cues",
"wcag22aa",
"wcag258"
],
"description": "Ensure touch targets have sufficient size and space",
"help": "All touch targets must be 24px large, or leave sufficient space",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "target-size",
"data": {
"minSize": 24,
"width": 126,
"height": 36
},
"relatedNodes": [],
"impact": "serious",
"message": "Control has sufficient size (126px by 36px, should be at least 24px by 24px)"
},
{
"id": "target-offset",
"data": {
"closestOffset": 24,
"minOffset": 24
},
"relatedNodes": [],
"impact": "serious",
"message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"flex items-center gap-3 group\" aria-label=\"Meridian Wealth Partners Home\">",
"target": [
"a[aria-label=\"Meridian Wealth Partners Home\"]"
]
}
]
}
],
"incomplete": [
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": null,
"bgColor": null,
"contrastRatio": 0,
"fontSize": "10.5pt (14px)",
"fontWeight": "normal",
"messageKey": "bgOverlap",
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element's background color could not be determined because it is overlapped by another element"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"text-gold font-semibold tracking-widest text-sm uppercase mb-6\">Personal Finance Strategy</p>",
"target": [
".tracking-widest.uppercase.text-gold"
],
"failureSummary": "Fix any of the following:\n Element's background color could not be determined because it is overlapped by another element"
}
]
}
],
"violations": [
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#cba135",
"bgColor": "#ffffff",
"contrastRatio": 2.41,
"fontSize": "10.5pt (14px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<a href=\"#\" class=\"group block bg-white rounded-3xl overflow-hidden shadow-xl border border-mist hover:shadow-2xl transition\">",
"target": [
".hover\\:shadow-2xl"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.41 (foreground color: #cba135, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"text-gold font-semibold text-sm\">Read Article \u2192</span>",
"target": [
".p-6 > .text-gold.font-semibold.text-sm"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.41 (foreground color: #cba135, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
}
]
}
],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 7067
},
{
"y": 576,
"height": 7067
},
{
"y": 1152,
"height": 7067
},
{
"y": 1728,
"height": 7067
},
{
"y": 2304,
"height": 7067
},
{
"y": 2880,
"height": 7067
},
{
"y": 3456,
"height": 7067
},
{
"y": 4032,
"height": 7067
},
{
"y": 4608,
"height": 7067
},
{
"y": 5184,
"height": 7067
},
{
"y": 5760,
"height": 7067
},
{
"y": 6336,
"height": 7067
},
{
"y": 6347,
"height": 7067
}
],
"scans": 14,
"max_states": 512,
"settle_ms": 5000,
"page_timeout_seconds": 150,
"layout_stability": "consecutive 100ms size samples within one CSS pixel",
"animation_settling": "finite animations present when scroll resources are ready finish or are cancelled",
"interactive_states": "not exercised",
"horizontal_scroll": "not exercised"
}
}
System Prompt
You are a lead web developer at a top digital agency, tasked with creating a one-page website for a new client based on the given specifications, delivered as an HTML file. First non-whitespace char '<', last non-whitespace char '>'. Use the following services to generate placeholder images where needed:
- placehold.co (text): https://placehold.co/[{w}x{h}|{size}][/{bg-color}/{text-color}]?text={text}&font=[lato|lora|montserrat|noto sans|open sans|oswald|playfair display|poppins|pt sans|raleway|roboto|source sans|source sans pro]
- picsum.photos (photos): https://picsum.photos/[{w}/{h}|{size}]?[grayscale][&blur={1-10}]
- pravatar.cc (avatars): https://i.pravatar.cc/{size}?u={identifier}
Choose sizes appropriate to layout.
User Prompt
Create a **complete, polished, production-quality** primary web page for a new client in the "Personal Finance" sector.
Your goal is to generate the full HTML code for a page that is not just functional but also visually compelling, content-rich, and feels like a finished product ready for launch.
**Client & Category:**
- Industry: "Personal Finance"
- Description: Banking, investing, budgeting, savings, credit, and personal money management resources.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Personal Finance" category.
2. **Define Page:** Determine the most effective primary page type (e.g., homepage, service landing page, category portal) to showcase this fictional entity.
3. **Design:** Develop an opinionated, modern, and professional layout. Make distinct choices about structure and flow.
**Content & Structure Requirements (Deliver a COMPLETE page):**
- **Overall:** The final page must feel substantial and complete, with realistic amounts of text (multiple paragraphs per section where appropriate, avoid single sentences), well-integrated placeholder images, and logical flow. It should look like a real website a business would proudly use.
- **HEADER:** Include the invented site name, tagline, a logo placeholder image, and a primary navigation bar. Ensure the navigation has **at least 5-7 clearly defined, relevant links** including: "Calculator", "Budget Planner", "Tools".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Personal Finance" category. Consider themes similar to: "Emergency Fund", "Savings Goals", "Credit Improvement".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "net worth", "liquidity", "asset allocation".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Start Investing", "Download Guide", "Calculate".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Personal Finance" sector. Ideas similar but not limited to: "budget planner".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "financial planning tips", "educational articles", "expert insights".
- **FOOTER:** Include a professional footer with invented contact details, copyright (current year), social media links, and standard links (Privacy, Terms).
- **MODERN WEB PATTERNS:** Include modern web patterns like testimonial cards, feature grids, or FAQ accordions where appropriate.