{"id":3806,"date":"2026-04-17T09:54:45","date_gmt":"2026-04-17T09:54:45","guid":{"rendered":"https:\/\/joseph-mews.com.tr\/?page_id=3806"},"modified":"2026-05-12T07:30:37","modified_gmt":"2026-05-12T07:30:37","slug":"mortgage-calculator","status":"publish","type":"page","link":"https:\/\/joseph-mews.com.tr\/tr\/mortgage-calculator\/","title":{"rendered":"\u0130POTHEK HESAPLAYICI"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3806\" class=\"elementor elementor-3806\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fc61153 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed qodef-elementor-content-no e-con e-parent\" data-id=\"fc61153\" data-element_type=\"container\" data-e-type=\"container\" id=\"hero-slider\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-add1da5 elementor-widget elementor-widget-slider_revolution\" data-id=\"add1da5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"slider_revolution.default\">\n\t\t\t\t\t\n\t\t<div class=\"wp-block-themepunch-revslider\">\n\t\t\t\t<p class=\"rs-p-wp-fix\"><\/p>\n\t\t\t\t<sr7-module data-alias=\"camden-1\" data-id=\"11\" id=\"SR7_11_1\" class=\"rs-ov-hidden\" data-version=\"6.7.39\">\n\t\t\t\t\t<sr7-adjuster><\/sr7-adjuster>\n\t\t\t\t\t<sr7-content>\n\t\t\t\t\t\t<sr7-slide id=\"SR7_11_1-30\" data-key=\"30\">\n\t\t\t\t\t\t\t<sr7-bg id=\"SR7_11_1-30-1\" class=\"sr7-layer\"><noscript><img decoding=\"async\" src=\"https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/JM_WEBSITE_BANNER-FOR-REPLACE-VIDEO_1600-x-780.jpg.jpeg\" alt=\"\" title=\"JM_WEBSITE_BANNER FOR REPLACE VIDEO_1600 x 780.jpg\"><\/noscript><\/sr7-bg>\n\t\t\t\t\t\t<\/sr7-slide>\n\t\t\t\t\t\t<sr7-slide id=\"SR7_11_1-31\" data-key=\"31\">\n\t\t\t\t\t\t\t<sr7-txt id=\"SR7_11_1-31-7\" class=\"sr7-layer\" srscsrc>\n<a class=\"qodef-shortcode qodef-m qodef-button qodef-layout--minimal qodef-html--link\" href=\"#none\" target=\"_self\"  >\n\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" x=\"0px\" y=\"0px\" width=\"74px\" height=\"40px\" viewBox=\"0 0 74 40\" enable-background=\"new 0 0 74 40\" xml:space=\"preserve\"><g><circle opacity=\"0.5\" fill=\"none\" stroke=\"rgb(252,193,28)\" cx=\"71%\" cy=\"50%\" r=\"24%\" style=\"\"><\/circle><circle fill=\"none\" stroke=\"rgb(252,193,28)\" cx=\"71%\" cy=\"50%\" r=\"24%\"><\/circle><\/g><polygon fill=\"rgb(252,193,28)\" points=\"49.525,14.265 48.898,15.044 54.481,19.541 6.444,19.541 6.444,20.541 54.464,20.541 48.901,24.954 49.522,25.737 56.7,20.044 \"><\/polygon><\/svg>\n<\/a><\/sr7-txt>\n\t\t\t\t\t\t<\/sr7-slide>\n\t\t\t\t\t<\/sr7-content>\n\t\t\t\t\t<image_lists style=\"display:none\">\n\t\t\t\t\t\t<img data-src=\"\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/JM_WEBSITE_BANNER-FOR-REPLACE-VIDEO_1600-x-780.jpg.jpeg\" data-libid=\"3868\" data-lib=\"medialibrary\" title=\"JM_WEBSITE_BANNER FOR REPLACE VIDEO_1600 x 780.jpg\" width=\"0\" height=\"0\" data-dbsrc=\"Ly9qb3NlcGgtbWV3cy5jb20udHIvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDQvSk1fV0VCU0lURV9CQU5ORVItRk9SLVJFUExBQ0UtVklERU9fMTYwMC14LTc4MC5qcGcuanBlZw==\"\/>\n\t\t\t\t\t<\/image_lists>\n\t\t\t\t<\/sr7-module>\n\t\t\t\t<script>\n\t\t\t\t\tSR7.PMH ??={}; SR7.PMH[\"SR7_11_1\"] = {cn:100,state:false,fn: function() { if (_tpt!==undefined && _tpt.prepareModuleHeight !== undefined) {  _tpt.prepareModuleHeight({id:\"SR7_11_1\",el:[1100,1100,600,700,500],type:'standard',shdw:'0',gh:[1100,1100,600,700,500],gw:[1920,1920,1300,700,320],vpt:['-100px&#039;,&#039;-100px&#039;,&#039;-100px&#039;,&#039;-100px&#039;,&#039;-100px'],size:{fullWidth:true, fullHeight:true},fho:'',mh:'0',onh:0,onw:0,bg:{color:'{\"orig\":\"transparent\",\"type\":\"solid\",\"string\":\"transparent\"}'}});   SR7.PMH[\"SR7_11_1\"].state=true;} else if(SR7.PMH[\"SR7_11_1\"].cn-->0)\tsetTimeout( SR7.PMH[\"SR7_11_1\"].fn,19);}};SR7.PMH[\"SR7_11_1\" ].fn();\n\t\t\t\t<\/script>\n<\/div>\n\n\t\t\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-9597c6a e-con-full qodef-elementor-content-grid elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-parent\" data-id=\"9597c6a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-e9e366a e-con-full e-flex qodef-elementor-content-no e-con e-child\" data-id=\"e9e366a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a570ae5 elementor-widget__width-initial elementor-widget elementor-widget-hendon_core_property_list\" data-id=\"a570ae5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hendon_core_property_list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"qodef-shortcode qodef-m qodef-property-list qodef-item-layout--info-aside qodef-grid qodef-layout--columns qodef-gutter--normal qodef-col-num--3 qodef-item-layout--info-aside qodef--no-bottom-space qodef-pagination--off qodef-responsive--custom qodef-col-num--1440--3 qodef-col-num--1366--3 qodef-col-num--1024--2 qodef-col-num--768--1 qodef-col-num--680--1 qodef-col-num--480--1\" data-options=\"{&quot;plugin&quot;:&quot;hendon_core&quot;,&quot;module&quot;:&quot;plugins\\\/property\\\/post-types\\\/property\\\/shortcodes&quot;,&quot;shortcode&quot;:&quot;property-list&quot;,&quot;post_type&quot;:&quot;property-item&quot;,&quot;next_page&quot;:&quot;2&quot;,&quot;max_pages_num&quot;:0,&quot;layout&quot;:&quot;info-aside&quot;,&quot;title_tag&quot;:&quot;h4&quot;,&quot;behavior&quot;:&quot;columns&quot;,&quot;images_proportion&quot;:&quot;full&quot;,&quot;columns&quot;:&quot;3&quot;,&quot;columns_responsive&quot;:&quot;custom&quot;,&quot;columns_1440&quot;:&quot;3&quot;,&quot;columns_1366&quot;:&quot;3&quot;,&quot;columns_1024&quot;:&quot;2&quot;,&quot;columns_768&quot;:&quot;1&quot;,&quot;columns_680&quot;:&quot;1&quot;,&quot;columns_480&quot;:&quot;1&quot;,&quot;space&quot;:&quot;normal&quot;,&quot;posts_per_page&quot;:&quot;-1&quot;,&quot;orderby&quot;:&quot;date&quot;,&quot;order&quot;:&quot;ASC&quot;,&quot;additional_params&quot;:&quot;tax&quot;,&quot;tax&quot;:&quot;property-category&quot;,&quot;tax_slug&quot;:&quot;apartments&quot;,&quot;pagination_type&quot;:&quot;no-pagination&quot;,&quot;object_class_name&quot;:&quot;HendonCorePropertyListShortcode&quot;,&quot;additional_query_args&quot;:{&quot;tax_query&quot;:[{&quot;taxonomy&quot;:&quot;property-category&quot;,&quot;field&quot;:&quot;slug&quot;,&quot;terms&quot;:&quot;apartments&quot;}]},&quot;query_array&quot;:{&quot;post_status&quot;:&quot;publish&quot;,&quot;post_type&quot;:&quot;property-item&quot;,&quot;posts_per_page&quot;:&quot;-1&quot;,&quot;orderby&quot;:&quot;date&quot;,&quot;order&quot;:&quot;ASC&quot;,&quot;ignore_sticky_posts&quot;:1,&quot;paged&quot;:1,&quot;tax_query&quot;:[{&quot;taxonomy&quot;:&quot;property-category&quot;,&quot;field&quot;:&quot;slug&quot;,&quot;terms&quot;:&quot;apartments&quot;}]},&quot;item_classes&quot;:&quot;qodef-e qodef-grid-item&quot;,&quot;posts_count&quot;:1,&quot;space_value&quot;:15}\">\n    <div class=\"qodef-grid-inner clear\">\n        <article class=\"qodef-e qodef-grid-item qodef-item--full post-3380 property-item type-property-item status-publish has-post-thumbnail hentry property-category-apartments\">\n    <div class=\"qodef-e-inner\">\n        <div class=\"qodef-e-image\">\n            \t<div class=\"qodef-e-media-image\">\n\t\t<a itemprop=\"url\" href=\"https:\/\/joseph-mews.com.tr\/tr\/property-item\/penny-place\/\">\n\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg.jpeg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg.jpeg 1920w, https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg-300x169.jpeg 300w, https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg-1024x576.jpeg 1024w, https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg-768x432.jpeg 768w, https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg-1536x864.jpeg 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/>\t\t<\/a>\n\t<\/div>\n\t        <div class=\"qodef-e-pattern-holder\"><\/div>\n        <\/div>\n        <div class=\"qodef-e-content\">\n            <h4 itemprop=\"name\" class=\"qodef-e-title entry-title\" >\n\t<a itemprop=\"url\" class=\"qodef-e-title-link\" href=\"https:\/\/joseph-mews.com.tr\/tr\/property-item\/penny-place\/\">\n\t\tPenny Place\t<\/a>\n<\/h4>                <div class=\"qodef-e-info-category\">\n                    <a itemprop=\"url\" class=\"qodef-e-category\" href=\"https:\/\/joseph-mews.com.tr\/tr\/property-category\/apartments\/\">\n                Apartments            <\/a>\n            <\/div>\n            \t\t<p itemprop=\"description\" class=\"qodef-e-excerpt\" >\n            A growing commuter city benefiting from affordability, strong rental demand, and proximity to major UK hubs.\t\t<\/p>\n\t                <div class=\"qodef-e-read-more\">\n        <a class=\"qodef-shortcode qodef-m qodef-button qodef-layout--minimal qodef-html--link\" href=\"https:\/\/joseph-mews.com.tr\/tr\/property-item\/penny-place\/\" target=\"_self\"  >\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" x=\"0px\" y=\"0px\" width=\"74px\" height=\"40px\" viewBox=\"0 0 74 40\" enable-background=\"new 0 0 74 40\" xml:space=\"preserve\"><g><circle opacity=\"0.5\" fill=\"none\" stroke=\"rgb(252,193,28)\" cx=\"71%\" cy=\"50%\" r=\"24%\" style=\"\"><\/circle><circle fill=\"none\" stroke=\"rgb(252,193,28)\" cx=\"71%\" cy=\"50%\" r=\"24%\"><\/circle><\/g><polygon fill=\"rgb(252,193,28)\" points=\"49.525,14.265 48.898,15.044 54.481,19.541 6.444,19.541 6.444,20.541 54.464,20.541 48.901,24.954 49.522,25.737 56.7,20.044 \"><\/polygon><\/svg><\/a>    <\/div>\n        <\/div>\n    <\/div>\n<\/article>    <\/div>\n    <\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9f1856a elementor-widget elementor-widget-slider_revolution\" data-id=\"9f1856a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"slider_revolution.default\">\n\t\t\t\t\t\n\t\t<div class=\"wp-block-themepunch-revslider\">\n\t\t\t\t<p class=\"rs-p-wp-fix\"><\/p>\n\t\t\t\t<sr7-module data-alias=\"camden\" data-id=\"10\" id=\"SR7_10_2\" class=\"rs-ov-hidden\" data-version=\"6.7.39\">\n\t\t\t\t\t<sr7-adjuster><\/sr7-adjuster>\n\t\t\t\t\t<sr7-content>\n\t\t\t\t\t\t<sr7-slide id=\"SR7_10_2-17\" data-key=\"17\">\n\t\t\t\t\t\t<\/sr7-slide>\n\t\t\t\t\t\t<sr7-slide id=\"SR7_10_2-29\" data-key=\"29\">\n\t\t\t\t\t\t\t<sr7-txt id=\"SR7_10_2-29-7\" class=\"sr7-layer\" srscsrc>\n<a class=\"qodef-shortcode qodef-m qodef-button qodef-layout--minimal qodef-html--link\" href=\"#none\" target=\"_self\"  >\n\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" x=\"0px\" y=\"0px\" width=\"74px\" height=\"40px\" viewBox=\"0 0 74 40\" enable-background=\"new 0 0 74 40\" xml:space=\"preserve\"><g><circle opacity=\"0.5\" fill=\"none\" stroke=\"rgb(252,193,28)\" cx=\"71%\" cy=\"50%\" r=\"24%\" style=\"\"><\/circle><circle fill=\"none\" stroke=\"rgb(252,193,28)\" cx=\"71%\" cy=\"50%\" r=\"24%\"><\/circle><\/g><polygon fill=\"rgb(252,193,28)\" points=\"49.525,14.265 48.898,15.044 54.481,19.541 6.444,19.541 6.444,20.541 54.464,20.541 48.901,24.954 49.522,25.737 56.7,20.044 \"><\/polygon><\/svg>\n<\/a><\/sr7-txt>\n\t\t\t\t\t\t<\/sr7-slide>\n\t\t\t\t\t<\/sr7-content>\n\t\t\t\t\t<image_lists style=\"display:none\">\n\t\t\t\t\t\t<img data-src=\"\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_2ea8bt2ea8bt2ea8__1_-removebg-preview.png\" data-libid=\"3420\" data-lib=\"medialibrary\" title=\"Gemini_Generated_Image_2ea8bt2ea8bt2ea8__1_-removebg-preview\" width=\"0\" height=\"0\" data-dbsrc=\"Ly9qb3NlcGgtbWV3cy5jb20udHIvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDQvR2VtaW5pX0dlbmVyYXRlZF9JbWFnZV8yZWE4YnQyZWE4YnQyZWE4X18xXy1yZW1vdmViZy1wcmV2aWV3LnBuZw==\"\/>\n\t\t\t\t\t<\/image_lists>\n\t\t\t\t<\/sr7-module>\n\t\t\t\t<script>\n\t\t\t\t\tSR7.PMH ??={}; SR7.PMH[\"SR7_10_2\"] = {cn:100,state:false,fn: function() { if (_tpt!==undefined && _tpt.prepareModuleHeight !== undefined) {  _tpt.prepareModuleHeight({id:\"SR7_10_2\",el:[1100,1100,600,700,500],type:'standard',shdw:'0',gh:[1100,1100,600,500,400],gw:[1920,1920,1300,780,480],vpt:['-100px&#039;,&#039;-100px&#039;,&#039;-100px&#039;,&#039;-100px&#039;,&#039;-100px'],size:{fullWidth:true, fullHeight:false},mh:'0',onh:0,onw:0,bg:{color:'{\"orig\":\"transparent\",\"type\":\"solid\",\"string\":\"transparent\"}'}});   SR7.PMH[\"SR7_10_2\"].state=true;} else if(SR7.PMH[\"SR7_10_2\"].cn-->0)\tsetTimeout( SR7.PMH[\"SR7_10_2\"].fn,19);}};SR7.PMH[\"SR7_10_2\" ].fn();\n\t\t\t\t<\/script>\n<\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-dd3a86c e-flex e-con-boxed qodef-elementor-content-no e-con e-parent\" data-id=\"dd3a86c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0688a88 e-con-full qodef-elementor-content-grid elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-parent\" data-id=\"0688a88\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-022fb6a e-con-full e-flex qodef-elementor-content-no e-con e-child\" data-id=\"022fb6a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ee14040 elementor-widget__width-initial elementor-widget elementor-widget-hendon_core_property_list\" data-id=\"ee14040\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hendon_core_property_list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"qodef-shortcode qodef-m qodef-property-list qodef-item-layout--info-aside qodef-grid qodef-layout--columns qodef-gutter--normal qodef-col-num--3 qodef-item-layout--info-aside qodef--no-bottom-space qodef-pagination--off qodef-responsive--custom qodef-col-num--1440--3 qodef-col-num--1366--3 qodef-col-num--1024--2 qodef-col-num--768--1 qodef-col-num--680--1 qodef-col-num--480--1\" data-options=\"{&quot;plugin&quot;:&quot;hendon_core&quot;,&quot;module&quot;:&quot;plugins\\\/property\\\/post-types\\\/property\\\/shortcodes&quot;,&quot;shortcode&quot;:&quot;property-list&quot;,&quot;post_type&quot;:&quot;property-item&quot;,&quot;next_page&quot;:&quot;2&quot;,&quot;max_pages_num&quot;:0,&quot;layout&quot;:&quot;info-aside&quot;,&quot;title_tag&quot;:&quot;h4&quot;,&quot;behavior&quot;:&quot;columns&quot;,&quot;images_proportion&quot;:&quot;full&quot;,&quot;columns&quot;:&quot;3&quot;,&quot;columns_responsive&quot;:&quot;custom&quot;,&quot;columns_1440&quot;:&quot;3&quot;,&quot;columns_1366&quot;:&quot;3&quot;,&quot;columns_1024&quot;:&quot;2&quot;,&quot;columns_768&quot;:&quot;1&quot;,&quot;columns_680&quot;:&quot;1&quot;,&quot;columns_480&quot;:&quot;1&quot;,&quot;space&quot;:&quot;normal&quot;,&quot;posts_per_page&quot;:&quot;-1&quot;,&quot;orderby&quot;:&quot;date&quot;,&quot;order&quot;:&quot;ASC&quot;,&quot;additional_params&quot;:&quot;tax&quot;,&quot;tax&quot;:&quot;property-category&quot;,&quot;tax_slug&quot;:&quot;apartments&quot;,&quot;pagination_type&quot;:&quot;no-pagination&quot;,&quot;object_class_name&quot;:&quot;HendonCorePropertyListShortcode&quot;,&quot;additional_query_args&quot;:{&quot;tax_query&quot;:[{&quot;taxonomy&quot;:&quot;property-category&quot;,&quot;field&quot;:&quot;slug&quot;,&quot;terms&quot;:&quot;apartments&quot;}]},&quot;query_array&quot;:{&quot;post_status&quot;:&quot;publish&quot;,&quot;post_type&quot;:&quot;property-item&quot;,&quot;posts_per_page&quot;:&quot;-1&quot;,&quot;orderby&quot;:&quot;date&quot;,&quot;order&quot;:&quot;ASC&quot;,&quot;ignore_sticky_posts&quot;:1,&quot;paged&quot;:1,&quot;tax_query&quot;:[{&quot;taxonomy&quot;:&quot;property-category&quot;,&quot;field&quot;:&quot;slug&quot;,&quot;terms&quot;:&quot;apartments&quot;}]},&quot;item_classes&quot;:&quot;qodef-e qodef-grid-item&quot;,&quot;posts_count&quot;:1,&quot;space_value&quot;:15}\">\n    <div class=\"qodef-grid-inner clear\">\n        <article class=\"qodef-e qodef-grid-item qodef-item--full post-3380 property-item type-property-item status-publish has-post-thumbnail hentry property-category-apartments\">\n    <div class=\"qodef-e-inner\">\n        <div class=\"qodef-e-image\">\n            \t<div class=\"qodef-e-media-image\">\n\t\t<a itemprop=\"url\" href=\"https:\/\/joseph-mews.com.tr\/tr\/property-item\/penny-place\/\">\n\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg.jpeg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg.jpeg 1920w, https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg-300x169.jpeg 300w, https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg-1024x576.jpeg 1024w, https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg-768x432.jpeg 768w, https:\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Wakefield_1920-x-1080.jpg-1536x864.jpeg 1536w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/>\t\t<\/a>\n\t<\/div>\n\t        <div class=\"qodef-e-pattern-holder\"><\/div>\n        <\/div>\n        <div class=\"qodef-e-content\">\n            <h4 itemprop=\"name\" class=\"qodef-e-title entry-title\" >\n\t<a itemprop=\"url\" class=\"qodef-e-title-link\" href=\"https:\/\/joseph-mews.com.tr\/tr\/property-item\/penny-place\/\">\n\t\tPenny Place\t<\/a>\n<\/h4>                <div class=\"qodef-e-info-category\">\n                    <a itemprop=\"url\" class=\"qodef-e-category\" href=\"https:\/\/joseph-mews.com.tr\/tr\/property-category\/apartments\/\">\n                Apartments            <\/a>\n            <\/div>\n            \t\t<p itemprop=\"description\" class=\"qodef-e-excerpt\" >\n            A growing commuter city benefiting from affordability, strong rental demand, and proximity to major UK hubs.\t\t<\/p>\n\t                <div class=\"qodef-e-read-more\">\n        <a class=\"qodef-shortcode qodef-m qodef-button qodef-layout--minimal qodef-html--link\" href=\"https:\/\/joseph-mews.com.tr\/tr\/property-item\/penny-place\/\" target=\"_self\"  >\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" x=\"0px\" y=\"0px\" width=\"74px\" height=\"40px\" viewBox=\"0 0 74 40\" enable-background=\"new 0 0 74 40\" xml:space=\"preserve\"><g><circle opacity=\"0.5\" fill=\"none\" stroke=\"rgb(252,193,28)\" cx=\"71%\" cy=\"50%\" r=\"24%\" style=\"\"><\/circle><circle fill=\"none\" stroke=\"rgb(252,193,28)\" cx=\"71%\" cy=\"50%\" r=\"24%\"><\/circle><\/g><polygon fill=\"rgb(252,193,28)\" points=\"49.525,14.265 48.898,15.044 54.481,19.541 6.444,19.541 6.444,20.541 54.464,20.541 48.901,24.954 49.522,25.737 56.7,20.044 \"><\/polygon><\/svg><\/a>    <\/div>\n        <\/div>\n    <\/div>\n<\/article>    <\/div>\n    <\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4bcf633 elementor-widget elementor-widget-slider_revolution\" data-id=\"4bcf633\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"slider_revolution.default\">\n\t\t\t\t\t\n\t\t<div class=\"wp-block-themepunch-revslider\">\n\t\t\t\t<p class=\"rs-p-wp-fix\"><\/p>\n\t\t\t\t<sr7-module data-alias=\"camden\" data-id=\"10\" id=\"SR7_10_3\" class=\"rs-ov-hidden\" data-version=\"6.7.39\">\n\t\t\t\t\t<sr7-adjuster><\/sr7-adjuster>\n\t\t\t\t\t<sr7-content>\n\t\t\t\t\t\t<sr7-slide id=\"SR7_10_3-17\" data-key=\"17\">\n\t\t\t\t\t\t<\/sr7-slide>\n\t\t\t\t\t\t<sr7-slide id=\"SR7_10_3-29\" data-key=\"29\">\n\t\t\t\t\t\t\t<sr7-txt id=\"SR7_10_3-29-7\" class=\"sr7-layer\" srscsrc>\n<a class=\"qodef-shortcode qodef-m qodef-button qodef-layout--minimal qodef-html--link\" href=\"#none\" target=\"_self\"  >\n\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" x=\"0px\" y=\"0px\" width=\"74px\" height=\"40px\" viewBox=\"0 0 74 40\" enable-background=\"new 0 0 74 40\" xml:space=\"preserve\"><g><circle opacity=\"0.5\" fill=\"none\" stroke=\"rgb(252,193,28)\" cx=\"71%\" cy=\"50%\" r=\"24%\" style=\"\"><\/circle><circle fill=\"none\" stroke=\"rgb(252,193,28)\" cx=\"71%\" cy=\"50%\" r=\"24%\"><\/circle><\/g><polygon fill=\"rgb(252,193,28)\" points=\"49.525,14.265 48.898,15.044 54.481,19.541 6.444,19.541 6.444,20.541 54.464,20.541 48.901,24.954 49.522,25.737 56.7,20.044 \"><\/polygon><\/svg>\n<\/a><\/sr7-txt>\n\t\t\t\t\t\t<\/sr7-slide>\n\t\t\t\t\t<\/sr7-content>\n\t\t\t\t\t<image_lists style=\"display:none\">\n\t\t\t\t\t\t<img data-src=\"\/\/joseph-mews.com.tr\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_2ea8bt2ea8bt2ea8__1_-removebg-preview.png\" data-libid=\"3420\" data-lib=\"medialibrary\" title=\"Gemini_Generated_Image_2ea8bt2ea8bt2ea8__1_-removebg-preview\" width=\"0\" height=\"0\" data-dbsrc=\"Ly9qb3NlcGgtbWV3cy5jb20udHIvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDQvR2VtaW5pX0dlbmVyYXRlZF9JbWFnZV8yZWE4YnQyZWE4YnQyZWE4X18xXy1yZW1vdmViZy1wcmV2aWV3LnBuZw==\"\/>\n\t\t\t\t\t<\/image_lists>\n\t\t\t\t<\/sr7-module>\n\t\t\t\t<script>\n\t\t\t\t\tSR7.PMH ??={}; SR7.PMH[\"SR7_10_3\"] = {cn:100,state:false,fn: function() { if (_tpt!==undefined && _tpt.prepareModuleHeight !== undefined) {  _tpt.prepareModuleHeight({id:\"SR7_10_3\",el:[1100,1100,600,700,500],type:'standard',shdw:'0',gh:[1100,1100,600,500,400],gw:[1920,1920,1300,780,480],vpt:['-100px&#039;,&#039;-100px&#039;,&#039;-100px&#039;,&#039;-100px&#039;,&#039;-100px'],size:{fullWidth:true, fullHeight:false},mh:'0',onh:0,onw:0,bg:{color:'{\"orig\":\"transparent\",\"type\":\"solid\",\"string\":\"transparent\"}'}});   SR7.PMH[\"SR7_10_3\"].state=true;} else if(SR7.PMH[\"SR7_10_3\"].cn-->0)\tsetTimeout( SR7.PMH[\"SR7_10_3\"].fn,19);}};SR7.PMH[\"SR7_10_3\" ].fn();\n\t\t\t\t<\/script>\n<\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4921b4b e-flex e-con-boxed qodef-elementor-content-no e-con e-parent\" data-id=\"4921b4b\" 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-4032d77 elementor-widget elementor-widget-html\" data-id=\"4032d77\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"calculator-page\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Joseph Mews \u2014 Investment Calculator<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Fraunces:ital,wght@0,300;0,400;1,300;1,400&family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Montserrat:wght@300;400;500;600&display=swap\" rel=\"stylesheet\">\n<\/head>\n<body>\n<style>\n\n  @font-face {\n\n    font-family: 'JMNumerics';\n\n    src: local('Fraunces'), local('Fraunces Regular');\n\n    font-weight: 400;\n\n    font-style: normal;\n\n    unicode-range: U+0030-0039, U+002C, U+002E, U+002B, U+002D, U+002F, U+0020, U+0025, U+00A3, U+20AC, U+0024;\n\n  }\n\n  @font-face {\n\n    font-family: 'JMNumerics';\n\n    src: local('Fraunces'), local('Fraunces Light');\n\n    font-weight: 300;\n\n    font-style: normal;\n\n    unicode-range: U+0030-0039, U+002C, U+002E, U+002B, U+002D, U+002F, U+0020, U+0025, U+00A3, U+20AC, U+0024;\n\n  }\n\n  @font-face {\n\n    font-family: 'JMNumerics';\n\n    src: local('Fraunces'), local('Fraunces Medium');\n\n    font-weight: 500;\n\n    font-style: normal;\n\n    unicode-range: U+0030-0039, U+002C, U+002E, U+002B, U+002D, U+002F, U+0020, U+0025, U+00A3, U+20AC, U+0024;\n\n  }\n\n  .jm * { font-feature-settings: \"lnum\" 1, \"tnum\" 1; }\n\n  * { box-sizing: border-box; margin: 0; padding: 0; }\n\n  html { font-size: 15px; -webkit-text-size-adjust: 100%; }\n\n  body { font-size: 15px; line-height: 1.6; font-family: 'Montserrat', sans-serif; }\n\n  .jm { width: 100% !important; font-family: 'Montserrat', sans-serif !important; color: #1C1710 !important; background: #F5F0E8 !important; display: block !important; position: relative !important; }\n\n  .jm .jm-screen { display: none !important; position: relative; width: 100%; overflow: visible; background: #F5F0E8; }\n\n  .jm .jm-screen.active { display: block !important; }\n\n  .jm #jmS1.active { display: flex !important; }\n\n  .jm-screen.active { display: block !important; }\n\n  #jmS1 { background: #F5F0E8; display: flex !important; flex-direction: column; align-items: stretch; justify-content: flex-start; text-align: center; padding: 0; min-height: auto; }\n\n  .jm-s1-banner { background: #F5F0E8; padding: 64px 8% 56px; display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; text-align: left; }\n\n  .jm-s1-banner-left { max-width: 620px; }\n\n  .jm-s1-banner-tag { font-size: 10px; letter-spacing: 4px; text-transform: uppercase; color: #c99a16; margin-bottom: 22px; display: flex; align-items: center; gap: 14px; }\n\n  .jm-s1-banner-tag::before { content: \"\"; display: inline-block; width: 28px; height: 1px; background: #c99a16; }\n\n  .jm-s1-banner-title { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 60px; font-weight: 400; color: #1C1710; line-height: 1.05; letter-spacing: 0.5px; }\n\n  .jm-s1-banner-title em { font-style: italic; color: #c99a16; font-weight: 400; }\n\n  .jm-s1-banner-right { max-width: 360px; font-size: 13px; line-height: 1.8; color: rgba(28, 23, 16, 0.72); text-align: right; padding-top: 14px; letter-spacing: 0.2px; }\n\n  .jm-s1-hero { background: #1C1710; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 100px 10% 120px; }\n\n  .jm-s1-tag { font-size: 9px; letter-spacing: 5px; text-transform: uppercase; color: #c99a16; margin-bottom: 24px; }\n\n  .jm-s1-title { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 72px; font-weight: 300; color: #fff; line-height: 1.0; margin-bottom: 20px; letter-spacing: 1px; }\n\n  .jm-s1-title em { font-style: italic; color: #fcc11c; }\n\n  .jm-s1-sub { font-size: 14px; color: rgba(255, 255, 255, 0.35); line-height: 1.9; max-width: 440px; margin: 0 auto 48px; letter-spacing: 0.3px; }\n\n  .jm-s1-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }\n\n  .jm-btn-primary { padding: 16px 56px; background: #fcc11c; border: none; color: #1C1710; font-size: 20px; letter-spacing: 3px; text-transform: uppercase; font-family: 'Montserrat', sans-serif; cursor: pointer; }\n\n  .jm-btn-outline { padding: 16px 40px; background: transparent; border: 0.5px solid rgba(252,193,28, 0.4); color: #fcc11c; font-size: 9px; letter-spacing: 3px; text-transform: uppercase; font-family: 'Montserrat', sans-serif; cursor: pointer; }\n\n  .jm-s1-stats { display: flex; gap: 40px; justify-content: center; margin-top: 56px; padding-top: 40px; border-top: 0.5px solid rgba(255, 255, 255, 0.08); flex-wrap: wrap; }\n\n  .jm-s1-stat-n { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 38px; color: #fcc11c; font-weight: 300; }\n\n  .jm-s1-stat-l { font-size: 8px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255, 255, 255, 0.2); margin-top: 4px; }\n\n  #jmS2 { background: #F5F0E8; }\n\n  .jm-s2-top { background: #1C1710; padding: 20px 8%; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid rgba(252,193,28, 0.2); }\n\n  .jm-s2-top-title { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 28px; color: #fff; font-weight: 400; letter-spacing: 0.5px; }\n\n  .jm-s2-top-sub { font-size: 13px; letter-spacing: 1px; text-transform: uppercase; color: rgba(252,193,28, 0.8); margin-top: 5px; }\n\n  .jm-s2-top-right { display: flex; align-items: center; gap: 16px; }\n\n  .jm-port-count-badge { background: rgba(252,193,28, 0.12); border: 0.5px solid rgba(252,193,28, 0.35); padding: 10px 20px; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; color: #fdd04e; white-space: nowrap; }\n\n  .jm-summary-btn-top { padding: 13px 28px; background: #fcc11c; border: none; color: #1C1710; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; font-family: 'Montserrat', sans-serif; cursor: not-allowed; opacity: 0.35; transition: all 0.2s; white-space: nowrap; font-weight: 500; }\n\n  .jm-summary-btn-top.enabled { opacity: 1; cursor: pointer; }\n\n  .jm-summary-btn-top.enabled:hover { background: #fdd04e; }\n\n  @keyframes jmBadgePulse { 0% { transform: scale(1); background: rgba(252,193,28, 0.12); } 40% { transform: scale(1.12); background: rgba(252,193,28, 0.35); } 100% { transform: scale(1); background: rgba(252,193,28, 0.12); } }\n\n  .jm-badge-pulse { animation: jmBadgePulse 0.55s ease-out; }\n\n  @keyframes jmCardFlash { 0% { background: #FFF3D6; } 100% { background: #fff; } }\n\n  .jm-card-flash { animation: jmCardFlash 0.7s ease-out; }\n\n  .jm-s2-body { display: grid; grid-template-columns: 1fr 1fr; min-height: calc(100% - 80px); }\n\n  .jm-config { background: #F5F0E8; padding: 40px 6% 40px 8%; border-right: 0.5px solid rgba(28, 23, 16, 0.1); font-family: 'Montserrat', sans-serif; }\n\n  .jm-config-sec { font-size: 13px; letter-spacing: 1px; text-transform: uppercase; color: #c99a16; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 0.5px solid rgba(28, 23, 16, 0.08); font-weight: 500; font-family: 'Montserrat', sans-serif; }\n\n  .jm-field { margin-bottom: 24px; }\n\n  .jm-lbl { font-size: 13px; letter-spacing: 0.5px; text-transform: uppercase; color: rgba(28, 23, 16, 0.55); margin-bottom: 10px; font-weight: 500; font-family: 'Montserrat', sans-serif; }\n\n  .jm-sel { width: 100%; background: transparent; border: none; border-bottom: 0.5px solid rgba(28, 23, 16, 0.25); color: #1C1710; font-size: 18px; font-family: 'Montserrat', sans-serif; padding: 12px 0; outline: none; cursor: pointer; -webkit-appearance: none; font-weight: 400; letter-spacing: 0; }\n\n  .jm-dd { position: relative; width: 100%; margin-bottom: 0; }\n\n  .jm-dd-btn { width: 100%; background: transparent; border: none; border-bottom: 1px solid rgba(28, 23, 16, 0.2); color: #1C1710; font-size: 18px; font-family: 'Montserrat', sans-serif; padding: 14px 0; text-align: left; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 400; letter-spacing: 0; line-height: 1.4; }\n\n  .jm-dd-btn svg { flex-shrink: 0; transition: transform 0.2s; }\n\n  .jm-dd-btn.open svg { transform: rotate(180deg); }\n\n  .jm-dd-list { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #F5F0E8; border: 0.5px solid rgba(28, 23, 16, 0.15); z-index: 9999; max-height: 260px; overflow-y: auto; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); }\n\n  .jm-dd-list.open { display: block; }\n\n  .jm-dd-opt { padding: 14px 18px; font-size: 15px; font-family: 'Montserrat', sans-serif; color: #1C1710; cursor: pointer; border-bottom: 0.5px solid rgba(28, 23, 16, 0.05); letter-spacing: 0; line-height: 1.4; }\n\n  .jm-dd-opt:last-child { border-bottom: none; }\n\n  .jm-dd-opt:hover { background: rgba(28, 23, 16, 0.04); }\n\n  .jm-dd-opt.selected { color: #c99a16; font-weight: 500; }\n\n  .jm-sel option { background: #F5F0E8; font-family: sans-serif; font-size: 15px; }\n\n  .jm-type-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(28, 23, 16, 0.08); margin-bottom: 24px; }\n\n  .jm-tc { background: #F5F0E8; padding: 16px 12px; cursor: pointer; text-align: center; border-bottom: 2px solid transparent; transition: all 0.15s; }\n\n  .jm-tc:hover { background: #EDE8DE; }\n\n  .jm-tc.active { background: #1C1710; border-bottom-color: #fcc11c; }\n\n  .jm-tc-label { font-size: 15px; letter-spacing: 0.3px; text-transform: none; color: rgba(28, 23, 16, 0.7); margin-bottom: 6px; font-weight: 500; font-family: 'Montserrat', sans-serif; }\n\n  .jm-tc.active .jm-tc-label { color: rgba(255, 255, 255, 0.45); }\n\n  .jm-tc-price { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 18px; color: #c99a16; font-weight: 400; }\n\n  .jm-tc.active .jm-tc-price { color: #fcc11c; }\n\n  .jm-tc.unavailable { opacity: 0.25; cursor: default; pointer-events: none; }\n\n  .jm-divider { border: none; border-top: 0.5px solid rgba(28, 23, 16, 0.1); margin: 24px 0; }\n\n  .jm-toggle { display: flex; border: 0.5px solid rgba(28, 23, 16, 0.18); width: 100%; }\n\n  .jm-tog { flex: 1; padding: 14px; font-size: 14px; letter-spacing: 0.5px; text-transform: none; cursor: pointer; background: transparent; border: none; font-family: 'Montserrat', sans-serif; color: rgba(28, 23, 16, 0.35); transition: all 0.15s; }\n\n  .jm-tog.on { background: #1C1710; color: #F5F0E8; }\n\n  .jm-ltv-row { display: flex; align-items: center; gap: 20px; }\n\n  .jm-ltv-pct { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 38px; color: #1C1710; font-weight: 300; min-width: 72px; line-height: 1; }\n\n  .jm-ltv-ctrl { flex: 1; }\n\n  .jm-slider { width: 100%; -webkit-appearance: none; height: 1px; background: rgba(28, 23, 16, 0.15); outline: none; cursor: pointer; }\n\n  .jm-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; border-radius: 50%; background: #1C1710; cursor: pointer; }\n\n  .jm-slider-ends { display: flex; justify-content: space-between; font-size: 10px; color: rgba(28, 23, 16, 0.4); letter-spacing: 1px; margin-top: 6px; }\n\n  .jm-add-btn { width: 100%; padding: 16px; background: #1C1710; border: none; color: #F5F0E8; font-size: 15px; letter-spacing: 0.5px; text-transform: none; font-family: 'Montserrat', sans-serif; cursor: pointer; margin-top: 8px; transition: opacity 0.2s; }\n\n  .jm-add-btn:hover { opacity: 0.8; }\n\n  .jm-pills-area { margin-top: 20px; }\n\n  .jm-pills-lbl { font-size: 13px; letter-spacing: 0.3px; color: rgba(28, 23, 16, 0.45); margin-bottom: 10px; font-family: 'Montserrat', sans-serif; }\n\n  .jm-pills { display: flex; flex-wrap: wrap; gap: 8px; }\n\n  .jm-pill { display: flex; align-items: center; gap: 7px; border: 0.5px solid rgba(28, 23, 16, 0.18); padding: 7px 12px; font-size: 9px; color: #1C1710; letter-spacing: 0.3px; background: #fff; }\n\n  .jm-pill-x { cursor: pointer; color: rgba(28, 23, 16, 0.3); font-size: 15px; line-height: 1; }\n\n  .jm-pill-x:hover { color: #1C1710; }\n\n  .jm-results { background: #fff; padding: 40px 8% 40px 6%; }\n\n  .jm-res-unit { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 28px; font-weight: 300; color: #1C1710; margin-bottom: 4px; }\n\n  .jm-res-sub { font-size: 13px; letter-spacing: 1px; text-transform: uppercase; color: #c99a16; margin-bottom: 28px; font-weight: 500; }\n\n  .jm-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(28, 23, 16, 0.08); margin-bottom: 1px; }\n\n  .jm-met { background: #F5F0E8; padding: 20px; }\n\n  .jm-met-l { font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: rgba(28, 23, 16, 0.55); margin-bottom: 8px; font-weight: 500; }\n\n  .jm-met-v { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 30px; font-weight: 300; color: #1C1710; white-space: nowrap; display: block; min-height: 36px; }\n\n  .jm-met-v.gold { color: #c99a16; }\n\n  .jm-kf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(28, 23, 16, 0.08); margin-bottom: 24px; }\n\n  .jm-kf { background: #1C1710; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; gap: 10px; min-height: 80px; }\n\n  .jm-kf-l { font-size: 12px; letter-spacing: 0.5px; text-transform: uppercase; color: rgba(255, 255, 255, 0.65); font-weight: 400; line-height: 1.5; }\n\n  .jm-kf-v { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 26px; color: #fcc11c; font-weight: 300; white-space: nowrap; }\n\n  .jm-payment-plan { background: #F5F0E8; border: 0.5px solid rgba(28, 23, 16, 0.1); padding: 20px; margin-bottom: 24px; }\n\n  .jm-pp-title { font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: #c99a16; margin-bottom: 16px; font-weight: 500; }\n\n  .jm-pp-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 0.5px solid rgba(28, 23, 16, 0.06); }\n\n  .jm-pp-row:last-child { border-bottom: none; }\n\n  .jm-pp-lbl { font-size: 15px; color: rgba(28, 23, 16, 0.7); line-height: 1.5; }\n\n  .jm-pp-val { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 22px; color: #1C1710; font-weight: 400; white-space: nowrap; }\n\n  .jm-proj-lbl { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: #c99a16; margin-bottom: 14px; font-weight: 500; }\n\n  .jm-proj-hd { display: grid; grid-template-columns: 60px 1fr 1fr 1fr; gap: 4px; padding-bottom: 8px; border-bottom: 0.5px solid rgba(28, 23, 16, 0.08); margin-bottom: 2px; }\n\n  .jm-phc { font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: rgba(28, 23, 16, 0.55); font-weight: 500; }\n\n  .jm-prow { display: grid; grid-template-columns: 60px 1fr 1fr 1fr; gap: 4px; padding: 9px 0; border-bottom: 0.5px solid rgba(28, 23, 16, 0.05); }\n\n  .jm-pyr { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 18px; color: rgba(28, 23, 16, 0.6); white-space: nowrap; }\n\n  .jm-pv { font-size: 15px; color: rgba(28, 23, 16, 0.75); font-weight: 500; white-space: nowrap; min-width: 80px; }\n\n  .jm-pv.pos { color: #2E6E42; font-weight: 500; white-space: nowrap; }\n\n  #jmS3 { background: #F5F0E8; }\n\n  .jm-s3-hdr { background: #1C1710; padding: 40px 8%; display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 16px; }\n\n  .jm-s3-back { background: transparent; border: 0.5px solid rgba(252,193,28, 0.3); color: #fcc11c; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; padding: 11px 20px; cursor: pointer; font-family: 'Montserrat', sans-serif; }\n\n  .jm-s3-title { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 44px; font-weight: 300; color: #fff; line-height: 1.05; }\n\n  .jm-s3-title em { font-style: italic; color: #fcc11c; }\n\n  .jm-s3-sub { font-size: 12px; letter-spacing: 1.2px; color: rgba(255, 255, 255, 0.45); margin-top: 10px; }\n\n  .jm-s3-body { padding: 40px 8%; }\n\n  .jm-ucard { border: 0.5px solid rgba(28, 23, 16, 0.1); background: #fff; margin-bottom: 16px; overflow: hidden; }\n\n  .jm-ucard-hd { background: #1C1710; padding: 14px 20px; display: flex; justify-content: space-between; align-items: center; }\n\n  .jm-ucard-name { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 20px; color: #fff; font-weight: 300; }\n\n  .jm-ucard-badge { background: #fcc11c; color: #1C1710; font-size: 10px; letter-spacing: 1px; padding: 4px 10px; text-transform: uppercase; font-weight: 500; }\n\n  .jm-ucard-grid { display: grid; grid-template-columns: repeat(4, 1fr); }\n\n  .jm-ucell { padding: 16px; border-right: 0.5px solid rgba(28, 23, 16, 0.06); }\n\n  .jm-ucell:last-child { border-right: none; }\n\n  .jm-ucell-l { font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: rgba(28, 23, 16, 0.5); margin-bottom: 6px; font-weight: 500; }\n\n  .jm-ucell-v { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 20px; font-weight: 300; color: #1C1710; }\n\n  .jm-ucell-v.gold { color: #c99a16; }\n\n  .jm-ucell-v.green { color: #2E6E42; }\n\n  .jm-ucell-v.muted { color: rgba(28, 23, 16, 0.35); font-size: 15px; }\n\n  .jm-ucell-sub { font-size: 11px; color: rgba(28, 23, 16, 0.5); margin-top: 3px; }\n\n  .jm-ucard-divlbl { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #c99a16; padding: 10px 16px; background: rgba(28, 23, 16, 0.02); border-top: 0.5px solid rgba(28, 23, 16, 0.05); font-weight: 500; }\n\n  .jm-ucard-pp { padding: 12px 16px; background: #F5F0E8; border-top: 0.5px solid rgba(28, 23, 16, 0.06); }\n\n  .jm-ucard-pp-title { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #c99a16; margin-bottom: 10px; font-weight: 500; }\n\n  .jm-ucard-pp-rows { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }\n\n  .jm-ucard-pp-item { background: #fff; padding: 10px 12px; }\n\n  .jm-ucard-pp-item-l { font-size: 10px; color: rgba(28, 23, 16, 0.55); letter-spacing: 0.5px; margin-bottom: 4px; font-weight: 500; }\n\n  .jm-ucard-pp-item-v { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 18px; color: #1C1710; font-weight: 300; }\n\n  .jm-ucard-proj { padding: 12px 16px; border-top: 0.5px solid rgba(28, 23, 16, 0.05); }\n\n  .jm-up-hd { display: grid; grid-template-columns: 56px 1fr 1fr 1fr 1fr; gap: 4px; padding-bottom: 6px; border-bottom: 0.5px solid rgba(28, 23, 16, 0.07); margin-bottom: 3px; }\n\n  .jm-uphc { font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: rgba(28, 23, 16, 0.45); font-weight: 500; }\n\n  .jm-uprow { display: grid; grid-template-columns: 56px 1fr 1fr 1fr 1fr; gap: 4px; padding: 6px 0; border-bottom: 0.5px solid rgba(28, 23, 16, 0.04); }\n\n  .jm-uprow:last-child { border-bottom: none; }\n\n  .jm-upyr { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 15px; color: rgba(28, 23, 16, 0.5); }\n\n  .jm-upv { font-size: 13px; color: rgba(28, 23, 16, 0.7); }\n\n  .jm-upv.gr { color: #2E6E42; }\n\n  .jm-combined { background: #1C1710; padding: 32px; margin-bottom: 16px; }\n\n  .jm-comb-ttl { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #fcc11c; margin-bottom: 20px; font-weight: 500; }\n\n  .jm-comb-sec { font-size: 10px; letter-spacing: 1.8px; text-transform: uppercase; color: rgba(255, 255, 255, 0.4); margin-bottom: 12px; padding-bottom: 8px; border-bottom: 0.5px solid rgba(255, 255, 255, 0.1); font-weight: 500; }\n\n  .jm-comb-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255, 255, 255, 0.05); margin-bottom: 16px; }\n\n  .jm-cc { background: #1C1710; padding: 16px; }\n\n  .jm-cc-l { font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: rgba(255, 255, 255, 0.5); margin-bottom: 6px; font-weight: 500; }\n\n  .jm-cc-v { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 22px; font-weight: 300; }\n\n  .jm-cc-v.gold { color: #fcc11c; }\n\n  .jm-cc-v.green { color: #8FCF9A; }\n\n  .jm-cc-v.white { color: #fff; }\n\n  .jm-cc-sub { font-size: 11px; color: rgba(255, 255, 255, 0.4); margin-top: 4px; }\n\n  .jm-act-lbl { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: #c99a16; margin-bottom: 14px; font-weight: 500; }\n\n  .jm-act-title { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 38px; font-weight: 300; color: #1C1710; margin-bottom: 32px; line-height: 1.1; }\n\n  .jm-act-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; background: rgba(28, 23, 16, 0.08); }\n\n  .jm-act { padding: 32px 28px; background: #fff; position: relative; }\n\n  .jm-act:last-child { background: #1C1710; }\n\n  .jm-act-n { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 48px; color: rgba(28, 23, 16, 0.04); font-weight: 300; position: absolute; top: 16px; right: 20px; line-height: 1; }\n\n  .jm-act:last-child .jm-act-n { color: rgba(255, 255, 255, 0.04); }\n\n  .jm-act-icon { width: 32px; height: 32px; border: 0.5px solid rgba(28, 23, 16, 0.15); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }\n\n  .jm-act:last-child .jm-act-icon { border-color: rgba(252,193,28, 0.3); }\n\n  .jm-act-ct { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 22px; font-weight: 300; color: #1C1710; margin-bottom: 8px; }\n\n  .jm-act:last-child .jm-act-ct { color: #fff; }\n\n  .jm-act-desc { font-size: 15px; line-height: 1.85; color: rgba(28, 23, 16, 0.72); margin-bottom: 22px; }\n\n  .jm-act:last-child .jm-act-desc { color: rgba(255, 255, 255, 0.55); }\n\n  .jm-act-btn { display: inline-block; padding: 12px 22px; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; font-family: 'Montserrat', sans-serif; background: #1C1710; color: #F5F0E8; border: none; cursor: pointer; font-weight: 500; }\n\n  .jm-act:last-child .jm-act-btn { background: #fcc11c; color: #1C1710; }\n\n  .jm-disc { padding: 24px 0; font-size: 12px; color: rgba(28, 23, 16, 0.6); line-height: 1.6; border-top: 0.5px solid rgba(28, 23, 16, 0.12); margin-top: 32px; font-weight: 400; }\n\n  .jm-ucard-toggle { cursor: pointer; user-select: none; }\n\n  .jm-ucard-arrow { width: 28px; height: 28px; border: 0.5px solid rgba(255, 255, 255, 0.2); display: flex; align-items: center; justify-content: center; transition: transform 0.25s; flex-shrink: 0; }\n\n  .jm-ucard-arrow.open { transform: rotate(180deg); }\n\n  .jm-ucard-body { overflow: hidden; transition: max-height 0.3s ease; max-height: 0; }\n\n  .jm-ucard-body.open { max-height: 2000px; }\n\n  .jm-sum-combined { background: #F5F0E8; border: 0.5px solid rgba(28, 23, 16, 0.1); margin-bottom: 24px; overflow: hidden; }\n\n  .jm-sum-combined-hd { background: #1C1710; padding: 20px 24px; }\n\n  .jm-sum-combined-title { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 26px; color: #fff; font-weight: 300; margin-bottom: 4px; }\n\n  .jm-sum-combined-sub { font-size: 12px; letter-spacing: 1.2px; color: rgba(255, 255, 255, 0.5); text-transform: uppercase; font-weight: 500; }\n\n  .jm-big-cards { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; background: rgba(28, 23, 16, 0.08); margin-bottom: 1px; }\n\n  .jm-big-card { background: #fff; padding: 24px 20px; }\n\n  .jm-big-card.dark { background: #1C1710; }\n\n  .jm-big-card-emoji { font-size: 22px; margin-bottom: 10px; }\n\n  .jm-big-card-label { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(28, 23, 16, 0.4); margin-bottom: 6px; font-weight: 500; }\n\n  .jm-big-card.dark .jm-big-card-label { color: rgba(255, 255, 255, 0.35); }\n\n  .jm-big-card-value { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 34px; font-weight: 300; color: #1C1710; line-height: 1; }\n\n  .jm-big-card.dark .jm-big-card-value { color: #fcc11c; }\n\n  .jm-big-card-value.green { color: #2E6E42; }\n\n  .jm-big-card-sub { font-size: 13px; color: rgba(28, 23, 16, 0.4); margin-top: 6px; }\n\n  .jm-big-card.dark .jm-big-card-sub { color: rgba(255, 255, 255, 0.25); }\n\n  .jm-breakdown { padding: 24px; }\n\n  .jm-breakdown-title { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: #c99a16; margin-bottom: 16px; font-weight: 500; }\n\n  .jm-breakdown-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 0.5px solid rgba(28, 23, 16, 0.06); gap: 8px; flex-wrap: wrap; }\n\n  .jm-breakdown-row:last-child { border-bottom: none; }\n\n  .jm-breakdown-label { font-size: 16px; color: rgba(28, 23, 16, 0.65); line-height: 1.4; }\n\n  .jm-breakdown-label.bold { color: #1C1710; font-weight: 500; }\n\n  .jm-breakdown-value { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 22px; color: #1C1710; font-weight: 300; white-space: nowrap; }\n\n  .jm-breakdown-value.green { color: #2E6E42; }\n\n  .jm-breakdown-value.gold { color: #c99a16; }\n\n  .jm-breakdown-value.red { color: #B85A5A; }\n\n  .jm-chart { padding: 24px; background: #F5F0E8; border-top: 0.5px solid rgba(28, 23, 16, 0.06); }\n\n  .jm-chart-title { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: #c99a16; margin-bottom: 20px; font-weight: 500; }\n\n  .jm-chart-row { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }\n\n  .jm-chart-label { font-size: 13px; color: rgba(28, 23, 16, 0.5); width: 50px; text-align: right; flex-shrink: 0; }\n\n  .jm-chart-bar-wrap { flex: 1; height: 32px; background: rgba(28, 23, 16, 0.05); position: relative; overflow: hidden; }\n\n  .jm-chart-bar { height: 100%; background: #1C1710; display: flex; align-items: center; padding-left: 10px; transition: width 0.8s ease; }\n\n  .jm-chart-bar.gold { background: #fcc11c; }\n\n  .jm-chart-bar-val { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 15px; color: #fff; white-space: nowrap; }\n\n  .jm-chart-bar-delta { font-family: 'Montserrat', sans-serif; font-size: 11px; color: rgba(255, 255, 255, 0.7); margin-left: 8px; white-space: nowrap; font-weight: 400; }\n\n  .jm-chart-sub { display: none; }\n\n  .jm-chart-sub.open { display: flex; }\n\n  .jm-chart-sub .jm-chart-bar-wrap { height: 22px; }\n\n  .jm-chart-sub .jm-chart-label { font-size: 12px; color: rgba(28, 23, 16, 0.4); }\n\n  .jm-chart-sub .jm-chart-bar { background: rgba(252,193,28, 0.55); }\n\n  .jm-chart-sub .jm-chart-bar-val { font-size: 13px; }\n\n  .jm-chart-sub .jm-chart-bar-delta { font-size: 10px; color: rgba(255, 255, 255, 0.75); }\n\n  .jm-chart-toggle { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; cursor: pointer; user-select: none; }\n\n  .jm-chart-toggle .jm-chart-toggle-btn { font-family: 'Montserrat', sans-serif; font-size: 11px; letter-spacing: 0.5px; color: #c99a16; padding: 6px 12px; border: 0.5px dashed rgba(155, 138, 106, 0.45); background: transparent; margin-left: 62px; transition: all 0.2s; text-transform: none; font-weight: 500; }\n\n  .jm-chart-toggle:hover .jm-chart-toggle-btn { color: #1C1710; border-color: rgba(28, 23, 16, 0.4); background: rgba(252,193,28, 0.1); }\n\n  .jm-chart-toggle-icon { display: inline-block; width: 10px; margin-right: 6px; font-weight: 500; }\n\n  .jm-chart-legend { display: flex; gap: 20px; margin-top: 12px; flex-wrap: wrap; }\n\n  .jm-assumptions { padding: 28px 24px; background: #fff; border-top: 0.5px solid rgba(28, 23, 16, 0.06); }\n\n  .jm-assumptions-title { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: #c99a16; margin-bottom: 6px; font-weight: 500; }\n\n  .jm-assumptions-lead { font-size: 12px; color: rgba(28, 23, 16, 0.55); line-height: 1.5; margin-bottom: 18px; }\n\n  .jm-assumptions-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; }\n\n  .jm-assumption { padding: 10px 0; border-bottom: 0.5px solid rgba(28, 23, 16, 0.06); }\n\n  .jm-assumption:last-child, .jm-assumption:nth-last-child(2) { border-bottom: none; }\n\n  .jm-assumption-label { font-size: 11px; letter-spacing: 0.5px; text-transform: uppercase; color: rgba(28, 23, 16, 0.5); margin-bottom: 4px; font-weight: 500; }\n\n  .jm-assumption-value { font-family: 'JMNumerics', 'Cormorant Garamond', serif; font-size: 18px; color: #1C1710; font-weight: 400; line-height: 1.3; }\n\n  .jm-assumption-note { font-size: 11px; color: rgba(28, 23, 16, 0.45); margin-top: 3px; line-height: 1.4; }\n\n  .jm-chart-leg-item { display: flex; align-items: center; gap: 6px; font-size: 12px; color: rgba(28, 23, 16, 0.5); }\n\n  .jm-chart-leg-dot { width: 10px; height: 10px; flex-shrink: 0; }\n\n  @media(max-width:768px) {\n\n    .jm-assumptions-grid { grid-template-columns: 1fr; gap: 4px; }\n\n    .jm-assumption:nth-last-child(2) { border-bottom: 0.5px solid rgba(28, 23, 16, 0.06); }\n\n    #jmS1>div { padding: 48px 6% 40px !important; }\n\n    .jm-s1-banner { flex-direction: column !important; padding: 40px 6% 36px !important; gap: 20px !important; }\n\n    .jm-s1-banner-title { font-size: 38px !important; }\n\n    .jm-s1-banner-right { text-align: left !important; padding-top: 0 !important; max-width: 100% !important; }\n\n    .jm-s1-hero { padding: 60px 6% 72px !important; }\n\n    .jm-s1-title { font-size: 44px !important; }\n\n    .jm-s1-sub { font-size: 15px !important; }\n\n    .jm-btn-primary, .jm-btn-outline { padding: 14px 32px !important; font-size: 13px !important; }\n\n    .jm-s1-stats { grid-template-columns: 1fr 1fr !important; gap: 1px !important; }\n\n    .jm-s2-top { padding: 16px 5% !important; flex-wrap: wrap; gap: 10px; }\n\n    .jm-s2-top-title { font-size: 22px !important; }\n\n    .jm-s2-top-right { width: 100%; justify-content: space-between; }\n\n    .jm-s2-body { grid-template-columns: 1fr !important; min-height: auto !important; }\n\n    .jm-config { padding: 24px 5% !important; border-right: none !important; border-bottom: 0.5px solid rgba(28, 23, 16, 0.1); }\n\n    .jm-type-row { grid-template-columns: 1fr 1fr !important; }\n\n    .jm-results { padding: 24px 5% !important; }\n\n    .jm-res-unit { font-size: 22px !important; }\n\n    .jm-metrics { grid-template-columns: 1fr 1fr !important; }\n\n    .jm-met { padding: 16px !important; }\n\n    .jm-met-v { font-size: 26px !important; }\n\n    .jm-kf-row { grid-template-columns: 1fr !important; }\n\n    .jm-proj-hd, .jm-prow { grid-template-columns: 48px 1fr 1fr 1fr !important; gap: 4px !important; }\n\n    .jm-phc, .jm-pv { font-size: 12px !important; }\n\n    .jm-tog { font-size: 12px !important; padding: 11px 6px !important; letter-spacing: 0.5px !important; }\n\n    .jm-ltv-row { gap: 12px !important; }\n\n    .jm-ltv-pct { font-size: 30px !important; min-width: 60px !important; }\n\n    .jm-s3-hdr { padding: 28px 5% !important; flex-direction: column; gap: 16px; align-items: flex-start !important; }\n\n    .jm-s3-title { font-size: 34px !important; }\n\n    .jm-s3-body { padding: 20px 5% !important; }\n\n    .jm-ucard-grid { grid-template-columns: 1fr 1fr !important; }\n\n    .jm-ucell { padding: 12px !important; }\n\n    .jm-ucell-v { font-size: 15px !important; }\n\n    .jm-big-cards { grid-template-columns: 1fr !important; }\n\n    .jm-big-card-value { font-size: 28px !important; }\n\n    .jm-breakdown { padding: 16px !important; }\n\n    .jm-breakdown-label { font-size: 14px !important; }\n\n    .jm-breakdown-value { font-size: 18px !important; }\n\n    .jm-comb-grid { grid-template-columns: 1fr 1fr !important; }\n\n    .jm-cc-v { font-size: 20px !important; }\n\n    .jm-act-grid { grid-template-columns: 1fr !important; }\n\n    .jm-act { border-right: none !important; border-bottom: 0.5px solid rgba(28, 23, 16, 0.08); }\n\n    .jm-ucard-pp-rows { grid-template-columns: 1fr 1fr !important; }\n\n    .jm-chart-label { font-size: 12px !important; width: 36px !important; }\n\n    .jm-chart-bar-val { font-size: 13px !important; }\n\n    .jm-up-hd, .jm-uprow { grid-template-columns: 40px 1fr 1fr 1fr !important; }\n\n    .jm-uphc, .jm-upv { font-size: 11px !important; }\n\n    #jmPortEmpty { padding: 20px !important; }\n\n  }\n\n  @media(max-width:380px) {\n\n    .jm-s1-title { font-size: 34px !important; }\n\n    .jm-metrics { grid-template-columns: 1fr !important; }\n\n    .jm-ucard-grid { grid-template-columns: 1fr !important; }\n\n    .jm-comb-grid { grid-template-columns: 1fr !important; }\n\n    .jm-breakdown-row { flex-direction: column; align-items: flex-start !important; gap: 4px; }\n\n    .jm-breakdown-value { font-size: 16px !important; }\n\n  }\n\n  @media(min-width:769px) and (max-width:1024px) {\n\n    .jm-s2-body { grid-template-columns: 1fr !important; }\n\n    .jm-config { padding: 28px 5% !important; border-right: none !important; border-bottom: 0.5px solid rgba(28, 23, 16, 0.1); }\n\n    .jm-results { padding: 28px 5% !important; }\n\n    .jm-s2-top { padding: 16px 5% !important; }\n\n    .jm-s1-title { font-size: 56px !important; }\n\n    .jm-type-row { grid-template-columns: 1fr 1fr !important; }\n\n    .jm-big-cards { grid-template-columns: 1fr !important; }\n\n    .jm-ucard-grid { grid-template-columns: 1fr 1fr !important; }\n\n    .jm-s3-hdr { padding: 28px 5% !important; flex-direction: column; gap: 16px; }\n\n    .jm-s3-body { padding: 24px 5% !important; }\n\n    .jm-comb-grid { grid-template-columns: 1fr 1fr !important; }\n\n    .jm-act-grid { grid-template-columns: 1fr !important; }\n\n    .jm-s3-title { font-size: 38px !important; }\n\n  }\n\n<\/style>\n\n<div class=\"jm\" style=\"position:relative;width:100%;\">\n\n  <div id=\"jmS1\" class=\"jm-screen active\">\n\n    <div class=\"jm-s1-banner\">\n\n      <div class=\"jm-s1-banner-left\">\n\n        <div class=\"jm-s1-banner-tag\">Investment Tools<\/div>\n\n        <div class=\"jm-s1-banner-title\">Calculate your<br><em>returns.<\/em><\/div>\n\n      <\/div>\n\n      <div class=\"jm-s1-banner-right\">Select a development, choose your unit type and instantly see projected yield, net income and 15-year capital growth \u2014 in real time.<\/div>\n\n    <\/div>\n\n    <div class=\"jm-s1-hero\">\n\n      <div class=\"jm-s1-title\">Welcome to your<br><em>investment<\/em><br>calculator.<\/div>\n\n      <div class=\"jm-s1-sub\">Build your personalised UK property portfolio. See gross yield, net income, capital growth and 15-year projections \u2014 all in real time.<\/div>\n\n      <div class=\"jm-s1-btns\">\n\n        <button class=\"jm-btn-primary\" style=\"background:#fcc11c;color:#1C1710;font-size:11px;letter-spacing:3px;padding:18px 64px;\" onclick=\"jmGo(2)\">Calculate Now \u2192<\/button>\n\n      <\/div>\n\n    <\/div>\n\n  <\/div>\n\n  <div id=\"jmS2\" class=\"jm-screen\">\n\n    <div class=\"jm-s2-top\">\n\n      <div>\n\n        <div class=\"jm-s2-top-title\">Build your portfolio<\/div>\n\n        <div class=\"jm-s2-top-sub\">Select project, choose unit type and configure your investment<\/div>\n\n      <\/div>\n\n      <div class=\"jm-s2-top-right\">\n\n        <div class=\"jm-port-count-badge\" id=\"jmPortBadge\">0 units added<\/div>\n\n        <button class=\"jm-summary-btn-top\" id=\"jmSumBtn\" title=\"Add at least one unit to your portfolio first\" onclick=\"if(!this.classList.contains('enabled')){return;}jmGo(3)\">View summary \u2192<\/button>\n\n      <\/div>\n\n    <\/div>\n\n    <div class=\"jm-s2-body\">\n\n      <div class=\"jm-config\">\n\n        <div class=\"jm-config-sec\">Step 01 \u2014 Select your investment<\/div>\n\n        <div class=\"jm-field\">\n\n          <div class=\"jm-lbl\">Development<\/div>\n\n          <div class=\"jm-dd\" id=\"jmProjDD\">\n\n            <button class=\"jm-dd-btn\" id=\"jmProjBtn\" onclick=\"jmToggleDD('jmProjDD')\">\n\n              <span id=\"jmProjLabel\" style=\"color:rgba(28,23,16,0.35);\">Select a development...<\/span>\n\n              <svg width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" fill=\"none\"><path d=\"M1 1l5 5 5-5\" stroke=\"#c99a16\" stroke-width=\"1.5\" stroke-linecap=\"round\"\/><\/svg>\n\n            <\/button>\n\n            <div class=\"jm-dd-list\" id=\"jmProjList\">\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickProj('penny','Penny Place \u2014 Wolverhampton',this)\">Penny Place \u2014 Wolverhampton<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickProj('lombe','Lombe House \u2014 Derby',this)\">Lombe House \u2014 Derby<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickProj('cathedral','Cathedral One \u2014 Derby',this)\">Cathedral One \u2014 Derby<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickProj('stpaul','30 St Paul \u2014 Birmingham',this)\">30 St Paul \u2014 Birmingham<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickProj('chapmans','Chapmans Yard \u2014 Birmingham',this)\">Chapmans Yard \u2014 Birmingham<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickProj('charles','Charles Green Residences \u2014 Birmingham',this)\">Charles Green Residences \u2014 Birmingham<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickProj('thepoint','The Point \u2014 Wakefield',this)\">The Point \u2014 Wakefield<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickProj('bingley','Bingley House \u2014 The Halcyon, Leeds',this)\">Bingley House \u2014 The Halcyon, Leeds<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickProj('beck','Beck Pavilion \u2014 The Halcyon, Leeds',this)\">Beck Pavilion \u2014 The Halcyon, Leeds<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickProj('boundary','Boundary View \u2014 The Halcyon, Leeds',this)\">Boundary View \u2014 The Halcyon, Leeds<\/div>\n\n            <\/div>\n\n          <\/div>\n\n        <\/div>\n\n        <div class=\"jm-field\">\n\n          <div class=\"jm-lbl\">Unit type<\/div>\n\n          <div class=\"jm-type-row\" id=\"jmTypeRow\">\n\n            <div class=\"jm-tc\" id=\"jmTcStudio\" onclick=\"jmSetType('studio',this)\"><div class=\"jm-tc-label\">Studio<\/div><div class=\"jm-tc-price\" id=\"jmPriceStudio\">\u2014<\/div><\/div>\n\n            <div class=\"jm-tc active\" id=\"jmTc1bed\" onclick=\"jmSetType('1bed',this)\"><div class=\"jm-tc-label\">1 Bed<\/div><div class=\"jm-tc-price\" id=\"jmPrice1bed\">\u2014<\/div><\/div>\n\n            <div class=\"jm-tc\" id=\"jmTc2bed\" onclick=\"jmSetType('2bed',this)\"><div class=\"jm-tc-label\">2 Bed<\/div><div class=\"jm-tc-price\" id=\"jmPrice2bed\">\u2014<\/div><\/div>\n\n            <div class=\"jm-tc\" id=\"jmTc3bed\" onclick=\"jmSetType('3bed',this)\"><div class=\"jm-tc-label\">3 Bed<\/div><div class=\"jm-tc-price\" id=\"jmPrice3bed\">\u2014<\/div><\/div>\n\n          <\/div>\n\n        <\/div>\n\n\n        <div class=\"jm-custom-price-wrap\" id=\"jmCustomPriceWrap\">\n          <div class=\"jm-custom-price-label\">Set your own price (optional)<\/div>\n          <input type=\"number\" class=\"jm-custom-price-input\" id=\"jmCustomPrice\" placeholder=\"e.g. 200000\" oninput=\"jmOnCustomPrice()\" min=\"50000\" max=\"5000000\">\n          <div class=\"jm-custom-price-note\">Override the listed price \u2014 all calculations will update automatically.<\/div>\n          <span class=\"jm-custom-price-clear\" id=\"jmCustomPriceClear\" style=\"display:none;\" onclick=\"jmClearCustomPrice()\">\u2715 Clear custom price<\/span>\n        <\/div>\n\n        <div class=\"jm-divider\"><\/div>\n\n        <div class=\"jm-config-sec\">Step 02 \u2014 Payment settings<\/div>\n\n        <div class=\"jm-field\">\n\n          <div class=\"jm-lbl\">Investment type<\/div>\n\n          <div class=\"jm-toggle\">\n\n            <button class=\"jm-tog on\" id=\"jmBtnMort\" onclick=\"jmSetPay('mortgage')\">Mortgage<\/button>\n\n            <button class=\"jm-tog off\" id=\"jmBtnCash\" onclick=\"jmSetPay('cash')\">Cash investment<\/button>\n\n          <\/div>\n\n        <\/div>\n\n        <div class=\"jm-field\">\n\n          <div class=\"jm-lbl\">Nationality<\/div>\n\n          <div class=\"jm-dd\" id=\"jmNatDD\">\n\n            <button class=\"jm-dd-btn\" id=\"jmNatBtn\" onclick=\"jmToggleDD('jmNatDD')\">\n\n              <span id=\"jmNatLabel\">Turkey<\/span>\n\n              <svg width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" fill=\"none\"><path d=\"M1 1l5 5 5-5\" stroke=\"#c99a16\" stroke-width=\"1.5\" stroke-linecap=\"round\"\/><\/svg>\n\n            <\/button>\n\n            <div class=\"jm-dd-list\" id=\"jmNatList\">\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('uk','UK Resident',this)\">UK Resident<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('uae','UAE \/ GCC',this)\">UAE \/ GCC<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('saudi','Saudi Arabia',this)\">Saudi Arabia<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('qatar','Qatar',this)\">Qatar<\/div>\n\n              <div class=\"jm-dd-opt selected\" onclick=\"jmPickNat('turkey','Turkey',this)\">Turkey<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('nigeria','Nigeria',this)\">Nigeria<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('southafrica','South Africa',this)\">South Africa<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('hongkong','Hong Kong',this)\">Hong Kong<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('china','China (Mainland)',this)\">China (Mainland)<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('singapore','Singapore',this)\">Singapore<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('malaysia','Malaysia',this)\">Malaysia<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('india','India',this)\">India<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('pakistan','Pakistan',this)\">Pakistan<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('usa','United States',this)\">United States<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('canada','Canada',this)\">Canada<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('eu','EU Resident',this)\">EU Resident<\/div>\n\n              <div class=\"jm-dd-opt\" onclick=\"jmPickNat('other','Other \/ Non-UK',this)\">Other \/ Non-UK<\/div>\n\n            <\/div>\n\n          <\/div>\n\n        <\/div>\n\n        <div id=\"jmMortSection\">\n\n          <div class=\"jm-field\">\n\n            <div class=\"jm-lbl\">Loan to value<\/div>\n\n            <div class=\"jm-ltv-row\">\n\n              <div class=\"jm-ltv-pct\" id=\"jmLtvPct\">70%<\/div>\n\n              <div class=\"jm-ltv-ctrl\">\n\n                <input type=\"range\" class=\"jm-slider\" id=\"jmLtv\" min=\"0\" max=\"75\" value=\"70\" step=\"5\" oninput=\"S.ltv=parseInt(this.value);document.getElementById('jmLtvPct').textContent=S.ltv+'%';jmCalc()\">\n\n                <div class=\"jm-slider-ends\"><span>0%<\/span><span>75% max<\/span><\/div>\n\n              <\/div>\n\n            <\/div>\n\n          <\/div>\n\n          <div class=\"jm-field\">\n\n            <div class=\"jm-lbl\">Mortgage type<\/div>\n\n            <div class=\"jm-toggle\">\n\n              <button class=\"jm-tog on\" id=\"jmBtnIO\" onclick=\"jmSetMort('io')\">Interest only<\/button>\n\n              <button class=\"jm-tog off\" id=\"jmBtnRep\" onclick=\"jmSetMort('rep')\">Repayment<\/button>\n\n            <\/div>\n\n            <div id=\"jmMortExplain\" style=\"margin-top:10px;padding:12px;background:rgba(28,23,16,0.04);border-left:2px solid #c99a16;\">\n\n              <div style=\"font-size:9px;font-weight:500;color:#1C1710;letter-spacing:0.3px;margin-bottom:4px;\" id=\"jmMortExplainTitle\">Interest Only<\/div>\n\n              <div style=\"font-size:12px;color:rgba(28,23,16,0.5);line-height:1.6;\" id=\"jmMortExplainText\">You only pay the interest each month \u2014 not the loan itself. Your monthly payments are lower, but the full loan amount remains at the end of the term. Popular with buy-to-let investors.<\/div>\n\n            <\/div>\n\n          <\/div>\n\n        <\/div>\n\n        <button class=\"jm-add-btn\" onclick=\"jmAddToPortfolio()\">+ Add to portfolio<\/button>\n\n        <div id=\"jmPortEmpty\" style=\"margin-top:16px;padding:24px;border:0.5px dashed rgba(28,23,16,0.2);text-align:center;\">\n\n          <div style=\"font-family:'JMNumerics','Cormorant Garamond',serif;font-size:20px;font-weight:300;color:rgba(28,23,16,0.3);margin-bottom:6px;\">Your portfolio is empty<\/div>\n\n          <div style=\"font-size:9px;color:rgba(28,23,16,0.25);letter-spacing:0.5px;line-height:1.6;\">Configure your investment above and click<br>\"+ Add to portfolio\" to begin building.<\/div>\n\n        <\/div>\n\n        <div class=\"jm-pills-area\" id=\"jmPortArea\" style=\"display:none;margin-top:16px;\">\n\n          <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;\">\n\n            <div class=\"jm-pills-lbl\" id=\"jmCountLabel\" style=\"margin-bottom:0;\"><span id=\"jmCount\">0<\/span> units in portfolio<\/div>\n\n            <button onclick=\"jmGo(3)\" id=\"jmViewSummaryBtn\" style=\"display:none;width:100%;padding:18px;background:#fcc11c;border:none;color:#1C1710;font-size:11px;letter-spacing:3px;text-transform:uppercase;font-family:'Montserrat',sans-serif;cursor:pointer;font-weight:600;margin-top:16px;transition:background 0.2s;\" onmouseover=\"this.style.background='#fdd04e'\" onmouseout=\"this.style.background='#fcc11c'\">View Portfolio Summary \u2192<\/button>\n\n          <\/div>\n\n          <div id=\"jmPortCards\"><\/div>\n\n        <\/div>\n\n      <\/div>\n\n      <div class=\"jm-results\" id=\"jmResultsPanel\">\n\n        <div class=\"jm-res-unit\" id=\"jmResTitle\">Select a unit type to see projections<\/div>\n\n        <div class=\"jm-res-sub\" id=\"jmResSub\">Choose a development and unit type on the left<\/div>\n\n        <div class=\"jm-metrics\">\n\n          <div class=\"jm-met\"><div class=\"jm-met-l\">Monthly rental income<\/div><div class=\"jm-met-v gold\" id=\"jmMonRent\">\u2014<\/div><\/div>\n\n          <div class=\"jm-met\"><div class=\"jm-met-l\">Net monthly income<\/div><div class=\"jm-met-v gold\" id=\"jmNetMon\">\u2014<\/div><\/div>\n\n          <div class=\"jm-met\"><div class=\"jm-met-l\">Annual rental income<\/div><div class=\"jm-met-v\" id=\"jmAnnRent\">\u2014<\/div><\/div>\n\n          <div class=\"jm-met\"><div class=\"jm-met-l\">Net yield<\/div><div class=\"jm-met-v\" id=\"jmNetYield\">\u2014<\/div><\/div>\n\n        <\/div>\n\n        <div class=\"jm-kf-row\">\n\n          <div class=\"jm-kf\"><div class=\"jm-kf-l\" id=\"jmMortLbl\">Monthly mortgage<\/div><div class=\"jm-kf-v\" id=\"jmMortVal\">\u2014<\/div><\/div>\n\n          <div class=\"jm-kf\"><div class=\"jm-kf-l\">Cash needed<br><span style=\"font-size:8px;opacity:0.6;\">Exchange + SDLT + fees (excl. mortgage)<\/span><\/div><div class=\"jm-kf-v\" id=\"jmTotalCash\">\u2014<\/div><\/div>\n\n        <\/div>\n\n        <div class=\"jm-payment-plan\" id=\"jmPayPlan\">\n\n          <div class=\"jm-pp-title\">Payment plan \/ installment schedule<\/div>\n\n          <div id=\"jmPayPlanRows\"><\/div>\n\n        <\/div>\n\n        <div class=\"jm-proj-lbl\">15-year projections<\/div>\n\n        <div class=\"jm-proj-hd\"><span class=\"jm-phc\">Year<\/span><span class=\"jm-phc\">Property value<\/span><span class=\"jm-phc\">Net annual income<\/span><span class=\"jm-phc\">Total return<\/span><\/div>\n\n        <div class=\"jm-prow\"><span class=\"jm-pyr\">Year 1<\/span><span class=\"jm-pv\" id=\"jmPV1\">\u2014<\/span><span class=\"jm-pv\" id=\"jmRI1\">\u2014<\/span><span class=\"jm-pv pos\" id=\"jmTR1\">\u2014<\/span><\/div>\n\n        <div class=\"jm-prow\"><span class=\"jm-pyr\">Year 5<\/span><span class=\"jm-pv\" id=\"jmPV5\">\u2014<\/span><span class=\"jm-pv\" id=\"jmRI5\">\u2014<\/span><span class=\"jm-pv pos\" id=\"jmTR5\">\u2014<\/span><\/div>\n\n        <div class=\"jm-prow\"><span class=\"jm-pyr\">Year 10<\/span><span class=\"jm-pv\" id=\"jmPV10\">\u2014<\/span><span class=\"jm-pv\" id=\"jmRI10\">\u2014<\/span><span class=\"jm-pv pos\" id=\"jmTR10\">\u2014<\/span><\/div>\n\n        <div class=\"jm-prow\"><span class=\"jm-pyr\">Year 15<\/span><span class=\"jm-pv\" id=\"jmPV15\">\u2014<\/span><span class=\"jm-pv\" id=\"jmRI15\">\u2014<\/span><span class=\"jm-pv pos\" id=\"jmTR15\">\u2014<\/span><\/div>\n\n        <div class=\"jm-disc\" id=\"jmDiscS2\"><\/div>\n\n      <\/div>\n\n    <\/div>\n\n  <\/div>\n\n  <div id=\"jmS3\" class=\"jm-screen\">\n\n    <div class=\"jm-s3-hdr\">\n\n      <div>\n\n        <div class=\"jm-s3-title\">Your portfolio<br><em>summary.<\/em><\/div>\n\n        <div class=\"jm-s3-sub\" id=\"jmS3Sub\">0 units selected<\/div>\n\n      <\/div>\n\n      <button class=\"jm-s3-back\" onclick=\"jmGo(2)\">\u2190 Back to calculator<\/button>\n\n    <\/div>\n\n    <div class=\"jm-s3-body\" id=\"jmSumBody\">\n\n      <div style=\"padding:60px 0;text-align:center;font-family:'JMNumerics','Cormorant Garamond',serif;font-size:26px;font-weight:300;color:rgba(28,23,16,0.3);\">No units added yet.<br><span style=\"font-size:16px;font-family:'Montserrat',sans-serif;letter-spacing:1px;margin-top:12px;display:block;\">Go back and add units to your portfolio.<\/span><\/div>\n\n    <\/div>\n\n  <\/div>\n\n<\/div>\n\n<script>\n\n  const JMP = {\n\n    penny: { name: 'Penny Place', city: 'Wolverhampton', yield: 0.07, cg: 0.04, rg: 0.05, sc_psf: 2.07, paymentPlan: { type: 'phased', steps: [{ label: 'Reservation fee', value: 5000, note: 'On signing' }, { label: 'Exchange deposit (5%)', pct: 0.05, note: 'On exchange' }, { label: '24 monthly instalments (25%)', pct: 0.25, months: 24, note: 'During build' }, { label: 'Completion balance (70%)', pct: 0.70, note: 'On completion' }] }, prices: { studio: 154950, '1bed': 159950, '2bed': 204950, '3bed': null } },\n\n    lombe: { name: 'Lombe House', city: 'Derby', yield: 0.07, cg: 0.04, rg: 0.05, sc_psf: 2.0, paymentPlan: { type: 'lump', steps: [{ label: 'Reservation fee', value: 5000, note: 'On signing' }, { label: 'Exchange deposit (20%)', pct: 0.20, note: 'On exchange' }, { label: 'Completion balance (80%)', pct: 0.80, note: 'On completion' }] }, prices: { studio: 148000, '1bed': 190000, '2bed': 230000, '3bed': 300000 } },\n\n    cathedral: { name: 'Cathedral One', city: 'Derby', yield: 0.065, cg: 0.0492, rg: 0.04, sc_psf: 2.34, paymentPlan: { type: 'lump', steps: [{ label: 'Reservation fee', value: 5000, note: 'On signing' }, { label: 'Exchange deposit (20%)', pct: 0.20, note: 'On exchange' }, { label: 'Completion balance (80%)', pct: 0.80, note: 'On completion' }] }, prices: { studio: 175000, '1bed': 200000, '2bed': 262000, '3bed': null } },\n\n    stpaul: { name: '30 St Paul', city: 'Birmingham', yield: 0.06, cg: 0.04, rg: 0.0425, sc_psf: 2.07, paymentPlan: { type: 'lump', steps: [{ label: 'Reservation fee', value: 5000, note: 'On signing' }, { label: 'Exchange deposit (20%)', pct: 0.20, note: 'On exchange' }, { label: 'Completion balance (80%)', pct: 0.80, note: 'On completion' }] }, prices: { studio: 239950, '1bed': 249950, '2bed': 429950, '3bed': 574950 } },\n\n    chapmans: { name: 'Chapmans Yard', city: 'Birmingham', yield: 0.06, cg: 0.0384, rg: 0.0386, sc_psf: 2.5, paymentPlan: { type: 'lump', steps: [{ label: 'Reservation fee', value: 5000, note: 'On signing' }, { label: 'Exchange deposit (20%)', pct: 0.20, note: 'Standard' }, { label: 'Exchange deposit \u2014 Duplex (35%)', pct: 0.35, note: 'Duplex units only' }, { label: 'Completion balance', pct: null, note: 'Remaining amount on completion' }] }, prices: { studio: null, '1bed': 237000, '2bed': 362500, '3bed': null } },\n\n    charles: { name: 'Charles Green Residences', city: 'Birmingham', yield: 0.06, cg: 0.049, rg: 0.028, sc_psf: 2.0, paymentPlan: { type: 'lump', steps: [{ label: 'Reservation fee', value: 5000, note: 'On signing' }, { label: 'Exchange deposit (20%)', pct: 0.20, note: 'On exchange' }, { label: 'Completion balance (80%)', pct: 0.80, note: 'On completion' }] }, prices: { studio: null, '1bed': 205500, '2bed': 285500, '3bed': null } },\n\n    thepoint: { name: 'The Point', city: 'Wakefield', yield: 0.067, cg: 0.035, rg: 0.036, sc_psf: 2.0, paymentPlan: { type: 'lump', steps: [{ label: 'Reservation fee', value: 5000, note: 'On signing' }, { label: 'Exchange deposit (20%)', pct: 0.20, note: 'On exchange' }, { label: 'Completion balance (80%)', pct: 0.80, note: 'On completion' }] }, prices: { studio: null, '1bed': 124950, '2bed': 129950, '3bed': null } },\n\n    bingley: { name: 'Bingley House \u2014 The Halcyon', city: 'Leeds', yield: 0.07, cg: 0.04, rg: 0.0425, sc_psf: 2.50, paymentPlan: { type: 'lump', steps: [{ label: 'Reservation fee', value: 5000, note: 'On signing' }, { label: 'Exchange deposit (20%)', pct: 0.20, note: 'On exchange' }, { label: 'Completion balance (80%)', pct: 0.80, note: 'On completion' }] }, prices: { studio: null, '1bed': 149950, '2bed': 219950, '3bed': 329950 } },\n\n    beck: { name: 'Beck Pavilion \u2014 The Halcyon', city: 'Leeds', yield: 0.07, cg: 0.04, rg: 0.0425, sc_psf: 2.50, paymentPlan: { type: 'lump', steps: [{ label: 'Reservation fee', value: 5000, note: 'On signing' }, { label: 'Exchange deposit (20%)', pct: 0.20, note: 'On exchange' }, { label: 'Completion balance (80%)', pct: 0.80, note: 'On completion' }] }, prices: { studio: null, '1bed': 163950, '2bed': 208950, '3bed': null } },\n\n    boundary: { name: 'Boundary View \u2014 The Halcyon', city: 'Leeds', yield: 0.07, cg: 0.04, rg: 0.0425, sc_psf: 2.50, paymentPlan: { type: 'lump', steps: [{ label: 'Reservation fee', value: 5000, note: 'On signing' }, { label: 'Exchange deposit (20%)', pct: 0.20, note: 'On exchange' }, { label: 'Completion balance (80%)', pct: 0.80, note: 'On completion' }] }, prices: { studio: null, '1bed': 159950, '2bed': 229950, '3bed': null } },\n\n  };\n\n  const JMR = { uk: 0.045, uae: 0.055, saudi: 0.055, qatar: 0.055, turkey: 0.06, nigeria: 0.065, southafrica: 0.06, hongkong: 0.055, china: 0.055, singapore: 0.055, malaysia: 0.055, india: 0.055, pakistan: 0.06, usa: 0.055, canada: 0.055, eu: 0.05, other: 0.06 };\n\n  const JM_NAT_LABEL = { uk: 'UK Resident', uae: 'UAE \/ GCC', saudi: 'Saudi Arabia', qatar: 'Qatar', turkey: 'Turkey', nigeria: 'Nigeria', southafrica: 'South Africa', hongkong: 'Hong Kong', china: 'China (Mainland)', singapore: 'Singapore', malaysia: 'Malaysia', india: 'India', pakistan: 'Pakistan', usa: 'United States', canada: 'Canada', eu: 'EU Resident', other: 'Other \/ Non-UK' };\n\n  const JM_SOL = 2100, JM_FIXED = 190 + 1500 + 1000 + 500 + 2000;\n\n  const JM_DISCLAIMER = 'These figures are approximate and for illustrative purposes only. Net income is calculated after mortgage payments, 8% management fee and service charge. Capital growth projections are based on Savills 2025\u20132029 forecasts. Non-UK residents pay a 2% Stamp Duty surcharge on all bands. Mortgage availability and maximum LTV vary by nationality and lender. Always consult a qualified solicitor and mortgage broker before investing. \u00a9 Joseph Mews {{YEAR}}';\n\n  function jmDisclaimerText() { return JM_DISCLAIMER.replace('{{YEAR}}', new Date().getFullYear()); }\n\n  function jmInitDynamicContent() { const s2 = document.getElementById('jmDiscS2'); if (s2) s2.textContent = jmDisclaimerText(); }\n\n  function jmSdlt(p, nat) { const b = nat !== 'uk' ? [[125000, .07], [125000, .09], [675000, .12], [575000, .17], [Infinity, .19]] : [[125000, 0], [125000, .02], [675000, .05], [575000, .10], [Infinity, .12]]; let t = 0, r = p; for (const [x, rt] of b) { if (r <= 0) break; const s = Math.min(r, x); t += s * rt; r -= s; } return Math.round(t); }\n\n  function jmF(n) { return '\u00a3' + Math.round(n).toLocaleString('en-GB'); }\n\n  function jmFP(n) { return '+\u00a3' + Math.round(n).toLocaleString('en-GB'); }\n\n  let S = { proj: null, type: null, pay: 'mortgage', nat: 'turkey', ltv: 70, mort: 'io', portfolio: [], calc: null };\n\n  function jmGo(n) {\n\n    document.querySelectorAll('.jm-screen').forEach(function(scr) { scr.className = 'jm-screen'; });\n\n    document.getElementById('jmS' + n).className = 'jm-screen active';\n\n    if (n === 3) jmBuildSummary();\n\n    setTimeout(function() {\n\n      var target = document.getElementById('jmS' + n);\n\n      if (target) { var offset = target.getBoundingClientRect().top + window.pageYOffset - 100; window.scrollTo({ top: offset, behavior: 'smooth' }); }\n\n    }, 50);\n\n  }\n\n  function jmOnProjChange() { S.calc = null; jmUpdateTypePrices(); const proj = JMP[S.proj]; const types = ['studio', '1bed', '2bed', '3bed']; const first = types.find(t => proj.prices[t]); if (first) jmSetType(first, document.getElementById('jmTc' + first.replace('bed', 'bed') || 'jmTc' + first)); else jmCalc(); }\n\n  function jmUpdateTypePrices() { if (!S.proj) { ['Studio','1bed','2bed','3bed'].forEach(t => { const card = document.getElementById('jmTc'+t); const priceEl = document.getElementById('jmPrice'+t); if(card) card.className='jm-tc'; if(priceEl) priceEl.textContent='\u2014'; }); return; } const proj = JMP[S.proj]; ['studio', '1bed', '2bed', '3bed'].forEach(t => { const price = proj.prices[t]; const card = document.getElementById('jmTc' + (t === 'studio' ? 'Studio' : t === '1bed' ? '1bed' : t === '2bed' ? '2bed' : '3bed')); const priceEl = document.getElementById('jmPrice' + (t === 'studio' ? 'Studio' : t === '1bed' ? '1bed' : t === '2bed' ? '2bed' : '3bed')); if (card && priceEl) { if (price) { priceEl.textContent = 'From ' + jmF(price); card.className = 'jm-tc' + (S.type === t ? ' active' : ''); } else { priceEl.textContent = 'N\/A'; card.className = 'jm-tc unavailable'; } } }); }\n\n  function jmSetType(type, el) { S.type = type; document.querySelectorAll('.jm-tc').forEach(c => { if (!c.classList.contains('unavailable')) c.className = 'jm-tc'; }); if (el) el.className = 'jm-tc active'; jmCalc(); }\n\n  function jmSetPay(m) { S.pay = m; document.getElementById('jmBtnMort').className = 'jm-tog ' + (m === 'mortgage' ? 'on' : 'off'); document.getElementById('jmBtnCash').className = 'jm-tog ' + (m === 'cash' ? 'on' : 'off'); document.getElementById('jmMortSection').style.display = m === 'mortgage' ? 'block' : 'none'; jmCalc(); }\n\n  function jmSetMort(t) { S.mort = t; document.getElementById('jmBtnIO').className = 'jm-tog ' + (t === 'io' ? 'on' : 'off'); document.getElementById('jmBtnRep').className = 'jm-tog ' + (t === 'rep' ? 'on' : 'off'); const title = document.getElementById('jmMortExplainTitle'); const text = document.getElementById('jmMortExplainText'); if (t === 'io') { title.textContent = 'Interest Only'; text.textContent = 'You only pay the interest each month \u2014 not the loan itself. Your monthly payments are lower, but the full loan amount remains at the end of the term. Popular with buy-to-let investors.'; } else { title.textContent = 'Repayment'; text.textContent = 'You pay both the interest and a portion of the loan each month. Your monthly payments are higher, but you gradually own more of the property and owe nothing at the end of the term.'; } jmCalc(); }\n\n  function jmCalc() {\n\n    if (!S.proj || !S.type) { return; }\n    const proj = JMP[S.proj]; const listedPrice = proj.prices[S.type]; const price = S.customPrice && S.customPrice > 0 ? S.customPrice : listedPrice;\n\n    if (!price) { document.getElementById('jmResTitle').textContent = 'Not available'; document.getElementById('jmResSub').textContent = 'This development does not offer this unit type'; ['jmMonRent', 'jmNetMon', 'jmAnnRent', 'jmNetYield', 'jmMortVal', 'jmTotalCash'].forEach(id => document.getElementById(id).textContent = '\u2014'); S.calc = null; return; }\n\n    const nat = S.nat || 'turkey'; const ltv = Math.round(parseInt(document.getElementById('jmLtv').value)) \/ 100; S.ltv = Math.round(ltv * 100);\n\n    const rate = JMR[nat]; const annRent = Math.round(price * proj.yield); const moRent = Math.round(annRent \/ 12); const scAnn = Math.round(price * 0.006); const mgmtAnn = Math.round(annRent * 0.08); const loan = Math.round(price * ltv);\n\n    let mort = 0;\n\n    if (S.pay === 'mortgage' && ltv > 0) { if (S.mort === 'io') mort = Math.round(loan * rate \/ 12); else { const r = rate \/ 12, n = 300; mort = Math.round(loan * (r * Math.pow(1 + r, n)) \/ (Math.pow(1 + r, n) - 1)); } }\n\n    const netMo = moRent - mort - Math.round(mgmtAnn \/ 12) - Math.round(scAnn \/ 12); const netYield = ((annRent - mgmtAnn - scAnn) \/ price * 100).toFixed(2);\n\n    const sdlt = jmSdlt(price, nat); const resFee = 5000; const exchPct = proj.paymentPlan.type === 'phased' ? 0.05 : 0.20; const exchAmt = Math.round(price * exchPct) - resFee; const completionAmt = Math.max(0, price - resFee - exchAmt - loan); const legalFees = JM_SOL + (S.pay === 'mortgage' && ltv > 0 ? JM_FIXED : 0); const totalCash = resFee + exchAmt + completionAmt + sdlt + legalFees;\n\n    document.getElementById('jmResTitle').textContent = proj.name + ' \u2014 ' + (S.type === 'studio' ? 'Studio' : S.type === '1bed' ? '1 Bedroom' : S.type === '2bed' ? '2 Bedroom' : '3 Bedroom');\n\n    document.getElementById('jmResSub').textContent = proj.city + ' \u00b7 From ' + jmF(price) + ' \u00b7 ' + S.type.replace('bed', ' bed').replace('studio', 'Studio').toUpperCase();\n\n    document.getElementById('jmMonRent').textContent = jmF(moRent); document.getElementById('jmNetMon').textContent = jmF(netMo); document.getElementById('jmAnnRent').textContent = jmF(annRent); document.getElementById('jmNetYield').textContent = netYield + '%';\n\n    const mortLabel = S.pay === 'cash' ? 'Cash investment' : (S.mort === 'io' ? 'Interest only' : 'Repayment') + ' mortgage';\n\n    document.getElementById('jmMortLbl').textContent = mortLabel; document.getElementById('jmMortVal').textContent = S.pay === 'cash' ? '\u00a30 \/ mo' : jmF(mort) + ' \/ mo'; document.getElementById('jmTotalCash').textContent = jmF(totalCash);\n\n    const pp = proj.paymentPlan; const ppEl = document.getElementById('jmPayPlan'); const ppRows = document.getElementById('jmPayPlanRows'); ppRows.innerHTML = '';\n\n    if (pp.type === 'phased') {\n\n      const resFee2 = pp.steps.find(s => s.label.toLowerCase().includes('reservation'))?.value || 0; const exchPct2 = pp.steps.find(s => s.label.toLowerCase().includes('exchange'))?.pct || 0.05; const instPct2 = pp.steps.find(s => s.label.toLowerCase().includes('instalment') || s.label.toLowerCase().includes('installment'))?.pct || 0.25; const instMonths = pp.steps.find(s => s.label.toLowerCase().includes('instalment') || s.label.toLowerCase().includes('installment'))?.months || 24;\n\n      const exchAmt2 = Math.round(price * exchPct2) - resFee2; const instTotal = Math.round(price * instPct2); const instMonthly = Math.round(instTotal \/ instMonths); const mortgageAmt = loan; const completionClient = Math.max(0, price - resFee2 - exchAmt2 - instTotal - mortgageAmt);\n\n      const rows = [{ label: 'Reservation fee', note: 'On signing', amt: jmF(resFee2) }, { label: `Exchange deposit (${Math.round(exchPct2 * 100)}%)`, note: 'On exchange', amt: jmF(exchAmt2) }, { label: `${instMonths} monthly instalments (${Math.round(instPct2 * 100)}%)`, note: `During build \u00b7 ${jmF(instMonthly)}\/mo`, amt: jmF(instTotal) }];\n\n      if (S.pay === 'mortgage' && ltv > 0) { rows.push({ label: `Mortgage (${S.ltv}% LTV)`, note: 'Bank pays on completion', amt: jmF(mortgageAmt), highlight: true }); if (completionClient > 0) rows.push({ label: 'Completion balance (your payment)', note: 'On completion', amt: jmF(completionClient) }); } else { const completionCash = Math.max(0, price - resFee2 - exchAmt2 - instTotal); rows.push({ label: `Completion balance (${100 - Math.round(exchPct2 * 100) - Math.round(instPct2 * 100)}%)`, note: 'On completion \u2014 cash purchase', amt: jmF(completionCash) }); }\n\n      rows.forEach(r => { const goldStyle = r.highlight ? 'color:#c99a16;' : ''; ppRows.innerHTML += `<div class=\"jm-pp-row\"><span class=\"jm-pp-lbl\" style=\"${goldStyle}\">${r.label}<span style=\"color:rgba(28,23,16,0.3);margin-left:8px;\">${r.note}<\/span><\/span><span class=\"jm-pp-val\" style=\"${goldStyle}\">${r.amt}<\/span><\/div>`; });\n\n    } else {\n\n      const resFee2 = pp.steps.find(s => s.label.toLowerCase().includes('reservation'))?.value || 0; const exchPct2 = pp.steps.find(s => s.label.toLowerCase().includes('exchange') && !s.label.toLowerCase().includes('duplex'))?.pct || 0.20; const exchAmt2 = Math.round(price * exchPct2) - resFee2; const mortgageAmt = loan; const completionClient = Math.max(0, price - resFee2 - exchAmt2 - resFee2 - mortgageAmt);\n\n      if (resFee2 > 0) ppRows.innerHTML += `<div class=\"jm-pp-row\"><span class=\"jm-pp-lbl\">Reservation fee<span style=\"color:rgba(28,23,16,0.3);margin-left:8px;\">On signing<\/span><\/span><span class=\"jm-pp-val\">${jmF(resFee2)}<\/span><\/div>`;\n\n      ppRows.innerHTML += `<div class=\"jm-pp-row\"><span class=\"jm-pp-lbl\">Exchange deposit (${Math.round(exchPct2 * 100)}%)<span style=\"color:rgba(28,23,16,0.3);margin-left:8px;\">On exchange<\/span><\/span><span class=\"jm-pp-val\">${jmF(exchAmt2 + resFee2)}<\/span><\/div>`;\n\n      if (S.pay === 'mortgage' && ltv > 0) { ppRows.innerHTML += `<div class=\"jm-pp-row\"><span class=\"jm-pp-lbl\" style=\"color:#c99a16;\">Mortgage (${S.ltv}% LTV)<span style=\"color:rgba(28,23,16,0.3);margin-left:8px;\">Bank pays on completion<\/span><\/span><span class=\"jm-pp-val\" style=\"color:#c99a16;\">${jmF(mortgageAmt)}<\/span><\/div>`; if (completionClient > 0) ppRows.innerHTML += `<div class=\"jm-pp-row\"><span class=\"jm-pp-lbl\">Your completion payment<span style=\"color:rgba(28,23,16,0.3);margin-left:8px;\">On completion<\/span><\/span><span class=\"jm-pp-val\">${jmF(completionClient)}<\/span><\/div>`; else ppRows.innerHTML += `<div class=\"jm-pp-row\"><span class=\"jm-pp-lbl\" style=\"color:rgba(28,23,16,0.4);\">Completion balance<span style=\"color:rgba(28,23,16,0.3);margin-left:8px;\">Fully covered by mortgage<\/span><\/span><span class=\"jm-pp-val\" style=\"color:rgba(28,23,16,0.4);\">\u00a30<\/span><\/div>`; } else { const completionCash = Math.max(0, price - resFee2 - exchAmt2 - resFee2); ppRows.innerHTML += `<div class=\"jm-pp-row\"><span class=\"jm-pp-lbl\">Completion balance (${100 - Math.round(exchPct2 * 100)}%)<span style=\"color:rgba(28,23,16,0.3);margin-left:8px;\">On completion \u2014 cash purchase<\/span><\/span><span class=\"jm-pp-val\">${jmF(completionCash)}<\/span><\/div>`; }\n\n    }\n\n    const annMort = mort * 12;\n\n    [1, 5, 10, 15].forEach(y => {\n\n      const pv = Math.round(price * Math.pow(1 + proj.cg, y)); const grossRentY = Math.round(annRent * Math.pow(1 + proj.rg, y - 1)); const mgmtY = Math.round(grossRentY * 0.08); const netAnnY = grossRentY - annMort - mgmtY - scAnn;\n\n      let cumNet = 0; for (let j = 1; j <= y; j++) { const gRent = annRent * Math.pow(1 + proj.rg, j - 1); const mFee = gRent * 0.08; cumNet += gRent - annMort - mFee - scAnn; }\n\n      const capGain = pv - price; const totalReturn = Math.round(cumNet + capGain);\n\n      document.getElementById('jmPV' + y).textContent = jmF(pv); document.getElementById('jmRI' + y).textContent = jmF(netAnnY); document.getElementById('jmTR' + y).textContent = jmFP(totalReturn);\n\n    });\n\n    S.calc = { proj: S.proj, projName: proj.name, city: proj.city, type: S.type, price, annRent, moRent, mort, scAnn, mgmtAnn, netMo, netYield, sdlt, totalCash, pay: S.pay, nat, ltv: S.ltv, mortType: S.mort, resFee, exchAmt, exchPct, paymentPlan: pp, loan };\n\n  }\n\n  function jmAddToPortfolio() {\n\n    if (!S.calc) { alert('Please select a unit type first.'); return; }\n\n    S.portfolio.push({ ...S.calc });\n\n    \/\/ GA4 dataLayer push\n    window.dataLayer = window.dataLayer || [];\n    window.dataLayer.push({\n      event: \"calculator_add_to_portfolio\",\n      development: S.calc.projName + \" - \" + S.calc.city,\n      unit_type: S.calc.type === 'studio' ? 'Studio' : S.calc.type === '1bed' ? '1 Bed' : S.calc.type === '2bed' ? '2 Bed' : '3 Bed',\n      investment_type: S.calc.pay === 'mortgage' ? 'Mortgage' : 'Cash',\n      nationality: JM_NAT_LABEL[S.calc.nat] || S.calc.nat,\n      loan_to_value: S.calc.pay === 'mortgage' ? S.calc.ltv + '%' : 'N\/A',\n      mortgage_type: S.calc.pay === 'mortgage' ? (S.calc.mortType === 'io' ? 'Interest only' : 'Repayment') : 'N\/A'\n    });\n\n    jmRenderPortCards();\n\n    document.getElementById('jmPortBadge').textContent = (S.portfolio.length === 1 ? '1 unit added' : S.portfolio.length + ' units added');\n\n    document.getElementById('jmCountLabel').innerHTML = (S.portfolio.length === 1 ? '<span id=\"jmCount\">1<\/span> unit in portfolio' : '<span id=\"jmCount\">' + S.portfolio.length + '<\/span> units in portfolio');\n\n    document.getElementById('jmPortArea').style.display = 'block'; document.getElementById('jmPortEmpty').style.display = 'none';\n\n    const sumBtn = document.getElementById('jmSumBtn'); sumBtn.className = 'jm-summary-btn-top enabled'; sumBtn.removeAttribute('title');\n\n    const badge = document.getElementById('jmPortBadge'); badge.classList.remove('jm-badge-pulse'); void badge.offsetWidth; badge.classList.add('jm-badge-pulse');\n\n    setTimeout(() => { const cards = document.querySelectorAll('#jmPortCards > div'); const last = cards[cards.length - 1]; if (last) { last.classList.add('jm-card-flash'); setTimeout(() => last.classList.remove('jm-card-flash'), 700); } }, 10);\n\n    \/\/ Reset selection after adding\n    S.proj = null; S.type = null; S.calc = null; S.customPrice = null;\n    document.getElementById('jmCustomPrice').value = '';\n    document.getElementById('jmCustomPriceClear').style.display = 'none';\n    const lbl = document.getElementById('jmProjLabel'); lbl.textContent = 'Select a development...'; lbl.style.color = 'rgba(28,23,16,0.35)';\n    document.querySelectorAll('#jmProjList .jm-dd-opt').forEach(o => o.classList.remove('selected'));\n    document.querySelectorAll('.jm-tc').forEach(c => c.className = c.classList.contains('unavailable') ? 'jm-tc unavailable' : 'jm-tc');\n    jmUpdateTypePrices();\n    document.getElementById('jmResTitle').textContent = 'Select a unit type to see projections';\n    document.getElementById('jmResSub').textContent = 'Choose a development and unit type on the left';\n    ['jmMonRent','jmNetMon','jmAnnRent','jmNetYield','jmMortVal','jmTotalCash'].forEach(id => document.getElementById(id).textContent = '\u2014');\n    document.getElementById('jmPayPlanRows').innerHTML = '';\n    ['jmPV1','jmPV5','jmPV10','jmPV15','jmRI1','jmRI5','jmRI10','jmRI15','jmTR1','jmTR5','jmTR10','jmTR15'].forEach(id => document.getElementById(id).textContent = '\u2014');\n    \/\/ Show big view summary button\n    document.getElementById('jmViewSummaryBtn').style.display = 'block';\n\n  }\n\n  function jmRenderPortCards() {\n\n    const c = document.getElementById('jmPortCards'); c.innerHTML = '';\n\n    S.portfolio.forEach((u, i) => {\n\n      const tl = u.type === 'studio' ? 'Studio' : u.type === '1bed' ? '1 Bedroom' : u.type === '2bed' ? '2 Bedroom' : '3 Bedroom';\n\n      const d = document.createElement('div'); d.style.cssText = 'background:#fff;border:0.5px solid rgba(28,23,16,0.1);margin-bottom:8px;overflow:hidden;';\n\n      d.innerHTML = '<div style=\"background:#1C1710;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;\"><div style=\"font-family:JMNumerics,Cormorant Garamond,serif;font-size:15px;color:#fff;font-weight:300;\">' + tl + ' \u2014 ' + u.projName + '<\/div><span onclick=\"jmRemove(' + i + ')\" style=\"color:rgba(252,193,28,0.6);cursor:pointer;font-size:18px;line-height:1;\">\u00d7<\/span><\/div><div style=\"display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:1px;background:rgba(28,23,16,0.08);\"><div style=\"background:#F5F0E8;padding:10px 12px;\"><div style=\"font-size:7px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(28,23,16,0.3);margin-bottom:3px;\">Price from<\/div><div style=\"font-family:JMNumerics,Cormorant Garamond,serif;font-size:15px;font-weight:300;color:#1C1710;\">' + jmF(u.price) + '<\/div><\/div><div style=\"background:#F5F0E8;padding:10px 12px;\"><div style=\"font-size:7px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(28,23,16,0.3);margin-bottom:3px;\">Net yield<\/div><div style=\"font-family:JMNumerics,Cormorant Garamond,serif;font-size:15px;font-weight:300;color:#1C1710;\">' + u.netYield + '%<\/div><\/div><div style=\"background:#F5F0E8;padding:10px 12px;\"><div style=\"font-size:7px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(28,23,16,0.3);margin-bottom:3px;\">Net income<\/div><div style=\"font-family:JMNumerics,Cormorant Garamond,serif;font-size:15px;font-weight:300;color:#c99a16;\">' + jmF(u.netMo) + '\/mo<\/div><\/div><div style=\"background:#F5F0E8;padding:10px 12px;\"><div style=\"font-size:7px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(28,23,16,0.3);margin-bottom:3px;\">Cash required<\/div><div style=\"font-family:JMNumerics,Cormorant Garamond,serif;font-size:15px;font-weight:300;color:#1C1710;\">' + jmF(u.totalCash) + '<\/div><\/div><\/div>';\n\n      c.appendChild(d);\n\n    });\n\n    document.getElementById('jmCountLabel').innerHTML = (S.portfolio.length === 1 ? '<span id=\"jmCount\">1<\/span> unit in portfolio' : '<span id=\"jmCount\">' + S.portfolio.length + '<\/span> units in portfolio');\n\n  }\n\n  function jmRemove(i) {\n\n    S.portfolio.splice(i, 1); jmRenderPortCards();\n\n    document.getElementById('jmPortBadge').textContent = (S.portfolio.length === 1 ? '1 unit added' : S.portfolio.length + ' units added');\n\n    if (!S.portfolio.length) { const sumBtn = document.getElementById('jmSumBtn'); sumBtn.className = 'jm-summary-btn-top'; sumBtn.setAttribute('title', 'Add at least one unit to your portfolio first'); document.getElementById('jmPortArea').style.display = 'none'; document.getElementById('jmPortEmpty').style.display = 'block'; }\n\n  }\n\n  \/\/ \u2500\u2500 YEN\u0130 FONKS\u0130YON: Summary'den birim sil \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  function jmRemoveFromSummary(idx) {\n\n    S.portfolio.splice(idx, 1);\n\n    document.getElementById('jmPortBadge').textContent = (S.portfolio.length === 1 ? '1 unit added' : S.portfolio.length + ' units added');\n\n    if (!S.portfolio.length) {\n\n      const sumBtn = document.getElementById('jmSumBtn');\n\n      sumBtn.className = 'jm-summary-btn-top';\n\n      sumBtn.setAttribute('title', 'Add at least one unit to your portfolio first');\n\n      document.getElementById('jmPortArea').style.display = 'none';\n\n      document.getElementById('jmPortEmpty').style.display = 'block';\n\n      jmRenderPortCards();\n\n      jmGo(2);\n\n      return;\n\n    }\n\n    jmRenderPortCards();\n\n    document.getElementById('jmCountLabel').innerHTML = (S.portfolio.length === 1 ? '<span id=\"jmCount\">1<\/span> unit in portfolio' : '<span id=\"jmCount\">' + S.portfolio.length + '<\/span> units in portfolio');\n\n    jmBuildSummary();\n\n  }\n\n  function jmBuildSummary() {\n\n    const body = document.getElementById('jmSumBody'); body.innerHTML = '';\n\n    const p = S.portfolio;\n\n    if (!p.length) { body.innerHTML = '<div style=\"padding:60px 0;text-align:center;font-family:JMNumerics,Cormorant Garamond,serif;font-size:26px;font-weight:300;color:rgba(28,23,16,0.3);\">No units added yet.<br><span style=\"font-size:16px;font-family:Montserrat,sans-serif;letter-spacing:1px;margin-top:12px;display:block;\">Go back and add units to your portfolio.<\/span><\/div>'; return; }\n\n    const natLabel = document.getElementById('jmNatLabel') ? document.getElementById('jmNatLabel').textContent : 'Turkey';\n\n    document.getElementById('jmS3Sub').textContent = (p.length === 1 ? '1 unit \u00b7 ' : p.length + ' units \u00b7 ') + natLabel;\n\n    p.forEach((u, idx) => {\n\n      const tl = u.type === 'studio' ? 'Studio' : u.type === '1bed' ? '1 Bedroom' : u.type === '2bed' ? '2 Bedroom' : '3 Bedroom';\n\n      const proj = JMP[u.proj];\n\n      let ppHTML = '';\n\n      const price2 = u.price, loan2 = Math.round(price2 * (u.ltv || 0) \/ 100);\n\n      const pp2 = u.paymentPlan; let ppItems = '';\n\n      if (pp2.type === 'phased') {\n\n        const rF = pp2.steps.find(s => s.label.toLowerCase().includes('reservation'))?.value || 0; const eP = pp2.steps.find(s => s.label.toLowerCase().includes('exchange'))?.pct || 0.05; const iP = pp2.steps.find(s => s.label.toLowerCase().includes('instalment') || s.label.toLowerCase().includes('installment'))?.pct || 0.25; const iM = pp2.steps.find(s => s.label.toLowerCase().includes('instalment') || s.label.toLowerCase().includes('installment'))?.months || 24;\n\n        const eA = Math.round(price2 * eP), iT = Math.round(price2 * iP), iMo = Math.round(iT \/ iM); const cC = Math.max(0, price2 - rF - eA - iT - loan2);\n\n        const items = [{ l: 'Reservation fee', s: 'On signing', v: jmF(rF) }, { l: 'Exchange deposit (' + Math.round(eP * 100) + '%)', s: 'On exchange', v: jmF(eA) }, { l: iM + ' monthly instalments (' + Math.round(iP * 100) + '%)', s: jmF(iMo) + '\/mo during build', v: jmF(iT) }];\n\n        if (u.pay === 'mortgage' && loan2 > 0) { items.push({ l: 'Mortgage (' + Math.round(u.ltv || 0) + '% LTV)', s: 'Bank pays at completion', v: jmF(loan2), gold: true }); if (cC > 0) items.push({ l: 'Your completion payment', s: 'On completion', v: jmF(cC) }); } else { items.push({ l: 'Completion balance', s: 'Cash purchase', v: jmF(Math.max(0, price2 - rF - eA - iT)) }); }\n\n        ppItems = items.map(i => '<div class=\"jm-ucard-pp-item\" style=\"' + (i.gold ? 'border-left:2px solid #c99a16;' : '') + '\"><div class=\"jm-ucard-pp-item-l\" style=\"' + (i.gold ? 'color:#c99a16;' : '') + '\">' + (i.l) + ' <span style=\"opacity:0.5;\">' + i.s + '<\/span><\/div><div class=\"jm-ucard-pp-item-v\" style=\"' + (i.gold ? 'color:#c99a16;' : '') + '\">' + i.v + '<\/div><\/div>').join('');\n\n      } else {\n\n        const rF = pp2.steps.find(s => s.label.toLowerCase().includes('reservation'))?.value || 0; const eP = pp2.steps.find(s => s.label.toLowerCase().includes('exchange') && !s.label.toLowerCase().includes('duplex'))?.pct || 0.20; const eA = Math.round(price2 * eP), cC = Math.max(0, price2 - eA - loan2);\n\n        const items = []; if (rF > 0) items.push({ l: 'Reservation fee', s: 'On signing', v: jmF(rF) }); items.push({ l: 'Exchange deposit (' + Math.round(eP * 100) + '%)', s: 'On exchange', v: jmF(eA) });\n\n        if (u.pay === 'mortgage' && loan2 > 0) { items.push({ l: 'Mortgage (' + Math.round(u.ltv || 0) + '% LTV)', s: 'Bank pays at completion', v: jmF(loan2), gold: true }); items.push({ l: cC > 0 ? 'Your completion payment' : 'Completion', s: cC > 0 ? 'On completion' : 'Fully covered by mortgage', v: jmF(cC), muted: cC === 0 }); } else { items.push({ l: 'Completion balance', s: 'Cash purchase', v: jmF(cC) }); }\n\n        ppItems = items.map(i => '<div class=\"jm-ucard-pp-item\" style=\"' + (i.gold ? 'border-left:2px solid #c99a16;' : '') + '\"><div class=\"jm-ucard-pp-item-l\" style=\"' + (i.gold ? 'color:#c99a16;' : i.muted ? 'opacity:0.35;' : '') + '\">' + (i.l) + ' <span style=\"opacity:0.5;\">' + i.s + '<\/span><\/div><div class=\"jm-ucard-pp-item-v\" style=\"' + (i.gold ? 'color:#c99a16;' : i.muted ? 'opacity:0.35;' : '') + '\">' + i.v + '<\/div><\/div>').join('');\n\n      }\n\n      ppHTML = '<div class=\"jm-ucard-pp\"><div class=\"jm-ucard-pp-title\">Payment plan<\/div><div class=\"jm-ucard-pp-rows\">' + ppItems + '<\/div><\/div>';\n\n      const projRows = [5, 10, 15].map(y => {\n\n        const pv = Math.round(u.price * Math.pow(1 + (proj.cg || 0.04), y)); let gCum = 0; for (let j = 1; j <= y; j++) gCum += u.annRent * Math.pow(1 + (proj.rg || 0.05), j - 1); let nCum = 0; for (let j = 1; j <= y; j++) { const g = u.annRent * Math.pow(1 + (proj.rg || 0.05), j - 1); nCum += g - u.mort * 12 - g * 0.08 - (u.scAnn || 0); } const gY = Math.round(u.annRent * Math.pow(1 + (proj.rg || 0.05), y - 1));\n\n        return '<div class=\"jm-uprow\"><span class=\"jm-upyr\">Yr ' + y + '<\/span><span class=\"jm-upv\">' + jmF(pv) + '<\/span><span class=\"jm-upv\">' + jmF(gY) + '<\/span><span class=\"jm-upv\">' + jmF(Math.round(nCum)) + '<\/span><span class=\"jm-upv gr\">' + jmFP(Math.round(gCum + (pv - u.price))) + '<\/span><\/div>';\n\n      }).join('');\n\n      const card = document.createElement('div');\n\n      card.className = 'jm-ucard';\n\n      \/\/ \u2500\u2500 DE\u011e\u0130\u015e\u0130KL\u0130K 1: Unit card header'\u0131na X silme ikonu eklendi \u2500\u2500\n\n      card.innerHTML =\n\n        '<div class=\"jm-ucard-hd\" style=\"display:flex;justify-content:space-between;align-items:center;\">'\n\n        + '<div class=\"jm-ucard-toggle\" onclick=\"jmToggleCard(' + idx + ')\" style=\"display:flex;align-items:center;gap:12px;flex:1;cursor:pointer;overflow:hidden;\">'\n\n        + '<div class=\"jm-ucard-name\" style=\"overflow:hidden;text-overflow:ellipsis;white-space:nowrap;\">' + tl + ' \u2014 ' + u.projName + ', ' + u.city + '<\/div>'\n\n        + '<\/div>'\n\n        + '<div style=\"display:flex;align-items:center;gap:10px;flex-shrink:0;\">'\n\n        + '<div class=\"jm-ucard-badge\">From ' + jmF(u.price) + '<\/div>'\n\n        + '<div class=\"jm-ucard-arrow\" id=\"jmArrow' + idx + '\" onclick=\"jmToggleCard(' + idx + ')\" style=\"cursor:pointer;\">'\n\n        + '<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"><path d=\"M2 4l4 4 4-4\" stroke=\"#fcc11c\" stroke-width=\"1.5\" stroke-linecap=\"round\"\/><\/svg>'\n\n        + '<\/div>'\n\n        + '<button onclick=\"jmRemoveFromSummary(' + idx + ')\" style=\"background:rgba(255,255,255,0.1);border:0.5px solid rgba(255,255,255,0.25);color:rgba(255,255,255,0.7);width:28px;height:28px;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.15s;\" title=\"Remove from portfolio\">\u00d7<\/button>'\n\n        + '<\/div>'\n\n        + '<\/div>'\n\n        + '<div class=\"jm-ucard-body\" id=\"jmBody' + idx + '\">'\n\n        + '<div class=\"jm-ucard-grid\" style=\"grid-template-columns:repeat(5,1fr);\">'\n\n        + '<div class=\"jm-ucell\"><div class=\"jm-ucell-l\">Starting price<\/div><div class=\"jm-ucell-v\">' + jmF(u.price) + '<\/div><\/div>'\n\n        + '<div class=\"jm-ucell\"><div class=\"jm-ucell-l\">Cash needed<\/div><div class=\"jm-ucell-v\">' + jmF((function () { const rF = 5000; const pr = JMP[u.proj]; const eP = pr.paymentPlan.type === \"phased\" ? 0.05 : 0.20; const exchA = Math.round(u.price * eP) - rF; const loan = Math.round(u.price * (u.ltv || 0) \/ 100); const compA = Math.max(0, u.price - (exchA + rF) - loan); return rF + exchA + compA; })()) + '<\/div><div class=\"jm-ucell-sub\">Res. fee + exchange + completion<\/div><\/div>'\n\n        + '<div class=\"jm-ucell\"><div class=\"jm-ucell-l\">Total cash needed<\/div><div class=\"jm-ucell-v gold\">' + jmF((function () { const rF = 5000; const pr = JMP[u.proj]; const eP = pr.paymentPlan.type === \"phased\" ? 0.05 : 0.20; const exchA = Math.round(u.price * eP) - rF; const loan = Math.round(u.price * (u.ltv || 0) \/ 100); const compA = Math.max(0, u.price - (exchA + rF) - loan); return rF + exchA + compA + u.sdlt + (u.pay === \"mortgage\" ? 5690 : 2100); })()) + '<\/div><div class=\"jm-ucell-sub\">+ SDLT + legal fees<\/div><\/div>'\n\n        + '<div class=\"jm-ucell\"><div class=\"jm-ucell-l\">SDLT<\/div><div class=\"jm-ucell-v\">' + jmF(u.sdlt) + '<\/div><\/div>'\n\n        + '<div class=\"jm-ucell\"><div class=\"jm-ucell-l\">Net yield<\/div><div class=\"jm-ucell-v\">' + u.netYield + '%<\/div><\/div>'\n\n        + '<\/div>'\n\n        + '<div class=\"jm-ucard-divlbl\">Monthly income breakdown<\/div>'\n\n        + '<div class=\"jm-ucard-grid\">'\n\n        + '<div class=\"jm-ucell\"><div class=\"jm-ucell-l\">Gross rental<\/div><div class=\"jm-ucell-v gold\">' + jmF(u.moRent) + '\/mo<\/div><div class=\"jm-ucell-sub\">' + jmF(u.annRent) + '\/yr<\/div><\/div>'\n\n        + '<div class=\"jm-ucell\"><div class=\"jm-ucell-l\">Mortgage<\/div><div class=\"jm-ucell-v muted\">\u2212' + jmF(u.mort) + '\/mo<\/div><\/div>'\n\n        + '<div class=\"jm-ucell\"><div class=\"jm-ucell-l\">Mgmt + service charge<\/div><div class=\"jm-ucell-v muted\">\u2212' + jmF(Math.round(u.mgmtAnn \/ 12) + Math.round(u.scAnn \/ 12)) + '\/mo<\/div><\/div>'\n\n        + '<div class=\"jm-ucell\"><div class=\"jm-ucell-l\">Net income<\/div><div class=\"jm-ucell-v green\">' + jmF(u.netMo) + '\/mo<\/div><div class=\"jm-ucell-sub\" style=\"color:#2E6E42;\">' + jmF(u.netMo * 12) + '\/yr<\/div><\/div>'\n\n        + '<\/div>'\n\n        + ppHTML\n\n        + '<div class=\"jm-ucard-proj\">'\n\n        + '<div class=\"jm-up-hd\"><span class=\"jm-uphc\">Year<\/span><span class=\"jm-uphc\">Property value<\/span><span class=\"jm-uphc\">Gross rental\/yr<\/span><span class=\"jm-uphc\">Net income (cum.)<\/span><span class=\"jm-uphc\">Total return<\/span><\/div>'\n\n        + projRows\n\n        + '<\/div>'\n\n        + '<\/div>';\n\n      body.appendChild(card);\n\n    });\n\n    const tGross = p.reduce((s, u) => s + u.moRent, 0); const tNet = p.reduce((s, u) => s + u.netMo, 0); const tInv = p.reduce((s, u) => s + u.totalCash, 0); const tMort = p.reduce((s, u) => s + u.mort, 0); const tSdlt = p.reduce((s, u) => s + u.sdlt, 0); const tProp = p.reduce((s, u) => s + u.price, 0);\n\n    let tPropVal15 = 0, tNetCum15 = 0, tGrossCum15 = 0;\n\n    p.forEach(u => { const pr = JMP[u.proj]; const pv15 = Math.round(u.price * Math.pow(1 + (pr.cg || 0.04), 15)); tPropVal15 += pv15; for (let j = 1; j <= 15; j++) { const g = u.annRent * Math.pow(1 + (pr.rg || 0.05), j - 1); tGrossCum15 += g; tNetCum15 += g - u.mort * 12 - g * 0.08 - (u.scAnn || 0); } });\n\n    const tCapGain = tPropVal15 - tProp; const tTotalReturn = Math.round(tNetCum15 + tCapGain); const roce = tInv > 0 ? Math.round(tTotalReturn \/ tInv * 100) : 0;\n\n    const valueAtYear = y => Math.round(p.reduce((s, u) => { const pr = JMP[u.proj]; return s + u.price * Math.pow(1 + (pr.cg || 0.04), y); }, 0));\n\n    const yearValues = {}; for (let y = 0; y <= 15; y++) yearValues[y] = valueAtYear(y);\n\n    const maxVal = yearValues[15];\n\n    const chartRow = (label, val, isSub, groupId) => { const pct = maxVal > 0 ? Math.round(val \/ maxVal * 100) : 0; const delta = val - tProp; const pctDelta = tProp > 0 ? (delta \/ tProp * 100) : 0; const deltaStr = (delta >= 0 ? '+' : '') + jmF(delta) + ' (' + (pctDelta >= 0 ? '+' : '') + pctDelta.toFixed(1) + '%)'; const rowClass = isSub ? 'jm-chart-row jm-chart-sub' + (groupId ? ' jm-chart-sub-' + groupId : '') : 'jm-chart-row'; const barColor = isSub ? '' : ' gold'; const isToday = (label === 'Today'); const barColorFinal = isToday ? '' : barColor; const deltaHTML = isToday ? '' : '<span class=\"jm-chart-bar-delta\">' + deltaStr + '<\/span>'; return '<div class=\"' + rowClass + '\"><div class=\"jm-chart-label\">' + label + '<\/div><div class=\"jm-chart-bar-wrap\"><div class=\"jm-chart-bar' + barColorFinal + '\" style=\"width:' + pct + '%\"><span class=\"jm-chart-bar-val\">' + jmF(val) + '<\/span>' + deltaHTML + '<\/div><\/div><\/div>'; };\n\n    const chartToggle = (groupId, yearsLabel) => '<div class=\"jm-chart-toggle\" onclick=\"jmToggleChartGroup(\\'' + groupId + '\\', this)\"><button type=\"button\" class=\"jm-chart-toggle-btn\"><span class=\"jm-chart-toggle-icon\">+<\/span>Show years ' + yearsLabel + '<\/button><\/div>';\n\n    let chartRowsHTML = ''; chartRowsHTML += chartRow('Today', tProp, false, null); chartRowsHTML += chartRow('Yr 1', yearValues[1], false, null); chartRowsHTML += chartToggle('A', '2\u20134'); [2, 3, 4].forEach(y => { chartRowsHTML += chartRow('Yr ' + y, yearValues[y], true, 'A'); }); chartRowsHTML += chartRow('Yr 5', yearValues[5], false, null); chartRowsHTML += chartToggle('B', '6\u20139'); [6, 7, 8, 9].forEach(y => { chartRowsHTML += chartRow('Yr ' + y, yearValues[y], true, 'B'); }); chartRowsHTML += chartRow('Yr 10', yearValues[10], false, null); chartRowsHTML += chartToggle('C', '11\u201314'); [11, 12, 13, 14].forEach(y => { chartRowsHTML += chartRow('Yr ' + y, yearValues[y], true, 'C'); }); chartRowsHTML += chartRow('Yr 15', yearValues[15], false, null);\n\n    const uniqueProjs = [...new Set(p.map(u => u.proj))].map(id => JMP[id]); const fmtPctRange = (values) => { const uniq = [...new Set(values.map(v => (v * 100).toFixed(2)))]; if (uniq.length === 1) return uniq[0] + '%'; const nums = values.map(v => v * 100); return Math.min(...nums).toFixed(2) + '%\u2013' + Math.max(...nums).toFixed(2) + '%'; };\n\n    const cgStr = fmtPctRange(uniqueProjs.map(pr => pr.cg || 0.04)); const rgStr = fmtPctRange(uniqueProjs.map(pr => pr.rg || 0.05)); const yieldStr = fmtPctRange(uniqueProjs.map(pr => pr.yield || 0.06)); const natSet = [...new Set(p.map(u => u.nat))]; const mortRateStr = natSet.length === 1 ? (JMR[natSet[0]] * 100).toFixed(2) + '% p.a.' : natSet.map(n => (JMR[n] * 100).toFixed(2) + '%').join(' \/ '); const totalScAnn = p.reduce((s, u) => s + (u.scAnn || 0), 0); const natLabelStr = natSet.length === 1 ? (JM_NAT_LABEL[natSet[0]] || natSet[0]) : natSet.map(n => JM_NAT_LABEL[n] || n).join(', '); const nonUkResident = natSet.length === 1 && natSet[0] !== 'uk'; const mortCount = p.filter(u => u.pay === 'mortgage').length; const cashCount = p.length - mortCount; const payMixStr = mortCount && cashCount ? mortCount + ' mortgage \/ ' + cashCount + ' cash' : (mortCount ? 'Mortgage (Interest Only)' : 'Cash purchase'); const ltvs = p.filter(u => u.pay === 'mortgage').map(u => u.ltv || 0); const ltvStr = ltvs.length === 0 ? '\u2014 (cash only)' : (ltvs.length === 1 ? ltvs[0] + '%' : Math.min(...ltvs) + '%\u2013' + Math.max(...ltvs) + '%');\n\n    const assumptionsHTML = '<div class=\"jm-assumptions\"><div class=\"jm-assumptions-title\">Assumptions used in these calculations<\/div><div class=\"jm-assumptions-lead\">We believe in full transparency. Every number on this page is built from the values below \u2014 you can verify them with any independent source.<\/div><div class=\"jm-assumptions-grid\"><div class=\"jm-assumption\"><div class=\"jm-assumption-label\">Capital growth (annual, compounded)<\/div><div class=\"jm-assumption-value\">' + cgStr + '<\/div><div class=\"jm-assumption-note\">Savills UK 2025\u20132029 residential forecasts, applied per project.<\/div><\/div><div class=\"jm-assumption\"><div class=\"jm-assumption-label\">Rental growth (annual)<\/div><div class=\"jm-assumption-value\">' + rgStr + '<\/div><div class=\"jm-assumption-note\">Forecast rental uplift applied to gross rent each year.<\/div><\/div><div class=\"jm-assumption\"><div class=\"jm-assumption-label\">Gross rental yield<\/div><div class=\"jm-assumption-value\">' + yieldStr + '<\/div><div class=\"jm-assumption-note\">Gross annual rent \u00f7 purchase price, before costs.<\/div><\/div><div class=\"jm-assumption\"><div class=\"jm-assumption-label\">Management fee<\/div><div class=\"jm-assumption-value\">8% of gross rent<\/div><div class=\"jm-assumption-note\">Standard lettings &amp; management fee for hands-off investors.<\/div><\/div><div class=\"jm-assumption\"><div class=\"jm-assumption-label\">Service charge (portfolio total)<\/div><div class=\"jm-assumption-value\">' + jmF(totalScAnn) + '\/yr<\/div><div class=\"jm-assumption-note\">Estimated from each developments service charge per sq ft.<\/div><\/div><div class=\"jm-assumption\"><div class=\"jm-assumption-label\">Mortgage interest rate<\/div><div class=\"jm-assumption-value\">' + (mortCount ? mortRateStr : '\u2014 (cash purchase)') + '<\/div><div class=\"jm-assumption-note\">' + (mortCount ? 'Indicative BTL rate for ' + natLabelStr + ' \u2014 actual rates depend on lender, LTV and loan size.' : 'No mortgage applied to this portfolio.') + '<\/div><\/div><div class=\"jm-assumption\"><div class=\"jm-assumption-label\">Loan to Value<\/div><div class=\"jm-assumption-value\">' + ltvStr + '<\/div><div class=\"jm-assumption-note\">' + payMixStr + '<\/div><\/div><div class=\"jm-assumption\"><div class=\"jm-assumption-label\">Stamp Duty (SDLT)<\/div><div class=\"jm-assumption-value\">' + jmF(tSdlt) + '<\/div><div class=\"jm-assumption-note\">' + (nonUkResident ? 'Includes the 2% non-UK resident surcharge on all bands.' : 'UK resident standard bands.') + '<\/div><\/div><\/div><\/div>';\n\n    const combined = document.createElement('div');\n\n    combined.className = 'jm-sum-combined';\n\n    combined.innerHTML =\n\n      '<div class=\"jm-sum-combined-hd\"><div class=\"jm-sum-combined-title\">Your portfolio at a glance<\/div><div class=\"jm-sum-combined-sub\">' + (p.length === 1 ? '1 unit combined' : p.length + ' units combined') + '<\/div><\/div>'\n\n      + '<div class=\"jm-big-cards\"><div class=\"jm-big-card dark\"><div class=\"jm-big-card-label\">\ud83d\udcb0 Combined total cash needed<\/div><div class=\"jm-big-card-value\">' + jmF(p.reduce((s, u) => { const rF = 5000; const pr = JMP[u.proj]; const eP = pr.paymentPlan.type === \"phased\" ? 0.05 : 0.20; const exchA = Math.round(u.price * eP) - rF; const loan = Math.round(u.price * (u.ltv || 0) \/ 100); const compA = Math.max(0, u.price - (exchA + rF) - loan); const lF = u.pay === \"mortgage\" ? 5690 : 2100; return s + rF + exchA + compA + u.sdlt + lF; }, 0)) + '<\/div><div class=\"jm-big-card-sub\">All payments + SDLT + legal fees<\/div><\/div><div class=\"jm-big-card dark\"><div class=\"jm-big-card-label\">\ud83d\udcc5 You earn every month<\/div><div class=\"jm-big-card-value\">' + jmF(tNet) + '\/mo<\/div><div class=\"jm-big-card-sub\">After mortgage, management &amp; service charge<\/div><\/div><div class=\"jm-big-card dark\"><div class=\"jm-big-card-label\">\ud83d\udcc8 15-year total return<\/div><div class=\"jm-big-card-value green\">' + jmFP(tTotalReturn) + '<\/div><div class=\"jm-big-card-sub\">Net income + property value growth<\/div><\/div><\/div>'\n\n      + '<div class=\"jm-breakdown\"><div class=\"jm-breakdown-title\">Where does your money go?<\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label\">Combined cash needed<\/span><span class=\"jm-breakdown-value\">' + jmF(p.reduce((s, u) => { const rF = 5000; const pr = JMP[u.proj]; const eP = pr.paymentPlan.type === \"phased\" ? 0.05 : 0.20; const exchA = Math.round(u.price * eP) - rF; const loan = Math.round(u.price * (u.ltv || 0) \/ 100); const compA = Math.max(0, u.price - (exchA + rF) - loan); return s + rF + exchA + compA; }, 0)) + '<\/span><\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label\">Total SDLT \/ stamp duty<\/span><span class=\"jm-breakdown-value\">' + jmF(tSdlt) + '<\/span><\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label\">Total legal &amp; mortgage fees<\/span><span class=\"jm-breakdown-value\">' + jmF(p.reduce((s, u) => s + (u.pay === \"mortgage\" ? 5690 : 2100), 0)) + '<\/span><\/div><div class=\"jm-breakdown-row\" style=\"margin-top:8px;padding-top:16px;border-top:1.5px solid rgba(28,23,16,0.15);border-bottom:none;\"><span class=\"jm-breakdown-label bold\" style=\"font-size:17px;\">Combined total cash needed<\/span><span class=\"jm-breakdown-value gold\" style=\"font-size:30px;\">' + jmF(p.reduce((s, u) => { const rF = 5000; const pr = JMP[u.proj]; const eP = pr.paymentPlan.type === \"phased\" ? 0.05 : 0.20; const exchA = Math.round(u.price * eP) - rF; const loan = Math.round(u.price * (u.ltv || 0) \/ 100); const compA = Math.max(0, u.price - (exchA + rF) - loan); const lF = u.pay === \"mortgage\" ? 5690 : 2100; return s + rF + exchA + compA + u.sdlt + lF; }, 0)) + '<\/span><\/div><\/div>'\n\n      + '<div class=\"jm-breakdown\" style=\"border-top:0.5px solid rgba(28,23,16,0.06);\"><div class=\"jm-breakdown-title\">Your monthly cash flow<\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label\">Gross rental income<\/span><span class=\"jm-breakdown-value\">' + jmF(tGross) + '\/mo<\/span><\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label\">Mortgage payments<\/span><span class=\"jm-breakdown-value red\">\u2212' + jmF(tMort) + '\/mo<\/span><\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label\">Management fee (8%) + service charge<\/span><span class=\"jm-breakdown-value red\">\u2212' + jmF(p.reduce((s, u) => s + Math.round(u.mgmtAnn \/ 12) + Math.round(u.scAnn \/ 12), 0)) + '\/mo<\/span><\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label bold\">Net income in your pocket<\/span><span class=\"jm-breakdown-value green\">' + jmF(tNet) + '\/mo (' + jmF(tNet * 12) + '\/yr)<\/span><\/div><\/div>'\n\n      + '<div class=\"jm-breakdown\" style=\"border-top:0.5px solid rgba(28,23,16,0.06);\"><div class=\"jm-breakdown-title\">Your 15-year growth story<\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label\">Property value today<\/span><span class=\"jm-breakdown-value\">' + jmF(tProp) + '<\/span><\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label\">Property value in 15 years<\/span><span class=\"jm-breakdown-value\">' + jmF(Math.round(tPropVal15)) + '<\/span><\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label\">Capital gain (property growth)<\/span><span class=\"jm-breakdown-value green\">+' + jmF(Math.round(tCapGain)) + '<\/span><\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label\">Cumulative net rental income (15yr)<\/span><span class=\"jm-breakdown-value green\">+' + jmF(Math.round(tNetCum15)) + '<\/span><\/div><div class=\"jm-breakdown-row\"><span class=\"jm-breakdown-label bold\">Total return on ' + jmF(tInv) + ' invested<\/span><span class=\"jm-breakdown-value green\">' + jmFP(tTotalReturn) + ' (' + roce + '% ROCE)<\/span><\/div><\/div>'\n\n      + '<div class=\"jm-chart\"><div class=\"jm-chart-title\">How your property value grows over 15 years<\/div>' + chartRowsHTML + '<div class=\"jm-chart-legend\"><div class=\"jm-chart-leg-item\"><div class=\"jm-chart-leg-dot\" style=\"background:#1C1710;\"><\/div>Purchase price<\/div><div class=\"jm-chart-leg-item\"><div class=\"jm-chart-leg-dot\" style=\"background:#fcc11c;\"><\/div>Projected value<\/div><div class=\"jm-chart-leg-item\" style=\"margin-left:auto;opacity:0.75;\">Compounded annually \u2014 click a group to see intermediate years<\/div><\/div><\/div>'\n\n      + assumptionsHTML;\n\n    body.appendChild(combined);\n\n    \/\/ \u2500\u2500 DE\u011e\u0130\u015e\u0130KL\u0130K 2 & 3: Sadece \"Book a consultation\" kart\u0131, Calendly linki ile \u2500\u2500\n\n    const acts = document.createElement('div');\n\n    acts.innerHTML =\n\n      '<div class=\"jm-act-lbl\">Next steps<\/div>'\n\n      + '<div class=\"jm-act-title\">What would you like<br>to do next?<\/div>'\n\n      + '<div class=\"jm-act-grid\" style=\"grid-template-columns:1fr;\">'\n\n      + '<div class=\"jm-act\" style=\"background:#1C1710;\">'\n\n      + '<div class=\"jm-act-n\" style=\"color:rgba(255,255,255,0.04);\">01<\/div>'\n\n      + '<div class=\"jm-act-icon\" style=\"border-color:rgba(252,193,28,0.3);\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#fcc11c\" stroke-width=\"1.5\" stroke-linecap=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><path d=\"M16 2v4M8 2v4M3 10h18\"\/><\/svg><\/div>'\n\n      + '<div class=\"jm-act-ct\" style=\"color:#fff;\">Book a consultation<\/div>'\n\n      + '<div class=\"jm-act-desc\" style=\"color:rgba(255,255,255,0.55);\">Speak with one of our investment specialists about your portfolio in detail.<\/div>'\n\n      + '<a href=\"https:\/\/calendly.com\/tuna-basara-joseph-mews\/new-meeting\" target=\"_blank\" rel=\"noopener\" style=\"display:inline-block;padding:12px 22px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-family:Montserrat,sans-serif;background:#fcc11c;color:#1C1710;border:none;cursor:pointer;font-weight:500;text-decoration:none;\">Book now<\/a>'\n\n      + '<\/div>'\n\n      + '<\/div>'\n\n      + '<div class=\"jm-disc\">' + jmDisclaimerText() + '<\/div>';\n\n    body.appendChild(acts);\n\n  }\n\n  function jmToggleCard(idx) { const body = document.getElementById('jmBody' + idx); const arrow = document.getElementById('jmArrow' + idx); const isOpen = body.classList.contains('open'); body.classList.toggle('open', !isOpen); arrow.classList.toggle('open', !isOpen); }\n\n  function jmToggleChartGroup(groupId, toggleEl) { const rows = document.querySelectorAll('.jm-chart-sub-' + groupId); if (!rows.length) return; const isOpen = rows[0].classList.contains('open'); rows.forEach(r => r.classList.toggle('open', !isOpen)); const btn = toggleEl.querySelector('.jm-chart-toggle-btn'); const icon = btn.querySelector('.jm-chart-toggle-icon'); const rangeMatch = btn.textContent.match(\/years\\s+(.+)$\/); const range = rangeMatch ? rangeMatch[1] : ''; icon.textContent = isOpen ? '+' : '\u2013'; btn.innerHTML = '<span class=\"jm-chart-toggle-icon\">' + (isOpen ? '+' : '\u2013') + '<\/span>' + (isOpen ? 'Show' : 'Hide') + ' years ' + range; }\n\n\n  function jmOnCustomPrice() {\n    const val = document.getElementById('jmCustomPrice').value;\n    const clearBtn = document.getElementById('jmCustomPriceClear');\n    if (val && parseInt(val) > 0) {\n      S.customPrice = parseInt(val);\n      clearBtn.style.display = 'inline-block';\n    } else {\n      S.customPrice = null;\n      clearBtn.style.display = 'none';\n    }\n    jmCalc();\n  }\n\n  function jmClearCustomPrice() {\n    document.getElementById('jmCustomPrice').value = '';\n    S.customPrice = null;\n    document.getElementById('jmCustomPriceClear').style.display = 'none';\n    jmCalc();\n  }\n\n  function jmToggleDD(id) { const dd = document.getElementById(id); const list = dd.querySelector('.jm-dd-list'); const btn = dd.querySelector('.jm-dd-btn'); const isOpen = list.classList.contains('open'); document.querySelectorAll('.jm-dd-list').forEach(l => l.classList.remove('open')); document.querySelectorAll('.jm-dd-btn').forEach(b => b.classList.remove('open')); if (!isOpen) { list.classList.add('open'); btn.classList.add('open'); } }\n\n  function jmPickProj(val, label, el) { S.proj = val; S.type = null; S.customPrice = null; document.getElementById('jmCustomPrice').value = ''; document.getElementById('jmCustomPriceClear').style.display = 'none'; const lbl = document.getElementById('jmProjLabel'); lbl.textContent = label; lbl.style.color = '#1C1710'; document.querySelectorAll('#jmProjList .jm-dd-opt').forEach(o => o.classList.remove('selected')); el.classList.add('selected'); document.getElementById('jmProjList').classList.remove('open'); document.getElementById('jmProjBtn').classList.remove('open'); S.unit = null; jmUpdateTypePrices(); jmCalc(); }\n\n  function jmPickNat(val, label, el) { S.nat = val; document.getElementById('jmNatLabel').textContent = label; document.querySelectorAll('#jmNatList .jm-dd-opt').forEach(o => o.classList.remove('selected')); el.classList.add('selected'); document.getElementById('jmNatList').classList.remove('open'); document.getElementById('jmNatBtn').classList.remove('open'); jmCalc(); }\n\n  document.addEventListener('click', function (e) { if (!e.target.closest('.jm-dd')) { document.querySelectorAll('.jm-dd-list').forEach(l => l.classList.remove('open')); document.querySelectorAll('.jm-dd-btn').forEach(b => b.classList.remove('open')); } });\n\n  jmUpdateTypePrices();\n\n  jmInitDynamicContent();\n\n  jmCalc();\n\n<\/script>\n<\/body>\n<\/html>\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-3f0397b e-flex e-con-boxed qodef-elementor-content-no e-con e-parent\" data-id=\"3f0397b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8322b6d e-flex e-con-boxed qodef-elementor-content-no e-con e-parent\" data-id=\"8322b6d\" data-element_type=\"container\" data-e-type=\"container\" id=\"form-container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4ed1c51 elementor-widget elementor-widget-qi_addons_for_elementor_contact_form_7\" data-id=\"4ed1c51\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"form-1\" data-widget_type=\"qi_addons_for_elementor_contact_form_7.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n    <div class=\"jm-form-layout\">\n      <div class=\"jm-form-left\">\n        <div class=\"jm-form-left-top\">\n          <div class=\"jm-form-left-eyebrow\">Why Joseph Mews<\/div>\n          <div class=\"jm-form-left-title\">Why Choose <em>Joseph Mews<\/em><\/div>\n          <div class=\"jm-form-left-sub\">Trusted by international investors. We do the hard work \u2014 you get the benefits.<\/div>\n        <\/div>\n        <div class=\"jm-form-stats\">\n          <div class=\"jm-form-stat\">\n            <div class=\"jm-form-stat-v\">\u00a3632.6M<\/div>\n            <div class=\"jm-form-stat-l\">GDV Delivered<\/div>\n          <\/div>\n          <div class=\"jm-form-stat\">\n            <div class=\"jm-form-stat-v\">4,270+<\/div>\n            <div class=\"jm-form-stat-l\">Units Marketed<\/div>\n          <\/div>\n          <div class=\"jm-form-stat\">\n            <div class=\"jm-form-stat-v\">28%<\/div>\n            <div class=\"jm-form-stat-l\">Repeat Investors<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"jm-form-center\">\n  <div class=\"jm-form-header\">\n    <div class=\"jm-form-header-eyebrow\">UK Property Investment<\/div>\n    <div class=\"jm-form-header-title\">Invest in <em>UK Property<\/em><\/div>\n    <div class=\"jm-form-header-sub\">Fill out the form to explore high-performing property investment opportunities across the UK.<\/div>\n  <\/div>\n  <div class=\"qodef-shortcode qodef-m qodef-qi-contact-form-7\">\n\t\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f3094-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"3094\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/tr\/wp-json\/wp\/v2\/pages\/3806#wpcf7-f3094-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"3094\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.2.2\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f3094-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<label> Your Name (required)\n    <span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span> <\/label>\n\n<label> Your Surname (required)\n    <span class=\"wpcf7-form-control-wrap\" data-name=\"your-surname\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-surname\" \/><\/span> <\/label>\n\n<label> Your Email (required)\n    <span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span> <\/label>\n\n<label> Phone Number (required)\n<span class=\"wpcf7-form-control-wrap\" data-name=\"phonetext-320\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-phonetext wpcf7-text wpcf7-validates-as-phonetext\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"phonetext-320\" \/><input type=\"hidden\" name=\"phonetext-320-country-code\" class=\"wpcf7-phonetext-country-code\" \/><\/span>\n\n\n <\/label>\n\n<label> Your Message\n    <span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" name=\"your-message\"><\/textarea><\/span> <\/label>\n\n<div class=\"kvkk-wrap\">\n<label class=\"kvkk-label\">\n<span class=\"wpcf7-form-control-wrap\" data-name=\"kvkk-consent\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><input type=\"checkbox\" name=\"kvkk-consent\" value=\"1\" aria-invalid=\"false\" \/><\/span><\/span><\/span> I have read and accept the <a href=\"https:\/\/joseph-mews.com.tr\/privacy-policy-3\/\" target=\"_blank\">Privacy Policy<\/a> and consent to the processing of my personal data.\n<\/label>\n<\/div>\n\n<div class=\"cf7-cf-turnstile\" style=\"margin-top: 0px; margin-bottom: -15px;\"> <div id=\"cf-turnstile-cf7-13539436\" class=\"cf-turnstile\" data-sitekey=\"0x4AAAAAADMoVsWPCFAFmShD\" data-theme=\"light\" data-language=\"auto\" data-size=\"normal\" data-retry=\"auto\" data-retry-interval=\"1000\" data-refresh-expired=\"auto\" data-refresh-timeout=\"auto\" data-action=\"contact-form-7\" data-callback=\"turnstileCF7Callback\" data-appearance=\"always\"><\/div> <style>.wpcf7-submit { pointer-events: none; opacity: 0.5; }<\/style> <script data-cfasync=\"false\">(window.cfturnstileQueue=window.cfturnstileQueue||[]).push(\"-cf7-13539436\");if(window.cfturnstileRender)window.cfturnstileRender();<\/script> <br class=\"cf-turnstile-br cf-turnstile-br-cf7-13539436\"> <style>#cf-turnstile-cf7-13539436 { margin-left: -15px; }<\/style> <\/div>\n\n<button class=\"wpcf7-form-control wpcf7-submit qodef-button qodef-size--normal qodef-type--filled qodef-m\" type=\"submit\"><span class=\"qodef-m-text\">Send<\/span><\/button><p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"_wpcf7_ak_\"><label>&#916;<textarea name=\"_wpcf7_ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"_wpcf7_ak_js\" value=\"130\"\/><script>\ndocument.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );\n<\/script>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n\n<\/div>\n      <div class=\"jm-form-right\">\n        <div class=\"jm-form-trust-item\">\n          <span class=\"jm-form-trust-icon\">&#9670;<\/span>\n          <div class=\"jm-form-trust-title\">Off-Plan Access<\/div>\n          <div class=\"jm-form-trust-desc\">Exclusive early-stage opportunities before public launch.<\/div>\n        <\/div>\n        <div class=\"jm-form-trust-item\">\n          <span class=\"jm-form-trust-icon\">&#9670;<\/span>\n          <div class=\"jm-form-trust-title\">End-to-End Service<\/div>\n          <div class=\"jm-form-trust-desc\">From search to completion \u2014 fully managed.<\/div>\n        <\/div>\n        <div class=\"jm-form-trust-item\">\n          <span class=\"jm-form-trust-icon\">&#9670;<\/span>\n          <div class=\"jm-form-trust-title\">Sterling Returns<\/div>\n          <div class=\"jm-form-trust-desc\">Earn in GBP with 6\u20137% gross yields.<\/div>\n        <\/div>\n        <div class=\"jm-form-trust-item\">\n          <span class=\"jm-form-trust-icon\">&#9670;<\/span>\n          <div class=\"jm-form-trust-title\">No Intermediaries<\/div>\n          <div class=\"jm-form-trust-desc\">Direct access to developers and legal teams.<\/div>\n        <\/div>\n      <\/div>\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-e9103fc e-flex e-con-boxed qodef-elementor-content-no e-con e-parent\" data-id=\"e9103fc\" 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-7f9618b elementor-widget elementor-widget-html\" data-id=\"7f9618b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\nwindow.addEventListener('load', function() {\n  setTimeout(function() {\n    document.querySelectorAll(\".wpcf7-phonetext\").forEach(function(input) {\n      input.style.setProperty(\"padding-left\", \"85px\", \"important\");\n      input.style.setProperty(\"letter-spacing\", \"0\", \"important\");\n    });\n  }, 500);\n});\n<\/script>\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-48006a4 e-flex e-con-boxed qodef-elementor-content-no e-con e-parent\" data-id=\"48006a4\" 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-846e142 elementor-widget elementor-widget-html\" data-id=\"846e142\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\nwindow.addEventListener('load', function() {\n  setTimeout(function() {\n    document.querySelectorAll(\".wpcf7-phonetext\").forEach(function(input) {\n      input.style.setProperty(\"padding-left\", \"85px\", \"important\");\n      input.style.setProperty(\"letter-spacing\", \"0\", \"important\");\n    });\n  }, 500);\n});\n<\/script>\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":"<p>Penny Place Apartments A growing commuter city benefiting from affordability, strong rental demand, and proximity to major UK hubs. Penny Place Apartments A growing commuter city benefiting from affordability, strong rental demand, and proximity to major UK hubs. Joseph Mews \u2014 Investment Calculator Investment Tools Calculate yourreturns. Select a development, choose your unit type and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-full-width.php","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"class_list":["post-3806","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/joseph-mews.com.tr\/tr\/wp-json\/wp\/v2\/pages\/3806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joseph-mews.com.tr\/tr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/joseph-mews.com.tr\/tr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/joseph-mews.com.tr\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joseph-mews.com.tr\/tr\/wp-json\/wp\/v2\/comments?post=3806"}],"version-history":[{"count":61,"href":"https:\/\/joseph-mews.com.tr\/tr\/wp-json\/wp\/v2\/pages\/3806\/revisions"}],"predecessor-version":[{"id":4610,"href":"https:\/\/joseph-mews.com.tr\/tr\/wp-json\/wp\/v2\/pages\/3806\/revisions\/4610"}],"wp:attachment":[{"href":"https:\/\/joseph-mews.com.tr\/tr\/wp-json\/wp\/v2\/media?parent=3806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}