/*
 * Casalta Toolkit: the design system behind the Casalta widgets.
 * Colors and fonts come from the Elementor Site Settings (Global Colors and Fonts) when the kit is installed,
 * so changing them there restyles every widget. The values after each comma are used when no kit is present.
 */
body{
  --ct-night:var(--e-global-color-secondary,var(--casalta-night,#111315));
  --ct-night-2:var(--e-global-color-ct_night2,var(--casalta-night-2,#1a1d20));
  --ct-night-line:var(--e-global-color-ct_nightline,var(--casalta-night-line,#2a2e33));
  --ct-on-night:var(--e-global-color-ct_onnight,var(--casalta-on-night,#e9e6e0));
  --ct-on-night-2:var(--e-global-color-ct_onnight2,var(--casalta-on-night-2,#a7a39c));
  --ct-gold:var(--e-global-color-primary,var(--casalta-gold,#c9ab7d));
  --ct-gold-2:var(--e-global-color-accent,var(--casalta-gold-2,#b39264));
  --ct-ink:var(--e-global-color-ct_ink,var(--casalta-ink,#14171a));
  --ct-ink-2:var(--e-global-color-text,var(--casalta-text,#4a5057));
  --ct-ink-3:var(--e-global-color-ct_ink3,var(--casalta-ink-3,#7a8087));
  --ct-page:var(--e-global-color-ct_page,var(--casalta-page,#f6f5f2));
  --ct-card:var(--e-global-color-ct_card,var(--casalta-card,#ffffff));
  --ct-line:var(--e-global-color-ct_line,var(--casalta-line,#e3e1dc));
  --ct-gold-soft:color-mix(in srgb,var(--ct-gold) 16%,transparent);
  --ct-display:var(--e-global-typography-primary-font-family,"Libre Caslon Display"),Georgia,"Times New Roman",serif;
  --ct-body:var(--e-global-typography-text-font-family,"Manrope"),system-ui,-apple-system,"Segoe UI",sans-serif;
  --ct-wrap:1240px;--ct-r:14px;
}

/* base pieces */
/* Native select arrows inside Casalta forms (some themes reset them); the search bar draws its own. */
[class*="ct-"] select{-webkit-appearance:menulist;appearance:auto}
/* Unitless line height, as in the prototype: smaller text inside keeps its own proportion (Elementor's kit uses em). */
.ct-props-wrap,.ct-grid,.ct-hoods,.ct-card,.ct-calc,.ct-block,.ct-search,.ct-bar,.ct-facts,.ct-hfacts,.ct-kv,.ct-aprof,.ct-phero,.ct-form{line-height:1.7}
.ct-wrap{max-width:var(--ct-wrap);margin:0 auto;padding:0 32px}
.ct-ic{width:18px;height:18px;flex:none}
.ct-eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--ct-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ct-gold-2)}
.ct-eyebrow::before{content:"";width:28px;height:1px;background:currentColor;flex:none}
.ct-lead{font-size:18px;line-height:1.7;color:var(--ct-ink-2);max-width:560px;text-wrap:pretty}
[class*="ct-"] h1,[class*="ct-"] h2,[class*="ct-"] h3{font-family:var(--ct-display);font-weight:400;letter-spacing:-.01em;text-wrap:balance;color:inherit;margin:0}
.ct-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 26px;border-radius:999px;font:600 14px/1 var(--ct-body);letter-spacing:.01em;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s;white-space:nowrap;cursor:pointer;text-decoration:none}
.ct-btn-gold{background:var(--ct-gold);color:#16130e}
.ct-btn-gold:hover,.ct-btn-gold:focus{background:color-mix(in srgb,var(--ct-gold) 82%,#fff);color:#16130e}
.ct-btn-dark{background:var(--ct-ink);color:#fff}
.ct-btn-dark:hover,.ct-btn-dark:focus{background:#2a2e33;color:#fff}
.ct-btn-line{border-color:var(--ct-line);color:var(--ct-ink);background:transparent}
.ct-btn-line:hover,.ct-btn-line:focus{border-color:var(--ct-ink);color:var(--ct-ink)}
.ct-btn:disabled{opacity:.6;cursor:default}
/* <button> versions win over the theme's and the Elementor kit's button styles */
button.ct-btn.ct-btn{display:inline-flex;height:50px;padding:0 26px;border:1px solid transparent;border-radius:999px;text-transform:none;font:600 14px/1 var(--ct-body);letter-spacing:.01em}
button.ct-btn.ct-btn-dark,button.ct-btn.ct-btn-dark:hover,button.ct-btn.ct-btn-dark:focus{border-color:transparent;color:#fff}
button.ct-btn.ct-btn-dark{background:var(--ct-ink)}
button.ct-btn.ct-btn-dark:hover,button.ct-btn.ct-btn-dark:focus{background:#2a2e33}
button.ct-btn.ct-btn-gold,button.ct-btn.ct-btn-gold:hover,button.ct-btn.ct-btn-gold:focus{border-color:transparent;color:#16130e}
button.ct-btn.ct-btn-gold{background:var(--ct-gold)}
button.ct-btn.ct-btn-gold:hover,button.ct-btn.ct-btn-gold:focus{background:color-mix(in srgb,var(--ct-gold) 82%,#fff)}
.ct-search-bar button.ct-btn.ct-btn{height:64px;padding:0 30px;border-radius:14px}
.ct-filters button.ct-btn.ct-btn{height:58px;border-radius:12px}
.ct-btn:focus-visible,.ct-menu-btn:focus-visible{outline:2px solid var(--ct-gold-2);outline-offset:3px}
.ct-empty-note{padding:28px;border:1px dashed var(--ct-line);border-radius:var(--ct-r);font:500 14px/1.5 var(--ct-body);color:var(--ct-ink-3);text-align:center}
[class*="ct-"] a{text-decoration:none}
[class*="ct-"] img{display:block;max-width:100%;height:auto}

/* site header and footer slots */
.ct-site-header{position:absolute;inset:0 0 auto;z-index:20}
.admin-bar .ct-site-header{top:32px}
@media (max-width:782px){.admin-bar .ct-site-header{top:46px}}
.ct-single{display:block}

/* header menu */
.ct-menu{display:flex;align-items:center;font:500 14px/1 var(--ct-body)}
.ct-nav .ct-nav-list{display:flex;gap:30px;list-style:none;margin:0;padding:0}
.ct-nav a{color:inherit;opacity:.86;transition:opacity .2s}
.ct-nav a:hover,.ct-nav .current-menu-item>a{opacity:1}
.ct-tone-light{color:#fff}
.ct-tone-dark{color:var(--ct-ink)}
.ct-menu .ct-menu-btn,.ct-menu .ct-menu-btn:hover,.ct-menu .ct-menu-btn:focus{display:none;width:44px;height:44px;padding:0;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);background:transparent;color:inherit;align-items:center;justify-content:center;cursor:pointer;position:relative;z-index:31}
.ct-menu-btn .ct-close{display:none}
.ct-menu .ct-menu-btn[aria-expanded="true"]{color:#fff}
.ct-menu-btn[aria-expanded="true"] .ct-open{display:none}
.ct-menu-btn[aria-expanded="true"] .ct-close{display:block}
.ct-panel{position:fixed;inset:0;z-index:30;background:var(--ct-night);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:40px;padding:90px 24px 40px}
.ct-panel[hidden]{display:none}
.ct-panel .ct-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:22px;font:400 30px/1.1 var(--ct-display)}
.ct-panel a:not(.ct-btn){color:#fff}
body.ct-menu-open{overflow:hidden}
@media (max-width:1100px){
  .ct-nav{display:none}
  .ct-menu .ct-menu-btn,.ct-menu .ct-menu-btn:hover,.ct-menu .ct-menu-btn:focus{display:inline-flex}
}

/* language switch (Polylang) */
.ct-menu .ct-lang{display:flex;margin-left:24px;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:999px;padding:3px;font:600 12px/1 var(--ct-body)}
.ct-menu .ct-lang a{padding:8px 11px;border-radius:999px;opacity:.8;color:inherit;text-decoration:none}
.ct-menu .ct-lang a.is-on{opacity:1;background:currentColor}
.ct-menu.ct-tone-light .ct-lang a.is-on{background:#fff;color:var(--ct-ink)}
.ct-menu.ct-tone-dark .ct-lang a.is-on{background:var(--ct-ink);color:#fff}
@media (max-width:1100px){.ct-menu>.ct-lang{margin:0 10px 0 0}}

/* breadcrumbs and page heroes */
.ct-crumbs{display:flex;flex-wrap:wrap;gap:10px;font:400 13px/1.4 var(--ct-body);color:rgba(255,255,255,.7);margin-bottom:22px}
.ct-crumbs a{color:inherit}
.ct-crumbs a:hover{color:#fff}
.ct-phero{position:relative;min-height:560px;color:#fff;display:flex;align-items:flex-end;padding:180px 0 80px;background:var(--ct-night)}
.ct-phero>img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:0}
.ct-phero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(9,10,12,.65) 0%,rgba(9,10,12,.35) 40%,rgba(9,10,12,.85) 100%)}
.ct-phero>.ct-wrap{position:relative;z-index:2;width:100%}
.ct-phero h1{font-size:clamp(42px,5.4vw,76px);line-height:1.04;margin:18px 0;max-width:900px}
.ct-phero .ct-eyebrow{color:var(--ct-gold)}
.ct-phero .ct-lead{color:rgba(255,255,255,.8)}
.ct-phero.ct-short{min-height:460px}
.ct-ptop{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap}
.ct-ptop .ct-badge{position:static;display:inline-block}
.ct-ptop h1{margin:18px 0 12px}
.ct-ptop .ct-loc{color:rgba(255,255,255,.78)}
.ct-ptop .ct-price{font:400 clamp(36px,4vw,52px)/1.1 var(--ct-display)}

/* property cards */
.ct-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.ct-prop{display:flex;flex-direction:column;background:var(--ct-card);border-radius:var(--ct-r);overflow:hidden;box-shadow:0 0 0 1px var(--ct-line);transition:transform .3s,box-shadow .3s;color:var(--ct-ink)}
.ct-prop:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--ct-line),0 24px 50px -28px rgba(17,19,21,.35);color:var(--ct-ink)}
.ct-prop .ct-ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ct-line)}
.ct-prop .ct-ph img,.ct-agent .ct-ph img,.ct-post .ct-ph img{width:100%;height:100%!important;object-fit:cover;transition:transform .6s}
.ct-prop:hover .ct-ph img,.ct-post:hover .ct-ph img{transform:scale(1.04)}
.ct-badge{position:absolute;left:16px;top:16px;padding:7px 12px;border-radius:999px;background:rgba(17,19,21,.72);color:#fff;font:600 12px/1 var(--ct-body);backdrop-filter:blur(6px)}
.ct-badge.ct-gold{background:var(--ct-gold);color:#16130e}
.ct-prop .ct-bd{padding:24px 24px 22px;display:flex;flex-direction:column;gap:6px;flex:1;font-family:var(--ct-body)}
.ct-price{font:400 28px/1.1 var(--ct-display)}
.ct-prop h3{font:600 17px/1.35 var(--ct-body);letter-spacing:0}
.ct-loc{display:flex;align-items:center;gap:6px;font:400 14px/1.4 var(--ct-body);color:var(--ct-ink-3)}
.ct-loc .ct-ic{width:15px;height:15px}
.ct-specs{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:auto;padding-top:18px;border-top:1px solid var(--ct-line);font-size:14px;color:var(--ct-ink-2)}
.ct-prop .ct-specs{margin-top:18px}
.ct-specs>span{display:flex;align-items:center;gap:7px}
.ct-specs .ct-ic{width:16px;height:16px;color:var(--ct-gold-2)}
.ct-n{display:flex;align-items:baseline;gap:4px}
.ct-specs b,.ct-hood small b{font-weight:inherit}

/* listing toolbar */
.ct-count{margin:0 0 20px;font:400 15px/1.4 var(--ct-body);color:var(--ct-ink-2)}
.ct-count b{color:var(--ct-ink);font-weight:600}
.ct-empty{padding:60px 0;text-align:center;color:var(--ct-ink-2);font-family:var(--ct-body)}
.ct-pager{display:flex;justify-content:center;gap:8px;margin-top:56px;font:600 14px/1 var(--ct-body)}
.ct-pager a,.ct-pager span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border-radius:999px;border:1px solid var(--ct-line);color:var(--ct-ink)}
.ct-pager a:hover{border-color:var(--ct-ink)}
.ct-pager [aria-current]{background:var(--ct-ink);border-color:var(--ct-ink);color:#fff}

/* search bar (home) and filters (listings) */
.ct-search{display:grid;align-items:center;background:var(--ct-card);color:var(--ct-ink);font-family:var(--ct-body);position:relative;z-index:5;margin:0}
.ct-search-bar{grid-template-columns:repeat(4,minmax(0,1fr)) auto;border-radius:20px;box-shadow:0 30px 60px -30px rgba(17,19,21,.35),0 0 0 1px var(--ct-line);padding:10px 10px 10px 8px}
.ct-filters{grid-template-columns:repeat(5,minmax(0,1fr)) auto;border-radius:18px;box-shadow:0 0 0 1px var(--ct-line);padding:8px}
.ct-search .ct-field{padding:12px 22px;border-right:1px solid var(--ct-line);min-width:0}
.ct-search .ct-field:last-of-type{border-right:0}
.ct-search .ct-field label{display:block;font:600 11px/1 var(--ct-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ct-ink-3);margin-bottom:8px}
.ct-search select{display:block;width:100%;border:0;background:transparent;font:600 15px/1.3 var(--ct-body);color:var(--ct-ink);appearance:none;-webkit-appearance:none;padding:0;outline:none;box-shadow:none;cursor:pointer}
.ct-search select:focus-visible{outline:2px solid var(--ct-gold-2);outline-offset:4px;border-radius:4px}
.ct-search-bar .ct-btn{height:64px;padding:0 30px;border-radius:14px}
.ct-filters .ct-btn{height:58px;border-radius:12px}
.ct-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:56px 0 28px;flex-wrap:wrap;font-family:var(--ct-body)}
.ct-chips{display:flex;gap:8px;flex-wrap:wrap}
.ct-chip{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--ct-line);font:600 13px/1 var(--ct-body);color:var(--ct-ink)}
.ct-chip:hover{border-color:var(--ct-ink);color:var(--ct-ink)}
.ct-chip.is-on{background:var(--ct-ink);color:#fff;border-color:var(--ct-ink)}
.ct-sort{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ct-ink-2)}
.ct-sort label{display:flex}
.ct-sort b{font-weight:600;color:var(--ct-ink)}
.ct-sort select{-webkit-appearance:menulist;appearance:auto;height:40px;border-radius:999px;border:1px solid var(--ct-line);padding:0 36px 0 16px;background:var(--ct-card);font:600 13px/1 var(--ct-body);color:var(--ct-ink);cursor:pointer}

/* neighborhoods */
.ct-hoods{display:grid;gap:20px}
.ct-hoods-mosaic{grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:300px 300px}
.ct-hoods-mosaic .ct-hood:first-child{grid-row:span 2}
.ct-hoods-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ct-hoods-grid .ct-hood{min-height:420px}
.ct-hood{position:relative;border-radius:var(--ct-r);overflow:hidden;color:#fff;display:flex;align-items:flex-end;padding:26px;background:var(--ct-night)}
.ct-hood:hover{color:#fff}
.ct-hood img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;transition:transform .6s;z-index:0}
.ct-hood:hover img{transform:scale(1.04)}
.ct-hood::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(9,10,12,.05) 35%,rgba(9,10,12,.82))}
.ct-hood>div{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;width:100%;gap:16px}
.ct-hood h3{font-size:28px;line-height:1.1}
.ct-hood small{display:flex;flex-wrap:wrap;gap:4px;font:400 13px/1.4 var(--ct-body);color:rgba(255,255,255,.75);margin-top:6px}
.ct-go{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s,color .2s}
.ct-hood:hover .ct-go{background:#fff;color:var(--ct-ink)}

/* agents */
.ct-agents{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ct-agent{color:var(--ct-ink);font-family:var(--ct-body)}
.ct-agent:hover{color:var(--ct-ink)}
.ct-agent .ct-ph{border-radius:var(--ct-r);overflow:hidden;aspect-ratio:4/5;background:#e8e6e1}
.ct-agent .ct-ph img{object-position:top}
.ct-agent h3{font:400 24px/1.2 var(--ct-display);margin-top:18px}
.ct-agent p{font-size:14px;color:var(--ct-ink-3);margin:4px 0 0}
.ct-langs{display:flex;gap:6px;margin-top:10px}
.ct-langs span{font:600 11px/1 var(--ct-body);padding:6px 9px;border-radius:999px;border:1px solid var(--ct-line);color:var(--ct-ink-2)}

/* journal */
.ct-post{color:var(--ct-ink);font-family:var(--ct-body)}
.ct-post:hover{color:var(--ct-ink)}
.ct-post .ct-ph{border-radius:var(--ct-r);overflow:hidden;aspect-ratio:3/2;background:var(--ct-line)}
.ct-meta{display:flex;gap:12px;font:400 13px/1.4 var(--ct-body);color:var(--ct-ink-3);margin:20px 0 10px}
.ct-meta b{color:var(--ct-gold-2);font-weight:600}
.ct-post h3{font:400 24px/1.25 var(--ct-display)}

/* property detail */
.ct-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:12px;position:relative;z-index:5}
.ct-gallery a{border-radius:12px;overflow:hidden;position:relative;background:var(--ct-line)}
.ct-gallery a:first-child{grid-row:span 2}
.ct-gallery img{width:100%;height:100%!important;object-fit:cover;transition:transform .6s}
.ct-gallery a:hover img{transform:scale(1.03)}
.ct-gallery a:nth-child(n+6){display:none}
.ct-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--ct-line);border-radius:var(--ct-r);background:var(--ct-card);font-family:var(--ct-body)}
.ct-fact{padding:22px 24px;border-right:1px solid var(--ct-line)}
.ct-fact:last-child{border-right:0}
.ct-fact span,.ct-hfacts span{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ct-ink-3);margin-bottom:6px;font-weight:600}
.ct-fact b{font:400 24px/1.1 var(--ct-display);color:var(--ct-ink)}
.ct-block{font-family:var(--ct-body);color:var(--ct-ink);padding:48px 0;border-top:1px solid var(--ct-line)}
.ct-detail-main>:first-child .ct-block:first-child{border-top:0;padding-top:0}
.ct-block .ct-map,.ct-block .ct-calc{margin:0}
.ct-block h2{font-size:32px;line-height:1.15;margin-bottom:22px}
.ct-rich p{color:var(--ct-ink-2);margin:0}
.ct-rich p+p{margin-top:14px}
.ct-rich ul{margin:14px 0 0;padding-left:20px;display:grid;gap:10px;color:var(--ct-ink-2)}
.ct-rich li::marker{color:var(--ct-gold-2)}
.ct-plan{display:block;background:#fff;border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:20px}
.ct-tour{margin:18px 0 0}
.ct-map{border-radius:var(--ct-r);overflow:hidden;border:1px solid var(--ct-line);background:#e8e6e1}
.ct-lmap{width:100%;height:var(--ct-map-h,420px);min-height:280px}
.ct-lmap .leaflet-tile-pane{filter:grayscale(1) contrast(.95) brightness(1.04)}
.ct-lmap.leaflet-container{font-family:var(--ct-body);font-size:12px}
.ct-lmap .leaflet-control-attribution{font-size:11px}
.ct-lmap .leaflet-bar a{font-size:18px}
.ct-pin span{display:block;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--ct-gold);border:3px solid #fff;box-shadow:0 6px 14px rgba(0,0,0,.3)}
.ct-calc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;background:var(--ct-card);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:28px}
.ct-calc label{display:block;font:600 12px/1 var(--ct-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ct-ink-3);margin-bottom:10px}
.ct-calc[data-ct-calc] input,.ct-calc[data-ct-calc] select{width:100%;height:50px;border:1px solid var(--ct-line);border-radius:10px;padding:0 14px;background:#fff;font:600 15px/1 var(--ct-body);color:var(--ct-ink)}
.ct-calc input:focus,.ct-calc select:focus{border-color:var(--ct-gold-2);outline:none}
.ct-pay{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;gap:16px;border-top:1px solid var(--ct-line);padding-top:20px;margin-top:4px}
.ct-pay span{color:var(--ct-ink-3);font-size:13px}
.ct-pay b{font:400 40px/1 var(--ct-display);color:var(--ct-ink)}
.ct-note{font:400 12.5px/1.55 var(--ct-body);color:var(--ct-ink-3);margin:14px 0 0}

/* photo viewer (sites without Elementor's lightbox) */
.ct-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(9,10,12,.94);display:flex;align-items:center;justify-content:center;padding:56px 72px}
.ct-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}
.ct-lightbox button,.ct-lightbox button:hover,.ct-lightbox button:focus{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font:300 30px/1 var(--ct-body);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.ct-lightbox .ct-lb-x{top:16px;right:16px}.ct-lightbox .ct-lb-prev{left:16px;top:50%;margin-top:-24px}.ct-lightbox .ct-lb-next{right:16px;top:50%;margin-top:-24px}
@media (max-width:700px){.ct-lightbox{padding:72px 12px}.ct-lightbox .ct-lb-prev,.ct-lightbox .ct-lb-next{top:auto;bottom:16px;margin:0}}

/* cards and lead forms */
@media (min-width:1101px){.ct-aside.e-con{position:sticky;top:30px}}
.ct-card{background:var(--ct-card);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:28px;color:var(--ct-ink)}
.ct-agentmini{display:flex;gap:16px;align-items:center;margin-bottom:22px;color:var(--ct-ink)}
.ct-card .ct-agentmini img{width:64px;height:64px!important;border-radius:50%;object-fit:cover;object-position:top;flex:none}
.ct-agentmini b{display:block;font:400 22px/1.2 var(--ct-display);transition:color .2s}
.ct-agentmini span{font:400 13px/1.4 var(--ct-body);color:var(--ct-ink-3)}
a.ct-agentmini:hover{color:var(--ct-ink)}
a.ct-agentmini:hover b{color:var(--ct-gold-2)}
.ct-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;font-family:var(--ct-body)}
.ct-form>*{grid-column:1/-1}
.ct-form>.ct-f-name,.ct-form>.ct-f-phone,.ct-form>.ct-f-beds,.ct-form>.ct-f-timing,.ct-form>.ct-f-area,.ct-form>.ct-f-budget{grid-column:auto}
.ct-form>input[type=hidden]{display:none}
.ct-form-t{font-size:clamp(26px,2.6vw,34px);line-height:1.15;margin-bottom:6px!important}
.ct-form label{display:block;font:600 12px/1 var(--ct-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ct-ink-3);margin-bottom:8px}
form.ct-form .ct-ff input,form.ct-form .ct-ff select,form.ct-form .ct-ff textarea{width:100%;border:1px solid var(--ct-line);border-radius:10px;padding:14px;background:#fff;font:500 15px/1.4 var(--ct-body);color:var(--ct-ink);outline:none;box-shadow:none;height:auto}
form.ct-form .ct-ff input:focus,form.ct-form .ct-ff select:focus,form.ct-form .ct-ff textarea:focus{border-color:var(--ct-gold-2)}
form.ct-form .ct-ff input::placeholder,form.ct-form .ct-ff textarea::placeholder{color:var(--ct-ink-3);opacity:.8}
form.ct-form .ct-ff [aria-invalid="true"]{border-color:#b4442c}
form.ct-form .ct-ff textarea{min-height:110px;resize:vertical}
.ct-form .ct-btn{width:100%}
.ct-form label.ct-consent{display:flex;gap:10px;align-items:flex-start;font:400 12.5px/1.55 var(--ct-body);letter-spacing:0;text-transform:none;color:var(--ct-ink-3);margin:0}
.ct-consent input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--ct-gold-2);padding:0}
.ct-form .ct-consent a{text-decoration:underline}
.ct-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-sent{color:var(--ct-ink);font-size:14px;margin:0}
.ct-err{color:#b4442c;font-size:14px;margin:0}

/* address box that opens the valuation page */
.ct-vform{display:flex;gap:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--ct-body)}
.ct-vform input{flex:1;min-width:0;border:0;background:transparent;padding:0 20px;color:#fff;outline:none;box-shadow:none;font:500 15px/1.4 var(--ct-body)}
.ct-vform input::placeholder{color:rgba(255,255,255,.62)}

/* neighborhood guide and agent profile */
.ct-hfacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--ct-line);border:1px solid var(--ct-line);border-radius:var(--ct-r);overflow:hidden;position:relative;z-index:5;font-family:var(--ct-body)}
.ct-hfacts div{background:var(--ct-card);padding:26px}
.ct-hfacts b{font:400 28px/1.1 var(--ct-display);color:var(--ct-ink)}
.ct-living{font-family:var(--ct-body);color:var(--ct-ink)}
.ct-living h2{font-size:clamp(34px,4vw,56px);line-height:1.08;margin:18px 0}
.ct-kv{display:grid;border-top:1px solid var(--ct-line);margin-top:30px;font-family:var(--ct-body)}
.ct-kv div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--ct-line);font-size:15px}
.ct-kv span{color:var(--ct-ink-3)}
.ct-kv b{font-weight:600;text-align:right;color:var(--ct-ink)}
.ct-kv a{color:inherit}
.ct-aprof{display:grid;grid-template-columns:420px minmax(0,1fr);gap:72px;align-items:start;font-family:var(--ct-body)}
.ct-aprof .ct-ph{border-radius:var(--ct-r);overflow:hidden;aspect-ratio:4/5}
.ct-aprof .ct-ph img{width:100%;height:100%!important;object-fit:cover;object-position:top}
.ct-bio{max-width:none}
.ct-bio p{margin:0}
.ct-bio p+p{margin-top:14px}
.ct-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}

/* journal article */
.ct-article{max-width:760px;margin:0 auto;font-family:var(--ct-body)}
.ct-article p{font-size:18px;line-height:1.8;color:var(--ct-ink-2);margin:0 0 22px}
.ct-article p+p{margin-top:0}
.ct-article h2{font-size:34px;margin:44px 0 18px}
.ct-article figure{margin:36px 0;border-radius:var(--ct-r);overflow:hidden}
.ct-article em{font-style:normal;font-size:14px;color:var(--ct-ink-3)}

@media (max-width:1100px){
  .ct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-search-bar,.ct-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .ct-search .ct-field{border-right:0;border-bottom:1px solid var(--ct-line)}
  .ct-search .ct-btn{grid-column:1/-1;margin-top:6px}
  .ct-hoods-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ct-fact:nth-child(3){border-right:0}
  .ct-fact:nth-child(-n+3){border-bottom:1px solid var(--ct-line)}
  .ct-hfacts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-aprof{grid-template-columns:minmax(0,1fr);gap:44px}
  .ct-aprof .ct-ph{aspect-ratio:16/11}
}
@media (max-width:700px){
  .ct-wrap{padding:0 20px}
  .ct-grid,.ct-hoods-grid,.ct-calc,.ct-hfacts,.ct-search-bar,.ct-filters{grid-template-columns:minmax(0,1fr)}
  .ct-hoods-mosaic{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .ct-hood{min-height:260px}
  .ct-hoods-mosaic .ct-hood:first-child{grid-row:auto;min-height:340px}
  .ct-phero{min-height:480px;padding:140px 0 70px}
  .ct-gallery{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:200px 200px}
  .ct-gallery a:first-child{grid-column:1/-1;grid-row:auto}
  .ct-gallery a:nth-child(n+4){display:none}
  .ct-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-fact{border-right:0!important;border-bottom:1px solid var(--ct-line)}
  .ct-bar{margin:40px 0 22px}
  .ct-pay{flex-direction:column;align-items:flex-start}
  .ct-form{grid-template-columns:minmax(0,1fr)}
  .ct-form>*{grid-column:1/-1!important}
  .ct-vform{flex-direction:column;border-radius:20px}
  .ct-vform input{height:50px}
}
@media (prefers-reduced-motion:reduce){
  [class*="ct-"] *,[class*="ct-"]{transition:none!important}
}

/* Link colors: the Elementor kit colors every <a>; these keep each component's own color (and its hover). */
.ct-hoods .ct-hood,.ct-hoods .ct-hood:hover{color:#fff}
.ct-grid .ct-prop,.ct-grid .ct-prop:hover,.ct-grid .ct-agent,.ct-grid .ct-agent:hover,.ct-grid .ct-post,.ct-grid .ct-post:hover,.ct-card .ct-agentmini{color:var(--ct-ink)}
.ct-phero .ct-crumbs a,.ct-phero-e .ct-crumbs-w a,.ct-menu .ct-nav a,.ct-form .ct-consent a,.ct-kv a,.ct-foot .ct-legal a{color:inherit}
.ct-phero .ct-crumbs a:hover,.ct-phero-e .ct-crumbs-w a:hover,.ct-foot .ct-legal a:hover{color:#fff}
.ct-menu .ct-panel a:not(.ct-btn){color:#fff}
.ct-chips .ct-chip{color:var(--ct-ink)}
.ct-chips .ct-chip.is-on,.ct-chips .ct-chip.is-on:hover{color:#fff}
.ct-pager a,.ct-pager a:hover{color:var(--ct-ink)}
a.ct-btn.ct-btn-dark,a.ct-btn.ct-btn-dark:hover{color:#fff}
a.ct-btn.ct-btn-gold,a.ct-btn.ct-btn-gold:hover{color:#16130e}
a.ct-btn.ct-btn-line,a.ct-btn.ct-btn-line:hover{color:var(--ct-ink)}
.ct-grid .ct-prop .ct-bd h3{font:600 17px/1.35 var(--ct-body);letter-spacing:0}
.elementor-widget-text-editor a:hover{color:var(--ct-gold-2)}

/* ---------- Casalta kit: finish for the native Elementor sections of the demo pages ---------- */
[class*="ct-"] .elementor-widget-text-editor p:last-child{margin-bottom:0}
.ct-veil,.ct-val{position:relative;overflow:hidden}
.ct-veil::before{content:""!important;position:absolute;inset:0;z-index:1;opacity:1!important;background:linear-gradient(180deg,rgba(9,10,12,.65) 0%,rgba(9,10,12,.35) 40%,rgba(9,10,12,.85) 100%)!important}
.ct-veil-hero::before{background:linear-gradient(180deg,rgba(9,10,12,.6) 0%,rgba(9,10,12,.25) 30%,rgba(9,10,12,.45) 60%,rgba(9,10,12,.88) 100%),linear-gradient(90deg,rgba(9,10,12,.55) 0%,rgba(9,10,12,0) 60%)!important}
.ct-veil-side::before{background:linear-gradient(90deg,rgba(9,10,12,.9) 0%,rgba(9,10,12,.7) 45%,rgba(9,10,12,.25) 100%)!important}
.ct-veil.ct-veil>*{position:relative;z-index:2}
.ct-val-form{margin-top:34px}
.ct-eb .elementor-heading-title{display:inline-flex;align-items:center;gap:10px}
.ct-eb .elementor-heading-title::before{content:"";width:28px;height:1px;background:currentColor;flex:none}
.ct-crumbs-w p{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px!important}
.ct-crumbs-w a{color:inherit}
.ct-crumbs-w a:hover{color:#fff}
.ct-lift{position:relative;z-index:5;margin-top:-50px!important}
.ct-lift.ct-lift-44{margin-top:-44px!important}
.ct-lift.ct-lift-60{margin-top:-60px!important}
.ct-mt40{margin-top:40px!important}.ct-mt14{margin-top:14px!important}.ct-mt8{margin-top:8px!important}
.ct-push{margin-top:auto!important}
.ct-img img{display:block;width:100%}
.ct-ar-45 img{aspect-ratio:4/5;height:auto!important;object-fit:cover}

/* header */
.ct-hdr .ct-menu-w{margin-left:auto}
.ct-hdr-btn .elementor-button{padding:15px 20px}
.ct-logo .elementor-heading-title{display:inline-flex;align-items:center;gap:12px}
.ct-logo .elementor-heading-title::before{content:"";width:30px;height:30px;flex:none;background:var(--ct-gold);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M4 29V13L16 3l12 10v16'/%3E%3Cpath d='M12.5 29v-8.5a3.5 3.5 0 0 1 7 0V29'/%3E%3Cpath d='M2 29h28'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M4 29V13L16 3l12 10v16'/%3E%3Cpath d='M12.5 29v-8.5a3.5 3.5 0 0 1 7 0V29'/%3E%3Cpath d='M2 29h28'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:1100px){.ct-hdr .ct-menu-w{margin-left:0}.ct-hdr .ct-hdr-btn{margin-left:auto}}
@media (max-width:700px){.ct-hdr .ct-menu-w{margin-left:auto}}

/* buttons */
.ct-b-glass .elementor-button{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ct-b-link .elementor-button{padding:0 0 6px;border-radius:0}

/* hero proof pill */
.ct-proof{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ct-avs{position:relative;width:100px;height:40px}
.ct-avs>.elementor-element{position:absolute!important;top:0;width:40px!important}
.ct-avs>.elementor-element:nth-child(2){left:30px}.ct-avs>.elementor-element:nth-child(3){left:60px}
.ct-avs img{width:40px!important;height:40px!important;object-fit:cover;border:2px solid #1b1d20!important}
.ct-stars{letter-spacing:2px;font-size:12px}

/* numbers row */
.ct-stats.ct-stats{border-top:1px solid var(--ct-line);border-bottom:1px solid var(--ct-line)}
.ct-stats>.ct-stat.ct-stat{border-right:1px solid var(--ct-line)}
.ct-stats>.ct-stat.ct-stat:last-child{border-right:0}
@media (max-width:767px){.ct-stats>.ct-stat.ct-stat:nth-child(2){border-right:0}.ct-stats>.ct-stat.ct-stat:nth-child(-n+2){border-bottom:1px solid var(--ct-line)}}

/* services, testimonials, cards, steps */
.ct-svc{transition:background-color .3s}
.ct-svc:hover{background-color:var(--ct-night-2)!important}
.ct-in .elementor-heading-title{width:44px;height:44px;border-radius:50%;background:var(--ct-gold-soft);display:flex;align-items:center;justify-content:center}
.ct-ring .elementor-icon{border:1px solid var(--ct-line)}

/* key/value rows */
.ct-kv-e .elementor-icon-list-items{border-top:1px solid var(--ct-line);margin-top:30px!important}
.ct-kv-e .elementor-icon-list-item{border-bottom:1px solid var(--ct-line);padding:16px 0!important;margin:0!important}
.ct-kv-e .elementor-icon-list-text{display:flex;justify-content:space-between;gap:20px;width:100%;font-size:15px;padding:0!important}
.ct-kv-e .elementor-icon-list-text span{color:var(--ct-ink-3)}
.ct-kv-e .elementor-icon-list-text b{font-weight:600;color:var(--ct-ink);text-align:right}

/* FAQ */
.ct-faqgrp{border-top:1px solid var(--ct-line)}
.ct-faq .elementor-toggle-item{border-bottom:1px solid var(--ct-line)}
.ct-faq .elementor-toggle-item:last-child{border-bottom:0}
.ct-faq .elementor-tab-title{border:0!important;display:flex;flex-direction:row-reverse;justify-content:space-between;gap:20px;cursor:pointer}
.ct-faq .elementor-tab-content{border:0!important;max-width:720px}
.ct-faq .elementor-toggle-icon{margin-top:6px;width:18px!important;font-size:14px}
.ct-faq .elementor-toggle-icon svg{width:14px;height:14px}

/* legal text */
.ct-legaltext h2{font-family:var(--ct-display);font-weight:400;font-size:28px;line-height:1.2;color:var(--ct-ink);margin:40px 0 12px}
.ct-legaltext h2:first-child{margin-top:0}
.ct-legaltext p{margin:0 0 14px}
.ct-note-e{font-size:12.5px!important;color:var(--ct-ink-3)}

/* footer */
.ct-foot-cta{border-bottom:1px solid var(--ct-night-line)}
.ct-legal{border-top:1px solid var(--ct-night-line)}
.ct-legal a{color:inherit;text-decoration:none}
.ct-legal a:hover{color:#fff}
.ct-eho{display:inline-flex;align-items:center;gap:8px}
.ct-eho::before{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E") center/contain no-repeat}
.ct-links .elementor-icon-list-item a{transition:color .2s}

@media (max-width:1100px){.ct-ar-45 img{aspect-ratio:16/10}}
@media (max-width:700px){.ct-lift,.ct-lift.ct-lift-44,.ct-lift.ct-lift-60{margin-top:-30px!important}}
.ct-logo-s .elementor-heading-title{font-size:15px!important}

/* ---------- Bricks markup: the same finish for the native Bricks elements of the demo ---------- */
[class*="brxe-casalta-"]{width:100%}
.brxe-casalta-site-menu{width:auto}
.brxe-text.ct-crumbs-w p{margin:0 0 22px}
/* Same height as in the prototype, where the eyebrow sits on a 16px × 1.7 text line. */
[class*="brxe-"].ct-eb{display:inline-flex;align-items:center;gap:10px;min-height:27px}
[class*="brxe-"].ct-eb::before{content:"";width:28px;height:1px;background:currentColor;flex:none}
[class*="brxe-"].ct-logo{display:inline-flex;align-items:center;gap:12px}
[class*="brxe-"].ct-logo a{color:inherit}
[class*="brxe-"].ct-logo::before{content:"";width:30px;height:30px;flex:none;background:var(--ct-gold);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M4 29V13L16 3l12 10v16'/%3E%3Cpath d='M12.5 29v-8.5a3.5 3.5 0 0 1 7 0V29'/%3E%3Cpath d='M2 29h28'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M4 29V13L16 3l12 10v16'/%3E%3Cpath d='M12.5 29v-8.5a3.5 3.5 0 0 1 7 0V29'/%3E%3Cpath d='M2 29h28'/%3E%3C/svg%3E") center/contain no-repeat}
[class*="brxe-"].ct-logo-s{font-size:15px!important}
img.ct-ar-45{aspect-ratio:4/5;height:auto!important;object-fit:cover}
.ct-avs>.brxe-image{position:absolute!important;top:0;left:0;width:40px!important;height:40px!important;object-fit:cover;border:2px solid #1b1d20!important}
.ct-avs>.brxe-image:nth-child(2){left:30px}.ct-avs>.brxe-image:nth-child(3){left:60px}
[class*="brxe-"].ct-in{width:44px;height:44px;border-radius:50%;background:var(--ct-gold-soft);display:flex;align-items:center;justify-content:center;flex:none}
.ct-icon-disc{display:inline-flex;align-items:center;justify-content:center;flex:none}
.casalta-btn--glass{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.casalta-btn i{font-size:18px;line-height:14px}
.ct-hdr-btn.casalta-btn{padding:15px 20px}
.ct-hdr .brxe-casalta-site-menu{margin-left:auto}
.brxe-icon-box.ct-ibox h3{margin:0 0 6px;color:var(--ct-ink)}
.brxe-icon-box.ct-ibox p{margin:0;font:400 15px/1.6 var(--ct-body);color:var(--ct-ink-2)}
.brxe-icon-box.ct-ibox--h3pt h3{font:600 17px/1.4 var(--ct-body);letter-spacing:0}
.brxe-icon-box.ct-ibox--h3card h3{font:400 24px/1.2 var(--ct-display);margin-bottom:10px}
.brxe-icon-box.ct-ibox--dark h3{color:#fff}.brxe-icon-box.ct-ibox--dark p{color:var(--ct-on-night-2)}
.brxe-list.ct-kv-b{width:100%;margin:30px 0 0;padding:0;list-style:none;border-top:1px solid var(--ct-line);font-family:var(--ct-body)}
.brxe-list.ct-kv-b li{padding:16px 0;border-bottom:1px solid var(--ct-line)}
.brxe-list.ct-kv-b .content{display:flex;justify-content:space-between;gap:20px;font-size:15px}
.brxe-list.ct-kv-b .title{color:var(--ct-ink-3);font:400 15px/1.5 var(--ct-body);margin:0}
.brxe-list.ct-kv-b .meta{color:var(--ct-ink);font-weight:600;text-align:right}
.brxe-list.ct-kv-b .separator{display:none}
.brxe-accordion.ct-faq{width:100%}
.brxe-accordion.ct-faq .accordion-item{border-bottom:1px solid var(--ct-line)}
.brxe-accordion.ct-faq .accordion-item:last-child{border-bottom:0}
.brxe-accordion.ct-faq .accordion-title-wrapper{padding:26px 0;cursor:pointer}
.brxe-accordion.ct-faq .accordion-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;width:100%}
.brxe-accordion.ct-faq .accordion-title .title{font:400 24px/1.3 var(--ct-display);color:var(--ct-ink);margin:0}
.brxe-accordion.ct-faq .accordion-title i{font-size:18px;margin-top:6px;color:var(--ct-ink);flex:none}
.brxe-accordion.ct-faq .accordion-content-wrapper{padding:0 0 26px;max-width:720px;color:var(--ct-ink-2)}
.brxe-accordion.ct-faq .accordion-content-wrapper p{margin:0}
@media (max-width:767px){.brxe-accordion.ct-faq .accordion-title .title{font-size:20px}}
.ct-linklist .brxe-text-link{font:400 15px/1.6 var(--ct-body);color:var(--ct-text-2,var(--ct-ink-2))}
.ct-linklist--dark .brxe-text-link{color:var(--ct-on-night-2)}
.ct-linklist--dark .brxe-text-link:hover{color:#fff}
.brxe-text.ct-legaltext h2{font-family:var(--ct-display);font-weight:400;font-size:28px;line-height:1.2;color:var(--ct-ink);margin:40px 0 12px}
.brxe-text.ct-legaltext h2:first-child{margin-top:0}
