{"id":47778,"date":"2026-05-19T13:42:00","date_gmt":"2026-05-19T13:42:00","guid":{"rendered":"https:\/\/aluseg.com\/?page_id=66"},"modified":"2026-08-25T16:07:38","modified_gmt":"2026-08-25T16:07:38","slug":"free-nrau-tenancy-agreement-generator","status":"publish","type":"page","link":"https:\/\/aluseg.com\/en\/free-nrau-tenancy-agreement-generator\/","title":{"rendered":"Free NRAU Tenancy Agreement Generator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"47778\" class=\"elementor elementor-47778 elementor-837\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f1222c0 e-flex e-con-boxed nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-parent\" data-id=\"f1222c0\" 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=\"gsap-animation elementor-element elementor-element-936ae41 elementor-widget__width-initial nextsaas-filter-effect-no elementor-widget elementor-widget-nextsaas-heading\" data-gsap-animate=\"true\" data-duration=\"0.6\" data-delay=\"0.1\" data-direction=\"down\" data-offset=\"60\" data-rotation=\"0\" data-id=\"936ae41\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"nextsaas-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"nextsaas_heading_wrap nextsaas-element\">\r\n\t\t\t<h1\t\t\t\tclass=\"font-medium mb-4 nextsaas_heading   \"\r\n\t\t\t\tstyle=\"\"\r\n\t\t\t>\r\n\t\t\t\tCreate your lease agreement\t\t\t<\/h1>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"gsap-animation elementor-element elementor-element-a1f070c elementor-widget__width-initial nextsaas-filter-effect-no elementor-widget elementor-widget-heading\" data-gsap-animate=\"true\" data-duration=\"0.6\" data-delay=\"0.2\" data-direction=\"down\" data-offset=\"60\" data-rotation=\"0\" data-id=\"a1f070c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Fill in the landlord, tenant, and property details and prepare your residential lease agreement step by step.<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b3cc31 elementor-icon-list--layout-inline elementor-mobile-align-center elementor-list-item-link-full_width nextsaas-filter-effect-no elementor-widget elementor-widget-icon-list\" data-id=\"4b3cc31\" 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 elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-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=\"ph ph-gift\"><\/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\">100% Free<\/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 elementor-inline-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=\"ph ph-map-pin\"><\/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\">Ready for Portugal<\/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 elementor-inline-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=\"ph ph-file-pdf\"><\/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\">PDF without creating an account<\/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<div class=\"elementor-element elementor-element-9851b69 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"9851b69\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-a250ed6 e-con-full animated-slow e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no 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 nextsaas-filter-effect-no 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 (v3)               -->\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<!--  PDF-first final screen: the free download is always the primary   -->\n<!--  CTA; account creation (pre-filled via estimator-draft when the    -->\n<!--  funnel switch is ON in app.aluseg.com\/admin\/plans) is shown as a  -->\n<!--  secondary option.                                                 -->\n<!--  v3 (UX\/CRO): mobile stepper \"Step X of 5\", Continue \/ free-       -->\n<!--  contract CTAs, validation messages + focus, touch tooltips kept   -->\n<!--  inside the viewport, field groups, mobile-first layout.           -->\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:#5f6c74;--err:#b3261e;\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:21px;margin:0 0 4px}\n  #aluseg-lease-form .sub{color:var(--muted);font-size:13px;margin:0 0 18px;line-height:1.5}\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);box-shadow:0 0 0 3px rgba(0,88,105,.14)}\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  #aluseg-lease-form .stepline{display:none;text-align:center;font-size:13.5px;font-weight:600;color:var(--accent);margin:0 0 16px}\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:16px;margin:0 0 14px;padding-bottom:7px;border-bottom:1px solid var(--line)}\n  #aluseg-lease-form .g{display:grid;grid-template-columns:repeat(12,1fr);gap:12px 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 .grp{grid-column:1\/-1;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;\n    color:var(--muted);padding-top:12px;margin-top:2px;border-top:1px dashed var(--line)}\n  #aluseg-lease-form .grp:first-child{border-top:none;padding-top:0;margin-top:0}\n  #aluseg-lease-form .grp .opt{font-weight:500;letter-spacing:0;text-transform:none}\n  #aluseg-lease-form label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;margin-bottom:4px}\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:9px 11px;border:1px solid var(--line);\n    border-radius:8px;font-size:14px;background:#fff;color:var(--ink);height:40px}\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 .err-msg{font-size:12px;font-weight:600;color:var(--err);margin-top:4px}\n  #aluseg-lease-form .checks{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:2px}\n  #aluseg-lease-form .checks label{font-weight:400;gap:7px;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:14px;margin-bottom:12px;background:var(--bg)}\n  #aluseg-lease-form .cardhint{font-size:12px;color:var(--muted);margin:0 0 10px}\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  #aluseg-lease-form input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}\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:18px;height:18px;border-radius:50%;background:var(--muted);color:#fff;\n    font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:help;position:relative}\n  #aluseg-lease-form .tip::before{content:\"\";position:absolute;top:-8px;left:-8px;right:-8px;bottom:-8px;border-radius:50%}\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:12px;line-height:1.45;text-align:left;\n    padding:10px 12px;border-radius:8px;z-index:30;box-shadow:0 6px 20px rgba(0,0,0,.18)}\n  #aluseg-lease-form .tip .bub::after{content:\"\";position:absolute;top:100%;left:var(--arr,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:20px;gap:10px}\n  #aluseg-lease-form button{border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;min-height:44px}\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;min-height:0}\n  #aluseg-lease-form .nav-hidden{visibility:hidden}\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:14px 28px;border-radius:9px;font-weight:700;font-size:15px;margin-top:10px;cursor:pointer}\n  #aluseg-lease-form .dl:hover{background:var(--accent-h)}\n  #aluseg-lease-form .dl.preparing{background:#8fa6ad;cursor:default;pointer-events:none;animation:pulse 1.6s ease infinite}\n  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.65}}\n  #aluseg-lease-form .dl-sec{display:inline-block;background:#fff;color:var(--accent);border:1.5px solid var(--accent);\n    text-decoration:none;padding:11px 22px;border-radius:9px;font-weight:600;font-size:14px;cursor:pointer;min-height:0}\n  #aluseg-lease-form .dl-sec:hover{background:rgba(0,88,105,.06)}\n  #aluseg-lease-form .mailnote{font-size:12.5px;color:var(--muted);margin:12px auto 0;max-width:420px;line-height:1.5;display:block}\n  #aluseg-lease-form .acct{margin:24px auto 0;background:var(--bg);border:1px solid var(--line);border-radius:10px;\n    padding:16px;max-width:480px;text-align:left}\n  #aluseg-lease-form .acct-t{font-weight:700;font-size:14.5px;margin:0 0 6px;color:var(--ink)}\n  #aluseg-lease-form .acct p{font-size:13px;color:var(--muted);margin:0 0 10px}\n  #aluseg-lease-form .acct ul{font-size:13px;color:var(--ink);line-height:1.7;padding-left:18px;margin:0 0 12px}\n  #aluseg-lease-form .acct .micro{font-size:12px;color:var(--muted);margin:8px 0 0}\n  #aluseg-lease-form .support{margin:26px auto 0;padding-top:16px;border-top:1px solid var(--line);max-width:480px;text-align:left}\n  #aluseg-lease-form .support-t{font-weight:700;font-size:13.5px;margin:0 0 4px;color:var(--ink)}\n  #aluseg-lease-form .support p{font-size:13px;color:var(--muted);margin:0 0 8px}\n  #aluseg-lease-form .support a{font-size:13px;color:var(--accent);font-weight:600}\n  #aluseg-lease-form .rbtns{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}\n  #aluseg-lease-form button:focus-visible,#aluseg-lease-form .dl:focus-visible,#aluseg-lease-form .dl-sec:focus-visible,\n  #aluseg-lease-form .tip:focus-visible,#aluseg-lease-form a:focus-visible{outline:3px solid rgba(0,88,105,.35);outline-offset:2px}\n  @media(max-width:600px){\n    #aluseg-lease-form{padding:6px 4px}\n    #aluseg-lease-form h2{font-size:19px}\n    #aluseg-lease-form .stepper{margin:0 0 10px}\n    #aluseg-lease-form .st .lbl{display:none}\n    #aluseg-lease-form .dot{width:28px;height:28px;font-size:12.5px;margin-bottom:0}\n    #aluseg-lease-form .st::after{top:13px}\n    #aluseg-lease-form .stepline{display:block}\n    #aluseg-lease-form .g{gap:12px 10px}\n    #aluseg-lease-form .c4,#aluseg-lease-form .c5,#aluseg-lease-form .c6,#aluseg-lease-form .c7,#aluseg-lease-form .c8{grid-column:span 12}\n    #aluseg-lease-form .c2,#aluseg-lease-form .c3{grid-column:span 6}\n    #aluseg-lease-form input,#aluseg-lease-form select{font-size:16px;height:46px}\n    #aluseg-lease-form label{font-size:13px}\n    #aluseg-lease-form input[type=checkbox]{width:20px;height:20px}\n    #aluseg-lease-form .checks{gap:10px 18px}\n    #aluseg-lease-form .checks label{font-size:14px;padding:2px 0}\n    #aluseg-lease-form .phone select{width:128px}\n    #aluseg-lease-form .nav{margin-top:22px}\n    #aluseg-lease-form .nav .btn{flex:1;min-height:52px;font-size:16px}\n    #aluseg-lease-form .nav .ghost{min-height:52px}\n    #aluseg-lease-form .nav-hidden{display:none}\n    #aluseg-lease-form .dl,#aluseg-lease-form .dl-sec{display:block;width:100%;max-width:420px;margin-left:auto;margin-right:auto;text-align:center}\n    #aluseg-lease-form .acct .dl-sec{max-width:none}\n    #aluseg-lease-form .tip .bub{width:min(260px,calc(100vw - 24px))}\n  }\n<\/style>\n<h2>Create your lease agreement<\/h2>\n<p class=\"sub\">It takes 5 steps. Fields marked <span class=\"req\">*<\/span> are required. Tap the <b>i<\/b> icon whenever you need help.<\/p>\n<div class=\"stepper\" id=\"al-stepper\"><\/div>\n<div class=\"stepline\" id=\"al-stepline\"><\/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 grp\">Identification<\/div>\n      <div class=\"c12\"><label>Full legal name <span class=\"req\">*<\/span><\/label><input data-fid=\"legalnamelandlord\" autocomplete=\"name\" required><\/div>\n      <div class=\"c6\"><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=\"c12 grp\">Contact<\/div>\n      <div class=\"c6\"><label>Phone <span class=\"req\">*<\/span><\/label>\n        <div class=\"phone\"><select id=\"al-cc\"><\/select><input id=\"al-phone-num\" inputmode=\"tel\" autocomplete=\"tel-national\" placeholder=\"912 345 678\" required><\/div>\n      <\/div>\n      <div class=\"c6\"><label>Email <span class=\"req\">*<\/span><\/label><input type=\"email\" data-fid=\"emaillandlord\" autocomplete=\"email\" required><\/div>\n      <div class=\"c12 grp\">Address<\/div>\n      <div class=\"c7\"><label>Street <span class=\"req\">*<\/span><\/label><input data-fid=\"streetaddresslandlord\" required><\/div>\n      <div class=\"c3\"><label>Number <span class=\"opt\">(opt.)<\/span><\/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 grp\">Rent payment<\/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=\"c12 grp\">Identity document <span class=\"opt\">(optional)<\/span><\/div>\n      <div class=\"c4\"><label>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>Expiry date<\/label><input type=\"date\" data-fid=\"idexpirationdatelandlord\"><\/div>\n      <div class=\"c12 grp\">Marital status<\/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=\"c12 grp\">Location<\/div>\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=\"opt\">(opt.)<\/span><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=\"c12 grp\">Property details<\/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) <span class=\"opt\">(opt.)<\/span><\/label><input type=\"number\" data-fid=\"propertyarea\" min=\"0\"><\/div>\n      <div class=\"c12 grp\">Registry and licences <span class=\"opt\">(optional \u2014 found on the Caderneta Predial)<\/span><\/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\u2019s 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 grp\">Amenities and included assets<\/div>\n      <div class=\"c12\"><label>Select what is included <span class=\"opt\">(optional)<\/span><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=\"c12 grp\">Duration<\/div>\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=\"c12 grp\">Rent<\/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\" aria-live=\"polite\"><\/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=\"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=\"c12 grp\">Guarantees<\/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 <span class=\"opt\">(opt.)<\/span><\/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=\"c12 grp\">Renewal and notice periods<\/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 <span class=\"opt\">(opt.)<\/span><\/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 nav-hidden\" id=\"al-prev\">Back<\/button>\n    <button type=\"button\" class=\"btn\" id=\"al-next\">Continue<\/button>\n    <button type=\"submit\" class=\"btn\" id=\"al-submit\" style=\"display:none\">Create my free contract<\/button>\n  <\/div>\n<\/form>\n<div class=\"result\" id=\"al-result\" style=\"display:none\" aria-live=\"polite\"><\/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 screen uses the pre-filled\n  \/\/ draft flow (optional account); OFF keeps the classic generation.\n  \/\/ Either way the free PDF is the primary CTA of the final screen.\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 stepline=root.querySelector('#al-stepline');\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(noScroll){\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      var dot=s.querySelector('.dot'); if(dot) dot.textContent=(i<cur)?'\u2713':(i+1);\n      if(i===cur) s.setAttribute('aria-current','step'); else s.removeAttribute('aria-current');\n    });\n    if(stepline) stepline.textContent='Step '+(cur+1)+' of '+stepsEls.length+' \u00b7 '+stepsEls[cur].getAttribute('data-title');\n    prevB.classList.toggle('nav-hidden', cur===0);\n    var last=cur===stepsEls.length-1;\n    nextB.style.display=last?'none':'inline-block';\n    subB.style.display=last?'inline-block':'none';\n    if(!noScroll) root.scrollIntoView({behavior:'smooth',block:'start'});\n  }\n  \/\/ \u2500\u2500\u2500 Validation with messages + focus on the first missing field \u2500\u2500\n  var lastInvalid=null;\n  function fieldMsg(el){ return el.tagName==='SELECT'?'Choose an option to continue.':'Fill in this field to continue.'; }\n  function errCell(el){ var c=el.parentElement; if(c&&c.classList.contains('phone')) c=c.parentElement; return c; }\n  function markErr(el,msg){\n    el.classList.add('err'); el.setAttribute('aria-invalid','true');\n    var cell=errCell(el);\n    if(cell&&!cell.querySelector('.err-msg')){ var m=document.createElement('div'); m.className='err-msg'; m.textContent=msg||fieldMsg(el); cell.appendChild(m); }\n  }\n  function clearErr(el){\n    el.classList.remove('err'); el.removeAttribute('aria-invalid');\n    var cell=errCell(el); if(cell){ var m=cell.querySelector('.err-msg'); if(m) m.remove(); }\n  }\n  function focusFirstErr(){\n    var el=lastInvalid; if(!el) return;\n    setTimeout(function(){ el.scrollIntoView({behavior:'smooth',block:'center'});\n      try{ el.focus({preventScroll:true}); }catch(e2){ el.focus(); } },200);\n  }\n  function validate(idx){\n    var ok=true; lastInvalid=null;\n    stepsEls[idx].querySelectorAll('[required]').forEach(function(el){\n      if(!el.value.trim()){ markErr(el); if(!lastInvalid) lastInvalid=el; ok=false; } else clearErr(el);\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()){ markErr(gname); if(!lastInvalid) lastInvalid=gname; ok=false; }\n      else if(gname) clearErr(gname);\n    });\n    return ok;\n  }\n  form.addEventListener('input',function(e){ var el=e.target; if(el&&el.classList&&el.classList.contains('err')&&String(el.value||'').trim()) clearErr(el); });\n  form.addEventListener('change',function(e){ var el=e.target; if(el&&el.classList&&el.classList.contains('err')&&String(el.value||'').trim()) clearErr(el); });\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    else{ focusFirstErr(); } };\n  prevB.onclick=function(){ cur=Math.max(cur-1,0); paint(); };\n  \/\/ \u2500\u2500\u2500 Tooltips (tap\/keyboard to toggle; hover on desktop) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function initTips(scope){\n    (scope||root).querySelectorAll('.tip').forEach(function(t){\n      if(!t.querySelector('.bub')){ var b=document.createElement('span'); b.className='bub'; b.textContent=t.getAttribute('data-tip'); t.appendChild(b); }\n      t.setAttribute('tabindex','0'); t.setAttribute('role','button');\n      if(!t.getAttribute('aria-label')) t.setAttribute('aria-label','Help');\n    });\n  }\n  function placeBub(tip){\n    var b=tip.querySelector('.bub'); if(!b) return;\n    b.style.marginLeft='0px'; b.style.setProperty('--arr','50%');\n    var r=b.getBoundingClientRect(); if(!r.width) return;\n    var pad=10, shift=0;\n    if(r.left<pad) shift=pad-r.left;\n    else if(r.right>window.innerWidth-pad) shift=(window.innerWidth-pad)-r.right;\n    if(shift){ b.style.marginLeft=shift+'px'; b.style.setProperty('--arr','calc(50% - '+shift+'px)'); }\n  }\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();\n      if(!tip.querySelector('.bub')){ var b=document.createElement('span'); b.className='bub'; b.textContent=tip.getAttribute('data-tip'); tip.appendChild(b); }\n      tip.classList.toggle('show');\n      if(tip.classList.contains('show')) placeBub(tip); }\n  });\n  root.addEventListener('mouseover',function(e){ var tip=e.target.closest?e.target.closest('.tip'):null; if(tip) placeBub(tip); });\n  root.addEventListener('keydown',function(e){\n    var t=e.target;\n    if(t&&t.classList&&t.classList.contains('tip')&&(e.key==='Enter'||e.key===' '||e.key==='Spacebar')){ e.preventDefault(); t.click(); }\n    if(e.key==='Escape') root.querySelectorAll('.tip.show').forEach(function(x){ x.classList.remove('show'); });\n  });\n  document.addEventListener('click',function(e){ if(!root.contains(e.target)) root.querySelectorAll('.tip.show').forEach(function(t){ t.classList.remove('show'); }); });\n  \/\/ \u2500\u2500\u2500 Labels wired to their fields (accessibility) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var uid=0;\n  function wireLabels(scope){\n    (scope||root).querySelectorAll('label').forEach(function(lb){\n      if(lb.htmlFor||lb.querySelector('input,select')) return;\n      var cell=lb.parentElement; if(!cell) return;\n      var ctl=cell.querySelector('.phone')?cell.querySelector('.phone input'):cell.querySelector('input:not([type=checkbox]),select');\n      if(!ctl) return;\n      if(!ctl.id) ctl.id='al-f-'+(++uid);\n      lb.htmlFor=ctl.id;\n    });\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  var tenantSeq=0;\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      '<p class=\"cardhint\">Only the full name and NIF are required \u2014 all other fields are optional.<\/p>'+\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\" inputmode=\"numeric\" 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\" inputmode=\"tel\"><\/div>'+\n      '<div class=\"c12\"><label>Current address<\/label><input data-tf=\"address\"><\/div>'+\n      '<\/div>'+\n      '<div class=\"toggle\" style=\"margin-top:12px\"><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\u2019s 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\" inputmode=\"numeric\"><\/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\" inputmode=\"tel\"><\/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    initTips(d); wireLabels(d);\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(++tenantSeq)); renumber(); }\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'; if(stepline) stepline.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'; if(stepline) stepline.style.display='';\n    cur=stepsEls.length-1; paint(); }\n  var SUPPORT_EMAIL = 'support@aluseg.com';\n  function supportBlock(){\n    return '<div class=\"support\"><p class=\"support-t\">Need help?<\/p>'\n      +'<p>If you have trouble downloading or receiving your contract, contact us.<\/p>'\n      +'<a href=\"mailto:'+SUPPORT_EMAIL+'?subject=Contract+not+received\">Contact support<\/a>'\n      +'<\/div>';\n  }\n  function mailNote(visible){\n    return '<p class=\"mailnote\" id=\"al-mail-note\"'+(visible?'':' style=\"display:none\"')+'>We\u2019ve also sent a copy to your email.<br>If you can\u2019t find it, check your spam folder.<\/p>';\n  }\n  function acctBenefits(imported){\n    return imported\n      ? '<p>Create a free account and automatically import the details you just filled in.<\/p>'\n        +'<ul><li>Property, tenants and contract already filled in<\/li>'\n        +'<li>Lease registration with the tax office (Finan\u00e7as)<\/li>'\n        +'<li>Receipts, rent and deadlines in one place<\/li><\/ul>'\n      : '<p>Create a free account to manage this tenancy in Aluseg.<\/p>'\n        +'<ul><li>Lease registration with the tax office (Finan\u00e7as)<\/li>'\n        +'<li>Receipts, rent and deadlines in one place<\/li>'\n        +'<li>Annual rent update (INE coefficient)<\/li><\/ul>';\n  }\n  function appCtaCard(signupUrl, imported){\n    return '<div class=\"acct\"><p class=\"acct-t\">Want to keep managing this tenancy in Aluseg?<\/p>'\n      +acctBenefits(imported)\n      +'<a class=\"dl-sec\" href=\"'+signupUrl+'\">Create free account<\/a>'\n      +'<p class=\"micro\">No credit card required.<\/p>'\n      +'<\/div>';\n  }\n  function send(){\n    showResult('<div class=\"spinner\"><\/div><h3>Preparing your contract\u2026<\/h3><p class=\"sub\">We\u2019re generating the PDF with the details you provided. Don\u2019t 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        var signupUrl=(data && data.signup_url) || 'https:\/\/app.aluseg.com\/login?mode=signup';\n        var appCta=appCtaCard(signupUrl, !!(data && data.app_import_registered));\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:6px\">Download the PDF for free, or continue in Aluseg to manage this tenancy.<\/p>'\n            +'<a class=\"dl\" href=\"'+url+'\" target=\"_blank\" rel=\"noopener\" download>Download contract PDF<\/a>'\n            +mailNote(true)\n            +appCta\n            +supportBlock()\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 Your contract is on its way<\/h3>'\n            +'<p class=\"sub\">It will be emailed to you within a few minutes.<\/p>'\n            +'<p class=\"mailnote\">If you can\u2019t find it, check your spam folder.<\/p>'\n            +appCta\n            +supportBlock()\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='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 Funnel final screen: free PDF first, optional account \u2500\u2500\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.className='dl preparing'; link.setAttribute('aria-disabled','true');\n    link.textContent='Preparing your free PDF\u2026'; link.removeAttribute('href'); link.onclick=null;\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.className='dl'; l.removeAttribute('aria-disabled');\n          l.textContent='Download contract PDF'; l.setAttribute('href',url);\n          l.setAttribute('target','_blank'); l.setAttribute('rel','noopener'); l.setAttribute('download','');\n          var mn=root.querySelector('#al-mail-note'); if(mn) mn.style.display='';\n        } else {\n          l.className='mailnote'; l.removeAttribute('aria-disabled');\n          l.textContent='Your PDF will be emailed to you within a few minutes. If you can\u2019t find it, check your spam folder.';\n        }\n      })\n      .catch(function(){\n        var l=root.querySelector('#al-pdf-link'); if(!l) return;\n        l.className='dl'; l.removeAttribute('aria-disabled');\n        l.textContent='We couldn\u2019t prepare the PDF \u2014 try again'; l.setAttribute('href','#');\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:6px\">Download the PDF for free, or continue in Aluseg to manage this tenancy.<\/p>'\n      +'<a id=\"al-pdf-link\" class=\"dl preparing\" aria-disabled=\"true\">Preparing your free PDF\u2026<\/a>'\n      +mailNote(false)\n      +'<div class=\"acct\"><p class=\"acct-t\">Want to keep managing this tenancy in Aluseg?<\/p>'\n      +acctBenefits(true)\n      +'<button type=\"button\" class=\"dl-sec\" id=\"al-funnel-go\">Create free account<\/button>'\n      +'<p class=\"micro\">No credit card required.<\/p>'\n      +'<div id=\"al-funnel-err\" style=\"display:none;margin-top:8px;font-size:12.5px;color:var(--err)\"><\/div>'\n      +'<\/div>'\n      +supportBlock()\n      +'<div class=\"rbtns\" style=\"margin-top:16px\"><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='Setting up 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 free account';\n          var err=root.querySelector('#al-funnel-err');\n          if(err){ err.style.display='block'; err.textContent='We couldn\u2019t set up your account right now \u2014 please try again, or download the PDF above.'; }\n        });\n    };\n  }\n  form.addEventListener('submit',function(e){\n    e.preventDefault();\n    if(!validate(cur)){ focusFirstErr(); 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      lastInvalid=null;\n      if(ft&&!ft.value.trim()){ markErr(ft); lastInvalid=ft; }\n      if(ftn&&!ftn.value.trim()){ markErr(ftn); if(!lastInvalid) lastInvalid=ftn; }\n      focusFirstErr(); return; }\n    lastPayload=buildPayload();\n    if(funnelEnabled){ showFunnelCTA(); } else { send(); }\n  });\n  initTips(root); wireLabels(root);\n  paint(true);\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"gsap-animation elementor-element elementor-element-171c046 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-gsap-animate=\"true\" data-duration=\"0.6\" data-delay=\"0.3\" data-direction=\"down\" data-offset=\"60\" data-rotation=\"0\" data-id=\"171c046\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_effects_offset&quot;:0,&quot;sticky_anchor_link_offset&quot;:0}\">\n\t\t<div class=\"elementor-element elementor-element-c174dc1 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"c174dc1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f9da9b1 elementor-widget__width-initial nextsaas-filter-effect-no elementor-widget elementor-widget-heading\" data-id=\"f9da9b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Unlock Complete Rental Management<\/h5>\t\t\t\t<\/div>\n\t\t\t\t\t<p class=\"e-538b7e6-db41a81 e-paragraph-base\" data-interaction-id=\"538b7e6\" data-e-type=\"widget\" data-id=\"538b7e6\">Did you know you can also create this contract <strong>100% for free<\/strong> in our app? Besides generating the rental agreement, you can manage the entire process in one place: check tenant solvency and manage your property from start to finish.<\/p>\n\t\t\t\t<div class=\"elementor-element elementor-element-3fabd07 nextsaas-filter-effect-no elementor-widget elementor-widget-nextsaas-button\" data-id=\"3fabd07\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"nextsaas-button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"nextsaas_button_wrap\">\r\n\t\t\t\t\t\t\t<div class=\"md:inline-block block \">\r\n\t\t\t\t\t<a href=\"https:\/\/app.aluseg.com\/login?mode=signup\"  class=\"group nextsaas-button inline-flex items-center justify-center rounded-full cursor-pointer gap-1.5 group-hover:bg-primary-500 group-hover:scale-101 text-center transition-all duration-500 ease-in-out font-normal text-nowrap lowercase shadow-1 bg-background-5 dark:bg-background-12 dark:border-stroke-1 dark:text-secondary border-stroke-7 text-accent px-6 py-2.5 text-tagline-1 md:px-8 md:py-3.5 w-full md:w-auto mx-auto md:mx-0\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"inline-block transition-transform duration-300 ease-in-out first-letter:uppercase\">Create Account now<\/span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"relative overflow-hidden size-6\">\r\n\t\t\t\t\t\t\t\t<span class=\"group-hover:translate-x-1 -translate-x-6 absolute inset-0 transition-transform duration-300 ease-in-out\">\r\n\t\t\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M11 5H13V7H11V5Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M5 5H7V7H5V5Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M14 8H16V10H14V8Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M8 8H10V10H8V8Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M17 11H19V13H17V11Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M11 11H13V13H11V11Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M14 14H16V16H14V14Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M8 14H10V16H8V14Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M11 17H13V19H11V17Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M5 17H7V19H5V17Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t<\/svg>\r\n\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<span class=\"group-hover:translate-x-6 absolute -translate-x-2 transition-transform duration-300 ease-in-out\">\r\n\t\t\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M11 5H13V7H11V5Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M5 5H7V7H5V5Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M14 8H16V10H14V8Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M8 8H10V10H8V8Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M17 11H19V13H17V11Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M11 11H13V13H11V11Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M14 14H16V16H14V14Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M8 14H10V16H8V14Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M11 17H13V19H11V17Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t\t<path d=\"M5 17H7V19H5V17Z\" class=\"variation-2-fill-color fill-white dark:fill-secondary\"><\/path>\r\n\t\t\t\t\t\t\t\t\t<\/svg>\r\n\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b7d7aa4 nextsaas-filter-effect-no elementor-widget elementor-widget-heading\" data-id=\"b7d7aa4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">100% free \u2022 1-minute registration<\/div>\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<\/div>\n\t\t<div class=\"elementor-element elementor-element-caf7b1d e-flex e-con-boxed nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-parent\" data-id=\"caf7b1d\" 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<div class=\"elementor-element elementor-element-141113d e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"141113d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"gsap-animation elementor-element elementor-element-5e3e18d nextsaas-filter-effect-no elementor-widget elementor-widget-nextsaas_badge\" data-gsap-animate=\"true\" data-duration=\"0.6\" data-delay=\"0.1\" data-direction=\"down\" data-offset=\"60\" data-rotation=\"0\" data-id=\"5e3e18d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"nextsaas_badge.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"nextsaas_badge_wrap\">\r\n\t\t\t<div class=\"inline-block\">\r\n\t\t\t\t<span class=\"badge badge-green mb-5 nextsaas-badge\">\r\n\t\t\t\t\tincluded<\/span>\r\n\t\t\t\t<\/span>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"gsap-animation elementor-element elementor-element-a3a4632 elementor-widget__width-initial nextsaas-filter-effect-no elementor-widget elementor-widget-heading\" data-gsap-animate=\"true\" data-duration=\"0.6\" data-delay=\"0.2\" data-direction=\"down\" data-offset=\"60\" data-rotation=\"0\" data-id=\"a3a4632\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">You do not need to start a contract from scratch<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"gsap-animation elementor-element elementor-element-1072f62 nextsaas-filter-effect-no elementor-widget elementor-widget-heading\" data-gsap-animate=\"true\" data-duration=\"0.6\" data-delay=\"0.2\" data-direction=\"down\" data-offset=\"60\" data-rotation=\"0\" data-id=\"1072f62\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Aluseg helps you organize the main details and conditions of your rental in a single document.<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ab65e62 elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start nextsaas-filter-effect-no elementor-widget elementor-widget-icon-box\" data-id=\"ab65e62\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"ns ns-shape-116\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h4 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tYou do not need to be a rental expert\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h4>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tThroughout the process, we explain the less common fields and help you understand what information to enter.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-48e7692 elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start nextsaas-filter-effect-no elementor-widget elementor-widget-icon-box\" data-id=\"48e7692\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"ns ns-shape-52\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h4 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tTrusted Rental Experts\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h4>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tExperienced professionals with strong knowledge in rental agreements, law, and tenant management.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f47f9e6 elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start nextsaas-filter-effect-no elementor-widget elementor-widget-icon-box\" data-id=\"f47f9e6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"ns ns-shape-50\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h4 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tWhat you will receive\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h4>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tIn the end, Aluseg generates a residential rental agreement in PDF with the information you entered.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"gsap-animation elementor-element elementor-element-dd62973 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-gsap-animate=\"true\" data-duration=\"0.6\" data-delay=\"0.3\" data-direction=\"down\" data-offset=\"60\" data-rotation=\"0\" data-id=\"dd62973\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-ece3a02 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"ece3a02\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-8e688ab e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"8e688ab\" 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-b3bd0c7 elementor-position-top nextsaas-filter-effect-no elementor-widget elementor-widget-image-box\" data-id=\"b3bd0c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1312\" height=\"1199\" src=\"https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/senhorio-inquilino.png\" class=\"attachment-full size-full wp-image-47982\" alt=\"\" srcset=\"https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/senhorio-inquilino.png 1312w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/senhorio-inquilino-300x274.png 300w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/senhorio-inquilino-1024x936.png 1024w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/senhorio-inquilino-768x702.png 768w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/senhorio-inquilino-219x200.png 219w\" sizes=\"(max-width: 1312px) 100vw, 1312px\" \/><\/figure><div class=\"elementor-image-box-content\"><div class=\"elementor-image-box-title\">Contract Parties<\/div><p class=\"elementor-image-box-description\">Complete identification of the landlord, tenant and, when applicable, the guarantor.<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2b4abcd e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"2b4abcd\" 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-32d887a elementor-position-top nextsaas-filter-effect-no elementor-widget elementor-widget-image-box\" data-id=\"32d887a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img decoding=\"async\" width=\"1358\" height=\"1158\" src=\"https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/icon-imovel.png\" class=\"attachment-full size-full wp-image-47983\" alt=\"\" srcset=\"https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/icon-imovel.png 1358w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/icon-imovel-300x256.png 300w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/icon-imovel-1024x873.png 1024w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/icon-imovel-768x655.png 768w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/icon-imovel-235x200.png 235w\" sizes=\"(max-width: 1358px) 100vw, 1358px\" \/><\/figure><div class=\"elementor-image-box-content\"><div class=\"elementor-image-box-title\">Property Details<\/div><p class=\"elementor-image-box-description\">Address, property type, property tax article, land registry description and occupancy license.<\/p><\/div><\/div>\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-88b26bf e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"88b26bf\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-f47a2c4 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"f47a2c4\" 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-3392d87 elementor-position-top nextsaas-filter-effect-no elementor-widget elementor-widget-image-box\" data-id=\"3392d87\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img decoding=\"async\" width=\"1230\" height=\"1278\" src=\"https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-renda-garantias.png\" class=\"attachment-full size-full wp-image-47986\" alt=\"\" srcset=\"https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-renda-garantias.png 1230w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-renda-garantias-289x300.png 289w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-renda-garantias-986x1024.png 986w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-renda-garantias-768x798.png 768w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-renda-garantias-192x200.png 192w\" sizes=\"(max-width: 1230px) 100vw, 1230px\" \/><\/figure><div class=\"elementor-image-box-content\"><div class=\"elementor-image-box-title\">Rent and Guarantees<\/div><p class=\"elementor-image-box-description\">Rent amount, payment dates, security deposit and advance rent payments.<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-62813aa e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"62813aa\" 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-db6bf14 elementor-position-top nextsaas-filter-effect-no elementor-widget elementor-widget-image-box\" data-id=\"db6bf14\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img loading=\"lazy\" decoding=\"async\" width=\"1312\" height=\"1199\" src=\"https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/Aluseg-icon-duracao.png\" class=\"attachment-full size-full wp-image-47985\" alt=\"\" srcset=\"https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/Aluseg-icon-duracao.png 1312w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/Aluseg-icon-duracao-300x274.png 300w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/Aluseg-icon-duracao-1024x936.png 1024w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/Aluseg-icon-duracao-768x702.png 768w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/Aluseg-icon-duracao-219x200.png 219w\" sizes=\"(max-width: 1312px) 100vw, 1312px\" \/><\/figure><div class=\"elementor-image-box-content\"><div class=\"elementor-image-box-title\">Duration and Terms<\/div><p class=\"elementor-image-box-description\">Start date, contract duration and conditions for renewal or termination.<\/p><\/div><\/div>\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-39a4edc e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"39a4edc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-8471aac e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"8471aac\" 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-73d58c8 elementor-position-left elementor-vertical-align-top nextsaas-filter-effect-no elementor-widget elementor-widget-image-box\" data-id=\"73d58c8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img loading=\"lazy\" decoding=\"async\" width=\"1312\" height=\"1199\" src=\"https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-regras.png\" class=\"attachment-full size-full wp-image-47984\" alt=\"\" srcset=\"https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-regras.png 1312w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-regras-300x274.png 300w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-regras-1024x936.png 1024w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-regras-768x702.png 768w, https:\/\/aluseg.com\/wp-content\/uploads\/2026\/08\/aluseg-icon-regras-219x200.png 219w\" sizes=\"(max-width: 1312px) 100vw, 1312px\" \/><\/figure><div class=\"elementor-image-box-content\"><div class=\"elementor-image-box-title\">Rules and Certificates<\/div><p class=\"elementor-image-box-description\">Property use, pets, works, obligations and energy certificate.<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"gsap-animation elementor-element elementor-element-3bb4b4a elementor-absolute e-transform nextsaas-filter-effect-no elementor-widget elementor-widget-image\" data-gsap-animate=\"true\" data-duration=\"0.6\" data-delay=\"0.4\" data-direction=\"right\" data-offset=\"100\" data-rotation=\"0\" data-id=\"3bb4b4a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;,&quot;_transform_rotateZ_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:-77,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_laptop&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_tablet&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_mobile_extra&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_mobile&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1252\" height=\"1252\" src=\"https:\/\/aluseg.com\/wp-content\/uploads\/2025\/11\/gradient-7.png\" class=\"attachment-full size-full wp-image-38444\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<section class=\"elementor-element elementor-element-6cc0f62 e-flex e-con-boxed nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no 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<div class=\"gsap-animation elementor-element elementor-element-9ad0e0f nextsaas-filter-effect-no elementor-widget elementor-widget-nextsaas_badge\" data-gsap-animate=\"true\" data-duration=\"0.6\" data-delay=\"0.1\" data-direction=\"down\" data-offset=\"60\" data-rotation=\"0\" data-id=\"9ad0e0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"nextsaas_badge.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"nextsaas_badge_wrap\">\r\n\t\t\t<div class=\"inline-block\">\r\n\t\t\t\t<span class=\"badge badge-green mb-5 nextsaas-badge\">\r\n\t\t\t\t\tFrequently Asked Questions<\/span>\r\n\t\t\t\t<\/span>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"gsap-animation elementor-element elementor-element-0ca1043 nextsaas-filter-effect-no elementor-widget elementor-widget-heading\" data-gsap-animate=\"true\" data-duration=\"0.6\" data-delay=\"0.2\" data-direction=\"down\" data-offset=\"60\" data-rotation=\"0\" data-id=\"0ca1043\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Common Questions About Rental \n<br>Contracts in Portugal<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-415b4cd6 animated-slow nextsaas-filter-effect-no 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\"> How to create a rental contract? <\/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 nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no 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 nextsaas-filter-effect-no 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>On Aluseg, you can fill out the landlord, tenant, property details and rental conditions online. After reviewing the information, you can generate the contract in PDF.<\/p>\n\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\"> Is creating the contract on Aluseg free? <\/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-c266be8 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"c266be8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-103da7b nextsaas-filter-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"103da7b\" 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. You can use the generator and create your rental contract for free.<\/p>\n\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\"> Do I need to create an account? <\/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-a3bd016 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"a3bd016\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-01eff45 nextsaas-filter-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"01eff45\" 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>You do not need to create an account just to get the PDF. If you later want to continue managing the rental through Aluseg, you can create an account.<\/p>\n\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-1093\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"4\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1093\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> What information do I need to create the contract? <\/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-1093\" class=\"elementor-element elementor-element-5dac14f e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"5dac14f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3ba2e6a nextsaas-filter-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"3ba2e6a\" 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>You will need the landlord, tenant and property details, as well as the main agreed conditions, such as the rent amount, start date, duration and security deposit, if applicable.<\/p>\n\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-1094\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"5\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1094\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Can I add more than one tenant? <\/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-1094\" class=\"elementor-element elementor-element-6145842 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"6145842\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8cc997f nextsaas-filter-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"8cc997f\" 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. You can add multiple tenants to the same contract.<\/p>\n\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-1095\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"6\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1095\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Can I add a guarantor? <\/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-1095\" class=\"elementor-element elementor-element-1b9f084 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"1b9f084\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-37a1c47 nextsaas-filter-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"37a1c47\" 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. If there is a guarantor, you can add their details while filling it out.<\/p>\n\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-1096\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"7\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1096\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Can I include a security deposit? <\/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-1096\" class=\"elementor-element elementor-element-63a89c9 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"63a89c9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b4e52e9 nextsaas-filter-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"b4e52e9\" 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. You can indicate if there is a security deposit and its corresponding amount.<\/p>\n\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-1097\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"8\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1097\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Can I indicate whether pets are allowed? <\/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-1097\" class=\"elementor-element elementor-element-180de72 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"180de72\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c017845 nextsaas-filter-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"c017845\" 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. The generator allows you to indicate the conditions regarding pets in the property.<\/p>\n\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-1098\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"9\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1098\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Do I have to report the contract to the Tax Authority? <\/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-1098\" class=\"elementor-element elementor-element-f3247b8 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"f3247b8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d3069e9 nextsaas-filter-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"d3069e9\" 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>Contracts subject to the reporting obligation must be reported to the Tax Authority under the applicable terms. After creating the contract, you can handle the process directly or choose to proceed through Aluseg.<\/p>\n\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-1099\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"10\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1099\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Does Aluseg replace a lawyer? <\/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-1099\" class=\"elementor-element elementor-element-6ca8068 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"6ca8068\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2edf9ab nextsaas-filter-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"2edf9ab\" 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>No. Aluseg helps you generate the document based on the information provided. If you need legal advice on a specific situation, you should seek a qualified professional.<\/p>\n\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-10910\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"11\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-10910\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> 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-10910\" class=\"elementor-element elementor-element-cb37d66 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no e-con e-child\" data-id=\"cb37d66\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a0573df nextsaas-filter-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"a0573df\" 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 was developed to handle that. Simply add the details of all co-tenants in the form. The final document will duplicate the identification blocks and signature lines, ensuring that all tenants are legally bound by the agreement<\/p>\n\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-10911\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"12\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-10911\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> What should I check before signing the rental contract? <\/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-10911\" class=\"elementor-element elementor-element-677240cf e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no 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 nextsaas-filter-effect-no 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 screen 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>\n\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-10912\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"13\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-10912\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> How to 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-10912\" class=\"elementor-element elementor-element-5316f392 e-con-full e-flex nextsaas-filter-effect-no nextsaas-custom-background-no nextsaas-custom-border-glow-animation-no nextsaas-custom-glowing-card-no nextsaas-sticky-no 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 nextsaas-filter-effect-no 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 practically take 6 to 12 months.<\/p>\n<p>To safeguard your investment, consider reading our guide on how to be 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>\n\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\":\"How to create a rental contract?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"On Aluseg, you can fill out the landlord, tenant, property details and rental conditions online. After reviewing the information, you can generate the contract in PDF.\"}},{\"@type\":\"Question\",\"name\":\"Is creating the contract on Aluseg free?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. You can use the generator and create your rental contract for free.\"}},{\"@type\":\"Question\",\"name\":\"Do I need to create an account?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"You do not need to create an account just to get the PDF. If you later want to continue managing the rental through Aluseg, you can create an account.\"}},{\"@type\":\"Question\",\"name\":\"What information do I need to create the contract?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"You will need the landlord, tenant and property details, as well as the main agreed conditions, such as the rent amount, start date, duration and security deposit, if applicable.\"}},{\"@type\":\"Question\",\"name\":\"Can I add more than one tenant?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. You can add multiple tenants to the same contract.\"}},{\"@type\":\"Question\",\"name\":\"Can I add a guarantor?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. If there is a guarantor, you can add their details while filling it out.\"}},{\"@type\":\"Question\",\"name\":\"Can I include a security deposit?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. You can indicate if there is a security deposit and its corresponding amount.\"}},{\"@type\":\"Question\",\"name\":\"Can I indicate whether pets are allowed?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. The generator allows you to indicate the conditions regarding pets in the property.\"}},{\"@type\":\"Question\",\"name\":\"Do I have to report the contract to the Tax Authority?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Contracts subject to the reporting obligation must be reported to the Tax Authority under the applicable terms. After creating the contract, you can handle the process directly or choose to proceed through Aluseg.\"}},{\"@type\":\"Question\",\"name\":\"Does Aluseg replace a lawyer?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. Aluseg helps you generate the document based on the information provided. If you need legal advice on a specific situation, you should seek a qualified professional.\"}},{\"@type\":\"Question\",\"name\":\"Can I use this template if I have multiple tenants?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Our generator was developed to handle that. Simply add the details of all co-tenants in the form. The final document will duplicate the identification blocks and signature lines, ensuring that all tenants are legally bound by the agreement\"}},{\"@type\":\"Question\",\"name\":\"What should I check before signing the rental contract?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Before handing over the keys, it is essential to properly screen 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\":\"How to 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 practically take 6 to 12 months.\\nTo safeguard your investment, consider reading our guide on how to be 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>Create your lease agreement Fill in the landlord, tenant, and property details and prepare your residential lease agreement step by step. 100% Free Ready for Portugal PDF without creating an account Create your lease agreement It takes 5 steps. Fields marked * are required. Tap the i icon whenever you need help. Landlord Identification Full [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-47778","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/pages\/47778","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=47778"}],"version-history":[{"count":3,"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/pages\/47778\/revisions"}],"predecessor-version":[{"id":47989,"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/pages\/47778\/revisions\/47989"}],"wp:attachment":[{"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/media?parent=47778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}