{"id":66,"date":"2026-05-19T13:42:00","date_gmt":"2026-05-19T13:42:00","guid":{"rendered":"https:\/\/aluseg.com\/?page_id=66"},"modified":"2026-07-19T22:08:52","modified_gmt":"2026-07-19T22:08:52","slug":"free-lease-generator","status":"publish","type":"page","link":"https:\/\/aluseg.com\/en\/free-lease-generator\/","title":{"rendered":"Free NRAU Lease Generator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"66\" class=\"elementor elementor-66\" data-elementor-post-type=\"page\">\n\t\t\t\t<section class=\"elementor-element elementor-element-23c3de3c e-con-full e-flex e-con e-parent\" data-id=\"23c3de3c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-266f8bee e-flex e-con-boxed e-con e-child\" data-id=\"266f8bee\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2decc45d animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"2decc45d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Free Residential Lease Agreement Template<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2695a142 animated-slow elementor-widget-divider--view-line elementor-invisible elementor-widget elementor-widget-divider\" data-id=\"2695a142\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:600}\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1fe8d052 elementor-widget__width-initial animated-slow elementor-widget-tablet__width-inherit elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"1fe8d052\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Drafting a legally binding rental contract in Portugal doesn&#8217;t have to be complicated. Our smart <strong>Lease Agreement Generator<\/strong> is fully updated and compliant with the Portuguese Urban Lease Regime (<strong>NRAU<\/strong>). Easily customize a residential contract that meets all legal requirements\u2014including mandatory terms, notice periods, and tax specifications\u2014ensuring total peace of mind for both landlords and tenants. Generate your official document in just a few clicks.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-4d03375d lease e-flex e-con-boxed e-con e-parent\" data-id=\"4d03375d\" data-element_type=\"container\" data-e-type=\"container\" id=\"lease\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-3f9fd3ba e-con-full e-flex e-con e-child\" data-id=\"3f9fd3ba\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2418120d animated-slow elementor-invisible elementor-widget elementor-widget-jkit_heading\" data-id=\"2418120d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"jkit_heading.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-heading  align-left align-tablet- align-mobile- jeg_module___6a6b85c2c66b2\" ><div class=\"heading-section-title  display-inline\"><h2 class=\"heading-title\">Generate a <span class=\"style-color\"><span>Lease Agreement<\/span><\/span> for free<\/h2><\/div><\/div>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1d8a0d7d e-con-full e-flex e-con e-child\" data-id=\"1d8a0d7d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-67f0da animated-slow elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"67f0da\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Are you an expat landlord or foreign investor managing property in Portugal? Navigating the Portuguese legal framework can be complex, and drafting a compliant lease from scratch is a significant challenge.<\/p><p>To protect your rental income and ensure compliance with Portuguese law, AluSeg has prepared a comprehensive <strong>residential lease agreement template in English or Portuguese<\/strong>, designed specifically for foreign landlords. Simply fill out the form below with your property and tenant details, and automatically generate a professional, ready-to-sign contract.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bb3e12c e-con e-atomic-element e-flexbox-base e-bb3e12c-59934dd \" data-id=\"bb3e12c\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"bb3e12c\" data-e-type=\"e-flexbox\" data-id=\"bb3e12c\">\n    \t\t<div class=\"elementor-element elementor-element-e173d71 elementor-widget elementor-widget-button\" data-id=\"e173d71\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#included\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">What is included?<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-487c368 elementor-widget elementor-widget-button\" data-id=\"487c368\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#legal\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Is it legal?<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a250ed6 e-con-full animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"a250ed6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:100}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-58c5ba4 elementor-widget elementor-widget-html\" data-id=\"58c5ba4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ================================================================== -->\n<!--  AluSeg \u2014 Residential Lease Agreement Generator (v2)               -->\n<!--  English build \u00b7 form ISO with the app + signup funnel             -->\n<!--  Deploy: paste this WHOLE file into the Elementor HTML widget of   -->\n<!--  the ENGLISH lease-generator page.                                 -->\n<!--  With the funnel switch ON (app.aluseg.com\/admin\/plans) the final  -->\n<!--  step offers a pre-filled account (property, tenants, guarantors   -->\n<!--  and a draft lease); OFF, it keeps the classic n8n PDF generation. -->\n<!--  All data values (payload fields, amenity names, RPC params) are   -->\n<!--  identical to the PT build \u2014 only the labels are translated.       -->\n<!-- ================================================================== -->\n<div id=\"aluseg-lease-form\">\n<style>\n  #aluseg-lease-form *{box-sizing:border-box}\n  #aluseg-lease-form{--accent:#005869;--accent-h:#133B3A;--bg:#f6f8f8;--line:#dfe5e6;--ink:#1d2730;--muted:#69757c;\n    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\n    color:var(--ink);max-width:780px;margin:0 auto;padding:8px;font-size:14px}\n  #aluseg-lease-form h2{font-size:19px;margin:0 0 2px}\n  #aluseg-lease-form .sub{color:var(--muted);font-size:12.5px;margin:0 0 16px}\n  \/* \u2500\u2500 Stepper \u2500\u2500 *\/\n  #aluseg-lease-form .stepper{display:flex;margin:0 0 22px}\n  #aluseg-lease-form .st{flex:1;text-align:center;position:relative;cursor:default}\n  #aluseg-lease-form .st.click{cursor:pointer}\n  #aluseg-lease-form .st::after{content:\"\";position:absolute;top:16px;left:50%;width:100%;height:2px;background:var(--line);z-index:0}\n  #aluseg-lease-form .st:last-child::after{display:none}\n  #aluseg-lease-form .st.done::after{background:var(--accent)}\n  #aluseg-lease-form .dot{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;background:#fff;\n    border:2px solid var(--line);color:var(--muted);display:flex;align-items:center;justify-content:center;\n    font-weight:700;margin:0 auto 6px;font-size:14px}\n  #aluseg-lease-form .st.on .dot{border-color:var(--accent);color:var(--accent)}\n  #aluseg-lease-form .st.done .dot{background:var(--accent);border-color:var(--accent);color:#fff}\n  #aluseg-lease-form .st .lbl{font-size:11px;line-height:1.25;color:var(--muted)}\n  #aluseg-lease-form .st.on .lbl{color:var(--accent);font-weight:600}\n  \/* \u2500\u2500 Steps \/ fields \u2500\u2500 *\/\n  #aluseg-lease-form .step{display:none;animation:fade .2s ease}\n  #aluseg-lease-form .step.active{display:block}\n  @keyframes fade{from{opacity:0;transform:translateY(3px)}to{opacity:1}}\n  #aluseg-lease-form .step h3{font-size:15px;margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid var(--line)}\n  #aluseg-lease-form .g{display:grid;grid-template-columns:repeat(12,1fr);gap:9px 12px}\n  #aluseg-lease-form .c2{grid-column:span 2}#aluseg-lease-form .c3{grid-column:span 3}\n  #aluseg-lease-form .c4{grid-column:span 4}#aluseg-lease-form .c5{grid-column:span 5}\n  #aluseg-lease-form .c6{grid-column:span 6}#aluseg-lease-form .c7{grid-column:span 7}\n  #aluseg-lease-form .c8{grid-column:span 8}#aluseg-lease-form .c12{grid-column:span 12}\n  #aluseg-lease-form label{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;margin-bottom:3px}\n  #aluseg-lease-form label .opt{font-weight:400;color:var(--muted)}\n  #aluseg-lease-form .req{color:#d23b3b}\n  #aluseg-lease-form input,#aluseg-lease-form select{width:100%;padding:8px 10px;border:1px solid var(--line);\n    border-radius:7px;font-size:13.5px;background:#fff;color:var(--ink);height:38px}\n  #aluseg-lease-form input:focus,#aluseg-lease-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,88,105,.13)}\n  #aluseg-lease-form .err{border-color:#d23b3b!important;box-shadow:0 0 0 3px rgba(210,59,59,.12)!important}\n  #aluseg-lease-form .checks{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:2px}\n  #aluseg-lease-form .checks label{font-weight:400;gap:6px;margin:0}\n  #aluseg-lease-form .checks input{width:auto;height:auto}\n  #aluseg-lease-form .hint{font-size:11.5px;color:var(--muted);margin-top:3px}\n  #aluseg-lease-form .card{border:1px solid var(--line);border-radius:9px;padding:12px;margin-bottom:10px;background:var(--bg)}\n  #aluseg-lease-form .toggle{display:flex;align-items:center;gap:9px;margin-bottom:6px}\n  #aluseg-lease-form .toggle input{width:auto;height:auto}\n  \/* \u2500\u2500 Phone \u2500\u2500 *\/\n  #aluseg-lease-form .phone{display:flex;gap:6px}\n  #aluseg-lease-form .phone select{width:118px;flex:0 0 auto;padding-left:8px}\n  #aluseg-lease-form .phone input{flex:1}\n  \/* \u2500\u2500 Tooltip \u2500\u2500 *\/\n  #aluseg-lease-form .tip{flex:0 0 auto;width:15px;height:15px;border-radius:50%;background:var(--muted);color:#fff;\n    font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:help;position:relative}\n  #aluseg-lease-form .tip:hover,#aluseg-lease-form .tip.show{background:var(--accent)}\n  #aluseg-lease-form .tip .bub{display:none;position:absolute;bottom:130%;left:50%;transform:translateX(-50%);\n    width:240px;background:#1d2730;color:#fff;font-weight:400;font-size:11.5px;line-height:1.4;text-align:left;\n    padding:9px 11px;border-radius:8px;z-index:20;box-shadow:0 6px 20px rgba(0,0,0,.18)}\n  #aluseg-lease-form .tip .bub::after{content:\"\";position:absolute;top:100%;left:50%;transform:translateX(-50%);\n    border:6px solid transparent;border-top-color:#1d2730}\n  #aluseg-lease-form .tip:hover .bub,#aluseg-lease-form .tip.show .bub{display:block}\n  \/* \u2500\u2500 Navigation \/ buttons \u2500\u2500 *\/\n  #aluseg-lease-form .nav{display:flex;justify-content:space-between;margin-top:18px;gap:10px}\n  #aluseg-lease-form button{border:none;border-radius:8px;padding:11px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}\n  #aluseg-lease-form .btn{background:var(--accent);color:#fff}\n  #aluseg-lease-form .btn:hover{background:var(--accent-h)}\n  #aluseg-lease-form .btn:disabled{opacity:.5;cursor:not-allowed}\n  #aluseg-lease-form .ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}\n  #aluseg-lease-form .ghost:hover{border-color:var(--accent);color:var(--accent)}\n  #aluseg-lease-form .linkbtn{background:transparent;color:var(--accent);padding:6px 0;font-size:13px}\n  #aluseg-lease-form .result{text-align:center;padding:32px 16px}\n  #aluseg-lease-form .spinner{width:38px;height:38px;border:4px solid var(--line);border-top-color:var(--accent);\n    border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}\n  @keyframes spin{to{transform:rotate(360deg)}}\n  #aluseg-lease-form .dl{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;\n    padding:12px 26px;border-radius:9px;font-weight:600;margin-top:10px}\n  #aluseg-lease-form .dl:hover{background:var(--accent-h)}\n  #aluseg-lease-form .rbtns{display:flex;gap:10px;justify-content:center;margin-top:16px}\n  @media(max-width:600px){\n    #aluseg-lease-form .g{gap:9px 8px}\n    #aluseg-lease-form .c2,#aluseg-lease-form .c3,#aluseg-lease-form .c4,#aluseg-lease-form .c5{grid-column:span 6}\n    #aluseg-lease-form .c7,#aluseg-lease-form .c8{grid-column:span 12}\n    #aluseg-lease-form .st .lbl{display:none}\n  }\n<\/style>\n<h2>Residential Lease Agreement Generator<\/h2>\n<p class=\"sub\">Fields marked <span class=\"req\">*<\/span> are required. Hover the <b>i<\/b> icons for help.<\/p>\n<div class=\"stepper\" id=\"al-stepper\"><\/div>\n<form id=\"al-form\" novalidate>\n\n  <!-- STEP 1 \u2014 LANDLORD -->\n  <section class=\"step active\" data-step data-title=\"Landlord\">\n    <h3>Landlord<\/h3>\n    <div class=\"g\">\n      <div class=\"c12\"><label>Full legal name <span class=\"req\">*<\/span><\/label><input data-fid=\"legalnamelandlord\" required><\/div>\n      <div class=\"c4\"><label>NIF <span class=\"req\">*<\/span><span class=\"tip\" data-tip=\"N\u00famero de Identifica\u00e7\u00e3o Fiscal \u2014 your 9-digit Portuguese tax number. Required. Found on the Citizen Card or the Finan\u00e7as portal.\">i<\/span><\/label><input data-fid=\"niflandlord\" inputmode=\"numeric\" required><\/div>\n      <div class=\"c8\"><label>Phone <span class=\"req\">*<\/span><\/label>\n        <div class=\"phone\"><select id=\"al-cc\"><\/select><input id=\"al-phone-num\" inputmode=\"tel\" placeholder=\"912 345 678\" required><\/div>\n      <\/div>\n      <div class=\"c12\"><label>Email <span class=\"req\">*<\/span><\/label><input type=\"email\" data-fid=\"emaillandlord\" required><\/div>\n      <div class=\"c7\"><label>Street <span class=\"req\">*<\/span><\/label><input data-fid=\"streetaddresslandlord\" required><\/div>\n      <div class=\"c3\"><label>Number<\/label><input data-fid=\"streetnumberlandlord\"><\/div>\n      <div class=\"c2\"><label>Floor <span class=\"opt\">(opt.)<\/span><\/label><input data-fid=\"floorlandlord\"><\/div>\n      <div class=\"c4\"><label>Postal Code <span class=\"req\">*<\/span><\/label><input data-fid=\"postalcodelandlord\" required><\/div>\n      <div class=\"c4\"><label>City <span class=\"req\">*<\/span><\/label><input data-fid=\"citylandlord\" required><\/div>\n      <div class=\"c4\"><label>Country<\/label><input data-fid=\"countrylandlord\" value=\"Portugal\"><\/div>\n      <div class=\"c12\"><label>IBAN <span class=\"req\">*<\/span><span class=\"tip\" data-tip=\"Bank account the rent is paid into. Required. Found in your banking app or statement (starts with PT50).\">i<\/span><\/label><input data-fid=\"IBANLandlord\" placeholder=\"PT50 ...\" required><\/div>\n      <div class=\"c4\"><label>ID document type<\/label>\n        <select data-fid=\"idtypelandlord\">\n          <option value=\"\">\u2014<\/option>\n          <option value=\"Citizen Card\">Citizen Card<\/option>\n          <option value=\"Passport\">Passport<\/option>\n          <option value=\"Residence Permit\">Residence Permit<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c4\"><label>Document number<\/label><input data-fid=\"idlandlord\"><\/div>\n      <div class=\"c4\"><label>Document expiry date<\/label><input type=\"date\" data-fid=\"idexpirationdatelandlord\"><\/div>\n      <div class=\"c6\"><label>Marital Status <span class=\"req\">*<\/span><\/label>\n        <select data-fid=\"marital\" id=\"al-marital\" required>\n          <option value=\"\">\u2014<\/option>\n          <option value=\"Single\">Single<\/option>\n          <option value=\"Married\">Married<\/option>\n          <option value=\"Civil union\">Civil Partnership<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c6 cond-regime\" style=\"display:none\">\n        <label>Matrimonial property regime<span class=\"tip\" data-tip=\"Marriage property regime. Shown only if married \u2014 affects whether the spouse must co-sign the contract.\">i<\/span><\/label>\n        <select data-fid=\"matrimonial\">\n          <option value=\"\">\u2014<\/option>\n          <option value=\"Community of acquired property\">Community of acquired property<\/option>\n          <option value=\"General community of property\">General community of property<\/option>\n          <option value=\"Separation of property\">Separation of property<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c12\"><label>Is this property your own permanent home?<span class=\"tip\" data-tip=\"If 'Yes' and you are married, your spouse must co-sign the contract (Art. 1682.\u00ba-A of the Civil Code).\">i<\/span><\/label>\n        <select data-fid=\"propertyhome\" id=\"al-family\">\n          <option value=\"No\">No<\/option>\n          <option value=\"Yes\">Yes<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c6 cond-spouse\" style=\"display:none\"><label>Spouse's full legal name<\/label><input data-fid=\"spouselegalname\"><\/div>\n      <div class=\"c6 cond-spouse\" style=\"display:none\"><label>Spouse's NIF<\/label><input data-fid=\"spousenif\"><\/div>\n    <\/div>\n  <\/section>\n\n  <!-- STEP 2 \u2014 TENANTS -->\n  <section class=\"step\" data-step data-title=\"Tenant(s)\">\n    <h3>Tenant(s)<\/h3>\n    <div id=\"al-tenants\"><\/div>\n    <button type=\"button\" class=\"linkbtn\" id=\"al-add-tenant\">+ Add another tenant<\/button>\n  <\/section>\n\n  <!-- STEP 3 \u2014 PROPERTY -->\n  <section class=\"step\" data-step data-title=\"Property\">\n    <h3>Property<\/h3>\n    <div class=\"g\">\n      <div class=\"c7\"><label>Street <span class=\"req\">*<\/span><\/label><input data-fid=\"propertystreet\" required><\/div>\n      <div class=\"c3\"><label>Number <span class=\"req\">*<\/span><\/label><input data-fid=\"propertystreetnumber\" required><\/div>\n      <div class=\"c2\"><label>Floor <span class=\"opt\">(opt.)<\/span><\/label><input data-fid=\"propertyfloor\"><\/div>\n      <div class=\"c4\"><label>Postal Code <span class=\"req\">*<\/span><\/label><input data-fid=\"propertypostalcode\" required><\/div>\n      <div class=\"c4\"><label>City \/ Municipality <span class=\"req\">*<\/span><\/label><input data-fid=\"propertycity\" required><\/div>\n      <div class=\"c4\"><label>Parish (freguesia)<span class=\"tip\" data-tip=\"The civil parish where the property is located. Useful for land-registry identification. Found on the Caderneta Predial.\">i<\/span><\/label><input data-fid=\"propertyparish\"><\/div>\n      <div class=\"c5\"><label>Property type <span class=\"req\">*<\/span><\/label>\n        <select data-fid=\"propertytype\" required>\n          <option value=\"\">\u2014<\/option>\n          <option value=\"Apartment\">Apartment<\/option>\n          <option value=\"House\">House<\/option>\n          <option value=\"Studio\/Loft\">Studio \/ Loft<\/option>\n          <option value=\"Room\">Room<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c4\"><label>Typology <span class=\"req\">*<\/span><span class=\"tip\" data-tip=\"Number of bedrooms: T0 = studio, T1 = 1 bedroom, T2 = 2 bedrooms, etc.\">i<\/span><\/label>\n        <select data-fid=\"typology\" required>\n          <option value=\"\">\u2014<\/option>\n          <option>T0<\/option><option>T1<\/option><option>T1+1<\/option><option>T2<\/option><option>T2+1<\/option>\n          <option>T3<\/option><option>T3+1<\/option><option>T4<\/option><option>T4+1<\/option>\n          <option>T5<\/option><option>T5+1<\/option><option>T6<\/option><option>T6+1<\/option>\n          <option>T7<\/option><option>T7+1<\/option><option>T8<\/option><option>T8+1<\/option>\n          <option>T9<\/option><option>T9+1<\/option><option>T10<\/option><option>T10+1<\/option>\n          <option>T11<\/option><option>T11+1<\/option><option>T12<\/option><option>T12+1<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c3\"><label>Area (m\u00b2)<\/label><input type=\"number\" data-fid=\"propertyarea\" min=\"0\"><\/div>\n      <div class=\"c6\"><label>Tax registry article<span class=\"tip\" data-tip=\"Artigo Matricial \u2014 identifies the property at the tax office. Needed to register the contract. Found on the IMI notice or Caderneta Predial (Finan\u00e7as portal).\">i<\/span><\/label><input data-fid=\"taxregistry\"><\/div>\n      <div class=\"c6\"><label>Land registry description<span class=\"tip\" data-tip=\"Descri\u00e7\u00e3o Predial \/ Conservat\u00f3ria \u2014 the property\\'s number at the Land Registry. Proves ownership. On the Certid\u00e3o Permanente (online land registry).\">i<\/span><\/label><input data-fid=\"landregister\"><\/div>\n      <div class=\"c5\"><label>Use licence no.<span class=\"tip\" data-tip=\"Licen\u00e7a de Utiliza\u00e7\u00e3o \u2014 municipal licence confirming the property can be used as housing. Required by law (Art. 5.\u00ba NRAU). Issued by the City Council.\">i<\/span><\/label><input data-fid=\"utilizationlicense\"><\/div>\n      <div class=\"c3\"><label>Licence date<\/label><input type=\"date\" data-fid=\"utilizationlicensedate\"><\/div>\n      <div class=\"c4\"><label>Energy certificate no.<span class=\"tip\" data-tip=\"Certificado Energ\u00e9tico \u2014 mandatory energy rating. Issued by a certified technician; required to advertise and rent out a property.\">i<\/span><\/label><input data-fid=\"energycertificate\"><\/div>\n      <div class=\"c12\"><label>Amenities and included assets<span class=\"tip\" data-tip=\"Same catalog as the Aluseg app \u2014 these amenities are attached to the property when you create your account, and the relevant ones go into the contract as included assets.\">i<\/span><\/label>\n        <div class=\"checks\" id=\"al-assets\">\n          <label><input type=\"checkbox\" value=\"Mob\u00edlia\">Furniture<\/label>\n          <label><input type=\"checkbox\" value=\"Eletrodom\u00e9sticos\">Appliances<\/label>\n          <label><input type=\"checkbox\" value=\"Estacionamento\">Parking<\/label>\n          <label><input type=\"checkbox\" value=\"Elevador\">Elevator<\/label>\n          <label><input type=\"checkbox\" value=\"Terra\u00e7o\">Terrace \/ garden<\/label>\n          <label><input type=\"checkbox\" value=\"Piscina\">Pool<\/label>\n          <label><input type=\"checkbox\" value=\"Arrumos\">Storage<\/label>\n          <label><input type=\"checkbox\" value=\"Porteiro\">Concierge \/ doorman<\/label>\n          <label><input type=\"checkbox\" value=\"Gin\u00e1sio\">Gym<\/label>\n        <\/div>\n      <\/div>\n      <div class=\"c12\"><label>Other included assets <span class=\"opt\">(optional)<\/span><\/label><input data-fid=\"otherincludedassets\"><\/div>\n    <\/div>\n  <\/section>\n\n  <!-- STEP 4 \u2014 LEASE TERMS -->\n  <section class=\"step\" data-step data-title=\"Terms\">\n    <h3>Lease Terms<\/h3>\n    <div class=\"g\">\n      <div class=\"c6\"><label>Lease type<\/label>\n        <select data-fid=\"leasetype\">\n          <option value=\"residential\">Permanent residence<\/option>\n          <option value=\"student\">Student<\/option>\n          <option value=\"short_term\">Short term<\/option>\n          <option value=\"other\">Other<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c6\"><label>Start date <span class=\"req\">*<\/span><\/label><input type=\"date\" data-fid=\"startdate\" required><\/div>\n      <div class=\"c3\"><label>Duration <span class=\"req\">*<\/span><\/label><input type=\"number\" data-fid=\"duration\" min=\"1\" required><\/div>\n      <div class=\"c3\"><label>Unit<\/label>\n        <select data-fid=\"term\">\n          <option value=\"Year(s)\">Year(s)<\/option>\n          <option value=\"Month(s)\">Month(s)<\/option>\n          <option value=\"Week(s)\">Week(s)<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c4\"><label>Monthly rent <span class=\"req\">*<\/span><\/label><input type=\"number\" data-fid=\"monthlyrent\" min=\"0\" step=\"0.01\" required>\n        <div class=\"hint\" id=\"al-rent-hint\" style=\"display:none\"><\/div><\/div>\n      <div class=\"c2\"><label>Currency<\/label>\n        <select data-fid=\"currency\">\n          <option value=\"\u20ac Euro\">\u20ac Euro<\/option>\n          <option value=\"$ Dollar\">$ Dollar<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c3\"><label>Due day<span class=\"tip\" data-tip=\"Day of the month the rent is due (1\u201331).\">i<\/span><\/label><input type=\"number\" data-fid=\"rentduedate\" min=\"1\" max=\"31\" value=\"8\"><\/div>\n      <div class=\"c3\"><label>Frequency<\/label>\n        <select data-fid=\"frequency\">\n          <option value=\"of each month\">of each month<\/option>\n          <option value=\"year\">year<\/option>\n          <option value=\"week\">week<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c4\"><label>Guarantee type<\/label>\n        <select data-fid=\"guaranteetype\">\n          <option value=\"\">None<\/option>\n          <option value=\"deposit\" selected>Security deposit<\/option>\n          <option value=\"bank_guarantee\">Bank guarantee<\/option>\n          <option value=\"insurance\">Rent insurance<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c4\"><label>Security deposit (amount)<span class=\"tip\" data-tip=\"Cau\u00e7\u00e3o \u2014 refundable guarantee against damage or unpaid rent, returned at the end of the lease (usually 1\u20132 months of rent).\">i<\/span><\/label><input type=\"number\" data-fid=\"securitydeposit\" min=\"0\" step=\"0.01\"><\/div>\n      <div class=\"c4\"><label>Deposit payment date<\/label><input type=\"date\" data-fid=\"depositdate\"><\/div>\n      <div class=\"c4\"><label>Advance rent (months)<span class=\"tip\" data-tip=\"Advance rent \u2014 months of rent paid at signing, on top of the deposit. Portuguese law caps it at 2 months. Leave 0 if not applicable.\">i<\/span><\/label><input type=\"number\" data-fid=\"advancerentmonths\" min=\"0\" max=\"2\" value=\"0\"><\/div>\n      <div class=\"c6\"><label>Annual rent update index<span class=\"tip\" data-tip=\"How the rent is updated each year \u2014 the INE coefficient is the default regime in Portugal. Same as the Aluseg app.\">i<\/span><\/label>\n        <select data-fid=\"rentupdateindex\">\n          <option value=\"\">None<\/option>\n          <option value=\"ine_coeficient\" selected>INE coefficient (annual)<\/option>\n          <option value=\"ipc\">CPI<\/option>\n          <option value=\"fixed\">Fixed rate<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c6\"><label>Automatic renewal<\/label>\n        <select data-fid=\"autorenewal\">\n          <option value=\"Renews automatically for equal periods\">Renews automatically for equal periods<\/option>\n          <option value=\"Renews for 1-year periods\">Renews for 1-year periods<\/option>\n          <option value=\"Does not renew automatically\">Does not renew automatically<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c6\"><label>Notice period \u2014 Landlord<span class=\"tip\" data-tip=\"How far in advance the landlord must give notice opposing renewal, per the NRAU.\">i<\/span><\/label>\n        <select data-fid=\"noticelandlord\">\n          <option value=\"120 days\">120 days<\/option>\n          <option value=\"240 days\">240 days<\/option>\n          <option value=\"360 days\">360 days<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c6\"><label>Notice period \u2014 Tenant<\/label>\n        <select data-fid=\"noticeperiodtenant\">\n          <option value=\"30 days\">30 days<\/option>\n          <option value=\"60 days\">60 days<\/option>\n          <option value=\"120 days\">120 days<\/option>\n        <\/select>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- STEP 5 \u2014 CLAUSES -->\n  <section class=\"step\" data-step data-title=\"Clauses\">\n    <h3>Contract Clauses<\/h3>\n    <div class=\"g\">\n      <div class=\"c12\"><label>Permitted use<\/label>\n        <select data-fid=\"permittedused\">\n          <option value=\"Exclusive private residential use\">Exclusive private residential use<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c6\"><label>Subletting<\/label>\n        <select data-fid=\"Subletting\">\n          <option value=\"Prohibited\">Prohibited<\/option>\n          <option value=\"Authorized with landlord written consent\">Authorised with the landlord's written consent<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c6\"><label>Pets<\/label>\n        <select data-fid=\"Pets\">\n          <option value=\"Not allowed\">Not allowed<\/option>\n          <option value=\"Allowed\">Allowed<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c12\"><label>Tenant works \/ alterations<\/label>\n        <select data-fid=\"tenantalterations\">\n          <option value=\"Prohibited\">Prohibited<\/option>\n          <option value=\"Minor works allowed\">Minor works allowed<\/option>\n          <option value=\"Requires written consent\">Requires written consent<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c12\"><label>Tenant maintenance obligations<\/label>\n        <select data-fid=\"tenantmaintenanceobligations\">\n          <option value=\"Tenant responsible for routine maintenance per Art. 1074\u00ba CC\">Tenant responsible for routine maintenance per Art. 1074\u00ba CC<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c12\"><label>Landlord maintenance obligations<\/label>\n        <select data-fid=\"landloardmaintenanceobligation\">\n          <option value=\"Landlord responsible for structural repairs and habitability per Art. 1074\u00ba CC\">Landlord responsible for structural repairs and habitability per Art. 1074\u00ba CC<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c6\"><label>Early termination \u2014 Tenant<\/label>\n        <select data-fid=\"earlyterminationtenant\">\n          <option value=\"30 days\">30 days<\/option>\n          <option value=\"60 days\">60 days<\/option>\n          <option value=\"120 days\">120 days<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c6\"><label>Early termination \u2014 Landlord<\/label>\n        <select data-fid=\"earlyterminationlandlord\">\n          <option value=\"For own use\">For own use<\/option>\n          <option value=\"For major works\">For major works<\/option>\n          <option value=\"Non-payment of rent \u2014 PED\">Non-payment of rent \u2014 PED<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c8\"><label>Governing law<\/label>\n        <select data-fid=\"governinglaw\">\n          <option value=\"Portuguese law \u2014 NRAU Lei n.\u00ba 6\/2006 and Civil Code\">Portuguese law \u2014 NRAU Law no. 6\/2006 and the Civil Code<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"c4\"><label>Jurisdiction<\/label><input data-fid=\"juridiction\" placeholder=\"e.g. Lisbon\"><\/div>\n      <div class=\"c12\"><label>Contract language<\/label>\n        <select data-fid=\"outputlanguage\">\n          <option value=\"Portuguese only\">Portuguese only<\/option>\n          <option value=\"Portuguese + English bilingual\" selected>Portuguese + English bilingual<\/option>\n        <\/select>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <div class=\"nav\">\n    <button type=\"button\" class=\"ghost\" id=\"al-prev\" style=\"visibility:hidden\">Back<\/button>\n    <button type=\"button\" class=\"btn\" id=\"al-next\">Next<\/button>\n    <button type=\"submit\" class=\"btn\" id=\"al-submit\" style=\"display:none\">Get my contract<\/button>\n  <\/div>\n<\/form>\n<div class=\"result\" id=\"al-result\" style=\"display:none\"><\/div>\n<\/div>\n\n<script>\n(function(){\n  \/\/ \u2500\u2500\u2500 CONFIG \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var USE_TEST_WEBHOOK = false; \/\/ true = test URL; false = production\n  var WEBHOOK_PROD = \"https:\/\/n8n.musko.io\/webhook\/lease-generator\";\n  var WEBHOOK_TEST = \"https:\/\/n8n.musko.io\/webhook-test\/lease-generator\";\n  var WEBHOOK_URL   = USE_TEST_WEBHOOK ? WEBHOOK_TEST : WEBHOOK_PROD;\n  var SUPABASE_BASE = \"https:\/\/ujbxjihbytloinjcannx.supabase.co\/storage\/v1\";\n  var SUPABASE_URL  = \"https:\/\/ujbxjihbytloinjcannx.supabase.co\";\n  var SUPABASE_ANON = \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InVqYnhqaWhieXRsb2luamNhbm54Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3Nzk0MjY4MTAsImV4cCI6MjA5NTAwMjgxMH0.0el6NhpshaeRAcrz2AX-YaPVcPxaY7-JGDNe3WGfVk8\";\n  var APP_URL = \"https:\/\/app.aluseg.com\";\n  \/\/ KAN-19: with the funnel switch ON, the final step offers the pre-filled\n  \/\/ account instead of the direct PDF; OFF keeps the classic generation.\n  var funnelEnabled = false;\n  try { fetch(APP_URL+'\/api\/estimator-draft').then(function(r){return r.json();})\n    .then(function(d){ funnelEnabled = !!(d && d.enabled === true); })\n    .catch(function(){ funnelEnabled = false; }); } catch(e){}\n  var TENANT_REPEATER_ID = \"field_0f29bb8\"; \/\/ must match the Normalise node in n8n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var root=document.getElementById('aluseg-lease-form');\n  var form=root.querySelector('#al-form');\n  var stepsEls=[].slice.call(form.querySelectorAll('[data-step]'));\n  var stepper=root.querySelector('#al-stepper');\n  var prevB=root.querySelector('#al-prev'), nextB=root.querySelector('#al-next'),\n      subB=root.querySelector('#al-submit'), result=root.querySelector('#al-result');\n  var cur=0, maxReached=0, lastPayload=null;\n  \/\/ \u2500\u2500\u2500 Country dial codes (flag + prefix) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var CC=[[\"pt\",\"Portugal\",\"351\"],[\"es\",\"Spain\",\"34\"],[\"fr\",\"France\",\"33\"],[\"gb\",\"United Kingdom\",\"44\"],[\"de\",\"Germany\",\"49\"],[\"it\",\"Italy\",\"39\"],[\"nl\",\"Netherlands\",\"31\"],[\"be\",\"Belgium\",\"32\"],[\"ch\",\"Switzerland\",\"41\"],[\"ie\",\"Ireland\",\"353\"],[\"lu\",\"Luxembourg\",\"352\"],[\"us\",\"United States\",\"1\"],[\"ca\",\"Canada\",\"1\"],[\"br\",\"Brazil\",\"55\"],[\"ao\",\"Angola\",\"244\"],[\"mz\",\"Mozambique\",\"258\"],[\"cv\",\"Cape Verde\",\"238\"],[\"gw\",\"Guinea-Bissau\",\"245\"],[\"st\",\"S\u00e3o Tom\u00e9 and Pr\u00edncipe\",\"239\"],[\"tl\",\"Timor-Leste\",\"670\"],[\"mo\",\"Macao\",\"853\"],[\"at\",\"Austria\",\"43\"],[\"dk\",\"Denmark\",\"45\"],[\"se\",\"Sweden\",\"46\"],[\"no\",\"Norway\",\"47\"],[\"fi\",\"Finland\",\"358\"],[\"pl\",\"Poland\",\"48\"],[\"cz\",\"Czech Republic\",\"420\"],[\"sk\",\"Slovakia\",\"421\"],[\"hu\",\"Hungary\",\"36\"],[\"ro\",\"Romania\",\"40\"],[\"bg\",\"Bulgaria\",\"359\"],[\"gr\",\"Greece\",\"30\"],[\"hr\",\"Croatia\",\"385\"],[\"si\",\"Slovenia\",\"386\"],[\"rs\",\"Serbia\",\"381\"],[\"ua\",\"Ukraine\",\"380\"],[\"ru\",\"Russia\",\"7\"],[\"tr\",\"Turkey\",\"90\"],[\"ee\",\"Estonia\",\"372\"],[\"lv\",\"Latvia\",\"371\"],[\"lt\",\"Lithuania\",\"370\"],[\"is\",\"Iceland\",\"354\"],[\"mt\",\"Malta\",\"356\"],[\"cy\",\"Cyprus\",\"357\"],[\"ad\",\"Andorra\",\"376\"],[\"mc\",\"Monaco\",\"377\"],[\"li\",\"Liechtenstein\",\"423\"],[\"us2\",\"Mexico\",\"52\"],[\"ar\",\"Argentina\",\"54\"],[\"cl\",\"Chile\",\"56\"],[\"co\",\"Colombia\",\"57\"],[\"pe\",\"Peru\",\"51\"],[\"ve\",\"Venezuela\",\"58\"],[\"uy\",\"Uruguay\",\"598\"],[\"py\",\"Paraguay\",\"595\"],[\"bo\",\"Bolivia\",\"591\"],[\"ec\",\"Ecuador\",\"593\"],[\"ma\",\"Morocco\",\"212\"],[\"dz\",\"Algeria\",\"213\"],[\"tn\",\"Tunisia\",\"216\"],[\"eg\",\"Egypt\",\"20\"],[\"za\",\"South Africa\",\"27\"],[\"ng\",\"Nigeria\",\"234\"],[\"gh\",\"Ghana\",\"233\"],[\"ke\",\"Kenya\",\"254\"],[\"sn\",\"Senegal\",\"221\"],[\"ci\",\"Ivory Coast\",\"225\"],[\"cm\",\"Cameroon\",\"237\"],[\"ae\",\"United Arab Emirates\",\"971\"],[\"sa\",\"Saudi Arabia\",\"966\"],[\"qa\",\"Qatar\",\"974\"],[\"il\",\"Israel\",\"972\"],[\"in\",\"India\",\"91\"],[\"pk\",\"Pakistan\",\"92\"],[\"bd\",\"Bangladesh\",\"880\"],[\"cn\",\"China\",\"86\"],[\"hk\",\"Hong Kong\",\"852\"],[\"jp\",\"Japan\",\"81\"],[\"kr\",\"South Korea\",\"82\"],[\"sg\",\"Singapore\",\"65\"],[\"my\",\"Malaysia\",\"60\"],[\"th\",\"Thailand\",\"66\"],[\"vn\",\"Vietnam\",\"84\"],[\"ph\",\"Philippines\",\"63\"],[\"id\",\"Indonesia\",\"62\"],[\"au\",\"Australia\",\"61\"],[\"nz\",\"New Zealand\",\"64\"]];\n  function flag(iso){ iso=iso.replace(\/[0-9]\/g,''); if(iso.length!==2) return '\ud83c\udff3\ufe0f';\n    return String.fromCodePoint.apply(null,[].map.call(iso.toUpperCase(),function(c){return 0x1F1A5+c.charCodeAt(0);})); }\n  var ccSel=root.querySelector('#al-cc');\n  CC.forEach(function(c){ var o=document.createElement('option'); o.value=c[2]; o.textContent=flag(c[0])+' +'+c[2];\n    o.title=c[1]+' (+'+c[2]+')'; if(c[0]==='pt') o.selected=true; ccSel.appendChild(o); });\n  \/\/ \u2500\u2500\u2500 Stepper \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  stepsEls.forEach(function(el,i){\n    var d=document.createElement('div'); d.className='st';\n    d.innerHTML='<div class=\"dot\">'+(i+1)+'<\/div><div class=\"lbl\">'+el.getAttribute('data-title')+'<\/div>';\n    d.onclick=function(){ if(i<=maxReached){ cur=i; paint(); } };\n    stepper.appendChild(d);\n  });\n  function paint(){\n    stepsEls.forEach(function(el,i){ el.classList.toggle('active', i===cur); });\n    [].forEach.call(stepper.children,function(s,i){\n      s.classList.toggle('on', i===cur);\n      s.classList.toggle('done', i<cur);\n      s.classList.toggle('click', i<=maxReached);\n    });\n    prevB.style.visibility = cur===0?'hidden':'visible';\n    var last=cur===stepsEls.length-1;\n    nextB.style.display=last?'none':'inline-block';\n    subB.style.display=last?'inline-block':'none';\n    root.scrollIntoView({behavior:'smooth',block:'start'});\n  }\n  function validate(idx){\n    var ok=true;\n    stepsEls[idx].querySelectorAll('[required]').forEach(function(el){\n      if(!el.value.trim()){ el.classList.add('err'); ok=false; } else el.classList.remove('err');\n    });\n    stepsEls[idx].querySelectorAll('[data-tenant]').forEach(function(card){\n      var chk=card.querySelector('[data-tf=\"has_guarantor\"]');\n      var gname=card.querySelector('[data-gf=\"name\"]');\n      if(chk&&chk.checked&&gname&&!gname.value.trim()){ gname.classList.add('err'); ok=false; }\n      else if(gname) gname.classList.remove('err');\n    });\n    return ok;\n  }\n  nextB.onclick=function(){ if(validate(cur)){ cur=Math.min(cur+1,stepsEls.length-1); maxReached=Math.max(maxReached,cur); paint();\n    if(stepsEls[cur]&&stepsEls[cur].getAttribute('data-title')==='Terms') suggestRent(); } };\n  prevB.onclick=function(){ cur=Math.max(cur-1,0); paint(); };\n  \/\/ \u2500\u2500\u2500 Tooltips (tap to show\/hide on mobile) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  root.addEventListener('click',function(e){\n    var tip=e.target.closest('.tip');\n    root.querySelectorAll('.tip.show').forEach(function(t){ if(t!==tip) t.classList.remove('show'); });\n    if(tip){ e.preventDefault(); tip.classList.toggle('show');\n      if(!tip.querySelector('.bub')){ var b=document.createElement('span'); b.className='bub'; b.textContent=tip.getAttribute('data-tip'); tip.appendChild(b); } }\n  });\n  \/\/ \u2500\u2500\u2500 Conditional logic (Step 1) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var marital=root.querySelector('#al-marital'), family=root.querySelector('#al-family');\n  function condStep1(){\n    var m=marital.value, fam=family.value;\n    root.querySelectorAll('.cond-regime').forEach(function(e){ e.style.display=m==='Married'?'block':'none'; });\n    var showSpouse=(m==='Married'||m==='Civil union'||fam==='Yes');\n    root.querySelectorAll('.cond-spouse').forEach(function(e){ e.style.display=showSpouse?'block':'none'; });\n  }\n  marital.onchange=condStep1; family.onchange=condStep1; condStep1();\n  \/\/ \u2500\u2500\u2500 Tenant repeater \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var tWrap=root.querySelector('#al-tenants');\n  function tenantCard(n){\n    var d=document.createElement('div'); d.className='card'; d.setAttribute('data-tenant','');\n    d.innerHTML='<div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:2px\">'+\n      '<strong style=\"font-size:13px\" data-tenant-label>Tenant '+n+'<\/strong>'+(n>1?'<button type=\"button\" class=\"linkbtn al-rm\" style=\"color:#d23b3b\">Remove<\/button>':'')+'<\/div>'+\n      '<div class=\"g\">'+\n      '<div class=\"c8\"><label>Full legal name <span class=\"req\">*<\/span><\/label><input data-tf=\"name\" required><\/div>'+\n      '<div class=\"c4\"><label>NIF <span class=\"req\">*<\/span><\/label><input data-tf=\"nif\" required><\/div>'+\n      '<div class=\"c6\"><label>Marital Status<\/label><select data-tf=\"marital\"><option value=\"\">\u2014<\/option><option value=\"Single\">Single<\/option><option value=\"Married\">Married<\/option><option value=\"Civil union\">Civil Partnership<\/option><\/select><\/div>'+\n      '<div class=\"c6\"><label>Date of birth<\/label><input type=\"date\" data-tf=\"dob\"><\/div>'+\n      '<div class=\"c6\"><label>Passport \/ ID number<\/label><input data-tf=\"passport\"><\/div>'+\n      '<div class=\"c6\"><label>Expiry date<\/label><input type=\"date\" data-tf=\"passport_expiry\"><\/div>'+\n      '<div class=\"c6\"><label>Email<\/label><input type=\"email\" data-tf=\"email\"><\/div>'+\n      '<div class=\"c6\"><label>Phone<\/label><input data-tf=\"phone\"><\/div>'+\n      '<div class=\"c12\"><label>Current address<\/label><input data-tf=\"address\"><\/div>'+\n      '<\/div>'+\n      '<div class=\"toggle\" style=\"margin-top:10px\"><input type=\"checkbox\" data-tf=\"has_guarantor\" id=\"al-gchk-'+n+'\"><label for=\"al-gchk-'+n+'\" style=\"margin:0\">Add a guarantor for this tenant<span class=\"tip\" data-tip=\"Third party who guarantees this tenant\\'s obligations. Optional but common in Portugal, especially for tenants without a local income history.\">i<\/span><\/label><\/div>'+\n      '<div data-gwrap style=\"display:none;border-top:1px dashed var(--line);margin-top:8px;padding-top:10px\">'+\n      '<strong style=\"font-size:12.5px;color:var(--muted)\" data-guarantor-label>Guarantor for Tenant '+n+'<\/strong>'+\n      '<div class=\"g\" style=\"margin-top:8px\">'+\n      '<div class=\"c8\"><label>Full legal name <span class=\"req\">*<\/span><\/label><input data-gf=\"name\"><\/div>'+\n      '<div class=\"c4\"><label>NIF<\/label><input data-gf=\"nif\"><\/div>'+\n      '<div class=\"c6\"><label>Marital Status<\/label><select data-gf=\"marital\"><option value=\"\">\u2014<\/option><option value=\"Single\">Single<\/option><option value=\"Married\">Married<\/option><option value=\"Civil union\">Civil Partnership<\/option><\/select><\/div>'+\n      '<div class=\"c6\"><label>Date of birth<\/label><input type=\"date\" data-gf=\"dob\"><\/div>'+\n      '<div class=\"c4\"><label>Document type<\/label><select data-gf=\"id_type\"><option value=\"\">\u2014<\/option><option value=\"Citizen Card\">Citizen Card<\/option><option value=\"Passport\">Passport<\/option><option value=\"Residence Permit\">Residence Permit<\/option><\/select><\/div>'+\n      '<div class=\"c4\"><label>Document number<\/label><input data-gf=\"id_number\"><\/div>'+\n      '<div class=\"c4\"><label>Expiry date<\/label><input type=\"date\" data-gf=\"id_expiry\"><\/div>'+\n      '<div class=\"c6\"><label>Email<\/label><input type=\"email\" data-gf=\"email\"><\/div>'+\n      '<div class=\"c6\"><label>Phone<\/label><input data-gf=\"phone\"><\/div>'+\n      '<div class=\"c12\"><label>Permanent address<\/label><input data-gf=\"address\"><\/div>'+\n      '<\/div><\/div>';\n    var rm=d.querySelector('.al-rm'); if(rm) rm.onclick=function(){ d.remove(); renumber(); };\n    var gchk=d.querySelector('[data-tf=\"has_guarantor\"]'), gwrap=d.querySelector('[data-gwrap]');\n    gchk.onchange=function(){ gwrap.style.display=gchk.checked?'block':'none'; };\n    return d;\n  }\n  function renumber(){\n    tWrap.querySelectorAll('[data-tenant]').forEach(function(card,i){\n      var lb=card.querySelector('[data-tenant-label]'); if(lb) lb.textContent='Tenant '+(i+1);\n      var gl=card.querySelector('[data-guarantor-label]'); if(gl) gl.textContent='Guarantor for Tenant '+(i+1);\n    });\n  }\n  function addTenant(){ tWrap.appendChild(tenantCard(tWrap.children.length+1)); }\n  root.querySelector('#al-add-tenant').onclick=addTenant; addTenant();\n  \/\/ \u2500\u2500\u2500 Elementor-compatible payload build \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function buildPayload(){\n    if(root.querySelector('.cond-regime').style.display==='none') root.querySelectorAll('[data-fid=\"matrimonial\"]').forEach(function(e){e.value='';});\n    if(root.querySelector('.cond-spouse').style.display==='none') root.querySelectorAll('[data-fid=\"spouselegalname\"],[data-fid=\"spousenif\"]').forEach(function(e){e.value='';});\n    var p={};\n    form.querySelectorAll('[data-fid]').forEach(function(el){ p['fields['+el.dataset.fid+'][value]']=el.value||''; });\n    \/\/ phone (flag + number)\n    var num=root.querySelector('#al-phone-num').value.trim();\n    p['fields[phonelandlord][value]'] = num ? ('+'+ccSel.value+' '+num) : '';\n    \/\/ included assets\n    var LEGACY_ASSETS={'Mob\u00edlia':'Furniture','Eletrodom\u00e9sticos':'Appliances','Estacionamento':'Parking','Arrumos':'Storage','Terra\u00e7o':'Terrace\/Garden','Elevador':'Elevator','Piscina':'Pool','Porteiro':'Concierge','Gin\u00e1sio':'Gym'};\n    var assets=[]; root.querySelectorAll('#al-assets input:checked').forEach(function(c){assets.push(LEGACY_ASSETS[c.value]||c.value);});\n    p['fields[includedassets][value]']=assets.join(', ');\n    var firstG=null;\n    tWrap.querySelectorAll('[data-tenant]').forEach(function(card){\n      if(firstG) return;\n      var chk=card.querySelector('[data-tf=\"has_guarantor\"]');\n      if(chk&&chk.checked){ firstG={}; card.querySelectorAll('[data-gf]').forEach(function(el){ firstG[el.dataset.gf]=el.value||''; }); }\n    });\n    p['fields[hasguarantor][value]']=firstG?'Yes':'No';\n    p['fields[legalnameguarantor][value]']=firstG?(firstG.name||''):'';\n    p['fields[maritalguarantor][value]']=firstG?(firstG.marital||''):'';\n    p['fields[nifguarantor][value]']=firstG?(firstG.nif||''):'';\n    p['fields[idtypeguarantor][value]']=firstG?(firstG.id_type||''):'';\n    p['fields[idguarantor][value]']=firstG?(firstG.id_number||''):'';\n    p['fields[idexpirationdateguarantor][value]']=firstG?(firstG.id_expiry||''):'';\n    p['fields[addressguarantor][value]']=firstG?(firstG.address||''):'';\n    \/\/ tenants\n    var ids=[]; tWrap.querySelectorAll('[data-tenant]').forEach(function(card,i){\n      var rid='row'+(i+1); ids.push(rid);\n      var map={name:'tenantname',nif:'niftenant',passport:'idtenant',passport_expiry:'idexpirationdatetenant',address:'currentaddresstenant',email:'emailtenant',phone:'phonetenant',marital:'maritaltenant',dob:'dobtenant'};\n      card.querySelectorAll('[data-tf]').forEach(function(el){ if(!map[el.dataset.tf]) return; p['form_fields['+map[el.dataset.tf]+']['+rid+']']=el.value||''; });\n    });\n    p['fields['+TENANT_REPEATER_ID+'][raw_value]']=JSON.stringify({count:ids.length,fields:[],id:ids});\n    return p;\n  }\n  \/\/ \u2500\u2500\u2500 Submit \/ result \/ retry \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function showResult(html){ form.style.display='none'; stepper.style.display='none';\n    result.style.display='block'; result.innerHTML=html; root.scrollIntoView({behavior:'smooth',block:'start'}); }\n  function backToForm(){ result.style.display='none'; form.style.display='block'; stepper.style.display='flex';\n    cur=stepsEls.length-1; paint(); }\n  var SUPPORT_EMAIL = 'support@aluseg.com';\n  function unhappyPath(){\n    return '<div style=\"margin-top:28px;border-top:1px solid var(--line);padding-top:18px;text-align:left;max-width:480px;margin-left:auto;margin-right:auto\">'\n      +'<p style=\"font-weight:600;font-size:13px;margin-bottom:8px\">Having trouble?<\/p>'\n      +'<ul style=\"font-size:13px;color:var(--muted);line-height:1.8;padding-left:18px;margin:0 0 10px\">'\n      +'<li>The download link is permanent \u2014 try opening it in a new tab.<\/li>'\n      +'<li>No email? <strong>Check your spam \/ junk folder.<\/strong><\/li>'\n      +'<li>Still nothing after 5 minutes? Contact us and we will resend it manually.<\/li>'\n      +'<\/ul>'\n      +'<a href=\"mailto:'+SUPPORT_EMAIL+'?subject=Contract+not+received\" style=\"font-size:13px;color:var(--accent);font-weight:600\">\u2709 Contact support<\/a>'\n      +'<\/div>';\n  }\n  function send(){\n    showResult('<div class=\"spinner\"><\/div><h3>Generating your contract\u2026<\/h3><p class=\"sub\">This can take up to a minute. Please do not close this page.<\/p>');\n    fetch(WEBHOOK_URL,{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify(lastPayload)})\n      .then(function(res){ if(res.status===429) return res.json().then(function(d){throw{rate:true,msg:(d&&d.error)||'Too many requests.'};}); return res.json().catch(function(){return{};}); })\n      .then(function(data){\n        var url=data.pdf_url||data.download_url||data.signedURL||(data.body&&data.body.pdf_url)||(data.body&&data.body.download_url);\n        if(url){ if(url.indexOf('http')!==0) url=SUPABASE_BASE+url;\n          showResult(\n            '<h3 style=\"color:var(--accent)\">\u2713 Your contract is ready<\/h3>'\n            +'<p class=\"sub\" style=\"margin-bottom:18px\">Your contract was generated successfully.<\/p>'\n            +'<a class=\"dl\" href=\"'+url+'\" target=\"_blank\" rel=\"noopener\" download>\u2b07 Download PDF<\/a>'\n            +'<p style=\"font-size:12.5px;color:var(--muted);margin-top:14px\">\ud83d\udce7 A copy was also sent by email. If it does not arrive within a few minutes, check your spam folder.<\/p>'\n            +unhappyPath()\n            +'<div class=\"rbtns\" style=\"margin-top:20px\"><button type=\"button\" class=\"ghost\" id=\"al-edit\">Create another contract<\/button><\/div>'\n          );\n          var e=root.querySelector('#al-edit'); if(e) e.onclick=backToForm;\n        } else {\n          showResult(\n            '<h3 style=\"color:var(--accent)\">\u2713 Submitted<\/h3>'\n            +'<p class=\"sub\">Your contract is being generated and will be emailed to you shortly.<\/p>'\n            +'<p style=\"font-size:12.5px;color:var(--muted);margin-top:6px\">\ud83d\udce7 Check your inbox over the next few minutes. If nothing shows up, check your spam folder.<\/p>'\n            +unhappyPath()\n            +'<div class=\"rbtns\" style=\"margin-top:20px\"><button type=\"button\" class=\"ghost\" id=\"al-edit\">Back to the form<\/button><\/div>'\n          );\n          var e2=root.querySelector('#al-edit'); if(e2) e2.onclick=backToForm;\n        }\n      })\n      .catch(function(err){\n        var msg=(err&&err.rate)?err.msg:'Could not reach the server. Your data is safe \u2014 you can try again.';\n        showResult(\n          '<h3>'+((err&&err.rate)?'Limit reached':'Something went wrong')+'<\/h3>'\n          +'<p class=\"sub\">'+msg+'<\/p>'\n          +'<div class=\"rbtns\">'+((err&&err.rate)?'':'<button type=\"button\" class=\"btn\" id=\"al-retry\">Try again<\/button>')\n          +'<button type=\"button\" class=\"ghost\" id=\"al-back\">Back to the form<\/button><\/div>'\n          +'<div style=\"margin-top:20px;font-size:13px;color:var(--muted)\">If the problem persists, <a href=\"mailto:'+SUPPORT_EMAIL+'?subject=Contract+generation+error\" style=\"color:var(--accent);font-weight:600\">contact support<\/a>.<\/div>'\n        );\n        var r=root.querySelector('#al-retry'); if(r) r.onclick=send;\n        var b=root.querySelector('#al-back'); if(b) b.onclick=backToForm;\n      });\n  }\n  \/\/ \u2500\u2500\u2500 Rent suggestion from the estimator (same data as the app) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var DISTRITOS={\"Aveiro\":[\"\u00c1gueda\",\"Albergaria-a-Velha\",\"Anadia\",\"Arouca\",\"Aveiro\",\"Castelo de Paiva\",\"Espinho\",\"Estarreja\",\"\u00cdlhavo\",\"Mealhada\",\"Murtosa\",\"Oliveira de Azem\u00e9is\",\"Oliveira do Bairro\",\"Ovar\",\"Santa Maria da Feira\",\"S\u00e3o Jo\u00e3o da Madeira\",\"Sever do Vouga\",\"Vagos\",\"Vale de Cambra\"],\"Beja\":[\"Aljustrel\",\"Beja\",\"Castro Verde\",\"Ferreira do Alentejo\",\"Moura\",\"Odemira\"],\"Braga\":[\"Amares\",\"Barcelos\",\"Braga\",\"Cabeceiras de Basto\",\"Celorico de Basto\",\"Esposende\",\"Fafe\",\"Guimar\u00e3es\",\"P\u00f3voa de Lanhoso\",\"Vieira do Minho\",\"Vila Nova de Famalic\u00e3o\",\"Vila Verde\",\"Vizela\"],\"Bragan\u00e7a\":[\"Bragan\u00e7a\",\"Macedo de Cavaleiros\",\"Mirandela\",\"Mogadouro\",\"Vila Flor\"],\"Castelo Branco\":[\"Belmonte\",\"Castelo Branco\",\"Covilh\u00e3\",\"Fund\u00e3o\",\"Sert\u00e3\"],\"Coimbra\":[\"Arganil\",\"Cantanhede\",\"Coimbra\",\"Condeixa-a-Nova\",\"Figueira da Foz\",\"Lous\u00e3\",\"Mira\",\"Miranda do Corvo\",\"Montemor-o-Velho\",\"Oliveira do Hospital\",\"Penacova\",\"Soure\",\"T\u00e1bua\",\"Vila Nova de Poiares\"],\"\u00c9vora\":[\"Arraiolos\",\"Borba\",\"Estremoz\",\"\u00c9vora\",\"Montemor-o-Novo\",\"Redondo\",\"Reguengos de Monsaraz\",\"Vendas Novas\",\"Vila Vi\u00e7osa\"],\"Faro\":[\"Albufeira\",\"Aljezur\",\"Castro Marim\",\"Faro\",\"Lagoa\",\"Lagos\",\"Loul\u00e9\",\"Monchique\",\"Olh\u00e3o\",\"Portim\u00e3o\",\"S\u00e3o Br\u00e1s de Alportel\",\"Silves\",\"Tavira\",\"Vila do Bispo\",\"Vila Real de Santo Ant\u00f3nio\"],\"Guarda\":[\"Gouveia\",\"Guarda\",\"Sabugal\",\"Seia\",\"Trancoso\",\"Vila Nova de Foz C\u00f4a\"],\"Leiria\":[\"Alcoba\u00e7a\",\"Alvai\u00e1zere\",\"Ansi\u00e3o\",\"Batalha\",\"Bombarral\",\"Caldas da Rainha\",\"Leiria\",\"Marinha Grande\",\"Nazar\u00e9\",\"\u00d3bidos\",\"Peniche\",\"Pombal\",\"Porto de M\u00f3s\"],\"Lisboa\":[\"Alenquer\",\"Amadora\",\"Arruda dos Vinhos\",\"Azambuja\",\"Cadaval\",\"Cascais\",\"Lisboa\",\"Loures\",\"Lourinh\u00e3\",\"Mafra\",\"Odivelas\",\"Oeiras\",\"Sintra\",\"Sobral de Monte Agra\u00e7o\",\"Torres Vedras\",\"Vila Franca de Xira\"],\"Madeira\":[\"Funchal\"],\"Portalegre\":[\"Campo Maior\",\"Elvas\",\"Ponte de Sor\",\"Portalegre\"],\"Porto\":[\"Amarante\",\"Bai\u00e3o\",\"Felgueiras\",\"Gondomar\",\"Lousada\",\"Maia\",\"Marco de Canaveses\",\"Matosinhos\",\"Pa\u00e7os de Ferreira\",\"Paredes\",\"Penafiel\",\"Porto\",\"P\u00f3voa de Varzim\",\"Santo Tirso\",\"Trofa\",\"Valongo\",\"Vila do Conde\",\"Vila Nova de Gaia\"],\"Santar\u00e9m\":[\"Abrantes\",\"Alcanena\",\"Almeirim\",\"Benavente\",\"Cartaxo\",\"Chamusca\",\"Coruche\",\"Entroncamento\",\"Ferreira do Z\u00eazere\",\"Our\u00e9m\",\"Rio Maior\",\"Salvaterra de Magos\",\"Santar\u00e9m\",\"Tomar\",\"Torres Novas\",\"Vila Nova da Barquinha\"],\"Set\u00fabal\":[\"Alc\u00e1cer do Sal\",\"Alcochete\",\"Almada\",\"Barreiro\",\"Gr\u00e2ndola\",\"Moita\",\"Montijo\",\"Palmela\",\"Santiago do Cac\u00e9m\",\"Seixal\",\"Sesimbra\",\"Set\u00fabal\",\"Sines\"],\"Viana do Castelo\":[\"Arcos de Valdevez\",\"Caminha\",\"Melga\u00e7o\",\"Mon\u00e7\u00e3o\",\"Paredes de Coura\",\"Ponte da Barca\",\"Ponte de Lima\",\"Valen\u00e7a\",\"Viana do Castelo\",\"Vila Nova de Cerveira\"],\"Vila Real\":[\"Chaves\",\"Peso da R\u00e9gua\",\"Valpa\u00e7os\",\"Vila Pouca de Aguiar\",\"Vila Real\"],\"Viseu\":[\"Carregal do Sal\",\"Castro Daire\",\"Cinf\u00e3es\",\"Lamego\",\"Mangualde\",\"Moimenta da Beira\",\"Mort\u00e1gua\",\"Nelas\",\"Oliveira de Frades\",\"Resende\",\"Santa Comba D\u00e3o\",\"S\u00e3o Pedro do Sul\",\"S\u00e1t\u00e3o\",\"Tondela\",\"Viseu\",\"Vouzela\"]};\n  function districtForCity(city){\n    var c=(city||'').trim().toLowerCase(); if(!c) return null;\n    for(var d in DISTRITOS){ var list=DISTRITOS[d];\n      for(var i=0;i<list.length;i++){ if(list[i].toLowerCase()===c) return {distrito:d, municipio:list[i]}; } }\n    return null;\n  }\n  function bucketTypology(t){ var m=\/^T(\\d{1,2})\/.exec(t||''); if(!m) return 'T2'; return Number(m[1])>=4?'T4+':'T'+m[1]; }\n  var PT_TYPE_TO_RPC={'Apartment':'Apartamento','House':'Moradia','Studio\/Loft':'Studio\/Loft','Room':'Quarto'};\n  var estimateFetched=false;\n  function suggestRent(){\n    if(estimateFetched) return;\n    var rentEl=form.querySelector('[data-fid=\"monthlyrent\"]');\n    if(!rentEl||rentEl.value.trim()) return;\n    var geo=districtForCity(fid('propertycity')); if(!geo) return;\n    var tipo=PT_TYPE_TO_RPC[fid('propertytype')]; var typ=fid('typology'); if(!tipo||!typ) return;\n    estimateFetched=true;\n    var checked=[]; root.querySelectorAll('#al-assets input:checked').forEach(function(c){checked.push(c.value);});\n    var body={distrito:geo.distrito, municipio:geo.municipio, property_type:tipo, typology:bucketTypology(typ)};\n    if(checked.indexOf('Mob\u00edlia')>=0) body.furnished=true;\n    var area=parseFloat(fid('propertyarea')); if(area>0) body.user_m2=area;\n    fetch(SUPABASE_URL+'\/rest\/v1\/rpc\/get_rent_estimate',{method:'POST',\n      headers:{'Content-Type':'application\/json','apikey':SUPABASE_ANON,'Authorization':'Bearer '+SUPABASE_ANON},\n      body:JSON.stringify(body)})\n      .then(function(r){ return r.json(); })\n      .then(function(data){\n        var row=Array.isArray(data)?data[0]:data;\n        if(!row||row.rent_median==null) return;\n        var v=parseFloat(row.rent_median);\n        var pct=(checked.indexOf('Terra\u00e7o')>=0?0.07:0)+(checked.indexOf('Piscina')>=0?0.08:0)\n               +(checked.indexOf('Porteiro')>=0?0.06:0)+(checked.indexOf('Gin\u00e1sio')>=0?0.04:0)\n               +(\/\\+1$\/.test(typ)?0.06:0);\n        v=v*(1+pct)+(checked.indexOf('Estacionamento')>=0?75:0)+(checked.indexOf('Arrumos')>=0?30:0);\n        v=Math.round(v);\n        if(!rentEl.value.trim()){\n          rentEl.value=v;\n          var h=root.querySelector('#al-rent-hint');\n          if(h){ h.style.display='block';\n            h.innerHTML='\ud83d\udca1 Aluseg estimator suggestion for '+geo.municipio+' ('+typ+'): <strong>\u20ac'+v.toLocaleString('en-GB')+'\/month<\/strong> \u2014 adjust freely.'; }\n        }\n      }).catch(function(){ estimateFetched=false; });\n  }\n\n  \/\/ \u2500\u2500\u2500 App draft (KAN-19): same dossier, app vocabulary \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function fid(id){ var el=form.querySelector('[data-fid=\"'+id+'\"]'); return el?(el.value||'').trim():''; }\n  var TYPE_TO_APP={'Apartment':'apartment','House':'house','Studio\/Loft':'studio','Room':'room'};\n  var DRAFT_MAPPED=['legalnamelandlord','niflandlord','emaillandlord','streetaddresslandlord','streetnumberlandlord',\n    'floorlandlord','postalcodelandlord','citylandlord','IBANLandlord','propertystreet','propertystreetnumber',\n    'propertyfloor','propertypostalcode','propertycity','propertyparish','propertytype','typology','propertyarea',\n    'startdate','duration','term','monthlyrent','securitydeposit','rentduedate','leasetype','guaranteetype',\n    'rentupdateindex','noticelandlord'];\n  function personFromCard(card, attr){\n    var o={}; card.querySelectorAll('['+attr+']').forEach(function(el){\n      var k=el.getAttribute(attr); if(k==='has_guarantor') return; o[k]=(el.value||'').trim(); });\n    if(!o.name) return null;\n    var extras={};\n    if(o.marital) extras.marital=o.marital;\n    if(o.passport) extras.id_number=o.passport;\n    if(o.passport_expiry) extras.id_expiry=o.passport_expiry;\n    if(o.id_type) extras.id_type=o.id_type;\n    if(o.id_number) extras.id_number=o.id_number;\n    if(o.id_expiry) extras.id_expiry=o.id_expiry;\n    var person={ full_name:o.name };\n    if(o.nif) person.nif=o.nif;\n    if(o.email) person.email=o.email;\n    if(o.phone) person.phone=o.phone;\n    if(o.address) person.current_address=o.address;\n    if(o.dob) person.date_of_birth=o.dob;\n    if(Object.keys(extras).length) person.extras=extras;\n    return person;\n  }\n  function buildAppDraft(){\n    var durationRaw=parseFloat(fid('duration'))||0, unit=fid('term');\n    var months=unit==='Year(s)'?durationRaw*12:unit==='Week(s)'?Math.round(durationRaw*12\/52):durationRaw;\n    var assets=[]; root.querySelectorAll('#al-assets input:checked').forEach(function(c){assets.push(c.value);});\n    \/\/ (values are the app's pt catalog names; the legacy PDF payload maps them separately)\n    var tenants=[];\n    tWrap.querySelectorAll('[data-tenant]').forEach(function(card){\n      var t=personFromCard(card,'data-tf'); if(!t) return;\n      var chk=card.querySelector('[data-tf=\"has_guarantor\"]');\n      if(chk&&chk.checked){ var g=personFromCard(card,'data-gf'); if(g) t.guarantor=g; }\n      tenants.push(t);\n    });\n    var extras={};\n    form.querySelectorAll('[data-fid]').forEach(function(el){\n      var k=el.dataset.fid, v=(el.value||'').trim();\n      if(!v||DRAFT_MAPPED.indexOf(k)>=0) return;\n      extras[k]=v;\n    });\n    if(assets.length) extras.includedassets=assets.join(', ');\n    var num=root.querySelector('#al-phone-num').value.trim();\n    var draft={\n      kind:'lease',\n      landlord:{\n        legal_name:fid('legalnamelandlord'), nif:fid('niflandlord'), email:fid('emaillandlord'),\n        phone:num?('+'+ccSel.value+' '+num):'', street:fid('streetaddresslandlord'),\n        door_number:fid('streetnumberlandlord'), floor_apartment:fid('floorlandlord'),\n        postal_code:fid('postalcodelandlord'), city:fid('citylandlord'), iban:fid('IBANLandlord')\n      },\n      property:{\n        street:fid('propertystreet'), door_number:fid('propertystreetnumber'), floor:fid('propertyfloor'),\n        postal_code:fid('propertypostalcode'), city:fid('propertycity'), freguesia:fid('propertyparish'),\n        property_type:TYPE_TO_APP[fid('propertytype')]||'apartment', typology:fid('typology'),\n        area_m2:parseFloat(fid('propertyarea'))||undefined,\n        furnished:assets.indexOf('Mob\u00edlia')>=0,\n        amenities:(function(){ var APP_AMENITIES=['Estacionamento','Elevador','Terra\u00e7o','Piscina','Arrumos','Porteiro','Gin\u00e1sio'];\n          var out=[]; assets.forEach(function(a){ if(APP_AMENITIES.indexOf(a)>=0) out.push(a); });\n          return out.length?out:undefined; })()\n      },\n      tenants:tenants,\n      lease:{\n        lease_type:fid('leasetype')||undefined,\n        start_date:fid('startdate')||undefined,\n        duration_months:months>0?months:undefined,\n        rent_amount:parseFloat(fid('monthlyrent'))||0,\n        deposit_amount:parseFloat(fid('securitydeposit'))||undefined,\n        payment_day:parseInt(fid('rentduedate'),10)||undefined,\n        guarantee_type:fid('guaranteetype')||undefined,\n        guarantee_amount:fid('guaranteetype')?(parseFloat(fid('securitydeposit'))||undefined):undefined,\n        rent_update_index:fid('rentupdateindex')||undefined,\n        notice_period_days:parseInt(fid('noticelandlord'),10)||undefined\n      },\n      extras:extras\n    };\n    return draft;\n  }\n  \/\/ \u2500\u2500\u2500 Conversion CTA (funnel on) + free PDF in the background \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function startBackgroundPdf(){\n    var link=root.querySelector('#al-pdf-link'); if(!link) return;\n    link.textContent='Preparing your free PDF\u2026'; link.removeAttribute('href'); link.style.pointerEvents='none';\n    fetch(WEBHOOK_URL,{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify(lastPayload)})\n      .then(function(res){ return res.json().catch(function(){return{};}); })\n      .then(function(data){\n        var url=data.pdf_url||data.download_url||data.signedURL||(data.body&&data.body.pdf_url)||(data.body&&data.body.download_url);\n        var l=root.querySelector('#al-pdf-link'); if(!l) return;\n        if(url){ if(url.indexOf('http')!==0) url=SUPABASE_BASE+url;\n          l.textContent='\u2b07 Download just the PDF (no account)'; l.setAttribute('href',url);\n          l.setAttribute('target','_blank'); l.setAttribute('rel','noopener'); l.style.pointerEvents='';\n        } else {\n          l.textContent='The PDF will be emailed to you within a few minutes (check spam).';\n        }\n      })\n      .catch(function(){\n        var l=root.querySelector('#al-pdf-link'); if(!l) return;\n        l.textContent='Could not generate the PDF \u2014 try again'; l.setAttribute('href','#'); l.style.pointerEvents='';\n        l.onclick=function(ev){ ev.preventDefault(); startBackgroundPdf(); };\n      });\n  }\n  function showFunnelCTA(){\n    showResult(\n      '<h3 style=\"color:var(--accent)\">\u2713 Your contract is ready<\/h3>'\n      +'<p class=\"sub\" style=\"margin-bottom:16px\">Create your free account to get it \u2014 everything is already set up:<\/p>'\n      +'<ul style=\"text-align:left;max-width:420px;margin:0 auto 18px;padding:0;list-style:none;font-size:13.5px;line-height:2\">'\n      +'<li>\ud83d\udcc4 <strong>Complete NRAU contract<\/strong>, ready to e-sign (legally valid)<\/li>'\n      +'<li>\ud83d\udee1\ufe0f Tenant <strong>solvency check<\/strong> included<\/li>'\n      +'<li>\u2699\ufe0f Rent, receipts and legal deadlines on <strong>autopilot<\/strong><\/li>'\n      +'<\/ul>'\n      +'<button type=\"button\" class=\"dl\" id=\"al-funnel-go\" style=\"border:none;cursor:pointer;font-size:15px\">Create a free account &amp; get the contract \u2192<\/button>'\n      +'<p style=\"font-size:12px;color:var(--muted);margin-top:10px\">Free \u00b7 Under 2 minutes \u00b7 No credit card<\/p>'\n      +'<div id=\"al-funnel-err\" style=\"display:none;margin-top:8px;font-size:12.5px;color:#d23b3b\"><\/div>'\n      +'<p style=\"margin-top:16px;font-size:12.5px\"><a href=\"#\" id=\"al-pdf-link\" style=\"color:var(--muted);text-decoration:underline\"><\/a><\/p>'\n      +'<div class=\"rbtns\" style=\"margin-top:12px\"><button type=\"button\" class=\"ghost\" id=\"al-back\">Back to the form<\/button><\/div>'\n    );\n    startBackgroundPdf();\n    var b=root.querySelector('#al-back'); if(b) b.onclick=backToForm;\n    var go=root.querySelector('#al-funnel-go');\n    go.onclick=function(){\n      go.disabled=true; go.textContent='Preparing your account\u2026';\n      fetch(APP_URL+'\/api\/estimator-draft',{method:'POST',headers:{'Content-Type':'application\/json'},\n        body:JSON.stringify(buildAppDraft())})\n        .then(function(r){ return r.json().then(function(d){ return {ok:r.ok,d:d}; }); })\n        .then(function(res){\n          if(res.ok&&res.d&&res.d.token){ window.location.href=APP_URL+'\/login?mode=signup&draft='+encodeURIComponent(res.d.token); }\n          else{ throw new Error((res.d&&res.d.error)||'error'); }\n        })\n        .catch(function(){\n          go.disabled=false; go.textContent='Create a free account & get the contract \u2192';\n          var err=root.querySelector('#al-funnel-err');\n          if(err){ err.style.display='block'; err.textContent='Could not set up your account right now \u2014 try again or use the PDF link below.'; }\n        });\n    };\n  }\n  form.addEventListener('submit',function(e){\n    e.preventDefault();\n    if(!validate(cur)) return;\n    var ft=tWrap.querySelector('[data-tf=\"name\"]'); var ftn=tWrap.querySelector('[data-tf=\"nif\"]');\n    if((ft&&!ft.value.trim())||(ftn&&!ftn.value.trim())){ cur=1; maxReached=Math.max(maxReached,1); paint();\n      if(ft&&!ft.value.trim())ft.classList.add('err'); if(ftn&&!ftn.value.trim())ftn.classList.add('err'); return; }\n    lastPayload=buildPayload();\n    if(funnelEnabled){ showFunnelCTA(); } else { send(); }\n  });\n  paint();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-3b4e03cf e-flex e-con-boxed e-con e-child\" data-id=\"3b4e03cf\" data-element_type=\"container\" data-e-type=\"container\" id=\"included\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-3703a1b8 e-con-full animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"3703a1b8\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-7c04fefa e-con-full e-flex e-con e-child\" data-id=\"7c04fefa\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-43f37fd1 elementor-widget elementor-widget-heading\" data-id=\"43f37fd1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Trusted Rental Experts<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6d2dd1f1 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"6d2dd1f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Experienced professionals with a strong background in rental lease agreements, law, tenant management.<\/p>\t\t\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-2163d28c e-con-full e-flex e-con e-child\" data-id=\"2163d28c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7719bec5 animated-slow elementor-invisible elementor-widget elementor-widget-jkit_heading\" data-id=\"7719bec5\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"jkit_heading.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-heading  align-left align-tablet- align-mobile- jeg_module__1_6a6b85c2cba18\" ><div class=\"heading-section-title  display-inline\"><h2 class=\"heading-title\">What is included in this <span class=\"style-color\"><span>lease template?<\/span><\/span><\/h2><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-45722ba3 animated-slow elementor-widget-tablet__width-inherit elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"45722ba3\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:500}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Our digital lease template is designed to protect landlords from end to end, covering all practical aspects of a residential tenancy in Portugal. When you generate your document, it will automatically include:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-443d1f70 e-con-full animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"443d1f70\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;,&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:300}\">\n\t\t<div class=\"elementor-element elementor-element-1ba52f00 e-con-full e-flex e-con e-child\" data-id=\"1ba52f00\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-71686663 elementor-widget elementor-widget-heading\" data-id=\"71686663\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">What\u2019s Included:<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36697268 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"36697268\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Full Identification of the Parties: Dynamic sections to identify the landlord and multiple tenants (including NIFs, passport numbers, and current addresses)<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Property Description and Included Assets: Details on the property's gross area, tax\/land registry references, and a customizable checklist of included assets like furniture, appliances, parking, or storage<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Lease Terms and Financials: Clear definitions of the initial term, start date, monthly rent amount, due dates, and security deposit conditions<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13e3a7ee e-transform elementor-mobile-align-justify elementor-widget-mobile__width-inherit elementor-widget elementor-widget-button\" data-id=\"13e3a7ee\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_transform_translateY_effect_hover&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:-0.25,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#lease\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"jki jki-right-arrow-light\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Generate Lease<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-4da6795a e-flex e-con-boxed e-con e-parent\" data-id=\"4da6795a\" data-element_type=\"container\" data-e-type=\"container\" id=\"legal\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-6f639157 e-con-full e-flex e-con e-child\" data-id=\"6f639157\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2210be53 animated-slow elementor-widget__width-initial elementor-invisible elementor-widget elementor-widget-jkit_heading\" data-id=\"2210be53\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"jkit_heading.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-heading  align-left align-tablet- align-mobile- jeg_module__2_6a6b85c2ccaf9\" ><div class=\"heading-section-title  display-inline\"><h2 class=\"heading-title\">Is this template <span class=\"style-color\"><span>legally valid in Portugal?<\/span><\/span><\/h2><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-34a558b3 elementor-widget-tablet__width-inherit animated-slow elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"34a558b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Yes. This residential lease agreement template has been drafted in strict compliance with the Portuguese Urban Lease Regime (NRAU &#8211; Law n.\u00ba 6\/2006) and incorporates the recent updates introduced by the Mais Habita\u00e7\u00e3o law (Law n.\u00ba 56\/2023)<br \/>By using this template, you ensure:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1c478984 e-grid e-con-full e-con e-child\" data-id=\"1c478984\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-4442f480 e-con-full e-transform animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"4442f480\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_transform_translateY_effect_hover&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:-0.25,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:100,&quot;_transform_translateX_effect_hover&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-79fad7 elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"79fad7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"Capa_1\" viewBox=\"0 0 512 512\"><g><path d=\"m442.371 309.19c4.143 0 7.5-3.357 7.5-7.5v-232.07c0-4.143-3.357-7.5-7.5-7.5h-23.56v-23.55c0-4.143-3.358-7.5-7.5-7.5h-23.56v-23.57c0-4.143-3.357-7.5-7.5-7.5h-248.5c-1.976-.003-3.905.794-5.304 2.197l-61.954 61.964c-1.455 1.368-2.364 3.31-2.364 5.465 0 .039.001.077.002.116v126.748c0 4.143 3.358 7.5 7.5 7.5s7.5-3.357 7.5-7.5v-119.364h54.623c4.142 0 7.5-3.357 7.5-7.5v-54.626h233.497v419.88h-295.62v-205.7c0-4.143-3.358-7.5-7.5-7.5s-7.5 3.357-7.5 7.5v213.2c0 4.143 3.358 7.5 7.5 7.5h23.56v23.56c0 4.143 3.358 7.5 7.5 7.5h23.56v23.56c0 4.143 3.358 7.5 7.5 7.5h310.62c4.143 0 7.5-3.357 7.5-7.5v-170.12c0-4.143-3.357-7.5-7.5-7.5s-7.5 3.357-7.5 7.5v162.62h-295.62v-16.06h109.95c4.142 0 7.5-3.357 7.5-7.5 0-4.142-3.358-7.5-7.5-7.5h-141.01v-16.06h272.06c4.143 0 7.5-3.357 7.5-7.5v-396.31h16.06v419.87h-121.921c-4.143 0-7.5 3.358-7.5 7.5 0 4.143 3.357 7.5 7.5 7.5h129.42c4.142 0 7.5-3.357 7.5-7.5v-396.32h16.06v224.57c.001 4.143 3.358 7.5 7.501 7.5zm-354.632-247.064 36.514-36.52v36.52z\"><\/path><path d=\"m318.125 310.534h-186.371c-4.142 0-7.5 3.357-7.5 7.5s3.358 7.5 7.5 7.5h186.371c4.143 0 7.5-3.357 7.5-7.5s-3.358-7.5-7.5-7.5z\"><\/path><path d=\"m325.625 349.088c0-4.143-3.357-7.5-7.5-7.5h-186.371c-4.142 0-7.5 3.357-7.5 7.5s3.358 7.5 7.5 7.5h186.371c4.142 0 7.5-3.358 7.5-7.5z\"><\/path><path d=\"m131.754 372.643c-4.142 0-7.5 3.357-7.5 7.5s3.358 7.5 7.5 7.5h124.248c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5z\"><\/path><path d=\"m124.15 162.99c.005 21.18 17.353 38.383 38.556 38.383h.116c21.203 0 38.462-17.203 38.556-38.384.033-1.247-.268-2.539-.849-3.644l-25.578-51.153h42.489v140.308h-54.624c-4.142 0-7.5 3.357-7.5 7.5s3.358 7.5 7.5 7.5h124.248c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5h-54.624v-140.308h42.522l-25.658 51.147c-.584 1.107-.887 2.404-.853 3.654.096 21.179 17.354 38.38 38.555 38.38h.116c21.203 0 38.464-17.205 38.556-38.388.033-1.249-.269-2.538-.85-3.643l-25.576-51.15h18.875c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5h-85.687v-23.568c0-4.143-3.358-7.5-7.5-7.5s-7.5 3.357-7.5 7.5v23.568h-85.685c-4.142 0-7.5 3.357-7.5 7.5s3.358 7.5 7.5 7.5h18.907l-25.658 51.147c-.253.48-.855 1.98-.854 3.651zm162.953-45.55 18.939 37.876h-37.94zm.018 68.933h-.116c-10.368 0-19.193-6.733-22.332-16.057h44.781c-3.14 9.324-11.965 16.057-22.333 16.057zm-124.3 0h-.116c-10.368 0-19.193-6.733-22.333-16.057h44.782c-3.14 9.324-11.965 16.057-22.333 16.057zm-19.019-31.057 19.001-37.876 18.939 37.876z\"><\/path><\/g><g><\/g><g><\/g><g><\/g><g><\/g><g><\/g><g><\/g><g><\/g><g><\/g><g><\/g><g><\/g><g><\/g><g><\/g><g><\/g><g><\/g><g><\/g><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-55c238e0 elementor-widget elementor-widget-heading\" data-id=\"55c238e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Legal notice<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8aa838 elementor-widget__width-initial elementor-widget-tablet__width-inherit animated-slow elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"a8aa838\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Correct legal notice periods for lease termination or opposition to renewal (e.g., 120 days for leases of 6+ years or 60 days for shorter leases)<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7cd33a0b e-con-full e-transform animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"7cd33a0b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_transform_translateY_effect_hover&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:-0.25,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:100,&quot;_transform_translateX_effect_hover&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1a08b93e elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"1a08b93e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"Capa_1\" height=\"512\" viewBox=\"0 0 512 512\" width=\"512\"><g><g><path d=\"m464.344 238.811h-12.076v-129.811c0-4.218-3.482-7.623-7.73-7.497-4.105.123-7.27 3.704-7.27 7.811v129.496h-50.268c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h77.344c9.692 0 17.578 7.886 17.578 17.578s-7.886 17.578-17.578 17.578h-153.227v-35.156h40.883c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-42.684c-5.424 0-10.091 3.291-12.118 7.979h-53.055c-1.817-4.662-6.344-7.979-11.641-7.979h-21.917c-5.297 0-9.824 3.318-11.641 7.979h-32.148v-6.438c0-6.347-3.408-11.899-8.479-14.967v-19.097c13.174-3.965 22.799-16.203 22.799-30.652 0-17.649-14.358-32.008-32.008-32.008h-25.294v-128.627h313.453v59c0 4.218 3.482 7.623 7.73 7.497 4.105-.123 7.27-3.704 7.27-7.811v-61.186c0-6.904-5.596-12.5-12.5-12.5h-318.453c-6.904 0-12.5 5.596-12.5 12.5v131.128h-22.401c-17.649 0-32.008 14.359-32.008 32.008 0 14.448 9.625 26.685 22.798 30.651v19.097c-5.071 3.068-8.479 8.62-8.479 14.967v62.073c0 6.347 3.408 11.899 8.479 14.967v19.097c-13.173 3.966-22.798 16.203-22.798 30.652 0 17.649 14.358 32.008 32.008 32.008h22.401v26.037h-58.619c-9.649 0-17.5 7.851-17.5 17.5v12.423h-.117c-9.649 0-17.5 7.851-17.5 17.5v26.892c0 6.893 5.607 12.5 12.5 12.5h412.189c6.904 0 12.5-5.596 12.5-12.5v-195.533h12.076c17.964 0 32.578-14.614 32.578-32.578s-14.613-32.578-32.577-32.578zm-219.342 22.979h51.115v19.197h-51.115zm-31.917-7.979h16.917v35.156h-16.917zm-46.289 7.979h31.289v19.197h-31.289zm-97.391-86.154c0-9.378 7.63-17.008 17.008-17.008h62.695c9.378 0 17.008 7.63 17.008 17.008 0 9.378-7.63 17.008-17.008 17.008h-62.695c-9.378.001-17.008-7.629-17.008-17.008zm16.82 129.289c-1.379 0-2.5-1.122-2.5-2.5v-62.073c0-1.378 1.121-2.5 2.5-2.5h63.071c1.379 0 2.5 1.122 2.5 2.5v62.073c0 1.378-1.121 2.5-2.5 2.5zm57.092 15v15.208h-51.114v-15.208zm-51.114-97.073v-15.208h51.114v15.208zm-5.79 161.297c-9.378 0-17.008-7.63-17.008-17.008s7.63-17.008 17.008-17.008h62.695c9.378 0 17.008 7.63 17.008 17.008s-7.63 17.008-17.008 17.008zm119.03 112.851h-175.365v-24.392c0-1.378 1.121-2.5 2.5-2.5h46.422c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-31.305v-12.423c0-1.378 1.121-2.5 2.5-2.5h135.13c1.379 0 2.5 1.122 2.5 2.5v12.423h-73.825c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h88.943c1.379 0 2.5 1.122 2.5 2.5zm231.825 0h-216.825v-24.392c0-9.649-7.851-17.5-17.5-17.5h-.118v-12.423c0-9.649-7.851-17.5-17.5-17.5h-61.511v-26.037h25.294c17.649 0 32.008-14.358 32.008-32.008 0-14.449-9.625-26.686-22.799-30.652v-19.097c5.071-3.068 8.479-8.62 8.479-14.967v-6.438h32.148c1.817 4.662 6.344 7.979 11.641 7.979h21.917c5.297 0 9.824-3.318 11.641-7.979h53.055c2.027 4.688 6.694 7.979 12.118 7.979h127.951v193.035z\"><\/path><path d=\"m202.872 124.276c0 42.827 34.842 77.669 77.669 77.669s77.669-34.842 77.669-77.669-34.842-77.669-77.669-77.669-77.669 34.842-77.669 77.669zm140.338 0c0 34.556-28.113 62.669-62.669 62.669s-62.669-28.113-62.669-62.669 28.113-62.669 62.669-62.669 62.669 28.113 62.669 62.669z\"><\/path><path d=\"m259.147 116.045c-2.93-2.929-7.678-2.929-10.607 0s-2.929 7.678 0 10.606l23.069 23.069c1.465 1.464 3.385 2.197 5.304 2.197s3.839-.732 5.304-2.197l35.758-35.758c2.929-2.929 2.929-7.678 0-10.606-2.93-2.929-7.678-2.929-10.607 0l-30.454 30.455z\"><\/path><path d=\"m243.681 334.569c0 4.142 3.357 7.5 7.5 7.5h137.93c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-137.93c-4.143 0-7.5 3.358-7.5 7.5z\"><\/path><path d=\"m389.11 363.546h-71.11c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h71.11c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z\"><\/path><path d=\"m251.181 378.546h40.819c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-40.819c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5z\"><\/path><path d=\"m389.11 400.023h-137.93c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h137.93c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z\"><\/path><path d=\"m389.11 436.5h-36.11c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h36.11c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z\"><\/path><path d=\"m330 436.5h-78.819c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h78.819c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5z\"><\/path><\/g><\/g><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e98d030 elementor-widget elementor-widget-heading\" data-id=\"2e98d030\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Operational Issues<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-69cdbfb elementor-widget__width-initial elementor-widget-tablet__width-inherit animated-slow elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"69cdbfb\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Clear legal grounds for termination in the event of non-payment (e.g., non-payment of rent for more than three consecutive months)<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5cb3f234 e-con-full e-transform animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"5cb3f234\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_transform_translateY_effect_hover&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:-0.25,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;_transform_translateX_effect_hover&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-528e6ffb elementor-view-stacked elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"528e6ffb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" id=\"Capa_1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 512 512\" style=\"enable-background:new 0 0 512 512;\" xml:space=\"preserve\">  <g>\t<g>\t\t<path d=\"M256.281,232.255c-9.426,0-17.067,7.641-17.067,17.067c-0.001,6.815,4.004,12.68,9.779,15.416v20.747   c0,4.024,3.262,7.287,7.287,7.287c4.025,0,7.287-3.262,7.287-7.287v-20.747c5.776-2.736,9.781-8.601,9.781-15.416   C273.348,239.896,265.707,232.255,256.281,232.255z\"><\/path>\t<\/g><\/g>  <g>\t<g>\t\t<path d=\"M438.138,111.149c-31.369-12.413-56.267-35.275-70.108-64.373c-3.764-7.913-11.9-13.027-20.729-13.027H164.699   c-8.828,0-16.964,5.113-20.728,13.027c-13.84,29.098-38.739,51.96-70.108,64.373c-8.799,3.481-14.484,11.869-14.484,21.368v44.412   c0,58.219,16.977,115.73,49.096,166.318c32.431,51.083,79.425,93.774,135.898,123.456l0.92,0.484   c3.353,1.762,7.03,2.643,10.708,2.643c3.676,0,7.354-0.881,10.705-2.642l0.923-0.485   c56.474-29.683,103.467-72.373,135.899-123.456c32.118-50.589,49.095-108.1,49.095-166.318v-44.412   C452.623,123.017,446.936,114.63,438.138,111.149z M438.05,176.93c0,55.447-16.192,110.257-46.825,158.507   c-31.069,48.936-76.153,89.867-130.374,118.367l-0.923,0.484c-2.459,1.294-5.395,1.293-7.855,0l-0.92-0.483   c-54.223-28.5-99.307-69.431-130.377-118.368c-30.633-48.249-46.825-103.06-46.825-158.508v-44.412c0-3.481,2.07-6.55,5.273-7.817   c34.81-13.774,62.477-39.225,77.906-71.664c1.361-2.863,4.332-4.713,7.568-4.713h182.604c3.236,0,6.206,1.85,7.568,4.713   c15.43,32.439,43.098,57.89,77.907,71.665c3.203,1.267,5.273,4.336,5.273,7.817V176.93z\"><\/path>\t<\/g><\/g>  <g>\t<g>\t\t<path d=\"M474.672,246.08c-3.925-0.888-7.827,1.575-8.713,5.501c-22.192,98.177-89.78,183.32-185.436,233.597l-22.229,11.684   c-1.435,0.754-3.149,0.754-4.584,0l-22.229-11.684c-95.806-50.356-163.428-135.646-185.527-234   c-0.881-3.926-4.781-6.395-8.706-5.512c-3.926,0.882-6.394,4.78-5.512,8.706c23.036,102.531,93.369,191.358,192.965,243.705   l22.229,11.684c2.841,1.492,5.956,2.239,9.072,2.239c3.115,0,6.232-0.747,9.072-2.24l22.229-11.684   c99.439-52.265,169.737-140.938,192.871-243.283C481.06,250.868,478.597,246.967,474.672,246.08z\"><\/path>\t<\/g><\/g>  <g>\t<g>\t\t<path d=\"M471.125,83.377c-38.909-4.105-69.503-31.416-74.4-66.414C395.372,7.292,387.061,0,377.393,0H134.609   c-9.667,0-17.978,7.292-19.331,16.963c-4.898,34.999-35.492,62.309-74.4,66.414c-9.859,1.04-17.294,9.369-17.294,19.373v78.244   c0,11.37,0.589,22.865,1.751,34.167c0.386,3.75,3.55,6.542,7.24,6.542c0.249,0,0.501-0.013,0.754-0.039   c4.003-0.411,6.915-3.99,6.503-7.993c-1.111-10.809-1.675-21.803-1.675-32.677V102.75c0-2.485,1.867-4.63,4.25-4.881   c45.576-4.808,81.476-37.248,87.304-78.887c0.358-2.555,2.417-4.409,4.898-4.409h242.783c2.481,0,4.542,1.854,4.899,4.409   c5.826,41.639,41.727,74.078,87.303,78.887c2.383,0.251,4.25,2.396,4.25,4.881v78.244c0,10.759-0.552,21.639-1.64,32.34   c-0.407,4.003,2.509,7.579,6.512,7.986c4.001,0.41,7.579-2.509,7.987-6.512c1.138-11.188,1.714-22.564,1.714-33.814V102.75   C488.418,92.746,480.984,84.417,471.125,83.377z\"><\/path>\t<\/g><\/g>  <g>\t<g>\t\t<path d=\"M339.46,181.865h-11.981v-34.782c0-39.259-31.939-71.198-71.199-71.198c-39.259,0-71.199,31.939-71.199,71.198v34.782   h-11.98c-12.778,0-23.174,10.396-23.174,23.174v104.329c0,12.778,10.396,23.174,23.174,23.174H339.46   c12.778,0,23.174-10.396,23.174-23.174V205.039C362.634,192.261,352.238,181.865,339.46,181.865z M199.655,147.084   c0-31.223,25.402-56.625,56.626-56.625s56.626,25.402,56.626,56.625v34.782H199.655V147.084z M348.061,309.368   c0,4.742-3.859,8.601-8.601,8.601H173.101c-4.743,0-8.601-3.859-8.601-8.601V205.039c0-4.742,3.859-8.601,8.601-8.601H339.46   c4.742,0,8.601,3.858,8.601,8.601V309.368z\"><\/path>\t<\/g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3cbfa9e5 elementor-widget elementor-widget-heading\" data-id=\"3cbfa9e5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Financial Concerns<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-db7bb56 elementor-widget__width-initial elementor-widget-tablet__width-inherit animated-slow elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"db7bb56\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Guidance on the mandatory registration of the lease with the Portuguese Tax Authority (Portal das Finan\u00e7as) within 30 days of signing, which is crucial to prevent the tenant from self-registering<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-6cc0f62 e-flex e-con-boxed e-con e-parent\" data-id=\"6cc0f62\" 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<span class=\"e-f380ba7-fb3cd3b e-paragraph-base\" data-interaction-id=\"f380ba7\" data-e-type=\"widget\" data-id=\"f380ba7\">FAQ's<\/span>\n\t\t\t\t<div class=\"elementor-element elementor-element-763acf8 animated-slow elementor-invisible elementor-widget elementor-widget-jkit_heading\" data-id=\"763acf8\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"jkit_heading.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-heading  align-center align-tablet- align-mobile- jeg_module__3_6a6b85c2cf39d\" ><div class=\"heading-section-title  display-inline\"><h2 class=\"heading-title\">Common Questions About <span class=\"style-color\"><span>Rental Lease <\/span><\/span>in Portugal<\/h2><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-415b4cd6 animated-slow elementor-invisible elementor-widget elementor-widget-n-accordion\" data-id=\"415b4cd6\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;default_state&quot;:&quot;expanded&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1090\" class=\"e-n-accordion-item\" open>\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"true\" aria-controls=\"e-n-accordion-item-1090\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> 1. Can I use this template if I have multiple tenants? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-down-arrow1-light\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-up-arrow1-light\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1090\" class=\"elementor-element elementor-element-476c093f e-con-full e-flex e-con e-child\" data-id=\"476c093f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7723ac10 elementor-widget elementor-widget-text-editor\" data-id=\"7723ac10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Yes. Our generator is built to handle this. Simply add the details of all co-tenants into the form. The final document will duplicate the identification blocks and signature lines, ensuring all tenants are legally bound by the agreement<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1091\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"2\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1091\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> 2. What should I check before signing the lease? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-down-arrow1-light\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-up-arrow1-light\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1091\" class=\"elementor-element elementor-element-677240cf e-con-full e-flex e-con e-child\" data-id=\"677240cf\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2a67aa52 elementor-widget elementor-widget-text-editor\" data-id=\"2a67aa52\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span class=\"ng-star-inserted\" data-start-index=\"3343\">Before handing over the keys, it is essential to properly vet your tenant remotely. We highly recommend downloading our <\/span><b class=\"ng-star-inserted\" data-start-index=\"3463\">[Expat Landlord Checklist: Everything You Need to Rent Legally in Portugal]<\/b><span class=\"ng-star-inserted\" data-start-index=\"3538\"> to ensure you collect the right documents and follow all necessary legal steps<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1092\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"3\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1092\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> 3. How do I manage rent collection and potential defaults from abroad? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-down-arrow1-light\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-up-arrow1-light\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1092\" class=\"elementor-element elementor-element-5316f392 e-con-full e-flex e-con e-child\" data-id=\"5316f392\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-796aab4 elementor-widget elementor-widget-text-editor\" data-id=\"796aab4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Managing a property remotely can be stressful. If a tenant stops paying, the formal Special Eviction Procedure (PED) in Portugal can take 6 to 12 months in practice.<\/p><p>To safeguard your investment, consider reading our guide on being a [<strong>Remote Landlord: How to Manage Your Portuguese Property From Abroad]<\/strong> and explore activating AluSeg&#8217;s digital rent collection and Rental Income Insurance<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"1. Can I use this template if I have multiple tenants?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Our generator is built to handle this. Simply add the details of all co-tenants into the form. The final document will duplicate the identification blocks and signature lines, ensuring all tenants are legally bound by the agreement\"}},{\"@type\":\"Question\",\"name\":\"2. What should I check before signing the lease?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Before handing over the keys, it is essential to properly vet your tenant remotely. We highly recommend downloading our [Expat Landlord Checklist: Everything You Need to Rent Legally in Portugal] to ensure you collect the right documents and follow all necessary legal steps\"}},{\"@type\":\"Question\",\"name\":\"3. How do I manage rent collection and potential defaults from abroad?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Managing a property remotely can be stressful. If a tenant stops paying, the formal Special Eviction Procedure (PED) in Portugal can take 6 to 12 months in practice.To safeguard your investment, consider reading our guide on being a [Remote Landlord: How to Manage Your Portuguese Property From Abroad] and explore activating AluSeg&#8217;s digital rent collection and Rental Income Insurance\"}}]}<\/script>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Free Residential Lease Agreement Template Drafting a legally binding rental contract in Portugal doesn&#8217;t have to be complicated. Our smart Lease Agreement Generator is fully updated and compliant with the Portuguese Urban Lease Regime (NRAU). Easily customize a residential contract that meets all legal requirements\u2014including mandatory terms, notice periods, and tax specifications\u2014ensuring total peace of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-66","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/pages\/66","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/comments?post=66"}],"version-history":[{"count":159,"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/pages\/66\/revisions"}],"predecessor-version":[{"id":5940,"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/pages\/66\/revisions\/5940"}],"wp:attachment":[{"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/media?parent=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}