:root {
  --bls-primary: #0F766E;
  --bls-primary-dark: #0A574F;
  --bls-gold: #D4AF37;
  --bls-dark: #111111;
  --bls-text: #555555;
  --bls-bg: #F7F8FA;
  --bls-white: #FFFFFF;
  --bls-border: rgba(17,17,17,.10);
  --bls-shadow-sm: 0 10px 32px rgba(17,17,17,.07);
  --bls-shadow-lg: 0 30px 90px rgba(17,17,17,.13);
  --bls-radius-sm: 14px;
  --bls-radius: 24px;
  --bls-radius-lg: 38px;
  --bls-transition: 220ms ease;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.bls-site { margin: 0; overflow-x: hidden; background: var(--bls-white); color: var(--bls-text); font-family: Inter, system-ui, sans-serif; font-size: 16px; line-height: 1.7; }
body.bls-menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--bls-primary); text-decoration: none; }
a:hover { color: var(--bls-primary-dark); }
h1,h2,h3,h4,h5,h6 { margin: 0 0 .55em; color: var(--bls-dark); font-family: "Playfair Display", Georgia, serif; line-height: 1.08; letter-spacing: -.025em; }
h1 { font-size: clamp(2.8rem, 6vw, 5.7rem); }
h2 { font-size: clamp(2.25rem, 4.2vw, 4rem); }
h3 { font-size: clamp(1.35rem, 2.3vw, 1.8rem); }
p { margin: 0 0 1.25em; }
button,input,select,textarea { font: inherit; }
button { cursor: pointer; }
svg { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.18em; }
.screen-reader-text { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.bls-skip-link { position: fixed; left: 20px; top: -100px; z-index: 99999; padding: 12px 18px; border-radius: 8px; background: var(--bls-dark); color: #fff; }
.bls-skip-link:focus { top: 20px; }
.bls-container { width: min(100% - 64px, 1240px); margin-inline: auto; }
.bls-section { padding-block: 108px; }
.bls-section-soft { background: var(--bls-bg); }
.bls-section-dark { background: var(--bls-dark); color: rgba(255,255,255,.72); }
.bls-section-dark h2,.bls-section-dark h3 { color: #fff; }
.bls-section-dark .bls-eyebrow { color: #e5c95f; }
.bls-centered { max-width: 760px; margin-inline: auto; text-align: center; }
.bls-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 18px; color: var(--bls-primary); font-family: Poppins, sans-serif; font-size: .77rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.bls-eyebrow::before { content: ""; width: 30px; height: 1px; background: currentColor; }
.bls-section-heading { margin-bottom: 44px; }
.bls-section-heading p { max-width: 620px; }
.bls-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 32px; }
.bls-heading-row > div { max-width: 760px; }
.bls-heading-row > p { margin: 0; }
.bls-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 10px; padding: 14px 24px; border: 1px solid transparent; border-radius: 999px; background: linear-gradient(135deg, var(--bls-primary), #149a8e); box-shadow: 0 13px 30px rgba(15,118,110,.24); color: #fff; font-family: Poppins, sans-serif; font-weight: 600; transition: transform var(--bls-transition), box-shadow var(--bls-transition), background var(--bls-transition); }
.bls-button:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(15,118,110,.32); color: #fff; }
.bls-button:focus-visible,.bls-menu a:focus-visible,.bls-text-link:focus-visible { outline: 3px solid rgba(212,175,55,.65); outline-offset: 4px; }
.bls-button-small { min-height: 44px; padding: 10px 18px; font-size: .9rem; }
.bls-button-secondary { border-color: rgba(17,17,17,.14); background: rgba(255,255,255,.65); box-shadow: none; color: var(--bls-dark); backdrop-filter: blur(12px); }
.bls-button-secondary:hover { background: #fff; box-shadow: var(--bls-shadow-sm); color: var(--bls-dark); }
.bls-button-dark { background: var(--bls-dark); box-shadow: 0 13px 30px rgba(17,17,17,.2); }
.bls-button-gold { background: linear-gradient(135deg, #c59b1d, #e2c75e); box-shadow: 0 15px 38px rgba(212,175,55,.26); color: var(--bls-dark); }
.bls-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--bls-dark); font-family: Poppins, sans-serif; font-weight: 600; }
.bls-text-link svg { transition: transform var(--bls-transition); }
.bls-text-link:hover svg { transform: translateX(4px); }
.bls-header { position: sticky; z-index: 1000; top: 0; background: rgba(255,255,255,.82); border-bottom: 1px solid transparent; backdrop-filter: blur(18px); transition: box-shadow var(--bls-transition), border-color var(--bls-transition); }
.admin-bar .bls-header { top: 32px; }
.bls-header.is-scrolled { border-color: var(--bls-border); box-shadow: 0 10px 36px rgba(17,17,17,.06); }
.bls-header-inner { display: flex; min-height: 82px; align-items: center; gap: 28px; }
.bls-logo { flex: 0 0 auto; }
.bls-logo .custom-logo { width: auto; max-height: 54px; }
.bls-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--bls-dark); font-family: Poppins, sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: -.02em; }
.bls-brand-mark { display: inline-grid; width: 42px; height: 42px; place-items: center; border-radius: 50% 50% 48% 52% / 42% 52% 48% 58%; background: linear-gradient(135deg, var(--bls-primary), #23aa9d); color: #fff; font-family: "Playfair Display", serif; font-size: 1.35rem; }
.bls-navigation { margin-left: auto; }
.bls-menu,.bls-menu ul { margin: 0; padding: 0; list-style: none; }
.bls-menu { display: flex; align-items: center; gap: 4px; }
.bls-menu > li { position: relative; }
.bls-menu > li > a { display: block; padding: 10px 13px; color: #2b2b2b; font-family: Poppins, sans-serif; font-size: .92rem; font-weight: 500; }
.bls-menu > li.current-menu-item > a,.bls-menu > li > a:hover { color: var(--bls-primary); }
.bls-menu .sub-menu { position: absolute; top: calc(100% + 12px); left: 0; min-width: 230px; padding: 10px; border: 1px solid var(--bls-border); border-radius: 16px; background: #fff; box-shadow: var(--bls-shadow-lg); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .2s ease; }
.bls-menu li:hover > .sub-menu,.bls-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.bls-menu .sub-menu a { display: block; padding: 10px 12px; border-radius: 10px; color: var(--bls-dark); font-size: .9rem; }
.bls-menu .sub-menu a:hover { background: var(--bls-bg); color: var(--bls-primary); }
.bls-menu-toggle { display: none; width: 44px; height: 44px; margin-left: auto; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid var(--bls-border); border-radius: 50%; background: #fff; }
.bls-menu-toggle > span:not(.screen-reader-text) { width: 18px; height: 2px; background: var(--bls-dark); transition: var(--bls-transition); }
.bls-breadcrumbs { padding-block: 14px; border-bottom: 1px solid var(--bls-border); background: #fff; font-size: .86rem; }
.bls-breadcrumbs .bls-container { display: flex; gap: 8px; align-items: center; }
.bls-hero { position: relative; overflow: hidden; padding: 112px 0 0; background: radial-gradient(circle at 70% 10%, rgba(212,175,55,.14), transparent 28%), linear-gradient(145deg,#f7fbfa 0%,#fff 50%,#f9f4e6 100%); }
.bls-hero-grid { display: grid; align-items: center; grid-template-columns: 1.02fr .98fr; gap: 70px; }
.bls-hero-content { position: relative; z-index: 2; }
.bls-hero h1 { max-width: 760px; }
.bls-hero-content > p { max-width: 650px; color: #565e5d; font-size: 1.12rem; }
.bls-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 30px 0 28px; }
.bls-trust-row { display: grid; grid-template-columns: repeat(3, auto); gap: 16px; color: #4d5b59; font-size: .82rem; font-weight: 600; }
.bls-trust-row span { display: inline-flex; align-items: center; gap: 7px; }
.bls-trust-row span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--bls-gold); box-shadow: 0 0 0 5px rgba(212,175,55,.14); }
.bls-hero-visual { position: relative; z-index: 1; }
.bls-hero-image-card { overflow: hidden; border: 10px solid rgba(255,255,255,.75); border-radius: 180px 180px 42px 42px; box-shadow: var(--bls-shadow-lg); background: #dce9e6; }
.bls-hero-image-card img { display: block; width: 100%; }
.bls-glass-note { position: absolute; left: -34px; bottom: 44px; display: flex; max-width: 300px; flex-direction: column; padding: 18px 22px; border: 1px solid rgba(255,255,255,.75); border-radius: 18px; background: rgba(255,255,255,.76); box-shadow: var(--bls-shadow-sm); backdrop-filter: blur(18px); }
.bls-glass-note strong { color: var(--bls-dark); font-family: Poppins, sans-serif; }
.bls-glass-note span { font-size: .82rem; }
.bls-hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); }
.bls-hero-orb-one { width: 300px; height: 300px; top: -120px; right: 20%; background: rgba(15,118,110,.08); }
.bls-hero-orb-two { width: 180px; height: 180px; bottom: 10%; left: -80px; background: rgba(212,175,55,.12); }
.bls-hero-search { position: relative; z-index: 5; margin-top: 70px; transform: translateY(38px); }
.brm-search-form { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; padding: 18px; border: 1px solid rgba(255,255,255,.8); border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: var(--bls-shadow-lg); backdrop-filter: blur(18px); }
.brm-search-field { min-width: 0; }
.brm-search-field label { display: block; margin: 0 0 5px 4px; color: #65706f; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.brm-search-field select,.brm-search-field input { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--bls-border); border-radius: 12px; background: #fff; color: var(--bls-dark); }
.brm-search-submit { min-width: 138px; align-self: end; }
.brm-search-status { grid-column: 1 / -1; margin: 0; font-size: .85rem; }
.bls-property-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.bls-property-card { overflow: hidden; border: 1px solid var(--bls-border); border-radius: var(--bls-radius); background: #fff; box-shadow: 0 12px 38px rgba(17,17,17,.055); transition: transform var(--bls-transition), box-shadow var(--bls-transition); }
.bls-property-card:hover { transform: translateY(-7px); box-shadow: 0 24px 60px rgba(17,17,17,.11); }
.bls-property-image { position: relative; display: block; overflow: hidden; aspect-ratio: 3/2; background: linear-gradient(135deg,#dbe9e7,#f4ead1); }
.bls-property-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.bls-property-card:hover .bls-property-image img { transform: scale(1.04); }
.bls-property-fallback { display: block; width: 100%; height: 100%; background: radial-gradient(circle at 30% 20%,rgba(255,255,255,.85),transparent 18%),linear-gradient(135deg,#c9dfdb,#e9d9a9); }
.bls-property-fallback::after { content: "BLS"; display: grid; width: 100%; height: 100%; place-items: center; color: rgba(15,118,110,.35); font-family: "Playfair Display",serif; font-size: 3rem; }
.bls-property-badge { position: absolute; top: 16px; left: 16px; padding: 7px 12px; border-radius: 999px; background: rgba(17,17,17,.8); color: #fff; font-size: .72rem; font-weight: 700; backdrop-filter: blur(10px); }
.bls-property-price { position: absolute; right: 16px; bottom: 16px; padding: 9px 13px; border-radius: 12px; background: rgba(255,255,255,.92); color: var(--bls-dark); font-family: Poppins,sans-serif; font-weight: 700; backdrop-filter: blur(12px); }
.bls-property-price small { display: block; color: #777; font-size: .65rem; font-weight: 500; }
.bls-property-card-body { padding: 22px; }
.bls-property-card h3 { margin-bottom: 14px; font-size: 1.45rem; }
.bls-property-card h3 a { color: var(--bls-dark); }
.bls-property-location { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; color: #6a7775; font-size: .8rem; }
.bls-property-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--bls-border); color: #58615f; font-size: .78rem; }
.bls-property-meta span { display: inline-flex; align-items: center; gap: 5px; }
.bls-about { background: linear-gradient(180deg,#fff,#f8fbfa); }
.bls-about-grid { display: grid; align-items: center; grid-template-columns: 1fr 1fr; gap: 84px; }
.bls-about-grid > div:last-child > p { font-size: 1.05rem; }
.bls-about-visual { position: relative; }
.bls-about-visual > img { display: block; border-radius: 42px 42px 160px 42px; box-shadow: var(--bls-shadow-lg); }
.bls-about-badge { position: absolute; right: -30px; bottom: 30px; display: flex; width: 170px; height: 170px; align-items: center; justify-content: center; flex-direction: column; padding: 20px; border: 8px solid #fff; border-radius: 50%; background: var(--bls-primary); color: #fff; text-align: center; }
.bls-about-badge strong { font-family: "Playfair Display",serif; font-size: 2.6rem; line-height: 1; }
.bls-about-badge span { font-size: .72rem; line-height: 1.35; }
.bls-check-list { display: grid; gap: 12px; margin: 28px 0; }
.bls-check-list span { display: flex; align-items: center; gap: 10px; color: var(--bls-dark); font-weight: 600; }
.bls-check-list svg { color: var(--bls-primary); }
.bls-service-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.bls-service-card { position: relative; overflow: hidden; min-height: 300px; padding: 30px; border: 1px solid rgba(15,118,110,.11); border-radius: var(--bls-radius); background: #fff; transition: transform var(--bls-transition), background var(--bls-transition); }
.bls-service-card > span { color: var(--bls-gold); font-family: Poppins,sans-serif; font-size: .78rem; font-weight: 700; }
.bls-service-card h3 { margin-top: 54px; }
.bls-service-card p { font-size: .9rem; }
.bls-service-card > a { position: absolute; right: 26px; bottom: 25px; display: grid; width: 45px; height: 45px; place-items: center; border-radius: 50%; background: var(--bls-bg); color: var(--bls-dark); }
.bls-service-card:hover { transform: translateY(-6px); background: var(--bls-primary); color: rgba(255,255,255,.78); }
.bls-service-card:hover h3 { color: #fff; }
.bls-service-card:hover > a { background: #fff; color: var(--bls-primary); }
.brm-term-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.brm-term-card { position: relative; overflow: hidden; min-height: 280px; padding: 28px; border-radius: var(--bls-radius); background: linear-gradient(145deg,#dbeae7,#f3e7c8); color: var(--bls-dark); }
.brm-term-card::before { content: ""; position: absolute; width: 200px; height: 200px; right: -60px; bottom: -70px; border-radius: 50%; background: rgba(255,255,255,.46); }
.brm-term-card h3 { position: relative; margin-top: 130px; }
.brm-term-card span { position: relative; color: #5c6866; font-size: .82rem; }
.bls-amenities-showcase { background: #fdfbf5; }
.bls-amenities-layout { display: grid; align-items: center; grid-template-columns: 1fr .9fr; gap: 70px; }
.bls-amenities-layout > img { border-radius: 220px 220px 32px 32px; box-shadow: var(--bls-shadow-lg); }
.brm-amenities-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-top: 26px; }
.brm-amenity-item { display: flex; align-items: center; gap: 10px; padding: 15px 16px; border: 1px solid rgba(15,118,110,.12); border-radius: 14px; background: rgba(255,255,255,.75); color: var(--bls-dark); font-size: .9rem; font-weight: 600; }
.brm-amenity-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: rgba(15,118,110,.11); color: var(--bls-primary); }
.bls-section-dark .brm-term-card { background: linear-gradient(145deg,#1d2b29,#1e1e1e); color: #fff; }
.bls-section-dark .brm-term-card h3 { color: #fff; }
.bls-section-dark .brm-term-card span { color: rgba(255,255,255,.64); }
.brm-statistics { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.brm-stat-item { padding: 30px; border: 1px solid var(--bls-border); border-radius: 20px; background: #fff; text-align: center; }
.brm-stat-item strong { display: block; margin-bottom: 6px; color: var(--bls-primary); font-family: "Playfair Display",serif; font-size: clamp(2.4rem,4vw,4rem); line-height: 1; }
.brm-stat-item span { color: #66706f; font-size: .86rem; font-weight: 600; }
.brm-testimonial-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.brm-testimonial { padding: 30px; border: 1px solid var(--bls-border); border-radius: var(--bls-radius); background: #fff; box-shadow: var(--bls-shadow-sm); }
.brm-stars { margin-bottom: 18px; color: var(--bls-gold); letter-spacing: .15em; }
.brm-testimonial blockquote { margin: 0 0 22px; color: #444; font-family: "Playfair Display",serif; font-size: 1.17rem; line-height: 1.55; }
.brm-testimonial-author { display: flex; align-items: center; gap: 12px; }
.brm-testimonial-author img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.brm-testimonial-author strong { display: block; color: var(--bls-dark); }
.brm-testimonial-author span { font-size: .78rem; }
.bls-faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; }
.brm-faq-list { border-top: 1px solid var(--bls-border); }
.brm-faq-item { border-bottom: 1px solid var(--bls-border); }
.brm-faq-button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 0; border: 0; background: transparent; color: var(--bls-dark); font-family: Poppins,sans-serif; font-weight: 600; text-align: left; }
.brm-faq-button::after { content: "+"; flex: 0 0 auto; font-size: 1.5rem; font-weight: 400; }
.brm-faq-button[aria-expanded="true"]::after { content: "−"; }
.brm-faq-panel { padding: 0 0 22px; }
.bls-cta-banner { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 55px 58px; border-radius: var(--bls-radius-lg); background: radial-gradient(circle at 85% 15%,rgba(212,175,55,.22),transparent 28%),var(--bls-dark); color: rgba(255,255,255,.7); }
.bls-cta-banner h2 { color: #fff; }
.bls-cta-banner p { max-width: 720px; margin-bottom: 0; }
.bls-cta-banner .bls-eyebrow { color: #e5c95f; }
.bls-contact-section { background: linear-gradient(145deg,#f2f8f7,#fff); }
.bls-contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.bls-contact-card { display: grid; gap: 7px; padding: 24px; border: 1px solid rgba(15,118,110,.12); border-radius: 18px; background: rgba(255,255,255,.72); }
.bls-contact-card strong { color: var(--bls-dark); font-family: Poppins,sans-serif; }
.bls-form-card,.bls-inquiry-card { padding: 34px; border: 1px solid rgba(15,118,110,.13); border-radius: var(--bls-radius); background: #fff; box-shadow: var(--bls-shadow-lg); }
.brm-form { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.brm-form-field { min-width: 0; }
.brm-form-field-full { grid-column: 1 / -1; }
.brm-form label { display: block; margin: 0 0 6px 3px; color: #4f5b59; font-size: .77rem; font-weight: 700; }
.brm-form input,.brm-form select,.brm-form textarea { width: 100%; min-height: 49px; padding: 11px 13px; border: 1px solid var(--bls-border); border-radius: 12px; background: #fbfcfc; color: var(--bls-dark); transition: border-color var(--bls-transition),box-shadow var(--bls-transition); }
.brm-form textarea { min-height: 110px; resize: vertical; }
.brm-form input:focus,.brm-form select:focus,.brm-form textarea:focus { outline: none; border-color: var(--bls-primary); box-shadow: 0 0 0 3px rgba(15,118,110,.11); }
.brm-form .brm-honeypot { position: absolute; left: -9999px; }
.brm-form-status { grid-column: 1 / -1; margin: 0; padding: 10px 12px; border-radius: 10px; font-size: .83rem; }
.brm-form-status.is-success { background: #e6f6f1; color: #0a6759; }
.brm-form-status.is-error { background: #fff0f0; color: #9f2f2f; }
.brm-newsletter { display: flex; gap: 8px; }
.brm-newsletter input { min-width: 0; width: 100%; padding: 10px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(255,255,255,.08); color: #fff; }
.brm-newsletter button { flex: 0 0 auto; padding: 10px 14px; border: 0; border-radius: 12px; background: var(--bls-gold); color: var(--bls-dark); font-weight: 700; }
.bls-map-full iframe,.bls-map iframe { display: block; width: 100%; min-height: 420px; border: 0; }
.bls-footer { padding: 82px 0 0; background: #0f1212; color: rgba(255,255,255,.62); }
.bls-footer .bls-brand { color: #fff; }
.bls-footer-grid { display: grid; grid-template-columns: 1.3fr .7fr .9fr 1.1fr; gap: 44px; }
.bls-footer-grid h2 { color: #fff; font-family: Poppins,sans-serif; font-size: 1rem; }
.bls-footer-grid > div:first-child p { max-width: 340px; margin-top: 20px; }
.bls-footer-menu,.bls-contact-list { margin: 0; padding: 0; list-style: none; }
.bls-footer-menu li,.bls-contact-list li { margin-bottom: 9px; }
.bls-footer a { color: rgba(255,255,255,.7); }
.bls-footer a:hover { color: #fff; }
.bls-footer-bottom { margin-top: 58px; border-top: 1px solid rgba(255,255,255,.1); }
.bls-footer-bottom .bls-container { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 20px; }
.bls-footer-bottom p { margin: 0; font-size: .8rem; }
.bls-socials { display: flex; gap: 10px; }
.bls-socials a { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; font-size: .72rem; }
.bls-back-top { position: fixed; z-index: 900; right: 24px; bottom: 92px; width: 45px; height: 45px; border: 0; border-radius: 50%; background: var(--bls-dark); box-shadow: var(--bls-shadow-sm); color: #fff; opacity: 0; visibility: hidden; transform: translateY(10px); transition: .2s ease; }
.bls-back-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.bls-float { position: fixed; z-index: 850; right: 24px; bottom: 28px; display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; box-shadow: 0 12px 30px rgba(17,17,17,.18); color: #fff; font-weight: 800; }
.bls-whatsapp { background: #1fa855; font-size: .72rem; }
.bls-call { right: 86px; background: var(--bls-primary); }
.bls-float:hover { color: #fff; transform: translateY(-2px); }
.bls-mobile-nav { position: fixed; z-index: 1000; right: 0; bottom: 0; left: 0; display: none; border-top: 1px solid var(--bls-border); background: rgba(255,255,255,.96); box-shadow: 0 -10px 28px rgba(17,17,17,.08); backdrop-filter: blur(16px); }
.bls-mobile-menu { display: flex; min-height: 66px; align-items: center; justify-content: space-around; margin: 0; padding: 0; list-style: none; }
.bls-mobile-menu a { display: block; padding: 12px; color: var(--bls-dark); font-size: .75rem; font-weight: 700; }
.bls-page-hero,.bls-property-heading { padding: 78px 0; background: radial-gradient(circle at 80% 10%,rgba(212,175,55,.15),transparent 25%),var(--bls-bg); }
.bls-page-hero p { max-width: 650px; }
.bls-property-heading .bls-container { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.bls-property-heading h1 { font-size: clamp(2.5rem,5vw,4.7rem); }
.bls-property-heading p { display: flex; align-items: center; gap: 8px; }
.bls-property-heading-price { text-align: right; }
.bls-property-heading-price strong { display: block; color: var(--bls-primary); font-family: Poppins,sans-serif; font-size: 1.8rem; }
.bls-property-heading-price span { font-size: .78rem; }
.bls-gallery-layout { display: grid; grid-template-columns: 1.7fr .7fr; gap: 14px; margin-top: 38px; }
.bls-gallery-main,.bls-gallery-thumbs button { overflow: hidden; border: 0; border-radius: 18px; background: var(--bls-bg); }
.bls-gallery-main { min-height: 520px; }
.bls-gallery-main img { width: 100%; height: 100%; object-fit: cover; }
.bls-gallery-thumbs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bls-gallery-thumbs button { padding: 0; }
.bls-gallery-thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bls-property-content-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 58px; align-items: start; }
.bls-inquiry-card { position: sticky; top: 110px; }
.bls-property-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 45px; }
.bls-property-facts > div { padding: 18px; border: 1px solid var(--bls-border); border-radius: 14px; background: #fff; }
.bls-property-facts span { display: block; color: #76807e; font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.bls-property-facts strong { color: var(--bls-dark); font-family: Poppins,sans-serif; }
.bls-prose { max-width: 850px; }
.bls-prose > * + * { margin-top: 1em; }
.bls-prose img { border-radius: var(--bls-radius); }
.bls-subsection { margin-top: 52px; padding-top: 42px; border-top: 1px solid var(--bls-border); }
.bls-subsection h2 { font-size: 2rem; }
.bls-amenity-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.bls-amenity-grid > div { display: flex; align-items: center; gap: 9px; padding: 13px 15px; border-radius: 12px; background: var(--bls-bg); color: var(--bls-dark); }
.bls-amenity-grid svg { color: var(--bls-primary); }
.bls-nearby-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px 30px; padding-left: 20px; }
.bls-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.bls-content-card { overflow: hidden; border: 1px solid var(--bls-border); border-radius: var(--bls-radius); background: #fff; }
.bls-content-card img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.bls-content-card-body { padding: 24px; }
.bls-content-card h2 { font-size: 1.6rem; }
.bls-404 { min-height: 65vh; display: grid; place-items: center; text-align: center; }
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].is-revealed { opacity: 1; transform: none; }
.brm-loading { position: relative; pointer-events: none; opacity: .65; }
.brm-skeleton { min-height: 320px; border-radius: var(--bls-radius); background: linear-gradient(90deg,#f0f1f2 25%,#fafafa 37%,#f0f1f2 63%); background-size: 400% 100%; animation: blsShimmer 1.4s ease infinite; }
@keyframes blsShimmer { 0%{background-position:100% 0}100%{background-position:-100% 0} }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; } [data-reveal] { opacity: 1; transform: none; } }
.bls-property-video { overflow:hidden; border-radius:18px; background:#111; }
.bls-property-video iframe { display:block; width:100%; min-height:440px; border:0; }
.bls-property-quick-actions { margin:0 0 22px; }
.bls-property-quick-actions .bls-button { width:100%; }

/* Astra Header/Footer Builder integration — preserve the established palette. */
#masthead.site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  background: rgba(255,255,255,.88);
  border-bottom: 1px solid transparent;
  box-shadow: none;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: box-shadow var(--bls-transition), border-color var(--bls-transition), background var(--bls-transition);
}
.admin-bar #masthead.site-header { top: 32px; }
#masthead.site-header.is-scrolled {
  border-color: var(--bls-border);
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 36px rgba(17,17,17,.06);
}
#masthead .ast-primary-header-bar,
#masthead .site-primary-header-wrap {
  background: transparent;
}
#masthead .ast-primary-header-bar {
  border-bottom: 0;
}
#masthead .site-primary-header-wrap {
  min-height: 82px;
}
#masthead .site-logo-img img,
#masthead .custom-logo {
  width: auto;
  max-height: 54px;
}
#masthead .site-title a,
#masthead .ast-builder-menu-1 .menu-item > .menu-link,
#masthead .main-header-menu > .menu-item > .menu-link {
  color: var(--bls-dark);
  font-family: Poppins, sans-serif;
  font-weight: 500;
}
#masthead .ast-builder-menu-1 .current-menu-item > .menu-link,
#masthead .ast-builder-menu-1 .menu-item:hover > .menu-link,
#masthead .main-header-menu > .current-menu-item > .menu-link,
#masthead .main-header-menu > .menu-item:hover > .menu-link {
  color: var(--bls-primary);
}
#masthead .sub-menu {
  overflow: hidden;
  border: 1px solid var(--bls-border);
  border-radius: 16px;
  background: var(--bls-white);
  box-shadow: var(--bls-shadow-lg);
}
#masthead .ast-header-button-1 .ast-custom-button,
#masthead .ast-builder-button-wrap .ast-custom-button,
#masthead .ast-custom-button-link .ast-custom-button {
  min-height: 48px;
  padding: 13px 24px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--bls-primary), #149a8e);
  box-shadow: 0 13px 30px rgba(15,118,110,.24);
  color: var(--bls-white);
  font-family: Poppins, sans-serif;
  font-weight: 600;
}
#masthead .ast-header-button-1 .ast-custom-button:hover,
#masthead .ast-builder-button-wrap .ast-custom-button:hover,
#masthead .ast-custom-button-link .ast-custom-button:hover {
  background: linear-gradient(135deg, var(--bls-primary-dark), var(--bls-primary));
  color: var(--bls-white);
  transform: translateY(-2px);
}
.ast-mobile-header-wrap .ast-mobile-header-content,
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
  background: var(--bls-white);
}
.ast-mobile-popup-drawer .main-header-menu .menu-link {
  color: var(--bls-dark);
}

#colophon.site-footer,
#colophon .site-primary-footer-wrap,
#colophon .site-above-footer-wrap,
#colophon .site-below-footer-wrap {
  background: #0f1212;
  color: rgba(255,255,255,.68);
}
#colophon .site-primary-footer-wrap {
  padding-top: 72px;
  padding-bottom: 58px;
}
#colophon .site-below-footer-wrap {
  border-top: 1px solid rgba(255,255,255,.10);
}
#colophon h1,
#colophon h2,
#colophon h3,
#colophon h4,
#colophon h5,
#colophon h6,
#colophon .widget-title,
#colophon .site-title a {
  color: var(--bls-white);
}
#colophon h2,
#colophon h3,
#colophon .widget-title {
  font-family: Poppins, sans-serif;
  font-size: 1rem;
  letter-spacing: 0;
}
#colophon p,
#colophon li,
#colophon .ast-footer-copyright {
  color: rgba(255,255,255,.68);
}
#colophon a {
  color: rgba(255,255,255,.76);
}
#colophon a:hover,
#colophon a:focus {
  color: var(--bls-white);
}
#colophon ul {
  margin-left: 0;
  list-style: none;
}
#colophon .brm-newsletter input {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: var(--bls-white);
}
#colophon .brm-newsletter button {
  background: var(--bls-gold);
  color: var(--bls-dark);
}
#ast-scroll-top {
  right: 24px;
  bottom: 92px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--bls-primary);
  box-shadow: var(--bls-shadow-sm);
  color: var(--bls-white);
}

/* Astra Header and Footer Builder integration — palette intentionally unchanged. */
body.bls-site .site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  background: rgba(255,255,255,.92);
  box-shadow: none;
  backdrop-filter: blur(18px);
  transition: box-shadow var(--bls-transition), border-color var(--bls-transition);
}
body.admin-bar.bls-site .site-header { top: 32px; }
body.bls-site .site-header.is-scrolled { box-shadow: 0 10px 36px rgba(17,17,17,.07); }
body.bls-site .ast-primary-header-bar,
body.bls-site .main-header-bar {
  border-bottom-color: var(--bls-border);
  background: rgba(255,255,255,.92);
}
body.bls-site .site-branding .site-title,
body.bls-site .site-branding .site-title a {
  color: var(--bls-dark);
  font-family: Poppins, sans-serif;
  font-weight: 700;
  letter-spacing: -.02em;
}
body.bls-site .custom-logo-link img { width: auto; max-height: 54px; }
body.bls-site .main-header-menu > .menu-item > .menu-link,
body.bls-site .ast-header-navigation-arrow {
  color: #2b2b2b;
  font-family: Poppins, sans-serif;
  font-weight: 500;
}
body.bls-site .main-header-menu > .current-menu-item > .menu-link,
body.bls-site .main-header-menu > .menu-item > .menu-link:hover,
body.bls-site .main-header-menu > .menu-item > .menu-link:focus {
  color: var(--bls-primary);
}
body.bls-site .main-header-menu .sub-menu {
  border: 1px solid var(--bls-border);
  border-radius: 16px;
  background: var(--bls-white);
  box-shadow: var(--bls-shadow-lg);
}
body.bls-site .main-header-menu .sub-menu .menu-link { color: var(--bls-dark); }
body.bls-site .main-header-menu .sub-menu .menu-link:hover,
body.bls-site .main-header-menu .sub-menu .menu-link:focus {
  background: var(--bls-bg);
  color: var(--bls-primary);
}
body.bls-site .ast-builder-button-wrap .ast-custom-button,
body.bls-site .ast-header-button-1 .ast-custom-button {
  border-color: transparent;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--bls-primary), #149a8e);
  box-shadow: 0 13px 30px rgba(15,118,110,.24);
  color: var(--bls-white);
  font-family: Poppins, sans-serif;
  font-weight: 600;
}
body.bls-site .ast-builder-button-wrap .ast-custom-button:hover,
body.bls-site .ast-header-button-1 .ast-custom-button:hover {
  background: linear-gradient(135deg, var(--bls-primary-dark), var(--bls-primary));
  color: var(--bls-white);
  transform: translateY(-2px);
}
body.bls-site .ast-mobile-menu-trigger-minimal { color: var(--bls-dark); }
body.bls-site .site-footer,
body.bls-site .site-footer .site-primary-footer-wrap,
body.bls-site .site-footer .site-above-footer-wrap,
body.bls-site .site-footer .site-below-footer-wrap {
  border-color: rgba(255,255,255,.10);
  background: #0f1212;
  color: rgba(255,255,255,.68);
}
body.bls-site .site-footer h1,
body.bls-site .site-footer h2,
body.bls-site .site-footer h3,
body.bls-site .site-footer h4,
body.bls-site .site-footer h5,
body.bls-site .site-footer h6,
body.bls-site .site-footer .widget-title,
body.bls-site .site-footer .site-title,
body.bls-site .site-footer .site-title a {
  color: var(--bls-white);
}
body.bls-site .site-footer a { color: rgba(255,255,255,.74); }
body.bls-site .site-footer a:hover,
body.bls-site .site-footer a:focus { color: var(--bls-white); }
body.bls-site .site-footer input:not([type="submit"]),
body.bls-site .site-footer select,
body.bls-site .site-footer textarea {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: var(--bls-white);
}
body.bls-site .site-footer button,
body.bls-site .site-footer input[type="submit"] {
  border-color: var(--bls-gold);
  border-radius: 12px;
  background: var(--bls-gold);
  color: var(--bls-dark);
  font-weight: 700;
}
body.bls-site #ast-scroll-top {
  border-radius: 50%;
  background: var(--bls-primary);
  box-shadow: 0 12px 30px rgba(17,17,17,.18);
  color: var(--bls-white);
}
/* Legacy child-theme control is disabled to prevent a duplicate button. */
body.bls-site .bls-back-top { display: none !important; }
