!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ideal Buyer Profile | 4014 Murvaul Drive, Farmersville, TX</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <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=Inter:wght@400;500;700&display=swap" rel="stylesheet">
    <!-- Chosen Palette: Warm Harmony (Beige, Slate, Sage) -->
    <!-- Application Structure Plan: A persona-driven, single-page application. The core interaction is a user selecting one of three buyer personas ("Hybrid Family", "Financial Aspirant", "Active Downsizer"). This choice dynamically updates all subsequent content sections—narrative, key features, lifestyle info, and data visualizations. This structure was chosen because the source report's primary insight is that the property's value is perceived differently by distinct buyer groups. A persona-based flow allows users to self-identify and receive a tailored, highly relevant information experience, making the complex report data instantly consumable and persuasive, far more effective than a linear or static dashboard layout. -->
    <!-- Visualization & Content Choices: 
        1. Report Info: Buyer Personas -> Goal: Guide User -> Viz/Method: Interactive Buttons (HTML/JS) -> Interaction: Click to update all page content -> Justification: The core organizing principle of the app, making it user-centric.
        2. Report Info: Property Price vs. Market -> Goal: Compare/Inform -> Viz/Method: Bar Chart (Chart.js) -> Interaction: Chart updates to highlight different competitive advantages for each persona -> Justification: Visually demonstrates the property's affordability and value proposition.
        3. Report Info: Rent vs. Own Costs -> Goal: Compare/Inform -> Viz/Method: Donut Chart (Chart.js) -> Interaction: Appears for "Aspirant" persona to show financial transition -> Justification: Directly addresses the key motivation for the Lease-to-Own buyer.
        4. Report Info: Property/Community Features -> Goal: Inform -> Viz/Method: Styled Feature Cards (HTML/Tailwind) -> Interaction: Content and order of cards change based on persona -> Justification: Highlights the most relevant features for each user type, increasing appeal.
        5. Report Info: Location/Demographics -> Goal: Inform -> Viz/Method: Key Stat Cards & Bar Chart (HTML/Tailwind & Chart.js) -> Interaction: Content updates to frame data from persona's POV -> Justification: Provides essential context in an easily digestible format.
    -->
    <!-- CONFIRMATION: NO SVG graphics used. NO Mermaid JS used. -->
    <style>
        body {
            font-family: 'Inter', sans-serif;
            background-color: #F5F5F3;
            color: #333D29;
        }
        .persona-btn {
            transition: all 0.3s ease;
            border: 2px solid transparent;
        }
        .persona-btn.active {
            background-color: #656D4A;
            color: #FFFFFF;
            border-color: #414833;
            transform: translateY(-2px);
            box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
        }
        .chart-container {
            position: relative;
            width: 100%;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
            height: 350px;
            max-height: 400px;
        }
        @media (max-width: 768px) {
            .chart-container {
                height: 300px;
            }
        }
        .stat-card {
            background-color: #FFFFFF;
            border: 1px solid #E5E5E5;
            border-radius: 0.75rem;
            padding: 1.5rem;
            text-align: center;
        }
        .fade-in {
            animation: fadeIn 0.8s ease-in-out;
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }
    </style>
</head>
<body class="antialiased">

    <div class="container mx-auto p-4 md:p-8 max-w-7xl">

        <header class="text-center mb-8 md:mb-12">
            <h1 class="text-4xl md:text-5xl font-bold text-slate-800">4014 Murvaul Drive</h1>
            <p class="text-lg md:text-xl text-slate-600 mt-2">Farmersville, TX 75442 | An Opportunity for Every Buyer</p>
        </header>

        <section id="persona-selector" class="bg-white p-6 rounded-xl shadow-md mb-8 md:mb-12">
            <h2 class="text-2xl font-bold text-center mb-2 text-slate-800">Who are you?</h2>
            <p class="text-center text-slate-600 mb-6 max-w-2xl mx-auto">This property offers a unique opportunity for different lifestyles. Select the profile that sounds most like you to see why this home is a perfect match.</p>
            <div class="flex flex-col md:flex-row justify-center gap-4">
                <button id="btn-family" class="persona-btn w-full md:w-auto text-lg font-semibold py-3 px-6 bg-slate-200 text-slate-700 rounded-lg shadow-sm hover:bg-slate-300">
                    🏡 The Hybrid Family
                </button>
                <button id="btn-aspirant" class="persona-btn w-full md:w-auto text-lg font-semibold py-3 px-6 bg-slate-200 text-slate-700 rounded-lg shadow-sm hover:bg-slate-300">
                    🔑 The Financial Aspirant
                </button>
                <button id="btn-downsizer" class="persona-btn w-full md:w-auto text-lg font-semibold py-3 px-6 bg-slate-200 text-slate-700 rounded-lg shadow-sm hover:bg-slate-300">
                    ☀️ The Active Downsizer
                </button>
            </div>
        </section>

        <main id="content-area" class="space-y-8 md:space-y-12">
            
            <section id="persona-narrative" class="bg-white p-6 md:p-8 rounded-xl shadow-md fade-in">
                <h3 id="narrative-title" class="text-3xl font-bold mb-4 text-slate-800"></h3>
                <p id="narrative-text" class="text-slate-700 leading-relaxed"></p>
            </section>

            <section id="features-section">
                 <h3 class="text-3xl font-bold mb-6 text-center text-slate-800">Key Features For You</h3>
                 <div id="features-grid" class="grid md:grid-cols-2 lg:grid-cols-3 gap-6 fade-in">
                 </div>
            </section>
            
            <section id="lifestyle-section" class="bg-white p-6 md:p-8 rounded-xl shadow-md fade-in">
                <h3 id="lifestyle-title" class="text-3xl font-bold mb-4 text-slate-800"></h3>
                <p id="lifestyle-text" class="text-slate-700 leading-relaxed"></p>
            </section>

            <section id="data-viz-section">
                <h3 class="text-3xl font-bold mb-8 text-center text-slate-800">The Financial Picture</h3>
                <div class="grid lg:grid-cols-2 gap-8 items-center fade-in">
                    <div id="market-comparison-container">
                        <h4 class="text-xl font-semibold text-center mb-4 text-slate-700">Affordability in Collin County</h4>
                        <p class="text-center text-slate-600 mb-4 text-sm max-w-md mx-auto">See how this home's price compares to the median sale prices in the local area and pricier DFW suburbs.</p>
                        <div class="chart-container">
                            <canvas id="marketChart"></canvas>
                        </div>
                    </div>
                    <div id="secondary-chart-container">
                        <h4 id="secondary-chart-title" class="text-xl font-semibold text-center mb-4 text-slate-700"></h4>
                        <p id="secondary-chart-desc" class="text-center text-slate-600 mb-4 text-sm max-w-md mx-auto"></p>
                        <div class="chart-container">
                            <canvas id="secondaryChart"></canvas>
                        </div>
                    </div>
                </div>
            </section>

            <section id="property-details" class="bg-white p-6 md:p-8 rounded-xl shadow-md">
                <h3 class="text-3xl font-bold mb-6 text-center text-slate-800">Core Property Details</h3>
                <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6 text-slate-700">
                    <div class="bg-slate-50 p-4 rounded-lg"><strong>Price:</strong> $299,999</div>
                    <div class="bg-slate-50 p-4 rounded-lg"><strong>Type:</strong> Single Family Residence</div>
                    <div class="bg-slate-50 p-4 rounded-lg"><strong>Year Built:</strong> 2024</div>
                    <div class="bg-slate-50 p-4 rounded-lg"><strong>Bedrooms:</strong> 4</div>
                    <div class="bg-slate-50 p-4 rounded-lg"><strong>Bathrooms:</strong> 2 Full</div>
                    <div class="bg-slate-50 p-4 rounded-lg"><strong>Square Feet:</strong> 1,554 sq ft</div>
                    <div class="bg-slate-50 p-4 rounded-lg"><strong>Lot Size:</strong> 0.113 acres</div>
                    <div class="bg-slate-50 p-4 rounded-lg"><strong>Garage:</strong> 2-Car Attached</div>
                    <div class="bg-slate-50 p-4 rounded-lg"><strong>HOA:</strong> $750 Annually</div>
                </div>
                <div class="mt-6 text-center">
                     <a href="#" class="inline-block bg-[#656D4A] text-white font-bold py-3 px-8 rounded-lg hover:bg-[#414833] transition-colors">Request a Showing</a>
                </div>
            </section>

        </main>
    </div>

    <script>
        const personaData = {
            family: {
                narrative: {
                    title: "Your Modern, Affordable Family Haven",
                    text: "You're looking for the ideal place to raise your family: more space, a safer community, and great schools, all without breaking the bank. This home is your answer. It's a brand-new, move-in-ready property in a B+ rated school district with fantastic community amenities like a pool and playground. You get the small-town charm of Farmersville with the modern conveniences your busy life demands."
                },
                features: [
                    { icon: '🏫', title: 'Top-Rated Schools', text: 'Located in the B+ rated Farmersville ISD, offering a high-quality education without the premium price tag of inner suburbs.' },
                    { icon: '💼', title: 'Dedicated Home Office', text: 'The 4th bedroom is perfectly suited for a home office, essential for your flexible hybrid or remote work schedule.' },
                    { icon: '🏊', title: 'Community Amenities', text: 'Enjoy a community pool and playground, maintained by the HOA. All the fun, none of the personal upkeep.' },
                    { icon: '✨', title: 'Move-In Ready', text: 'Built in 2024, this home has premium finishes and builder warranties, meaning no surprise projects or costs.' },
                    { icon: '🌳', title: 'Outdoor Recreation', text: 'Just minutes from Lake Lavon and local parks, offering endless weekend adventures for the whole family.' },
                    { icon: '�', title: 'Exceptional Value', text: 'Priced significantly below the median for the DFW metroplex, allowing your family to thrive financially.' }
                ],
                lifestyle: {
                    title: "The 'Modern Mayberry' Lifestyle",
                    text: "Farmersville offers the best of both worlds: the safety and neighborly spirit of a small town with the growth and dynamism of Collin County. While the commute to Dallas is manageable a few times a week, your daily life is about community events, park visits, and a slower, more intentional pace. It's the perfect backdrop for making family memories."
                },
                charts: {
                    market: {
                        data: [299999, 350000, 550000, 650000],
                        labels: ['This Home', 'Farmersville Median', 'Plano Median', 'Frisco Median'],
                        title: "Affordability Comparison"
                    },
                    secondary: {
                        type: 'bar',
                        title: 'Farmersville ISD at a Glance',
                        desc: 'The district offers a strong academic environment, rated B+ overall by Niche, with particular strengths in its teachers and diversity.',
                        data: [61, 41],
                        labels: ['Reading Proficiency (%)', 'Math Proficiency (%)'],
                    }
                }
            },
            aspirant: {
                narrative: {
                    title: "Your Direct Path to Homeownership",
                    text: "You're ready to own, build equity, and stop renting, but the traditional mortgage process has been a roadblock. This property is your breakthrough. With Owner Financing and Lease-to-Own options available, the seller is ready to work with you directly. This is a rare opportunity to secure a brand-new, modern home while you strengthen your financial position."
                },
                features: [
                    { icon: '🤝', title: 'Owner Financing', text: 'The most important feature. Work directly with the seller to secure financing, bypassing strict bank underwriting.' },
                    { icon: '📈', title: 'Lease-to-Own Option', text: 'Live in your home now while you save for a down payment or improve your credit. A portion of your rent can build towards your purchase.' },
                    { icon: '🏠', title: 'Build Equity Now', text: 'Stop throwing money away on rent. Start building your own wealth through homeownership immediately.' },
                    { icon: '🛠️', title: 'No Surprise Costs', text: 'A new 2024 build with builder warranties means peace of mind and predictable expenses, crucial for your budget.' },
                    { icon: '💎', title: 'Premium Asset', text: 'This isn\'t a typical fixer-upper. You get a modern home with premium finishes, an open floorplan, and all appliances included.' },
                    { icon: '🔗', title: 'Seamless Transition', text: 'The monthly lease payment is comparable to the estimated mortgage, making the future transition to full ownership smooth.' }
                ],
                lifestyle: {
                    title: "Stability and Pride of Ownership",
                    text: "More than just a location, this home represents stability and the achievement of a major life goal. You'll discover this property through savvy searching for unique financing opportunities. The community and its amenities are a fantastic bonus, but your primary focus is securing a high-quality asset that you can call your own and build a future in."
                },
                charts: {
                    market: {
                        data: [299999, 350000],
                        labels: ['This Home', 'Farmersville Median'],
                        title: "An Attainable Asset"
                    },
                    secondary: {
                        type: 'doughnut',
                        title: 'Rent vs. Own: A Smart Transition',
                        desc: 'The monthly lease price is set to be very similar to a potential mortgage payment, making the lease-to-own path financially logical.',
                        data: [2150, 2042],
                        labels: ['Monthly Lease ($)', 'Est. Mortgage ($)'],
                    }
                }
            },
            downsizer: {
                narrative: {
                    title: "The Perfect Next Chapter: New & Easy Living",
                    text: "You've earned a simpler, more relaxed lifestyle. It's time to leave the large, multi-story house and its constant upkeep behind. This single-story, low-maintenance home is the perfect solution. You can unlock the equity from your previous home, purchase a brand-new property, and enjoy the peace and quiet of a small town, all while having modern comforts and nearby recreation."
                },
                features: [
                    { icon: '🚶', title: 'Single-Story Layout', text: 'The most critical feature for comfort and accessibility. No stairs to climb makes for easy, long-term living.' },
                    { icon: '🌱', title: 'Low-Maintenance Lot', text: 'The compact 0.113-acre lot means no more weekends spent on extensive yard work. More time for hobbies and travel.' },
                    { icon: '💸', title: 'Unlock Your Equity', text: 'The attractive price point allows you to purchase a new home and free up significant capital for retirement, travel, or investments.' },
                    { icon: '☮️', title: 'Peaceful & Quiet', text: 'Escape the hustle and bustle. Farmersville offers a tranquil, small-town atmosphere for a more relaxed pace of life.' },
                    { icon: '🎣', title: 'Recreation Nearby', text: 'Located just minutes from Lake Lavon for fishing and boating, and trails for walking and biking.' },
                    { icon: '🖋️', title: 'Flexible Hobby Space', text: 'The home office is perfect for managing finances, pursuing a hobby, or running a small post-retirement business.' }
                ],
                lifestyle: {
                    title: "A Lifestyle of Freedom and Relaxation",
                    text: "This move is about optimizing your life for enjoyment. The single-story layout and low-maintenance property give you the freedom to 'lock and leave' for travel whenever you please. When home, you'll enjoy the friendly community, the covered back patio for relaxing, and the easy access to the natural beauty of the surrounding area. It's less work, more life."
                },
                charts: {
                    market: {
                        data: [299999, 550000],
                        labels: ['This Home', 'Your Old Suburb (Est)'],
                        title: "Unlock Your Home Equity"
                    },
                    secondary: {
                        type: 'bar',
                        title: 'Cost of Living Advantage',
                        desc: 'Farmersville\'s cost of living is significantly lower than the national average, especially in housing, stretching your retirement funds further.',
                        data: [100, 96, 73],
                        labels: ['National Average', 'Farmersville Overall', 'Farmersville Housing'],
                    }
                }
            }
        };

        let marketChart, secondaryChart;

        const chartColors = {
            primary: 'rgba(65, 72, 51, 0.8)',
            secondary: 'rgba(163, 177, 138, 0.8)',
            accent: 'rgba(88, 129, 87, 0.8)',
            light: 'rgba(245, 245, 243, 0.8)',
            border: 'rgba(65, 72, 51, 1)'
        };

        function createMarketChart(data, labels) {
            const ctx = document.getElementById('marketChart').getContext('2d');
            if (marketChart) {
                marketChart.destroy();
            }
            marketChart = new Chart(ctx, {
                type: 'bar',
                data: {
                    labels: labels,
                    datasets: [{
                        label: 'Price ($)',
                        data: data,
                        backgroundColor: [chartColors.accent, chartColors.secondary, chartColors.primary, chartColors.primary],
                        borderColor: chartColors.border,
                        borderWidth: 1,
                        borderRadius: 5,
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    plugins: {
                        legend: { display: false },
                        tooltip: {
                            callbacks: {
                                label: function(context) {
                                    let label = context.dataset.label || '';
                                    if (label) {
                                        label += ': ';
                                    }
                                    if (context.parsed.y !== null) {
                                        label += new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 0 }).format(context.parsed.y);
                                    }
                                    return label;
                                }
                            }
                        }
                    },
                    scales: {
                        y: {
                            beginAtZero: true,
                            ticks: {
                                callback: function(value, index, values) {
                                    return '$' + (value / 1000) + 'K';
                                }
                            }
                        }
                    }
                }
            });
        }

        function createSecondaryChart(config) {
            const container = document.getElementById('secondary-chart-container');
            container.style.display = 'block';
            const ctx = document.getElementById('secondaryChart').getContext('2d');
            if (secondaryChart) {
                secondaryChart.destroy();
            }
            
            let chartOptions = {
                responsive: true,
                maintainAspectRatio: false,
                plugins: {
                    legend: {
                        position: 'top',
                    },
                    tooltip: {
                        callbacks: {
                            label: function(context) {
                                let label = context.label || '';
                                if (label) {
                                    label += ': ';
                                }
                                if (context.parsed !== null) {
                                    const value = context.parsed.y ?? context.parsed;
                                    label += config.type === 'doughnut' 
                                        ? new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 0 }).format(value)
                                        : value + '%';
                                }
                                return label;
                            }
                        }
                    }
                }
            };
            
            if(config.type === 'bar') {
                chartOptions.scales = {
                    y: {
                        beginAtZero: true,
                        max: 100,
                        ticks: {
                            callback: function(value) { return value + (config.labels[0].includes('%') ? '%' : '') }
                        }
                    }
                }
            }


            secondaryChart = new Chart(ctx, {
                type: config.type,
                data: {
                    labels: config.labels,
                    datasets: [{
                        label: config.title,
                        data: config.data,
                        backgroundColor: [chartColors.primary, chartColors.secondary, chartColors.accent],
                        borderColor: chartColors.light,
                        borderWidth: config.type === 'doughnut' ? 3 : 1,
                    }]
                },
                options: chartOptions
            });
        }

        function updateContent(persona) {
            const data = personaData[persona];
            const contentArea = document.getElementById('content-area');
            contentArea.classList.remove('fade-in');
            void contentArea.offsetWidth; 
            contentArea.classList.add('fade-in');

            document.getElementById('narrative-title').textContent = data.narrative.title;
            document.getElementById('narrative-text').textContent = data.narrative.text;

            const featuresGrid = document.getElementById('features-grid');
            featuresGrid.innerHTML = '';
            data.features.forEach(feature => {
                const featureEl = document.createElement('div');
                featureEl.className = 'bg-white p-6 rounded-xl shadow-md flex items-start gap-4';
                featureEl.innerHTML = `
                    <div class="text-3xl">${feature.icon}</div>
                    <div>
                        <h4 class="font-bold text-lg text-slate-800">${feature.title}</h4>
                        <p class="text-slate-600">${feature.text}</p>
                    </div>
                `;
                featuresGrid.appendChild(featureEl);
            });

            document.getElementById('lifestyle-title').textContent = data.lifestyle.title;
            document.getElementById('lifestyle-text').textContent = data.lifestyle.text;

            createMarketChart(data.charts.market.data, data.charts.market.labels);
            
            document.getElementById('secondary-chart-title').textContent = data.charts.secondary.title;
            document.getElementById('secondary-chart-desc').textContent = data.charts.secondary.desc;
            createSecondaryChart(data.charts.secondary);

            document.querySelectorAll('.persona-btn').forEach(btn => btn.classList.remove('active'));
            document.getElementById(`btn-${persona}`).classList.add('active');
        }

        document.addEventListener('DOMContentLoaded', () => {
            document.getElementById('btn-family').addEventListener('click', () => updateContent('family'));
            document.getElementById('btn-aspirant').addEventListener('click', () => updateContent('aspirant'));
            document.getElementById('btn-downsizer').addEventListener('click', () => updateContent('downsizer'));

            updateContent('family');
        });
    </script>
</body>
</html>
�