:root{
  --bsp-brand:#2E3192;
  --bsp-brand-dark:#20236F;
  --bsp-accent:#00AEEF;
  --bsp-navy:#10182B;
  --bsp-ink:#171B2D;
  --bsp-muted:#687083;
  --bsp-surface:#F4F7FA;
  --bsp-line:#E3E7EC;
  --bsp-white:#fff;
  --bsp-max:1240px;
  --bsp-serif:'DM Serif Display', Georgia, serif;
  --bsp-sans:'Plus Jakarta Sans', Arial, sans-serif;
}

.bsp-houzez-child{font-family:var(--bsp-sans);color:var(--bsp-ink)}
.bsp-elementor-shell{overflow:hidden}
.bsp-home,.bsp-home *{box-sizing:border-box}
.bsp-home{font-family:var(--bsp-sans);color:var(--bsp-ink);overflow:hidden}
.bsp-home a{text-decoration:none}
.bsp-home .elementor-widget-heading .elementor-heading-title{font-family:var(--bsp-sans);color:inherit}
.bsp-home .bsp-serif .elementor-heading-title{font-family:var(--bsp-serif);font-weight:400}
.bsp-home .bsp-eyebrow .elementor-heading-title{font-size:10px!important;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--bsp-brand)}

/* Houzez shell polish */
.bsp-houzez-child #header-section.header-v1,
.bsp-houzez-child #header-section.header-v2,
.bsp-houzez-child #header-section.header-v3,
.bsp-houzez-child #header-section.header-v4,
.bsp-houzez-child #header-section.header-v5,
.bsp-houzez-child #header-section.header-v6{background:#fff;border-bottom:1px solid rgba(23,27,45,.08);box-shadow:none}
.bsp-houzez-child #header-section .header-inner-wrap{min-height:82px}
.bsp-houzez-child #header-section .main-nav .navbar-nav>li>a{font-family:var(--bsp-sans);font-size:13px;font-weight:700;letter-spacing:-.01em}
.bsp-houzez-child .btn-primary,.bsp-houzez-child .btn-search,.bsp-houzez-child .btn-secondary{border-radius:0}

/* Elementor starter sections */
.bsp-home .bsp-section{padding:104px 24px}
.bsp-home .bsp-section-inner{width:min(var(--bsp-max),100%);margin-inline:auto}
.bsp-home .bsp-section-title .elementor-heading-title{font-size:clamp(42px,5vw,66px);line-height:1.02;letter-spacing:-.055em;font-weight:700}
.bsp-home .bsp-section-copy{max-width:650px;color:var(--bsp-muted);font-size:15px;line-height:1.75}

.bsp-home .bsp-hero{min-height:720px;padding:150px 24px 0;background:linear-gradient(90deg,rgba(8,20,40,.84),rgba(8,20,40,.38) 58%,rgba(8,20,40,.16)),radial-gradient(circle at 80% 30%,rgba(0,174,239,.25),transparent 30%),#1b2b48;color:#fff;display:flex;align-items:flex-end}
.bsp-home .bsp-hero>.e-con-inner{width:min(var(--bsp-max),100%);margin-inline:auto}
.bsp-home .bsp-hero-copy{max-width:820px;margin-bottom:74px}
.bsp-home .bsp-hero-title .elementor-heading-title{font-family:var(--bsp-serif);font-size:clamp(58px,7vw,94px);line-height:.95;letter-spacing:-.05em;font-weight:400;color:#fff}
.bsp-home .bsp-hero-copy .elementor-widget-text-editor{font-size:17px;line-height:1.7;color:rgba(255,255,255,.84);max-width:640px}
.bsp-home .bsp-hero .elementor-button{border-radius:0;background:#fff;color:var(--bsp-navy);font-size:12px;font-weight:800;padding:14px 18px}
.bsp-home .bsp-hero-search{transform:translateY(50%);position:relative;z-index:5;width:min(1100px,100%);margin-inline:auto}

.bsp-search{display:grid;grid-template-columns:1.35fr .9fr .9fr 130px;background:#fff;box-shadow:0 24px 70px rgba(8,20,42,.20);color:var(--bsp-ink)}
.bsp-search__field{padding:15px 17px;border-right:1px solid var(--bsp-line);min-width:0}
.bsp-search label{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#9098A6;font-weight:800;margin-bottom:5px}
.bsp-search input,.bsp-search select{width:100%;height:29px;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font-size:13px;font-weight:700;color:var(--bsp-ink)}
.bsp-search input:focus,.bsp-search select:focus{outline:0}
.bsp-search__button{border:0;background:var(--bsp-brand);color:#fff;font-size:12px;font-weight:800;padding:0 18px}
.bsp-search__button:hover{background:var(--bsp-brand-dark)}

.bsp-home .bsp-featured{padding-top:170px;background:#fff}
.bsp-property-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:1fr 1fr;gap:18px}
.bsp-property-card{position:relative;min-height:290px;overflow:hidden;color:#fff;background:#dfe5e9}
.bsp-property-card--lead{grid-row:1/3;min-height:650px}
.bsp-property-card__media,.bsp-property-card__media img,.bsp-image-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bsp-property-card__media img{transition:transform .55s ease}
.bsp-property-card:hover .bsp-property-card__media img{transform:scale(1.025)}
.bsp-image-fallback{background:linear-gradient(135deg,#cdd9e3,#eef3f6)}
.bsp-property-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,15,29,.02) 30%,rgba(7,15,29,.82) 100%)}
.bsp-property-card__content{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}
.bsp-property-card--lead .bsp-property-card__content{left:30px;right:30px;bottom:28px}
.bsp-kicker{display:block;font-size:9px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#bfeeff;margin-bottom:8px}
.bsp-property-card h3{color:#fff;font-size:23px;line-height:1.15;letter-spacing:-.03em;margin:0 0 7px}
.bsp-property-card--lead h3{font-family:var(--bsp-serif);font-weight:400;font-size:38px}
.bsp-property-card__location{font-size:11px;color:rgba(255,255,255,.72);margin-bottom:14px}
.bsp-property-card__bottom{border-top:1px solid rgba(255,255,255,.3);padding-top:10px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.bsp-property-card__price{font-size:14px;font-weight:800;color:#fff}
.bsp-property-card__price .item-price{color:inherit;font-size:inherit}
.bsp-property-card__meta{font-size:10px;color:rgba(255,255,255,.72);text-align:right}
.bsp-empty{border:1px dashed #cbd3db;padding:28px;background:#fff;color:var(--bsp-muted);font-size:13px}

.bsp-home .bsp-island{background:var(--bsp-surface)}
.bsp-home .bsp-island-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:76px;align-items:center}
.bsp-home .bsp-island-photo{min-height:590px;background:linear-gradient(160deg,#89cfe7,#e7f2f7 45%,#ebd5af);position:relative;overflow:hidden}
.bsp-home .bsp-island-photo:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.68)}
.bsp-area-links{border-top:1px solid #c9d9e4;margin-top:28px}
.bsp-area-links a{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid #c9d9e4;color:var(--bsp-ink);transition:.2s}
.bsp-area-links a:hover{padding-left:8px;color:var(--bsp-brand)}
.bsp-area-links small{font-size:10px;font-weight:800;color:#8495A2}
.bsp-area-links strong{font-size:16px}
.bsp-area-links span{font-size:18px;color:var(--bsp-brand)}

.bsp-home .bsp-developments{background:var(--bsp-navy);color:#fff}
.bsp-home .bsp-developments .bsp-eyebrow .elementor-heading-title{color:#78DFFF}
.bsp-home .bsp-developments .bsp-section-title .elementor-heading-title{color:#fff}
.bsp-home .bsp-developments .bsp-section-copy{color:rgba(255,255,255,.62)}
.bsp-dev-grid{display:grid;gap:22px}
.bsp-dev-card{display:grid;grid-template-columns:1.08fr .92fr;background:#fff;color:var(--bsp-ink);min-height:490px}
.bsp-dev-card__media{position:relative;min-height:420px;overflow:hidden;background:#dfe6eb}
.bsp-dev-card__media img,.bsp-dev-card__media .bsp-image-fallback{width:100%;height:100%;object-fit:cover}
.bsp-dev-card__content{padding:45px;display:flex;flex-direction:column;justify-content:center}
.bsp-dev-card__content h3{font-family:var(--bsp-serif);font-size:42px;font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:8px 0 16px}
.bsp-dev-card__content p{font-size:14px;line-height:1.75;color:var(--bsp-muted);margin:0 0 24px}
.bsp-dev-card__facts{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--bsp-line);margin-bottom:24px}
.bsp-dev-card__facts>div{padding:14px 0}
.bsp-dev-card__facts>div+div{border-left:1px solid var(--bsp-line);padding-left:22px}
.bsp-dev-card__facts small{display:block;font-size:9px;color:var(--bsp-muted);text-transform:uppercase;letter-spacing:.1em}
.bsp-dev-card__facts strong{display:block;margin-top:4px;color:var(--bsp-brand);font-size:15px}
.bsp-text-link{font-size:12px;font-weight:800;color:var(--bsp-brand)}

.bsp-home .bsp-services{background:#fff}
.bsp-home .bsp-service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--bsp-line)}
.bsp-home .bsp-service-card{padding:30px 24px;border-right:1px solid var(--bsp-line);min-height:255px}
.bsp-home .bsp-service-card:last-child{border-right:0}
.bsp-home .bsp-service-no .elementor-heading-title{font-size:10px;color:var(--bsp-accent);letter-spacing:.12em}
.bsp-home .bsp-service-card h3.elementor-heading-title{font-size:18px;margin-top:20px}
.bsp-home .bsp-service-card .elementor-widget-text-editor{font-size:13px;line-height:1.65;color:var(--bsp-muted)}

.bsp-home .bsp-credibility{padding:58px 24px;background:#fff}
.bsp-home .bsp-credibility-inner{border-block:1px solid var(--bsp-line);padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:34px}
.bsp-home .bsp-credibility h2.elementor-heading-title{font-size:26px;letter-spacing:-.03em}
.bsp-home .bsp-credibility .elementor-widget-text-editor{font-size:12px;color:var(--bsp-muted)}

.bsp-home .bsp-contact{background:linear-gradient(125deg,rgba(9,24,47,.96),rgba(17,45,72,.84)),radial-gradient(circle at 85% 35%,rgba(0,174,239,.4),transparent 32%),#0b1d34;color:#fff}
.bsp-home .bsp-contact .bsp-section-title .elementor-heading-title{color:#fff;font-family:var(--bsp-serif);font-weight:400}
.bsp-home .bsp-contact .elementor-widget-text-editor{color:rgba(255,255,255,.75);font-size:15px;line-height:1.75;max-width:650px}
.bsp-contact-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}
.bsp-contact-links a{color:#fff;font-size:12px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.28);padding:11px 0}
.bsp-contact-links__primary{background:#fff!important;color:var(--bsp-navy)!important;border:0!important;padding:13px 17px!important}

.bsp-home .bsp-reviews-section{background:#fff}
.bsp-reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.bsp-reviews article{padding:30px;border:1px solid var(--bsp-line);background:#fff}
.bsp-stars{letter-spacing:.08em;color:#D79C2F;font-size:13px;margin-bottom:16px}
.bsp-reviews blockquote{font-family:var(--bsp-serif);font-size:23px;line-height:1.4;color:var(--bsp-ink);margin:0 0 18px}
.bsp-reviews blockquote p{margin:0}
.bsp-reviews strong{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--bsp-muted)}

/* Property detail / archive polish without replacing Houzez functionality */
.single-property.bsp-houzez-child .property-title-wrap h1,
.single-property.bsp-houzez-child .property-title-wrap .page-title,
.bsp-houzez-child .listing-view .item-title{font-family:var(--bsp-sans);letter-spacing:-.035em}
.bsp-houzez-child .item-wrap .item-title a{font-weight:700}
.bsp-houzez-child .item-price-wrap .item-price,
.bsp-houzez-child .item-price{color:var(--bsp-brand)}
.bsp-houzez-child .label-featured{background:var(--bsp-brand)!important}
.bsp-houzez-child .property-labels-wrap .label-status{border-radius:0}

@media(max-width:1000px){
  .bsp-property-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .bsp-property-card--lead{grid-column:1/3;grid-row:auto;min-height:540px}
  .bsp-home .bsp-island-grid{grid-template-columns:1fr;gap:42px}
  .bsp-home .bsp-island-photo{min-height:470px}
  .bsp-dev-card{grid-template-columns:1fr}
  .bsp-home .bsp-service-grid{grid-template-columns:1fr 1fr}
  .bsp-home .bsp-service-card:nth-child(2){border-right:0}
  .bsp-home .bsp-service-card:nth-child(-n+2){border-bottom:1px solid var(--bsp-line)}
}

@media(max-width:720px){
  .bsp-home .bsp-section{padding:72px 14px}
  .bsp-home .bsp-hero{min-height:650px;padding:102px 14px 0}
  .bsp-home .bsp-hero-copy{margin-bottom:52px}
  .bsp-home .bsp-hero-title .elementor-heading-title{font-size:52px}
  .bsp-home .bsp-hero-copy .elementor-widget-text-editor{font-size:14px}
  .bsp-home .bsp-hero-search{transform:translateY(38%)}
  .bsp-search{grid-template-columns:1fr}
  .bsp-search__field{border-right:0;border-bottom:1px solid var(--bsp-line);padding:12px 14px}
  .bsp-search__button{min-height:52px}
  .bsp-home .bsp-featured{padding-top:136px}
  .bsp-property-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px}
  .bsp-property-card,.bsp-property-card--lead{flex:0 0 86vw;min-height:480px;grid-column:auto}
  .bsp-property-card--lead h3{font-size:31px}
  .bsp-home .bsp-island-photo{min-height:390px}
  .bsp-dev-card__media{min-height:300px}
  .bsp-dev-card__content{padding:28px 20px}
  .bsp-dev-card__content h3{font-size:34px}
  .bsp-home .bsp-service-grid{grid-template-columns:1fr}
  .bsp-home .bsp-service-card{border-right:0;border-bottom:1px solid var(--bsp-line);min-height:auto}
  .bsp-home .bsp-credibility-inner{display:block}
  .bsp-reviews{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
