{"id":17232,"date":"2020-03-11T20:26:23","date_gmt":"2020-03-11T20:26:23","guid":{"rendered":"https:\/\/demo37.houzez.co\/?page_id=17232"},"modified":"2026-04-26T06:38:40","modified_gmt":"2026-04-26T06:38:40","slug":"hesperange-english-real-estate-agency","status":"publish","type":"page","link":"https:\/\/zeas.immo\/en\/","title":{"rendered":"Hesperange real estate"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"17232\" class=\"elementor elementor-17232\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7562bbd e-flex e-con-boxed e-con e-parent\" data-id=\"7562bbd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-35172d9 elementor-widget elementor-widget-html\" data-id=\"35172d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Zeas Immo \u2014 Hesperange Real Estate<\/title>\n  <style>\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   zeas.immo \u2014 Homepage Part 1  (v3 \u2014 Apr 2026)\n   Changes vs v2:\n   - Hero headline: \"works for you only\" \u2192 \"obsessed with your outcome\"\n   - \"How we search\" copy: \"exclusively for you\" \/ \"no conflict of interest, ever\" retired\n     replaced with outcome + obsession + one-property-at-a-time framing\n   Self-contained: style block + markup in one file\n   Paste entirely into Elementor HTML widget\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n.eyebrow {\n  display: flex; align-items: center; gap: 12px;\n  font-size: 11px; font-weight: 600;\n  letter-spacing: 0.18em; text-transform: uppercase;\n  color: #FF5C0B; margin-bottom: 16px;\n}\n.eyebrow::before, .eyebrow::after {\n  content: ''; width: 24px; height: 1px; background: #FF5C0B; flex-shrink: 0;\n}\n.eyebrow.center  { justify-content: center; }\n.eyebrow.no-line::before, .eyebrow.no-line::after { display: none; }\n.eyebrow.dk::before, .eyebrow.dk::after { background: #444240; }\n\n.stitle {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: clamp(26px, 3vw, 40px); font-weight: 500;\n  color: #111110; line-height: 1.1; letter-spacing: -0.02em;\n}\n.stitle.dk  { color: #f5f3ef; }\n.stitle.ctr { text-align: center; }\n\n\/* \u2500\u2500\u2500 BUTTONS \u2500\u2500\u2500 *\/\n.btn-primary {\n  display: inline-flex; align-items: center; gap: 10px;\n  background: #FF5C0B; color: #fff;\n  padding: 15px 38px; font-family: 'Poppins', sans-serif;\n  font-size: 15px; font-weight: 500; letter-spacing: 0.05em;\n  text-decoration: none; border: none; cursor: pointer;\n  transition: background 220ms, transform 150ms;\n}\n.btn-primary:hover { background: #FF6E28; transform: translateY(-2px); }\n.btn-primary svg   { width: 16px; height: 16px; transition: transform 220ms; }\n.btn-primary:hover svg { transform: translateX(4px); }\n\n.btn-outline {\n  display: inline-flex !important; align-items: center !important; gap: 10px !important;\n  background: transparent !important; color: #f5f3ef !important;\n  padding: 14px 36px !important; border: 1px solid rgba(255,255,255,0.35) !important;\n  font-family: 'Poppins', sans-serif !important; font-size: 15px !important;\n  font-weight: 500 !important; letter-spacing: 0.05em !important;\n  text-decoration: none !important; cursor: pointer !important;\n  transition: border-color 220ms, background 220ms, color 220ms !important;\n}\n.btn-outline:hover { border-color: #FF5C0B !important; background: #FF5C0B !important; color: #fff !important; }\n.btn-outline svg   { width: 16px; height: 16px; transition: transform 220ms; color: #f5f3ef !important; }\n.btn-outline:hover svg { transform: translateX(4px); }\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   HERO\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.hero {\n  background: #111110;\n  position: relative; overflow: hidden; text-align: center;\n}\n.hero::after {\n  content: ''; position: absolute; inset: 0; pointer-events: none;\n  background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'\/%3E%3C\/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.035'\/%3E%3C\/svg%3E\");\n}\n.hero-body {\n  position: relative; z-index: 1;\n  display: flex; flex-direction: column; align-items: center;\n  padding-top: 72px; padding-bottom: 64px;\n}\n.hero h1 {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: clamp(40px, 5.5vw, 66px); font-weight: 500;\n  line-height: 1.05; letter-spacing: -0.025em;\n  color: #f5f3ef; margin-bottom: 24px; max-width: 820px;\n  white-space: normal !important; overflow-wrap: break-word;\n}\n.hero h1 em { font-style: italic; color: #FF5C0B; }\n.hero-sub {\n  font-size: 16px; font-weight: 300; color: #777470;\n  line-height: 1.8; max-width: 560px; margin: 0 auto 64px;\n}\n.hero-cta-row {\n  display: flex; align-items: center;\n  justify-content: center; gap: 24px; flex-wrap: wrap;\n}\n.stat-bar {\n  position: relative; z-index: 1;\n  display: grid; grid-template-columns: repeat(4, 1fr);\n  border-top: 1px solid #2e2e2b;\n}\n.stat-item {\n  padding: 28px 20px; text-align: center;\n  border-right: 1px solid #2e2e2b;\n}\n.stat-item:last-child { border-right: none; }\n.stat-num {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 48px; font-weight: 300;\n  line-height: 1; color: #f5f3ef; letter-spacing: -0.03em;\n}\n.stat-num sup { font-size: 20px; font-weight: 400; vertical-align: super; color: #FF5C0B; }\n.stat-label { font-size: 15px; font-weight: 300; color: #c8c4be; line-height: 1.5; margin-top: 6px; }\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   MANDATE BANNER\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.mandate {\n  background: #FF5C0B; padding: 14px 60px;\n  display: flex; align-items: center; justify-content: center;\n  gap: 28px; flex-wrap: wrap;\n}\n.mitem { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; color: #fff; }\n.mitem svg { width: 15px; height: 15px; flex-shrink: 0; }\n.msep { width: 1px; height: 16px; background: rgba(255,255,255,0.3); }\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   THREE PILLARS\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.pillars-section {\n  background: #faf9f7;\n  border-top: 1px solid #e4e0da;\n  border-bottom: 1px solid #e4e0da;\n  padding: 80px 0;\n}\n.pillars-intro {\n  text-align: center; margin-bottom: 56px;\n}\n.pillars-intro p {\n  font-size: 16px; color: #555552;\n  max-width: 540px; margin: 0 auto; line-height: 1.75;\n}\n\n\/* Stacked rows *\/\n.pillars-grid { border-top: 1px solid #e4e0da; }\n.pillar-item { border-bottom: 1px solid #e4e0da; }\n.pillar-trigger {\n  width: 100%; background: none; border: none; cursor: pointer;\n  display: grid; grid-template-columns: 1fr auto;\n  align-items: center; gap: 32px;\n  padding: 36px 0; text-align: left;\n}\n.pillar-left { display: flex; align-items: baseline; gap: 28px; }\n.pillar-tag {\n  font-size: 10px; font-weight: 600; letter-spacing: 0.2em;\n  text-transform: uppercase; color: #FF5C0B;\n  white-space: nowrap; flex-shrink: 0; min-width: 64px;\n  margin-bottom: 10px;\n}\n.pillar-line-1 {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: clamp(17px, 1.8vw, 22px); font-weight: 500;\n  color: #111110; line-height: 1.25; letter-spacing: -0.015em;\n  transition: color 220ms; margin-bottom: 5px;\n}\n.pillar-line-2 {\n  font-size: 16px; font-weight: 400; color: #FF5C0B;\n  line-height: 1.4; margin-bottom: 5px;\n}\n.pillar-line-3 {\n  font-size: 13px; color: #999895; font-weight: 300;\n  line-height: 1.4; transition: color 220ms;\n}\n.pillar-item.open .pillar-line-1 { color: #111110; }\n.pillar-item.open .pillar-line-3,\n.pillar-trigger:hover .pillar-line-3 { color: #555552; }\n.pillar-toggle {\n  width: 34px; height: 34px; flex-shrink: 0;\n  border: 1px solid #e4e0da; display: flex;\n  align-items: center; justify-content: center;\n  transition: border-color 220ms;\n}\n.pillar-trigger:hover .pillar-toggle,\n.pillar-item.open .pillar-toggle { border-color: #888884; }\n.pillar-toggle-icon {\n  width: 14px; height: 14px; color: #FF5C0B;\n  transition: transform 250ms;\n  animation: pillarPulse 2.4s ease-in-out infinite;\n}\n.pillar-item.open .pillar-toggle-icon {\n  transform: rotate(45deg);\n  animation: none;\n}\n@keyframes pillarPulse {\n  0%, 100% { opacity: 1; transform: scale(1); }\n  50%       { opacity: 0.45; transform: scale(0.82); }\n}\n\n\/* Expanded body *\/\n.pillars-expanded {\n  max-height: 0; overflow: hidden;\n  transition: max-height 0.45s cubic-bezier(0, 0, 0.3, 1);\n}\n.pillars-expanded.visible { max-height: 600px; }\n.pillars-expanded-inner {\n  padding: 0 0 48px calc(64px + 28px);\n  display: grid; grid-template-columns: 1fr 1fr;\n  gap: 56px; align-items: start;\n}\n.pillar-proof-label {\n  font-size: 11px; font-weight: 600; letter-spacing: 0.14em;\n  text-transform: uppercase; color: #FF5C0B; margin-bottom: 14px;\n  display: block;\n}\n.pillar-proof p {\n  font-size: 16px; color: #555552; line-height: 1.8;\n  font-weight: 300; margin-bottom: 14px;\n}\n.pillar-proof strong { color: #111110; font-weight: 500; }\n.pillar-proof-stat {\n  display: inline-flex; align-items: baseline; gap: 10px;\n  padding: 12px 20px; background: rgba(255,92,11,0.06);\n  border-left: 2px solid #FF5C0B; margin-top: 8px;\n}\n.pstat-num {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 32px; font-weight: 300; color: #111110;\n  letter-spacing: -0.02em; line-height: 1;\n}\n.pstat-label { font-size: 13px; color: #555552; font-weight: 300; line-height: 1.4; }\n.pstat-note { font-size: 11px; color: #999895; margin-top: 8px; display: block; }\n.pillar-cta-col {\n  display: flex; flex-direction: column;\n  justify-content: center; gap: 16px;\n}\n.pillar-cta-link {\n  display: inline-flex; align-items: center; gap: 10px;\n  background: #FF5C0B; color: #fff;\n  padding: 15px 32px; font-family: 'Poppins', sans-serif;\n  font-size: 14px; font-weight: 500; letter-spacing: 0.04em;\n  text-decoration: none; transition: background 220ms, transform 150ms;\n  align-self: flex-start;\n}\n.pillar-cta-link:hover { background: #FF6E28; transform: translateY(-2px); }\n.pillar-cta-link svg { width: 14px; height: 14px; transition: transform 200ms; }\n.pillar-cta-link:hover svg { transform: translateX(4px); }\n.pillar-secondary-link {\n  font-size: 13px; color: #555552; font-weight: 400;\n  border-bottom: 1px solid #e4e0da; padding-bottom: 2px;\n  align-self: flex-start;\n  transition: color 220ms, border-color 220ms;\n}\n.pillar-secondary-link:hover { color: #FF5C0B; border-color: #FF5C0B; }\n\n\/* \u2500\u2500 ANIMATIONS \u2500\u2500 *\/\n@keyframes fadeUp {\n  from { opacity: 0; transform: translateY(18px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n.hero .eyebrow { animation: fadeUp .5s cubic-bezier(0.25, 0.1, 0.25, 1) both; }\n.hero h1       { animation: fadeUp .6s .08s cubic-bezier(0.25, 0.1, 0.25, 1) both; }\n.hero-sub      { animation: fadeUp .6s .16s cubic-bezier(0.25, 0.1, 0.25, 1) both; }\n.hero-cta-row  { animation: fadeUp .6s .24s cubic-bezier(0.25, 0.1, 0.25, 1) both; }\n.stat-bar      { animation: fadeUp .5s .30s cubic-bezier(0.25, 0.1, 0.25, 1) both; }\n\n\/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\n@media (max-width: 960px) {\n  .stat-bar { grid-template-columns: repeat(2, 1fr); }\n  .stat-item:nth-child(2) { border-right: none; }\n  .stat-item:nth-child(3), .stat-item:nth-child(4) { border-top: 1px solid #2e2e2b; }\n  .stat-item:nth-child(4) { border-right: none; }\n  .pillar-trigger { padding: 24px 0; }\n  .pillars-expanded-inner { padding: 0 0 36px 0; grid-template-columns: 1fr; gap: 28px; }\n  .pillar-left { flex-direction: column; gap: 4px; }\n  .msep      { display: none; }\n  .mandate   { gap: 12px; }\n  .drawer-sub { white-space: normal; }\n  .drawer-title { font-size: 20px; }\n}\n@media (max-width: 600px) {\n  .hero h1 { font-size: 36px; }\n  .hero-cta-row { flex-direction: column; align-items: stretch; }\n  .btn-primary, .btn-outline { justify-content: center; }\n  .stat-bar { grid-template-columns: 1fr 1fr; }\n  .mandate   { flex-direction: column; gap: 8px; padding: 14px 20px; }\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   FORM DRAWERS\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.form-drawer {\n  background: #faf9f7; border-bottom: 1px solid #e4e0da;\n  max-height: 0; overflow: hidden;\n  transition: max-height 500ms cubic-bezier(0, 0, 0.3, 1), opacity 400ms ease;\n  opacity: 0;\n}\n.form-drawer.open { max-height: 800px; opacity: 1; }\n.drawer-inner { padding: 64px 0 40px; }\n.drawer-hd {\n  display: flex; align-items: flex-start;\n  justify-content: space-between; gap: 40px; margin-bottom: 40px;\n}\n.drawer-eyebrow { font-size: 10px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: #FF5C0B; margin-bottom: 8px; }\n.drawer-title {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: clamp(22px, 2.5vw, 30px); font-weight: 500;\n  color: #111110; letter-spacing: -0.02em; margin-bottom: 8px;\n}\n.drawer-sub { font-size: 14px; color: #555552; line-height: 1.7; max-width: 480px; }\n.drawer-close {\n  flex-shrink: 0; width: 40px; height: 40px;\n  background: #edeae4; border: none; cursor: pointer;\n  display: flex; align-items: center; justify-content: center;\n  color: #555552; transition: background 220ms, color 220ms;\n}\n.drawer-close:hover { background: #FF5C0B; color: #fff; }\n.drawer-close svg { width: 18px; height: 18px; }\n.drawer-form-wrap { margin-bottom: 24px; }\n.form-placeholder {\n  background: #f5f3ef; border: 1px dashed #e4e0da;\n  padding: 32px; text-align: center;\n  font-size: 13px; color: #999895; font-style: italic;\n}\n.drawer-footer-link { font-size: 13px; color: #999895; }\n.drawer-footer-link a { color: #FF5C0B; }\n.drawer-footer-link a:hover { text-decoration: underline; }\n\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   zeas.immo \u2014 eXp Listings Section (homepage insert)\n   v6 \u2014 filters + enquiry modal, no agent names\n   Section \u2192 Full Width, Container \u2192 Full Width, Padding 0\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n.exp-section {\n  padding: 72px 0;\n  background: #ffffff;\n  border-top: 1px solid #e4e0da;\n  border-bottom: 1px solid #e4e0da;\n}\n.exp-inner {\n  max-width: 1240px;\n  margin: 0 auto;\n  padding: 0 60px;\n}\n\n\/* \u2500\u2500 Header \u2500\u2500 *\/\n.exp-hd { text-align: center; margin-bottom: 36px; }\n.exp-eyebrow {\n  display: flex; align-items: center; justify-content: center; gap: 12px;\n  font-size: 11px; font-weight: 600;\n  letter-spacing: 0.18em; text-transform: uppercase;\n  color: #FF5C0B; margin-bottom: 16px;\n}\n.exp-eyebrow::before, .exp-eyebrow::after {\n  content: ''; width: 24px; height: 1px; background: #FF5C0B; flex-shrink: 0;\n}\n.exp-title {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: clamp(26px, 3vw, 40px);\n  font-weight: 500; color: #111110;\n  line-height: 1.1; letter-spacing: -0.02em;\n  margin-bottom: 20px;\n}\n.exp-see-all {\n  display: inline-block;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 13px; font-weight: 500;\n  color: #FF5C0B; text-decoration: none;\n  letter-spacing: 0.04em;\n  border-bottom: 1px solid #FF5C0B;\n  padding-bottom: 1px;\n  transition: opacity 200ms;\n}\n.exp-see-all:hover { opacity: 0.7; }\n\n\/* \u2500\u2500 Filter bar \u2500\u2500 *\/\n.exp-filter-row {\n  display: flex; align-items: center; gap: 12px;\n  flex-wrap: wrap; margin-bottom: 20px;\n  justify-content: center;\n}\n.exp-filter-label {\n  font-size: 11px; font-weight: 600;\n  letter-spacing: 0.1em; text-transform: uppercase;\n  color: #999895; flex-shrink: 0;\n}\n.exp-filters { display: flex; gap: 6px; flex-wrap: wrap; }\n.exp-filter-btn {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 11px; font-weight: 500;\n  padding: 5px 14px;\n  border: 1.5px solid #e4e0da;\n  background: #ffffff; color: #555552;\n  cursor: pointer; transition: all 150ms;\n  text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap;\n}\n.exp-filter-btn:hover { border-color: #FF5C0B; color: #FF5C0B; }\n.exp-filter-btn.active { background: #FF5C0B; border-color: #FF5C0B; color: #ffffff; }\n\n.exp-filter-select {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 11px; color: #555552;\n  padding: 5px 26px 5px 11px;\n  border: 1.5px solid #e4e0da;\n  background: #ffffff url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999895' stroke-width='1.5' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\") no-repeat right 9px center;\n  appearance: none; -webkit-appearance: none; cursor: pointer; outline: none;\n}\n.exp-filter-select:focus { border-color: #FF5C0B; }\n\n\/* \u2500\u2500 Count \u2500\u2500 *\/\n.exp-count {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 12px; color: #999895; margin-bottom: 16px; text-align: center;\n}\n.exp-count strong { color: #111110; }\n\n\/* \u2500\u2500 Loading \/ error \u2500\u2500 *\/\n.exp-loading {\n  display: flex; align-items: center; justify-content: center; gap: 12px;\n  color: #999895; font-size: 14px;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; padding: 32px 0;\n}\n.exp-spinner {\n  width: 18px; height: 18px;\n  border: 2px solid #e4e0da; border-top-color: #FF5C0B;\n  border-radius: 50%; animation: expspin 0.7s linear infinite; flex-shrink: 0;\n}\n@keyframes expspin { to { transform: rotate(360deg); } }\n.exp-error { font-size: 13px; color: #c0392b; padding: 16px 0; text-align: center; }\n.exp-empty { text-align: center; padding: 40px 0; color: #999895; font-size: 14px;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; }\n\n\/* \u2500\u2500 Grid \u2500\u2500 *\/\n.exp-grid {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 20px;\n}\n\n\/* \u2500\u2500 Card \u2500\u2500 *\/\n.exp-card {\n  background: #ffffff;\n  border: 1px solid #e4e0da; border-bottom: 2px solid transparent;\n  display: flex; flex-direction: column;\n  cursor: pointer;\n  transition: transform 220ms, box-shadow 220ms, border-color 220ms;\n}\n.exp-card:hover {\n  transform: translateY(-3px);\n  box-shadow: 0 6px 20px rgba(17,17,16,.08);\n  border-color: #e4e0da; border-bottom-color: #FF5C0B;\n}\n.exp-card-img {\n  position: relative; aspect-ratio: 4\/3;\n  overflow: hidden; background: #f0efed;\n}\n.exp-card-img img {\n  width:100%; height:100%; object-fit:cover; display:block;\n  transition: transform 400ms;\n}\n.exp-card:hover .exp-card-img img { transform: scale(1.04); }\n.exp-card-badge {\n  position: absolute; top: 10px; left: 10px;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 9px; font-weight: 700;\n  letter-spacing: 0.1em; text-transform: uppercase;\n  padding: 3px 8px; background: #FF5C0B; color: #ffffff;\n}\n.exp-card-badge.rental { background: #111110; }\n.exp-card-type {\n  position: absolute; bottom: 10px; left: 10px;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 10px; font-weight: 500; letter-spacing: 0.04em;\n  background: rgba(17,17,16,0.65); backdrop-filter: blur(4px);\n  color: #ffffff; padding: 3px 8px;\n}\n.exp-card-body {\n  padding: 18px 18px 16px; flex: 1;\n  display: flex; flex-direction: column; gap: 6px;\n}\n.exp-card-price {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 20px; font-weight: 500; color: #FF5C0B; line-height: 1;\n}\n.exp-card-price .pm { font-size: 12px; font-weight: 400; color: #999895; }\n.exp-card-title {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 13px; font-weight: 600; color: #111110; line-height: 1.35;\n  display: -webkit-box; -webkit-line-clamp: 2;\n  -webkit-box-orient: vertical; overflow: hidden;\n}\n.exp-card-city {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 12px; color: #999895;\n  display: flex; align-items: center; gap: 4px;\n}\n.exp-card-city svg { flex-shrink: 0; color: #FF5C0B; }\n.exp-card-specs {\n  display: flex; gap: 14px;\n  padding-top: 10px; border-top: 1px solid #f0efed; margin-top: 4px;\n}\n.exp-spec {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 11px; color: #999895;\n  display: flex; align-items: center; gap: 3px;\n}\n.exp-spec strong { color: #111110; font-weight: 600; }\n.exp-card-contact {\n  display: flex; align-items: center; gap: 6px;\n  padding-top: 10px; border-top: 1px solid #f0efed; margin-top: auto;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 12px; font-weight: 500; color: #FF5C0B; letter-spacing: 0.01em;\n  pointer-events: none;\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   PROPERTY MODAL\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.exp-overlay {\n  display: none; position: fixed; inset: 0;\n  background: rgba(17,17,16,.78);\n  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);\n  z-index: 99999; overflow-y: auto;\n  padding: 24px 20px; align-items: flex-start; justify-content: center;\n}\n.exp-overlay.open { display: flex; }\n.exp-modal {\n  background: #ffffff; width: 100%; max-width: 1100px;\n  margin: auto; position: relative; overflow: hidden;\n  animation: expmi .22s ease;\n}\n@keyframes expmi { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }\n.exp-modal-close {\n  position: absolute; top: 14px; right: 14px; z-index: 10;\n  width: 34px; height: 34px; background: rgba(17,17,16,.55);\n  border: none; border-radius: 50%; cursor: pointer;\n  display: flex; align-items: center; justify-content: center;\n  color: #ffffff; transition: background 180ms;\n}\n.exp-modal-close:hover { background: #111110; }\n.exp-modal-gallery {\n  position: relative; height: 60vh; min-height: 320px; max-height: 640px;\n  background: #111110; overflow: hidden; cursor: zoom-in;\n}\n.exp-modal-gallery img { width:100%; height:100%; object-fit:cover; display:block; }\n.exp-gal-btn {\n  position: absolute; top: 50%; transform: translateY(-50%);\n  width: 38px; height: 38px; background: rgba(17,17,16,.5);\n  border: none; border-radius: 50%; cursor: pointer; color: #ffffff;\n  display: flex; align-items: center; justify-content: center;\n  transition: background 180ms; z-index: 5;\n}\n.exp-gal-btn:hover { background: #FF5C0B; }\n.exp-gal-prev { left: 12px; } .exp-gal-next { right: 12px; }\n.exp-gal-ctr {\n  position: absolute; bottom: 10px; right: 12px;\n  background: rgba(17,17,16,.6); color: #ffffff; font-size: 11px; padding: 3px 10px;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n}\n.exp-modal-body { padding: 28px 32px 32px; }\n.exp-modal-top {\n  display: flex; align-items: flex-start; justify-content: space-between;\n  gap: 16px; flex-wrap: wrap; margin-bottom: 20px;\n}\n.exp-modal-title {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 20px; font-weight: 500; color: #111110;\n  letter-spacing: -0.01em; margin-bottom: 6px;\n}\n.exp-modal-addr {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 13px; color: #999895; display: flex; align-items: center; gap: 5px;\n}\n.exp-modal-price {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 28px; font-weight: 500; color: #FF5C0B; line-height: 1;\n}\n.exp-modal-price .pm { font-size: 14px; font-weight: 400; color: #999895; }\n.exp-energy {\n  display: inline-flex; align-items: center; margin-top: 6px;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 11px; font-weight: 700; padding: 3px 9px; letter-spacing: 0.04em;\n  background: #f0efed; color: #555552;\n}\n.exp-energy[data-c=\"A\"]{background:#1e7e34;color:#fff} .exp-energy[data-c=\"B\"]{background:#28a745;color:#fff}\n.exp-energy[data-c=\"C\"]{background:#ffc107;color:#333} .exp-energy[data-c=\"D\"]{background:#fd7e14;color:#fff}\n.exp-energy[data-c=\"E\"]{background:#dc3545;color:#fff} .exp-energy[data-c=\"F\"]{background:#9c1313;color:#fff}\n.exp-modal-specs {\n  display: flex; gap: 20px; flex-wrap: wrap;\n  padding: 16px 0; border-top: 1px solid #f0efed; border-bottom: 1px solid #f0efed; margin: 16px 0;\n}\n.exp-modal-spec {\n  display: flex; align-items: center; gap: 7px;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 13px; color: #111110;\n}\n.exp-modal-spec svg { color: #FF5C0B; flex-shrink: 0; }\n.exp-modal-desc {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 13px; line-height: 1.75; color: #555552;\n  white-space: pre-line; max-height: 160px; overflow-y: auto;\n}\n.exp-modal-desc::-webkit-scrollbar { width: 4px; }\n.exp-modal-desc::-webkit-scrollbar-thumb { background: #FF5C0B; }\n.exp-modal-footer {\n  display: flex; align-items: center; justify-content: space-between;\n  flex-wrap: wrap; gap: 16px;\n  margin-top: 24px; padding-top: 20px; border-top: 1px solid #f0efed;\n}\n.exp-modal-footer-text {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 13px; color: #555552; line-height: 1.5;\n}\n.exp-modal-footer-text span { display: block; font-size: 12px; color: #999895; margin-top: 2px; }\n.exp-cta-btn {\n  display: inline-flex; align-items: center; gap: 8px;\n  background: #FF5C0B; color: #ffffff;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 13px; font-weight: 600;\n  padding: 11px 24px; border: none; cursor: pointer;\n  text-decoration: none; letter-spacing: 0.02em;\n  transition: background 180ms, transform 120ms;\n}\n.exp-cta-btn:hover { background: #e04e00; transform: translateY(-1px); color: #fff; }\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   ENQUIRY MODAL\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.exp-enq-overlay {\n  display: none; position: fixed; inset: 0;\n  background: rgba(17,17,16,.82);\n  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);\n  z-index: 999999; overflow-y: auto;\n  padding: 24px 20px; align-items: flex-start; justify-content: center;\n}\n.exp-enq-overlay.open { display: flex; }\n.exp-enq-modal {\n  background: #ffffff; width: 100%; max-width: 540px;\n  margin: auto; padding: 36px 36px 32px; position: relative;\n  animation: expmi .22s ease;\n}\n.exp-enq-close {\n  position: absolute; top: 14px; right: 14px;\n  width: 32px; height: 32px; background: #f0efed;\n  border: none; border-radius: 50%; cursor: pointer;\n  display: flex; align-items: center; justify-content: center;\n  color: #111110; transition: background 180ms;\n}\n.exp-enq-close:hover { background: #e4e0da; }\n.exp-enq-prop-ref {\n  background: #faf9f7; border-left: 3px solid #FF5C0B;\n  padding: 12px 16px; margin-bottom: 24px;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 13px; color: #555552; line-height: 1.5;\n}\n.exp-enq-prop-ref strong {\n  display: block; font-size: 14px; color: #111110; margin-bottom: 2px;\n}\n.exp-enq-title {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 20px; font-weight: 500; color: #111110;\n  letter-spacing: -0.01em; margin-bottom: 6px;\n}\n.exp-enq-sub {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 13px; color: #999895; margin-bottom: 24px; line-height: 1.5;\n}\n.exp-enq-label {\n  display: block; font-size: 11px; font-weight: 600;\n  letter-spacing: 0.08em; text-transform: uppercase;\n  color: #555552; margin-bottom: 6px;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n}\n.exp-enq-field {\n  width: 100%;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 14px; color: #111110;\n  padding: 10px 14px; margin-bottom: 16px;\n  border: 1.5px solid #e4e0da; background: #ffffff; outline: none;\n  transition: border-color 180ms;\n}\n.exp-enq-field:focus { border-color: #FF5C0B; }\n.exp-enq-textarea { min-height: 120px; resize: vertical; line-height: 1.6; }\n.exp-enq-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n.exp-enq-submit {\n  width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px;\n  background: #FF5C0B; color: #ffffff;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 14px; font-weight: 600;\n  padding: 13px 24px; border: none; cursor: pointer;\n  letter-spacing: 0.02em; margin-top: 8px; transition: background 180ms;\n}\n.exp-enq-submit:hover { background: #e04e00; }\n.exp-enq-note {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 11px; color: #999895; text-align: center; margin-top: 12px; line-height: 1.5;\n}\n.exp-enq-success { text-align: center; padding: 20px 0; }\n.exp-enq-success .exp-tick {\n  width: 48px; height: 48px; background: #FF5C0B; border-radius: 50%;\n  display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;\n}\n.exp-enq-success h3 {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 18px; font-weight: 500; color: #111110; margin-bottom: 8px;\n}\n.exp-enq-success p {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 14px; color: #555552; line-height: 1.6;\n}\n\n\/* \u2500\u2500 Responsive \u2500\u2500 *\/\n@media (max-width: 960px) {\n  .exp-inner { padding: 0 32px; }\n  .exp-grid  { grid-template-columns: repeat(2, 1fr); gap: 16px; }\n}\n@media (max-width: 600px) {\n  .exp-inner { padding: 0 20px; }\n  .exp-grid  { grid-template-columns: 1fr 1fr; gap: 12px; }\n  .exp-section { padding: 48px 0; }\n  .exp-modal-body { padding: 20px; }\n  .exp-enq-modal  { padding: 24px 20px; }\n  .exp-enq-row    { grid-template-columns: 1fr; }\n}\n@media (max-width: 420px) { .exp-grid { grid-template-columns: 1fr; } }\n\n\/* \u2500\u2500 Fullscreen lightbox \u2500\u2500 *\/\n.exp-lightbox {\n  display: none; position: fixed; inset: 0;\n  background: rgba(0,0,0,0.96); z-index: 9999999;\n  align-items: center; justify-content: center;\n}\n.exp-lightbox.open { display: flex; }\n.exp-lightbox-img { max-width: 95vw; max-height: 95vh; object-fit: contain; display: block; }\n.exp-lb-btn {\n  position: fixed; width: 44px; height: 44px;\n  background: rgba(255,255,255,0.15); border: none; border-radius: 50%;\n  cursor: pointer; color: #ffffff;\n  display: flex; align-items: center; justify-content: center;\n  transition: background 180ms; z-index: 10;\n}\n.exp-lb-btn:hover { background: #FF5C0B; }\n.exp-lb-close { top: 16px; right: 16px; }\n.exp-lb-prev  { left: 16px; top: 50%; transform: translateY(-50%); }\n.exp-lb-next  { right: 16px; top: 50%; transform: translateY(-50%); }\n.exp-lb-ctr {\n  position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%);\n  background: rgba(255,255,255,0.15); color: #ffffff;\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 12px; padding: 4px 14px; border-radius: 20px;\n}\n\n\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   zeas.immo \u2014 Homepage Part 2  (v2 \u2014 Apr 2026)\n   Changes vs v1:\n   - Removed: FAQ section\n   - Removed: legacy How It Works dark tab grid (.how)\n   - Removed: commune-bar (replaced by village grid Option B)\n   - Updated: village grid \u2014 each card now shows asking\n     price + transaction estimate + gap + hyperlink\n   Self-contained: style block + markup in one file\n   Paste entirely into Elementor HTML widget\n   Section \u2192 Full Width, Container \u2192 Full Width, Padding 0\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n.eyebrow {\n  display: flex; align-items: center; gap: 12px;\n  font-size: 11px; font-weight: 600;\n  letter-spacing: 0.18em; text-transform: uppercase;\n  color: #FF5C0B; margin-bottom: 16px;\n}\n.eyebrow::before, .eyebrow::after {\n  content: ''; width: 24px; height: 1px; background: #FF5C0B; flex-shrink: 0;\n}\n.eyebrow.center { justify-content: center; }\n.eyebrow.no-line::before, .eyebrow.no-line::after { display: none; }\n\n.stitle {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: clamp(26px, 3vw, 40px); font-weight: 500;\n  color: #111110; line-height: 1.1; letter-spacing: -0.02em;\n}\n.stitle.dk  { color: #f5f3ef; }\n.stitle.ctr { text-align: center; }\n\n.sec-hd { text-align: center; margin-bottom: 48px; }\n.sec-hd .stitle { margin-bottom: 8px; }\n.sec-hd p { font-size: 16px; color: #555552; max-width: 500px; margin: 0 auto; line-height: 1.75; }\n\n.btn-ghost-dark {\n  display: inline-flex; align-items: center; gap: 10px;\n  padding: 10px 32px; border: 1px solid #111110 !important;\n  font-family: 'Poppins', sans-serif; font-size: 14px;\n  font-weight: 500; letter-spacing: 0.05em;\n  color: #111110 !important; text-decoration: none !important; white-space: nowrap;\n  transition: border-color 220ms, background 220ms, color 220ms;\n}\n.btn-ghost-dark:hover { border-color: #FF5C0B; background: #FF5C0B; }\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   MARKET DATA \u2014 VILLAGE GRID (Option B)\n   Each card: asking + transaction + gap + link\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.market {\n  border-top: 1px solid #e4e0da;\n  border-bottom: 1px solid #e4e0da;\n  padding: 72px 0;\n  background: #faf9f7;\n}\n\n.village-grid {\n  display: grid;\n  grid-template-columns: repeat(5, 1fr);\n  gap: 1px;\n  background: #e4e0da;\n  border: 1px solid #e4e0da;\n}\n\n.vcard {\n  background: #faf9f7 !important;\n  padding: 24px 20px 20px;\n  text-decoration: none !important;\n  display: block;\n  border-bottom: 2px solid transparent;\n  transition: background 220ms, border-color 220ms, transform 220ms;\n  position: relative;\n  color: inherit !important;\n}\n.vcard:hover {\n  background: #edeae4 !important;\n  border-bottom-color: #FF5C0B !important;\n  transform: translateY(-2px);\n  color: inherit !important;\n  text-decoration: none !important;\n}\n\n.vc-name {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 15px; font-weight: 600; color: #111110;\n  margin-bottom: 16px;\n  transition: color 220ms;\n}\n.vcard:hover .vc-name { color: #111110; }\n\n\/* Price rows \u2014 hierarchy-based, no labels *\/\n.vc-asking {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 20px; font-weight: 500; color: #FF5C0B;\n  line-height: 1; margin-bottom: 6px; display: block;\n}\n.vc-asking sup { font-size: 11px; font-weight: 400; }\n\n.vc-transacted {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 13px; font-weight: 400; color: #999895;\n  line-height: 1; margin-bottom: 0; display: block;\n}\n.vc-transacted sup { font-size: 9px; }\n\n\/* Gap badge *\/\n.vc-gap {\n  display: inline-flex; align-items: center; gap: 5px;\n  background: rgba(255,92,11,0.07);\n  border-left: 2px solid #FF5C0B;\n  padding: 4px 8px;\n  margin: 10px 0 14px;\n}\n.vc-gap-label { font-size: 10px; color: #555552; }\n.vc-gap-num   { font-size: 12px; font-weight: 600; color: #FF5C0B; }\n\n.vc-link {\n  font-size: 11px; color: #555552;\n  letter-spacing: 0.04em;\n  display: flex; align-items: center; gap: 5px;\n  transition: color 220ms;\n  border-top: 1px solid #e4e0da;\n  padding-top: 12px; margin-top: 4px;\n}\n.vc-link svg { width: 10px; height: 10px; transition: transform 200ms; flex-shrink: 0; }\n.vcard:hover .vc-link { color: #FF5C0B; }\n.vcard:hover .vc-link svg { transform: translateX(3px); }\n\n.market-note {\n  font-size: 11px; color: #999895;\n  margin-top: 16px; line-height: 1.6;\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   REFERRAL\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.referral {\n  background: #edeae4 !important;\n  border-top: 1px solid #d8d4ce !important;\n  border-bottom: 1px solid #d8d4ce !important;\n}\n.ref-inner {\n  display: flex; align-items: center;\n  justify-content: space-between; gap: 64px;\n}\n.ref-eyebrow {\n  font-size: 11px; font-weight: 600;\n  letter-spacing: 0.18em; text-transform: uppercase;\n  color: #FF5C0B !important; margin-bottom: 12px;\n}\n.ref-title {\n  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: clamp(20px, 2.5vw, 28px);\n  font-weight: 500; color: #111110 !important;\n  margin-bottom: 8px; letter-spacing: -0.01em;\n}\n.ref-sub { font-size: 16px; color: #555552 !important; font-weight: 300; line-height: 1.7; }\n.ref-sub strong { color: #FF5C0B !important; font-weight: 500; }\n.ref-sub strong a { color: #FF5C0B !important; text-decoration: underline; text-underline-offset: 3px; }\n\n\/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\n@media (max-width: 960px) {\n  \/* village-grid stays 5 columns \u2014 only ref-inner stacks *\/\n  .ref-inner { flex-direction: column; gap: 24px; align-items: flex-start; }\n}\n@media (max-width: 780px) {\n  \/* At this width 5 cards become unreadably narrow \u2014 drop to 2+2+1 *\/\n  .village-grid { grid-template-columns: 1fr 1fr; }\n  .village-grid .vcard:last-child { grid-column: 1 \/ -1; max-width: 50%; margin: 0 auto; width: 100%; }\n}\n@media (max-width: 600px) {\n  .village-grid { grid-template-columns: 1fr 1fr; }\n  .village-grid .vcard:last-child { grid-column: 1 \/ -1; max-width: 60%; margin: 0 auto; width: 100%; }\n  .btn-ghost-dark-PLACEHOLDER { width: 100%; justify-content: center; }\n}\n\n\n\/* Override theme global button hover for pillar triggers *\/\n.pillar-trigger:focus,\n.pillar-trigger:hover {\n  background-color: #edeae4 !important;\n  color: inherit !important;\n}\n.pillar-item {\n  transition: background 220ms;\n}\n  <\/style>\n<\/head>\n<body>\n\n<!-- HERO -->\n<section class=\"hero\">\n  <div class=\"hero-body\">\n    <p class=\"eyebrow center no-line\">Hesperange Real Estate<\/p>\n    <h1>The Hesperange agent obsessed<br>with <em>your outcome.<\/em><\/h1>\n    <p class=\"hero-sub\">\n      Buy, sell, or rent in Howald, Alzingen, Itzig, Fentange, or Hesperange village \u2014 differently. A plan-driven search. A personalised marketing campaign. The right long-term tenant.\n    <\/p>\n    <div class=\"hero-cta-row\">\n      <button class=\"btn-primary\" onclick=\"toggleDrawer('buy-drawer', this)\">\n        I'm buying in Hesperange\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n      <\/button>\n      <button class=\"btn-outline\" onclick=\"toggleDrawer('sell-drawer', this)\">\n        I'm selling my property\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n      <\/button>\n    <\/div>\n  <\/div>\n  <div class=\"stat-bar\">\n    <div class=\"stat-item\">\n      <div class=\"stat-num\">5<sup>+<\/sup><\/div>\n      <div class=\"stat-label\">Villages \u2014 Howald, Alzingen,<br>Itzig, Fentange, Hesperange<\/div>\n    <\/div>\n    <div class=\"stat-item\">\n      <div class=\"stat-num\">6<sup>mo<\/sup><\/div>\n      <div class=\"stat-label\">Rolling notarial transaction data<br>Observatoire de l'Habitat<\/div>\n    <\/div>\n    <div class=\"stat-item\">\n      <div class=\"stat-num\">1<sup>\u00d7<\/sup><\/div>\n      <div class=\"stat-label\">Mandate per village \u2014<br>your interests, undivided<\/div>\n    <\/div>\n    <div class=\"stat-item\">\n      <div class=\"stat-num\">30<sup>%<\/sup><\/div>\n      <div class=\"stat-label\">Of the saving we achieve \u2014<br>buyers pay nothing upfront<\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- FORM DRAWERS -->\n<div id=\"buy-drawer\" class=\"form-drawer\" aria-hidden=\"true\">\n  <div class=\"drawer-inner\">\n    <div class=\"drawer-hd\">\n      <div>\n        <p class=\"drawer-eyebrow\">Buyer's enquiry \u00b7 Hesperange<\/p>\n        <h3 class=\"drawer-title\">Tell us what you're looking for<\/h3>\n        <p class=\"drawer-sub\">We review your criteria, pull current transaction data for your target village, and come back within 24 hours with a clear next step. No obligation, no upfront cost.<\/p>\n      <\/div>\n      <button class=\"drawer-close\" onclick=\"toggleDrawer('buy-drawer', null)\" aria-label=\"Close\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 6L6 18M6 6l12 12\"\/><\/svg>\n      <\/button>\n    <\/div>\n    <div class=\"drawer-form-wrap\">\n      <!-- WORDPRESS: replace with [fluentform id=\"11\"] -->\n      <div class=\"form-placeholder\"><div class='fluentform ff-default fluentform_wrapper_11 ffs_custom_wrap'><form data-form_id=\"11\" id=\"fluentform_11\" class=\"frm-fluent-form fluent_form_11 ff-el-form-top ff_form_instance_11_1 ff-form-loading ffs_custom\" data-form_instance=\"ff_form_instance_11_1\" method=\"POST\" ><fieldset  style=\"border: none!important;margin: 0!important;padding: 0!important;background-color: transparent!important;box-shadow: none!important;outline: none!important; min-inline-size: 100%;\">\n                    <legend class=\"ff_screen_reader_title\" style=\"display: block; margin: 0!important;padding: 0!important;height: 0!important;text-indent: -999999px;width: 0!important;overflow:hidden;\">Property search<\/legend>        <div\n                style=\"display: none!important; position: absolute!important; transform: translateX(1000%)!important;\"\n                class=\"ff-el-group ff-hpsf-container\"\n        >\n            <div class=\"ff-el-input--label asterisk-right\">\n                <label for=\"ff_11_item_sf\" aria-label=\"Subscribe\">\n                    Subscribe                <\/label>\n            <\/div>\n            <div class=\"ff-el-input--content\">\n                <input type=\"text\"\n                       name=\"item_11__fluent_sf\"\n                       class=\"ff-el-form-control\"\n                       id=\"ff_11_item_sf\"\n                \/>\n            <\/div>\n        <\/div>\n        <input type='hidden' name='__fluent_form_embded_post_id' value='17232' \/><input type=\"hidden\" id=\"_fluentform_11_fluentformnonce\" name=\"_fluentform_11_fluentformnonce\" value=\"b0d6b420ec\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/17232\" \/><div data-name=\"ff_cn_id_1\"  class='ff-t-container ff-column-container ff_columns_total_5 '><div class='ff-t-cell ff-t-column-1' style='flex-basis: 20%;'><div class='ff-el-group'><div class='ff-el-input--content'><select name=\"dropdown\" id=\"ff_11_dropdown\" class=\"ff-el-form-control\" data-name=\"dropdown\" data-calc_value=\"0\" tabindex=\"1\"  aria-invalid=\"false\" aria-required=\"true\" aria-labelledby=\"label_ff_11_dropdown\"><option value=\"\">Village<\/option><option value=\"Howald\"  >Howald<\/option><option value=\"Hesperange\"  >Hesperange<\/option><option value=\"Fentange\"  >Fentange<\/option><option value=\"Itzig\"  >Itzig<\/option><option value=\"Alzingen\"  >Alzingen<\/option><\/select><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-2' style='flex-basis: 20%;'><div class='ff-el-group'><div class='ff-el-input--content'><select name=\"dropdown_1\" id=\"ff_11_dropdown_1\" class=\"ff-el-form-control\" data-name=\"dropdown_1\" data-calc_value=\"0\" tabindex=\"2\"  aria-invalid=\"false\" aria-required=\"true\" aria-labelledby=\"label_ff_11_dropdown_1\"><option value=\"\">Property type<\/option><option value=\"House\"  >House<\/option><option value=\"Apartment\"  >Apartment<\/option><\/select><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-3' style='flex-basis: 20%;'><div class='ff-el-group'><div class='ff-el-input--content'><select name=\"dropdown_2\" id=\"ff_11_dropdown_2\" class=\"ff-el-form-control\" data-name=\"dropdown_2\" data-calc_value=\"0\" tabindex=\"3\"  aria-invalid=\"false\" aria-required=\"true\" aria-labelledby=\"label_ff_11_dropdown_2\"><option value=\"\">Budget<\/option><option value=\"&lt; 700.000 Euro\"  >< 700.000 Euro<\/option><option value=\"between 700.000-1.000.000 Euro\"  >between 700.000-1.000.000 Euro<\/option><option value=\"between 1.000.000-1.500.000 Euro\"  >between 1.000.000-1.500.000 Euro<\/option><option value=\"&gt;1.500.000 Euro\"  >>1.500.000 Euro<\/option><\/select><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-4' style='flex-basis: 20%;'><div class='ff-el-group'><div class='ff-el-input--content'><select name=\"dropdown_3\" id=\"ff_11_dropdown_3\" class=\"ff-el-form-control\" data-name=\"dropdown_3\" data-calc_value=\"0\" tabindex=\"4\"  aria-invalid=\"false\" aria-required=\"true\" aria-labelledby=\"label_ff_11_dropdown_3\"><option value=\"\">Bedrooms<\/option><option value=\"Studio\"  >Studio<\/option><option value=\"2\"  >2<\/option><option value=\"3\"  >3<\/option><option value=\"4\"  >4<\/option><option value=\"&gt;5\"  >>5<\/option><\/select><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-5' style='flex-basis: 20%;'><div class='ff-el-group'><div class='ff-el-input--content'><select name=\"dropdown_4\" id=\"ff_11_dropdown_4\" class=\"ff-el-form-control\" data-name=\"dropdown_4\" data-calc_value=\"0\" tabindex=\"5\"  aria-invalid=\"false\" aria-required=\"true\" aria-labelledby=\"label_ff_11_dropdown_4\"><option value=\"\">moving timeline<\/option><option value=\"Immediate (0-3 months)\"  >Immediate (0-3 months)<\/option><option value=\"Soon (3-6 months)\"  >Soon (3-6 months)<\/option><option value=\"Flexible (6-12 months)\"  >Flexible (6-12 months)<\/option><\/select><\/div><\/div><\/div><\/div><div data-name=\"ff_cn_id_2\"  class='ff-t-container ff-column-container ff_columns_total_5 '><div class='ff-t-cell ff-t-column-1' style='flex-basis: 20%;'><div class='ff-el-group'><div class='ff-el-input--content'><input type=\"text\" name=\"input_text_1\" class=\"ff-el-form-control\" placeholder=\"First name\" data-name=\"input_text_1\" tabindex=\"6\" id=\"ff_11_input_text_1\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-2' style='flex-basis: 20%;'><div class='ff-el-group'><div class='ff-el-input--content'><input type=\"text\" name=\"input_text\" class=\"ff-el-form-control\" placeholder=\"Last name\" data-name=\"input_text\" tabindex=\"7\" id=\"ff_11_input_text\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-3' style='flex-basis: 20%;'><div class='ff-el-group'><div class='ff-el-input--content'><input name=\"phone\" class=\"ff-el-form-control ff-el-phone ff_el_with_extended_validation\" type=\"tel\" placeholder=\"Mobile Number\" data-name=\"phone\" id=\"ff_11_phone\" tabindex=\"8\" inputmode=\"tel\"  aria-invalid='false' aria-required=true><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-4' style='flex-basis: 20%;'><div class='ff-el-group'><div class='ff-el-input--content'><input type=\"email\" name=\"email\" id=\"ff_11_email\" class=\"ff-el-form-control\" placeholder=\"Email Address\" data-name=\"email\" tabindex=\"9\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-5' style='flex-basis: 20%;'><div class='ff-el-group ff-text-center ff_submit_btn_wrapper ff_submit_btn_wrapper_custom'><button class=\"ff-btn ff-btn-submit ff-btn-md ff_btn_style wpf_has_custom_css\" type=\"submit\" name=\"custom_submit_button-11_1\" data-name=\"custom_submit_button-11_1\" tabindex=\"10\"  aria-label=\"search property\">search property<\/button><style>form.fluent_form_11 .wpf_has_custom_css.ff-btn-submit { background-color:rgba(255, 92, 11, 1);border-color:rgba(10, 10, 10, 1);color:#ffffff;border-radius:5px;min-width:100%; }form.fluent_form_11 .wpf_has_custom_css.ff-btn-submit:hover { background-color:#ffffff;border-color:rgba(13, 13, 13, 1);color:rgba(255, 92, 11, 1);min-width:100%; } <\/style><\/div><\/div><\/div><\/fieldset><\/form><div id='fluentform_11_errors' class='ff-errors-in-stack ff_form_instance_11_1 ff-form-loading_errors ff_form_instance_11_1_errors'><\/div><\/div>            <script type=\"text\/javascript\">\n                window.fluent_form_ff_form_instance_11_1 = {\"id\":\"11\",\"ajaxUrl\":\"https:\\\/\\\/zeas.immo\\\/wp-admin\\\/admin-ajax.php\",\"settings\":{\"layout\":{\"labelPlacement\":\"top\",\"asteriskPlacement\":\"asterisk-right\",\"helpMessagePlacement\":\"with_label\",\"errorMessagePlacement\":\"inline\",\"cssClassName\":\"\"},\"restrictions\":{\"denyEmptySubmission\":{\"enabled\":false}}},\"form_instance\":\"ff_form_instance_11_1\",\"form_id_selector\":\"fluentform_11\",\"rules\":{\"dropdown\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"dropdown_1\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"dropdown_2\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"dropdown_3\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"dropdown_4\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"input_text_1\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"input_text\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"phone\":{\"required\":{\"value\":true,\"global\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\"},\"valid_phone_number\":{\"value\":true,\"global\":true,\"message\":\"Phone number is not valid\",\"global_message\":\"Phone number is not valid\"}},\"email\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true},\"email\":{\"value\":true,\"message\":\"This field must contain a valid email\",\"global_message\":\"This field must contain a valid email\",\"global\":true}}},\"debounce_time\":300};\n                            <\/script>\n            <\/div>\n    <\/div>\n    <p class=\"drawer-footer-link\">\n      Want to read more first? <a href=\"https:\/\/zeas.immo\/en\/buy-property\/\">See the full buyer's page \u2192<\/a>\n    <\/p>\n  <\/div>\n<\/div>\n\n<div id=\"sell-drawer\" class=\"form-drawer\" aria-hidden=\"true\">\n  <div class=\"drawer-inner\">\n    <div class=\"drawer-hd\">\n      <div>\n        <p class=\"drawer-eyebrow\">Seller's enquiry \u00b7 Hesperange<\/p>\n        <h3 class=\"drawer-title\">Tell us about your property<\/h3>\n        <p class=\"drawer-sub\">We prepare a data-backed price assessment using notarial transaction records for your village \u2014 no exclusivity contract required to get started.<\/p>\n      <\/div>\n      <button class=\"drawer-close\" onclick=\"toggleDrawer('sell-drawer', null)\" aria-label=\"Close\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 6L6 18M6 6l12 12\"\/><\/svg>\n      <\/button>\n    <\/div>\n    <div class=\"drawer-form-wrap\">\n      <!-- WORDPRESS: replace with [fluentform id=\"9\"] -->\n      <div class=\"form-placeholder\"><div class='fluentform ff-default fluentform_wrapper_9 ffs_default_wrap'><form data-form_id=\"9\" id=\"fluentform_9\" class=\"frm-fluent-form fluent_form_9 ff-el-form-top ff_form_instance_9_2 ff-form-loading ffs_default\" data-form_instance=\"ff_form_instance_9_2\" method=\"POST\" ><fieldset  style=\"border: none!important;margin: 0!important;padding: 0!important;background-color: transparent!important;box-shadow: none!important;outline: none!important; min-inline-size: 100%;\">\n                    <legend class=\"ff_screen_reader_title\" style=\"display: block; margin: 0!important;padding: 0!important;height: 0!important;text-indent: -999999px;width: 0!important;overflow:hidden;\">Main page leads form<\/legend>        <div\n                style=\"display: none!important; position: absolute!important; transform: translateX(1000%)!important;\"\n                class=\"ff-el-group ff-hpsf-container\"\n        >\n            <div class=\"ff-el-input--label asterisk-right\">\n                <label for=\"ff_9_item_sf\" aria-label=\"Contact\">\n                    Contact                <\/label>\n            <\/div>\n            <div class=\"ff-el-input--content\">\n                <input type=\"text\"\n                       name=\"item_9__fluent_sf\"\n                       class=\"ff-el-form-control\"\n                       id=\"ff_9_item_sf\"\n                \/>\n            <\/div>\n        <\/div>\n        <input type='hidden' name='__fluent_form_embded_post_id' value='17232' \/><input type=\"hidden\" id=\"_fluentform_9_fluentformnonce\" name=\"_fluentform_9_fluentformnonce\" value=\"b0d6b420ec\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/17232\" \/><div data-name=\"ff_cn_id_1\"  class='ff-t-container ff-column-container ff_columns_total_4 '><div class='ff-t-cell ff-t-column-1' style='flex-basis: 20%;'><div class='ff-el-group'><div class='ff-el-input--content'><input type=\"text\" name=\"input_text\" class=\"ff-el-form-control\" placeholder=\"Your name\" data-name=\"input_text\" tabindex=\"11\" id=\"ff_9_2_input_text\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-2' style='flex-basis: 30%;'><div class='ff-el-group'><div class='ff-el-input--content'><input name=\"phone\" class=\"ff-el-form-control ff-el-phone ff_el_with_extended_validation\" type=\"tel\" placeholder=\"phone number\" data-name=\"phone\" id=\"ff_9_2_phone\" tabindex=\"12\" inputmode=\"tel\"  aria-invalid='false' aria-required=true><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-3' style='flex-basis: 25%;'><div class='ff-el-group'><div class='ff-el-input--content'><input type=\"email\" name=\"email\" id=\"ff_9_2_email\" class=\"ff-el-form-control\" placeholder=\"email address\" data-name=\"email\" tabindex=\"13\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><\/div><div class='ff-t-cell ff-t-column-4' style='flex-basis: 25%;'><div class='ff-el-group ff-text-left ff_submit_btn_wrapper ff_submit_btn_wrapper_custom'><button class=\"ff-btn ff-btn-submit ff-btn-md ff_btn_style wpf_has_custom_css\" type=\"submit\" name=\"custom_submit_button-9_1\" data-name=\"custom_submit_button-9_1\" tabindex=\"14\"  aria-label=\"Let&#039;s work on your sale\">Let's work on your sale<\/button><style>form.fluent_form_9 .wpf_has_custom_css.ff-btn-submit { background-color:rgba(251, 90, 26, 1);border-color:rgba(15, 15, 15, 1);color:#ffffff;min-width:100%; }form.fluent_form_9 .wpf_has_custom_css.ff-btn-submit:hover { background-color:#ffffff;border-color:rgba(9, 9, 9, 1);color:rgba(255, 92, 11, 1);min-width:100%; } <\/style><\/div><\/div><\/div><\/fieldset><\/form><div id='fluentform_9_errors' class='ff-errors-in-stack ff_form_instance_9_2 ff-form-loading_errors ff_form_instance_9_2_errors'><\/div><\/div>            <script type=\"text\/javascript\">\n                window.fluent_form_ff_form_instance_9_2 = {\"id\":\"9\",\"ajaxUrl\":\"https:\\\/\\\/zeas.immo\\\/wp-admin\\\/admin-ajax.php\",\"settings\":{\"layout\":{\"labelPlacement\":\"top\",\"asteriskPlacement\":\"asterisk-right\",\"helpMessagePlacement\":\"with_label\",\"errorMessagePlacement\":\"inline\",\"cssClassName\":\"\"},\"restrictions\":{\"denyEmptySubmission\":{\"enabled\":false}}},\"form_instance\":\"ff_form_instance_9_2\",\"form_id_selector\":\"fluentform_9\",\"rules\":{\"input_text\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true}},\"phone\":{\"required\":{\"value\":true,\"global\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\"},\"valid_phone_number\":{\"value\":true,\"global\":true,\"message\":\"Phone number is not valid\",\"global_message\":\"Phone number is not valid\"}},\"email\":{\"required\":{\"value\":true,\"message\":\"This field is required\",\"global_message\":\"This field is required\",\"global\":true},\"email\":{\"value\":true,\"message\":\"This field must contain a valid email\",\"global_message\":\"This field must contain a valid email\",\"global\":true}}},\"debounce_time\":300};\n                            <\/script>\n            <\/div>\n    <\/div>\n    <p class=\"drawer-footer-link\">\n      Want to read more first? <a href=\"https:\/\/zeas.immo\/en\/sell-property\/\">See the full seller's page \u2192<\/a>\n    <\/p>\n  <\/div>\n<\/div>\n\n<!-- MANDATE BANNER -->\n<div class=\"mandate\">\n  <div class=\"mitem\">\n    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"\/><\/svg>\n    We never represent buyers and sellers on the same deal\n  <\/div>\n  <div class=\"msep\"><\/div>\n  <div class=\"mitem\">\n    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"\/><\/svg>\n    No exclusivity contract required for sellers\n  <\/div>\n  <div class=\"msep\"><\/div>\n  <div class=\"mitem\">\n    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"\/><\/svg>\n    Buyers pay only a share of what we save them\n  <\/div>\n<\/div>\n\n<!-- PILLARS -->\n<section class=\"pillars-section\">\n  <div style=\"max-width:1240px;margin:0 auto;padding:0 60px;\">\n\n    <div class=\"pillars-intro\">\n      <h2 class=\"stitle ctr\" style=\"margin-bottom:12px\">What brings you to Hesperange?<\/h2>\n      <p>Whether you're buying, selling, or letting \u2014 the standard approach in Luxembourg probably hasn't worked in your favour.<br><strong>Here's what we do differently.<\/strong><\/p>\n    <\/div>\n\n    <div class=\"pillars-grid\">\n\n      <!-- BUYING -->\n      <div class=\"pillar-item\" id=\"pillar-buying\">\n        <button class=\"pillar-trigger\" onclick=\"togglePillar('buying')\">\n          <div class=\"pillar-left\">\n            <span class=\"pillar-tag\">Buying<\/span>\n            <div>\n              <div class=\"pillar-line-1\">You visited six properties. None of them were right.<\/div>\n              <div class=\"pillar-line-2\">Because the agent was selling their portfolio \u2014 not finding yours.<\/div>\n              <div class=\"pillar-line-3\">See how we search differently \u2192<\/div>\n            <\/div>\n          <\/div>\n          <div class=\"pillar-toggle\">\n            <svg class=\"pillar-toggle-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 5v14M5 12h14\"\/><\/svg>\n          <\/div>\n        <\/button>\n        <div class=\"pillars-expanded\" id=\"expand-buying\">\n          <div class=\"pillars-expanded-inner\">\n            <div class=\"pillar-proof\">\n              <span class=\"pillar-proof-label\">How we search<\/span>\n              <p>We work for your outcome \u2014 no listings portfolio, no inventory to push. We take on one property at a time, one mandate per zone, so that when we say your property is our obsession, we mean it. We source properties that match your criteria, including off-market options agents with portfolios never show you.<\/p>\n              <p>Our success fee is <strong>30% of what we negotiate off the asking price.<\/strong> If we don't achieve a saving, the success fee is zero. An engagement fee applies to start.*<\/p>\n              <div class=\"pillar-proof-stat\">\n                <span class=\"pstat-num\">30%<\/span>\n                <div>\n                  <span class=\"pstat-label\">of saving \u2014 our success fee.<br>No saving, no success fee.<\/span>\n                  <span class=\"pstat-note\">* Engagement fee applies. Full details on our fees page.<\/span>\n                <\/div>\n              <\/div>\n            <\/div>\n            <div class=\"pillar-cta-col\">\n              <a href=\"https:\/\/zeas.immo\/en\/buy-property\/\" class=\"pillar-cta-link\">\n                Read the buyer's guide\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n              <\/a>\n              <a href=\"https:\/\/zeas.immo\/en\/real-estate-agency-fees-in-hesperange\/\" class=\"pillar-secondary-link\">How our fees work \u2192<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- SELLING -->\n      <div class=\"pillar-item\" id=\"pillar-selling\">\n        <button class=\"pillar-trigger\" onclick=\"togglePillar('selling')\">\n          <div class=\"pillar-left\">\n            <span class=\"pillar-tag\">Selling<\/span>\n            <div>\n              <div class=\"pillar-line-1\">Overpriced to win your mandate. Then quietly reduced.<\/div>\n              <div class=\"pillar-line-2\">For them, any sale counts. For you, only yours does.<\/div>\n              <div class=\"pillar-line-3\">See why one mandate per village changes everything \u2192<\/div>\n            <\/div>\n          <\/div>\n          <div class=\"pillar-toggle\">\n            <svg class=\"pillar-toggle-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 5v14M5 12h14\"\/><\/svg>\n          <\/div>\n        <\/button>\n        <div class=\"pillars-expanded\" id=\"expand-selling\">\n          <div class=\"pillars-expanded-inner\">\n            <div class=\"pillar-proof\">\n              <span class=\"pillar-proof-label\">One mandate. Full attention.<\/span>\n              <p>We take one seller mandate per village at a time. When you list with us, we are not simultaneously representing three other sellers in your street. <strong>Your sale gets our full attention<\/strong> \u2014 not a share of it.<\/p>\n              <p>Multi-channel advertising, targeted campaigns, and guerrilla marketing strategies built around your property's strongest selling points. We go beyond the standard listing \u2014 we do everything and more to put your property in front of the right buyer.<\/p>\n              <div class=\"pillar-proof-stat\">\n                <span class=\"pstat-num\">1<\/span>\n                <div>\n                  <span class=\"pstat-label\">seller mandate per village.<br>Your listing, undivided.<\/span>\n                <\/div>\n              <\/div>\n            <\/div>\n            <div class=\"pillar-cta-col\">\n              <a href=\"https:\/\/zeas.immo\/en\/sell-property\/\" class=\"pillar-cta-link\">\n                Read the seller's guide\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n              <\/a>\n              <a href=\"https:\/\/zeas.immo\/en\/real-estate-agency-fees-in-hesperange\/\" class=\"pillar-secondary-link\">How our fees work \u2192<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- RENTING -->\n      <div class=\"pillar-item\" id=\"pillar-renting\">\n        <button class=\"pillar-trigger\" onclick=\"togglePillar('renting')\">\n          <div class=\"pillar-left\">\n            <span class=\"pillar-tag\">Renting<\/span>\n            <div>\n              <div class=\"pillar-line-1\">You found a tenant. Then the problems started.<\/div>\n              <div class=\"pillar-line-2\">Unverified income. No property record. No one to call.<\/div>\n              <div class=\"pillar-line-3\">See how we screen and protect you from day one \u2192<\/div>\n            <\/div>\n          <\/div>\n          <div class=\"pillar-toggle\">\n            <svg class=\"pillar-toggle-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 5v14M5 12h14\"\/><\/svg>\n          <\/div>\n        <\/button>\n        <div class=\"pillars-expanded\" id=\"expand-renting\">\n          <div class=\"pillars-expanded-inner\">\n            <div class=\"pillar-proof\">\n              <span class=\"pillar-proof-label\">Screened tenants. Protected property.<\/span>\n              <p>Every applicant is verified before you meet them \u2014 income, employment contract, and references. You only spend time on tenants who are genuinely qualified and serious about your property.<\/p>\n              <p>At handover we produce a <strong>full property condition record<\/strong> \u2014 photographs, inventory, and signed documentation. If a dispute arises at the end of the lease, you have evidence. Most landlords don't.<\/p>\n              <div class=\"pillar-proof-stat\">\n                <span class=\"pstat-num\">100%<\/span>\n                <div>\n                  <span class=\"pstat-label\">of applicants pre-screened<br>before you meet them.<\/span>\n                <\/div>\n              <\/div>\n            <\/div>\n            <div class=\"pillar-cta-col\">\n              <a href=\"https:\/\/zeas.immo\/en\/rent-out-property-in-hesperange\/\" class=\"pillar-cta-link\">\n                Read the rental guide\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n              <\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     eXp LISTINGS SECTION\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"exp-section\" id=\"exp-listings-section\">\n  <div class=\"exp-inner\">\n\n    <div class=\"exp-hd\">\n      <p class=\"exp-eyebrow\">eXp Realty Luxembourg<\/p>\n      <h2 class=\"exp-title\">Active listings \u2014 all agents<\/h2>\n      <a href=\"\/en\/exp-properties\/\" class=\"exp-see-all\">See all listings \u2192<\/a>\n    <\/div>\n\n    <div id=\"expFilterBar\"><\/div>\n    <div id=\"expCount\" class=\"exp-count\" style=\"display:none\"><\/div>\n\n    <div id=\"expState\">\n      <div class=\"exp-loading\"><div class=\"exp-spinner\"><\/div> Loading listings\u2026<\/div>\n    <\/div>\n    <div id=\"expGrid\" class=\"exp-grid\" style=\"display:none\"><\/div>\n\n    <div id=\"expSeeAllWrap\" style=\"display:none; text-align:center; margin-top:40px;\">\n      <a href=\"\/en\/exp-properties\/\" style=\"display:inline-flex;align-items:center;gap:10px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:0.03em;color:#111110;text-decoration:none;border:1.5px solid #e4e0da;padding:13px 36px;transition:border-color 200ms,color 200ms;\" onmouseover=\"this.style.borderColor='#FF5C0B';this.style.color='#FF5C0B'\" onmouseout=\"this.style.borderColor='#e4e0da';this.style.color='#111110'\">See all eXp properties &rarr;<\/a>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<!-- Property modal -->\n<div class=\"exp-overlay\" id=\"expOverlay\">\n  <div class=\"exp-modal\" id=\"expModal\">\n    <button class=\"exp-modal-close\" id=\"expModalClose\">\n      <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\">\n        <path d=\"M2 2l12 12M14 2L2 14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\n      <\/svg>\n    <\/button>\n    <div id=\"expModalBody\"><\/div>\n  <\/div>\n<\/div>\n\n<!-- Fullscreen lightbox -->\n<div class=\"exp-lightbox\" id=\"expLightbox\">\n  <button class=\"exp-lb-btn exp-lb-close\" id=\"expLbClose\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\"><path d=\"M2 2l12 12M14 2L2 14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg><\/button>\n  <button class=\"exp-lb-btn exp-lb-prev\" id=\"expLbPrev\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M15 18l-6-6 6-6\"\/><\/svg><\/button>\n  <img decoding=\"async\" class=\"exp-lightbox-img\" id=\"expLbImg\" src=\"\" alt=\"\">\n  <button class=\"exp-lb-btn exp-lb-next\" id=\"expLbNext\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/button>\n  <span class=\"exp-lb-ctr\" id=\"expLbCtr\"><\/span>\n<\/div>\n\n<!-- Enquiry modal -->\n<div class=\"exp-enq-overlay\" id=\"expEnqOverlay\">\n  <div class=\"exp-enq-modal\">\n    <button class=\"exp-enq-close\" id=\"expEnqClose\">\n      <svg width=\"12\" height=\"12\" viewBox=\"0 0 16 16\" fill=\"none\">\n        <path d=\"M2 2l12 12M14 2L2 14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\n      <\/svg>\n    <\/button>\n    <div id=\"expEnqBody\"><\/div>\n  <\/div>\n<\/div>\n\n<!-- MARKET DATA \u2014 VILLAGE GRID -->\n<section class=\"market\">\n  <div style=\"max-width:1240px;margin:0 auto;padding:0 60px;\">\n\n    <div class=\"sec-hd\">\n      <p class=\"eyebrow center\" style=\"white-space:nowrap\">Hesperange real estate \u00b7 Market data<\/p>\n      <h2 class=\"stitle ctr\" style=\"margin-bottom:8px\">What properties actually sell for in Hesperange commune<\/h2>\n      <p>Asking prices from public aggregators alongside notarial transaction averages from Observatoire de l'Habitat \u2014 the gap is where your negotiation starts.<\/p>\n    <\/div>\n\n    <div class=\"village-grid\">\n\n      <!-- HOWALD -->\n      <a href=\"https:\/\/zeas.immo\/en\/buy-property-in-howald\/\" class=\"vcard\">\n        <div class=\"vc-name\">Howald<\/div>\n        <span class=\"vc-asking\">~\u20ac10,264<sup>\/m\u00b2<\/sup><\/span>\n        <span class=\"vc-transacted\">sold ~\u20ac8,462<sup>\/m\u00b2<\/sup><\/span>\n        <div class=\"vc-gap\">\n          <span class=\"vc-gap-label\">Gap<\/span>\n          <span class=\"vc-gap-num\">~\u20ac1,802\/m\u00b2<\/span>\n        <\/div>\n        <div class=\"vc-link\">\n          Buy in Howald\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n        <\/div>\n      <\/a>\n\n      <!-- ALZINGEN -->\n      <a href=\"https:\/\/zeas.immo\/en\/buy-property-in-alzingen\/\" class=\"vcard\">\n        <div class=\"vc-name\">Alzingen<\/div>\n        <span class=\"vc-asking\">~\u20ac9,632<sup>\/m\u00b2<\/sup><\/span>\n        <span class=\"vc-transacted\">sold ~\u20ac8,462<sup>\/m\u00b2<\/sup><\/span>\n        <div class=\"vc-gap\">\n          <span class=\"vc-gap-label\">Gap<\/span>\n          <span class=\"vc-gap-num\">~\u20ac1,170\/m\u00b2<\/span>\n        <\/div>\n        <div class=\"vc-link\">\n          Buy in Alzingen\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n        <\/div>\n      <\/a>\n\n      <!-- ITZIG -->\n      <a href=\"https:\/\/zeas.immo\/en\/buy-property-in-itzig\/\" class=\"vcard\">\n        <div class=\"vc-name\">Itzig<\/div>\n        <span class=\"vc-asking\">~\u20ac9,042<sup>\/m\u00b2<\/sup><\/span>\n        <span class=\"vc-transacted\">sold ~\u20ac8,462<sup>\/m\u00b2<\/sup><\/span>\n        <div class=\"vc-gap\">\n          <span class=\"vc-gap-label\">Gap<\/span>\n          <span class=\"vc-gap-num\">~\u20ac580\/m\u00b2<\/span>\n        <\/div>\n        <div class=\"vc-link\">\n          Buy in Itzig\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n        <\/div>\n      <\/a>\n\n      <!-- FENTANGE -->\n      <a href=\"https:\/\/zeas.immo\/en\/buy-property-in-fentange\/\" class=\"vcard\">\n        <div class=\"vc-name\">Fentange<\/div>\n        <span class=\"vc-asking\">~\u20ac9,800<sup>\/m\u00b2<\/sup><\/span>\n        <span class=\"vc-transacted\">sold ~\u20ac8,462<sup>\/m\u00b2<\/sup><\/span>\n        <div class=\"vc-gap\">\n          <span class=\"vc-gap-label\">Gap<\/span>\n          <span class=\"vc-gap-num\">~\u20ac1,338\/m\u00b2<\/span>\n        <\/div>\n        <div class=\"vc-link\">\n          Buy in Fentange\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n        <\/div>\n      <\/a>\n\n      <!-- HESPERANGE VILLAGE -->\n      <a href=\"https:\/\/zeas.immo\/en\/buy-property-in-hesperange-village\/\" class=\"vcard\">\n        <div class=\"vc-name\">Hesperange village<\/div>\n        <span class=\"vc-asking\">~\u20ac8,755<sup>\/m\u00b2<\/sup><\/span>\n        <span class=\"vc-transacted\">sold ~\u20ac8,462<sup>\/m\u00b2<\/sup><\/span>\n        <div class=\"vc-gap\">\n          <span class=\"vc-gap-label\">Gap<\/span>\n          <span class=\"vc-gap-num\">~\u20ac293\/m\u00b2<\/span>\n        <\/div>\n        <div class=\"vc-link\">\n          Buy in Hesperange\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n        <\/div>\n      <\/a>\n\n    <\/div>\n\n    <p class=\"market-note\">\n      Asking price data: public real estate aggregators. Transaction data: Observatoire de l'Habitat (Oct 2024\u2013Sep 2025).\n      The transacted average shown is the commune-wide figure for existing apartments \u2014 village-level transaction data will be added as the article series is completed.\n      Asking prices are typically 8\u201312% above notarial transaction values.\n    <\/p>\n\n  <\/div>\n<\/section>\n\n\n<!-- REFERRAL -->\n<section class=\"referral\">\n  <div style=\"max-width:1240px;margin:0 auto;padding:40px 60px;\">\n    <div class=\"ref-inner\">\n      <div>\n        <p class=\"ref-eyebrow\">Referral programme<\/p>\n        <h2 class=\"ref-title\">Know someone buying or selling in Hesperange?<\/h2>\n        <p class=\"ref-sub\">Refer them to zeas.immo and earn a <strong><a href=\"https:\/\/zeas.immo\/en\/referral\/\">\u20ac1,000 reward<\/a><\/strong> when they complete their transaction.<\/p>\n      <\/div>\n      <div style=\"flex-shrink:0\">\n        <a href=\"https:\/\/zeas.immo\/en\/referral\/\" class=\"btn-ghost-dark\" style=\"white-space:nowrap\">Refer someone \u2192<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n\nfunction togglePillar(key) {\n  var keys = ['buying', 'selling', 'renting'];\n  keys.forEach(function(k) {\n    var item = document.getElementById('pillar-' + k);\n    var exp  = document.getElementById('expand-' + k);\n    if (k === key) {\n      var isOpen = item.classList.contains('open');\n      item.classList.toggle('open', !isOpen);\n      exp.classList.toggle('visible', !isOpen);\n    } else {\n      item.classList.remove('open');\n      exp.classList.remove('visible');\n    }\n  });\n}\n\nfunction toggleDrawer(id, triggerBtn) {\n  var drawer = document.getElementById(id);\n  var allDrawers = document.querySelectorAll('.form-drawer');\n  var allBtns = document.querySelectorAll('.hero .btn-primary, .hero .btn-outline');\n  var isOpen = drawer.classList.contains('open');\n  allDrawers.forEach(function(d) {\n    d.classList.remove('open');\n    d.setAttribute('aria-hidden', 'true');\n  });\n  allBtns.forEach(function(b) { b.classList.remove('active'); });\n  if (!isOpen) {\n    drawer.classList.add('open');\n    drawer.setAttribute('aria-hidden', 'false');\n    if (triggerBtn) triggerBtn.classList.add('active');\n    setTimeout(function() {\n      var top = drawer.getBoundingClientRect().top + window.pageYOffset - 80;\n      window.scrollTo({ top: top, behavior: 'smooth' });\n    }, 120);\n  }\n}\n\n\n\n(function () {\n  const PROXY     = 'https:\/\/zeas.immo\/zeas-proxy.php';\n  const PAGE_URL  = '\/en\/exp-properties\/';\n  const MAX_CARDS = 8;\n\n  let all      = [];\n  let filtered = [];\n  let activeType   = 'all';\n  let activeStatus = 'all';\n  let galImages = [];\n  let galIdx    = 0;\n\n  const $state    = document.getElementById('expState');\n  const $grid     = document.getElementById('expGrid');\n  const $count    = document.getElementById('expCount');\n  const $filterBar= document.getElementById('expFilterBar');\n  const $overlay  = document.getElementById('expOverlay');\n  const $modalBody= document.getElementById('expModalBody');\n  const $enqOvl   = document.getElementById('expEnqOverlay');\n  const $enqBody  = document.getElementById('expEnqBody');\n\n  \/* \u2500\u2500 Fetch \u2500\u2500 *\/\n  async function init() {\n    try {\n      const res = await fetch(PROXY + '?action=listings&page=1&limit=50');\n      if (!res.ok) throw new Error('HTTP ' + res.status);\n      const data = await res.json();\n      all = data.data || [];\n      buildFilters();\n      applyFilters();\n    } catch(e) {\n      $state.innerHTML = '<div class=\"exp-error\">Could not load listings (' + e.message + ')<\/div>';\n    }\n  }\n\n  \/* \u2500\u2500 Filters \u2500\u2500 *\/\n  function buildFilters() {\n    var types = ['all'].concat(\n      all.map(function(l){ return l.property_type; })\n         .filter(function(t,i,a){ return t && a.indexOf(t) === i; })\n    );\n\n    $filterBar.innerHTML =\n      '<div class=\"exp-filter-row\">' +\n        '<span class=\"exp-filter-label\">Transaction<\/span>' +\n        '<div class=\"exp-filters\" id=\"expStatusFilters\">' +\n          '<button class=\"exp-filter-btn active\" data-s=\"all\">All<\/button>' +\n          '<button class=\"exp-filter-btn\" data-s=\"1\">For sale<\/button>' +\n          '<button class=\"exp-filter-btn\" data-s=\"2\">For rent<\/button>' +\n        '<\/div>' +\n        '<span class=\"exp-filter-label\" style=\"margin-left:8px\">Type<\/span>' +\n        '<div class=\"exp-filters\" id=\"expTypeFilters\">' +\n          types.map(function(t){\n            return '<button class=\"exp-filter-btn' + (t==='all'?' active':'') + '\" data-t=\"' + t + '\">' + (t==='all'?'All':t) + '<\/button>';\n          }).join('') +\n        '<\/div>' +\n      '<\/div>';\n\n    document.getElementById('expStatusFilters').querySelectorAll('.exp-filter-btn').forEach(function(btn){\n      btn.addEventListener('click', function(){\n        document.getElementById('expStatusFilters').querySelectorAll('.exp-filter-btn').forEach(function(b){ b.classList.remove('active'); });\n        btn.classList.add('active');\n        activeStatus = btn.dataset.s;\n        applyFilters();\n      });\n    });\n    document.getElementById('expTypeFilters').querySelectorAll('.exp-filter-btn').forEach(function(btn){\n      btn.addEventListener('click', function(){\n        document.getElementById('expTypeFilters').querySelectorAll('.exp-filter-btn').forEach(function(b){ b.classList.remove('active'); });\n        btn.classList.add('active');\n        activeType = btn.dataset.t;\n        applyFilters();\n      });\n    });\n  }\n\n  function applyFilters() {\n    filtered = all.filter(function(l){\n      return (activeType   === 'all' || l.property_type === activeType) &&\n             (activeStatus === 'all' || l.listing_type  === activeStatus);\n    }).slice(0, MAX_CARDS);\n    renderGrid();\n  }\n\n  \/* \u2500\u2500 Grid \u2500\u2500 *\/\n  function renderGrid() {\n    $state.innerHTML = '';\n    if (!filtered.length) {\n      $grid.style.display = 'none';\n      $state.innerHTML = '<div class=\"exp-empty\">No listings match your filters.<\/div>';\n      $count.style.display = 'none';\n      return;\n    }\n    var total = all.filter(function(l){\n      return (activeType === 'all' || l.property_type === activeType) &&\n             (activeStatus === 'all' || l.listing_type === activeStatus);\n    }).length;\n    $count.innerHTML = 'Showing <strong>' + filtered.length + '<\/strong> of <strong>' + total + '<\/strong> listings';\n    $count.style.display = 'block';\n    $grid.innerHTML = filtered.map(cardHTML).join('');\n    $grid.style.display = 'grid';\n    document.getElementById('expSeeAllWrap').style.display = 'block';\n\n    $grid.querySelectorAll('.exp-card').forEach(function(card, i){\n      card.addEventListener('click', function(){ openPropertyModal(filtered[i]); });\n    });\n  }\n\n  \/* \u2500\u2500 Card \u2500\u2500 *\/\n  function cardHTML(l) {\n    var cover  = (l.images && l.images.find(function(i){ return i.is_front_cover; })) || (l.images && l.images[0]);\n    var img    = cover ? (cover.thumbnail_url || cover.url) : '';\n    var rental = l.listing_type === '2';\n    var price  = l.price ? l.price.toLocaleString('fr-LU') + ' \u20ac' : 'P.s.d.';\n\n    var specs = '';\n    if (l.bedrooms)    specs += '<span class=\"exp-spec\">' + si('bed')  + '<strong>' + l.bedrooms + '<\/strong>&nbsp;ch.<\/span>';\n    if (l.bathrooms)   specs += '<span class=\"exp-spec\">' + si('bath') + '<strong>' + l.bathrooms + '<\/strong>&nbsp;sdb.<\/span>';\n    if (l.square_feet) specs += '<span class=\"exp-spec\">' + si('sqm')  + '<strong>' + Math.round(l.square_feet) + '<\/strong>&nbsp;m\u00b2<\/span>';\n\n    return '<div class=\"exp-card\">' +\n      '<div class=\"exp-card-img\">' +\n        (img ? '<img decoding=\"async\" src=\"' + esc(img) + '\" alt=\"' + esc(l.title) + '\" loading=\"lazy\">' : '') +\n        '<span class=\"exp-card-badge' + (rental?' rental':'') + '\">' + (rental?'Location':'Vente') + '<\/span>' +\n        (l.property_type ? '<span class=\"exp-card-type\">' + esc(l.property_type) + '<\/span>' : '') +\n      '<\/div>' +\n      '<div class=\"exp-card-body\">' +\n        '<div class=\"exp-card-price\">' + price + (rental?' <span class=\"pm\">\/ mois<\/span>':'') + '<\/div>' +\n        '<div class=\"exp-card-title\">' + esc(l.title) + '<\/div>' +\n        '<div class=\"exp-card-city\">' + si('pin') + esc(l.city || l.address || '') + '<\/div>' +\n        (specs ? '<div class=\"exp-card-specs\">' + specs + '<\/div>' : '') +\n        '<div class=\"exp-card-contact\">' + si('mail') + 'Contact us for details<\/div>' +\n      '<\/div>' +\n    '<\/div>';\n  }\n\n  \/* \u2500\u2500 Property modal \u2500\u2500 *\/\n  function openPropertyModal(l) {\n    galImages = (l.images || []).map(function(i){ return i.url || i.original_url; }).filter(Boolean);\n    galIdx = 0;\n    var rental = l.listing_type === '2';\n    var price  = l.price ? l.price.toLocaleString('fr-LU') + ' \u20ac' : 'Prix sur demande';\n    var ec     = l.energy_efficiency_class;\n\n    var specs = '';\n    if (l.bedrooms)        specs += '<div class=\"exp-modal-spec\">' + si('bed','16')  + '<strong>' + l.bedrooms + '<\/strong> chambre' + (l.bedrooms>1?'s':'') + '<\/div>';\n    if (l.bathrooms)       specs += '<div class=\"exp-modal-spec\">' + si('bath','16') + '<strong>' + l.bathrooms + '<\/strong> sdb.<\/div>';\n    if (l.square_feet)     specs += '<div class=\"exp-modal-spec\">' + si('sqm','16')  + '<strong>' + Math.round(l.square_feet) + '<\/strong> m\u00b2 hab.<\/div>';\n    if (l.plot_size_sqm)   specs += '<div class=\"exp-modal-spec\">' + si('sqm','16')  + '<strong>' + Math.round(l.plot_size_sqm) + '<\/strong> m\u00b2 terrain<\/div>';\n    if (l.total_rooms)     specs += '<div class=\"exp-modal-spec\">' + si('rooms','16')+ '<strong>' + l.total_rooms + '<\/strong> pi\u00e8ces<\/div>';\n    if (l.construction_year) specs += '<div class=\"exp-modal-spec\">' + si('cal','16') + '<strong>' + l.construction_year + '<\/strong><\/div>';\n\n    var rawDesc = (l.description || '')\n      .replace(\/^[A-Z][A-Z ]+\\s*\\([^)]*\\+[\\d ]+\\)[^\\n]*\/gm, '')\n      .replace(\/\\+352[\\d .\\-]{6,}\/g, '')\n      .replace(\/^.*\\+\\d[\\d .\\-]{7,}.*$\/gm, '')\n      .replace(\/\\n{3,}\/g, '\\n\\n').trim();\n    var desc = rawDesc.substring(0, 900) + (rawDesc.length > 900 ? '\u2026' : '');\n\n    $modalBody.innerHTML =\n      '<div class=\"exp-modal-gallery\">' +\n        (galImages.length ? '<img decoding=\"async\" id=\"expGalImg\" src=\"' + esc(galImages[0]) + '\" alt=\"' + esc(l.title) + '\">' : '') +\n        (galImages.length > 1\n          ? '<button class=\"exp-gal-btn exp-gal-prev\" id=\"expGalPrev\">' + si('chevL') + '<\/button>' +\n            '<button class=\"exp-gal-btn exp-gal-next\" id=\"expGalNext\">' + si('chevR') + '<\/button>' +\n            '<span class=\"exp-gal-ctr\" id=\"expGalCtr\">1 \/ ' + galImages.length + '<\/span>'\n          : '') +\n      '<\/div>' +\n      '<div class=\"exp-modal-body\">' +\n        '<div class=\"exp-modal-top\">' +\n          '<div>' +\n            '<div class=\"exp-modal-title\">' + esc(l.title) + '<\/div>' +\n            '<div class=\"exp-modal-addr\">' + si('pin','13') + esc(l.address || l.city || '') + '<\/div>' +\n          '<\/div>' +\n          '<div style=\"text-align:right\">' +\n            '<div class=\"exp-modal-price\">' + price + (rental?' <span class=\"pm\">\/ mois<\/span>':'') + '<\/div>' +\n            (ec && ec.length <= 2 ? '<span class=\"exp-energy\" data-c=\"' + esc(ec) + '\">CPE ' + esc(ec) + '<\/span>' : '') +\n          '<\/div>' +\n        '<\/div>' +\n        (specs ? '<div class=\"exp-modal-specs\">' + specs + '<\/div>' : '') +\n        (desc  ? '<div class=\"exp-modal-desc\">'  + esc(desc)  + '<\/div>' : '') +\n        '<div class=\"exp-modal-footer\">' +\n          '<div class=\"exp-modal-footer-text\">Interested in this property?<span>Contact us and we\\'ll arrange everything on your behalf.<\/span><\/div>' +\n          '<button class=\"exp-cta-btn\" id=\"expModalEnqBtn\">' + si('mail','14') + ' Contact us<\/button>' +\n        '<\/div>' +\n      '<\/div>';\n\n    if (galImages.length > 1) {\n      document.getElementById('expGalPrev').addEventListener('click', function(){ galNav(-1); });\n      document.getElementById('expGalNext').addEventListener('click', function(){ galNav(1); });\n    }\n    var gi = document.getElementById('expGalImg');\n    if (gi) gi.addEventListener('click', function(){ openLB(galIdx); });\n    document.getElementById('expModalEnqBtn').addEventListener('click', function(){\n      closePropertyModal();\n      openEnquiry(l);\n    });\n\n    $overlay.classList.add('open');\n    document.body.style.overflow = 'hidden';\n  }\n\n  function galNav(dir) {\n    galIdx = (galIdx + dir + galImages.length) % galImages.length;\n    document.getElementById('expGalImg').src = galImages[galIdx];\n    document.getElementById('expGalCtr').textContent = (galIdx+1) + ' \/ ' + galImages.length;\n  }\n  function closePropertyModal() {\n    $overlay.classList.remove('open');\n    document.body.style.overflow = '';\n  }\n  document.getElementById('expModalClose').addEventListener('click', closePropertyModal);\n  $overlay.addEventListener('click', function(e){ if(e.target===$overlay) closePropertyModal(); });\n\n  \/* \u2500\u2500 Enquiry modal \u2500\u2500 *\/\n  function openEnquiry(l) {\n    var rental = l.listing_type === '2';\n    var price  = l.price ? l.price.toLocaleString('fr-LU') + ' \u20ac' + (rental?' \/ mois':'') : 'Price on request';\n    var ref    = l.source_id || l.id.substring(0,8).toUpperCase();\n    var msg    = 'Hello,\\n\\nI am interested in the following property:\\n\\n' +\n      l.title + '\\n' + (l.address || l.city || '') + '\\nPrice: ' + price + '\\nRef: ' + ref +\n      '\\n\\nCould you please provide more information and arrange a viewing?\\n\\nThank you.';\n\n    $enqBody.innerHTML =\n      '<div class=\"exp-enq-prop-ref\"><strong>' + esc(l.title) + '<\/strong>' + esc(l.address || l.city || '') + ' \u00b7 ' + price + '<\/div>' +\n      '<h3 class=\"exp-enq-title\">Request more information<\/h3>' +\n      '<p class=\"exp-enq-sub\">We\\'ll contact the listing agent on your behalf and get back to you within 24 hours.<\/p>' +\n      '<div class=\"exp-enq-row\">' +\n        '<div><label class=\"exp-enq-label\">First name<\/label><input class=\"exp-enq-field\" id=\"expEnqFirst\" type=\"text\" placeholder=\"First name\"><\/div>' +\n        '<div><label class=\"exp-enq-label\">Last name<\/label><input class=\"exp-enq-field\" id=\"expEnqLast\" type=\"text\" placeholder=\"Last name\"><\/div>' +\n      '<\/div>' +\n      '<label class=\"exp-enq-label\">Email<\/label><input class=\"exp-enq-field\" id=\"expEnqEmail\" type=\"email\" placeholder=\"your@email.com\">' +\n      '<label class=\"exp-enq-label\">Phone (optional)<\/label><input class=\"exp-enq-field\" id=\"expEnqPhone\" type=\"tel\" placeholder=\"+352 ...\">' +\n      '<label class=\"exp-enq-label\">Message<\/label>' +\n      '<textarea class=\"exp-enq-field exp-enq-textarea\" id=\"expEnqMsg\">' + msg + '<\/textarea>' +\n      '<button class=\"exp-enq-submit\" id=\"expEnqSend\">' + si('mail','15') + ' Send enquiry<\/button>' +\n      '<p class=\"exp-enq-note\">Your details are only used to respond to your enquiry and are never shared.<\/p>';\n\n    document.getElementById('expEnqSend').addEventListener('click', function(){\n      var first = document.getElementById('expEnqFirst').value.trim();\n      var email = document.getElementById('expEnqEmail').value.trim();\n      if (!first || !email) { alert('Please enter your first name and email.'); return; }\n      var btn = document.getElementById('expEnqSend');\n      btn.disabled = true; btn.textContent = 'Sending...';\n      var fd = new FormData();\n      fd.append('action',   'enquiry');\n      fd.append('name',     first + ' ' + document.getElementById('expEnqLast').value.trim());\n      fd.append('email',    email);\n      fd.append('phone',    document.getElementById('expEnqPhone').value.trim());\n      fd.append('message',  document.getElementById('expEnqMsg').value.trim());\n      fd.append('property', l.title || '');\n      fd.append('ref',      ref);\n      fd.append('price',    price);\n      fetch(PROXY, { method: 'POST', body: fd })\n        .then(function(r){ return r.json(); })\n        .then(function(res){\n          if (res.success) {\n            $enqBody.innerHTML =\n              '<div class=\"exp-enq-success\">' +\n                '<div class=\"exp-tick\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M5 13l4 4L19 7\"\/><\/svg><\/div>' +\n                '<h3>Enquiry sent!<\/h3>' +\n                '<p>Thank you \u2014 we\\'ll be in touch within 24 hours.<\/p>' +\n              '<\/div>';\n          } else {\n            btn.disabled = false; btn.textContent = 'Send enquiry';\n            alert(res.error || 'Something went wrong. Please email sales@zeas.immo directly.');\n          }\n        })\n        .catch(function(){\n          btn.disabled = false; btn.textContent = 'Send enquiry';\n          alert('Something went wrong. Please email sales@zeas.immo directly.');\n        });\n    });\n\n    $enqOvl.classList.add('open');\n    document.body.style.overflow = 'hidden';\n  }\n\n  function closeEnquiry() {\n    $enqOvl.classList.remove('open');\n    document.body.style.overflow = '';\n  }\n  document.getElementById('expEnqClose').addEventListener('click', closeEnquiry);\n  $enqOvl.addEventListener('click', function(e){ if(e.target===$enqOvl) closeEnquiry(); });\n\n  \/* \u2500\u2500 Lightbox \u2500\u2500 *\/\n  var $lb    = document.getElementById('expLightbox');\n  var $lbImg = document.getElementById('expLbImg');\n  var $lbCtr = document.getElementById('expLbCtr');\n  var lbIdx  = 0;\n  function openLB(idx) {\n    lbIdx = idx; $lbImg.src = galImages[lbIdx];\n    $lbCtr.textContent = (lbIdx+1)+' \/ '+galImages.length;\n    $lb.classList.add('open');\n  }\n  function lbNav(d) {\n    lbIdx = (lbIdx+d+galImages.length)%galImages.length;\n    $lbImg.src = galImages[lbIdx];\n    $lbCtr.textContent = (lbIdx+1)+' \/ '+galImages.length;\n  }\n  function closeLB() { $lb.classList.remove('open'); }\n  document.getElementById('expLbClose').addEventListener('click', closeLB);\n  document.getElementById('expLbPrev').addEventListener('click', function(){ lbNav(-1); });\n  document.getElementById('expLbNext').addEventListener('click', function(){ lbNav(1); });\n  $lb.addEventListener('click', function(e){ if(e.target===$lb||e.target===$lbImg) closeLB(); });\n\n  document.addEventListener('keydown', function(e){\n    if(e.key==='Escape'){closeLB();closePropertyModal();closeEnquiry();}\n    if(e.key==='ArrowLeft'&&$lb.classList.contains('open'))lbNav(-1);\n    if(e.key==='ArrowRight'&&$lb.classList.contains('open'))lbNav(1);\n  });\n\n  \/* \u2500\u2500 Icons \u2500\u2500 *\/\n  function si(name, size) {\n    size = size || '11';\n    var a = ' width=\"'+size+'\" height=\"'+size+'\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"';\n    var p = {\n      bed:   '<path d=\"M2 20V8a2 2 0 012-2h16a2 2 0 012 2v12\"\/><path d=\"M2 14h20\"\/><path d=\"M7 14V9\"\/>',\n      bath:  '<path d=\"M9 6a3 3 0 00-3 3v7h12V9\"\/><path d=\"M3 13h18v3a4 4 0 01-4 4H7a4 4 0 01-4-4v-3z\"\/>',\n      sqm:   '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"1\"\/><path d=\"M3 9h18M9 3v18\"\/>',\n      pin:   '<path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z\"\/>',\n      rooms: '<rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\"\/>',\n      cal:   '<rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><path d=\"M16 2v4M8 2v4M3 10h18\"\/>',\n      mail:  '<path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"\/><polyline points=\"22,6 12,13 2,6\"\/>',\n      chevL: '<path d=\"M15 18l-6-6 6-6\"\/>',\n      chevR: '<path d=\"M9 18l6-6-6-6\"\/>',\n    };\n    return '<svg' + a + '>' + (p[name]||'') + '<\/svg>';\n  }\n\n  function esc(s) {\n    return String(s||'').replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;').replace(\/'\/g,'&#39;');\n  }\n\n  init();\n})();\n\n<\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Zeas Immo \u2014 Hesperange Real Estate Hesperange Real Estate The Hesperange agent obsessedwith your outcome. Buy, sell, or rent in Howald, Alzingen, Itzig, Fentange, or Hesperange village \u2014 differently. A plan-driven search. A personalised marketing campaign. The right long-term tenant. I&#8217;m buying in Hesperange I&#8217;m selling my property 5+ Villages \u2014 Howald, Alzingen,Itzig, Fentange, Hesperange [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-17232","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/zeas.immo\/en\/wp-json\/wp\/v2\/pages\/17232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zeas.immo\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zeas.immo\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zeas.immo\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/zeas.immo\/en\/wp-json\/wp\/v2\/comments?post=17232"}],"version-history":[{"count":3,"href":"https:\/\/zeas.immo\/en\/wp-json\/wp\/v2\/pages\/17232\/revisions"}],"predecessor-version":[{"id":50294,"href":"https:\/\/zeas.immo\/en\/wp-json\/wp\/v2\/pages\/17232\/revisions\/50294"}],"wp:attachment":[{"href":"https:\/\/zeas.immo\/en\/wp-json\/wp\/v2\/media?parent=17232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}