:root{--p:#20332d;--s:#d7c3a5;--a:#9f6d48;--paper:#f5f1e8;--surface:#fffdf8;--ink:#171714;--muted:#716e67;--line:#ddd6ca;--radius:24px;--font-heading:Georgia,"Times New Roman",serif;--font-body:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--card-shadow:0 8px 25px rgba(0,0,0,.05)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block}
.siteHeader{position:sticky;top:0;z-index:40;background:rgba(245,241,232,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:15px 5vw}.siteBrand{display:flex;align-items:center;gap:12px;font-weight:800}.brandMark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--p);color:#fff;font-family:var(--font-heading)}.siteNav{display:flex;gap:26px;font-size:14px}.siteNav a:hover{color:var(--a)}.mobileNavBtn{display:none;border:0;background:transparent;font-size:24px}.mobileNav{display:none}
.hero{min-height:78vh;position:relative;display:flex;align-items:flex-end;background-size:cover;background-position:center;color:#fff;padding:120px 5vw 64px}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,10,.12),rgba(8,12,10,.72))}.heroInner{position:relative;z-index:2;max-width:1080px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800}.hero h1,.pageHero h1,.sectionTitle,.propertyTitle{font-family:var(--font-heading);font-weight:400}.hero h1{font-size:clamp(50px,7vw,96px);line-height:.94;margin:14px 0}.hero p{max-width:680px;font-size:18px;line-height:1.6}
.searchPanel{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:9px;background:rgba(255,255,255,.97);padding:12px;border-radius:18px;margin-top:28px;color:var(--ink)}.searchPanel select{border:0;background:#eee9df;border-radius:11px;padding:13px}.btn{border:0;border-radius:11px;padding:13px 17px;font-weight:700}.btnPrimary{background:var(--p);color:#fff}.btnGhost{background:transparent;border:1px solid var(--line)}
.section{padding:76px 5vw}.sectionHead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.sectionTitle{font-size:clamp(40px,5vw,66px);line-height:1;margin:7px 0}.sectionText{color:var(--muted);line-height:1.7;max-width:620px}
.propertyGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.propertyCard{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--card-shadow);transition:.2s;border:var(--card-border,0)}.propertyCard:hover{transform:translateY(-4px)}.propertyCard img{width:100%;aspect-ratio:1.33;object-fit:cover}.propertyBody{padding:18px}.propertyBody h3{font-family:var(--font-heading);font-size:25px;font-weight:400;margin:8px 0}.kicker{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--a);font-weight:800}.price{font-weight:800;font-size:18px;margin:13px 0}.meta{display:flex;gap:13px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.storyTeaser{background:var(--p);color:#fff}.storyLayout{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.storyLayout img{width:100%;aspect-ratio:1.18;object-fit:cover;border-radius:28px}.storyLayout p{color:#d5ddd9;line-height:1.8}.storyLayout .btnGhost{color:#fff;border-color:rgba(255,255,255,.35)}
.ctaBand{display:flex;justify-content:space-between;gap:30px;align-items:center;background:var(--s);border-radius:28px;padding:36px}.ctaBand h2{font-family:var(--font-heading);font-size:42px;font-weight:400;margin:0}.ctaBand p{color:#5f5b54;margin-bottom:0}
.siteFooter{background:#171a18;color:#fff;padding:52px 5vw 28px}.footerGrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.siteFooter small,.siteFooter p{color:#aeb5b1}.footerBottom{margin-top:34px;padding-top:20px;border-top:1px solid #343936;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#8d9590}
.pageHero{padding:86px 5vw 58px;background:var(--p);color:#fff}.pageHero h1{font-size:clamp(48px,7vw,86px);line-height:.95;margin:12px 0}.pageHero p{max-width:720px;color:#d5ddd9;line-height:1.7;font-size:17px}
.historyLayout{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}.historyLayout img{width:100%;border-radius:28px;aspect-ratio:1/1.1;object-fit:cover}.historyCopy p{font-size:17px;line-height:1.85;color:#55554f}.valuesGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.valueCard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.valueCard h3{font:25px Georgia,serif;margin:0 0 8px}.valueCard p{color:var(--muted);line-height:1.6}
.contactLayout{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}.contactCards{display:grid;gap:12px}.contactCard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.contactCard small{display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--a);font-weight:800;font-size:10px}.contactCard strong{display:block;margin-top:7px;font-size:17px}.contactForm{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.field{display:flex;flex-direction:column;gap:7px;margin:11px 0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfaf7;outline:none}.full{grid-column:1/-1}.formMsg{font-size:13px;margin-top:12px}
.propertyPage{padding:38px 5vw 80px}.crumbs{font-size:13px;color:var(--muted);margin-bottom:22px}.propertyHead{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-bottom:28px}.propertyTitle{font-size:clamp(42px,5vw,68px);line-height:1;margin:8px 0}.propertyPrice{font-size:28px;font-weight:800;white-space:nowrap}.galleryMosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:8px;margin-bottom:36px}.galleryMosaic button{border:0;padding:0;overflow:hidden;background:#ddd;position:relative}.galleryMosaic img{width:100%;height:100%;object-fit:cover;transition:.25s}.galleryMosaic button:hover img{transform:scale(1.025)}.galleryMosaic button:first-child{grid-row:1/3;border-radius:20px 0 0 20px}.galleryMosaic button:nth-child(3){border-radius:0 20px 0 0}.galleryMosaic button:nth-child(5){border-radius:0 0 20px 0}.morePhotos{position:absolute;right:14px;bottom:14px;background:#fff;color:#111;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:700}
.propertyColumns{display:grid;grid-template-columns:1.3fr .7fr;gap:48px}.specGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:30px}.spec{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.spec strong{display:block;font-size:20px}.spec small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:9px}.description{line-height:1.8;color:#4e4e49}.amenities{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.amenity{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:13px}.videoWrap{aspect-ratio:16/9;margin-top:28px}.videoWrap iframe{width:100%;height:100%;border:0;border-radius:18px}.contactAside{position:sticky;top:90px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.contactAside h3{font:30px Georgia,serif;margin:0}.contactAside p{color:var(--muted);line-height:1.6}.contactAside .btn{width:100%;margin-top:8px}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:88vw;max-height:86vh;object-fit:contain}.lbClose,.lbPrev,.lbNext{position:absolute;border:0;background:rgba(255,255,255,.13);color:#fff;width:48px;height:48px;border-radius:50%;font-size:28px;display:grid;place-items:center}.lbClose{right:24px;top:22px}.lbPrev{left:24px}.lbNext{right:24px}.lbCount{position:absolute;bottom:24px;color:#fff;font-size:13px;background:rgba(0,0,0,.4);padding:7px 10px;border-radius:999px}.empty{padding:60px 20px;text-align:center;color:var(--muted)}
@media(max-width:950px){.propertyGrid{grid-template-columns:1fr 1fr}.searchPanel{grid-template-columns:1fr 1fr}.storyLayout,.historyLayout,.contactLayout,.propertyColumns{grid-template-columns:1fr}.contactAside{position:static}.valuesGrid{grid-template-columns:1fr 1fr}.galleryMosaic{grid-template-rows:220px 220px}}
@media(max-width:650px){.siteHeader{padding:13px 18px}.siteNav{display:none}.mobileNavBtn{display:block}.mobileNav.open{display:grid;position:fixed;top:67px;left:0;right:0;z-index:39;background:var(--paper);border-bottom:1px solid var(--line);padding:18px;gap:14px}.hero{padding:100px 18px 35px;min-height:88vh}.hero h1{font-size:52px}.searchPanel{grid-template-columns:1fr}.section,.propertyPage{padding:55px 18px}.propertyGrid,.valuesGrid{grid-template-columns:1fr}.sectionHead{align-items:start;flex-direction:column}.storyLayout{gap:28px}.ctaBand{align-items:flex-start;flex-direction:column;padding:26px}.footerGrid{grid-template-columns:1fr}.footerBottom{flex-direction:column}.pageHero{padding:60px 18px 42px}.formGrid{grid-template-columns:1fr}.full{grid-column:auto}.propertyHead{flex-direction:column}.galleryMosaic{grid-template-columns:1fr 1fr;grid-template-rows:240px 150px}.galleryMosaic button:first-child{grid-column:1/-1;grid-row:auto;border-radius:14px}.galleryMosaic button:nth-child(n+4){display:none}.galleryMosaic button:nth-child(3){border-radius:0 0 14px 0}.specGrid{grid-template-columns:1fr 1fr}.lbPrev{left:8px}.lbNext{right:8px}.lbClose{right:12px;top:12px}}

/* v6 loader */
.globalLoader{
  position:fixed;inset:0;z-index:9999;background:rgba(245,241,232,.96);
  display:grid;place-items:center;transition:opacity .22s ease,visibility .22s ease;
}
.globalLoader.hiddenLoader{opacity:0;visibility:hidden;pointer-events:none}
.loaderInner{display:grid;place-items:center;gap:14px;color:var(--p)}
.loaderRing{width:54px;height:54px;border-radius:50%;border:5px solid color-mix(in srgb,var(--p) 18%,transparent);border-top-color:var(--p);animation:spin .9s linear infinite}
.loaderInner strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
@keyframes spin{to{transform:rotate(360deg)}}

/* v7 */
.favoriteBtn,.shareBtn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 13px;font-weight:700}
.favoriteBtn.active{background:var(--p);color:#fff;border-color:var(--p)}
.propertyTools{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.refCode{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted);margin-top:8px}
.mapWrap{height:390px;border-radius:18px;overflow:hidden;margin-top:26px;border:1px solid var(--line);background:#e9e6df}
.favHeader{display:flex;align-items:center;gap:7px}
.platformHero{padding:105px 5vw 75px;background:linear-gradient(135deg,#17231e,#2c3b34);color:#fff}.platformHero h1{font:clamp(52px,7vw,92px) Georgia,serif;line-height:.95;margin:12px 0;max-width:1000px}.platformHero p{max-width:700px;color:#cbd5cf;font-size:18px;line-height:1.7}
.featureGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.featureBox{background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px}.featureBox h3{font:25px Georgia,serif;margin:0 0 8px}.featureBox p{color:var(--muted);line-height:1.65}
.planGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.planCard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px;position:relative}.planCard.pro{border:2px solid var(--p)}.planCard .planTag{position:absolute;right:16px;top:16px;border-radius:999px;background:var(--p);color:#fff;padding:6px 8px;font-size:10px}.planCard h3{font:34px Georgia,serif;margin:5px 0}.planCard ul{padding-left:18px;color:#5d5d57;line-height:1.8}
.errorPage{min-height:75vh;display:grid;place-items:center;text-align:center;padding:40px}.errorPage h1{font:100px Georgia,serif;margin:0;color:var(--p)}.errorPage h2{font:38px Georgia,serif;margin:5px 0}.errorPage p{color:var(--muted)}
@media(max-width:900px){.featureGrid,.planGrid{grid-template-columns:1fr}}

/* v7.4 404 */
.notFoundHero{padding:82px 5vw 55px;background:var(--p);color:#fff}
.notFoundHero .code404{font:clamp(78px,12vw,160px)/.75 Georgia,serif;opacity:.18;margin:0 0 -5px}
.notFoundHero h1{font:clamp(42px,6vw,76px)/.98 Georgia,serif;margin:0 0 15px;max-width:830px}
.notFoundHero p{max-width:650px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.7}
.notFoundActions{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.notFoundActions .btnLight{background:#fff;color:var(--p)}
.suggested404{padding:65px 5vw 90px}
.suggested404Head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:25px}
.suggested404Head h2{font:clamp(36px,4vw,56px) Georgia,serif;margin:5px 0}
.suggested404Head p{color:var(--muted);max-width:520px}
@media(max-width:650px){.notFoundHero{padding:60px 18px 45px}.suggested404{padding:50px 18px}.suggested404Head{align-items:start;flex-direction:column}}

/* v7.7 catalog + featured */
.propertyBadge{position:absolute;left:12px;top:12px;background:var(--a);color:#fff;border-radius:999px;padding:7px 9px;font-size:10px;font-weight:800}
.featuredFlag{position:absolute;right:12px;top:12px;background:var(--p);color:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}
.sectionFooterAction{display:flex;justify-content:center;margin-top:28px}
.featuredEmpty{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.catalogHero{padding:70px 5vw 52px;background:var(--p);color:#fff}
.catalogHero h1{font:clamp(42px,6vw,74px)/1 Georgia,serif;max-width:950px;margin:10px 0 18px}
.catalogHero p{max-width:690px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.65}
.catalogSection{padding:48px 5vw 90px;display:grid;grid-template-columns:minmax(220px,290px) 1fr;gap:38px;align-items:start}
.catalogFilters{position:sticky;top:94px;border:1px solid #e4ddd2;border-radius:18px;padding:20px;background:#fff;display:grid;gap:15px}
.catalogFilterHead{display:flex;align-items:end;justify-content:space-between;gap:12px;border-bottom:1px solid #eee8df;padding-bottom:14px}
.catalogFilterHead h2{font:30px Georgia,serif;margin:2px 0 0}
.catalogFilters label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#5d5a54}
.catalogFilters input,.catalogFilters select{width:100%;box-sizing:border-box;border:1px solid #dcd4c8;border-radius:11px;padding:12px 11px;background:#fff;font:inherit;color:#202720}
.filterReset{border:0;background:transparent;text-decoration:underline;cursor:pointer;color:var(--p);font-weight:800;padding:0 0 3px}
.catalogResultsHead{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:24px}
.catalogResultsHead h2{font:clamp(34px,4vw,54px) Georgia,serif;margin:4px 0 0}
.catalogResultsHead p{color:var(--muted)}
.catalogEmpty{grid-column:1/-1;display:grid;gap:5px}
.catalogEmpty span{color:var(--muted)}
@media(max-width:850px){
 .catalogSection{grid-template-columns:1fr;padding:34px 18px 70px}
 .catalogFilters{position:static}
 .catalogHero{padding:55px 18px 42px}
}

/* v7.8 — featured empty state, property price/contact and map interaction */
[data-featured-section][hidden]{display:none!important}

.propertyHeadMain{min-width:0;max-width:900px}
.propertyAddress{margin:10px 0 0;color:var(--muted);line-height:1.5}
.propertyPriceCard{
  flex:0 0 auto;
  min-width:230px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 8px 24px rgba(31,51,44,.055);
}
.propertyPriceCard span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:9px;
  font-weight:800;
}
.propertyPriceCard strong{
  display:block;
  font:700 27px/1.1 Georgia,serif;
  color:var(--ink);
  white-space:nowrap;
}
.propertyPriceCard small{
  display:block;
  max-width:210px;
  margin-top:7px;
  color:var(--muted);
  line-height:1.4;
}

.contactAside{
  padding:0;
  overflow:hidden;
  box-shadow:0 12px 34px rgba(31,51,44,.06);
}
.contactAsideTop{padding:24px 24px 20px}
.contactAsideTop .kicker{display:block;margin-bottom:8px}
.contactAside h3{font:34px/1.05 Georgia,serif;margin:0 0 12px}
.contactAside p{margin:0;color:var(--muted);line-height:1.65}
.contactAsideRef{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:14px 24px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(215,195,165,.16);
  font-size:12px;
}
.contactAsideRef span{color:var(--muted)}
.contactAsideRef strong{font-size:12px;letter-spacing:.04em}
.contactAsideActions{display:grid;gap:10px;padding:20px 24px 24px}
.contactAsideActions .btn{width:100%;margin:0;text-align:center}

.mapShell{position:relative;border-radius:18px;overflow:hidden}
.mapWrap{border-radius:18px}
.mapGestureHint{
  position:absolute;
  left:50%;
  top:50%;
  z-index:500;
  transform:translate(-50%,-50%) translateY(8px);
  pointer-events:none;
  background:rgba(20,25,22,.86);
  color:#fff;
  border-radius:999px;
  padding:10px 14px;
  font-size:12px;
  font-weight:700;
  opacity:0;
  transition:.18s ease;
  white-space:nowrap;
}
.mapShell:hover .mapGestureHint,
.mapGestureHint.show{opacity:1;transform:translate(-50%,-50%)}
.mapGestureHint.active{background:var(--p)}

@media(max-width:950px){
  .propertyHead{display:grid;grid-template-columns:1fr}
  .propertyPriceCard{min-width:0;width:max-content;max-width:100%}
}
@media(max-width:600px){
  .propertyPriceCard{width:100%}
  .propertyPriceCard strong{white-space:normal}
  .mapGestureHint{white-space:normal;text-align:center;max-width:82%}
}

/* v7.9 — compact property contact card */
.propertyLayout{
  align-items:start !important;
}
.contactAside{
  align-self:start !important;
  height:auto !important;
  min-height:0 !important;
  position:sticky;
  top:105px;
}
.contactAsideTop{
  padding-bottom:18px;
}
.contactAsideActions{
  padding-bottom:20px;
}
@media(max-width:900px){
  .contactAside{
    position:static;
  }
}


/* v7.10 — BlyxSolutions footer signature */
.blyxSignature{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-top:1px solid rgba(127,127,127,.22);
  padding-top:12px;
  margin-top:12px;
  font-size:12px;
  text-align:center;
}
.blyxSignature a{
  text-decoration:none;
  font-weight:800;
}
.blyxSignature .blyxWord{color:#2DD4BF}
.blyxSignature .solutionsWord{color:#FB7185}


/* v7.11 — footer alignment */
.footerBottom{
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid #343936;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:28px;
  font-size:12px;
  color:#8d9590;
}
.footerCopyright{
  display:flex;
  align-items:center;
  min-height:24px;
}
.footerBottom .blyxSignature{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  border-top:0;
  padding-top:0;
  margin-top:0;
  font-size:12px;
  line-height:1;
  text-align:right;
}
.footerBottom .blyxSignature a{
  display:inline-flex;
  align-items:center;
  line-height:1;
  text-decoration:none;
  font-weight:800;
}

@media(max-width:650px){
  .footerBottom{
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:10px;
    text-align:center;
  }
  .footerBottom .blyxSignature{
    justify-content:center;
    text-align:center;
  }
}

/* v7.12 — public assistant */
.ipAssistant{position:fixed;right:22px;bottom:22px;z-index:1500;font-family:Arial,sans-serif}
.ipBotFab{
  width:56px;height:56px;border:0;border-radius:50%;
  background:var(--p);color:#fff;font-size:23px;cursor:pointer;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}
.ipBotFab.hiddenFab{opacity:0;pointer-events:none;transform:scale(.85)}
.ipBotPanel{
  width:min(350px,calc(100vw - 28px));
  background:#fff;border:1px solid #e4ddd2;border-radius:18px;
  box-shadow:0 22px 60px rgba(0,0,0,.20);
  overflow:hidden;
  opacity:0;pointer-events:none;transform:translateY(12px) scale(.98);
  transform-origin:bottom right;transition:.18s ease;
}
.ipBotPanel.open{opacity:1;pointer-events:auto;transform:none}
.ipBotHead{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 17px;background:var(--p);color:#fff;
}
.ipBotHead div{display:grid;gap:2px}.ipBotHead small{font-size:9px;letter-spacing:.14em;opacity:.65}
.ipBotHead strong{font-size:14px}
.ipBotHead button{border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer}
.ipBotBody{padding:16px}
.ipBotBubble{display:inline-block;background:#f2efe8;border-radius:14px 14px 14px 4px;padding:11px 13px;font-size:13px;margin-bottom:13px}
.ipBotChoices{display:grid;gap:8px}
.ipBotChoices a{
  display:block;text-decoration:none;color:var(--ink);border:1px solid #e3ddd3;
  border-radius:11px;padding:11px 12px;font-size:12px;font-weight:700;background:#fff;
}
.ipBotChoices a:hover{border-color:var(--p);background:#faf8f3}
.ipBotNote{padding:10px 16px;border-top:1px solid #eee8df;text-align:center;font-size:10px;color:#948c82}
@media(max-width:600px){.ipAssistant{right:14px;bottom:14px}}

/* v7.13 — contextual conversational assistant */
.ipBotMessages{
  height:330px;
  overflow:auto;
  padding:14px;
  background:#fbfaf7;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ipBotMsg{max-width:88%;display:grid;gap:7px}
.ipBotMsg.user{align-self:flex-end}
.ipBotMsg.bot{align-self:flex-start}
.ipBotBubbleText{
  padding:10px 12px;
  border-radius:13px;
  background:#f0ede6;
  color:#2b312e;
  font-size:12px;
  line-height:1.5;
}
.ipBotMsg.user .ipBotBubbleText{
  background:var(--p);
  color:#fff;
  border-bottom-right-radius:4px;
}
.ipBotMsg.bot .ipBotBubbleText{border-bottom-left-radius:4px}
.ipBotResult{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border:1px solid #e3ddd3;
  border-radius:10px;
  background:#fff;
  text-decoration:none;
  color:var(--ink);
}
.ipBotResult strong{font-size:11px;line-height:1.35}
.ipBotResult span{font-size:10px;color:var(--muted)}
.ipBotAction{
  display:block;
  text-align:center;
  padding:10px 11px;
  border-radius:10px;
  background:var(--p);
  color:#fff!important;
  text-decoration:none;
  font-size:11px;
  font-weight:800;
}
.ipBotQuick{display:flex;gap:6px;flex-wrap:wrap}
.ipBotQuick button{
  border:1px solid #ddd7cd;
  background:#fff;
  border-radius:999px;
  padding:7px 9px;
  font-size:10px;
  cursor:pointer;
  color:var(--ink);
}
.ipBotComposer{
  display:grid;
  grid-template-columns:1fr 42px;
  gap:7px;
  padding:10px;
  border-top:1px solid #eee8df;
  background:#fff;
}
.ipBotComposer input{
  border:1px solid #ddd7cd;
  border-radius:10px;
  padding:10px 11px;
  outline:none;
  font-size:12px;
}
.ipBotComposer input:focus{border-color:var(--p)}
.ipBotComposer button{
  border:0;
  border-radius:10px;
  background:var(--p);
  color:#fff;
  cursor:pointer;
  font-size:16px;
}

/* v7.14 — assistant visibility hardening */
.ipAssistant{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  z-index:99999 !important;
  display:block !important;
  visibility:visible !important;
}
.ipBotFab{
  display:grid !important;
  place-items:center;
}

/* v7.16 — assistant positioning + launcher */
.ipAssistant{
  position:fixed !important;
  inset:auto 24px 24px auto !important;
  width:0 !important;
  height:0 !important;
  z-index:99999 !important;
  display:block !important;
  overflow:visible !important;
  pointer-events:none;
}
.ipBotFab{
  position:absolute !important;
  right:0 !important;
  bottom:0 !important;
  width:auto !important;
  height:48px !important;
  min-width:48px;
  padding:0 15px 0 11px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:999px !important;
  background:var(--p) !important;
  color:#fff !important;
  font:700 12px/1 Arial,sans-serif !important;
  box-shadow:0 12px 34px rgba(0,0,0,.20) !important;
  cursor:pointer;
  pointer-events:auto;
  white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease !important;
}
.ipBotFab:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 38px rgba(0,0,0,.24) !important;
}
.ipBotFabIcon{
  width:27px;height:27px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.13);
  font-size:14px;
}
.ipBotFabLabel{display:block}
.ipBotFab.hiddenFab{
  opacity:0 !important;
  transform:translateY(8px) scale(.96) !important;
  pointer-events:none !important;
}
.ipBotPanel{
  position:absolute !important;
  right:0 !important;
  bottom:0 !important;
  width:min(360px,calc(100vw - 32px)) !important;
  max-height:min(590px,calc(100vh - 48px));
  display:flex;
  flex-direction:column;
  pointer-events:none;
}
.ipBotPanel.open{pointer-events:auto}
.ipBotMessages{
  min-height:230px;
  max-height:360px;
  height:min(360px,45vh);
}
@media(max-width:600px){
  .ipAssistant{
    inset:auto 14px 14px auto !important;
  }
  .ipBotFab{
    height:46px !important;
    padding-right:13px !important;
  }
  .ipBotPanel{
    width:min(350px,calc(100vw - 28px)) !important;
    max-height:calc(100vh - 28px);
  }
}
@media(max-width:390px){
  .ipBotFabLabel{display:none}
  .ipBotFab{
    width:48px !important;
    padding:0 !important;
  }
}

/* v7.17 — centered Blyx signature so chat launcher never overlaps it */
.footerBottom{
  position:relative;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  gap:18px;
}
.footerCopyright{
  grid-column:1;
  justify-self:start;
}
.footerBottom .blyxSignature{
  grid-column:2;
  justify-self:center;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap;
}
.footerBottom::after{
  content:"";
  grid-column:3;
}
@media(max-width:650px){
  .footerBottom{
    display:flex !important;
    flex-direction:column;
    align-items:center !important;
    justify-content:center !important;
    gap:10px;
  }
  .footerCopyright,
  .footerBottom .blyxSignature{
    justify-self:auto;
  }
  .footerBottom::after{display:none}
}

/* v7.21 — no theme flash */
html.tenantLoading{background:var(--loader-bg,var(--p,#20332d))}
html.tenantLoading .globalLoader{
  background:var(--loader-bg,var(--p,#20332d))!important
}
html.tenantLoading .globalLoader .loaderInner{
  color:var(--loader-fg,#fff)!important
}
html.tenantLoading .globalLoader .loaderRing{
  border-color:color-mix(in srgb,var(--loader-fg,#fff) 24%,transparent)!important;
  border-top-color:var(--loader-fg,#fff)!important
}


/* v7.23 — apariencia configurable por inmobiliaria */
html[data-corner-style="square"]{--radius:4px}
html[data-corner-style="soft"]{--radius:16px}
html[data-corner-style="rounded"]{--radius:28px}

html[data-card-style="shadow"]{--card-shadow:0 14px 38px rgba(20,30,25,.10);--card-border:0}
html[data-card-style="border"]{--card-shadow:none;--card-border:1px solid var(--line)}
html[data-card-style="flat"]{--card-shadow:none;--card-border:0}

html[data-visual-style="classic"] .hero h1,
html[data-visual-style="classic"] .pageHero h1,
html[data-visual-style="classic"] .sectionTitle{
  letter-spacing:-.025em;
}
html[data-visual-style="classic"] .propertyCard:hover{transform:none}
html[data-visual-style="classic"] .eyebrow,
html[data-visual-style="classic"] .kicker{letter-spacing:.2em}
html[data-visual-style="classic"] .btn{border-radius:2px}
html[data-visual-style="classic"] .searchPanel{border-radius:3px}
html[data-visual-style="classic"] .searchPanel select{border-radius:1px}

html[data-visual-style="modern"]{
  --paper:#f6f8fa;
  --surface:#ffffff;
}
html[data-visual-style="modern"] .hero h1{
  font-weight:700;
  letter-spacing:-.055em;
  line-height:.9;
}
html[data-visual-style="modern"] .sectionTitle{
  font-weight:700;
  letter-spacing:-.045em;
}
html[data-visual-style="modern"] .btn{border-radius:999px}
html[data-visual-style="modern"] .searchPanel{border-radius:26px}
html[data-visual-style="modern"] .searchPanel select{border-radius:18px}
html[data-visual-style="modern"] .propertyCard:hover{transform:translateY(-7px)}

html[data-hero-align="center"] .hero{
  align-items:center;
  text-align:center;
}
html[data-hero-align="center"] .heroInner{
  margin-inline:auto;
}
html[data-hero-align="center"] .hero p{
  margin-inline:auto;
}
html[data-hero-align="center"] .searchPanel{
  max-width:1040px;
  margin-left:auto;
  margin-right:auto;
}

html[data-header-style="solid"] .siteHeader{
  background:var(--paper);
  backdrop-filter:none;
}
html[data-header-style="glass"] .siteHeader{
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(14px);
}
html[data-header-style="minimal"] .siteHeader{
  background:var(--paper);
  border-bottom-color:transparent;
  backdrop-filter:none;
}
html[data-header-style="minimal"] .brandMark{
  background:transparent;
  color:var(--p);
  border:1px solid var(--p);
}

.hero h1,.pageHero h1,.sectionTitle,.propertyTitle,
.propertyBody h3,.ctaBand h2,.brandMark{
  font-family:var(--font-heading);
}
body,button,input,select,textarea{
  font-family:var(--font-body);
}


/* v7.26 — alquiler temporario */
.temporaryRates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-6px 0 24px}
.temporaryRates>div{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.temporaryRates span{display:block;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.temporaryRates strong{font-size:16px}
.temporaryStayBox{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}
.temporaryStayBox>div{padding:15px;border-radius:14px;background:color-mix(in srgb,var(--s) 26%,var(--surface));border:1px solid var(--line)}
.temporaryStayBox span{display:block;margin-bottom:6px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.temporaryStayBox strong{font-size:14px}
.propertySubTitle{font-family:var(--font-heading);font-size:30px;font-weight:400;margin:30px 0 14px}
.temporaryRules{padding:18px;border-left:3px solid var(--a);background:color-mix(in srgb,var(--a) 8%,var(--surface));border-radius:0 12px 12px 0;color:var(--muted);line-height:1.7}
.temporaryAmenity{background:color-mix(in srgb,var(--s) 35%,var(--surface))}
.temporaryPriceCard{border-color:color-mix(in srgb,var(--a) 36%,var(--line))}
.temporaryContactAside .contactAsideTop{background:color-mix(in srgb,var(--s) 22%,var(--surface))}
@media(max-width:700px){.temporaryRates,.temporaryStayBox{grid-template-columns:1fr}.temporaryRates{margin-top:0}}
