/**
 * Site CSS — loaded on the site AND in the block editor canvas.
 *
 * Order: fonts → tokens → base & shared pieces → chrome (header, footer) → one block per
 * section (BEM, named after the block's wrapper class bbl-<slug>).
 * Variants: .is-style-<n> (Block Styles), never ACF "style" fields.
 * Source: the design files Home.dc.html / SiteHeader.dc.html. Container units (cqi) of
 * the design are vw here.
 */

/* ==========================================================================
   Fonts (self-hosted, assets/fonts)
   ========================================================================== */

@font-face { font-family: "Assistant"; font-style: normal; font-display: swap; font-weight: 200; src: url("../fonts/assistant-hebrew-200-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "Assistant"; font-style: normal; font-display: swap; font-weight: 300; src: url("../fonts/assistant-hebrew-300-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "Assistant"; font-style: normal; font-display: swap; font-weight: 400; src: url("../fonts/assistant-hebrew-400-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "Assistant"; font-style: normal; font-display: swap; font-weight: 600; src: url("../fonts/assistant-hebrew-600-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "Assistant"; font-style: normal; font-display: swap; font-weight: 700; src: url("../fonts/assistant-hebrew-700-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "Assistant"; font-style: normal; font-display: swap; font-weight: 200; src: url("../fonts/assistant-latin-200-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Assistant"; font-style: normal; font-display: swap; font-weight: 300; src: url("../fonts/assistant-latin-300-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Assistant"; font-style: normal; font-display: swap; font-weight: 400; src: url("../fonts/assistant-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Assistant"; font-style: normal; font-display: swap; font-weight: 600; src: url("../fonts/assistant-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Assistant"; font-style: normal; font-display: swap; font-weight: 700; src: url("../fonts/assistant-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Icons: Material Symbols Rounded, weight 200. Names are typed in content (e.g. "pool"). */
@font-face { font-family: "Material Symbols Rounded"; font-style: normal; font-weight: 200; font-display: block; src: url("../fonts/material-symbols-rounded.woff2") format("woff2"); }

/* ==========================================================================
   Tokens
   ========================================================================== */

:root {
	--bbl-blue: var(--wp--preset--color--primary, #0A4A9C);
	--bbl-blue-dark: var(--wp--preset--color--primary-dark, #06336E);
	--bbl-ink: var(--wp--preset--color--ink, #14233A);
	--bbl-navy: var(--wp--preset--color--navy, #0E2747);
	--bbl-cream: var(--wp--preset--color--cream, #F6F2EC);
	--bbl-sand: var(--wp--preset--color--sand, #D9D0C2);
	--bbl-brown: var(--wp--preset--color--brown, #6B5A43);
	--bbl-muted: var(--wp--preset--color--muted, #5E6673);
	--bbl-body: #3E4A5A;
	--bbl-line: #E6DFD4;
	--bbl-line-soft: #F0EBE3;
	--bbl-track: #ECE6DC;
	--bbl-on-navy: #C8D3E2;
	--bbl-shade: 10, 22, 40;                      /* rgb of the image overlays */

	--bbl-max: 1440px;
	--bbl-gutter: clamp(20px, 4vw, 64px);
	--bbl-header: 84px;
	--bbl-section: clamp(80px, 9vw, 144px);       /* vertical padding of a section */

	--bbl-font: Assistant, system-ui, sans-serif;
}

/* ==========================================================================
   Base & shared pieces
   ========================================================================== */

body {
	font-family: var(--bbl-font);
	font-size: 19px;
	line-height: 1.65;
	color: var(--bbl-ink);
	background: var(--bbl-cream);
	-webkit-font-smoothing: antialiased;
}

a { color: var(--bbl-blue); }
a:hover { color: var(--bbl-blue-dark); }

:where(input, button, a):focus-visible {
	outline: 2px solid var(--bbl-blue);
	outline-offset: 3px;
}

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

.bbl-skip {
	position: absolute;
	inset-inline-start: 16px;
	top: -100px;
	z-index: 100;
	padding: 12px 20px;
	border-radius: 999px;
	background: var(--bbl-blue);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}
.bbl-skip:focus { top: 12px; color: #fff; }

.bbl-wrap {
	max-width: var(--bbl-max);
	margin-inline: auto;
	padding-inline: var(--bbl-gutter);
}

.bbl-icon {
	font-family: "Material Symbols Rounded";
	font-weight: 200;
	font-style: normal;
	font-size: 22px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	white-space: nowrap;
	direction: ltr;
	display: inline-block;
	flex-shrink: 0;
	font-feature-settings: "liga";
	-webkit-font-smoothing: antialiased;
}

.bbl-eyebrow {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	color: var(--bbl-brown);
	display: flex;
	align-items: center;
	gap: 8px;
}

.bbl-h2 {
	margin: 0;
	font-size: clamp(36px, 4vw, 60px);
	font-weight: 300;
	line-height: 1.08;
	letter-spacing: -0.8px;
	text-wrap: balance;
}

/* Section head: title + link or filter, on one line */
.bbl-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 40px;
}
.bbl-head__link {
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

/* Buttons */
.bbl-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 52px;
	padding: 0 26px;
	border: 0;
	border-radius: 999px;
	background: var(--bbl-blue);
	color: #fff;
	font: inherit;
	font-size: 17px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s;
}
.bbl-button:hover { background: var(--bbl-blue-dark); color: #fff; }
.bbl-button .bbl-icon { font-size: 22px; }
.bbl-button--lg { height: 56px; padding: 0 32px; font-size: 18px; }
.bbl-button--outline {
	background: transparent;
	border: 1px solid var(--bbl-sand);
	color: var(--bbl-ink);
	font-weight: 400;
	padding: 0 22px;
}
.bbl-button--outline:hover { background: transparent; color: var(--bbl-blue); }
.bbl-button--outline .bbl-icon { color: var(--bbl-blue); }
.bbl-button--light { background: #fff; color: var(--bbl-navy); padding: 0 36px; }
.bbl-button--light:hover { background: var(--bbl-cream); color: var(--bbl-navy); }

/* Text link with arrow ("להכיר את הבתים") */
.bbl-more {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 4px;
	border-bottom: 1px solid currentColor;
	font-size: 19px;
	font-weight: 600;
	text-decoration: none;
}

/* Underlined text button ("סגירה", "להתחיל מחדש") */
.bbl-text-button {
	align-self: flex-start;
	min-height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--bbl-blue);
	font: inherit;
	font-size: 16px;
	text-decoration: underline;
	cursor: pointer;
}

/* Underlined form field */
.bbl-field {
	flex: 1 1 200px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 16px;
	color: var(--bbl-muted);
}
.bbl-field input {
	height: 52px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #A89C8A;
	border-radius: 0;
	background: transparent;
	color: var(--bbl-ink);
	font: inherit;
	font-size: 20px;
}
.bbl-field input[dir="ltr"] { text-align: right; }
.bbl-field input[aria-invalid="true"] { border-bottom-color: #B42318; }

/* Pill choice */
.bbl-chip {
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 999px;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 17px;
	cursor: pointer;
}
.bbl-chip[aria-pressed="true"] { border-color: #fff; background: #fff; color: var(--bbl-navy); }

/* Lead forms (acf/finder, acf/contact-cta) */
.bbl-lead [hidden] { display: none; }
.bbl-lead__invalid,
.bbl-lead__privacy {
	flex: 1 1 100%;
	margin: 0;
	font-size: 15px;
}
.bbl-lead__invalid { color: #B42318; font-weight: 600; }
.bbl-lead__privacy { color: var(--bbl-muted); }
.bbl-lead__thanks,
.bbl-lead__error { margin: 0; font-size: 22px; font-weight: 300; }
.bbl-lead__thanks:focus { outline: none; }

/* ==========================================================================
   Header (template-parts/header/main.php)
   ========================================================================== */

.bbl-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: #fff;
	border-bottom: 1px solid var(--bbl-line);
}
.bbl-header__bar {
	height: var(--bbl-header);
	display: flex;
	align-items: center;
	gap: clamp(16px, 3vw, 48px);
}
.bbl-header__logo { display: flex; flex-shrink: 0; }
.bbl-header__logo-img { height: 46px; width: auto; display: block; }

.bbl-header__nav { flex: 1; height: 100%; }
.bbl-header__menu {
	display: flex;
	gap: clamp(4px, 1vw, 16px);
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bbl-header__item { height: 100%; }
.bbl-header__top {
	height: 100%;
	display: flex;
	align-items: center;
	gap: 2px;
	padding: 0 10px;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	color: var(--bbl-ink);
	font: inherit;
	font-size: 18px;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
}
.bbl-header__item.is-active > .bbl-header__top { font-weight: 600; }
.bbl-header__item.is-active > .bbl-header__top,
.bbl-header__top[aria-expanded="true"] {
	color: var(--bbl-blue);
	border-bottom-color: var(--bbl-blue);
}
.bbl-header__chevron { transition: transform .2s; }
.bbl-header__top[aria-expanded="true"] .bbl-header__chevron { transform: rotate(180deg); }

.bbl-header__phone {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 18px;
	font-weight: 600;
	color: var(--bbl-ink);
	text-decoration: none;
	white-space: nowrap;
}
.bbl-header__phone .bbl-icon { color: var(--bbl-blue); }
.bbl-header__cta { height: 48px; padding: 0 24px; flex-shrink: 0; }

.bbl-header__burger {
	display: none;
	width: 48px;
	height: 48px;
	margin-inline-start: auto;
	place-items: center;
	border: 0;
	background: transparent;
	color: var(--bbl-ink);
	cursor: pointer;
}
.bbl-header__burger .bbl-icon { font-size: 30px; }
.bbl-header__burger-close,
.bbl-header__burger[aria-expanded="true"] .bbl-header__burger-open { display: none; }
.bbl-header__burger[aria-expanded="true"] .bbl-header__burger-close { display: inline-block; }

/* Mega menu panel */
.bbl-mega {
	position: absolute;
	top: 100%;
	inset-inline: 0;
	background: #fff;
	border-top: 1px solid var(--bbl-line);
	border-bottom: 1px solid var(--bbl-line);
	box-shadow: 0 24px 48px rgba(var(--bbl-shade), .08);
}
.bbl-mega[hidden] { display: none; }
.bbl-mega__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: clamp(24px, 3vw, 56px);
	padding-block: clamp(32px, 3vw, 48px);
}
.bbl-mega__col ul { margin: 0; padding: 0; list-style: none; }
.bbl-mega__heading { margin: 0 0 10px; font-size: 15px; font-weight: 600; color: var(--bbl-brown); }
.bbl-mega__link {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 6px 0;
	border-top: 1px solid var(--bbl-line-soft);
	color: var(--bbl-ink);
	font-size: 18px;
	text-decoration: none;
}
.bbl-mega__link:hover { color: var(--bbl-blue); }
.bbl-mega__link .bbl-icon { color: var(--bbl-blue); }
.bbl-mega__link-text { display: flex; flex-direction: column; line-height: 1.3; }
.bbl-mega__desc { font-size: 14px; color: var(--bbl-muted); }
.bbl-mega__promo {
	display: flex;
	flex-direction: column;
	gap: 12px;
	color: var(--bbl-ink);
	text-decoration: none;
}
.bbl-mega__promo:hover { color: var(--bbl-blue); }
.bbl-mega__promo-media { display: block; aspect-ratio: 16 / 10; background: var(--bbl-track); overflow: hidden; }
.bbl-mega__promo-img { width: 100%; height: 100%; object-fit: cover; }
.bbl-mega__promo-title { font-size: 22px; font-weight: 300; line-height: 1.25; }
.bbl-mega__promo-cta { display: flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 600; color: var(--bbl-blue); }

/* Drawer (below 1100px) */
.bbl-drawer {
	position: absolute;
	top: 100%;
	inset-inline: 0;
	height: calc(100vh - var(--bbl-header) - var(--wp-admin--admin-bar--height, 0px));
	height: calc(100dvh - var(--bbl-header) - var(--wp-admin--admin-bar--height, 0px));
	overflow-y: auto;
	padding: 8px 20px 32px;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-top: 1px solid var(--bbl-line);
}
.bbl-drawer[hidden] { display: none; }
.bbl-drawer__item { border-bottom: 1px solid var(--bbl-line); }
.bbl-drawer__top {
	width: 100%;
	min-height: 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--bbl-ink);
	font: inherit;
	font-size: 22px;
	text-align: start;
	text-decoration: none;
	cursor: pointer;
}
.bbl-drawer__top.is-active { color: var(--bbl-blue); font-weight: 600; }
.bbl-drawer__top .bbl-icon { font-size: 26px; color: var(--bbl-blue); }
.bbl-drawer__minus,
.bbl-drawer__item.is-open .bbl-drawer__plus { display: none; }
.bbl-drawer__item.is-open .bbl-drawer__minus { display: inline-block; }
.bbl-drawer__links { display: flex; flex-direction: column; gap: 2px; padding-bottom: 16px; }
.bbl-drawer__link {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	color: var(--bbl-body);
	font-size: 18px;
	text-decoration: none;
}
.bbl-drawer__link .bbl-icon { color: var(--bbl-blue); }
.bbl-drawer__button { flex-shrink: 0; width: 100%; margin-top: 12px; }
.bbl-drawer__button:first-of-type { margin-top: 28px; }

@media (max-width: 1099px) {
	.bbl-header__nav,
	.bbl-header__phone,
	.bbl-header__cta { display: none; }
	.bbl-header__burger { display: grid; }
}
@media (min-width: 1100px) {
	.bbl-drawer { display: none !important; }
}
body.bbl-menu-open { overflow: hidden; }

/* ==========================================================================
   Footer (template-parts/footer/main.php)
   ========================================================================== */

.bbl-footer { background: var(--bbl-navy); color: var(--bbl-on-navy); font-size: 16px; }
.bbl-footer__bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
	padding-block: 28px 40px;
	position: relative;
}
.bbl-footer__bar::before {
	content: "";
	position: absolute;
	top: 0;
	inset-inline: var(--bbl-gutter);
	border-top: 1px solid rgba(255, 255, 255, .18);
}
.bbl-footer__menu { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0; padding: 0; list-style: none; }
.bbl-footer__menu a { color: var(--bbl-on-navy); text-decoration: none; }
.bbl-footer__menu a:hover { color: #fff; }

/* ==========================================================================
   acf/home-hero
   ========================================================================== */

.bbl-home-hero { position: relative; }
.bbl-home-hero__stage {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: clamp(380px, calc(100vh - var(--bbl-header) - 150px), 620px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background: var(--bbl-ink);
}
.bbl-home-hero__media { position: absolute; inset: 0; z-index: -2; }
.bbl-home-hero__img { width: 100%; height: 100%; object-fit: cover; }
.bbl-home-hero__stage::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(0deg, rgba(var(--bbl-shade), .88) 0%, rgba(var(--bbl-shade), .7) 45%, rgba(var(--bbl-shade), .35) 80%, rgba(var(--bbl-shade), .2) 100%),
		linear-gradient(270deg, rgba(var(--bbl-shade), .45) 0%, rgba(var(--bbl-shade), 0) 60%);
}
.bbl-home-hero__content {
	width: 100%;
	padding-block: clamp(48px, 6vw, 96px) clamp(36px, 5vw, 80px);
	color: #fff;
}
.bbl-home-hero__eyebrow { margin: 0 0 16px; font-size: 18px; font-weight: 600; letter-spacing: .3px; }
.bbl-home-hero__title {
	margin: 0;
	max-width: 16ch;
	font-size: clamp(38px, 4.6vw, 72px);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: -1px;
	text-wrap: balance;
	text-shadow: 0 2px 16px rgba(var(--bbl-shade), .45);
}
.bbl-home-hero__ask {
	max-width: 760px;
	margin-top: clamp(18px, 3vw, 40px);
	display: flex;
	flex-direction: column;
	gap: clamp(10px, 1.2vw, 14px);
}
.bbl-home-hero__label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: clamp(16px, 1.4vw, 18px);
	font-weight: 600;
}
.bbl-home-hero__field {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 8px 32px rgba(var(--bbl-shade), .25);
}
.bbl-home-hero__input {
	flex: 1;
	min-width: 0;
	height: clamp(44px, 4vw, 56px);
	padding: 0 clamp(14px, 1.6vw, 20px);
	border: 0;
	background: transparent;
	color: var(--bbl-ink);
	font: inherit;
	font-size: clamp(16px, 1.4vw, 19px);
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
.bbl-home-hero__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.bbl-home-hero__field:focus-within { outline: 2px solid #fff; outline-offset: 3px; }
.bbl-home-hero__submit {
	flex-shrink: 0;
	height: clamp(44px, 4vw, 56px);
	padding: 0 clamp(16px, 2vw, 26px);
	display: flex;
	align-items: center;
	gap: 8px;
	border: 0;
	border-radius: 999px;
	background: var(--bbl-blue);
	color: #fff;
	font: inherit;
	font-size: clamp(16px, 1.4vw, 18px);
	font-weight: 600;
	cursor: pointer;
}
.bbl-home-hero__submit:hover { background: var(--bbl-blue-dark); }
.bbl-home-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bbl-home-hero__chip {
	min-height: 36px;
	padding: 0 14px;
	white-space: nowrap;
	border: 1px solid rgba(255, 255, 255, .55);
	border-radius: 999px;
	background: rgba(var(--bbl-shade), .3);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #fff;
	font: inherit;
	font-size: clamp(14px, 1.2vw, 16px);
	cursor: pointer;
}
.bbl-home-hero__chip:hover { background: rgba(var(--bbl-shade), .55); }

.bbl-home-hero__paths {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	column-gap: clamp(24px, 4vw, 64px);
}
.bbl-home-hero__path {
	display: flex;
	align-items: flex-start;
	gap: clamp(14px, 2vw, 24px);
	padding: clamp(18px, 3vw, 44px) 0;
	border-bottom: 1px solid var(--bbl-sand);
	color: var(--bbl-ink);
	text-decoration: none;
	transition: color .2s;
}
a.bbl-home-hero__path:hover { color: var(--bbl-blue); }
.bbl-home-hero__num { padding-top: clamp(6px, 1vw, 12px); font-size: 15px; font-weight: 600; color: var(--bbl-brown); }
.bbl-home-hero__path-body { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.bbl-home-hero__path-title { font-size: clamp(22px, 2.8vw, 40px); font-weight: 300; line-height: 1.15; letter-spacing: -.4px; }
.bbl-home-hero__path-text { font-size: clamp(15px, 1.4vw, 18px); color: var(--bbl-muted); }
.bbl-home-hero__path-icon { padding-top: 4px; font-size: clamp(26px, 2.4vw, 36px); }

/* Smart answer (printed only when connected) */
.bbl-answer {
	margin-top: clamp(32px, 4vw, 64px);
	padding-block: clamp(48px, 6vw, 96px);
	background: #fff;
	border-bottom: 1px solid var(--bbl-line);
}
.bbl-answer[hidden],
.bbl-answer [hidden] { display: none; }
.bbl-answer__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: clamp(32px, 5vw, 96px);
}
.bbl-answer__asked { display: flex; flex-direction: column; gap: 12px; }
.bbl-answer__label { font-size: 16px; }
.bbl-answer__label .bbl-icon { font-size: 20px; }
.bbl-answer__question { margin: 0; font-size: clamp(22px, 2vw, 28px); font-weight: 300; line-height: 1.4; }
.bbl-answer__body { grid-column: span 2; min-width: 0; max-width: 860px; display: flex; flex-direction: column; gap: 28px; }
.bbl-answer__done { display: flex; flex-direction: column; gap: 28px; }
.bbl-answer__loading { margin: 0; display: flex; align-items: center; gap: 12px; font-size: 22px; font-weight: 300; color: var(--bbl-muted); }
.bbl-answer__loading .bbl-icon { font-size: 26px; color: var(--bbl-blue); animation: bbl-spin 1s linear infinite; }
@keyframes bbl-spin { to { transform: rotate(360deg); } }
.bbl-answer__text { margin: 0; font-size: clamp(22px, 2vw, 26px); font-weight: 300; line-height: 1.55; text-wrap: pretty; }
.bbl-answer__links { border-bottom: 1px solid var(--bbl-line); }
.bbl-answer__link {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;
	padding: 18px 0;
	border-top: 1px solid var(--bbl-line);
	color: var(--bbl-ink);
	text-decoration: none;
}
.bbl-answer__link:hover { color: var(--bbl-blue); }
.bbl-answer__link-icon { width: 52px; height: 52px; border-radius: 50%; background: var(--bbl-cream); display: grid; place-items: center; font-size: 26px; color: var(--bbl-blue); }
.bbl-answer__link-text { display: flex; flex-direction: column; }
.bbl-answer__link-name { font-size: 21px; font-weight: 600; }
.bbl-answer__link-meta { font-size: 16px; color: var(--bbl-muted); }
.bbl-answer__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.bbl-answer__error { margin: 0; font-size: 20px; }
.bbl-answer__note { margin: 0; font-size: 15px; color: var(--bbl-muted); }

/* ==========================================================================
   acf/intro-stats
   ========================================================================== */

.bbl-intro-stats { padding-block: clamp(80px, 10vw, 160px); }
.bbl-intro-stats__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: clamp(32px, 5vw, 96px);
	align-items: start;
}
.bbl-intro-stats__body { grid-column: span 2; max-width: 900px; display: flex; flex-direction: column; gap: 40px; }
.bbl-intro-stats__text { margin: 0; font-size: clamp(28px, 3vw, 44px); font-weight: 300; line-height: 1.35; letter-spacing: -.3px; text-wrap: pretty; }
.bbl-intro-stats__stats { display: flex; flex-wrap: wrap; gap: 16px 48px; margin: 0; padding: 0; list-style: none; font-size: 18px; color: var(--bbl-muted); }
.bbl-intro-stats__stats b { font-weight: 600; color: var(--bbl-ink); }

/* ==========================================================================
   acf/split-panels
   ========================================================================== */

.bbl-split-panels { padding-bottom: clamp(80px, 10vw, 160px); }
.bbl-split-panels__panel {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr));
	align-items: center;
}
.bbl-split-panels__panel + .bbl-split-panels__panel { margin-top: clamp(48px, 6vw, 96px); }
.bbl-split-panels__media { position: relative; width: 100%; aspect-ratio: 4 / 5; max-height: clamp(240px, 48vw, 720px); background: var(--bbl-track); overflow: hidden; }
.bbl-split-panels__img { width: 100%; height: 100%; object-fit: cover; }
.bbl-split-panels__content {
	max-width: 680px;
	padding: clamp(40px, 6vw, 112px) clamp(20px, 6vw, 112px);
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.bbl-split-panels__text { margin: 0; max-width: 44ch; color: var(--bbl-body); }
.bbl-split-panels__points { margin: 8px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.bbl-split-panels__points li { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid var(--bbl-sand); font-size: 18px; }
.bbl-split-panels__points .bbl-icon { font-size: 26px; color: var(--bbl-blue); }

/* Every second panel: image on the other side (two columns only) */
@media (min-width: 1040px) {
	.bbl-split-panels__panel:nth-child(even) .bbl-split-panels__media { order: 2; }
	.bbl-split-panels__panel:nth-child(even) .bbl-split-panels__content { justify-self: end; }
}

/* ==========================================================================
   acf/finder
   ========================================================================== */

.bbl-finder { background: #fff; padding-block: var(--bbl-section); }
.bbl-finder__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: clamp(40px, 6vw, 112px);
	align-items: start;
}
.bbl-finder__intro { display: flex; flex-direction: column; gap: 20px; }
.bbl-finder__text { margin: 0; max-width: 34ch; color: var(--bbl-muted); }
.bbl-finder__text a { font-weight: 600; }
.bbl-finder__app { grid-column: span 2; min-width: 0; max-width: 820px; }
.bbl-finder__app [hidden] { display: none; }

.bbl-finder__progress { display: flex; align-items: center; gap: 16px; margin-bottom: 32px; font-size: 16px; color: var(--bbl-muted); }
.bbl-finder__count { font-weight: 600; color: var(--bbl-ink); white-space: nowrap; }
.bbl-finder__bar { flex: 1; height: 2px; position: relative; background: var(--bbl-track); }
.bbl-finder__bar > span { position: absolute; inset-block: 0; inset-inline-start: 0; background: var(--bbl-blue); transition: width .4s; }
.bbl-finder__back {
	min-height: 44px;
	display: flex;
	align-items: center;
	gap: 4px;
	border: 0;
	background: transparent;
	color: var(--bbl-blue);
	font: inherit;
	font-size: 16px;
	cursor: pointer;
}
.bbl-finder__back .bbl-icon { font-size: 20px; }
.bbl-finder__back:disabled { opacity: .35; cursor: default; }

.bbl-finder__question { margin: 0 0 24px; font-size: clamp(28px, 2.6vw, 38px); font-weight: 300; line-height: 1.2; }
.bbl-finder__question:focus { outline: none; }
.bbl-finder__options { display: flex; flex-direction: column; border-bottom: 1px solid var(--bbl-line); }
.bbl-finder__option {
	min-height: 76px;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 0 4px;
	border: 0;
	border-top: 1px solid var(--bbl-line);
	background: transparent;
	color: var(--bbl-ink);
	font: inherit;
	font-size: 21px;
	text-align: start;
	cursor: pointer;
	transition: padding .25s, color .2s;
}
.bbl-finder__option > span:first-child { flex: 1; }
.bbl-finder__option .bbl-icon { font-size: 26px; color: var(--bbl-blue); }
.bbl-finder__option:hover { padding-inline-start: 16px; color: var(--bbl-blue); }

.bbl-finder__summary { margin-bottom: 8px; font-size: 16px; display: block; }
.bbl-finder__result .bbl-finder__question { margin-bottom: 28px; }
.bbl-finder__recs { display: flex; flex-direction: column; margin-bottom: 32px; border-bottom: 1px solid var(--bbl-line); }
.bbl-finder__rec {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 20px;
	padding: 20px 0;
	border-top: 1px solid var(--bbl-line);
	color: var(--bbl-ink);
	text-decoration: none;
}
.bbl-finder__rec:hover { color: var(--bbl-blue); }
.bbl-finder__rec-name { font-size: 22px; font-weight: 600; }
.bbl-finder__rec-icon { grid-row: span 2; align-self: center; font-size: 26px; }
.bbl-finder__rec-meta { font-size: 17px; color: var(--bbl-muted); }
.bbl-finder__form { display: flex; flex-direction: column; gap: 16px; }
.bbl-finder__fields { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-end; }
.bbl-finder__form .bbl-text-button { margin-top: 8px; }

/* ==========================================================================
   acf/testimonial — Block Styles: video (default), plain
   ========================================================================== */

.bbl-testimonial--video {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: clamp(340px, 56vw, 820px);
	display: flex;
	align-items: flex-end;
	background: var(--bbl-ink);
	color: #fff;
}
.bbl-testimonial__media { position: absolute; inset: 0; z-index: -2; }
.bbl-testimonial__img { width: 100%; height: 100%; object-fit: cover; }
.bbl-testimonial--video::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(0deg, rgba(var(--bbl-shade), .8) 0%, rgba(var(--bbl-shade), .2) 55%, rgba(var(--bbl-shade), 0) 80%);
}
.bbl-testimonial__figure { width: 100%; margin: 0 auto; padding-block: clamp(40px, 6vw, 96px); }
.bbl-testimonial--video .bbl-testimonial__quote {
	margin: 0 0 20px;
	max-width: 20ch;
	font-size: clamp(32px, 4vw, 64px);
	font-weight: 200;
	line-height: 1.15;
	letter-spacing: -.6px;
	text-wrap: balance;
}
.bbl-testimonial--video .bbl-testimonial__cite { font-size: 18px; }
.bbl-testimonial__play {
	position: absolute;
	top: clamp(24px, 4vw, 56px);
	left: var(--bbl-gutter);
	height: 52px;
	padding: 0 22px 0 16px;
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid rgba(255, 255, 255, .6);
	border-radius: 999px;
	background: rgba(var(--bbl-shade), .25);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: #fff;
	font: inherit;
	font-size: 17px;
	text-decoration: none;
	cursor: pointer;
}
.bbl-testimonial__play:hover { background: rgba(var(--bbl-shade), .5); color: #fff; }
.bbl-testimonial__play .bbl-icon { font-size: 26px; }

.bbl-testimonial--plain { padding-block: clamp(64px, 8vw, 128px); }
.bbl-testimonial__grid {
	margin-block: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: clamp(32px, 5vw, 96px);
}
.bbl-testimonial__body { grid-column: span 2; max-width: 900px; }
.bbl-testimonial--plain .bbl-testimonial__quote { margin: 0 0 20px; font-size: clamp(24px, 2.4vw, 34px); font-weight: 300; line-height: 1.45; text-wrap: pretty; }
.bbl-testimonial--plain .bbl-testimonial__cite { font-size: 17px; color: var(--bbl-muted); }

/* Video dialog (created by site.js) */
.bbl-video-dialog {
	width: min(1100px, 92vw);
	padding: 0;
	border: 0;
	background: #000;
	overflow: visible;
}
.bbl-video-dialog::backdrop { background: rgba(var(--bbl-shade), .85); }
.bbl-video-dialog iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.bbl-video-dialog__close {
	position: absolute;
	bottom: 100%;
	inset-inline-end: 0;
	margin-bottom: 8px;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--bbl-ink);
	cursor: pointer;
}

/* ==========================================================================
   acf/houses
   ========================================================================== */

.bbl-houses { background: #fff; padding-block: var(--bbl-section); }
.bbl-filter { display: flex; flex-wrap: wrap; gap: 28px; font-size: 18px; }
.bbl-filter__button {
	min-height: 44px;
	padding: 6px 0;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	color: var(--bbl-muted);
	font: inherit;
	cursor: pointer;
}
.bbl-filter__button[aria-pressed="true"] { color: var(--bbl-blue); border-bottom-color: var(--bbl-blue); }
.bbl-houses__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	column-gap: clamp(24px, 4vw, 64px);
}
.bbl-houses__row[hidden] { display: none; }
.bbl-houses__link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 20px;
	padding: 22px 0;
	border-top: 1px solid var(--bbl-line);
	color: var(--bbl-ink);
	text-decoration: none;
	transition: color .2s;
}
.bbl-houses__link:hover { color: var(--bbl-blue); }
.bbl-houses__name { font-size: 22px; }
.bbl-houses__meta { font-size: 16px; color: var(--bbl-muted); white-space: nowrap; }
.bbl-houses__link .bbl-icon { font-size: 24px; }

/* ==========================================================================
   acf/posts-featured
   ========================================================================== */

.bbl-posts-featured { padding-block: var(--bbl-section); }
.bbl-posts-featured__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	gap: clamp(32px, 5vw, 80px);
}
.bbl-posts-featured__main { display: flex; flex-direction: column; gap: 20px; color: var(--bbl-ink); text-decoration: none; }
.bbl-posts-featured__main:hover,
.bbl-posts-featured__item:hover { color: var(--bbl-blue); }
.bbl-posts-featured__media { display: block; aspect-ratio: 3 / 2; background: var(--bbl-track); overflow: hidden; }
.bbl-posts-featured__img { width: 100%; height: 100%; object-fit: cover; }
.bbl-posts-featured__main .bbl-eyebrow,
.bbl-posts-featured__item .bbl-eyebrow { font-size: 16px; }
.bbl-posts-featured__title { font-size: clamp(28px, 2.8vw, 40px); font-weight: 300; line-height: 1.2; text-wrap: balance; }
.bbl-posts-featured__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.bbl-posts-featured__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 28px 0;
	border-top: 1px solid var(--bbl-sand);
	color: var(--bbl-ink);
	text-decoration: none;
}
.bbl-posts-featured__item-title { font-size: clamp(22px, 2vw, 28px); line-height: 1.3; text-wrap: pretty; }

/* ==========================================================================
   acf/contact-cta — flows into the footer (same navy)
   ========================================================================== */

.bbl-contact-cta { background: var(--bbl-navy); color: #fff; padding-block: var(--bbl-section) clamp(64px, 7vw, 112px); }
.bbl-contact-cta__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
	gap: clamp(40px, 6vw, 112px);
	align-items: end;
}
.bbl-contact-cta__intro { display: flex; flex-direction: column; gap: 20px; }
.bbl-contact-cta__title { margin: 0; font-size: clamp(40px, 4.6vw, 72px); font-weight: 200; line-height: 1.05; letter-spacing: -1px; }
.bbl-contact-cta__text { margin: 0; max-width: 34ch; font-size: 20px; color: var(--bbl-on-navy); }
.bbl-contact-cta__phone { align-self: flex-start; color: #fff; font-size: clamp(36px, 3.6vw, 52px); font-weight: 300; letter-spacing: -.5px; text-decoration: none; }
.bbl-contact-cta__phone:hover { color: #fff; text-decoration: underline; }
.bbl-contact-cta__form { display: flex; flex-wrap: wrap; gap: 28px 24px; }
.bbl-contact-cta__form .bbl-field { flex-basis: 220px; color: var(--bbl-on-navy); }
.bbl-contact-cta__form .bbl-field input { color: #fff; border-bottom-color: rgba(255, 255, 255, .5); }
.bbl-contact-cta__form :focus-visible { outline-color: #fff; }
.bbl-contact-cta__topics { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 8px; }
.bbl-contact-cta .bbl-lead__privacy { color: var(--bbl-on-navy); }
.bbl-contact-cta .bbl-lead__invalid { color: #FFB4AB; }
.bbl-contact-cta .bbl-lead__thanks,
.bbl-contact-cta .bbl-lead__error { font-size: 24px; }
.bbl-contact-cta .bbl-lead__error a { color: #fff; }
