{"id":16269,"date":"2026-05-13T09:48:40","date_gmt":"2026-05-13T09:48:40","guid":{"rendered":"https:\/\/boreal-plus.ro\/?page_id=16269"},"modified":"2026-09-16T13:17:41","modified_gmt":"2026-09-16T13:17:41","slug":"home-2026","status":"publish","type":"page","link":"https:\/\/boreal-plus.ro\/en\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"16269\" class=\"elementor elementor-16269\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e7ad909 e-con-full e-flex e-con e-parent\" data-id=\"e7ad909\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d46bf3a elementor-widget elementor-widget-html\" data-id=\"d46bf3a\" 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<!-- Resource hints: deschide conexiunile c\u0103tre CDN-uri \u00eenainte s\u0103 fie cerute efectiv -->\n<link rel=\"preconnect\" href=\"https:\/\/cdn.jsdelivr.net\" crossorigin>\n<link rel=\"dns-prefetch\" href=\"https:\/\/unpkg.com\">\n<link rel=\"dns-prefetch\" href=\"https:\/\/basemaps.cartocdn.com\">\n\n<!-- LCP: imaginea de hero e background CSS, deci browserul o descoper\u0103 t\u00e2rziu. Preload-ul\n     o pune \u00een coad\u0103 imediat, cu prioritate mare. -->\n<link rel=\"preload\" as=\"image\" fetchpriority=\"high\"\n      href=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/hero.jpg\"\n      imagesrcset=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/hero-768x519.jpg 768w,\n                   https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/hero-1024x692.jpg 1024w,\n                   https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/hero.jpg 2500w\"\n      imagesizes=\"100vw\">\n\n<!-- Swiper CSS \u2014 necesar pentru galeria foto -->\n<!-- Swiper CSS NU se mai incarca aici: era un stylesheet render-blocking pe o\n     conexiune noua catre cdn.jsdelivr.net, in calea critica, pentru o galerie\n     aflata mult sub prima vizualizare. Se incarca lazy din main.js, impreuna cu\n     libraria, cand galeria se apropie de viewport. -->\n\n\n<!-- Marcheaz\u0103 pagina ca av\u00e2nd JS activ, sincron, \u00ceNAINTE ca hero-ul s\u0103 fie parsat: st\u0103rile\n     ascunse (despre, cifre, CTA din style.css + tot ce poart\u0103 data-inv \/ .inv-hero-in de aici)\n     se aplic\u0103 doar sub .bp-anim, deci f\u0103r\u0103 JS pagina se vede \u00eentreag\u0103, f\u0103r\u0103 clipire. -->\n<script>document.documentElement.classList.add('bp-anim');<\/script>\n<!-- ============================================================\n     MOTORUL DE ANIMA\u021aII AL PAGINII (acela\u0219i ca pe Investi\u021bii \u2014 investitii.html)\n     Poarta e .bp-anim (pus\u0103 sincron de scriptul de mai sus). Sub ea stau st\u0103rile\n     ascunse; f\u0103r\u0103 JS nu se ascunde nimic. Intr\u0103rile sunt @keyframes cu fill-mode\n     \u201ebackwards\": dup\u0103 ce se termin\u0103, elementul revine la stilul lui normal, deci\n     hover-urile cu transform (carduri, poze) func\u021bioneaz\u0103 \u00een continuare.\n     Sec\u021biunile care aveau deja intr\u0103ri \u00een style.css (despre, banda de cifre, CTA A\/B,\n     contact) NU sunt etichetate cu data-inv \u2014 ar fi dou\u0103 anima\u021bii pe acela\u0219i element.\n     ============================================================ -->\n<style>\n:root { --inv-ease: cubic-bezier(0.19, 1, 0.22, 1); --inv-pop: cubic-bezier(0.34, 1.4, 0.64, 1); }\n@keyframes inv-up    { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: none; } }\n@keyframes inv-left  { from { opacity: 0; transform: translateX(-40px); } to { opacity: 1; transform: none; } }\n@keyframes inv-right { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: none; } }\n@keyframes inv-scale { from { opacity: 0; transform: scale(0.94); } to { opacity: 1; transform: none; } }\n@keyframes inv-clip  { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 0 0 0); } }\n@keyframes inv-clip-x { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }\n@keyframes inv-settle { from { transform: scale(1.08); } to { transform: scale(1); } }\n\n\/* decalaje de stagger prin data-i (nu style=\"--i\") *\/\n[data-i=\"1\"] { --i: 1; } [data-i=\"2\"] { --i: 2; } [data-i=\"3\"] { --i: 3; } [data-i=\"4\"] { --i: 4; }\n[data-i=\"5\"] { --i: 5; } [data-i=\"6\"] { --i: 6; } [data-i=\"7\"] { --i: 7; } [data-i=\"8\"] { --i: 8; }\n[data-i=\"9\"] { --i: 9; } [data-i=\"10\"] { --i: 10; } [data-i=\"11\"] { --i: 11; } [data-i=\"12\"] { --i: 12; }\n\n\/* st\u0103ri ascunse p\u00e2n\u0103 la .is-in *\/\n.bp-anim [data-inv]:not(.is-in) { opacity: 0; }\n.bp-anim [data-inv=\"clip\"]:not(.is-in) { opacity: 1; clip-path: inset(100% 0 0 0); }\n.bp-anim [data-inv=\"clip-x\"]:not(.is-in) { opacity: 1; clip-path: inset(0 100% 0 0); }\n\n\/* intr\u0103ri *\/\n.bp-anim [data-inv].is-in { animation: inv-up 1.1s var(--inv-ease) backwards; animation-delay: calc(var(--i, 0) * 0.1s); }\n.bp-anim [data-inv=\"left\"].is-in  { animation-name: inv-left; }\n.bp-anim [data-inv=\"right\"].is-in { animation-name: inv-right; }\n.bp-anim [data-inv=\"scale\"].is-in { animation-name: inv-scale; animation-timing-function: var(--inv-pop); }\n.bp-anim [data-inv=\"clip\"].is-in  { animation-name: inv-clip; animation-duration: 1.3s; }\n.bp-anim [data-inv=\"clip-x\"].is-in { animation-name: inv-clip-x; animation-duration: 1.3s; }\n\/* pozele dezvelite prin clip se a\u0219az\u0103 din u\u0219or m\u0103rit *\/\n.bp-anim [data-inv=\"clip\"].is-in img, .bp-anim [data-inv=\"clip-x\"].is-in img { animation: inv-settle 1.8s var(--inv-ease) backwards; }\n.bp-anim [data-inv=\"clip\"], .bp-anim [data-inv=\"clip-x\"] { overflow: hidden; } \/* poza m\u0103rit\u0103 nu iese din cadru c\u00e2t se a\u0219az\u0103 *\/\n\n\/* ---- Hero: intrare la \u00eenc\u0103rcare, nu la scroll; poza se a\u0219az\u0103 din u\u0219or m\u0103rit ---- *\/\n.bp-anim .inv-hero-in { animation: inv-up 1.2s var(--inv-ease) backwards; animation-delay: calc(0.35s + var(--i, 0) * 0.14s); }\n\/* .hero-subtitle are opacity: 1 !important \u00een style.css, iar !important bate orice anima\u021bie \u2014\n   pentru el intrarea e prin masc\u0103 (clip-path), nu prin opacitate *\/\n@keyframes inv-rise-mask { from { clip-path: inset(100% 0 0 0); transform: translateY(26px); } to { clip-path: inset(-10% -4%); transform: none; } }\n.bp-anim .hero-subtitle.inv-hero-in { animation-name: inv-rise-mask; }\n.bp-anim .hero-bg img { animation: inv-settle 3s var(--inv-ease) backwards; }\n\/* parallax discret: con\u021binutul coboar\u0103 mai \u00eencet dec\u00e2t scroll-ul (JS seteaz\u0103 --inv-py doar pe desktop) *\/\n.hero-content { transform: translateY(var(--inv-py, 0px)); will-change: transform; }\n\n\/* ---- Cifre care num\u0103r\u0103: l\u0103\u021bimi stabile ---- *\/\n.stat-minimal-number, .perf-value { font-variant-numeric: tabular-nums; }\n\n\/* ---- Micro-interac\u021biuni la hover ---- *\/\n.despre-cta svg, .cta-band-btn svg, .cta-box-btn svg, .loc-map-link svg { transition: transform 0.45s var(--inv-ease); }\n.despre-cta:hover svg, .cta-band-btn:hover svg, .cta-box-btn:hover svg, .loc-map-link:hover svg { transform: translateX(5px); }\n.benefit-icon-wrapper, .fac-icon-modern, .service-icon-box, .perf-icon { transition: transform 0.5s var(--inv-pop), box-shadow 0.4s ease, background 0.4s ease, color 0.4s ease; }\n.benefit-item:hover .benefit-icon-wrapper, .fac-item-modern:hover .fac-icon-modern, .premium-service-card:hover .service-icon-box, .performance-card:hover .perf-icon { transform: scale(1.08); }\n\/* sclipire diagonal\u0103 care traverseaz\u0103 cardurile de apartamente la hover *\/\n.apt-card::after { content: \"\"; position: absolute; z-index: 3; top: -20%; bottom: -20%; left: -40%; width: 30%; background: linear-gradient(105deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.45) 50%, rgba(255, 255, 255, 0) 100%); transform: skewX(-18deg); pointer-events: none; opacity: 0; }\n.apt-card:hover::after { animation: inv-shine 1.1s var(--inv-ease) forwards; }\n@keyframes inv-shine { 0% { opacity: 0; transform: skewX(-18deg) translateX(0); } 15% { opacity: 1; } 100% { opacity: 0; transform: skewX(-18deg) translateX(520%); } }\n\n\/* ---- F\u0103r\u0103 mi\u0219care pentru cine a cerut asta \u00een sistem ---- *\/\n@media (prefers-reduced-motion: reduce) {\n    .bp-anim [data-inv]:not(.is-in), .bp-anim [data-inv=\"clip\"]:not(.is-in), .bp-anim [data-inv=\"clip-x\"]:not(.is-in) { opacity: 1; transform: none; clip-path: none; }\n    .bp-anim [data-inv].is-in, .bp-anim [data-inv].is-in img, .bp-anim .inv-hero-in, .bp-anim .hero-bg img { animation: none !important; }\n    .hero-content { transform: none !important; }\n    .apt-card::after { display: none; }\n}\n<\/style>\n\n<!-- 1. HERO -->\n<section class=\"hero\" id=\"hero\">\n    <div class=\"hero-bg\">\n        <!-- LCP. Era background CSS: orice telefon descarca originalul de 2500px\n             (718 KB) si niciun plugin de WebP nu putea atinge un background.\n             Ca <img> cu srcset, mobilul ia hero-768x519.jpg (74 KB), iar EWWW il\n             poate converti automat in WebP. alt gol: e decorativ, textul e separat. -->\n        <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/hero.jpg\"\n             srcset=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/hero-768x519.jpg 768w,\n                     https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/hero-1024x692.jpg 1024w,\n                     https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/hero.jpg 2500w\"\n             sizes=\"100vw\" alt=\"\" fetchpriority=\"high\" decoding=\"async\">\n    <\/div>\n    <div class=\"hero-overlay\"><\/div>\n    <div class=\"hero-content\">\n        <p class=\"hero-subtitle inv-hero-in\" data-i=\"0\">Un cartier de viitor \u00een Constan\u021ba<\/p>\n        <div class=\"inv-hero-in\" data-i=\"1\" style=\"display: flex; gap: 16px; flex-wrap: wrap; justify-content: center;\">\n            <a href=\"\/apartamente-noi-de-vanzare\" class=\"btn btn-outline hero-btn\">Vezi oferta lunii<\/a>\n            <a href=\"#apartamente\" class=\"btn btn-outline hero-btn\">Vezi apartamentele<\/a>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<!-- 2. DESPRE -->\n<!-- Marcheaz\u0103 pagina ca av\u00e2nd JS activ, sincron, \u00ceNAINTE ca sec\u021biunea de mai jos s\u0103\n     fie parsat\u0103. CSS-ul aplic\u0103 starea ascuns\u0103 de start doar sub .bp-anim, deci:\n     - cu JS: poza \u0219i textul pornesc ascunse \u0219i intr\u0103 lin la scroll, f\u0103r\u0103 clipire;\n     - f\u0103r\u0103 JS (snippet dezactivat, eroare): clasa nu apare, nimic nu e ascuns,\n       sec\u021biunea se vede \u00eentreag\u0103. -->\n<!-- Poarta .bp-anim e pus\u0103 acum \u00ceNAINTEA hero-ului (vezi sus), ca \u0219i hero-ul s\u0103 poat\u0103 porni ascuns. -->\n<section class=\"despre\" id=\"despre\">\n<div class=\"container\">\n<div class=\"despre-grid\">\n<div class=\"despre-image reveal\">\n<div class=\"despre-image-inner\">\n<img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/povesta-boreal.jpg\" alt=\"Povestea BOREAL Plus\" loading=\"lazy\" decoding=\"async\">\n<\/div>\n<\/div>\n<div class=\"despre-text reveal\">\n<span class=\"section-label\">Despre Proiect<\/span>\n<h2 class=\"section-title\"><span class=\"title-accent\">Povestea<\/span> BOREAL Plus Constan\u021ba<\/h2>\n<!-- .despre-beats deseneaz\u0103 firul vertical + p\u0103tr\u0103\u021belele din dreptul fiec\u0103rui paragraf.\n     Marcajele sunt pseudo-elemente, ca s\u0103 nu ad\u0103ug\u0103m noduri DOM. -->\n<div class=\"despre-beats\">\n<p class=\"section-desc\"><strong>BOREAL Plus<\/strong> continu\u0103 povestea Boreal \u00een Constan\u021ba, primul ansamblu reziden\u021bial construit \u00een ora\u0219 dup\u0103 1989, \u0219i aduce o viziune actual\u0103 asupra locuirii: mai mult spa\u021biu, mai mult confort \u0219i facilit\u0103\u021bi integrate pentru via\u021ba de zi cu zi. Ansamblul este dezvoltat de IMPACT, dezvoltator listat la Bursa de Valori Bucure\u0219ti, cu experien\u021b\u0103 la nivel na\u021bional.<\/p>\n<p class=\"section-desc\">Cartierul include locuin\u021be moderne, spa\u021bii verzi, locuri de parcare, spa\u021bii comerciale, hipermarket \u00een apropiere, iar alte facilit\u0103\u021bi precum parc \u0219i gr\u0103dini\u021b\u0103 privat\u0103 se vor ad\u0103uga pe m\u0103sur\u0103 ce complexul se va extinde. P\u00e2n\u0103 acum, Boreal Plus a livrat 209 apartamente \u0219i 18 case, iar noua etap\u0103 aduce 134 de apartamente \u00een dou\u0103 cl\u0103diri moderne, cu 8 \u0219i 11 etaje.<\/p>\n<p class=\"section-desc\">Noul Boreal Plus propune garsoniere, apartamente cu 2 camere \u0219i apartamente cu 3 camere, cu suprafe\u021be generoase, lumin\u0103 natural\u0103, terase sau gr\u0103dini proprii la parter \u0219i priveli\u0219ti c\u0103tre Lacul Siutghiol \u0219i Marea Neagr\u0103. Este un cartier g\u00e2ndit pentru familii care caut\u0103 o locuin\u021b\u0103 nou\u0103, bine conectat\u0103, \u00eentr o zon\u0103 lini\u0219tit\u0103 a Constan\u021bei.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<!-- Butonul st\u0103 sub ambele coloane, nu \u00een coloana de text: astfel coloana de text\n     se termin\u0103 cu ultimul paragraf, iar firul \u0219i chenarul pozei se pot alinia. -->\n<div class=\"despre-cta-row reveal\">\n<a href=\"#apartamente\" class=\"btn btn-line despre-cta\">Descoper\u0103 Apartamentele\n<svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M5 12h14\"><\/path><path d=\"M13 6l6 6-6 6\"><\/path><\/svg>\n<\/a>\n<\/div>\n<\/div>\n<\/section>\n\n\n<!-- 3. STATS BOREAL -->\n<!-- Stilurile au fost mutate \u00een style.css (sec\u021biunea STATS BAND), ca restul sitului.\n     F\u0103r\u0103 numerotare 01\u201304 \u0219i f\u0103r\u0103 iconi\u021be: banda e pur tipografic\u0103, desp\u0103r\u021bit\u0103 de fire. -->\n<section class=\"project-stats\" id=\"stats\">\n<div class=\"container\">\n\n<div class=\"stats-eyebrow reveal\">\n<span class=\"stats-eyebrow-text\">Boreal Plus \u00een cifre<\/span>\n<span class=\"stats-eyebrow-line\"><\/span>\n<\/div>\n\n<div class=\"stats-minimal\">\n<div class=\"stat-minimal-item reveal\">\n<span class=\"stat-minimal-number\"><span data-inv-count=\"209\">209<\/span><\/span>\n<span class=\"stat-minimal-label\">Apartamente<br>finalizate<\/span>\n<\/div>\n<div class=\"stat-minimal-item reveal\">\n<span class=\"stat-minimal-number\"><span data-inv-count=\"134\">134<\/span><\/span>\n<span class=\"stat-minimal-label\">Apartamente<br>\u00een construc\u021bie<\/span>\n<\/div>\n<div class=\"stat-minimal-item reveal\">\n<span class=\"stat-minimal-number\"><span data-inv-count=\"15\">15<\/span> <span class=\"stat-unit\">min<\/span><\/span>\n<span class=\"stat-minimal-label\">P\u00e2n\u0103 la<br>plaja Mamaia<\/span>\n<\/div>\n<div class=\"stat-minimal-item reveal\">\n<span class=\"stat-minimal-number\"><span data-inv-count=\"5\">5<\/span> <span class=\"stat-unit\">min<\/span><\/span>\n<span class=\"stat-minimal-label\">P\u00e2n\u0103 la<br>autostrada A4<\/span>\n<\/div>\n<\/div>\n\n<\/div>\n<\/section>\n\n\n\n<!-- 6. LOCA\u021aIE -->\n<!-- Structura designului: antet pe dou\u0103 coloane (text + tabel de repere), apoi harta\n     \u00een locul fotografiei panoramice, apoi trei coloane de puncte de interes. -->\n<section class=\"locatie locatie-v2\" id=\"locatie\">\n<div class=\"container\">\n\n<div class=\"loc-top\">\n<div class=\"loc-intro reveal\" data-inv>\n<span class=\"section-label\">Loca\u021bie<\/span>\n<h2 class=\"section-title\">Strada Amsterdam 5,<br><span class=\"title-accent\">\u00een inima<\/span> Constan\u021bei noi<\/h2>\n<p class=\"section-desc\">Complexul reziden\u021bial BOREAL Plus se bucur\u0103 de o loca\u021bie foarte bun\u0103 \u00een Constan\u021ba, oferind reziden\u021bilor s\u0103i acces direct la facilit\u0103\u021bi esen\u021biale, dar \u0219i un mediu de via\u021b\u0103 modern, sustenabil \u0219i conectat. Dezvoltat de IMPACT Developer &amp; Contractor, BOREAL Plus este un exemplu de dezvoltare reziden\u021bial\u0103 care se integreaz\u0103 armonios \u00een strategia de extindere urban\u0103 a Constan\u021bei.<\/p>\n<a href=\"https:\/\/maps.app.goo.gl\/wq9xR9cUskx9Qi9i6\" target=\"_blank\" rel=\"noopener\" class=\"loc-map-link\">Deschide harta\n<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M5 12h14\"><\/path><path d=\"M13 6l6 6-6 6\"><\/path><\/svg>\n<\/a>\n<\/div>\n\n<div class=\"loc-table reveal\" data-inv=\"right\" data-i=\"1\">\n<div class=\"loc-row\"><span class=\"loc-row-val\">acces direct<\/span><span class=\"loc-row-lbl\">Bulevardul Tomis<\/span><\/div>\n<div class=\"loc-row\"><span class=\"loc-row-val\">5 min<\/span><span class=\"loc-row-lbl\">Autostrada A4<\/span><\/div>\n<div class=\"loc-row\"><span class=\"loc-row-val\">5 min<\/span><span class=\"loc-row-lbl\">Campus universitar<\/span><\/div>\n<div class=\"loc-row\"><span class=\"loc-row-val\">15 min<\/span><span class=\"loc-row-lbl\">Centrul ora\u0219ului<\/span><\/div>\n<div class=\"loc-row\"><span class=\"loc-row-val\">15 min<\/span><span class=\"loc-row-lbl\">Plaja Mamaia<\/span><\/div>\n<div class=\"loc-row\"><span class=\"loc-row-val\">15 min<\/span><span class=\"loc-row-lbl\">Autostrada A2<\/span><\/div>\n<\/div>\n<\/div>\n\n<\/div>\n\n<!-- BOREAL PLUS - Interactive Branded Map Module -->\n<!-- CSS-ul MapLibre nu mai e \u00eenc\u0103rcat aici: vine odat\u0103 cu libr\u0103ria, lazy, c\u00e2nd harta\n     se apropie de viewport (vezi loadMapLibre() mai jos). -->\n<style>\n    \/* Harta ia locul fotografiei panoramice din design (acolo 340px). 650px facea\n       sectiunea inutil de inalta; spatierea o da .loc-map-wrap, nu margin-ul de aici. *\/\n    #bp-map-branded {\n        width: 100%; height: clamp(490px, 42vw, 610px);\n        position: relative; border-radius: 12px;\n        overflow: hidden; background: linear-gradient(180deg,#f7f7f7,#eef2f4);\n        margin-top: 0; box-shadow: 0 18px 40px rgba(0,0,0,0.08);\n    }\n    \/* Overlay click-to-interact \u2014 \u00eempiedic\u0103 zoom-ul accidental la scroll pe desktop *\/\n    .bp-map-gate {\n        position: absolute; inset: 0; z-index: 20;\n        display: flex; align-items: center; justify-content: center;\n        cursor: pointer;\n        background: rgba(0,45,61,0.04);\n        transition: opacity 0.3s ease;\n    }\n    .bp-map-gate span {\n        background: rgba(0,45,61,0.86);\n        color: #fff;\n        font-family: 'Inter', sans-serif;\n        font-size: 0.95rem; font-weight: 600;\n        letter-spacing: 0.3px;\n        padding: 12px 22px; border-radius: 100px;\n        box-shadow: 0 8px 24px rgba(0,0,0,0.25);\n        pointer-events: none;\n    }\n    .bp-map-gate.is-hidden { opacity: 0; pointer-events: none; }\n    .bp-card {\n        position: absolute; top: 24px; left: 24px; z-index: 12;\n        background: rgba(255,255,255,0.96);\n        padding: 18px 20px; border-radius: 12px;\n        border: 1px solid rgba(180,144,121,0.22);\n        max-width: 320px; color: var(--primary-dark);\n        box-shadow: 0 16px 36px rgba(0,0,0,0.08);\n        cursor: pointer;\n    }\n    .bp-card h3 { \n        margin: 0 0 6px 0; color: #B49079; \n        font-family: 'Outfit', sans-serif; font-size: 1.05rem; \n        letter-spacing: 1.6px; text-transform: uppercase; font-weight:700;\n    }\n    .bp-card p { \n        margin: 0; color: var(--text-body, #556); font-size: 0.92rem; \n        line-height: 1.5; opacity: 0.95;\n    }\n\n    .bp-signature-pin {\n        width: 68px; height: 68px;\n        background: linear-gradient(180deg,#002d3d,#00414f);\n        border: 3px solid #B49079;\n        border-radius: 50%;\n        display: flex; align-items: center; justify-content: center;\n        box-shadow: 0 6px 30px rgba(180,144,121,0.18);\n        position: absolute;\n    }\n    .bp-signature-pin::after {\n        content: '';\n        position: absolute; bottom: -12px; left: 50%;\n        transform: translateX(-50%);\n        border-left: 8px solid transparent;\n        border-right: 8px solid transparent;\n        border-top: 12px solid #B49079;\n    }\n    .bp-signature-pin img { width: 56px; height: auto; }\n    .bp-signature-pin { cursor: pointer }\n\n    \/* POI marker: shrink-to-fit label box *\/\n    .poi-marker {\n        display: inline-flex; align-items: center; gap: 8px;\n        padding: 4px 10px; border-radius: 999px;\n        background: #002d3d; color: #fff;\n        font-weight: 700; font-size: 12px; letter-spacing: .4px; text-transform: uppercase;\n        white-space: nowrap; border: 2px solid rgba(180,144,121,0.18);\n        box-shadow: 0 8px 20px rgba(0,0,0,0.15);\n        cursor: pointer; position: absolute; line-height: 1;\n    }\n    .poi-mini { width: 8px; height: 8px; border-radius: 50%; background: #B49079; flex: none; }\n    .poi-label { display: inline-block; vertical-align: middle; }\n    .poi-marker::after {\n        content: '';\n        position: absolute; left: 50%; transform: translateX(-50%);\n        bottom: -7px; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 7px solid #002d3d;\n    }\n    .poi-marker.pulse::before {\n        content: '';\n        position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);\n        width: 26px; height: 26px; border-radius: 50%; background: rgba(180,144,121,0.12); z-index: -1; animation: pulse 1.6s infinite;\n    }\n    @keyframes pulse { 0% { transform: scale(0.85); opacity: 0.8 } 70% { transform: scale(1.8); opacity: 0 } 100% { opacity:0 } }\n\n    .bp-popup .bp-popup-title { font-weight:700; color:var(--primary-dark); margin-bottom:6px }\n    .bp-popup a { color: #B49079; font-weight:600; text-decoration: none }\n\n    \/* Pe telefon cardul de 320px acoperea aproape toata harta (acum 340px inalta).\n       Adresa e deja in titlul sectiunii, iar linkul \"Deschide harta\" duce in acelasi\n       loc ca si click-ul pe card, deci nu se pierde nimic ascunzandu-l. *\/\n    @media (max-width: 768px) {\n        .bp-card { display: none; }\n    }\n<\/style>\n\n<div class=\"loc-map-wrap reveal\" data-inv>\n<div id=\"bp-map-branded\">\n    <div class=\"bp-card\">\n        <h3>BOREAL PLUS<\/h3>\n        <p>Strada Amsterdam Nr. 5,<br>Bloc M1, Constan\u021ba<\/p>\n    <\/div>\n<\/div>\n<\/div>\n\n<div class=\"container\">\n<div class=\"loc-poi\">\n<div class=\"loc-poi-item reveal\" data-inv data-i=\"1\">\n<span class=\"loc-poi-title\">Centre comerciale<\/span>\n<span class=\"loc-poi-desc\">Supermarket Kaufland \u00een complex, TOM, VIVO, Carrefour, Mega Image, Penny Market \u0219i Auchan sunt situate la doar c\u00e2teva minute distan\u021b\u0103, oferind reziden\u021bilor acces rapid la toate nevoile zilnice.<\/span>\n<\/div>\n<div class=\"loc-poi-item reveal\" data-inv data-i=\"2\">\n<span class=\"loc-poi-title\">Unit\u0103\u021bi educa\u021bionale<\/span>\n<span class=\"loc-poi-desc\">Proximitatea gr\u0103dini\u021belor, \u0219colilor \u0219i liceelor de top asigur\u0103 un parcurs educa\u021bional f\u0103r\u0103 griji pentru familii.<\/span>\n<\/div>\n<div class=\"loc-poi-item reveal\" data-inv data-i=\"3\">\n<span class=\"loc-poi-title\">Unit\u0103\u021bi medicale<\/span>\n<span class=\"loc-poi-desc\">Spitalele \u0219i centrele medicale din apropiere ofer\u0103 reziden\u021bilor confortul \u0219i siguran\u021ba necesare.<\/span>\n<\/div>\n<\/div>\n\n<\/div>\n\n<!-- ATEN\u021aIE: versiune fixat\u0103. maplibre-gl v6 a eliminat build-ul UMD (dist\/maplibre-gl.js\n     nu mai exist\u0103), deci \"@latest\" d\u0103 404 \u0219i harta nu se mai \u00eencarc\u0103 deloc.\n     Nu trece pe @latest \/ v6 f\u0103r\u0103 a rescrie scriptul de mai jos ca modul ES. -->\n<!-- maplibre-gl NU se mai \u00eencarc\u0103 sincron aici (\u2248275 KB JS + 10 KB CSS + tile-urile Carto,\n     toate \u00een calea critic\u0103 a paginii). Se \u00eencarc\u0103 lazy, la primul scroll spre hart\u0103. -->\n<script>\n(function(){\n    const POIS = [\n        { name: 'Kaufland', cat: 'shop', coord: [28.592950110869364,44.2240831201089], url: 'https:\/\/maps.app.goo.gl\/wHwo1bQg2Spxgqds8' },\n        { name: 'Bulevardul Tomis', cat: 'transport', coord: [28.620349725222667,44.206347277905884] },\n        { name: 'Lacul Siutghiol', cat: 'nature', coord: [28.581894198853803,44.243000000000000] },\n        { name: 'Plaja Mamaia', cat: 'nature', coord: [28.625121273736386,44.24479885421945], url: 'https:\/\/maps.app.goo.gl\/Z3mjaBodAk8yKfv3A' },\n        { name: 'Centrul Comercial Tom', cat: 'shop', coord: [28.60485662431786,44.21333335868575] },\n        { name: 'City Park Mall', cat: 'shop', coord: [28.630365099182733,44.20368993207893] },\n        { name: 'Vivo Constan\u021ba', cat: 'shop', coord: [28.609241324317345,44.19963320484736] },\n        { name: 'Spitalul Clinic Ovidiu', cat: 'health', coord: [28.58291164151247,44.23263171838195] },\n        { name: 'Autostrada A2', cat: 'transport', coord: [28.5439815,44.1443793] },\n        { name: 'Autostrada A4', cat: 'transport', coord: [28.5685263,44.1362706] },\n        { name: 'Universitatea Ovidius', cat: 'edu', coord: [28.64991474151075,44.19479689414245] }\n    ];\n\n    function geocode(q) {\n        const cacheKey = 'bp_map_poi_coords_v1';\n        let cache = {};\n        try { cache = JSON.parse(localStorage.getItem(cacheKey) || '{}'); } catch(e){}\n        if (cache[q]) return Promise.resolve(cache[q]);\n        const url = 'https:\/\/nominatim.openstreetmap.org\/search?format=json&limit=1&q=' + encodeURIComponent(q);\n        return fetch(url, {headers: {'Accept':'application\/json'}})\n            .then(r => r.json())\n            .then(data => {\n                if (data && data[0]) {\n                    const lat = parseFloat(data[0].lat);\n                    const lon = parseFloat(data[0].lon);\n                    cache[q] = [lon, lat];\n                    try { localStorage.setItem(cacheKey, JSON.stringify(cache)); } catch(e){}\n                    return cache[q];\n                }\n                return null;\n            }).catch(()=>null);\n    }\n\n    function createMarker(map, coord, meta, isMain) {\n        const el = document.createElement('div');\n        el.className = 'poi-marker';\n        el.innerHTML = `<span class=\"poi-mini\"><\/span><span class=\"poi-label\">${meta.name}<\/span>`;\n        if (isMain) el.classList.add('pulse');\n\n        const marker = new maplibregl.Marker({ element: el })\n            .setLngLat(coord)\n            .addTo(map);\n\n        const popupHtml = `\n            <div class=\"bp-popup\">\n                <div class=\"bp-popup-title\">${meta.name}<\/div>\n                ${meta.url ? `<a href=\"${meta.url}\" target=\"_blank\">Deschide \u00een Google Maps<\/a>` : ''}\n            <\/div>`;\n\n        const popup = new maplibregl.Popup({ offset: 24, className: 'bp-popup' })\n            .setHTML(popupHtml);\n\n        el.addEventListener('click', (e) => { popup.setLngLat(coord).addTo(map); e.stopPropagation(); });\n        return marker;\n    }\n\n    function init() {\n        const container = document.getElementById('bp-map-branded');\n        if (!container || typeof maplibregl === 'undefined') return;\n\n        const map = new maplibregl.Map({\n            container: 'bp-map-branded',\n            style: 'https:\/\/basemaps.cartocdn.com\/gl\/voyager-gl-style\/style.json',\n            center: [28.630, 44.215],\n            zoom: 13.2,\n            attributionControl: false,\n            scrollZoom: false\n        });\n\n        \/\/ \u2500\u2500 Click-to-interact: harta \u00eencepe interac\u021biunea doar dup\u0103 un click \u2500\u2500\n        \/\/ (altfel scroll-ul pe pagina face zoom accidental pe desktop)\n        const gate = document.createElement('div');\n        gate.className = 'bp-map-gate';\n        gate.innerHTML = '<span>Apas\u0103 pentru a explora harta<\/span>';\n        container.appendChild(gate);\n\n        let mapActive = false;\n        function activateMap() {\n            if (mapActive) return;\n            mapActive = true;\n            map.scrollZoom.enable();\n            gate.classList.add('is-hidden');\n        }\n        function deactivateMap() {\n            if (!mapActive) return;\n            mapActive = false;\n            map.scrollZoom.disable();\n            gate.classList.remove('is-hidden');\n        }\n        gate.addEventListener('click', activateMap);\n        \/\/ C\u00e2nd mouse-ul p\u0103r\u0103se\u0219te harta, blocheaz\u0103 din nou scroll-zoom\n        container.addEventListener('mouseleave', deactivateMap);\n\n        \/\/ Add minimal attribution and navigation controls\n        map.addControl(new maplibregl.AttributionControl({ compact: true }));\n        map.addControl(new maplibregl.NavigationControl({ showCompass: false }), 'top-right');\n\n        \/\/ Main Boreal pin (signature)\n        const mainPinEl = document.createElement('div');\n        mainPinEl.className = 'bp-signature-pin';\n        mainPinEl.style.zIndex = '40'; \/* keep the assembly pin above all POI markers *\/\n        mainPinEl.innerHTML = '<img decoding=\"async\" src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/05\/cerc1.png\" alt=\"Boreal Plus\">';\n        new maplibregl.Marker({ element: mainPinEl, anchor: 'bottom' })\n            .setLngLat([28.5919845,44.2235296]).addTo(map);\n\n        \/\/ make signature pin clickable (open maps)\n        mainPinEl.addEventListener('click', function(){\n            window.open('https:\/\/maps.google.com\/?q=Strada+Amsterdam+Nr.+5,+Constan\u021ba', '_blank');\n        });\n\n        \/\/ make bp-card clickable (open maps)\n        const bpCardEl = document.querySelector('.bp-card');\n        if (bpCardEl) {\n            bpCardEl.addEventListener('click', function(){\n                window.open('https:\/\/maps.google.com\/?q=Strada+Amsterdam+Nr.+5,+Constan\u021ba', '_blank');\n            });\n        }\n\n        \/\/ Geocode POIs, create markers and fit bounds\n        const coordsPromises = POIS.map(p => {\n            if (p.coord && Array.isArray(p.coord)) return Promise.resolve({ meta: p, coord: p.coord });\n            const q = p.query || p.name;\n            return geocode(q).then(c => ({ meta: p, coord: c }));\n        });\n        Promise.all(coordsPromises).then(results => {\n            const bounds = new maplibregl.LngLatBounds();\n            const poiMap = {};\n            results.forEach((r, i) => {\n                if (r && r.coord) {\n                    createMarker(map, r.coord, r.meta, false);\n                    bounds.extend(r.coord);\n                    poiMap[r.meta.name] = r.coord;\n                }\n            });\n            \/\/ always include main pin in bounds\n            bounds.extend([28.5919845,44.2235296]);\n            try { map.fitBounds(bounds, { padding: 60, minZoom: 12.5, maxZoom: 13.5, duration: 1200 }); } catch(e) { }\n\n            \/\/ legend removed per user request\n        });\n    }\n\n    \/\/ \u2500\u2500 Lazy-load MapLibre \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    \/\/ Libr\u0103ria (~275 KB) + CSS-ul + tile-urile Carto se cer abia c\u00e2nd harta se apropie de\n    \/\/ viewport. Versiunea e FIXAT\u0102 (nu @latest): v6 a scos build-ul UMD \u0219i ar strica harta.\n    const MAPLIBRE_VER = '5.24.0';\n    let maplibrePromise = null;\n\n    function loadMapLibre() {\n        if (maplibrePromise) return maplibrePromise;\n        maplibrePromise = new Promise((resolve, reject) => {\n            if (typeof maplibregl !== 'undefined') { resolve(); return; }\n\n            const css = document.createElement('link');\n            css.rel = 'stylesheet';\n            css.href = 'https:\/\/unpkg.com\/maplibre-gl@' + MAPLIBRE_VER + '\/dist\/maplibre-gl.css';\n            document.head.appendChild(css);\n\n            const s = document.createElement('script');\n            s.src = 'https:\/\/unpkg.com\/maplibre-gl@' + MAPLIBRE_VER + '\/dist\/maplibre-gl.js';\n            s.async = true;\n            s.onload = () => {\n                \/\/ Globalul apare la execu\u021bia scriptului; dac\u0103 lipse\u0219te, e un build f\u0103r\u0103 UMD.\n                if (typeof maplibregl === 'undefined') reject(new Error('globalul maplibregl lipse\u0219te (build f\u0103r\u0103 UMD?)'));\n                else resolve();\n            };\n            s.onerror = () => reject(new Error('scriptul maplibre-gl nu s-a putut \u00eenc\u0103rca (CDN blocat?)'));\n            document.head.appendChild(s);\n        });\n        return maplibrePromise;\n    }\n\n    const mapContainer = document.getElementById('bp-map-branded');\n    if (mapContainer) {\n        const start = () => loadMapLibre().then(init).catch((err) => {\n            console.error('[bp-map]', err.message);\n        });\n\n        if ('IntersectionObserver' in window) {\n            const io = new IntersectionObserver((entries) => {\n                if (entries.some(e => e.isIntersecting)) { io.disconnect(); start(); }\n            }, { rootMargin: '600px 0px' }); \/\/ pornim din timp, ca harta s\u0103 fie gata la scroll\n            io.observe(mapContainer);\n        } else {\n            start();\n        }\n    }\n})();\n<\/script>\n\n<\/section>\n\n<!-- 6.5 CTA \u2014 band\u0103 full-bleed (artboard \"Site \u2014 06 \u00b7 CTA A\")\n     Fotografia e ansamblu2.jpg din Biblioteca Media, aceea\u0219i imagine ca bp-cta.jpg din\n     machet\u0103. Se \u00eencarc\u0103 lazy \u0219i cu srcset: originalul are 704 KB, iar banda e sub fold. -->\n<section class=\"cta-band\">\n\n<img class=\"cta-band-bg\"\n     src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/ansamblu2-1536x864.jpg\"\n     srcset=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/ansamblu2-768x432.jpg 768w,\n             https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/ansamblu2-1024x576.jpg 1024w,\n             https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/ansamblu2-1536x864.jpg 1536w,\n             https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/ansamblu2.jpg 1920w\"\n     sizes=\"100vw\" alt=\"\" loading=\"lazy\" decoding=\"async\">\n<div class=\"cta-band-scrim\"><\/div>\n<div class=\"cta-band-glow\"><\/div>\n\n<div class=\"cta-band-inner\">\n<div class=\"cta-band-text reveal\">\n<span class=\"cta-band-eyebrow\">Vizion\u0103ri \u00een fiecare zi<\/span>\n<h2 class=\"cta-band-title\">Vezi apartamentul<br><span class=\"title-accent\">\u00eenainte<\/span> s\u0103 decizi<\/h2>\n<p class=\"cta-band-desc\">Un consultant te a\u0219teapt\u0103 la biroul din Strada Amsterdam nr. 5 \u0219i \u00ee\u021bi arat\u0103 apartamentele disponibile.<\/p>\n<\/div>\n\n<div class=\"cta-band-action reveal\">\n<a href=\"#contact-form-section\" class=\"cta-band-btn\">Programeaz\u0103 o vizionare\n<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M5 12h14\"><\/path><path d=\"M13 6l6 6-6 6\"><\/path><\/svg>\n<\/a>\n<span class=\"cta-band-phone\"><span class=\"cta-band-phone-lbl\">sau sun\u0103<\/span><a href=\"tel:+40735509700\">+40 735 509 700<\/a><\/span>\n<\/div>\n<\/div>\n\n<\/section>\n\n<!-- 3.5 WHY BOREAL PLUS -->\n<section class=\"benefits-section\" id=\"benefits\" style=\"background: var(--bg-cream); border-top: 1px solid rgba(0,64,87,0.05);\">\n<div class=\"container\">\n    <div class=\"text-center reveal\" data-inv>\n        <span class=\"section-label\">De ce BOREAL Plus<\/span>\n        <h2 class=\"section-title\">De ce s\u0103 alegi BOREAL Plus?<\/h2>\n        <div class=\"section-divider\"><\/div>\n    <\/div>\n    \n    <div class=\"benefits-grid-modern\">\n        <!-- Benefit 1 -->\n        <div class=\"benefit-item reveal\" data-inv=\"scale\" data-i=\"1\">\n            <div class=\"benefit-icon-wrapper\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M12 2L12 12M12 12L7 7M12 12L17 7M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n            <\/div>\n            <p>Acces rapid la orice punct de interes din Constan\u021ba \u0219i la plaj\u0103<\/p>\n        <\/div>\n\n        <!-- Benefit 2 -->\n        <div class=\"benefit-item reveal\" data-inv=\"scale\" data-i=\"2\" style=\"transition-delay: 100ms;\">\n            <div class=\"benefit-icon-wrapper\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M12 3V21M3 12H21M12 3L16 7M12 3L8 7M12 21L16 17M12 21L8 17M21 12L17 8M21 12L17 16M3 12L7 8M3 12L7 16\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n            <\/div>\n            <p>Confort termic \u0219i acustic la costuri mai mici<\/p>\n        <\/div>\n\n        <!-- Benefit 3 -->\n        <div class=\"benefit-item reveal\" data-inv=\"scale\" data-i=\"3\" style=\"transition-delay: 200ms;\">\n            <div class=\"benefit-icon-wrapper\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M3 3H21V21H3V3Z\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M3 9H21M9 3V21\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M15 9V3M15 21V15\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n            <\/div>\n            <p>Lumin\u0103 natural\u0103 din abunden\u021b\u0103 \u0219i terase generoase<\/p>\n        <\/div>\n\n        <!-- Benefit 4 -->\n        <div class=\"benefit-item reveal\" data-inv=\"scale\" data-i=\"4\" style=\"transition-delay: 300ms;\">\n            <div class=\"benefit-icon-wrapper\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M13 2L3 14H12L11 22L21 10H12L13 2Z\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n            <\/div>\n            <p>Eficien\u021b\u0103 energetic\u0103 ridicat\u0103 \u0219i costuri de \u00eentre\u021binere reduse<\/p>\n        <\/div>\n\n        <!-- Benefit 5 -->\n        <div class=\"benefit-item reveal\" data-inv=\"scale\" data-i=\"5\" style=\"transition-delay: 400ms;\">\n            <div class=\"benefit-icon-wrapper\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M19 17H5M19 17C20.1046 17 21 16.1046 21 15V9C21 7.89543 20.1046 7 19 7H5C3.89543 7 3 7.89543 3 9V15C3 16.1046 3.89543 17 5 17M19 17V19C19 20.1046 18.1046 21 17 21H7C5.89543 21 5 20.1046 5 19V17M9 7V5C9 3.89543 9.89543 3 11 3H13C14.1046 3 15 3.89543 15 5V7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n            <\/div>\n            <p>Parcare proprie, protejat\u0103 \u0219i u\u0219or accesibil\u0103<\/p>\n        <\/div>\n\n        <!-- Benefit 6 -->\n        <div class=\"benefit-item reveal\" data-inv=\"scale\" data-i=\"6\" style=\"transition-delay: 500ms;\">\n            <div class=\"benefit-icon-wrapper\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M17 21V19C17 16.7909 15.2091 15 13 15H5C2.79086 15 1 16.7909 1 19V21M16 3.13C18.28 3.53 20 5.51 20 8.01C20 10.51 18.28 12.49 16 12.89M23 21V19C23 17.3 21.94 15.86 20.46 15M9 11C11.2091 11 13 9.20914 13 7C13 4.79086 11.2091 3 9 3C6.79086 3 5 4.79086 5 7C5 9.20914 6.79086 11 9 11Z\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n            <\/div>\n            <p>Comunitate vibrant\u0103 \u0219i unit\u0103; oameni cu acelea\u0219i valori<\/p>\n        <\/div>\n    <\/div>\n<\/div>\n<\/section>\n\n<!-- 4. APARTAMENTE -->\n<section class=\"apartamente\" id=\"apartamente\">\n<div class=\"container\">\n<div class=\"apartamente-header text-center reveal mx-auto\" data-inv style=\"max-width: 1280px; margin-bottom: 60px;\">\n<span class=\"section-label\">Apartamente<\/span>\n<h2 class=\"section-title\">Descoper\u0103 confortul apartamentelor noi<\/h2>\n<p class=\"section-desc mx-auto\" style=\"max-width: 1000px; font-size: 1.15rem; color: var(--primary); font-weight: 400; margin-bottom: 30px; line-height: 1.7;\">\n    Alege un apartament \u00een Boreal Plus \u0219i te vei bucura de lini\u0219tea zonei, de priveli\u0219ti c\u0103tre Lacul Siutghiol \u0219i de acces rapid c\u0103tre ora\u0219, plaj\u0103 \u0219i facilit\u0103\u021bile de zi cu zi. Aici ai parte de confortul unei locuin\u021be noi, \u00eentr un cartier aerisit, cu spa\u021bii verzi, parc\u0103ri, servicii aproape \u0219i o comunitate format\u0103. \n<\/p>\n\n<\/div>\n<div class=\"apt-grid\">\n<!-- Faza 1 -->\n<div class=\"apt-card reveal\" data-inv=\"left\">\n<div class=\"apt-card-image\">\n<img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/te-muti-rapid.jpg\" alt=\"Apartamente BOREAL Plus Faza 1\" loading=\"lazy\" decoding=\"async\">\n<span class=\"apt-badge\">FAZA 1<\/span>\n<span class=\"apt-badge-last\">Ultimele apartamente<\/span>\n<span class=\"apt-badge-done\">FINALIZAT<\/span>\n<\/div>\n<div class=\"apt-card-body\" style=\"padding: 40px; text-align: center;\">\n<div class=\"apt-card-type\" style=\"font-size: 1.6rem; margin-bottom: 15px;\">Apartamente BOREAL Plus<\/div>\n<p style=\"color: var(--text-muted); font-size: 1rem; line-height: 1.6; margin-bottom: 25px;\">Alege un apartament cu dou\u0103 camere finalizat, cu finisaje \u0219i dot\u0103ri moderne \u0219i bucur\u0103-te de confortul unei locuin\u021be noi, \u00eentr-o zon\u0103 lini\u0219tit\u0103, aproape de tot ce ai nevoie.<\/p>\n<div class=\"apt-card-price-promo\" style=\"margin-bottom: 10px;\">\n    <div style=\"font-size: 0.85rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 4px; font-weight: 500;\">Pre\u021buri \u00eencep\u00e2nd de la<\/div>\n    <div style=\"font-family: 'Outfit', sans-serif; font-size: 1.8rem; font-weight: 700; color: var(--secondary);\">\n        113.417 \u20ac <span style=\"font-size: 0.9rem; font-weight: 500; color: var(--text-muted); letter-spacing: 0.5px;\">+ TVA<\/span>\n    <\/div>\n<\/div>\n<\/div>\n<!-- ?faza=1 \u2192 pagina de apartamente se deschide cu filtrul \u201eFaza 1 \u2014 Finalizat\" aplicat\n     (vezi presetFromUrl() \u00een apartamente.html). -->\n<a href=\"https:\/\/boreal-plus.ro\/apartamente?faza=1\" class=\"apt-card-cta\">VEZI TIPURILE DE APARTAMENTE \u2192<\/a>\n<\/div>\n\n<!-- Faza 2 -->\n<div class=\"apt-card reveal\" data-inv=\"right\" data-i=\"1\" style=\"transition-delay: 150ms;\">\n<div class=\"apt-card-image\">\n<img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/planifici-viitorul.jpg\" alt=\"NOUL BOREAL Plus Faza 2\" loading=\"lazy\" decoding=\"async\">\n<span class=\"apt-badge construction\">FAZA 2<\/span>\n<span class=\"apt-badge-new\">NOU<\/span>\n<\/div>\n<div class=\"apt-card-body\" style=\"padding: 40px; text-align: center;\">\n<div class=\"apt-card-type\" style=\"font-size: 1.6rem; margin-bottom: 15px;\">NOUL BOREAL Plus<\/div>\n<p style=\"color: var(--text-muted); font-size: 1rem; line-height: 1.6; margin-bottom: 25px;\">Noua faz\u0103 Boreal Plus vine cu garsoniere, apartamente cu dou\u0103 \u0219i trei camere, finisaje premium, suprafe\u021be vitrate generoase \u0219i posibilitatea de plat\u0103 \u00een tran\u0219e.<\/p>\n<div class=\"apt-card-price-promo\" style=\"margin-bottom: 10px;\">\n    <div style=\"font-size: 0.85rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 4px; font-weight: 500;\">Pre\u021buri \u00eencep\u00e2nd de la<\/div>\n    <div style=\"font-family: 'Outfit', sans-serif; font-size: 1.8rem; font-weight: 700; color: var(--secondary);\">\n        76.248 \u20ac <span style=\"font-size: 0.9rem; font-weight: 500; color: var(--text-muted); letter-spacing: 0.5px;\">+ TVA<\/span>\n    <\/div>\n<\/div>\n<\/div>\n<a href=\"https:\/\/boreal-plus.ro\/apartamente?faza=2\" class=\"apt-card-cta\">VEZI TIPURILE DE APARTAMENTE \u2192<\/a>\n<\/div>\n\n<!-- Investi\u021bii \u2014 TEMPORAR DEZACTIVAT (pagina nu e gata). Decomenteaz\u0103 pentru a reactiva. -->\n<!--\n<div class=\"apt-card reveal\" style=\"transition-delay: 300ms;\">\n<div class=\"apt-card-image\">\n<img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/investitii.jpg\" alt=\"Pachete Investi\u021bionale BOREAL Plus\" loading=\"lazy\" decoding=\"async\">\n<span class=\"apt-badge\">INVESTI\u021aII<\/span>\n<\/div>\n<div class=\"apt-card-body\" style=\"padding: 40px; text-align: center;\">\n<div class=\"apt-card-type\" style=\"font-size: 1.6rem; margin-bottom: 15px;\">Oportunitate de investi\u021bie<\/div>\n<p style=\"color: var(--text-muted); font-size: 1rem; line-height: 1.6; margin-bottom: 25px;\">Alege o afacere la cheie: pachet de apartamente mobilate \u0219i \u00eenchiriate, cu contracte active pe 2 ani \u0219i venituri lunare garantate!<\/p>\n<\/div>\n<a href=\"investitii.html\" class=\"apt-card-cta\">Descoper\u0103 pachetele investi\u021bionale \u2192<\/a>\n<\/div>\n-->\n\n<!-- Spa\u021bii comerciale \u2014 TEMPORAR DEZACTIVAT (pagina nu e gata). Decomenteaz\u0103 pentru a reactiva. -->\n<!--\n<div class=\"apt-card reveal\" style=\"transition-delay: 450ms;\">\n<div class=\"apt-card-image\">\n<img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/comercial.jpg\" alt=\"Spa\u021bii Comerciale BOREAL Plus\" loading=\"lazy\" decoding=\"async\">\n<span class=\"apt-badge\">SPA\u021aII COMERCIALE<\/span>\n<\/div>\n<div class=\"apt-card-body\" style=\"padding: 40px; text-align: center;\">\n<div class=\"apt-card-type\" style=\"font-size: 1.6rem; margin-bottom: 15px;\">Oportunitate pentru afacerea ta<\/div>\n<p style=\"color: var(--text-muted); font-size: 1rem; line-height: 1.6; margin-bottom: 25px;\">Cump\u0103r\u0103 sau \u00eenchiriaz\u0103 un spa\u021biu comercial \u00een Boreal Plus \u0219i adu afacerea ta \u00een nordul Constan\u021bei!<\/p>\n<\/div>\n<a href=\"spatii-comerciale.html\" class=\"apt-card-cta\">Descoper\u0103 spa\u021biile comerciale \u2192<\/a>\n<\/div>\n-->\n<\/div>\n<\/div>\n<\/section>\n\n<!-- 4.5 FORMULAR CONTACT (mutat aici din sec\u021biunea 10) -->\n<section class=\"contact-section\" id=\"contact-form-section\">\n    <div class=\"container\">\n        <div class=\"contact-form-large reveal\" data-inv style=\"margin: 0 auto;\">\n            <div id=\"contact-form-component\">\n                    \t\t<div data-elementor-type=\"container\" data-elementor-id=\"16282\" class=\"elementor elementor-16282\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2363c9d e-flex e-con-boxed e-con e-parent\" data-id=\"2363c9d\" 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-b970a7d elementor-widget elementor-widget-html\" data-id=\"b970a7d\" 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<style>\n\/* ============================================================================\n   FORMULAR BOREAL PLUS \u2014 split bleumarin \/ alb, artboard \"Site \u2014 09 \u00b7 Formular\"\n   Stilurile stau aici, nu \u00een style.css, pentru c\u0103 formularul e o singur\u0103 bucat\u0103:\n   se lipe\u0219te \u00een template-ul Elementor 16282 \u0219i apare la fel pe toate paginile.\n   ============================================================================ *\/\n\n\/* F\u00e2\u0219iile de culoare merg p\u00e2n\u0103 la marginile ecranului. Pe fiecare pagin\u0103\n   formularul st\u0103 \u00eentr-un .container centrat, deci ie\u0219im din el: l\u0103\u021bime c\u00e2t\n   fereastra plus marginile negative care anuleaz\u0103 centrarea. *\/\n.bp-form-split {\n    \/* Unde \u00eencepe con\u021binutul din .container, ca panourile s\u0103 se alinieze cu\n       restul paginii chiar dac\u0103 fundalul lor curge p\u00e2n\u0103 la margine. *\/\n    --bp-edge: calc(max(0px, (100vw - var(--max-width, 1280px)) \/ 2) + var(--container-px, 20px));\n\n    width: 100vw;\n    margin-left: calc(50% - 50vw);\n    margin-right: calc(50% - 50vw);\n\n    display: grid;\n    grid-template-columns: 0.86fr 1.14fr;\n    align-items: stretch;\n    font-family: 'Inter', sans-serif;\n    text-align: left;\n}\n\n\/* Sec\u021biunea gazd\u0103 \u00ee\u0219i pierde padding-ul vertical: f\u00e2\u0219iile de culoare trebuie s\u0103\n   ating\u0103 sec\u021biunile vecine, iar spa\u021bierea o dau panourile pe din\u0103untru.\n   :has() pe str\u0103mo\u0219 \u2014 singurul mod de a ajunge la el dintr-un fragment lipit. *\/\n.contact-section:has(.bp-form-split),\n.camp-consultant:has(.bp-form-split) { padding-bottom: 0 !important; }\n\n\/* Spa\u021biul de SUS dispare doar c\u00e2nd formularul deschide sec\u021biunea. Pe\n   apartamente.html sec\u021biunea \u00eencepe cu un antet care introduce formularul, iar\n   acolo <section> poart\u0103 clasa .has-intro, deci padding-ul de sus r\u0103m\u00e2ne. *\/\n.contact-section:has(.bp-form-split):not(.has-intro),\n.camp-consultant:has(.bp-form-split):not(.has-intro) { padding-top: 0 !important; }\n.contact-form-large:has(.bp-form-split) { margin: 0 !important; }\n\n\/* Elementor randeaz\u0103 template-ul 16282 \u00een containerele lui\n   (.elementor > .e-con > .e-con-inner), iar .e-con are padding vertical din set\u0103rile\n   proprii \u2014 40px sus \u0219i jos \u00een mod obi\u0219nuit. \u0102la e spa\u021biul care \u021binea formularul\n   nelipit de sec\u021biunea urm\u0103toare; nu se vede local, doar \u00een WordPress.\n\n   \u021ainta e #contact-form-component, wrapperul nostru din jurul shortcode-ului, prezent\n   pe toate paginile. NU un :has(.bp-form-split) pe .e-con: :has() se potrive\u0219te pe\n   descenden\u021bi, deci ar prinde \u0219i containerele exterioare ale paginii \u0219i le-ar \u0219terge\n   spa\u021bierea. *\/\n#contact-form-component,\n#contact-form-component .elementor,\n#contact-form-component .e-con,\n#contact-form-component .e-con-inner,\n#contact-form-component .elementor-widget,\n#contact-form-component .elementor-widget-container {\n    padding-block-start: 0 !important;\n    padding-block-end: 0 !important;\n    margin-block-start: 0 !important;\n    margin-block-end: 0 !important;\n}\n\n\/* 100vw include l\u0103\u021bimea barei de scroll clasice (Windows, Linux), deci f\u00e2\u0219ia ar fi\n   cu ~15px mai lat\u0103 dec\u00e2t zona vizibil\u0103 \u0219i ar ap\u0103rea o bar\u0103 orizontal\u0103 pe toat\u0103\n   pagina. clip, NU hidden: hidden ar for\u021ba \u0219i axa vertical\u0103 \u00eentr-un scroll\n   container, clip las\u0103 overflow-y vizibil, deci pagina scroleaz\u0103 normal. Meniul\n   mobil e position: fixed, deci nu e afectat de clipping. *\/\nbody:has(.bp-form-split) { overflow-x: clip; }\n\n\/* ---------- panoul bleumarin ---------- *\/\n.bp-form-aside {\n    background-color: var(--bp-dark-bg-color, #001F2B);\n    background-image: var(--bp-dark-bg-image,\n        radial-gradient(1100px 620px at 84% 6%, rgba(196, 154, 110, 0.085), rgba(196, 154, 110, 0) 58%),\n        radial-gradient(900px 640px at 6% 100%, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0) 64%),\n        linear-gradient(158deg, #002B3B 0%, #001F2B 52%, #00151E 100%));\n    padding: clamp(40px, 4.6vw, 64px) clamp(24px, 3.6vw, 52px) clamp(40px, 4.6vw, 64px) var(--bp-edge);\n    display: flex;\n    flex-direction: column;\n}\n\n.bp-form-aside-eyebrow {\n    font-size: 0.64rem;\n    font-weight: 500;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: #B49079;\n    margin-bottom: 20px;\n}\n\n\/* !important pe font\/dimensiune\/greutate\/culoare: kit-ul global Elementor are\n   `.elementor-kit-XXXX h2` (0,1,1), care bate o clas\u0103 simpl\u0103 (0,1,0). *\/\n.bp-form-aside-title {\n    font-family: 'Playfair Display', Georgia, serif !important;\n    font-size: var(--bp-cta-title-size, clamp(1.6rem, 3vw, 2.4rem)) !important;\n    font-weight: 600 !important;\n    line-height: 1.16 !important;\n    letter-spacing: -0.3px;\n    color: #ffffff !important;\n    margin: 0 0 18px 0 !important;\n}\n\n.bp-form-aside-desc {\n    font-size: 0.96rem;\n    line-height: 1.85;\n    color: rgba(255, 255, 255, 0.7);\n    margin: 0 0 clamp(28px, 3.4vw, 44px) 0;\n}\n\n.bp-form-aside-list { display: flex; flex-direction: column; }\n\n.bp-form-aside-row {\n    display: flex;\n    align-items: baseline;\n    gap: 20px;\n    padding: clamp(13px, 1.4vw, 18px) 0;\n    border-top: 1px solid rgba(255, 255, 255, 0.14);\n}\n.bp-form-aside-row:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.14); }\n\n.bp-form-aside-num {\n    font-family: 'Playfair Display', Georgia, serif;\n    font-size: 1rem;\n    color: #B49079;\n    min-width: 26px;\n    flex-shrink: 0;\n}\n\n.bp-form-aside-txt {\n    font-size: 0.94rem;\n    line-height: 1.7;\n    color: rgba(255, 255, 255, 0.86);\n}\n\n\/* margin-top: auto lipe\u0219te blocul de telefon de baza panoului, ca \u00een machet\u0103. *\/\n.bp-form-aside-call {\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n    margin-top: auto;\n    padding-top: clamp(28px, 3.6vw, 46px);\n}\n\n.bp-form-aside-call-lbl {\n    font-size: 0.6rem;\n    font-weight: 500;\n    letter-spacing: 0.28em;\n    text-transform: uppercase;\n    color: rgba(255, 255, 255, 0.45);\n}\n\n\/* !important pe color: kit-ul Elementor are `.elementor-kit-XXXX a` cu culoarea de link a\n   sitului (teal), care pe bleumarin e practic invizibil\u0103 \u2014 de-aia \u201enu se vedea\" pe live.\n   Greutate 400, nu 300: la 2rem sub\u021bire, albul pe fundal \u00eenchis se citea slab. *\/\n.bp-form-aside-tel {\n    font-family: 'Outfit', sans-serif !important;\n    font-size: clamp(1.5rem, 2.2vw, 2rem) !important;\n    font-weight: 400 !important;\n    color: #ffffff !important;\n    line-height: 1.2;\n    text-decoration: none !important;\n}\n.bp-form-aside-tel:hover,\n.bp-form-aside-tel:focus-visible { color: #d4b8a0 !important; }\n\n.bp-form-aside-addr {\n    font-size: 0.9rem;\n    line-height: 1.7;\n    color: rgba(255, 255, 255, 0.6);\n}\n\n\/* ---------- panoul crem, cu formularul ---------- *\/\n.bp-form-panel {\n    background: #F4F1EB;\n    padding: clamp(40px, 4.6vw, 64px) var(--bp-edge) clamp(40px, 4.6vw, 64px) clamp(24px, 3.8vw, 56px);\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    min-width: 0;\n}\n\n\/* position\/overflow r\u0103m\u00e2n: honeypot-ul e absolut \u0219i se sprijin\u0103 pe ele. *\/\n.bp-form-container {\n    position: relative;\n    overflow: hidden;\n}\n\n.bp-form-row {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: clamp(22px, 2.6vw, 34px);\n    margin-bottom: clamp(22px, 2.4vw, 32px);\n}\n\n.bp-form-group {\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n    margin-bottom: clamp(22px, 2.4vw, 32px);\n}\n\n\/* Eticheta mic\u0103, foarte spa\u021biat\u0103 \u2014 exact ca \u00een artboard. *\/\n.bp-form-group label {\n    font-size: 0.6rem;\n    font-weight: 500;\n    letter-spacing: 0.26em;\n    text-transform: uppercase;\n    color: #96A0A6;\n    transition: color 0.3s ease;\n}\n.bp-form-group:focus-within label { color: #B49079; }\n\n\/* C\u00e2mpul e o linie, nu o caset\u0103. *\/\n\/* !important pe fiecare proprietate pe care o d\u0103 \u0219i kit-ul global Elementor. Regula\n   lui e:\n       .elementor-kit-XXXX input:not([type=\"button\"]):not([type=\"submit\"]), \u2026 textarea\n   adic\u0103 specificitate (0,3,1) \u2014 bate (0,1,1) c\u00e2t are selectorul de aici. F\u0103r\u0103\n   !important, kit-ul impune border-width: 1px pe TOATE laturile (de-aia ap\u0103reau\n   casete \u00een loc de linii), plus fontul, greutatea \u0219i culoarea textului.\n   Kit-ul NU atinge padding \u0219i nici <select>, deci alea r\u0103m\u00e2n f\u0103r\u0103. *\/\n.bp-form-group input,\n.bp-form-group select,\n.bp-form-group textarea {\n    width: 100%;\n    padding: 0 0 14px 0;\n    border: 0 !important;\n    border-bottom: 1px solid #C9C2B7 !important;\n    border-radius: 0 !important;\n    \/* background-color, NU shorthand-ul background: acesta ar \u0219terge\n       background-image, adic\u0103 s\u0103geata select-ului de mai jos. *\/\n    background-color: transparent;\n    font-family: 'Inter', sans-serif !important;\n    font-size: 1rem !important;\n    font-weight: 400 !important;\n    color: #001F2B !important;\n    outline: none;\n    transition: border-color 0.3s ease;\n}\n\n\/* Textul-fantom\u0103 e mai deschis \u0219i mai sub\u021bire dec\u00e2t o valoare completat\u0103. *\/\n.bp-form-group input::placeholder,\n.bp-form-group textarea::placeholder {\n    color: #B3BBC0;\n    font-weight: 300;\n}\n\n.bp-form-group input:focus,\n.bp-form-group select:focus,\n.bp-form-group textarea:focus {\n    border-bottom-color: #001F2B !important;\n}\n\n\/* ---------- validare: starea invalid\u0103 + mesajul de sub c\u00e2mp ----------\n   .is-invalid se pune de script pe c\u00e2mp; (0,2,1) bate (0,1,1) al regulii de baz\u0103, deci\n   !important-ul de acolo nu ne \u00eencurc\u0103. Mesajul st\u0103 \u00een .bp-form-group cu gap 12px, deci\n   \u00eel tragem pu\u021bin \u00een sus ca s\u0103 se lipeasc\u0103 de linie. *\/\n.bp-form-group input.is-invalid,\n.bp-form-group select.is-invalid,\n.bp-form-group textarea.is-invalid {\n    border-bottom-color: #B4423A !important;\n}\n.bp-form-group.is-invalid label { color: #B4423A; }\n\n.bp-form-field-error {\n    display: none;\n    margin-top: -4px;\n    font-size: 0.78rem;\n    font-weight: 400;\n    line-height: 1.4;\n    color: #B4423A;\n}\n.bp-form-field-error.is-visible { display: block; }\n\n.bp-form-group textarea {\n    resize: vertical;\n    min-height: 76px;\n    padding-bottom: 40px;\n    line-height: 1.6;\n}\n\n.bp-form-group select {\n    appearance: none;\n    -webkit-appearance: none;\n    cursor: pointer;\n    background-image: url(\"data:image\/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23B49079' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'\/%3E%3C\/svg%3E\");\n    background-repeat: no-repeat;\n    \/* C\u00e2mpul are 14px padding jos, deci centrul cutiei e cu 7px sub linia\n       textului; f\u0103r\u0103 corec\u021bie s\u0103geata at\u00e2rn\u0103 sub cuv\u00e2nt. *\/\n    \/* Forma cu 4 valori: cuv\u00e2nt-cheie + offset pe FIECARE ax\u0103. Varianta cu trei\n       valori (right 2px calc(...)) e invalid\u0103, browserul o arunc\u0103 \u0219i cade pe 0% 0%,\n       adic\u0103 s\u0103geata ajunge \u00een col\u021bul din st\u00e2nga sus. *\/\n    background-position: right 2px top calc(50% - 7px);\n    padding-right: 28px;\n}\n\n\/* Varianta blocat\u0103 a c\u00e2mpului de apartament, construit\u0103 de lockTo() mai jos:\n   acelea\u0219i linii, ca s\u0103 nu reapar\u0103 o caset\u0103. *\/\n.bp-form-static {\n    width: 100%;\n    padding: 0 0 14px 0;\n    border-bottom: 1px solid #C9C2B7;\n    font-size: 1rem;\n    font-weight: 400;\n    color: #001F2B;\n    line-height: 1.35;\n}\n\n\/* ---------- bifele (deocamdat\u0103 doar GDPR) ----------\n   .bp-form-checks = grupul (poart\u0103 spa\u021biul de sub el), .bp-form-check = un r\u00e2nd; alte\n   consim\u021b\u0103minte (newsletter, marketing) se adaug\u0103 ca r\u00e2nduri noi, f\u0103r\u0103 CSS \u00een plus. *\/\n.bp-form-checks {\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n    margin-bottom: clamp(26px, 3vw, 36px);\n}\n.bp-form-check {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n}\n\/* Sub r\u00e2ndul GDPR, nu sub tot grupul: gap-ul de 12px al coloanei ar l\u0103sa-o prea departe. *\/\n.bp-form-checks .bp-form-field-error { margin: -6px 0 0 30px; }\n\n\/* P\u0103trat cu contur bronz, ca \u00een machet\u0103. appearance:none schimb\u0103 doar aspectul \u2014\n   r\u0103m\u00e2ne un checkbox adev\u0103rat, deci atributul required \u0219i FormData func\u021bioneaz\u0103 la fel. *\/\n.bp-form-check input[type=\"checkbox\"] {\n    appearance: none;\n    -webkit-appearance: none;\n    width: 16px;\n    height: 16px;\n    margin: 3px 0 0 0;\n    \/* Kit-ul prinde \u0219i checkbox-ul cu regula de mai sus \u0219i \u00eei impune culoarea lui\n       de bordur\u0103; f\u0103r\u0103 !important p\u0103tratul iese gri, nu bronz. *\/\n    border: 1px solid #B49079 !important;\n    border-radius: 0 !important;\n    background: transparent;\n    flex-shrink: 0;\n    cursor: pointer;\n    display: grid;\n    place-content: center;\n}\n.bp-form-check input[type=\"checkbox\"]::before {\n    content: '';\n    width: 8px;\n    height: 8px;\n    background: #B49079;\n    transform: scale(0);\n    transition: transform 0.15s ease;\n}\n.bp-form-check input[type=\"checkbox\"]:checked::before { transform: scale(1); }\n.bp-form-check input[type=\"checkbox\"]:focus-visible {\n    outline: 2px solid #001F2B;\n    outline-offset: 2px;\n}\n.bp-form-check input[type=\"checkbox\"].is-invalid { border-color: #B4423A !important; }\n\n.bp-form-check label {\n    font-size: 0.85rem;\n    font-weight: 300;\n    line-height: 1.7;\n    color: #7D888F;\n    cursor: pointer;\n}\n.bp-form-check label a {\n    color: #001F2B;\n    text-decoration: none;\n    border-bottom: 1px solid #C9C2B7;\n}\n.bp-form-check label a:hover { border-bottom-color: #B49079; }\n\n\/* ---------- buton + not\u0103 ---------- *\/\n.bp-form-actions {\n    display: flex;\n    align-items: center;\n    flex-wrap: wrap;\n    gap: clamp(14px, 2vw, 26px);\n}\n\n.bp-form-submit {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 14px;\n    \/* Kit-ul are `.elementor-kit-XXXX button` (0,1,1) > .bp-form-submit (0,1,0) \u0219i\n       impune padding: 18px 24px, font-size, greutate, spa\u021biere \u00eentre litere,\n       text-transform \u0219i border-radius: 0. Toate cele de mai jos sunt exact\n       propriet\u0103\u021bile din acea regul\u0103. *\/\n    padding: 19px 40px !important;\n    background: #001F2B !important;\n    border: 1px solid #001F2B !important;\n    color: #ffffff !important;\n    font-family: 'Inter', sans-serif !important;\n    font-size: 0.68rem !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.22em !important;\n    text-transform: uppercase !important;\n    cursor: pointer;\n    \/* Raza de 4px a tuturor butoanelor sitului; macheta le are cu col\u021b drept. *\/\n    border-radius: 4px !important;\n    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;\n}\n\n\/* S\u0103geata e pus\u0103 din CSS, nu ca <svg> \u00een markup: scriptul de trimitere scrie\n   butonului textContent (\"Se trimite...\" \u0219i \u00eenapoi), ceea ce ar \u0219terge un copil. *\/\n.bp-form-submit::after {\n    content: '';\n    width: 15px;\n    height: 15px;\n    flex-shrink: 0;\n    background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'\/%3E%3Cpath d='M13 6l6 6-6 6'\/%3E%3C\/svg%3E\") no-repeat center \/ contain;\n    transition: transform 0.35s ease;\n}\n.bp-form-submit:hover { background: #B49079 !important; border-color: #B49079 !important; }\n.bp-form-submit:hover::after { transform: translateX(4px); }\n.bp-form-submit:disabled { opacity: 0.7; cursor: wait; }\n.bp-form-submit:disabled::after { display: none; }\n\n.bp-form-note {\n    \/* flex-basis mic + shrink: nota st\u0103 l\u00e2ng\u0103 buton \u0219i \u00ee\u0219i rupe textul intern,\n       \u00een loc s\u0103 treac\u0103 \u00eentreag\u0103 pe r\u00e2ndul urm\u0103tor. *\/\n    flex: 1 1 200px;\n    margin: 0;\n    font-size: 0.82rem;\n    font-weight: 300;\n    color: #7D888F;\n}\n\n\/* ---------- mesaje de eroare ---------- *\/\n.bp-form-alert {\n    display: none;\n    margin-bottom: 24px;\n    padding: 14px 18px;\n    border-radius: 4px;\n    font-size: 0.92rem;\n    line-height: 1.5;\n}\n.bp-form-alert.is-visible { display: block; }\n.bp-form-alert--error {\n    background: #fff5f5;\n    border: 1px solid #f5b5b5;\n    color: #8b2e2e;\n}\n\n.bp-form-honeypot {\n    position: absolute;\n    left: -9999px;\n    width: 1px;\n    height: 1px;\n    overflow: hidden;\n}\n\n\/* ---------- pe telefon panourile se stivuiesc ---------- *\/\n@media (max-width: 900px) {\n    .bp-form-split { grid-template-columns: 1fr; }\n    .bp-form-aside,\n    .bp-form-panel { padding-left: var(--bp-edge); padding-right: var(--bp-edge); }\n    .bp-form-row { grid-template-columns: 1fr; gap: 0; }\n    .bp-form-submit { width: 100%; }\n    .bp-form-actions { gap: 14px; }\n}\n<\/style>\n\n<div class=\"bp-form-split\">\n\n    <div class=\"bp-form-aside\">\n        <span class=\"bp-form-aside-eyebrow\">Programare vizionare<\/span>\n        <h2 class=\"bp-form-aside-title\">Vino s\u0103 vezi apartamentul \u00eenainte s\u0103 decizi<\/h2>\n        <p class=\"bp-form-aside-desc\">Un consultant dedicat te \u00eenso\u021be\u0219te la vizionare \u0219i \u00ee\u021bi explic\u0103 pas cu pas pre\u021bul, plata \u0219i termenele.<\/p>\n\n        <div class=\"bp-form-aside-list\">\n            <div class=\"bp-form-aside-row\">\n                <span class=\"bp-form-aside-num\">01<\/span>\n                <span class=\"bp-form-aside-txt\">Vizionare la fa\u021ba locului, f\u0103r\u0103 costuri<\/span>\n            <\/div>\n            <div class=\"bp-form-aside-row\">\n                <span class=\"bp-form-aside-num\">02<\/span>\n                <span class=\"bp-form-aside-txt\">Apartamente Faza 1, gata de mutare<\/span>\n            <\/div>\n            <div class=\"bp-form-aside-row\">\n                <span class=\"bp-form-aside-num\">03<\/span>\n                <span class=\"bp-form-aside-txt\">Acela\u0219i consultant, de la prima vizionare p\u00e2n\u0103 la semnare<\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"bp-form-aside-call\">\n            <span class=\"bp-form-aside-call-lbl\">Sun\u0103 direct<\/span>\n            <a href=\"tel:+40735509700\" class=\"bp-form-aside-tel\">+40 735 509 700<\/a>\n            <span class=\"bp-form-aside-addr\">Strada Amsterdam nr. 5, Bloc M1, Constan\u021ba<\/span>\n        <\/div>\n    <\/div>\n\n    <div class=\"bp-form-panel\">\n        <div class=\"bp-form-container\" id=\"contact-form\">\n\n            <div class=\"bp-form-alert bp-form-alert--error\" id=\"bp-form-error\" role=\"alert\" aria-live=\"assertive\"><\/div>\n\n            <form id=\"bp-lead-form\" novalidate>\n                <div class=\"bp-form-honeypot\" aria-hidden=\"true\">\n                    <label for=\"bp-website\">Website<\/label>\n                    <input type=\"text\" id=\"bp-website\" name=\"bp_website\" tabindex=\"-1\" autocomplete=\"off\">\n                <\/div>\n\n                <div class=\"bp-form-row\">\n                    <div class=\"bp-form-group\">\n                        <label for=\"bp-name\">Nume complet *<\/label>\n                        <input type=\"text\" id=\"bp-name\" name=\"name\" placeholder=\"Numele t\u0103u\" autocomplete=\"name\" maxlength=\"80\" required aria-describedby=\"bp-name-error\">\n                        <span class=\"bp-form-field-error\" id=\"bp-name-error\" aria-live=\"polite\"><\/span>\n                    <\/div>\n                    <div class=\"bp-form-group\">\n                        <label for=\"bp-phone\">Telefon *<\/label>\n                        <input type=\"tel\" id=\"bp-phone\" name=\"phone\" placeholder=\"+40 7XX XXX XXX\" autocomplete=\"tel\" inputmode=\"tel\" maxlength=\"20\" required aria-describedby=\"bp-phone-error\">\n                        <span class=\"bp-form-field-error\" id=\"bp-phone-error\" aria-live=\"polite\"><\/span>\n                    <\/div>\n                <\/div>\n\n                <div class=\"bp-form-row\">\n                    <div class=\"bp-form-group\">\n                        <label for=\"bp-email\">Email *<\/label>\n                        <input type=\"email\" id=\"bp-email\" name=\"email\" placeholder=\"email@exemplu.ro\" autocomplete=\"email\" inputmode=\"email\" maxlength=\"120\" required aria-describedby=\"bp-email-error\">\n                        <span class=\"bp-form-field-error\" id=\"bp-email-error\" aria-live=\"polite\"><\/span>\n                    <\/div>\n                    <div class=\"bp-form-group\">\n                        <label for=\"bp-apt-type\">Te intereseaz\u0103<\/label>\n                        <!-- Op\u021biunile de mai jos sunt doar FALLBACK. La \u00eenc\u0103rcare sunt \u00eenlocuite cu\n                             lista complet\u0103 de apartamente, citit\u0103 din REST (vezi scriptul de jos).\n                             Dac\u0103 fetch-ul e\u0219ueaz\u0103, formularul r\u0103m\u00e2ne func\u021bional cu aceste 3 op\u021biuni. -->\n                        <select id=\"bp-apt-type\" name=\"apartment_type\">\n                            <option value=\"\">Selecteaz\u0103 apartamentul<\/option>\n                            <option value=\"Garsonier\u0103\">Garsonier\u0103<\/option>\n                            <option value=\"2 camere\">2 Camere<\/option>\n                            <option value=\"3 camere\">3 Camere<\/option>\n                        <\/select>\n                        <span class=\"bp-form-field-error\" id=\"bp-apt-type-error\" aria-live=\"polite\"><\/span>\n                    <\/div>\n                <\/div>\n\n                <div class=\"bp-form-group\">\n                    <label for=\"bp-message\">Mesaj (op\u021bional)<\/label>\n                    <textarea id=\"bp-message\" name=\"message\" placeholder=\"Spune-ne ce cau\u021bi...\" maxlength=\"1000\" aria-describedby=\"bp-message-error\"><\/textarea>\n                    <span class=\"bp-form-field-error\" id=\"bp-message-error\" aria-live=\"polite\"><\/span>\n                <\/div>\n\n                <div class=\"bp-form-checks\">\n                    <div class=\"bp-form-check\">\n                        <input type=\"checkbox\" id=\"bp-gdpr\" name=\"gdpr\" value=\"1\" required aria-describedby=\"bp-gdpr-error\">\n                        <label for=\"bp-gdpr\">Sunt de acord cu <a href=\"https:\/\/boreal-plus.ro\/politica-de-protectie-a-datelor\/\" target=\"_blank\" rel=\"noopener noreferrer\">Politica de protec\u021bie a datelor<\/a> \u0219i cu <a href=\"https:\/\/boreal-plus.ro\/nota-de-informare\/\" target=\"_blank\" rel=\"noopener noreferrer\">Nota de informare<\/a>. *<\/label>\n                    <\/div>\n                    <span class=\"bp-form-field-error\" id=\"bp-gdpr-error\" aria-live=\"polite\"><\/span>\n                <\/div>\n\n                <!-- Wrapper pur de a\u0219ezare: butonul \u0219i nota pe un r\u00e2nd.\n                     Butonul r\u0103m\u00e2ne descendent al formularului, deci\n                     form.querySelector('.bp-form-submit') din script \u00eel g\u0103se\u0219te la fel. -->\n                <div class=\"bp-form-actions\">\n                    <button type=\"submit\" class=\"bp-form-submit\">Programeaz\u0103 o vizionare<\/button>\n                    <p class=\"bp-form-note\">Garant\u0103m confiden\u021bialitatea datelor dumneavoastr\u0103.<\/p>\n                <\/div>\n            <\/form>\n        <\/div>\n    <\/div>\n\n<\/div>\n\n<!-- \u2500\u2500 Lista de apartamente \u00een c\u00e2mpul \u201eInteres\" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n     Op\u021biunile se construiesc din REST (\/wp-json\/wp\/v2\/apartamente), deci selectul se\n     actualizeaz\u0103 singur c\u00e2nd se adaug\u0103 apartamente noi \u2014 nu trebuie atins codul.\n     Pe pagina unui apartament se preselecteaz\u0103 EXACT acel apartament, iar \u00een lead pleac\u0103\n     numele complet (ex. \u201e2 camere 70 mp tip 3\"), nu doar num\u0103rul de camere.\n     Carrier-ul Pods d\u0103 slug-ul apartamentului curent; pe alte pagini r\u0103m\u00e2ne gol. -->\n<div id=\"bp-cf-apt\"\n     data-post-name=\"&lt;div  class=&quot;pods-ui-notice pods-ui-notice-notice pods-ui-notice-notice-error pods-ui-notice-is-dismissible pods-ui-notice-front&quot;&gt;&lt;p&gt;&lt;strong&gt;Pods Embed Error:&lt;\/strong&gt; Pod not found.&lt;\/p&gt;&lt;\/div&gt;\"\n     data-camere=\"&lt;div  class=&quot;pods-ui-notice pods-ui-notice-notice pods-ui-notice-notice-error pods-ui-notice-is-dismissible pods-ui-notice-front&quot;&gt;&lt;p&gt;&lt;strong&gt;Pods Embed Error:&lt;\/strong&gt; Pod not found.&lt;\/p&gt;&lt;\/div&gt;\"\n     style=\"display:none\"><\/div>\n<script>\n(function () {\n    var API = 'https:\/\/boreal-plus.ro\/wp-json\/wp\/v2\/apartamente?per_page=100&_fields=slug,title';\n    var GROUPS = [\n        { rooms: 1, label: 'Garsoniere' },\n        { rooms: 2, label: '2 camere' },\n        { rooms: 3, label: '3 camere' },\n        { rooms: 0, label: 'Alte apartamente' }\n    ];\n\n    \/\/ Slug-ul apartamentului pe care se afl\u0103 vizitatorul (sau null pe orice alt\u0103 pagin\u0103).\n    function currentSlug() {\n        \/\/ 1) carrier-ul Pods \u2014 autoritar, se completeaz\u0103 doar pe pagina unui apartament\n        var ids = ['bp-cf-apt', 'bp-apt-preselect'];\n        for (var i = 0; i < ids.length; i++) {\n            var el = document.getElementById(ids[i]);\n            if (!el) continue;\n            var v = (el.getAttribute('data-post-name') || '').trim();\n            if (v && v.indexOf('[pods') === -1) return v; \/\/ shortcode nerandat \u2192 ignor\u0103m\n        }\n        \/\/ 2) fallback pe URL: \/apartamente\/<slug>\n        var m = window.location.pathname.match(\/\\\/apartamente\\\/([^\\\/]+)\\\/?$\/);\n        return m ? decodeURIComponent(m[1]) : null;\n    }\n\n    \/\/ Pe landing (campaign.html) wrapperul #contact-form-component poart\u0103\n    \/\/ data-bp-apt-scope=\"listed\": selectul arat\u0103 DOAR apartamentele listate \u00een pagin\u0103, adic\u0103\n    \/\/ cardurile .lux-card r\u0103mase vizibile dup\u0103 filtrul de Faza 1 al campaniei \u2014 nu toat\u0103\n    \/\/ lista din REST. Slug-ul se ia din linkul cardului (\/apartamente\/<slug>), acela\u0219i cu\n    \/\/ cel din REST. Pe orice alt\u0103 pagin\u0103 \u00eentoarce null = f\u0103r\u0103 restric\u021bie.\n    function listedSlugs() {\n        var wrap = document.getElementById('contact-form-component');\n        if (!wrap || wrap.getAttribute('data-bp-apt-scope') !== 'listed') return null;\n\n        var slugs = {};\n        var found = 0;\n        document.querySelectorAll('.lux-card').forEach(function (card) {\n            \/\/ \u00cen WP cardul st\u0103 \u00eentr-o celul\u0103 .e-loop-item; filtrul campaniei ascunde celula.\n            var cell = card.closest('.e-loop-item') || card;\n            if (getComputedStyle(cell).display === 'none' || getComputedStyle(card).display === 'none') return;\n            var a = card.querySelector('a[href*=\"\/apartamente\/\"]');\n            var m = a && (a.getAttribute('href') || '').match(\/\\\/apartamente\\\/([^\\\/?#]+)\/);\n            if (!m) return;\n            slugs[decodeURIComponent(m[1])] = true;\n            found++;\n        });\n\n        if (!found) {\n            \/\/ Loop Grid-ul lipse\u0219te sau nu s-a filtrat \u00eenc\u0103: mai bine toat\u0103 lista dec\u00e2t un select gol.\n            console.warn('[bp-form] scope \"listed\", dar nu am g\u0103sit carduri vizibile \u2014 afi\u0219ez toat\u0103 lista');\n            return null;\n        }\n        return slugs;\n    }\n\n    \/\/ Titlurile WP vin cu entit\u0103\u021bi HTML (&#8211;, &amp;) \u2014 le transform\u0103m \u00een text curat.\n    function decodeEntities(html) {\n        var ta = document.createElement('textarea');\n        ta.innerHTML = html || '';\n        return (ta.value || '').trim();\n    }\n\n    function roomsOf(title) {\n        var t = title.toLowerCase();\n        if (\/garsonier|studio\/.test(t)) return 1;\n        var m = t.match(\/(\\d+)\\s*camer\/);\n        return m ? parseInt(m[1], 10) : 0;\n    }\n\n    function buildOptions(select, items) {\n        var placeholder = select.querySelector('option[value=\"\"]');\n        select.innerHTML = '';\n        select.appendChild(placeholder || new Option('Selecteaz\u0103 apartamentul', ''));\n\n        GROUPS.forEach(function (g) {\n            var inGroup = items.filter(function (it) { return it.rooms === g.rooms; });\n            if (!inGroup.length) return;\n            var og = document.createElement('optgroup');\n            og.label = g.label;\n            inGroup.forEach(function (it) {\n                var opt = new Option(it.name, it.name); \/\/ value = numele complet \u2192 pleac\u0103 a\u0219a \u00een lead\n                opt.setAttribute('data-slug', it.slug);\n                og.appendChild(opt);\n            });\n            select.appendChild(og);\n        });\n    }\n\n    \/\/ Pe pagina unui apartament \u00eenlocuim <select>-ul cu textul apartamentului + un hidden\n    \/\/ input care duce mai departe aceea\u0219i valoare, sub acela\u0219i name (apartment_type).\n    function lockTo(select, name) {\n        var label = document.querySelector('label[for=\"' + select.id + '\"]');\n\n        var box = document.createElement('div');\n        box.className = 'bp-form-static';\n        box.id = 'bp-apt-type-static';\n        box.textContent = name;\n\n        var hidden = document.createElement('input');\n        hidden.type = 'hidden';\n        hidden.name = select.name || 'apartment_type';\n        hidden.value = name;\n\n        var parent = select.parentNode;\n        parent.replaceChild(box, select);\n        parent.appendChild(hidden);\n\n        \/\/ eticheta nu mai are un control de asociat \u2192 scoatem for, ca s\u0103 r\u0103m\u00e2n\u0103 HTML valid\n        if (label) label.removeAttribute('for');\n    }\n\n    function preselect(select, slug) {\n        if (!slug) return;\n        var opt = select.querySelector('option[data-slug=\"' + slug.replace(\/\"\/g, '\\\\\"') + '\"]');\n        if (!opt) return;              \/\/ slug necunoscut \u2192 l\u0103s\u0103m select-ul, e mai util dec\u00e2t un text gre\u0219it\n        lockTo(select, opt.value);\n    }\n\n    function init(select) {\n        fetch(API, { credentials: 'same-origin' })\n            .then(function (r) {\n                if (!r.ok) throw new Error('REST ' + r.status);\n                return r.json();\n            })\n            .then(function (data) {\n                if (!Array.isArray(data) || !data.length) throw new Error('list\u0103 goal\u0103');\n                var items = data.map(function (p) {\n                    var name = decodeEntities(p.title && p.title.rendered);\n                    return { slug: p.slug, name: name, rooms: roomsOf(name) };\n                }).filter(function (it) { return it.name; });\n                if (!items.length) throw new Error('f\u0103r\u0103 titluri');\n\n                var allowed = listedSlugs();\n                if (allowed) {\n                    var listed = items.filter(function (it) { return allowed[it.slug]; });\n                    \/\/ Dac\u0103 niciun slug nu se potrive\u0219te (ex. link-urile cardurilor s-au schimbat),\n                    \/\/ p\u0103str\u0103m lista \u00eentreag\u0103 \u2014 un select gol ar bloca formularul.\n                    if (listed.length) items = listed;\n                    else console.warn('[bp-form] niciun apartament din REST nu corespunde cardurilor din pagin\u0103');\n                }\n\n                items.sort(function (a, b) { return a.name.localeCompare(b.name, 'ro'); });\n                buildOptions(select, items);\n                preselect(select, currentSlug());\n            })\n            .catch(function (err) {\n                \/\/ Fallback: r\u0103m\u00e2n cele 3 op\u021biuni generice din markup, formularul e func\u021bional.\n                console.warn('[bp-form] nu am putut \u00eenc\u0103rca lista de apartamente:', err.message);\n            });\n    }\n\n    \/\/ Formularul e randat de Elementor, uneori pu\u021bin dup\u0103 DOMContentLoaded \u2192 mai \u00eencerc\u0103m.\n    \/\/ A\u0219tept\u0103m \u0219i ie\u0219irea din 'loading': filtrul de carduri al campaniei ruleaz\u0103 pe\n    \/\/ DOMContentLoaded, iar listedSlugs() trebuie s\u0103 vad\u0103 cardurile deja filtrate.\n    var tries = 0;\n    var timer = setInterval(function () {\n        var select = document.getElementById('bp-apt-type');\n        if (select && document.readyState !== 'loading') { clearInterval(timer); init(select); return; }\n        if (++tries > 20) clearInterval(timer);\n    }, 300);\n})();\n<\/script>\n\n<script>\n(function () {\n    var FALLBACK = {\n        ajaxUrl: 'https:\/\/boreal-plus.ro\/wp-admin\/admin-ajax.php',\n        action: 'boreal_plus_lead_submit',\n        thankYouUrl: 'https:\/\/boreal-plus.ro\/thank-you-2026\/',\n        nonce: ''\n    };\n\n    var form = document.getElementById('bp-lead-form');\n    if (!form) {\n        return;\n    }\n\n    var submitBtn = form.querySelector('.bp-form-submit');\n    var errorAlert = document.getElementById('bp-form-error');\n\n    function getConfig() {\n        return window.borealPlusLeadForm || FALLBACK;\n    }\n\n    function hideError() {\n        if (errorAlert) {\n            errorAlert.classList.remove('is-visible');\n            errorAlert.textContent = '';\n        }\n    }\n\n    function showError(message) {\n        if (!errorAlert) {\n            return;\n        }\n        errorAlert.textContent = message;\n        errorAlert.classList.add('is-visible');\n    }\n\n    function getUtmSource() {\n        return new URLSearchParams(window.location.search).get('utm_source') || 'SiteBoreal';\n    }\n\n    \/\/ ---------- validare pe c\u00e2mp ----------\n    \/\/ Fiecare regul\u0103 prime\u0219te valoarea (trim-uit\u0103) \u0219i \u00eentoarce '' dac\u0103 e valid\u0103 sau mesajul\n    \/\/ de eroare. Cheia = atributul name al c\u00e2mpului; mesajul se afi\u0219eaz\u0103 \u00een\n    \/\/ <span id=\"<id c\u00e2mp>-error\"> de sub c\u00e2mp (conven\u021bia din markup).\n\n    \/\/ Litere latine (inclusiv \u0103 \u00e2 \u00ee \u0219 \u021b, cu virgul\u0103 sau sedil\u0103), spa\u021bii, cratim\u0103, apostrof, punct.\n    \/\/ Intervale explicite, nu \\p{L}: un browser f\u0103r\u0103 suport pentru \\p{} ar arunca eroare de\n    \/\/ sintax\u0103 la parsarea scriptului \u0219i formularul n-ar mai trimite deloc.\n    var NAME_RE = \/^[A-Za-z\u00c0-\u024f\u1e00-\u1eff][A-Za-z\u00c0-\u024f\u1e00-\u1eff\\s'\u2019.\\-]*$\/;\n    var EMAIL_RE = \/^[A-Za-z0-9._%+\\-]+@[A-Za-z0-9\\-]+(\\.[A-Za-z0-9\\-]+)*\\.[A-Za-z]{2,}$\/;\n\n    \/\/ \"+40 (735) 509-700\", \"0040735509700\", \"0735.509.700\" \u2192 \"+40735509700\" \/ \"0735509700\".\n    \/\/ \u00centoarce '' dac\u0103 r\u0103m\u00e2n caractere care nu au ce c\u0103uta \u00eentr-un num\u0103r.\n    function normalizePhone(raw) {\n        var v = raw.replace(\/[\\s().\\-]\/g, '');\n        if (!\/^\\+?\\d+$\/.test(v)) return '';\n        if (v.indexOf('00') === 0) v = '+' + v.slice(2);\n        return v;\n    }\n\n    var RULES = {\n        name: function (v) {\n            if (!v) return 'Te rug\u0103m s\u0103 scrii numele complet.';\n            if (v.length < 3) return 'Numele trebuie s\u0103 aib\u0103 cel pu\u021bin 3 litere.';\n            if (v.length > 80) return 'Numele e prea lung (maxim 80 de caractere).';\n            if (!NAME_RE.test(v)) return 'Numele poate con\u021bine doar litere, spa\u021bii, cratim\u0103 \u0219i apostrof.';\n            return '';\n        },\n        phone: function (v) {\n            if (!v) return 'Te rug\u0103m s\u0103 scrii un num\u0103r de telefon.';\n            var p = normalizePhone(v);\n            if (!p) return 'Telefonul poate con\u021bine doar cifre, spa\u021bii, +, paranteze, punct sau cratim\u0103.';\n            \/\/ Na\u021bional rom\u00e2nesc: 0 + 9 cifre, a doua cifr\u0103 2\/3 (fix) sau 7 (mobil).\n            if (p.charAt(0) === '0') {\n                return \/^0[237]\\d{8}$\/.test(p) ? '' : 'Num\u0103rul din Rom\u00e2nia are 10 cifre \u0219i \u00eencepe cu 07, 02 sau 03.';\n            }\n            \/\/ Interna\u021bional: +40 urmat de 9 cifre, sau alt prefix + 8\u201315 cifre (E.164).\n            if (p.indexOf('+40') === 0) {\n                return \/^\\+40[237]\\d{8}$\/.test(p) ? '' : 'Dup\u0103 +40 urmeaz\u0103 9 cifre, ex. +40 7XX XXX XXX.';\n            }\n            if (p.charAt(0) === '+') {\n                return \/^\\+\\d{8,15}$\/.test(p) ? '' : 'Num\u0103rul interna\u021bional trebuie s\u0103 aib\u0103 \u00eentre 8 \u0219i 15 cifre dup\u0103 +.';\n            }\n            return 'Scrie num\u0103rul cu 0 \u00een fa\u021b\u0103 (07XX XXX XXX) sau cu prefixul \u021b\u0103rii (+40 7XX XXX XXX).';\n        },\n        email: function (v) {\n            if (!v) return 'Te rug\u0103m s\u0103 scrii adresa de email.';\n            if (v.length > 120) return 'Adresa de email e prea lung\u0103 (maxim 120 de caractere).';\n            if (!EMAIL_RE.test(v)) return 'Introdu o adres\u0103 de email valid\u0103, ex. nume@exemplu.ro.';\n            return '';\n        },\n        \/\/ Op\u021bional. C\u00e2nd e <select>, valoarea trebuie s\u0103 fie una din op\u021biuni (o valoare\n        \/\/ str\u0103in\u0103 ar \u00eensemna markup manipulat). C\u00e2nd lockTo() l-a \u00eenlocuit cu un hidden, e\n        \/\/ deja valoarea exact\u0103 a apartamentului.\n        apartment_type: function (v, el) {\n            if (!v || !el || el.tagName !== 'SELECT') return '';\n            for (var i = 0; i < el.options.length; i++) {\n                if (el.options[i].value === v) return '';\n            }\n            return 'Alege un apartament din list\u0103.';\n        },\n        message: function (v) {\n            if (v.length > 1000) return 'Mesajul e prea lung (maxim 1000 de caractere).';\n            return '';\n        },\n        gdpr: function (v) {\n            return v === '1' ? '' : 'Pentru a trimite cererea trebuie s\u0103 accep\u021bi Politica de protec\u021bie a datelor.';\n        }\n    };\n\n    function fieldByName(name) {\n        return form.querySelector('[name=\"' + name + '\"]');\n    }\n\n    \/\/ Valoarea \u201elogic\u0103\" a c\u00e2mpului: pentru checkbox '1'\/'' (ca \u00een FormData), altfel textul trim-uit.\n    function valueOf(el) {\n        if (!el) return '';\n        if (el.type === 'checkbox') return el.checked ? '1' : '';\n        return (el.value || '').trim();\n    }\n\n    function setFieldError(el, msg) {\n        if (!el) return;\n        var group = el.closest('.bp-form-group, .bp-form-checks');\n        var box = el.id ? document.getElementById(el.id + '-error') : null;\n        if (msg) {\n            el.classList.add('is-invalid');\n            el.setAttribute('aria-invalid', 'true');\n            if (group) group.classList.add('is-invalid');\n            if (box) { box.textContent = msg; box.classList.add('is-visible'); }\n        } else {\n            el.classList.remove('is-invalid');\n            el.removeAttribute('aria-invalid');\n            if (group) group.classList.remove('is-invalid');\n            if (box) { box.textContent = ''; box.classList.remove('is-visible'); }\n        }\n    }\n\n    \/\/ Valideaz\u0103 un c\u00e2mp \u0219i \u00eei afi\u0219eaz\u0103\/\u0219terge eroarea. \u00centoarce true dac\u0103 e valid.\n    function validateField(name) {\n        var rule = RULES[name];\n        var el = fieldByName(name);\n        if (!rule || !el) return true;\n        var msg = rule(valueOf(el), el);\n        setFieldError(el, msg);\n        return !msg;\n    }\n\n    \/\/ Valideaz\u0103 tot formularul; \u00eentoarce primul c\u00e2mp invalid (pentru focus) sau null.\n    function validateForm() {\n        var firstInvalid = null;\n        Object.keys(RULES).forEach(function (name) {\n            if (!validateField(name) && !firstInvalid) firstInvalid = fieldByName(name);\n        });\n        return firstInvalid;\n    }\n\n    \/\/ Eroarea apare la blur (nu \u00een timp ce omul \u00eenc\u0103 scrie) \u0219i dispare imediat ce c\u00e2mpul\n    \/\/ devine valid; la bife reac\u021bion\u0103m la change.\n    Object.keys(RULES).forEach(function (name) {\n        var el = fieldByName(name);\n        if (!el) return;\n        if (el.type === 'checkbox') {\n            el.addEventListener('change', function () { validateField(name); });\n            return;\n        }\n        el.addEventListener('blur', function () {\n            if (valueOf(el)) validateField(name);\n        });\n        el.addEventListener('input', function () {\n            if (el.classList.contains('is-invalid')) validateField(name);\n        });\n        el.addEventListener('change', function () {\n            if (el.classList.contains('is-invalid')) validateField(name);\n        });\n    });\n\n    form.addEventListener('submit', function (event) {\n        event.preventDefault();\n        hideError();\n\n        var config = getConfig();\n        var formData = new FormData(form);\n\n        var firstInvalid = validateForm();\n        if (firstInvalid) {\n            showError('Verific\u0103 c\u00e2mpurile marcate cu ro\u0219u.');\n            if (typeof firstInvalid.focus === 'function') firstInvalid.focus();\n            return;\n        }\n\n        if (submitBtn) {\n            submitBtn.disabled = true;\n            submitBtn.textContent = 'Se trimite...';\n        }\n\n        var payload = new FormData();\n        payload.append('action', config.action || FALLBACK.action);\n        if (config.nonce) {\n            payload.append('nonce', config.nonce);\n        }\n        payload.append('name', (formData.get('name') || '').trim());\n        payload.append('email', (formData.get('email') || '').trim());\n        \/\/ Telefonul pleac\u0103 normalizat (+40735509700 \/ 0735509700), nu cum l-a tastat omul.\n        payload.append('phone', normalizePhone((formData.get('phone') || '').trim()));\n        payload.append('apartment_type', (formData.get('apartment_type') || '').trim());\n        payload.append('message', (formData.get('message') || '').trim());\n        payload.append('gdpr', formData.get('gdpr') === '1' ? '1' : '');\n        payload.append('utm_source', getUtmSource());\n        payload.append('page_url', window.location.href);\n        payload.append('bp_website', (formData.get('bp_website') || '').trim());\n\n        fetch(config.ajaxUrl || FALLBACK.ajaxUrl, {\n            method: 'POST',\n            credentials: 'same-origin',\n            body: payload\n        })\n            .then(function (response) {\n                return response.json().then(function (data) {\n                    return { ok: response.ok, data: data };\n                });\n            })\n            .then(function (result) {\n                if (!result.ok || !result.data || !result.data.success) {\n                    var message = (result.data && result.data.data && result.data.data.message)\n                        ? result.data.data.message\n                        : 'Nu am putut trimite cererea. Te rug\u0103m s\u0103 \u00eencerci din nou.';\n                    throw new Error(message);\n                }\n\n                var redirectUrl = (result.data.data && result.data.data.redirect)\n                    ? result.data.data.redirect\n                    : (config.thankYouUrl || FALLBACK.thankYouUrl);\n\n                window.location.href = redirectUrl;\n            })\n            .catch(function (error) {\n                showError(error && error.message ? error.message : 'Nu am putut trimite cererea. Te rug\u0103m s\u0103 \u00eencerci din nou.');\n                if (submitBtn) {\n                    submitBtn.disabled = false;\n                    submitBtn.textContent = 'Programeaz\u0103 o vizionare';\n                }\n            });\n    });\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n<!-- 5. Galerie -->\n<section class=\"lifestyle-section\" id=\"lifestyle\" style=\"padding: var(--section-py) 0; background: var(--bg-cream);\">\n\n    <!-- GALLERY PART -->\n    <div class=\"gallery-container-outer reveal\" data-inv>\n        <div class=\"galerie-header text-center\">\n            <span class=\"section-label\">Galerie Foto<\/span>\n            <h2 class=\"section-title\">O experien\u021b\u0103 vizual\u0103 BOREAL Plus<\/h2>\n        <\/div>\n        \n        <div class=\"gallery-swiper-outer\">\n            <div class=\"swiper gallery-swiper\">\n                <div class=\"swiper-wrapper\">\n                    <!-- Slide 1 -->\n                    <div class=\"swiper-slide\">\n                        <div class=\"immersive-gallery-slide gallery-item\">\n                            <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/ansamblu1.jpg\" alt=\"Vedere de ansamblu\" loading=\"lazy\" decoding=\"async\">\n                            <span class=\"gallery-caption\" style=\"display: none;\">Vedere Ansamblu<\/span>\n                            <div class=\"slide-info-card\">\n                                <span class=\"slide-category\">ANSAMBLU<\/span>\n                                <p class=\"slide-desc\">Spa\u021bii verzi \u0219i aerisite \u00een complex.<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <!-- Slide 2 -->\n                    <div class=\"swiper-slide\">\n                        <div class=\"immersive-gallery-slide gallery-item\">\n                            <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/ansamblu2.jpg\" alt=\"Case Boreal Plus\" loading=\"lazy\" decoding=\"async\">\n                            <span class=\"gallery-caption\" style=\"display: none;\">Arhitectur\u0103 Modern\u0103<\/span>\n                            <div class=\"slide-info-card\">\n                                <span class=\"slide-category\">ANSAMBLU<\/span>\n                                <p class=\"slide-desc\">Complex modern, cu facilit\u0103\u021bi pentru familii.<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <!-- Slide 3 -->\n                    <div class=\"swiper-slide\">\n                        <div class=\"immersive-gallery-slide gallery-item\">\n                            <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/living.jpg\" alt=\"Living modern\" loading=\"lazy\" decoding=\"async\">\n                            <span class=\"gallery-caption\" style=\"display: none;\">Living Modern<\/span>\n                            <div class=\"slide-info-card\">\n                                <span class=\"slide-category\">LIVING<\/span>\n                                <p class=\"slide-desc\">Ferestre mari \u0219i lumin\u0103 natural\u0103 din abunden\u021b\u0103.<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <!-- Slide 4 -->\n                    <div class=\"swiper-slide\">\n                        <div class=\"immersive-gallery-slide gallery-item\">\n                            <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/dormitor.jpg\" alt=\"Dormitor\" loading=\"lazy\" decoding=\"async\">\n                            <span class=\"gallery-caption\" style=\"display: none;\">Dormitor Elegance<\/span>\n                            <div class=\"slide-info-card\">\n                                <span class=\"slide-category\">DORMITOR<\/span>\n                                <p class=\"slide-desc\">Dormitoare spa\u021bioase \u0219i confortabile, oferind o atmosfer\u0103 intim\u0103 de relaxare.<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <!-- Slide 5 -->\n                    <div class=\"swiper-slide\">\n                        <div class=\"immersive-gallery-slide gallery-item\">\n                            <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/bucatarie.jpg\" alt=\"Buc\u0103t\u0103rie\" loading=\"lazy\" decoding=\"async\">\n                            <span class=\"gallery-caption\" style=\"display: none;\">Buc\u0103t\u0103rie Premium<\/span>\n                            <div class=\"slide-info-card\">\n                                <span class=\"slide-category\">BUC\u0102T\u0102RIE<\/span>\n                                <p class=\"slide-desc\">Parti\u021bii din sticl\u0103 pentru un spa\u021biu deschis \u0219i luminos.<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <!-- Slide 6 -->\n                    <div class=\"swiper-slide\">\n                        <div class=\"immersive-gallery-slide gallery-item\">\n                            <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/Terasa-1.jpg\" alt=\"Terase\" loading=\"lazy\" decoding=\"async\">\n                            <span class=\"gallery-caption\" style=\"display: none;\">Terase Generoase<\/span>\n                            <div class=\"slide-info-card\">\n                                <span class=\"slide-category\">TERAS\u0102<\/span>\n                                <p class=\"slide-desc\">Vedere panoramic\u0103 asupra Lacului Siutghiol.<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <!-- Slide 7 -->\n                    <div class=\"swiper-slide\">\n                        <div class=\"immersive-gallery-slide gallery-item\">\n                            <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/living2.jpg\" alt=\"Living modern 2\" loading=\"lazy\" decoding=\"async\">\n                            <span class=\"gallery-caption\" style=\"display: none;\">Living Modern<\/span>\n                            <div class=\"slide-info-card\">\n                                <span class=\"slide-category\">LIVING<\/span>\n                                <p class=\"slide-desc\">Spa\u021biu modern, generos, cu finisaje premium.<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <!-- Slide 8 -->\n                    <div class=\"swiper-slide\">\n                        <div class=\"immersive-gallery-slide gallery-item\">\n                            <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/dormitor-copii.jpg\" alt=\"Dormitor copii\" loading=\"lazy\" decoding=\"async\">\n                            <span class=\"gallery-caption\" style=\"display: none;\">Dormitor Copii<\/span>\n                            <div class=\"slide-info-card\">\n                                <span class=\"slide-category\">DORMITOR<\/span>\n                                <p class=\"slide-desc\">Dormitoare spa\u021bioase \u0219i luminoase, perfecte pentru copii.<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- Modern Navigation -->\n                <div class=\"modern-nav-prev swiper-button-prev\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"19\" y1=\"12\" x2=\"5\" y2=\"12\"><\/line><polyline points=\"12 19 5 12 12 5\"><\/polyline><\/svg>\n                <\/div>\n                <div class=\"modern-nav-next swiper-button-next\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><polyline points=\"12 5 19 12 12 19\"><\/polyline><\/svg>\n                <\/div>\n            <\/div>\n            \n            <!-- Swiper Pagination -->\n            <div class=\"swiper-pagination\"><\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n<section class=\"lifestyle-section\" id=\"armonie\" style=\"padding: var(--section-py) 0; background: var(--bg-cream);\">\n<div class=\"container\">\n    <!-- EDITORIAL PART 1: INTRO -->\n    <div class=\"lifestyle-editorial reveal\" style=\"margin-bottom: 20px;\">\n        <div class=\"lifestyle-editorial-inner\">\n            <div class=\"lifestyle-text\" data-inv=\"left\">\n                <span class=\"section-label\">Facilit\u0103\u021bi<\/span>\n                <h2 class=\"section-title\" style=\"margin-bottom: 30px;\">BOREAL PLUS \u00eenseamn\u0103 armonie \u0219i confort<\/h2>\n                <p class=\"section-desc\" style=\"font-size: 1.15rem; line-height: 1.8; margin-bottom: 24px;\">\n                   \u00cembr\u0103\u021bi\u0219eaz\u0103 un stil de via\u021b\u0103 cu un plus de confort: de la pozi\u021bionarea excelent\u0103, la aerul curat cu adieri ale brizei m\u0103rii \u0219i toate facilit\u0103\u021bile de care po\u021bi beneficia aproape de locuin\u021b\u0103. Mai mult\u0103 lini\u0219te \u0219i relaxare, f\u0103r\u0103 stresul drumurilor dese \u00een afara ansamblului.\n                <\/p>\n                <div style=\"background: var(--white); padding: 40px; border-radius: 4px; box-shadow: 0 15px 45px rgba(0,64,87,0.05); border-left: 3px solid var(--secondary); margin-top: 40px;\">\n                    <p style=\"font-size: 1rem; color: var(--text-body); line-height: 1.7; margin: 0;\">\n                       Ai mai mult timp pentru tine \u0219i activit\u0103\u021bile preferate pentru c\u0103 \u00een BOREAL Plus beneficiezi de hipermarket in imediata apropiere, spa\u021bii comerciale, teren de sport, parc cu locuri de joac\u0103 \u0219i gr\u0103dini\u021b\u0103. Iar dac\u0103 optezi pentru etajele superioare, ai bonus o panoram\u0103 care te \u00eembie s\u0103 petreci mai mult timp la fereastr\u0103 sau pe terasa spa\u021bioas\u0103, pentru a te bucura de r\u0103s\u0103rit \u0219i o priveli\u0219te panoramic\u0103, a c\u0103rei linie de orizont poate fi chiar marea.\n                    <\/p>\n                <\/div>\n            <\/div>\n            <div class=\"lifestyle-image reveal\" data-inv=\"clip\" style=\"position: relative; margin-top: 20px;\">\n                <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/armonie-si-confort.jpg\" alt=\"Interior Lifestyle\" style=\"width: 100%; height: 600px; object-fit: cover; border-radius: 4px; box-shadow: 20px 20px 0px var(--primary-bg);\" loading=\"lazy\" decoding=\"async\">\n            <\/div>\n        <\/div>\n    <\/div>\n\n\n<\/div> <!-- CLOSE LIFESTYLE CONTENT CONTAINER -->\n<\/section>\n\n<!-- 5.4 CTA B \u2014 band\u0103 crem cu ram\u0103 (artboard \"Site \u2014 08 \u00b7 CTA B\") -->\n<section class=\"cta-box\">\n<div class=\"container\">\n<div class=\"cta-box-frame\">\n\n<div class=\"cta-box-text reveal\">\n<span class=\"cta-box-eyebrow\">Apartamente disponibile acum<\/span>\n<h2 class=\"cta-box-title\">Cere lista complet\u0103, cu pre\u021buri \u0219i disponibilitate<\/h2>\n<p class=\"cta-box-desc\">\u00ce\u021bi trimitem planurile, suprafe\u021bele \u0219i etajele libere din Faza 1, actualizate la zi.<\/p>\n<\/div>\n\n<div class=\"cta-box-action reveal\">\n<a href=\"#contact-form-section\" class=\"cta-box-btn\">Cere lista complet\u0103\n<svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M5 12h14\"><\/path><path d=\"M13 6l6 6-6 6\"><\/path><\/svg>\n<\/a>\n<a href=\"tel:+40735509700\" class=\"cta-box-tel\">\n<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M3 18v-6a9 9 0 0 1 18 0v6\"><\/path><path d=\"M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z\"><\/path><\/svg>\n+40 735 509 700\n<\/a>\n<\/div>\n\n<\/div>\n<\/div>\n<\/section>\n\n<!-- 5.5. FACILIT\u0102\u021aI (\u00cen loc de Finisaje) -->\n<section class=\"facilitati\" id=\"facilitati\">\n<div class=\"container\">\n    <div class=\"facilitati-text reveal\" data-inv style=\"margin-bottom: 60px;\">\n        <h2 class=\"section-title\">Un cartier de viitor pentru tineri \u0219i familii<\/h2>\n    <\/div>\n\n    <div class=\"facilitati-modern-grid reveal\">\n        <!-- Benefit 1: Finisaje & Dotari -->\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"1\">\n            <div class=\"fac-icon-modern\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg>\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Finisaje & dot\u0103ri premium<\/h4>\n                <p>Finisaje \u0219i dot\u0103ri de \u00eenalt\u0103 calitate \u00een Noul Boreal, alese special pentru un stil de via\u021b\u0103 rafinat.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Benefit 2: Arhitectura -->\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"2\">\n            <div class=\"fac-icon-modern\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"\/><line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"\/><line x1=\"15\" y1=\"3\" x2=\"15\" y2=\"21\"\/><line x1=\"3\" y1=\"9\" x2=\"21\" y2=\"9\"\/><line x1=\"3\" y1=\"15\" x2=\"21\" y2=\"15\"\/><\/svg>\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Arhitectur\u0103 & construc\u021bie solid\u0103<\/h4>\n                <p>Premiul Residential Development Romania, oferit de European Property Awards \u00een 2020 \u2013 2021.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Benefit 3: Lumina & Terase -->\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"3\">\n            <div class=\"fac-icon-modern\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><circle cx=\"12\" cy=\"12\" r=\"5\"\/><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"\/><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"\/><line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"\/><line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"\/><line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"\/><line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"\/><line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"\/><line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"\/><\/svg>\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Lumin\u0103 natural\u0103 & terase generoase<\/h4>\n                <p>Spa\u021bii vitrate ample ce las\u0103 lumina s\u0103 p\u0103trund\u0103 \u00een fiecare \u00eenc\u0103pere \u0219i terase mari ideale pentru relaxare.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Benefit 4: Eficienta \/ Termic -->\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"4\">\n            <div class=\"fac-icon-modern\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M13 2L3 14h9l-1 8 10-12h-9l1-8z\"\/><\/svg>\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Confort termic & facturi mai mici<\/h4>\n                <p>Izola\u021bii fonice \u0219i termice performante ce asigur\u0103 costuri de \u00eenc\u0103lzire\/r\u0103cire mai mici.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Benefit 5: Eficienta \/ Sustenabilitate -->\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"5\">\n            <div class=\"fac-icon-modern\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/><path d=\"M2 12h20\"\/><\/svg>\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Eficien\u021b\u0103 energetic\u0103 & dezvoltare sustenabil\u0103<\/h4>\n                <p>Eficien\u021b\u0103 energetic\u0103 ridicat\u0103, sustenabilitate \u0219i cheltuieli de \u00eentre\u021binere reduse pe termen lung.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Benefit 6: Parcare proprie -->\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"6\">\n            <div class=\"fac-icon-modern\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"10\" rx=\"2\"\/><circle cx=\"7\" cy=\"15\" r=\"2\"\/><circle cx=\"17\" cy=\"15\" r=\"2\"\/><path d=\"M5 11V7a2 2 0 012-2h10a2 2 0 012 2v4\"\/><\/svg>\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Parcare proprie protejat\u0103<\/h4>\n                <p>Locuri de parcare private \u00een cadrul complexului, at\u00e2t la exterior, c\u00e2t \u0219i \u00een cl\u0103dire de parc\u0103ri.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Benefit 7: Gradini private -->\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"7\">\n            <div class=\"fac-icon-modern\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M12 3v18M3 12h18M12 3l4 4M12 3L8 7M12 21l4-4M12 21l-4 4\"\/><\/svg>\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Gr\u0103dini private la parter<\/h4>\n                <p>Apartamentele situate la parter dispun de spa\u021bii verzi private, ideale pentru relaxare.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Benefit 8: Acces rapid -->\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"8\">\n            <div class=\"fac-icon-modern\">\n                <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/05\/cerc1.png\" alt=\"Loca\u021bie\" style=\"width: 24px; height: 24px; object-fit: contain;\" loading=\"lazy\" decoding=\"async\">\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Conectivitate excelent\u0103<\/h4>\n                <p>Loca\u021bie strategic\u0103 cu acces rapid la orice punct de interes din Constan\u021ba \u0219i direct la plaj\u0103.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Benefit 9: Pol dezvoltare -->\n        \n\n        <!-- Benefit 10: Comunitate -->\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"9\">\n            <div class=\"fac-icon-modern\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg>\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Comunitate vibrant\u0103 & unit\u0103<\/h4>\n                <p>Un mediu de locuire format din oameni \u0219i familii tinere ce \u00eemp\u0103rt\u0103\u0219esc acelea\u0219i valori.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Benefit 11: Gradinita -->\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"10\">\n            <div class=\"fac-icon-modern\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M22 10v6M2 10l10-5 10 5-10 5z\"\/><path d=\"M6 12v5c0 2 2 3 6 3s6-1 6-3v-5\"\/><\/svg>\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Gr\u0103dini\u021b\u0103 privat\u0103 \u00een complex<\/h4>\n                <p>Un plus de confort pentru familii:  acces rapid, siguran\u021b\u0103 \u0219i timp c\u00e2\u0219tigat \u00een fiecare zi.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Benefit 12: Retail & Spatii Verzi -->\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"11\">\n            <div class=\"fac-icon-modern\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><circle cx=\"9\" cy=\"21\" r=\"1\"\/><circle cx=\"20\" cy=\"21\" r=\"1\"\/><path d=\"M1 1h4l2.68 13.39a2 2 0 002 1.61h9.72a2 2 0 002-1.61L23 6H6\"\/><\/svg>\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Hypermarket \u0219i spa\u021bii comerciale <\/h4>\n                <p>Hipermarket Kaufland la doi pa\u0219i de complex \u0219i spa\u021bii comerciale \u00een ansamblu.<\/p>\n            <\/div>\n        <\/div>\n        <div class=\"fac-item-modern\" data-inv=\"scale\" data-i=\"12\">\n            <div class=\"fac-icon-modern\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M23 6l-9.5 9.5-5-5L1 18\"\/><polyline points=\"17 6 23 6 23 12\"\/><\/svg>\n            <\/div>\n            <div class=\"fac-info-modern\">\n                <h4>Parc \u00een vecin\u0103tate<\/h4>\n                <p>Un nou parc public planificat pentru dezvoltare l\u00e2ng\u0103 faza a doua a complexului.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/section>\n\n<!-- 5.6 SERVICII PREMIUM -->\n<section class=\"premium-services-section\" id=\"servicii\">\n<div class=\"container\">\n    <div class=\"text-center reveal\" data-inv style=\"margin-bottom: 60px;\">\n        <span class=\"section-label\">Servicii Premium<\/span>\n        <h2 class=\"section-title\">Suport personalizat la fiecare pas<\/h2>\n        <p style=\"font-size: 1.15rem; line-height: 1.8; color: var(--text-dark); margin: 20px auto 20px; font-weight: 500; font-family: 'Inter', sans-serif;\">\n            Suntem al\u0103turi de tine la fiecare pas \u00een drumul c\u0103tre noua ta locuin\u021b\u0103. De la alegerea celei mai bune solu\u021bii de creditare \u00een cel mai scurt timp posibil, p\u00e2n\u0103 la serviciile de design interior \u0219i mobilare, un consultant dedicat te va ajuta pas cu pas, pentru ca experien\u021ba achizi\u021bion\u0103rii locuin\u021bei s\u0103 fie una u\u0219oar\u0103 \u0219i pl\u0103cut\u0103.\n        <\/p>\n    <\/div>\n\n\n    <div class=\"premium-services-grid\">\n        <!-- Card 2: Solu\u021bii de finan\u021bare -->\n        <div class=\"premium-service-card reveal\" data-inv data-i=\"1\" style=\"transition-delay: 150ms;\">\n            <div class=\"service-icon-box\">\n                <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><rect x=\"2\" y=\"5\" width=\"20\" height=\"14\" rx=\"2\"\/><line x1=\"2\" y1=\"10\" x2=\"22\" y2=\"10\"\/><\/svg>\n            <\/div>\n            <h3>Solu\u021bii de finan\u021bare<\/h3>\n            <div class=\"service-content\" style=\"margin-top: 15px; margin-bottom: 25px;\">\n                <p style=\"font-size: 0.95rem; color: var(--text-body); line-height: 1.6; margin: 0;\">Prin parteneriate solide cu principalele institu\u021bii bancare, \u00ee\u021bi oferim acces la produse financiare competitive \u0219i consiliere personalizat\u0103 pentru ob\u021binerea creditului potrivit.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Card 3: Design interior \u0219i livrare la cheie -->\n        <div class=\"premium-service-card reveal\" data-inv data-i=\"2\" style=\"transition-delay: 300ms;\">\n            <div class=\"service-icon-box\">\n                <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 11-7.778 7.778 5.5 5.5 0 017.777-7.777zm0 0L15.5 7.5m0 0l3 3M15.5 7.5L14 9M18.5 4.5L17 6\"\/><\/svg>\n            <\/div>\n            <h3>Design interior \u0219i livrare la cheie<\/h3>\n            <div class=\"service-content\" style=\"margin-top: 15px; margin-bottom: 25px;\">\n                <p style=\"font-size: 0.95rem; color: var(--text-body); line-height: 1.6; margin: 0;\">\u00ce\u021bi oferim sprijin pentru amenajarea complet\u0103 a propriet\u0103\u021bii, de la concept \u0219i design interior p\u00e2n\u0103 la mobilare \u0219i livrare gata de locuit.<\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Card 1: Consultan\u021b\u0103 \u00een v\u00e2nz\u0103ri -->\n        <div class=\"premium-service-card reveal\" data-inv data-i=\"3\">\n            <div class=\"service-icon-box\">\n                <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 00-3-3.87\"\/><path d=\"M16 3.13a4 4 0 010 7.75\"\/><\/svg>\n            <\/div>\n            <h3>Administrare prin SPATZIOO<\/h3>\n            <div class=\"service-content\" style=\"margin-top: 15px; margin-bottom: 25px;\">\n                <p style=\"font-size: 0.95rem; color: var(--text-body); line-height: 1.6; margin: 0;\">\u00ce\u021bi oferim servicii integrate de administrare prin SPATZIOO, de la mentenan\u021b\u0103, interven\u021bii tehnice 24\/7 \u0219i securitate, p\u00e2n\u0103 la cur\u0103\u021benie, \u00eentre\u021binerea spa\u021biilor verzi, administrare financiar contabil\u0103 \u0219i suport pentru reziden\u021bi.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/section>\n\n<!-- 9. DEZVOLTATOR -->\n<section class=\"dezvoltator\" id=\"dezvoltator\">\n<div class=\"container\">\n    <div class=\"dezvoltator-top reveal\" style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-bottom: 100px;\">\n        <div class=\"dezvoltator-text\" data-inv=\"left\">\n            <span class=\"section-label\">Dezvoltator<\/span>\n            <h2 class=\"section-title\">BOREAL Plus, dezvoltat de IMPACT<\/h2>\n            <p class=\"section-desc\" style=\"font-size: 1.1rem; line-height: 1.8; margin-bottom: 24px;\">\n                Boreal Plus continu\u0103 o poveste real\u0103 construit\u0103 de IMPACT \u0219i dus\u0103 mai departe de fiecare familie care a ales aici un mod de via\u021b\u0103 mai bun. Inspirat de Boreal, primul ansamblu reziden\u021bial construit \u00een Constan\u021ba dup\u0103 1989, noul proiect aduce \u00een nordul ora\u0219ului locuin\u021be moderne, spa\u021bii verzi amenajate, facilit\u0103\u021bi comerciale \u0219i un plus de confort pentru via\u021ba de zi cu zi.\n            <\/p>\n            <p class=\"section-desc\" style=\"font-size: 1rem; line-height: 1.7;\">\n                IMPACT Developer & Contractor S.A., primul dezvoltator imobiliar listat la Bursa de Valori Bucure\u0219ti, \u00eenc\u0103 din 1996, are o experien\u021b\u0103 de peste trei decenii \u00een dezvoltarea unor proiecte reziden\u021biale care contribuie la evolu\u021bia locuirii urbane din Rom\u00e2nia. Viziunea companiei pune accent pe sustenabilitate, calitate \u0219i dezvoltarea unor comunit\u0103\u021bi durabile, g\u00e2ndite pentru familii. \n            <\/p>\n            <div class=\"dezvoltator-quote-box\">\n                <p>\n                    Prin expertiza acumulat\u0103 \u0219i prin serviciile integrate ale grupului, IMPACT coordoneaz\u0103 \u00eentregul proces de dezvoltare, de la concept \u0219i proiectare p\u00e2n\u0103 la construc\u021bie \u0219i administrare. Portofoliul companiei include proiecte de referin\u021b\u0103 precum GREENFIELD B\u0103neasa, cea mai mare comunitate reziden\u021bial\u0103 din nordul capitalei \u0219i LUXURIA Residence, primul ansamblu reziden\u021bial din Rom\u00e2nia certificat BREEAM Excellent. \n                <\/p>\n            <\/div>\n        <\/div>\n        <div class=\"dezvoltator-image reveal\" data-inv=\"clip\">\n            <img src=\"https:\/\/ariaverdi.ro\/wp-content\/themes\/hello-biz\/assets\/homepage-2\/poza-impact_square-scaled.jpg\" alt=\"IMPACT Developer & Contractor\" style=\"width: 100%; height: 500px; object-fit: cover; border-radius: 4px; box-shadow: 30px 30px 0 rgba(180, 144, 121, 0.15);\" loading=\"lazy\" decoding=\"async\">\n        <\/div>\n    <\/div>\n\n    <div class=\"performance-grid reveal\">\n        <!-- Card 1 -->\n        <div class=\"performance-card\" data-inv=\"scale\" data-i=\"1\">\n            <div class=\"perf-icon\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/><\/svg>\n            <\/div>\n            <div class=\"perf-value\" data-inv-count=\"591\">591<\/div>\n            <div class=\"perf-unit\">MILIOANE LEI<\/div>\n            <div class=\"perf-label\">Capital social<\/div>\n        <\/div>\n\n        <!-- Card 2 -->\n        <div class=\"performance-card\" data-inv=\"scale\" data-i=\"2\">\n            <div class=\"perf-icon\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M3 12a9 9 0 0 1 9-9 9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9z\"\/><path d=\"M8 12h8\"\/><path d=\"M12 8v8\"\/><\/svg>\n            <\/div>\n            <div class=\"perf-value\" data-inv-count=\"331\">331<\/div>\n            <div class=\"perf-unit\">MILIOANE LEI<\/div>\n            <div class=\"perf-label\">Venituri<\/div>\n        <\/div>\n\n        <!-- Card 3 -->\n        <div class=\"performance-card\" data-inv=\"scale\" data-i=\"3\">\n            <div class=\"perf-icon\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\"\/><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"\/><\/svg>\n            <\/div>\n            <div class=\"perf-value\" data-inv-count=\"82.5\">82,5<\/div>\n            <div class=\"perf-unit\">MILIOANE LEI<\/div>\n            <div class=\"perf-label\">Profit net<\/div>\n        <\/div>\n\n        <!-- Card 4 -->\n        <div class=\"performance-card\" data-inv=\"scale\" data-i=\"4\">\n            <div class=\"perf-icon\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\/><polyline points=\"14 2 14 8 20 8\"\/><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"\/><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"\/><line x1=\"10\" y1=\"9\" x2=\"8\" y2=\"9\"\/><\/svg>\n            <\/div>\n            <div class=\"perf-value\" data-inv-count=\"1050.84\">1.050,84<\/div>\n            <div class=\"perf-unit\">MILIOANE LEI<\/div>\n            <div class=\"perf-label\">Activ net IFRS<\/div>\n        <\/div>\n\n        <!-- Card 5 -->\n        <div class=\"performance-card\" data-inv=\"scale\" data-i=\"5\">\n            <div class=\"perf-icon\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\"\/><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"\/><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\"\/><\/svg>\n            <\/div>\n            <div class=\"perf-value\" data-inv-count=\"1381.94\">1.381,94<\/div>\n            <div class=\"perf-unit\">MILIOANE LEI<\/div>\n            <div class=\"perf-label\">Active net la valoarea de pia\u021b\u0103<\/div>\n        <\/div>\n    <\/div>\n    <p class=\"text-center\" style=\"margin-top: 40px; font-size: 0.85rem; color: rgba(255, 255, 255, 0.4); letter-spacing: 0.5px;\">Performan\u021ba grupului la 31 decembrie 2025<\/p>\n<\/div>\n<\/section>\n\n<!-- 8. BLOG -->\n<section class=\"blog-section\" id=\"blog\" style=\"padding: var(--section-py) 0; background: var(--white);\">\n<div class=\"container\">\n    <div class=\"blog-header text-center reveal\" data-inv style=\"margin-bottom: 60px;\">\n        <span class=\"section-label\">Articole & Nout\u0103\u021bi<\/span>\n        <h2 class=\"section-title\">Afl\u0103 nout\u0103\u021bile Boreal Plus!<\/h2>\n    <\/div>\n\n    <div class=\"blog-grid\" id=\"wp-blog-grid\" style=\"display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px;\">\n        <!-- Articol 1 -->\n        <article class=\"blog-card reveal\" data-inv data-i=\"1\">\n            <div class=\"blog-card-img\" style=\"height: 250px; overflow: hidden; border-radius: 4px; margin-bottom: 20px;\">\n                <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/ansamblu1.jpg\" alt=\"Articol 1\" style=\"width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease;\" loading=\"lazy\" decoding=\"async\">\n            <\/div>\n            <div class=\"blog-card-content\">\n                <span style=\"color: var(--secondary); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; font-weight: 600;\">Comunitate<\/span>\n                <h3 style=\"font-family: 'Outfit', sans-serif; font-size: 1.3rem; margin: 12px 0; color: var(--primary-dark); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; height: 2.8em;\">Evolu\u021bia lucr\u0103rilor \u00een BOREAL Plus<\/h3>\n                <p style=\"font-size: 0.95rem; color: var(--text-body); line-height: 1.6; margin-bottom: 20px;\">Afl\u0103 stadiul actual al construc\u021biei \u0219i ce urmeaz\u0103 \u00een urm\u0103toarele luni pentru noul t\u0103u acas\u0103.<\/p>\n                <a href=\"#\" style=\"color: var(--primary); font-weight: 600; text-decoration: none; font-size: 0.9rem; display: inline-flex; align-items: center; gap: 8px;\">\n                    Cite\u0219te mai mult <span>&rarr;<\/span>\n                <\/a>\n            <\/div>\n        <\/article>\n\n        <!-- Articol 2 -->\n        <article class=\"blog-card reveal\" data-inv data-i=\"2\">\n            <div class=\"blog-card-img\" style=\"height: 250px; overflow: hidden; border-radius: 4px; margin-bottom: 20px;\">\n                <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/living.jpg\" alt=\"Articol 2\" style=\"width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease;\" loading=\"lazy\" decoding=\"async\">\n            <\/div>\n            <div class=\"blog-card-content\">\n                <span style=\"color: var(--secondary); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; font-weight: 600;\">Design Interior<\/span>\n                <h3 style=\"font-family: 'Outfit', sans-serif; font-size: 1.3rem; margin: 12px 0; color: var(--primary-dark); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; height: 2.8em;\">Sfaturi pentru amenajarea unui apartament luminos<\/h3>\n                <p style=\"font-size: 0.95rem; color: var(--text-body); line-height: 1.6; margin-bottom: 20px;\">Cum s\u0103 profi\u021bi la maximum de suprafe\u021bele vitrate mari \u0219i s\u0103 creezi un spa\u021biu aerisit.<\/p>\n                <a href=\"#\" style=\"color: var(--primary); font-weight: 600; text-decoration: none; font-size: 0.9rem; display: inline-flex; align-items: center; gap: 8px;\">\n                    Cite\u0219te mai mult <span>&rarr;<\/span>\n                <\/a>\n            <\/div>\n        <\/article>\n\n        <!-- Articol 3 -->\n        <article class=\"blog-card reveal\" data-inv data-i=\"3\">\n            <div class=\"blog-card-img\" style=\"height: 250px; overflow: hidden; border-radius: 4px; margin-bottom: 20px;\">\n                <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/ansamblu2.jpg\" alt=\"Articol 3\" style=\"width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease;\" loading=\"lazy\" decoding=\"async\">\n            <\/div>\n            <div class=\"blog-card-content\">\n                <span style=\"color: var(--secondary); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; font-weight: 600;\">Lifestyle<\/span>\n                <h3 style=\"font-family: 'Outfit', sans-serif; font-size: 1.3rem; margin: 12px 0; color: var(--primary-dark); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; height: 2.8em;\">10 locuri de vizitat \u00een apropierea cartierului t\u0103u<\/h3>\n                <p style=\"font-size: 0.95rem; color: var(--text-body); line-height: 1.6; margin-bottom: 20px;\">De la plimb\u0103ri pe malul lacului, la cele mai bune restaurante din Constan\u021ba.<\/p>\n                <a href=\"#\" style=\"color: var(--primary); font-weight: 600; text-decoration: none; font-size: 0.9rem; display: inline-flex; align-items: center; gap: 8px;\">\n                    Cite\u0219te mai mult <span>&rarr;<\/span>\n                <\/a>\n            <\/div>\n        <\/article>\n    <\/div>\n<\/div>\n<\/section>\n\n<!-- 10. CONTACT -->\n<section class=\"contact-section\" id=\"contact\" style=\"padding: var(--section-py) 0; background: var(--bg-cream);\">\n    <div class=\"container\">\n                <!-- Contact Info Row -->\n        <!-- CONTACT JOS \u2014 split bleumarin \/ crem (artboard \"Site \u2014 10 \u00b7 Contact jos\", f\u0103r\u0103 subsol) -->\n<div class=\"bp-contact\">\n\n    <div class=\"bp-contact-main reveal\">\n        <span class=\"bp-contact-eyebrow\">Contact<\/span>\n        <h2 class=\"bp-contact-title\">Te a\u0219tept\u0103m la biroul de v\u00e2nz\u0103ri<\/h2>\n\n        <div class=\"bp-contact-grid\">\n            <div class=\"bp-contact-block\">\n                <span class=\"bp-contact-lbl\">Birou v\u00e2nz\u0103ri Constan\u021ba<\/span>\n                <span class=\"bp-contact-val\">Strada Amsterdam nr. 5,<br>Bloc M1, Constan\u021ba<\/span>\n                <a href=\"https:\/\/maps.google.com\/?q=Strada+Amsterdam+Nr.+5,+Bloc+M1,+Constan%C8%9Ba\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"bp-contact-link\">Deschide harta <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14\"\/><path d=\"M13 6l6 6-6 6\"\/><\/svg><\/a>\n            <\/div>\n\n            <div class=\"bp-contact-block\">\n                <span class=\"bp-contact-lbl\">Program<\/span>\n                <div class=\"bp-contact-hours\"><span class=\"bp-contact-day\">Luni \u2013 Vineri<\/span><span class=\"bp-contact-dots\"><\/span><span class=\"bp-contact-time\">08:30 \u2013 18:00<\/span><\/div>\n                <div class=\"bp-contact-hours\"><span class=\"bp-contact-day\">S\u00e2mb\u0103t\u0103<\/span><span class=\"bp-contact-dots\"><\/span><span class=\"bp-contact-time\">10:00 \u2013 15:30<\/span><\/div>\n                <div class=\"bp-contact-hours\"><span class=\"bp-contact-day\">Duminic\u0103<\/span><span class=\"bp-contact-dots\"><\/span><span class=\"bp-contact-time\">10:00 \u2013 14:00<\/span><\/div>\n            <\/div>\n\n            <div class=\"bp-contact-block\">\n                <span class=\"bp-contact-lbl\">Contact v\u00e2nz\u0103ri<\/span>\n                <a href=\"tel:+40735509700\" class=\"bp-contact-tel\">+40 735 509 700<\/a>\n                <a href=\"mailto:hello@boreal-plus.ro\" class=\"bp-contact-mail\">hello@boreal-plus.ro<\/a>\n            <\/div>\n\n            <div class=\"bp-contact-block\">\n                <span class=\"bp-contact-lbl\">Sediu central<\/span>\n                <span class=\"bp-contact-addr\">Greenfield B\u0103neasa, Drumul P\u0103durea Mogo\u0219oaia 31\u201341, Sector 1, Bucure\u0219ti<\/span>\n                <a href=\"tel:+40212307570\" class=\"bp-contact-mail\">+40 21 230 75 70<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <div class=\"bp-contact-side reveal\">\n        <span class=\"bp-contact-eyebrow\">Sun\u0103 un consultant<\/span>\n        <p class=\"bp-contact-side-desc\">\u00ce\u021bi r\u0103spund direct, f\u0103r\u0103 call center.<\/p>\n            <div class=\"bp-contact-people\">\n                <div class=\"bp-contact-person\">\n                    <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2024\/08\/Elena-Neagu.png\" alt=\"Elena Neagu\" loading=\"lazy\" decoding=\"async\">\n                    <span class=\"bp-contact-person-name\">Elena Neagu<\/span>\n                    <span class=\"bp-contact-person-role\">Consultant v\u00e2nz\u0103ri<\/span>\n                    <a href=\"tel:+40729100577\" class=\"bp-contact-person-tel\">0729 100 577<\/a>\n                <\/div>\n                <div class=\"bp-contact-person\">\n                    <img src=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2024\/08\/Filiz-Ismail.png\" alt=\"Filiz Ismail\" loading=\"lazy\" decoding=\"async\">\n                    <span class=\"bp-contact-person-name\">Filiz Ismail<\/span>\n                    <span class=\"bp-contact-person-role\">Consultant v\u00e2nz\u0103ri<\/span>\n                    <a href=\"tel:+40747100341\" class=\"bp-contact-person-tel\">0747 100 341<\/a>\n                <\/div>\n            <\/div>\n        <a href=\"#contact-form-component\" class=\"bp-contact-cta\">Preferi s\u0103 te sun\u0103m noi <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14\"\/><path d=\"M13 6l6 6-6 6\"\/><\/svg><\/a>\n    <\/div>\n\n<\/div>\n\n        <!-- Form Section \u2014 MUTAT mai sus, \u00eentre #apartamente \u0219i #lifestyle (vezi sec\u021biunea 4.5) -->\n    <\/div>\n<\/section>\n\n<!-- ============================================================\n     [SCRIPT ANIMA\u021aII]  Motorul de intr\u0103ri + cifrele care num\u0103r\u0103 (acela\u0219i ca pe Investi\u021bii).\n     Independent de main.js: main.js pune .revealed pe .reveal (pentru despre, cifre, CTA,\n     contact), aici se pune .is-in pe [data-inv]. F\u0103r\u0103 IntersectionObserver scoate poarta\n     .bp-anim ca pagina s\u0103 se vad\u0103 \u00eentreag\u0103.\n     ============================================================ -->\n<script>\n(function () {\n    var root = document.documentElement;\n    if (!root.classList.contains('bp-anim')) return;\n    var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n    if (!('IntersectionObserver' in window)) { root.classList.remove('bp-anim'); return; }\n\n    \/* ---- Cifrele care num\u0103r\u0103 (expo-out). Format rom\u00e2nesc: 82,5 \u2192 82,5; 1050.84 \u2192 1.050,84.\n            Num\u0103rul de decimale se ia din textul original, deci HTML-ul r\u0103m\u00e2ne sursa adev\u0103rului. ---- *\/\n    function countUp(el, delayMs) {\n        var to = parseFloat(el.getAttribute('data-inv-count'));\n        if (isNaN(to) || reduce || el.getAttribute('data-inv-done')) return;\n        el.setAttribute('data-inv-done', '1');\n        var original = el.textContent.trim();\n        var decimals = (original.split(',')[1] || '').replace(\/\\D\/g, '').length;\n        var grouped = original.indexOf('.') !== -1 && original.indexOf(',') !== original.indexOf('.') && \/\\d\\.\\d{3}\/.test(original);\n        var fmt = function (v) {\n            if (!decimals && !grouped) return String(Math.round(v));\n            try { return v.toLocaleString('ro-RO', { minimumFractionDigits: decimals, maximumFractionDigits: decimals, useGrouping: grouped }); }\n            catch (e) { return v.toFixed(decimals).replace('.', ','); }\n        };\n        var dur = 1600, t0 = null;\n        el.textContent = fmt(0);\n        function step(ts) {\n            if (t0 === null) t0 = ts;\n            var p = Math.min((ts - t0) \/ dur, 1);\n            var e = p === 1 ? 1 : 1 - Math.pow(2, -10 * p);\n            el.textContent = p === 1 ? original : fmt(to * e);\n            if (p < 1) requestAnimationFrame(step);\n        }\n        setTimeout(function () { requestAnimationFrame(step); }, delayMs || 0);\n    }\n\n    \/* ---- Intr\u0103ri la scroll: .is-in pe [data-inv]. Variantele \u201eclip\" pornesc cu\n            clip-path: inset(100%) \u2014 Chromium le consider\u0103 neintersectate, deci pentru ele se\n            observ\u0103 P\u0102RINTELE. ---- *\/\n    var pending = [];\n    var watched = new Map();\n    function targetFor(el) {\n        var v = el.getAttribute('data-inv') || '';\n        return (v === 'clip' || v === 'clip-x') && el.parentElement ? el.parentElement : el;\n    }\n    var io = new IntersectionObserver(function (entries) {\n        entries.forEach(function (entry) {\n            if (!entry.isIntersecting) return;\n            (watched.get(entry.target) || []).forEach(reveal);\n            watched.delete(entry.target);\n            io.unobserve(entry.target);\n        });\n    }, { threshold: 0.12, rootMargin: '0px 0px -8% 0px' });\n\n    function reveal(el) {\n        if (el.classList.contains('is-in')) return;\n        el.classList.add('is-in');\n        var i = parseInt(el.getAttribute('data-i') || '0', 10) || 0;\n        var nums = el.querySelectorAll('[data-inv-count]');\n        for (var k = 0; k < nums.length; k++) countUp(nums[k], i * 100 + 150);\n    }\n    function watch(el) {\n        if (el.classList.contains('is-in')) return;\n        pending.push(el);\n        var t = targetFor(el);\n        if (!watched.has(t)) { watched.set(t, []); io.observe(t); }\n        watched.get(t).push(el);\n    }\n    [].slice.call(document.querySelectorAll('[data-inv]')).forEach(watch);\n\n    \/* Cardurile de blog sunt reconstruite de main.js din REST (f\u0103r\u0103 data-inv): le etichet\u0103m\n       c\u00e2nd apar, ca s\u0103 intre la fel ca restul. *\/\n    var blogGrid = document.getElementById('wp-blog-grid');\n    if (blogGrid && 'MutationObserver' in window) {\n        new MutationObserver(function () {\n            var cards = blogGrid.querySelectorAll('.blog-card:not([data-inv])');\n            for (var c = 0; c < cards.length; c++) {\n                cards[c].setAttribute('data-inv', '');\n                cards[c].setAttribute('data-i', String(Math.min(c + 1, 12)));\n                watch(cards[c]);\n            }\n        }).observe(blogGrid, { childList: true });\n    }\n\n    \/* Cifrele din banda de cifre stau \u00een elemente animate de style.css (.bp-anim .stat-minimal-item),\n       nu de motorul de aici: le pornim c\u00e2nd itemul lor intr\u0103 \u00een viewport, cu acela\u0219i decalaj. *\/\n    var statNums = document.querySelectorAll('.stat-minimal-item [data-inv-count]');\n    if (statNums.length) {\n        var ioStats = new IntersectionObserver(function (entries) {\n            entries.forEach(function (entry) {\n                if (!entry.isIntersecting) return;\n                var item = entry.target;\n                var idx = Array.prototype.indexOf.call(item.parentElement.children, item);\n                var nums = item.querySelectorAll('[data-inv-count]');\n                for (var k = 0; k < nums.length; k++) countUp(nums[k], 80 + idx * 120);\n                ioStats.unobserve(item);\n            });\n        }, { threshold: 0.4 });\n        var items = document.querySelectorAll('.stat-minimal-item');\n        for (var s = 0; s < items.length; s++) ioStats.observe(items[s]);\n    }\n\n    \/* Plas\u0103 de siguran\u021b\u0103: la 'load' \u0219i la fiecare scroll intr\u0103 tot ce e deja \u00een viewport \u2014\n       acoper\u0103 salturile de layout de la pozele lazy. *\/\n    function sweep() {\n        for (var n = pending.length - 1; n >= 0; n--) {\n            var el = pending[n];\n            if (el.classList.contains('is-in')) { pending.splice(n, 1); continue; }\n            var r = targetFor(el).getBoundingClientRect();\n            if (r.top < window.innerHeight * 0.92 && r.bottom > 0) { reveal(el); pending.splice(n, 1); }\n        }\n    }\n    window.addEventListener('load', sweep);\n\n    \/* ---- Parallax discret pe con\u021binutul hero-ului (doar desktop, f\u0103r\u0103 reduced-motion) ---- *\/\n    var heroContent = document.querySelector('.hero-content');\n    var hero = document.getElementById('hero');\n    var parallaxOn = !reduce && window.innerWidth > 1024 && heroContent && hero;\n    var ticking = false;\n    function onScroll() {\n        if (ticking) return;\n        ticking = true;\n        requestAnimationFrame(function () {\n            var y = window.pageYOffset || document.documentElement.scrollTop || 0;\n            if (parallaxOn) {\n                var h = hero.offsetHeight || 0;\n                hero.style.setProperty('--inv-py', (y < h ? Math.round(y * 0.18) : 0) + 'px');\n            }\n            if (pending.length) sweep();\n            ticking = false;\n        });\n    }\n    window.addEventListener('scroll', onScroll, { passive: true });\n    onScroll();\n})();\n<\/script>\n\n    <!-- Swiper JS (43 KB gzip) nu se mai incarca la fiecare vizita: se cere lazy\n         din main.js cand galeria se apropie de viewport, ca si MapLibre. -->\n\n    <!-- ATEN\u021aIE: NU reactiva linia de mai jos \u00een WordPress.\n         Con\u021binutul din js\/main.js e deja lipit inline \u00een pagin\u0103 (Elementor), iar calea\n         relativ\u0103 \"js\/main.js\" se rezolv\u0103 la https:\/\/boreal-plus.ro\/js\/main.js \u2192 404.\n         WordPress r\u0103spunde la 404 cu pagina de eroare (~246 KB HTML) pe care browserul o\n         descarc\u0103 \u0219i \u00eencearc\u0103 s\u0103 o execute ca JavaScript: band\u0103 irosit\u0103 + eroare \u00een consol\u0103\n         la fiecare vizit\u0103 pe home. Se folose\u0219te doar pentru preview local.\n    <script defer src=\"js\/main.js\"><\/script>\n    -->\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Un cartier de viitor \u00een Constan\u021ba Vezi oferta lunii Vezi apartamentele Despre Proiect Povestea BOREAL Plus Constan\u021ba BOREAL Plus continu\u0103 povestea Boreal \u00een Constan\u021ba, primul ansamblu reziden\u021bial construit \u00een ora\u0219 dup\u0103 1989, \u0219i aduce o viziune actual\u0103 asupra locuirii: mai mult spa\u021biu, mai mult confort \u0219i facilit\u0103\u021bi integrate pentru via\u021ba de zi cu zi. Ansamblul [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-16269","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apartamente noi de vanzare Constan\u021ba - Boreal Plus<\/title>\n<meta name=\"description\" content=\"Apartamente noi \u00een Constan\u021ba, \u00eentr-un cartier modern aproape de Lacul Siutghiol \u0219i Mamaia. Garsoniere \u0219i apartamente cu 2 \u0219i 3 camere.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/boreal-plus.ro\/en\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apartamente noi de vanzare Constan\u021ba - Boreal Plus\" \/>\n<meta property=\"og:description\" content=\"Apartamente noi \u00een Constan\u021ba, \u00eentr-un cartier modern aproape de Lacul Siutghiol \u0219i Mamaia. Garsoniere \u0219i apartamente cu 2 \u0219i 3 camere.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/boreal-plus.ro\/en\/\" \/>\n<meta property=\"og:site_name\" content=\"Boreal Plus\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-16T13:17:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/povesta-boreal.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/\",\"url\":\"https:\\\/\\\/boreal-plus.ro\\\/\",\"name\":\"Apartamente noi de vanzare Constan\u021ba - Boreal Plus\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/boreal-plus.ro\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/hero.jpg\",\"datePublished\":\"2026-05-13T09:48:40+00:00\",\"dateModified\":\"2026-09-16T13:17:41+00:00\",\"description\":\"Apartamente noi \u00een Constan\u021ba, \u00eentr-un cartier modern aproape de Lacul Siutghiol \u0219i Mamaia. Garsoniere \u0219i apartamente cu 2 \u0219i 3 camere.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/boreal-plus.ro\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/#primaryimage\",\"url\":\"https:\\\/\\\/boreal-plus.ro\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/hero.jpg\",\"contentUrl\":\"https:\\\/\\\/boreal-plus.ro\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/hero.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/boreal-plus.ro\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Home\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/#website\",\"url\":\"https:\\\/\\\/boreal-plus.ro\\\/\",\"name\":\"Boreal Plus\",\"description\":\"Apartamente \u0219i case de v\u00e2nzare BOREAL Constan\u021ba\",\"publisher\":{\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/boreal-plus.ro\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/#organization\",\"name\":\"Boreal Plus\",\"url\":\"https:\\\/\\\/boreal-plus.ro\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Boreal Plus\"},\"image\":{\"@id\":\"https:\\\/\\\/boreal-plus.ro\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apartamente noi de vanzare Constan\u021ba - Boreal Plus","description":"Apartamente noi \u00een Constan\u021ba, \u00eentr-un cartier modern aproape de Lacul Siutghiol \u0219i Mamaia. Garsoniere \u0219i apartamente cu 2 \u0219i 3 camere.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/boreal-plus.ro\/en\/","og_locale":"en_US","og_type":"article","og_title":"Apartamente noi de vanzare Constan\u021ba - Boreal Plus","og_description":"Apartamente noi \u00een Constan\u021ba, \u00eentr-un cartier modern aproape de Lacul Siutghiol \u0219i Mamaia. Garsoniere \u0219i apartamente cu 2 \u0219i 3 camere.","og_url":"https:\/\/boreal-plus.ro\/en\/","og_site_name":"Boreal Plus","article_modified_time":"2026-09-16T13:17:41+00:00","og_image":[{"url":"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/povesta-boreal.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/boreal-plus.ro\/","url":"https:\/\/boreal-plus.ro\/","name":"Apartamente noi de vanzare Constan\u021ba - Boreal Plus","isPartOf":{"@id":"https:\/\/boreal-plus.ro\/#website"},"primaryImageOfPage":{"@id":"https:\/\/boreal-plus.ro\/#primaryimage"},"image":{"@id":"https:\/\/boreal-plus.ro\/#primaryimage"},"thumbnailUrl":"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/hero.jpg","datePublished":"2026-05-13T09:48:40+00:00","dateModified":"2026-09-16T13:17:41+00:00","description":"Apartamente noi \u00een Constan\u021ba, \u00eentr-un cartier modern aproape de Lacul Siutghiol \u0219i Mamaia. Garsoniere \u0219i apartamente cu 2 \u0219i 3 camere.","breadcrumb":{"@id":"https:\/\/boreal-plus.ro\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/boreal-plus.ro\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/boreal-plus.ro\/#primaryimage","url":"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/hero.jpg","contentUrl":"https:\/\/boreal-plus.ro\/wp-content\/uploads\/2026\/06\/hero.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/boreal-plus.ro\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/boreal-plus.ro\/"},{"@type":"ListItem","position":2,"name":"Home"}]},{"@type":"WebSite","@id":"https:\/\/boreal-plus.ro\/#website","url":"https:\/\/boreal-plus.ro\/","name":"Boreal Plus","description":"Apartments and houses for sale BOREAL Constan\u021ba","publisher":{"@id":"https:\/\/boreal-plus.ro\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/boreal-plus.ro\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/boreal-plus.ro\/#organization","name":"Boreal Plus","url":"https:\/\/boreal-plus.ro\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/boreal-plus.ro\/#\/schema\/logo\/image\/","url":"","contentUrl":"","caption":"Boreal Plus"},"image":{"@id":"https:\/\/boreal-plus.ro\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/boreal-plus.ro\/en\/wp-json\/wp\/v2\/pages\/16269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/boreal-plus.ro\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/boreal-plus.ro\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/boreal-plus.ro\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/boreal-plus.ro\/en\/wp-json\/wp\/v2\/comments?post=16269"}],"version-history":[{"count":451,"href":"https:\/\/boreal-plus.ro\/en\/wp-json\/wp\/v2\/pages\/16269\/revisions"}],"predecessor-version":[{"id":18112,"href":"https:\/\/boreal-plus.ro\/en\/wp-json\/wp\/v2\/pages\/16269\/revisions\/18112"}],"wp:attachment":[{"href":"https:\/\/boreal-plus.ro\/en\/wp-json\/wp\/v2\/media?parent=16269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}