{"id":36553,"date":"2026-10-15T14:48:34","date_gmt":"2026-10-15T20:48:34","guid":{"rendered":"https:\/\/mexpatrealtors.com\/?page_id=36553"},"modified":"2026-10-15T15:28:31","modified_gmt":"2026-10-15T21:28:31","slug":"rent-vs-buy-simulator","status":"publish","type":"page","link":"https:\/\/mexpatrealtors.com\/fr\/rent-vs-buy-simulator\/","title":{"rendered":"Simulateur de location contre achat"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"36553\" class=\"elementor elementor-36553\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1dc831b e-flex e-con-boxed e-con e-parent\" data-id=\"1dc831b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-12196e1 elementor-widget elementor-widget-html\" data-id=\"12196e1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- BILINGUAL RENT VS BUY PAGE CONTAINER -->\r\n<div class=\"w-full max-w-5xl mx-auto space-y-8 my-4\">\r\n\r\n  <!-- 1. BILINGUAL HEADER GRAPHIC -->\r\n  <iframe \r\n    srcdoc=\"<!DOCTYPE html><html><head><meta charset='UTF-8'><script src='https:\/\/cdn.tailwindcss.com'><\/script><link rel='stylesheet' href='https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css'><style>body{margin:0;font-family:sans-serif;background:transparent;}<\/style><\/head><body>\r\n    <div class='bg-[#0f172a] text-white rounded-2xl p-6 sm:p-10 border border-slate-800 shadow-2xl max-w-5xl mx-auto'>\r\n      <div class='flex justify-center mb-4'>\r\n        <div class='inline-flex items-center gap-2 bg-[#0f172a] border border-emerald-500\/40 px-4 py-1.5 rounded-full text-[11px] font-semibold text-emerald-400 uppercase tracking-wider shadow-sm'>\r\n          <i class='fa-solid fa-sliders text-xs'><\/i>\r\n          <span>INTERACTIVE FINANCIAL TOOL \/ HERRAMIENTA INTERACTIVA<\/span>\r\n        <\/div>\r\n      <\/div>\r\n      <h1 class='text-3xl sm:text-5xl font-extrabold text-white text-center tracking-tight leading-tight mb-2'>Rent vs. Buy Simulator<\/h1>\r\n      <div class='text-xl sm:text-3xl font-bold text-emerald-400 text-center mb-8'>Simulador: Rentar vs. Comprar<\/div>\r\n      <div class='w-full h-px bg-slate-800\/80 mb-8'><\/div>\r\n      <div class='grid grid-cols-1 md:grid-cols-2 gap-6 mb-8'>\r\n        <div class='bg-[#131d31] p-5 rounded-xl border border-slate-700\/50 text-left'>\r\n          <div class='flex items-center gap-2 mb-2'>\r\n            <span class='text-[10px] font-bold text-emerald-400 bg-emerald-950\/60 border border-emerald-500\/30 px-1.5 py-0.5 rounded uppercase'>US<\/span>\r\n            <span class='text-xs font-bold text-emerald-400 uppercase tracking-wider'>ENGLISH VERSION BELOW<\/span>\r\n          <\/div>\r\n          <p class='text-slate-300 text-xs sm:text-sm font-normal leading-relaxed'>Calculate and compare your 10-year net wealth projection for buying vs. renting. Factors in mortgage interest, down payments, HOA fees, property appreciation, and investment returns.<\/p>\r\n        <\/div>\r\n        <div class='bg-[#131d31] p-5 rounded-xl border border-slate-700\/50 text-left'>\r\n          <div class='flex items-center gap-2 mb-2'>\r\n            <span class='text-[10px] font-bold text-emerald-400 bg-emerald-950\/60 border border-emerald-500\/30 px-1.5 py-0.5 rounded uppercase'>MX<\/span>\r\n            <span class='text-xs font-bold text-emerald-400 uppercase tracking-wider'>VERSI\u00d3N EN ESPA\u00d1OL ABAJO<\/span>\r\n          <\/div>\r\n          <p class='text-slate-300 text-xs sm:text-sm font-normal leading-relaxed'>Calcula y compara la proyecci\u00f3n de tu patrimonio neto a 10 a\u00f1os entre comprar y rentar. Considera intereses hipotecarios, enganche, plusval\u00eda, mantenimiento y rendimientos de inversi\u00f3n.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class='flex flex-wrap justify-center items-center gap-4'>\r\n        <button onclick='window.parent.document.getElementById(&quot;eng-sim-frame&quot;).scrollIntoView({behavior:&quot;smooth&quot;})' class='bg-[#ed1c24] hover:bg-red-700 text-white font-bold text-xs sm:text-sm px-6 py-3 rounded-xl transition duration-200 flex items-center gap-2 shadow-lg shadow-red-600\/30 border border-red-400\/30 cursor-pointer'>\r\n          <i class='fa-solid fa-arrow-down text-xs'><\/i> Jump To English Simulator\r\n        <\/button>\r\n        <button onclick='window.parent.document.getElementById(&quot;esp-sim-frame&quot;).scrollIntoView({behavior:&quot;smooth&quot;})' class='bg-[#ed1c24] hover:bg-red-700 text-white font-bold text-xs sm:text-sm px-6 py-3 rounded-xl transition duration-200 flex items-center gap-2 shadow-lg shadow-red-600\/30 border border-red-400\/30 cursor-pointer'>\r\n          <i class='fa-solid fa-arrow-down text-xs'><\/i> Ir Al Simulador En Espa\u00f1ol\r\n        <\/button>\r\n      <\/div>\r\n    <\/div><\/body><\/html>\"\r\n    width=\"100%\" \r\n    height=\"480px\" \r\n    style=\"border:none; width:100%; height:480px;\" \r\n    title=\"Header\">\r\n  <\/iframe>\r\n\r\n  <!-- 2. ENGLISH SIMULATOR -->\r\n  <div id=\"eng-sim-frame\" class=\"scroll-mt-6\">\r\n    <iframe \r\n      srcdoc=\"<!DOCTYPE html><html><head><meta charset='UTF-8'><script src='https:\/\/cdn.tailwindcss.com'><\/script><script src='https:\/\/cdn.jsdelivr.net\/npm\/chart.js'><\/script><link rel='stylesheet' href='https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css'><style>body{margin:0;font-family:sans-serif;background:transparent;}input[type=range]{accent-color:#22c55e;}<\/style><\/head><body class='p-2 bg-slate-50'>\r\n      <div class='bg-slate-50 text-slate-800 p-4 sm:p-6 rounded-2xl border border-slate-200\/80 shadow-sm'>\r\n        <header class='bg-slate-900 text-white p-4 sm:p-5 rounded-xl flex justify-between items-center mb-6 shadow-md'>\r\n          <div class='flex items-center space-x-3'>\r\n            <div class='bg-emerald-500 p-2.5 rounded-xl text-white shadow-lg'><i class='fa-solid fa-calculator text-xl'><\/i><\/div>\r\n            <div>\r\n              <div class='text-lg sm:text-xl font-bold text-white leading-tight'>Rent vs. Buy Simulator<\/div>\r\n              <div class='text-xs text-slate-400'>Comprehensive 10-Year Financial Comparison<\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <button id='reset-btn' type='button' class='text-xs text-slate-300 hover:text-white bg-slate-800 px-3 py-1.5 rounded-lg border border-slate-700 flex items-center gap-1.5 cursor-pointer'><i class='fa-solid fa-rotate-left'><\/i> Reset Defaults<\/button>\r\n        <\/header>\r\n        <div class='grid grid-cols-1 lg:grid-cols-12 gap-6'>\r\n          <aside class='lg:col-span-5 bg-white p-5 rounded-2xl shadow-sm border border-slate-200 flex flex-col gap-5'>\r\n            <div class='bg-slate-50 p-4 rounded-xl border border-slate-100'>\r\n              <div class='flex justify-between items-center mb-2'>\r\n                <label class='text-xs font-semibold text-slate-700 flex items-center gap-2'><i class='fa-regular fa-clock text-emerald-600'><\/i> Evaluation Timeline<\/label>\r\n                <span id='timeline-val' class='text-xs font-bold bg-emerald-100 text-emerald-800 px-2.5 py-0.5 rounded-full'>10 Years<\/span>\r\n              <\/div>\r\n              <input type='range' id='timeline' min='1' max='10' value='10' step='1' class='w-full h-2 bg-slate-200 rounded-lg cursor-pointer'>\r\n            <\/div>\r\n            <div class='border-b border-slate-200'>\r\n              <nav class='flex space-x-3'>\r\n                <button type='button' id='tab-buy' class='tab-btn border-emerald-500 text-emerald-600 font-semibold border-b-2 py-2 px-1 text-xs flex items-center gap-1.5 cursor-pointer' onclick='switchTab(&quot;buy&quot;)'><i class='fa-solid fa-house'><\/i> Buying<\/button>\r\n                <button type='button' id='tab-rent' class='tab-btn border-transparent text-slate-500 font-medium border-b-2 py-2 px-1 text-xs flex items-center gap-1.5 cursor-pointer' onclick='switchTab(&quot;rent&quot;)'><i class='fa-solid fa-key'><\/i> Renting<\/button>\r\n                <button type='button' id='tab-macro' class='tab-btn border-transparent text-slate-500 font-medium border-b-2 py-2 px-1 text-xs flex items-center gap-1.5 cursor-pointer' onclick='switchTab(&quot;macro&quot;)'><i class='fa-solid fa-chart-line'><\/i> Market & Taxes<\/button>\r\n              <\/nav>\r\n            <\/div>\r\n            <form id='sim-form' onsubmit='event.preventDefault();' class='space-y-4'>\r\n              <div id='content-buy' class='tab-content space-y-4'>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Purchase Price<\/span><span id='homePrice-val' class='font-bold text-slate-900'>$450,000<\/span><\/div><input type='range' id='homePrice' min='100000' max='1500000' step='10000' value='450000' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Down Payment (%)<\/span><span id='downPaymentPercent-val' class='font-bold text-slate-900'>20% ($90,000)<\/span><\/div><input type='range' id='downPaymentPercent' min='0' max='50' step='1' value='20' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Mortgage Rate (%)<\/span><span id='mortgageRate-val' class='font-bold text-slate-900'>6.5%<\/span><\/div><input type='range' id='mortgageRate' min='2' max='12' step='0.1' value='6.5' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Monthly HOA Fee<\/span><span id='hoaMonthly-val' class='font-bold text-slate-900'>$250\/mo<\/span><\/div><input type='range' id='hoaMonthly' min='0' max='1500' step='25' value='250' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Property Tax Rate (%)<\/span><span id='propertyTaxRate-val' class='font-bold text-slate-900'>1.2%<\/span><\/div><input type='range' id='propertyTaxRate' min='0.2' max='3.5' step='0.1' value='1.2' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div class='grid grid-cols-2 gap-3 pt-1'>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Annual Maint. (%)<\/label><input type='number' id='maintenanceRate' value='1.0' step='0.1' min='0' max='5' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Annual Ins. ($)<\/label><input type='number' id='homeInsurance' value='1800' step='100' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                <\/div>\r\n                <div class='grid grid-cols-2 gap-3'>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Closing Costs (%)<\/label><input type='number' id='buyingClosingCosts' value='2.5' step='0.1' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Selling Costs (%)<\/label><input type='number' id='sellingCosts' value='6.0' step='0.1' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <div id='content-rent' class='tab-content hidden space-y-4'>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Monthly Rent<\/span><span id='monthlyRent-val' class='font-bold text-slate-900'>$2,400<\/span><\/div><input type='range' id='monthlyRent' min='500' max='8000' step='50' value='2400' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Annual Rent Increase (%)<\/span><span id='rentIncreaseRate-val' class='font-bold text-slate-900'>3.5%<\/span><\/div><input type='range' id='rentIncreaseRate' min='0' max='10' step='0.1' value='3.5' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div class='grid grid-cols-2 gap-3 pt-1'>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Renters Ins. ($\/mo)<\/label><input type='number' id='rentersInsurance' value='20' step='5' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Deposit ($)<\/label><input type='number' id='securityDeposit' value='2400' step='100' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <div id='content-macro' class='tab-content hidden space-y-4'>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Investment Return (%)<\/span><span id='investmentReturnRate-val' class='font-bold text-slate-900'>7.0%<\/span><\/div><input type='range' id='investmentReturnRate' min='1' max='12' step='0.1' value='7.0' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Home Appreciation (%)<\/span><span id='homeAppreciationRate-val' class='font-bold text-slate-900'>4.0%<\/span><\/div><input type='range' id='homeAppreciationRate' min='0' max='10' step='0.1' value='4.0' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div class='border-t border-slate-100 pt-2'><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Tax Rate (%)<\/span><span id='marginalTaxRate-val' class='font-bold text-slate-900'>24%<\/span><\/div><input type='range' id='marginalTaxRate' min='10' max='40' step='1' value='24' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div class='grid grid-cols-2 gap-3'>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Filing Status<\/label><select id='filingStatus' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><option value='single'>Single ($14.6k)<\/option><option value='married' selected>Married ($29.2k)<\/option><\/select><\/div>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Inflation (%)<\/label><input type='number' id='inflationRate' value='2.5' step='0.1' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/form>\r\n          <\/aside>\r\n          <section class='lg:col-span-7 flex flex-col gap-5'>\r\n            <div id='verdict-card' class='bg-slate-900 text-white p-5 rounded-2xl border border-slate-800 shadow-md flex flex-col sm:flex-row items-center justify-between gap-4'>\r\n              <div class='space-y-1 text-center sm:text-left'>\r\n                <span class='text-[10px] font-semibold tracking-wider uppercase text-emerald-400'>10-Year Financial Winner<\/span>\r\n                <div id='verdict-title' class='text-xl sm:text-2xl font-bold text-white'>Buying is Better by $45,210<\/div>\r\n                <div id='verdict-subtitle' class='text-xs text-slate-300'>Higher net wealth over 10 years after selling costs.<\/div>\r\n              <\/div>\r\n              <div class='text-center sm:text-right bg-slate-800 px-4 py-2.5 rounded-xl border border-slate-700 min-w-[100px]'>\r\n                <div class='text-[10px] text-slate-400 uppercase font-medium'>Break-even<\/div>\r\n                <div id='breakeven-year' class='text-lg font-bold text-emerald-400'>Year 4<\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class='grid grid-cols-3 gap-3'>\r\n              <div class='bg-white p-3.5 rounded-xl border border-slate-200 shadow-sm'><div class='text-[11px] text-slate-500 font-medium mb-1'>Buyer Net Worth<\/div><div id='buyer-networth' class='text-base font-bold text-slate-900'>$215,400<\/div><div id='buyer-equity' class='text-[10px] text-slate-400 mt-0.5'>Includes equity<\/div><\/div>\r\n              <div class='bg-white p-3.5 rounded-xl border border-slate-200 shadow-sm'><div class='text-[11px] text-slate-500 font-medium mb-1'>Renter Net Worth<\/div><div id='renter-networth' class='text-base font-bold text-slate-900'>$170,190<\/div><div id='renter-inv' class='text-[10px] text-slate-400 mt-0.5'>From portfolio<\/div><\/div>\r\n              <div class='bg-white p-3.5 rounded-xl border border-slate-200 shadow-sm'><div class='text-[11px] text-slate-500 font-medium mb-1'>Tax Savings<\/div><div id='tax-savings' class='text-base font-bold text-slate-900'>$18,400<\/div><div class='text-[10px] text-slate-400 mt-0.5'>Itemized<\/div><\/div>\r\n            <\/div>\r\n            <div class='bg-white p-4 rounded-2xl border border-slate-200 shadow-sm'>\r\n              <div class='text-sm font-bold text-slate-900 mb-3'>10-Year Net Wealth Trajectory<\/div>\r\n              <div style='position: relative; height: 250px; width: 100%;'><canvas id='wealthChart'><\/canvas><\/div>\r\n            <\/div>\r\n            <div class='bg-white p-4 rounded-xl border border-slate-200 shadow-sm'>\r\n              <div class='text-[11px] font-bold text-slate-800 uppercase tracking-wider mb-2 pb-1.5 border-b border-slate-100'>Year 1 Monthly Outflow<\/div>\r\n              <div class='space-y-1 text-xs'>\r\n                <div class='flex justify-between'><span class='text-slate-600'>P&I Payment:<\/span><span id='m-pi' class='font-semibold'>$0<\/span><\/div>\r\n                <div class='flex justify-between'><span class='text-slate-600'>Property Tax & Ins:<\/span><span id='m-tax-ins' class='font-semibold'>$0<\/span><\/div>\r\n                <div class='flex justify-between'><span class='text-slate-600'>HOA & Maintenance:<\/span><span id='m-hoa-maint' class='font-semibold'>$0<\/span><\/div>\r\n                <div class='flex justify-between pt-1 border-t border-slate-100 text-slate-900 font-bold'><span>Total Monthly Outflow:<\/span><span id='m-total'>$0<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/section>\r\n        <\/div>\r\n      <\/div>\r\n      <script>\r\n        const inputs=['timeline','homePrice','downPaymentPercent','mortgageRate','hoaMonthly','propertyTaxRate','maintenanceRate','homeInsurance','buyingClosingCosts','sellingCosts','monthlyRent','rentIncreaseRate','rentersInsurance','securityDeposit','investmentReturnRate','homeAppreciationRate','marginalTaxRate','filingStatus','inflationRate'];\r\n        let chart=null;\r\n        function switchTab(t){document.querySelectorAll('.tab-btn').forEach(b=>{b.classList.remove('border-emerald-500','text-emerald-600','font-semibold');b.classList.add('border-transparent','text-slate-500');});document.querySelectorAll('.tab-content').forEach(c=>c.classList.add('hidden'));document.getElementById('tab-'+t).classList.add('border-emerald-500','text-emerald-600','font-semibold');document.getElementById('content-'+t).classList.remove('hidden');}\r\n        function fmt(v){return new Intl.NumberFormat('en-US',{style:'currency',currency:'USD',maximumFractionDigits:0}).format(v);}\r\n        function getParams(){const p={};inputs.forEach(id=>{const el=document.getElementById(id);if(el)p[id]=el.type==='select-one'?el.value:parseFloat(el.value)||0;});return p;}\r\n        function calculateSim(){const p=getParams();document.getElementById('timeline-val').innerText=p.timeline+' Years';document.getElementById('homePrice-val').innerText=fmt(p.homePrice);document.getElementById('downPaymentPercent-val').innerText=p.downPaymentPercent+'% ('+fmt(p.homePrice*(p.downPaymentPercent\/100))+')';document.getElementById('mortgageRate-val').innerText=p.mortgageRate.toFixed(1)+'%';document.getElementById('hoaMonthly-val').innerText=fmt(p.hoaMonthly)+'\/mo';document.getElementById('propertyTaxRate-val').innerText=p.propertyTaxRate.toFixed(1)+'%';document.getElementById('monthlyRent-val').innerText=fmt(p.monthlyRent)+'\/mo';document.getElementById('rentIncreaseRate-val').innerText=p.rentIncreaseRate.toFixed(1)+'%';document.getElementById('investmentReturnRate-val').innerText=p.investmentReturnRate.toFixed(1)+'%';document.getElementById('homeAppreciationRate-val').innerText=p.homeAppreciationRate.toFixed(1)+'%';document.getElementById('marginalTaxRate-val').innerText=p.marginalTaxRate+'%';\r\n        const loanAmt=p.homePrice*(1-p.downPaymentPercent\/100);const r=p.mortgageRate\/100\/12;const mPI=loanAmt>0?(loanAmt*(r*Math.pow(1+r,360)))\/(Math.pow(1+r,360)-1):0;const initialClosing=p.homePrice*(p.buyingClosingCosts\/100);const initialBuyCap=(p.homePrice*(p.downPaymentPercent\/100))+initialClosing;let renterInv=Math.max(0,initialBuyCap-p.securityDeposit);const buyerNW=[p.homePrice*(p.downPaymentPercent\/100)-initialClosing];const renterNW=[renterInv];let homeVal=p.homePrice;let loanBal=loanAmt;let rentMonthly=p.monthlyRent;let taxSavCum=0;const stdDed=p.filingStatus==='married'?29200:14600;let breakeven=null;\r\n        for(let yr=1;yr<=p.timeline;yr++){let annInt=0,annTax=0;for(let m=1;m<=12;m++){const intM=loanBal*r;const prinM=mPI-intM;loanBal=Math.max(0,loanBal-prinM);annInt+=intM;const taxM=(homeVal*(p.propertyTaxRate\/100))\/12;annTax+=taxM;const totalBuy=mPI+taxM+(p.homeInsurance\/12)+((homeVal*(p.maintenanceRate\/100))\/12)+p.hoaMonthly;const totalRent=rentMonthly+p.rentersInsurance;const diff=totalBuy-totalRent;renterInv=renterInv*(1+(Math.pow(1+p.investmentReturnRate\/100,1\/12)-1))+diff;}homeVal*=(1+p.homeAppreciationRate\/100);rentMonthly*=(1+p.rentIncreaseRate\/100);const taxSav=Math.max(0,((annInt+Math.min(10000,annTax))-stdDed)*(p.marginalTaxRate\/100));taxSavCum+=taxSav;const bNW=(homeVal-loanBal-(homeVal*(p.sellingCosts\/100)));buyerNW.push(bNW);renterNW.push(renterInv);if(breakeven===null&&bNW>renterInv)breakeven=yr;}\r\n        const diffNW=buyerNW[p.timeline]-renterNW[p.timeline];document.getElementById('verdict-title').innerText=diffNW>0?'Buying is Better by '+fmt(diffNW):'Renting is Better by '+fmt(Math.abs(diffNW));document.getElementById('breakeven-year').innerText=breakeven?'Year '+breakeven:'10+ Years';document.getElementById('buyer-networth').innerText=fmt(buyerNW[p.timeline]);document.getElementById('renter-networth').innerText=fmt(renterNW[p.timeline]);document.getElementById('tax-savings').innerText=fmt(taxSavCum);\r\n        const mTI=(p.homePrice*(p.propertyTaxRate\/100)\/12)+(p.homeInsurance\/12);const mHM=p.hoaMonthly+(p.homePrice*(p.maintenanceRate\/100)\/12);document.getElementById('m-pi').innerText=fmt(mPI);document.getElementById('m-tax-ins').innerText=fmt(mTI);document.getElementById('m-hoa-maint').innerText=fmt(mHM);document.getElementById('m-total').innerText=fmt(mPI+mTI+mHM);renderChart(buyerNW,renterNW,p.timeline);}\r\n        function renderChart(bD,rD,y){const ctx=document.getElementById('wealthChart').getContext('2d');const l=Array.from({length:y+1},(_,i)=>i===0?'Start':'Yr '+i);if(chart)chart.destroy();chart=new Chart(ctx,{type:'line',data:{labels:l,datasets:[{label:'Buyer Net Worth',data:bD,borderColor:'#22c55e',backgroundColor:'rgba(34,197,94,0.1)',fill:true,tension:0.3},{label:'Renter Net Worth',data:rD,borderColor:'#3b82f6',backgroundColor:'rgba(59,130,246,0.1)',fill:true,tension:0.3}]},options:{responsive:true,maintainAspectRatio:false,scales:{y:{ticks:{callback:v=>'$'+(v\/1000).toFixed(0)+'k'}}}}});}\r\n        inputs.forEach(id=>{const el=document.getElementById(id);if(el){el.addEventListener('input',calculateSim);el.addEventListener('change',calculateSim);}});document.getElementById('reset-btn').addEventListener('click',()=>calculateSim());calculateSim();\r\n      <\/script><\/body><\/html>\"\r\n      width=\"100%\" \r\n      height=\"880px\" \r\n      style=\"border:none; width:100%; height:880px;\" \r\n      title=\"English Simulator\">\r\n    <\/iframe>\r\n  <\/div>\r\n\r\n  <!-- 3. SPANISH SIMULATOR -->\r\n  <div id=\"esp-sim-frame\" class=\"scroll-mt-6\">\r\n    <iframe \r\n      srcdoc=\"<!DOCTYPE html><html><head><meta charset='UTF-8'><script src='https:\/\/cdn.tailwindcss.com'><\/script><script src='https:\/\/cdn.jsdelivr.net\/npm\/chart.js'><\/script><link rel='stylesheet' href='https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css'><style>body{margin:0;font-family:sans-serif;background:transparent;}input[type=range]{accent-color:#22c55e;}<\/style><\/head><body class='p-2 bg-slate-50'>\r\n      <div class='bg-slate-50 text-slate-800 p-4 sm:p-6 rounded-2xl border border-slate-200\/80 shadow-sm'>\r\n        <header class='bg-slate-900 text-white p-4 sm:p-5 rounded-xl flex justify-between items-center mb-6 shadow-md'>\r\n          <div class='flex items-center space-x-3'>\r\n            <div class='bg-emerald-500 p-2.5 rounded-xl text-white shadow-lg'><i class='fa-solid fa-calculator text-xl'><\/i><\/div>\r\n            <div>\r\n              <div class='text-lg sm:text-xl font-bold text-white leading-tight'>Simulador: Rentar vs. Comprar<\/div>\r\n              <div class='text-xs text-slate-400'>Comparaci\u00f3n Financiera Proyectada a 10 A\u00f1os<\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <button id='reset-btn' type='button' class='text-xs text-slate-300 hover:text-white bg-slate-800 px-3 py-1.5 rounded-lg border border-slate-700 flex items-center gap-1.5 cursor-pointer'><i class='fa-solid fa-rotate-left'><\/i> Restablecer<\/button>\r\n        <\/header>\r\n        <div class='grid grid-cols-1 lg:grid-cols-12 gap-6'>\r\n          <aside class='lg:col-span-5 bg-white p-5 rounded-2xl shadow-sm border border-slate-200 flex flex-col gap-5'>\r\n            <div class='bg-slate-50 p-4 rounded-xl border border-slate-100'>\r\n              <div class='flex justify-between items-center mb-2'>\r\n                <label class='text-xs font-semibold text-slate-700 flex items-center gap-2'><i class='fa-regular fa-clock text-emerald-600'><\/i> Plazo de Evaluaci\u00f3n<\/label>\r\n                <span id='timeline-val' class='text-xs font-bold bg-emerald-100 text-emerald-800 px-2.5 py-0.5 rounded-full'>10 A\u00f1os<\/span>\r\n              <\/div>\r\n              <input type='range' id='timeline' min='1' max='10' value='10' step='1' class='w-full h-2 bg-slate-200 rounded-lg cursor-pointer'>\r\n            <\/div>\r\n            <div class='border-b border-slate-200'>\r\n              <nav class='flex space-x-3'>\r\n                <button type='button' id='tab-buy' class='tab-btn border-emerald-500 text-emerald-600 font-semibold border-b-2 py-2 px-1 text-xs flex items-center gap-1.5 cursor-pointer' onclick='switchTab(&quot;buy&quot;)'><i class='fa-solid fa-house'><\/i> Comprar<\/button>\r\n                <button type='button' id='tab-rent' class='tab-btn border-transparent text-slate-500 font-medium border-b-2 py-2 px-1 text-xs flex items-center gap-1.5 cursor-pointer' onclick='switchTab(&quot;rent&quot;)'><i class='fa-solid fa-key'><\/i> Rentar<\/button>\r\n                <button type='button' id='tab-macro' class='tab-btn border-transparent text-slate-500 font-medium border-b-2 py-2 px-1 text-xs flex items-center gap-1.5 cursor-pointer' onclick='switchTab(&quot;macro&quot;)'><i class='fa-solid fa-chart-line'><\/i> Mercado e Impuestos<\/button>\r\n              <\/nav>\r\n            <\/div>\r\n            <form id='sim-form' onsubmit='event.preventDefault();' class='space-y-4'>\r\n              <div id='content-buy' class='tab-content space-y-4'>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Precio de Compra<\/span><span id='homePrice-val' class='font-bold text-slate-900'>$450,000<\/span><\/div><input type='range' id='homePrice' min='100000' max='1500000' step='10000' value='450000' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Enganche (%)<\/span><span id='downPaymentPercent-val' class='font-bold text-slate-900'>20% ($90,000)<\/span><\/div><input type='range' id='downPaymentPercent' min='0' max='50' step='1' value='20' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Tasa Hipotecaria (%)<\/span><span id='mortgageRate-val' class='font-bold text-slate-900'>6.5%<\/span><\/div><input type='range' id='mortgageRate' min='2' max='12' step='0.1' value='6.5' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Mantenimiento Mensual<\/span><span id='hoaMonthly-val' class='font-bold text-slate-900'>$250\/mes<\/span><\/div><input type='range' id='hoaMonthly' min='0' max='1500' step='25' value='250' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Impuesto Predial (%)<\/span><span id='propertyTaxRate-val' class='font-bold text-slate-900'>1.2%<\/span><\/div><input type='range' id='propertyTaxRate' min='0.2' max='3.5' step='0.1' value='1.2' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div class='grid grid-cols-2 gap-3 pt-1'>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Mantenimiento Anual (%)<\/label><input type='number' id='maintenanceRate' value='1.0' step='0.1' min='0' max='5' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Seguro Anual ($)<\/label><input type='number' id='homeInsurance' value='1800' step='100' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                <\/div>\r\n                <div class='grid grid-cols-2 gap-3'>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Gastos de Cierre (%)<\/label><input type='number' id='buyingClosingCosts' value='2.5' step='0.1' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Comisi\u00f3n Venta (%)<\/label><input type='number' id='sellingCosts' value='6.0' step='0.1' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <div id='content-rent' class='tab-content hidden space-y-4'>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Renta Mensual Inicial<\/span><span id='monthlyRent-val' class='font-bold text-slate-900'>$2,400<\/span><\/div><input type='range' id='monthlyRent' min='500' max='8000' step='50' value='2400' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Aumento Anual de Renta (%)<\/span><span id='rentIncreaseRate-val' class='font-bold text-slate-900'>3.5%<\/span><\/div><input type='range' id='rentIncreaseRate' min='0' max='10' step='0.1' value='3.5' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div class='grid grid-cols-2 gap-3 pt-1'>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Seguro Inquilino ($\/mes)<\/label><input type='number' id='rentersInsurance' value='20' step='5' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Dep\u00f3sito Garant\u00eda ($)<\/label><input type='number' id='securityDeposit' value='2400' step='100' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <div id='content-macro' class='tab-content hidden space-y-4'>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Rendimiento Inversi\u00f3n (%)<\/span><span id='investmentReturnRate-val' class='font-bold text-slate-900'>7.0%<\/span><\/div><input type='range' id='investmentReturnRate' min='1' max='12' step='0.1' value='7.0' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Plusval\u00eda (%)<\/span><span id='homeAppreciationRate-val' class='font-bold text-slate-900'>4.0%<\/span><\/div><input type='range' id='homeAppreciationRate' min='0' max='10' step='0.1' value='4.0' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div class='border-t border-slate-100 pt-2'><div class='flex justify-between text-xs font-medium text-slate-600 mb-1'><span>Tasa Marginal Fiscal (%)<\/span><span id='marginalTaxRate-val' class='font-bold text-slate-900'>24%<\/span><\/div><input type='range' id='marginalTaxRate' min='10' max='40' step='1' value='24' class='w-full h-1.5 bg-slate-200 rounded-lg cursor-pointer'><\/div>\r\n                <div class='grid grid-cols-2 gap-3'>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Estado Civil<\/label><select id='filingStatus' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><option value='single'>Soltero(a) ($14.6k)<\/option><option value='married' selected>Casado(a) ($29.2k)<\/option><\/select><\/div>\r\n                  <div><label class='block text-[11px] font-medium text-slate-500 mb-1'>Inflaci\u00f3n (%)<\/label><input type='number' id='inflationRate' value='2.5' step='0.1' min='0' class='w-full text-xs p-2 border border-slate-200 rounded-lg'><\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/form>\r\n          <\/aside>\r\n          <section class='lg:col-span-7 flex flex-col gap-5'>\r\n            <div id='verdict-card' class='bg-slate-900 text-white p-5 rounded-2xl border border-slate-800 shadow-md flex flex-col sm:flex-row items-center justify-between gap-4'>\r\n              <div class='space-y-1 text-center sm:text-left'>\r\n                <span class='text-[10px] font-semibold tracking-wider uppercase text-emerald-400'>Ganador Financiero a 10 A\u00f1os<\/span>\r\n                <div id='verdict-title' class='text-xl sm:text-2xl font-bold text-white'>Comprar es Mejor por $45,210<\/div>\r\n                <div id='verdict-subtitle' class='text-xs text-slate-300'>Comprar genera un patrimonio neto superior a 10 a\u00f1os.<\/div>\r\n              <\/div>\r\n              <div class='text-center sm:text-right bg-slate-800 px-4 py-2.5 rounded-xl border border-slate-700 min-w-[100px]'>\r\n                <div class='text-[10px] text-slate-400 uppercase font-medium'>Equilibrio<\/div>\r\n                <div id='breakeven-year' class='text-lg font-bold text-emerald-400'>A\u00f1o 4<\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class='grid grid-cols-3 gap-3'>\r\n              <div class='bg-white p-3.5 rounded-xl border border-slate-200 shadow-sm'><div class='text-[11px] text-slate-500 font-medium mb-1'>Patrimonio Comprador<\/div><div id='buyer-networth' class='text-base font-bold text-slate-900'>$215,400<\/div><div id='buyer-equity' class='text-[10px] text-slate-400 mt-0.5'>Incluye plusval\u00eda<\/div><\/div>\r\n              <div class='bg-white p-3.5 rounded-xl border border-slate-200 shadow-sm'><div class='text-[11px] text-slate-500 font-medium mb-1'>Patrimonio Inquilino<\/div><div id='renter-networth' class='text-base font-bold text-slate-900'>$170,190<\/div><div id='renter-inv' class='text-[10px] text-slate-400 mt-0.5'>De portafolio<\/div><\/div>\r\n              <div class='bg-white p-3.5 rounded-xl border border-slate-200 shadow-sm'><div class='text-[11px] text-slate-500 font-medium mb-1'>Ahorro Fiscal<\/div><div id='tax-savings' class='text-base font-bold text-slate-900'>$18,400<\/div><div class='text-[10px] text-slate-400 mt-0.5'>Deducciones<\/div><\/div>\r\n            <\/div>\r\n            <div class='bg-white p-4 rounded-2xl border border-slate-200 shadow-sm'>\r\n              <div class='text-sm font-bold text-slate-900 mb-3'>Trayectoria del Patrimonio Neto (10 A\u00f1os)<\/div>\r\n              <div style='position: relative; height: 250px; width: 100%;'><canvas id='wealthChart'><\/canvas><\/div>\r\n            <\/div>\r\n            <div class='bg-white p-4 rounded-xl border border-slate-200 shadow-sm'>\r\n              <div class='text-[11px] font-bold text-slate-800 uppercase tracking-wider mb-2 pb-1.5 border-b border-slate-100'>Desglose Mensual A\u00f1o 1 (Comprar)<\/div>\r\n              <div class='space-y-1 text-xs'>\r\n                <div class='flex justify-between'><span class='text-slate-600'>Capital e Inter\u00e9s:<\/span><span id='m-pi' class='font-semibold'>$0<\/span><\/div>\r\n                <div class='flex justify-between'><span class='text-slate-600'>Predial y Seguro:<\/span><span id='m-tax-ins' class='font-semibold'>$0<\/span><\/div>\r\n                <div class='flex justify-between'><span class='text-slate-600'>Mantenimiento y Cuotas:<\/span><span id='m-hoa-maint' class='font-semibold'>$0<\/span><\/div>\r\n                <div class='flex justify-between pt-1 border-t border-slate-100 text-slate-900 font-bold'><span>Flujo Mensual Total:<\/span><span id='m-total'>$0<\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/section>\r\n        <\/div>\r\n      <\/div>\r\n      <script>\r\n        const inputs=['timeline','homePrice','downPaymentPercent','mortgageRate','hoaMonthly','propertyTaxRate','maintenanceRate','homeInsurance','buyingClosingCosts','sellingCosts','monthlyRent','rentIncreaseRate','rentersInsurance','securityDeposit','investmentReturnRate','homeAppreciationRate','marginalTaxRate','filingStatus','inflationRate'];\r\n        let chart=null;\r\n        function switchTab(t){document.querySelectorAll('.tab-btn').forEach(b=>{b.classList.remove('border-emerald-500','text-emerald-600','font-semibold');b.classList.add('border-transparent','text-slate-500');});document.querySelectorAll('.tab-content').forEach(c=>c.classList.add('hidden'));document.getElementById('tab-'+t).classList.add('border-emerald-500','text-emerald-600','font-semibold');document.getElementById('content-'+t).classList.remove('hidden');}\r\n        function fmt(v){return new Intl.NumberFormat('en-US',{style:'currency',currency:'USD',maximumFractionDigits:0}).format(v);}\r\n        function getParams(){const p={};inputs.forEach(id=>{const el=document.getElementById(id);if(el)p[id]=el.type==='select-one'?el.value:parseFloat(el.value)||0;});return p;}\r\n        function calculateSim(){const p=getParams();document.getElementById('timeline-val').innerText=p.timeline+' A\u00f1os';document.getElementById('homePrice-val').innerText=fmt(p.homePrice);document.getElementById('downPaymentPercent-val').innerText=p.downPaymentPercent+'% ('+fmt(p.homePrice*(p.downPaymentPercent\/100))+')';document.getElementById('mortgageRate-val').innerText=p.mortgageRate.toFixed(1)+'%';document.getElementById('hoaMonthly-val').innerText=fmt(p.hoaMonthly)+'\/mes';document.getElementById('propertyTaxRate-val').innerText=p.propertyTaxRate.toFixed(1)+'%';document.getElementById('monthlyRent-val').innerText=fmt(p.monthlyRent)+'\/mes';document.getElementById('rentIncreaseRate-val').innerText=p.rentIncreaseRate.toFixed(1)+'%';document.getElementById('investmentReturnRate-val').innerText=p.investmentReturnRate.toFixed(1)+'%';document.getElementById('homeAppreciationRate-val').innerText=p.homeAppreciationRate.toFixed(1)+'%';document.getElementById('marginalTaxRate-val').innerText=p.marginalTaxRate+'%';\r\n        const loanAmt=p.homePrice*(1-p.downPaymentPercent\/100);const r=p.mortgageRate\/100\/12;const mPI=loanAmt>0?(loanAmt*(r*Math.pow(1+r,360)))\/(Math.pow(1+r,360)-1):0;const initialClosing=p.homePrice*(p.buyingClosingCosts\/100);const initialBuyCap=(p.homePrice*(p.downPaymentPercent\/100))+initialClosing;let renterInv=Math.max(0,initialBuyCap-p.securityDeposit);const buyerNW=[p.homePrice*(p.downPaymentPercent\/100)-initialClosing];const renterNW=[renterInv];let homeVal=p.homePrice;let loanBal=loanAmt;let rentMonthly=p.monthlyRent;let taxSavCum=0;const stdDed=p.filingStatus==='married'?29200:14600;let breakeven=null;\r\n        for(let yr=1;yr<=p.timeline;yr++){let annInt=0,annTax=0;for(let m=1;m<=12;m++){const intM=loanBal*r;const prinM=mPI-intM;loanBal=Math.max(0,loanBal-prinM);annInt+=intM;const taxM=(homeVal*(p.propertyTaxRate\/100))\/12;annTax+=taxM;const totalBuy=mPI+taxM+(p.homeInsurance\/12)+((homeVal*(p.maintenanceRate\/100))\/12)+p.hoaMonthly;const totalRent=rentMonthly+p.rentersInsurance;const diff=totalBuy-totalRent;renterInv=renterInv*(1+(Math.pow(1+p.investmentReturnRate\/100,1\/12)-1))+diff;}homeVal*=(1+p.homeAppreciationRate\/100);rentMonthly*=(1+p.rentIncreaseRate\/100);const taxSav=Math.max(0,((annInt+Math.min(10000,annTax))-stdDed)*(p.marginalTaxRate\/100));taxSavCum+=taxSav;const bNW=(homeVal-loanBal-(homeVal*(p.sellingCosts\/100)));buyerNW.push(bNW);renterNW.push(renterInv);if(breakeven===null&&bNW>renterInv)breakeven=yr;}\r\n        const diffNW=buyerNW[p.timeline]-renterNW[p.timeline];document.getElementById('verdict-title').innerText=diffNW>0?'Comprar es Mejor por '+fmt(diffNW):'Rentar es Mejor por '+fmt(Math.abs(diffNW));document.getElementById('breakeven-year').innerText=breakeven?'A\u00f1o '+breakeven:'10+ A\u00f1os';document.getElementById('buyer-networth').innerText=fmt(buyerNW[p.timeline]);document.getElementById('renter-networth').innerText=fmt(renterNW[p.timeline]);document.getElementById('tax-savings').innerText=fmt(taxSavCum);\r\n        const mTI=(p.homePrice*(p.propertyTaxRate\/100)\/12)+(p.homeInsurance\/12);const mHM=p.hoaMonthly+(p.homePrice*(p.maintenanceRate\/100)\/12);document.getElementById('m-pi').innerText=fmt(mPI);document.getElementById('m-tax-ins').innerText=fmt(mTI);document.getElementById('m-hoa-maint').innerText=fmt(mHM);document.getElementById('m-total').innerText=fmt(mPI+mTI+mHM);renderChart(buyerNW,renterNW,p.timeline);}\r\n        function renderChart(bD,rD,y){const ctx=document.getElementById('wealthChart').getContext('2d');const l=Array.from({length:y+1},(_,i)=>i===0?'Inicio':'A\u00f1o '+i);if(chart)chart.destroy();chart=new Chart(ctx,{type:'line',data:{labels:l,datasets:[{label:'Patrimonio Comprador',data:bD,borderColor:'#22c55e',backgroundColor:'rgba(34,197,94,0.1)',fill:true,tension:0.3},{label:'Patrimonio Inquilino',data:rD,borderColor:'#3b82f6',backgroundColor:'rgba(59,130,246,0.1)',fill:true,tension:0.3}]},options:{responsive:true,maintainAspectRatio:false,scales:{y:{ticks:{callback:v=>'$'+(v\/1000).toFixed(0)+'k'}}}}});}\r\n        inputs.forEach(id=>{const el=document.getElementById(id);if(el){el.addEventListener('input',calculateSim);el.addEventListener('change',calculateSim);}});document.getElementById('reset-btn').addEventListener('click',()=>calculateSim());calculateSim();\r\n      <\/script><\/body><\/html>\"\r\n      width=\"100%\" \r\n      height=\"880px\" \r\n      style=\"border:none; width:100%; height:880px;\" \r\n      title=\"Spanish Simulator\">\r\n    <\/iframe>\r\n  <\/div>\r\n\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1d5ca2f e-flex e-con-boxed e-con e-parent\" data-id=\"1d5ca2f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0ca1fe9 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"0ca1fe9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"folder":[],"class_list":["post-36553","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mexpat Realtors<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mexpatrealtors.com\/fr\/rent-vs-buy-simulator\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rent vs Buy Simulator - Mexpat Realtors\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mexpatrealtors.com\/fr\/rent-vs-buy-simulator\/\" \/>\n<meta property=\"og:site_name\" content=\"Mexpat Realtors\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-15T21:28:31+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mexpatrealtors.com\\\/rent-vs-buy-simulator\\\/\",\"url\":\"https:\\\/\\\/mexpatrealtors.com\\\/rent-vs-buy-simulator\\\/\",\"name\":\"Rent vs Buy Simulator - Mexpat Realtors\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mexpatrealtors.com\\\/#website\"},\"datePublished\":\"2026-10-15T20:48:34+00:00\",\"dateModified\":\"2026-10-15T21:28:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mexpatrealtors.com\\\/rent-vs-buy-simulator\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mexpatrealtors.com\\\/rent-vs-buy-simulator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mexpatrealtors.com\\\/rent-vs-buy-simulator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mexpatrealtors.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rent vs Buy Simulator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mexpatrealtors.com\\\/#website\",\"url\":\"https:\\\/\\\/mexpatrealtors.com\\\/\",\"name\":\"Mexpat Realtors\",\"description\":\"Best Puerto Vallarta Realtors\",\"publisher\":{\"@id\":\"https:\\\/\\\/mexpatrealtors.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mexpatrealtors.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mexpatrealtors.com\\\/#organization\",\"name\":\"Mexpat Realtors\",\"url\":\"https:\\\/\\\/mexpatrealtors.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/mexpatrealtors.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/mexpatrealtors.com\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/MEXPAT-LOGO-HIGH-DEFINITION-scaled.png\",\"contentUrl\":\"https:\\\/\\\/mexpatrealtors.com\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/MEXPAT-LOGO-HIGH-DEFINITION-scaled.png\",\"width\":2560,\"height\":866,\"caption\":\"Mexpat Realtors\"},\"image\":{\"@id\":\"https:\\\/\\\/mexpatrealtors.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Les agents immobiliers Mexpat sont des experts","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mexpatrealtors.com\/fr\/rent-vs-buy-simulator\/","og_locale":"fr_FR","og_type":"article","og_title":"Rent vs Buy Simulator - Mexpat Realtors","og_url":"https:\/\/mexpatrealtors.com\/fr\/rent-vs-buy-simulator\/","og_site_name":"Mexpat Realtors","article_modified_time":"2026-10-15T21:28:31+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mexpatrealtors.com\/rent-vs-buy-simulator\/","url":"https:\/\/mexpatrealtors.com\/rent-vs-buy-simulator\/","name":"Rent vs Buy Simulator - Mexpat Realtors","isPartOf":{"@id":"https:\/\/mexpatrealtors.com\/#website"},"datePublished":"2026-10-15T20:48:34+00:00","dateModified":"2026-10-15T21:28:31+00:00","breadcrumb":{"@id":"https:\/\/mexpatrealtors.com\/rent-vs-buy-simulator\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mexpatrealtors.com\/rent-vs-buy-simulator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/mexpatrealtors.com\/rent-vs-buy-simulator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mexpatrealtors.com\/"},{"@type":"ListItem","position":2,"name":"Rent vs Buy Simulator"}]},{"@type":"WebSite","@id":"https:\/\/mexpatrealtors.com\/#website","url":"https:\/\/mexpatrealtors.com\/","name":"Les agents immobiliers Mexpat sont des experts","description":"Best Puerto Vallarta Realtors","publisher":{"@id":"https:\/\/mexpatrealtors.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mexpatrealtors.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/mexpatrealtors.com\/#organization","name":"Les agents immobiliers Mexpat sont des experts","url":"https:\/\/mexpatrealtors.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/mexpatrealtors.com\/#\/schema\/logo\/image\/","url":"https:\/\/mexpatrealtors.com\/wp-content\/uploads\/2020\/02\/MEXPAT-LOGO-HIGH-DEFINITION-scaled.png","contentUrl":"https:\/\/mexpatrealtors.com\/wp-content\/uploads\/2020\/02\/MEXPAT-LOGO-HIGH-DEFINITION-scaled.png","width":2560,"height":866,"caption":"Mexpat Realtors"},"image":{"@id":"https:\/\/mexpatrealtors.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/mexpatrealtors.com\/fr\/wp-json\/wp\/v2\/pages\/36553","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mexpatrealtors.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mexpatrealtors.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mexpatrealtors.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mexpatrealtors.com\/fr\/wp-json\/wp\/v2\/comments?post=36553"}],"version-history":[{"count":51,"href":"https:\/\/mexpatrealtors.com\/fr\/wp-json\/wp\/v2\/pages\/36553\/revisions"}],"predecessor-version":[{"id":36606,"href":"https:\/\/mexpatrealtors.com\/fr\/wp-json\/wp\/v2\/pages\/36553\/revisions\/36606"}],"wp:attachment":[{"href":"https:\/\/mexpatrealtors.com\/fr\/wp-json\/wp\/v2\/media?parent=36553"}],"wp:term":[{"taxonomy":"folder","embeddable":true,"href":"https:\/\/mexpatrealtors.com\/fr\/wp-json\/wp\/v2\/folder?post=36553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}