/* ==========================================================================
   sandiegodowntown.com refresh, Direction A "Ink & Gold"
   Stage 1: colors, typography, buttons, links, header, footer.
   Loads AFTER style.css and media.css and only overrides them.
   To switch the whole refresh off, remove the refresh.css <link> in header.php.
   ========================================================================== */

:root {
	--ink: #16161A;
	--ink-soft: #2B2A2E;
	--muted: #4E4A44;
	--paper: #FAF8F4;
	--sand: #F1ECE3;
	--line: #D9CDB6;
	--gold: #8A6116;        /* gold for text and buttons on light backgrounds */
	--gold-bright: #B8892E; /* decorative rules */
	--gold-light: #D9B76E;  /* gold on dark backgrounds */
	--font-head: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--font-body: 'Work Sans', 'Helvetica Neue', Arial, sans-serif;
}

/* ==========================================================================
   Stage 1b (loads first so the hand-tuned rules below win): replace every remaining red from the old stylesheets
   (generated from style.css, media.css and res.css; form error messages keep red)
   ========================================================================== */
.red { color: var(--gold); }
.vertical-align-center .modal-header span { color: var(--gold); }
.vertical-align-center .modal-header .close { border: 1px solid var(--gold-bright); }
.btn-primary:hover, .btn-primary:focus, .btn-primary.active .btn-secondary:hover, .a-style-1:hover, .btn-style-1:hover, .gform_button:hover, .gform_button:active, .gform_button:focus, .gform_footer input[type=submit]:hover, .home-selling-search-form #lead_capture_form input[type="submit"]:hover { background-color: var(--gold); border-color: var(--gold-bright); }
.down-arrow { border-top: 15px solid var(--gold-bright); }
.tab-style-1 .nav-tabs li.active a, .tab-style-1 .nav-tabs li a:hover, .tab-style-1 .nav-tabs li.active a:hover, .tab-style-1 .nav-tabs li.active a:active, .tab-style-1 .nav-tabs li a:active, .tab-style-1 .nav-tabs li a:focus, .tab-style-1 .nav-tabs li.active a:focus { border-top: 3px solid var(--gold-bright); }
.header-icon a:hover { color: var(--gold); }
.ui-autocomplete.ui-menu .ui-menu-item a:hover { color: var(--gold); }
.res-nav:hover { background-color: var(--gold); }
.navbar-nav>li>a:hover { color: var(--gold); }
.navbar-nav>li>a .dropdown-menu { border-top: 5px solid var(--gold-bright); }
.navbar-nav .dropdown-menu a:hover { background-color: var(--gold); }
.arrow-up { border-bottom: 25px solid var(--gold-bright); }
.navbar-nav ul.dropdown-menu:after { border-bottom: 10px solid var(--gold-bright); }
.icon-style-1 { color: var(--gold); }
.footer-2 a:hover { color: var(--gold); }
.tab-style-2 .tab-pane { border-top: 8px solid var(--gold-bright); }
.footer-newsletter-form .gform_footer input[type=submit]:hover { background-color: var(--gold); }
.tab-style-2 li a:hover .buy-tab.checked-tab, .tab-style-2 li.active a .buy-tab.checked-tab { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.tab-style-2 li a:hover .buy-tab.search-user-tab, .tab-style-2 li.active a .buy-tab.search-user-tab { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.tab-style-2 li a:hover .buy-tab.location-tab, .tab-style-2 li.active a .buy-tab.location-tab { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.tab-style-2 li a:hover .buy-tab.money-tab, .tab-style-2 li.active a .buy-tab.money-tab { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.tab-style-2 li a:hover .buy-tab.key-tab, .tab-style-2 li.active a .buy-tab.key-tab { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.label-style-1 { background-color: var(--gold); }
.icon-li-style .fa, .icon-li-style img { color: var(--gold); }
form .a-style-1.a-small:hover { background-color: var(--gold); }
.tab-style-2 li a:hover .buy-tab.search-user-selling-tab, .tab-style-2 li.active a .buy-tab.search-user-selling-tab { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.tab-style-2 li a:hover .buy-tab.edit-icon-tab, .tab-style-2 li.active a .buy-tab.edit-icon-tab { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.tab-style-2 li a:hover .buy-tab.cloud-icon-tab, .tab-style-2 li.active a .buy-tab.cloud-icon-tab { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.tab-style-2 li a:hover .buy-tab.blub-tab, .tab-style-2 li.active a .buy-tab.blub-tab { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.tab-style-2 li a:hover .buy-tab.location-pin-tab, .tab-style-2 li.active a .buy-tab.location-pin-tab { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.tab-style-2 li a:hover .buy-tab.twr-icon-tab, .tab-style-2 li.active a .buy-tab.twr-icon-tab { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.pagination .current .btn, .pagination .btn:hover { background-color: var(--gold); }
.team-block a { border-left: 10px solid var(--gold-bright); }
.bayside-block { border-top: 5px solid var(--gold-bright); }
.date-style { border-bottom: 2px solid var(--gold-bright); }
.swiper-slide-active .crl-point { border: 2px solid var(--gold-bright); }
.swiper-slide-active .selective-year { background-color: var(--gold); }
.swiper-slide-active .selective-year .down-arrow { border-top: 20px solid var(--gold-bright); }
.ui-menu li.ui-autocomplete-category { border-bottom: 1px solid var(--line); }
.ui-menu-item.ui-state-focus { background: var(--gold) !important; border: 1px solid var(--gold-bright) !important; }
.featured-item a:hover, .recently-item-text a:hover { color: var(--gold); }
.list-style ul li:before { color: var(--gold); }
.testimonial_author { color: var(--gold); }
.wp-pagenavi .current:active, .wp-pagenavi .current:focus, .wp-pagenavi .current:hover, .wp-pagenavi a:hover, .wp-pagenavi a:active, .wp-pagenavi a:focus, .wp-pagenavi span.current { background-color: var(--gold); border-color: var(--gold-bright); }
.page-job-contact-block:hover { border-left: 4px solid var(--gold-bright); }
.community-bottom .details-block-text .btn-primary:hover { border-color: var(--gold-bright); }
.list-inline.testimonial-icons>li a { color: var(--gold); }
@media (max-width:767px) {
	.arrow-up { border-bottom: 15px solid var(--gold-bright); }
	.navbar-responsive-collapse .header-icon { background: var(--gold); }
}
@media (max-width: 767px) {
	.sub-menu .arrow-up { border-bottom: 10px solid var(--gold-bright); }
}
.member-name { border-bottom-color: var(--line); }
/* buying/selling guide: active tab icons are red images; the filter above tints them gold */

/* ---------- Base ---------- */
body {
	font-family: var(--font-body) !important;
	color: var(--ink);
	background-color: var(--paper);
	-webkit-font-smoothing: antialiased;
}
p { line-height: 1.65; color: var(--ink); }
strong, b { font-weight: 600; }                 /* old theme flattened bold text */
footer p { font-size: 14px; }                   /* old theme had a typo here */

/* ---------- Headings ---------- */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-head) !important;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.2;
	color: inherit;
}
.banner-heading, h1 { text-shadow: none; }
h1 strong, h2 strong, h3 strong, h4 strong { font-weight: 600; }

/* Section headings: replace the old red underline image with a slim gold rule */
.heading-style-1,
.heading-style-2,
section h2:not(.section-youtube-video-date),
footer h2 {
	background-image: none !important;
	font-weight: 600;
	text-transform: none;
	padding-bottom: 0;
}
.heading-style-1::after,
.heading-style-2::after,
section h2:not(.section-youtube-video-date)::after,
footer h2::after {
	content: '';
	display: block;
	width: 56px;
	height: 2px;
	background: var(--gold-bright);
	margin: 22px auto 0;
}
section .category-blog-detail h2::after { margin-left: 0; }
footer h2::after { background: var(--gold-light); }

/* Banner titles on photos */
.heading-style-3 {
	background-image: none !important;
	font-weight: 600;
	text-transform: none;
	padding-bottom: 0;
}
.heading-style-3::after {
	content: '';
	display: block;
	width: 64px;
	height: 2px;
	background: var(--gold-light);
	margin: 22px auto 0;
}

/* ---------- Links ---------- */
a {
	font-family: inherit !important;
	color: var(--gold);
}
a:hover, a:focus { color: var(--ink); opacity: 1; }
.category-blog-detail p a,
.post_content p a,
.entry-content p a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }
a.white, a.white:hover, .white { color: #fff; }
.red { color: var(--gold); }

/* Visible keyboard focus (the old theme hid it) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--gold-bright);
	outline-offset: 2px;
}

/* ---------- Header and navigation ---------- */
#stickyHeader { background-color: #fff; border-bottom: 1px solid var(--line); }
.navbar-nav > li { font-size: 1em; }
.navbar-nav > li > a,
#menu-main_menu li a {
	font-family: var(--font-body) !important;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--ink-soft);
}
.navbar-nav > li > a:hover { color: var(--gold); }
.navbar-nav .dropdown-menu { border-top: 3px solid var(--gold-bright); background: #fff; }
.navbar-nav ul.dropdown-menu:after { border-bottom-color: var(--gold-bright); }
.navbar-nav .dropdown-menu a { color: var(--ink-soft); text-transform: none; letter-spacing: 0; }
.navbar-nav .dropdown-menu a:hover { background-color: var(--sand); color: var(--gold); }
.header-icon a, .header-icon .fa { color: var(--ink-soft); }
.header-icon a:hover .fa { color: var(--gold); }
.res-nav:hover { background-color: var(--gold); }
.ui-autocomplete.ui-menu .ui-menu-item a:hover { color: var(--gold); }

/* ---------- Banners ---------- */
.banner-area:before,
.internal-banner:before { background: rgba(22, 22, 26, 0.55); }
.banner-btn { font-family: var(--font-body) !important; font-weight: 600; letter-spacing: 0.08em; }
.banner-search input { background-color: rgba(22, 22, 26, 0.88); }
.banner-search button {
	background-color: var(--gold);
	color: #fff;
	font-family: var(--font-body);
	letter-spacing: 0.06em;
	border: none;
}
.banner-search button:hover { background-color: var(--ink); color: #fff; }

/* ---------- Buttons ---------- */
.btn-primary,
.a-style-1,
.gform_button,
.gravity-popup-form .gform_footer input[type=submit] {
	font-family: var(--font-body) !important;
	font-weight: 600;
	font-size: 1em;
	letter-spacing: 0.08em;
	border: 1px solid var(--ink);
	color: var(--ink);
	padding: 13px 28px;
	width: auto;
	max-width: none;
	min-width: 220px;
	white-space: nowrap;
}
.btn-primary:hover,
.btn-primary:focus,
.a-style-1:hover,
.btn-style-1:hover,
.gform_button:hover,
.gform_button:active,
.gform_button:focus,
.gform_footer input[type=submit]:hover,
.home-selling-search-form #lead_capture_form input[type="submit"]:hover {
	background-color: var(--ink);
	border-color: var(--ink);
	color: #fff;
}
.btn-secondary,
.btn-style-1 { background: var(--ink); color: #fff; font-family: var(--font-body) !important; letter-spacing: 0.06em; }
.btn-tertiary,
.a-style-3 {
	font-family: var(--font-body) !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	color: var(--ink);
	border-bottom: 1px solid var(--gold-bright);
}
.btn-tertiary:hover,
.btn-tertiary:focus,
.a-style-3:hover { border: 1px solid var(--ink); color: var(--ink); }

/* ---------- Labels, tags, accents ---------- */
.label-style-1,
.blog-label-text a {
	background-color: var(--sand);
	color: var(--ink);
	border: 1px solid var(--line);
	border-radius: 2px;
	font-family: var(--font-body) !important;
	font-size: 0.85em;
	font-weight: 600;
	letter-spacing: 0.08em;
}
.blog-label-text a:hover { background-color: var(--ink); color: #fff; border-color: var(--ink); }
.label-style-1 .fa { color: var(--gold); }
.arrow-up { border-bottom-color: var(--gold-bright); }
.vertical-align-center .modal-header span { color: var(--gold); }
.vertical-align-center .modal-header .close { border-color: var(--gold); }

/* ---------- Backgrounds ---------- */
.gray-bg { background-color: var(--sand); }

/* ---------- Footer ---------- */
footer { background-color: var(--ink); }
footer, footer p, footer address, footer dt, footer dd, footer li, footer .white { color: rgba(255, 255, 255, 0.86); }
footer .footer-3 p { color: rgba(255, 255, 255, 0.7); font-size: 13px; }
footer h6, footer h6 a { font-family: var(--font-head) !important; color: #fff; }
.footer a,
.footer-a { font-family: var(--font-body) !important; color: rgba(255, 255, 255, 0.82); }
.footer a:hover,
.footer-a:hover,
.footer-2 a:hover { color: var(--gold-light); }
.footer-2 { border-top-color: rgba(255, 255, 255, 0.18); }
footer .gform_footer input[type=submit],
.footer-newsletter-form .gform_footer input[type=submit] {
	background-color: var(--gold);
	border-color: var(--gold);
	color: #fff;
	font-family: var(--font-body) !important;
	letter-spacing: 0.08em;
}
.footer-newsletter-form .gform_footer input[type=submit]:hover { background-color: #fff; color: var(--ink); }

/* ==========================================================================
   Stage 2: spacing, readability and mobile
   ========================================================================== */

/* Comfortable reading width for blog posts and long text */
.category-blog-detail > .row { max-width: 780px; margin-left: auto; margin-right: auto; }
.category-blog-detail p,
.category-blog-detail li { font-size: 1.12em; line-height: 1.75; }
.category-blog-detail h2 { font-size: 1.9em; margin: 36px 0 14px; text-align: left; }
.category-blog-detail h3 { font-size: 1.35em; margin: 28px 0 10px; }
.blog-detail-content img { height: auto; margin: 10px 0 20px; }

/* Images never overflow their column */
img { height: auto; }

/* Tablet */
@media (max-width: 991px) {
	header, section, footer { padding: 56px 0; }
	#stickyHeader { padding: 10px 0; }
	.heading-style-3 { margin: 50px 0 60px; }
	.banner-area { min-height: 520px; }
}

/* Phone */
@media (max-width: 767px) {
	header, section, footer { padding: 40px 0; }
	#stickyHeader { padding: 8px 0; }
	.heading-style-1,
	.heading-style-2,
	section h2:not(.section-youtube-video-date),
	footer h2 { font-size: 1.8em; margin-bottom: 24px; }
	.heading-style-1::after,
	.heading-style-2::after,
	section h2:not(.section-youtube-video-date)::after,
	footer h2::after { margin-top: 14px; }
	h3 { font-size: 1.5em; margin-bottom: 20px; }

	/* Homepage hero */
	.banner-area { min-height: 0; padding: 70px 0 50px; }
	.banner-heading, h1 { font-size: 2em; margin: 20px 0 16px; }
	.banner-btn { min-width: 0; width: 48%; font-size: 1em; padding: 14px 6px; }
	.banner-search input, .banner-search button { height: 48px; }

	/* Page banners */
	.internal-banner, .internla-banner { min-height: 0; padding: 40px 0; }
	.heading-style-3 { margin: 30px 0 40px; font-size: 1.9em; }

	/* Buttons: full width, easy to tap */
	.btn-primary, .a-style-1, .gform_button,
	.gravity-popup-form .gform_footer input[type=submit] { width: 100%; max-width: 100%; min-width: 0; min-height: 48px; margin: 6px 0; white-space: normal; }

	/* Blog post text */
	.category-blog-detail p, .category-blog-detail li { font-size: 1.05em; }
	.category-blog-detail h2 { font-size: 1.55em; }

	/* Headlines slider cards */
	.h-slide-a { height: 210px; }
	.heading-info { padding: 0 10px 30px; }

	/* Wide fixed elements from the old theme */
	.modal-dialog.modal-lg { width: auto; }
	.swiper-slide-img { min-height: 260px; }
	.insights-block { min-height: 0; }
}

/* ==========================================================================
   Stage 1c: red images and icons
   ========================================================================== */
/* Buying/selling guide: active tab icons are red image files - tint them gold */
img.tab-icon-red,
img[src*="-red.png"],
img[data-src*="-red.png"] { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }

/* Buying/selling guide checklists: replace the red checkmark image with a gold one */
.li-style-2 {
	list-style-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14' viewBox='0 0 18 14'%3E%3Cpath d='M1.5 7.5l5 4.5L16.5 2' fill='none' stroke='%23B8892E' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Testimonials page: review-site icons */
.list-inline.testimonial-icons > li a,
.list-inline.testimonial-icons > li a .fa { color: var(--gold) !important; }
.list-inline.testimonial-icons > li a:hover .fa { color: var(--ink) !important; }
.list-inline.testimonial-icons img { filter: brightness(0) saturate(100%) invert(54%) sepia(63%) saturate(476%) hue-rotate(2deg) brightness(91%) contrast(88%); }
.list-inline.testimonial-icons > li a:hover img { filter: brightness(0); }
/* Google+ closed in 2019: hide its dead link */
.list-inline.testimonial-icons > li:has(.fa-google-plus) { display: none; }

/* Footer social icons: white, all turning gold on hover (Zillow's red hover image tinted to match) */
.social-a, .social-a .fa { color: #fff; }
.social-a:hover, .social-a:hover .fa, .footer-2 .social-a:hover { color: var(--gold-light); }
.social-li a .hover-red { filter: brightness(0) saturate(100%) invert(79%) sepia(31%) saturate(612%) hue-rotate(352deg) brightness(92%) contrast(88%); }

/* Custom page scrollbar (niceScroll sets its color inline, hence !important) */
.nicescroll-cursors,
.nicescroll-rails > div { background-color: var(--gold-bright) !important; border-color: var(--gold-bright) !important; }

/* "Downtown San Diego Insights" tabs: equal height, labels centered */
.tab-style-1 .nav-tabs { display: flex; flex-wrap: wrap; justify-content: center; border-bottom-color: var(--line); }
.tab-style-1 .nav-tabs > li { float: none; display: flex; margin-bottom: -1px; }
.tab-style-1 .nav-tabs > li > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 100%;
	min-height: 110px;
	padding: 16px 18px;
	line-height: 1.35;
	margin: 0;
	border-top: 3px solid transparent;
	text-align: center;
}
.tab-style-1 .nav-tabs > li.active > a,
.tab-style-1 .nav-tabs > li.active > a:hover,
.tab-style-1 .nav-tabs > li.active > a:focus { border-top-color: var(--gold-bright); background-color: #fff; }

/* ==========================================================================
   Forms (Gravity Forms legacy markup) and the X logo
   ========================================================================== */

/* X (formerly Twitter) logo in place of the bird */
.social-a .fa-twitter::before {
	content: "";
	display: inline-block;
	width: 0.85em;
	height: 0.85em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E") no-repeat center / contain;
	vertical-align: -0.05em;
}

/* All forms: consistent, comfortable fields */
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=number],
.gform_wrapper select,
.gform_wrapper textarea {
	font-family: var(--font-body) !important;
	font-size: 16px !important;
	color: var(--ink);
	background-color: #fff;
	border: 1px solid var(--line) !important;
	border-radius: 2px;
	padding: 12px 14px !important;
	min-height: 48px;
	box-shadow: none;
	transition: border-color 0.2s;
}
.gform_wrapper textarea { min-height: 120px; }
.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus { border-color: var(--gold-bright) !important; outline: none; }
.gform_wrapper ::placeholder { color: #8A857C; opacity: 1; }
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_footer button[type=submit],
.gform_wrapper .gform_button {
	background-color: var(--gold);
	border: 1px solid var(--gold);
	color: #fff;
	min-height: 48px;
}
.gform_wrapper .gform_footer input[type=submit]:hover,
.gform_wrapper .gform_footer button[type=submit]:hover,
.gform_wrapper .gform_button:hover { background-color: var(--ink); border-color: var(--ink); color: #fff; }

/* Footer newsletter: first and last name side by side, everything aligned */
.footer-newsletter-form .gform_wrapper ul.gform_fields { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; }
.footer-newsletter-form .gform_wrapper ul li.gfield,
.footer-newsletter-form .gform_wrapper ul li.gfield:nth-child(1),
.footer-newsletter-form .gform_wrapper ul li.gfield:nth-child(2) { width: 100% !important; max-width: 100%; margin: 0 !important; padding: 0 !important; float: none; }
.footer-newsletter-form #field_7_1,
.footer-newsletter-form #field_7_2 { width: calc(50% - 6px) !important; }
.footer-newsletter-form .gform_wrapper .top_label input.medium,
.footer-newsletter-form .gform_wrapper .top_label input.large,
.footer-newsletter-form .gform_wrapper .top_label input { width: 100% !important; }
.footer-newsletter-form .gform_wrapper li.gform_hidden,
.footer-newsletter-form .gform_wrapper li.gform_validation_container,
.footer-newsletter-form #field_7_11 { display: none !important; }
.footer-newsletter-form .gform_wrapper input[type=text],
.footer-newsletter-form .gform_wrapper input[type=email] {
	background-color: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.28) !important;
	color: #fff;
}
.footer-newsletter-form .gform_wrapper ::placeholder { color: rgba(255, 255, 255, 0.6); }
.footer-newsletter-form .gform_wrapper input:focus { border-color: var(--gold-light) !important; }
.footer-newsletter-form .gform_footer.top_label { padding: 12px 0 0; margin: 0; position: static; }
.footer-newsletter-form .gform_footer input[type=submit],
.footer-newsletter-form .gform_footer button[type=submit] { width: 100%; max-width: 100%; margin: 0; }

/* ==========================================================================
   Market snapshot card (building pages)
   ========================================================================== */
.market-snapshot { max-width: 900px !important; margin: 0 auto 36px !important; text-align: center !important; }
.ms-card {
	background: #fff;
	border: 1px solid var(--line);
	border-top: 3px solid var(--gold-bright);
	padding: 32px 36px 24px;
	text-align: center;
}
.ms-card .ms-eyebrow {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gold);
	margin: 0 0 6px;
}
.ms-card h3 { font-size: 1.7em; margin: 0 0 24px; }
.ms-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	margin: 0 0 22px;
}
.ms-stat { display: flex; flex-direction: column; gap: 2px; padding: 18px 8px; }
.ms-stat + .ms-stat { border-left: 1px solid var(--line); }
.ms-num { font-family: var(--font-head); font-size: 1.75em; font-weight: 600; line-height: 1.15; color: var(--ink); }
.ms-label { font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.ms-sub { font-size: 13px; color: #8A857C; }
.ms-summary p { font-size: 1.02em; line-height: 1.65; color: var(--ink); max-width: 680px; margin: 0 auto 8px; }
.ms-card .ms-note { font-size: 12px; color: #8A857C; border-top: 1px solid var(--line); padding-top: 12px; margin: 14px 0 0; }
@media (max-width: 767px) {
	.ms-card { padding: 24px 16px 18px; }
	.ms-card h3 { font-size: 1.4em; }
	.ms-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-stat + .ms-stat { border-left: 0; }
	.ms-stat:nth-child(even) { border-left: 1px solid var(--line); }
	.ms-stat:nth-child(n+3) { border-top: 1px solid var(--line); }
	.ms-num { font-size: 1.45em; }
}

/* ==========================================================================
   Building page redesign, Stage A: hero, section menu, overview + quick facts
   ========================================================================== */
html { scroll-behavior: smooth; }
#overview, #for-sale, #photos, #floor-plans, #faq { scroll-margin-top: 140px; }

.bld-hero {
	position: relative;
	float: left;
	width: 100%;
	min-height: 520px;
	padding: 0;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: flex-end;
}
.bld-hero:before { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(22,22,26,.78) 0%, rgba(22,22,26,.35) 55%, rgba(22,22,26,.15) 100%); }
.bld-hero-inner { position: relative; z-index: 1; padding-top: 140px; padding-bottom: 48px; color: #fff; }
.bld-eyebrow { font-family: var(--font-body); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-light); margin: 0 0 10px; }
.bld-eyebrow-dark { color: var(--gold); }
.bld-title { font-size: 3.2em !important; color: #fff; margin: 0 0 18px !important; text-shadow: none; max-width: 900px; }
.bld-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.bld-chips span { padding: 7px 13px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35); font-size: 14px; }
.bld-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.bld-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; font-family: var(--font-body) !important; font-weight: 600; font-size: 15px; letter-spacing: .04em; text-decoration: none !important; }
.bld-btn-gold { background: var(--gold); color: #fff !important; }
.bld-btn-gold:hover { background: #fff; color: var(--ink) !important; }
.bld-btn-outline { border: 1px solid #fff; color: #fff !important; }
.bld-btn-outline:hover { background: #fff; color: var(--ink) !important; }

.bld-nav { position: sticky; top: 0; z-index: 900; float: left; width: 100%; background: #fff; border-bottom: 1px solid var(--line); padding: 0; }
.is-sticky ~ .bld-nav, .admin-bar .bld-nav { top: 0; }
.bld-nav-inner { display: flex; align-items: center; gap: 30px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.bld-nav-inner::-webkit-scrollbar { display: none; }
.bld-nav-inner a { font-family: var(--font-body) !important; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); padding: 16px 0; border-bottom: 2px solid transparent; text-decoration: none; }
.bld-nav-inner a:hover { color: var(--gold); border-bottom-color: var(--gold-bright); }
.bld-nav-inner .bld-nav-call { margin-left: auto; background: var(--ink); color: #fff; padding: 9px 16px; border: 0; letter-spacing: .04em; }
.bld-nav-inner .bld-nav-call:hover { background: var(--gold); color: #fff; }

.bld-overview { padding: 64px 0; }
.bld-intro h2 { text-align: left; font-size: 2.2em; margin: 0 0 18px; }
.bld-intro h2::after { margin-left: 0 !important; }
.bld-intro p { font-size: 1.1em; line-height: 1.75; color: var(--muted); }

.bld-facts { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold-bright); padding: 22px 22px 18px; }
.bld-facts h3 { font-size: 1.35em; margin: 0 0 14px; }
.bld-facts-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 0; }
.bld-facts-grid > div { padding: 12px 0; border-top: 1px solid var(--line); }
.bld-facts-grid > div:nth-child(odd) { padding-right: 12px; }
.bld-facts-grid dt { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.bld-facts-grid dd { margin: 3px 0 0; font-family: var(--font-head); font-size: 1.15em; font-weight: 600; color: var(--ink); }
.bld-facts-sub { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 16px 0 8px; }
.bld-amenities { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.bld-amenities li { padding: 6px 12px; background: var(--sand); border: 1px solid var(--line); font-size: 14px; }
.bld-more { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 12px; }
.bld-more summary { cursor: pointer; font-weight: 600; color: var(--gold); }
.bld-more dl { margin: 10px 0 0; }
.bld-more dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--sand); font-size: 14px; }
.bld-more dt { color: var(--muted); font-weight: 500; }
.bld-more dd { margin: 0; text-align: right; }

@media (max-width: 991px) {
	.bld-facts { margin-top: 32px; }
	.bld-title { font-size: 2.6em !important; }
}
@media (max-width: 767px) {
	.bld-hero { min-height: 360px; }
	.bld-hero-inner { padding-top: 90px; padding-bottom: 26px; }
	.bld-title { font-size: 2em !important; }
	.bld-chips span { font-size: 13px; padding: 5px 10px; }
	.bld-actions .bld-btn { flex: 1 1 45%; padding: 0 10px; font-size: 14px; }
	.bld-nav-inner { gap: 22px; }
	.bld-nav-inner .bld-nav-call { display: none; }
	.bld-overview { padding: 36px 0; }
	.bld-intro h2 { font-size: 1.7em; }
}
.tab-style-1 .nav-tabs > li > a .fa { font-size: 1.5em; margin: 0; color: var(--gold); }
.tab-style-1 .nav-tabs > li > a br { display: none; }

/* ==========================================================================
   Building page redesign, Stage B
   ========================================================================== */
/* For sale + snapshot */
.bld-forsale { background-color: var(--sand); }

/* Contact band */
.bld-contact { padding: 64px 0; }
.bld-contact-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold-bright); padding: 36px; }
.bld-contact-intro { display: flex; gap: 20px; align-items: flex-start; }
.bld-contact-photo { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; flex: none; }
.bld-contact-title { text-align: left !important; font-size: 2em !important; margin: 0 0 10px !important; }
.bld-contact-title::after { display: none !important; }
.bld-contact-intro p { color: var(--muted); }
.bld-contact-form h3 { font-size: 1.3em; margin: 0 0 12px; text-align: left; }
.bld-btn-dark { background: var(--ink); color: #fff !important; }
.bld-btn-dark:hover { background: var(--gold); }
.bld-btn-line { border: 1px solid var(--ink); color: var(--ink) !important; background: transparent; }
.bld-btn-line:hover { background: var(--ink); color: #fff !important; }

/* Floor plans as cards */
.condos-floor-plan hr { display: none; }
.condos-floor-plan .floor-plan-block { margin-bottom: 24px; }
.condos-floor-plan .floor-plan-block article { background: #fff; border: 1px solid var(--line); padding: 16px 16px 20px; height: 100%; text-align: center; }
.condos-floor-plan .floor-plan-block img { max-height: 200px; width: auto; }
.condos-floor-plan .floor-plan-block h6 { font-family: var(--font-head) !important; font-size: 1.2em; color: var(--ink); margin: 12px 0 6px; }
.condos-floor-plan .border-style-1 { display: none; }
.condos-floor-plan .slider-main-info { display: flex; justify-content: center; gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 12px 0; }
.condos-floor-plan .slider-main-info-block { flex: 1; padding: 10px 4px; font-size: 13px; color: var(--muted); border-left: 1px solid var(--line); width: auto; margin: 0; }
.condos-floor-plan .slider-main-info-block:first-child { border-left: 0; }
.condos-floor-plan .slider-main-info-block img { display: none; }

/* Photo grid */
#photos .gallery { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 !important; }
#photos .gallery br { display: none; }
#photos .gallery-item { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }
#photos .gallery-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 0 !important; display: block; transition: opacity .2s; }
#photos .gallery-item a:hover img { opacity: .85; }
#photos .gallery-caption { display: none; }
#photos .bld-hidden { display: none !important; }
#photos .bld-show-all { margin: 20px auto 0; display: flex; }
.bld-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(22,22,26,.94); display: flex; align-items: center; justify-content: center; }
.bld-lightbox[hidden] { display: none; }
.bld-lightbox img { max-width: 88vw; max-height: 86vh; object-fit: contain; }
.bld-lightbox button { position: absolute; background: transparent; border: 0; color: #fff; font-size: 44px; line-height: 1; padding: 12px 18px; cursor: pointer; }
.bld-lightbox button:hover { color: var(--gold-light); }
.bld-lb-close { top: 10px; right: 14px; }
.bld-lb-prev { left: 10px; top: 50%; transform: translateY(-50%); }
.bld-lb-next { right: 10px; top: 50%; transform: translateY(-50%); }

/* Read more block */
.read-more-neighborhood { background-color: var(--paper); }
.read-more-neighborhood .container { max-width: 860px; }

/* FAQ accordion */
#faq .container { max-width: 900px; }
.bld-faq-item { border-bottom: 1px solid var(--line); background: transparent; }
.bld-faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; }
.bld-faq-item summary::-webkit-details-marker { display: none; }
.bld-faq-item summary::after { content: '+'; font-size: 28px; line-height: 1; color: var(--gold); flex: none; }
.bld-faq-item[open] summary::after { content: '\2212'; }
.bld-faq-item .faq-title { font-size: 1.25em !important; margin: 0 !important; text-align: left !important; background: none !important; padding: 0 !important; }
.bld-faq-item .faq-title::after { display: none !important; }
.bld-faq-item .faq-content { padding: 0 0 18px; color: var(--muted); font-size: 1.05em; line-height: 1.7; }

/* Nearby buildings and blog cards */
.bld-nearby, .bld-blog { padding: 56px 0; }
.bld-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.bld-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); text-decoration: none !important; color: var(--ink) !important; transition: border-color .2s; }
.bld-card:hover { border-color: var(--gold-bright); }
.bld-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.bld-card-title { font-family: var(--font-head); font-size: 1.25em; font-weight: 600; padding: 14px 16px 2px; }
.bld-card-sub { font-size: 14px; color: var(--muted); padding: 0 16px 16px; }

/* Phone call bar */
.bld-mobile-bar { display: none; }
@media (max-width: 767px) {
	.bld-contact { padding: 36px 0; }
	.bld-contact-card { grid-template-columns: 1fr; gap: 24px; padding: 22px 16px; }
	.bld-contact-intro { flex-direction: column; gap: 12px; }
	.bld-contact-title { font-size: 1.6em !important; }
	#photos .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
	.bld-card-grid { grid-template-columns: 1fr; gap: 14px; }
	.bld-nearby, .bld-blog { padding: 36px 0; }
	.bld-mobile-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9000; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); }
	.bld-mobile-bar a { display: flex; align-items: center; justify-content: center; min-height: 48px; font-weight: 600; text-decoration: none; }
	.bld-mobile-bar a:first-child { background: var(--ink); color: #fff; }
	.bld-mobile-bar a:last-child { background: var(--gold); color: #fff; }
	.single-neighborhood footer { padding-bottom: 90px; }
}

/* Footer social icons: use whichever icon font is loaded (codes match across versions) */
.social-a .fa {
	font-family: 'Font Awesome 5 Brands', 'Font Awesome 6 Brands', 'FontAwesome' !important;
	font-weight: 400 !important;
	font-style: normal;
}

/* ==========================================================================
   Homepage refresh
   ========================================================================== */
.home-eyebrow { font-family: var(--font-body); font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-light); margin: 0 0 12px; position: relative; z-index: 1; }
.banner-area .banner-heading { margin-top: 140px; position: relative; z-index: 1; }
.home-sub { position: relative; z-index: 1; color: rgba(255,255,255,.9); font-size: 1.2em; max-width: 640px; margin: 0 auto 28px; }
.banner-actions { position: relative; z-index: 1; display: flex; justify-content: center; gap: 8px; margin-bottom: 18px; }
.banner-btn { min-width: 0; padding: 12px 28px; margin: 0; border: 1px solid rgba(255,255,255,.6); font-size: 1em; letter-spacing: .1em; }
.banner-btn.active, .banner-btn:hover { background: #fff; color: var(--ink) !important; border-color: #fff; padding-bottom: 12px; }
.banner-search { position: relative; z-index: 1; }

.home-stats { background: var(--ink); color: #fff; padding: 28px 0; }
.home-stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); text-align: center; }
.home-stats-grid > div { display: flex; flex-direction: column; gap: 4px; padding: 6px 12px; }
.home-stats-grid > div + div { border-left: 1px solid rgba(255,255,255,.18); }
.home-stat-num { font-family: var(--font-head); font-size: 1.7em; font-weight: 600; color: var(--gold-light); }
.home-stat-label { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.8); }

.home-districts { padding: 72px 0; }
.home-district-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 32px; }
.home-district { position: relative; display: flex; align-items: flex-end; min-height: 220px; padding: 20px; background: var(--ink) center / cover no-repeat; text-decoration: none !important; overflow: hidden; }
.home-district:before { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(22,22,26,.8), rgba(22,22,26,.1) 60%); transition: background .3s; }
.home-district:hover:before { background: linear-gradient(to top, rgba(22,22,26,.9), rgba(22,22,26,.3) 60%); }
.home-district span { position: relative; font-family: var(--font-head); font-size: 1.6em; font-weight: 600; color: #fff; }
.home-district span::after { content: ''; display: block; width: 36px; height: 2px; background: var(--gold-light); margin-top: 8px; transition: width .3s; }
.home-district:hover span::after { width: 64px; }

.home-advantages .buyer-advg-block { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold-bright); padding: 28px 22px; min-height: 0; height: 100%; margin-bottom: 24px; }
.home-advantages .buyer-advg-block h4 { color: var(--ink); font-size: 1.35em; }
.home-advantages .buyer-advg-block p { color: var(--muted); }
/* only the four card columns (the inner row), not the section's outer column */
.home-advantages .row .row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0 0 32px; }
.home-advantages .row .row::before, .home-advantages .row .row::after { display: none; }
.home-advantages .row .row > [class*="col-"] { width: auto; float: none; padding: 0; display: flex; }
.home-advantages .buyer-advg-block { width: 100%; margin-bottom: 0; }
.home-advantages .text-center { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.home-advantages .text-center .btn { margin: 0; }
@media (max-width: 991px) { .home-advantages .row .row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .home-advantages .row .row { grid-template-columns: 1fr; gap: 14px; } }

.home-market { background: var(--ink); color: #fff; padding: 56px 0; }
.home-market-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; }
.home-market-inner > div { max-width: 760px; }
.home-market-title { color: #fff; font-size: 2em !important; text-align: left !important; margin: 0 0 10px !important; }
.home-market-title::after { display: none !important; }
.home-market-text { color: rgba(255,255,255,.8); margin: 0; }
.home-btn-light { background: #fff; color: var(--ink) !important; }
.home-btn-light:hover { background: var(--gold-light); }

.home-news .home-posts { margin-bottom: 32px; }
.home-cta { padding: 72px 0; background: var(--sand); }
.home-cta p { max-width: 620px; margin: 0 auto 24px; color: var(--muted); font-size: 1.1em; }

@media (max-width: 991px) {
	.home-district-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.banner-area .banner-heading { margin-top: 30px; }
	.home-sub { font-size: 1.05em; }
	.home-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 14px; }
	.home-stats-grid > div:nth-child(3) { border-left: 0; }
	.home-stat-num { font-size: 1.35em; }
	.home-districts, .home-cta { padding: 40px 0; }
	.home-district-grid { grid-template-columns: 1fr; }
	.home-district { min-height: 150px; }
	.home-market { padding: 36px 0; }
	.home-market-title { font-size: 1.6em !important; }
}

/* ==========================================================================
   Market update posts + tables in all blog posts
   ========================================================================== */
.mk-hero { background: var(--ink); color: #fff; padding: 72px 0 56px; text-align: center; }
.mk-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-light); margin: 0 0 14px; }
.mk-title { color: #fff; font-size: 3em !important; max-width: 980px; margin: 0 auto 16px !important; text-shadow: none; }
.mk-title::after { content: ''; display: block; width: 64px; height: 2px; background: var(--gold-light); margin: 22px auto 0; }
.mk-meta { color: rgba(255,255,255,.75); font-size: 15px; margin: 0; }
.mk-graphic { background: linear-gradient(var(--ink) 0, var(--ink) 50%, var(--paper) 50%); padding: 0 0 8px; }
.mk-graphic img { display: block; max-width: 1000px; width: 100%; height: auto; margin: 0 auto; box-shadow: 0 18px 40px rgba(22,22,26,.25); }

.blog-detail-content table { width: 100%; border-collapse: collapse; margin: 18px 0 28px; font-size: 15px; background: #fff; border: 1px solid var(--line); }
.blog-detail-content thead th { background: var(--ink); color: #fff; font-weight: 600; text-align: left; padding: 12px 14px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.blog-detail-content tbody td { padding: 12px 14px; border-top: 1px solid var(--line); }
.blog-detail-content tbody tr:nth-child(even) td { background: var(--paper); }
.blog-detail-content tbody td:first-child { font-weight: 600; }
.blog-detail-content td:not(:first-child), .blog-detail-content th:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }

.mk-previous { padding: 48px 0; }
.mk-prev-list { list-style: none; margin: 0 auto; padding: 0; max-width: 780px; }
.mk-prev-list li a { display: flex; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.mk-prev-list li a:hover .mk-prev-title { color: var(--gold); }
.mk-prev-title { font-family: var(--font-head); font-size: 1.15em; font-weight: 600; }
.mk-prev-date { color: var(--muted); white-space: nowrap; }

@media (max-width: 767px) {
	.mk-hero { padding: 40px 0 36px; }
	.mk-title { font-size: 1.9em !important; }
	.blog-detail-content table { font-size: 13px; display: block; overflow-x: auto; }
	.blog-detail-content thead th, .blog-detail-content tbody td { padding: 10px; }
}

/* ==========================================================================
   Condo value page
   ========================================================================== */
.cv-hero { background: var(--ink); color: #fff; padding: 64px 0 48px; text-align: center; float: left; width: 100%; }
.cv-body { padding: 56px 0 72px; }
.cv-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.cv-intro p { font-size: 1.15em; line-height: 1.7; color: var(--ink); }
.cv-h { font-size: 1.5em !important; text-align: left !important; margin: 32px 0 14px !important; }
.cv-h::after { display: none !important; }
.cv-list { list-style: none; margin: 0; padding: 0; }
.cv-list li { position: relative; padding: 10px 0 10px 30px; border-bottom: 1px solid var(--line); line-height: 1.6; color: var(--muted); }
.cv-list li strong { color: var(--ink); }
.cv-list li::before { content: ''; position: absolute; left: 0; top: 16px; width: 16px; height: 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14' viewBox='0 0 18 14'%3E%3Cpath d='M1.5 7.5l5 4.5L16.5 2' fill='none' stroke='%23B8892E' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; }
.cv-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.cv-steps li { display: flex; gap: 14px; align-items: flex-start; color: var(--muted); line-height: 1.6; }
.cv-steps li span { flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--ink); color: var(--gold-light); font-family: var(--font-head); font-weight: 600; display: flex; align-items: center; justify-content: center; }
.cv-steps li strong { color: var(--ink); }
.cv-contact { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.cv-form-wrap { position: sticky; top: 110px; }
.cv-form-card { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold-bright); padding: 30px 28px 22px; box-shadow: 0 18px 40px rgba(22,22,26,.08); }
.cv-form-title { font-size: 1.6em !important; text-align: left !important; margin: 0 0 4px !important; }
.cv-form-title::after { display: none !important; }
.cv-form-sub { color: var(--muted); margin: 0 0 14px; }
.cv-form-card .gform_wrapper ul.gform_fields { display: flex; flex-wrap: wrap; gap: 12px; padding: 0; margin: 0; }
.cv-form-card .gform_wrapper ul li.gfield { width: 100% !important; margin: 0 !important; padding: 0 !important; }
.cv-form-card .gform_wrapper li#field_8_2, .cv-form-card .gform_wrapper li#field_8_3 { width: calc(50% - 6px) !important; }
.cv-form-card .ginput_complex { display: flex; flex-wrap: wrap; gap: 12px; }
.cv-form-card .ginput_complex > span { width: 100% !important; padding: 0 !important; margin: 0 !important; float: none !important; }
.cv-form-card .ginput_complex .address_city, .cv-form-card .ginput_complex .address_zip { width: calc(50% - 6px) !important; }
.cv-form-card .ginput_complex label { display: none; }
.cv-form-card .gform_wrapper input[type=text], .cv-form-card .gform_wrapper input[type=email], .cv-form-card .gform_wrapper input[type=tel] { width: 100% !important; }
.cv-form-card .gform_footer { padding: 14px 0 0 !important; margin: 0 !important; }
.cv-form-card .gform_footer button, .cv-form-card .gform_footer input[type=submit] { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.cv-privacy { font-size: 13px; color: #8A857C; margin: 12px 0 0; }
@media (max-width: 991px) {
	.cv-grid { grid-template-columns: 1fr; gap: 32px; }
	.cv-form-wrap { position: static; order: -1; }
}
@media (max-width: 767px) {
	.cv-hero { padding: 40px 0 32px; }
	.cv-body { padding: 32px 0 48px; }
	.cv-form-card { padding: 22px 16px; }
}

/* ==========================================================================
   IDX listing carousels: equal photo heights so captions aren't cut off
   ========================================================================== */
#featured-tab img,
#for-sale .container-fluid img { width: 100% !important; height: 300px !important; object-fit: cover; }
#featured-tab, #for-sale .container-fluid { overflow: visible; }
@media (max-width: 767px) {
	#featured-tab img, #for-sale .container-fluid img { height: 220px !important; }
}

/* Condo value page fixes */
.cv-form-card.gravity-popup-form,
.cv-form-card { padding: 30px 28px 22px !important; box-sizing: border-box; }
.cv-form-card .gform_wrapper { margin: 0 !important; max-width: 100% !important; }
.cv-steps li span { font-family: var(--font-body) !important; font-size: 15px; font-weight: 600; line-height: 1; }
@media (max-width: 767px) { .cv-form-card.gravity-popup-form, .cv-form-card { padding: 22px 16px !important; } }

/* ==========================================================================
   Buying and selling guides (tab-style-2)
   ========================================================================== */
.tab-style-2 .nav.nav-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; counter-reset: guide-step; float: none; }
.tab-style-2 .nav.nav-tabs::before, .tab-style-2 .nav.nav-tabs::after { display: none; }
.tab-style-2 .nav.nav-tabs li,
.selling-tabs .nav.nav-tabs li { float: none; width: auto; flex: 1 1 0; min-width: 140px; max-width: 220px; display: flex; }
.tab-style-2 .nav.nav-tabs li a {
	display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px;
	width: 100%; padding: 18px 10px 16px; margin: 0;
	font-family: var(--font-body) !important; font-size: 1em; font-weight: 600; line-height: 1.35;
	text-transform: none; letter-spacing: 0; color: var(--muted);
	border: 1px solid transparent; border-top: 3px solid transparent; background: transparent;
	position: relative;
}
.tab-style-2 .nav.nav-tabs li a img { order: -1; max-height: 70px; width: auto; }
.tab-style-2 .nav.nav-tabs li a::before {
	counter-increment: guide-step; content: "Step " counter(guide-step);
	font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold);
}
.tab-style-2 .nav.nav-tabs li a:hover { color: var(--ink); background: transparent; }
.tab-style-2 .nav.nav-tabs li.active a,
.tab-style-2 .nav.nav-tabs li.active a:hover,
.tab-style-2 .nav.nav-tabs li.active a:focus { color: var(--ink); background: #fff; border-color: var(--line); border-top-color: var(--gold-bright); }
.tab-style-2 .tab-icon-red { top: 18px; }

.tab-style-2 .tab-pane {
	border-top: 3px solid var(--gold-bright);
	background: #fff;
	border-left: 1px solid var(--line); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);
	box-shadow: 0 18px 40px rgba(22,22,26,.08);
	padding: 48px 56px;
}
.tab-style-2 .tab-pane > * { max-width: 860px; margin-left: auto; margin-right: auto; }
.tab-style-2 .tab-pane h2,
.tab-style-2 .tab-pane h3,
.tab-style-2 .tab-pane .heading-style-4 {
	font-family: var(--font-head) !important; text-transform: none !important; letter-spacing: 0 !important;
	color: var(--ink) !important; font-size: 2em; font-weight: 600; margin-bottom: 24px;
}
.tab-style-2 .tab-pane p, .tab-style-2 .tab-pane li { font-size: 1.08em; line-height: 1.7; color: var(--ink); }
.tab-style-2 .tab-pane .li-style-2 { margin: 0 0 14px 22px; }

@media (max-width: 991px) {
	.tab-style-2 .nav.nav-tabs li, .selling-tabs .nav.nav-tabs li { min-width: 30%; max-width: none; }
	.tab-style-2 .tab-pane { padding: 32px 28px; }
}
@media (max-width: 767px) {
	.tab-style-2 .nav.nav-tabs li, .selling-tabs .nav.nav-tabs li { min-width: 45%; }
	.tab-style-2 .nav.nav-tabs li a { padding: 12px 6px; font-size: .95em; }
	.tab-style-2 .nav.nav-tabs li a img { max-height: 48px; }
	.tab-style-2 .tab-pane { padding: 24px 16px; }
	.tab-style-2 .tab-pane h2, .tab-style-2 .tab-pane h3, .tab-style-2 .tab-pane .heading-style-4 { font-size: 1.5em; }
}

/* ==========================================================================
   Step-by-step guides (page-guide.php)
   ========================================================================== */
.gd-body { padding: 56px 0 72px; }
.gd-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; align-items: start; }
.gd-toc { position: sticky; top: 110px; }
.gd-toc-label { font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); margin: 0 0 10px; }
.gd-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; border-left: 1px solid var(--line); }
.gd-toc li { counter-increment: toc; }
.gd-toc a { display: block; padding: 7px 0 7px 16px; margin-left: -1px; border-left: 2px solid transparent; font-size: 14px; line-height: 1.4; color: var(--muted); text-decoration: none; }
.gd-toc a::before { content: counter(toc) ". "; color: var(--gold); font-weight: 600; }
.gd-toc a:hover, .gd-toc a.is-active { color: var(--ink); border-left-color: var(--gold-bright); }
.gd-content { max-width: 820px; }
.gd-intro { font-size: 1.25em !important; line-height: 1.7; color: var(--ink); margin-bottom: 40px !important; }
.gd-steps { position: relative; }
.gd-steps::before { content: ''; position: absolute; left: 23px; top: 10px; bottom: 10px; width: 1px; background: var(--line); }
.gd-step { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 24px; padding: 0 0 44px; float: none; width: auto; scroll-margin-top: 120px; }
.gd-num { position: relative; z-index: 1; width: 48px; height: 48px; border-radius: 50%; background: var(--ink); color: var(--gold-light); font-family: var(--font-body); font-weight: 600; font-size: 18px; display: flex; align-items: center; justify-content: center; }
.gd-steplabel { font-size: 12px !important; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); margin: 2px 0 4px !important; }
.gd-step h2 { text-align: left !important; font-size: 1.75em !important; margin: 0 0 6px !important; padding: 0 !important; }
.gd-step h2::after { display: none !important; }
.gd-time { font-size: 14px !important; color: var(--muted); margin: 0 0 12px !important; }
.gd-time::before { content: 'Typical timing: '; font-weight: 600; color: var(--ink); }
.gd-body-step p { font-size: 1.08em; line-height: 1.7; }
.gd-body-step ul { list-style: none; margin: 12px 0 0; padding: 0; }
.gd-body-step li { position: relative; padding: 6px 0 6px 28px; line-height: 1.65; }
.gd-body-step li::before { content: ''; position: absolute; left: 0; top: 13px; width: 16px; height: 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14' viewBox='0 0 18 14'%3E%3Cpath d='M1.5 7.5l5 4.5L16.5 2' fill='none' stroke='%23B8892E' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; }
.gd-tip { margin-top: 18px; padding: 16px 20px; background: var(--sand); border-left: 3px solid var(--gold-bright); }
.gd-tip strong { display: block; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; }
.gd-tip p { margin: 0; font-size: 1em !important; }
.gd-cta { margin-top: 12px; padding: 36px; background: var(--ink); color: #fff; }
.gd-cta h2 { color: #fff; text-align: left !important; font-size: 1.9em !important; margin: 0 0 10px !important; }
.gd-cta h2::after { display: none !important; }
.gd-cta p { color: rgba(255,255,255,.82); }
.gd-cta-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.gd-cta .bld-btn-line { border-color: #fff; color: #fff !important; }
.gd-cta .bld-btn-line:hover { background: #fff; color: var(--ink) !important; }
@media (max-width: 991px) {
	.gd-layout { grid-template-columns: 1fr; gap: 0; }
	.gd-toc { display: none; }
}
@media (max-width: 767px) {
	.gd-body { padding: 32px 0 48px; }
	.gd-intro { font-size: 1.1em !important; }
	.gd-steps::before { left: 17px; }
	.gd-step { grid-template-columns: 36px minmax(0, 1fr); gap: 14px; padding-bottom: 32px; }
	.gd-num { width: 36px; height: 36px; font-size: 15px; }
	.gd-step h2 { font-size: 1.4em !important; }
	.gd-cta { padding: 24px 18px; }
}

/* Bootstrap's clearfix pseudo-elements become grid/flex items in the new layouts: switch them off */
.gd-layout::before, .gd-layout::after,
.bld-nav-inner::before, .bld-nav-inner::after,
.home-market-inner::before, .home-market-inner::after { display: none !important; content: none !important; }

/* ==========================================================================
   Districts hub (/districts/)
   ========================================================================== */
.hub-districts { padding: 56px 0 24px; }
.hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.hub-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); text-decoration: none !important; color: var(--ink) !important; transition: border-color .2s, transform .2s; }
.hub-card:hover { border-color: var(--gold-bright); transform: translateY(-2px); }
.hub-card-img { display: block; aspect-ratio: 16 / 10; background: var(--sand) center / cover no-repeat; }
.hub-card-body { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 20px; flex: 1; }
.hub-card-title { font-family: var(--font-head); font-size: 1.5em; font-weight: 600; }
.hub-card-count { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.hub-card-text { color: var(--muted); line-height: 1.6; flex: 1; }
.hub-card-link { font-weight: 600; color: var(--gold); margin-top: 6px; }
.hub-card-link::after { content: ' \2192'; }
.hub-buildings { padding: 56px 0; }
.hub-columns { columns: 3 260px; column-gap: 40px; }
.hub-col { break-inside: avoid; margin-bottom: 28px; }
.hub-col h3 { font-size: 1.3em; margin: 0 0 8px; padding-bottom: 8px; border-bottom: 2px solid var(--gold-bright); }
.hub-col h3 a { color: var(--ink); text-decoration: none; }
.hub-col ul { list-style: none; margin: 0; padding: 0; }
.hub-col li a { display: block; padding: 6px 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.hub-col li a:hover { color: var(--gold); padding-left: 4px; }
.hub-beyond { padding: 40px 0 64px; background: var(--sand); }
.hub-beyond h2 { font-size: 1.5em !important; }
.hub-beyond-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.hub-beyond-list a { display: inline-block; padding: 8px 14px; background: #fff; border: 1px solid var(--line); color: var(--ink); text-decoration: none; font-size: 14px; }
.hub-beyond-list a:hover { border-color: var(--gold-bright); color: var(--gold); }
@media (max-width: 991px) { .hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.hub-grid { grid-template-columns: 1fr; }
	.hub-districts { padding: 32px 0 12px; }
	.hub-buildings { padding: 36px 0; }
}

/* ==========================================================================
   Resource pages (page-resource.php)
   ========================================================================== */
.rs-body { padding: 56px 0 72px; }
.rs-content { max-width: 900px; margin: 0 auto; }
.rs-content > p:first-child { font-size: 1.2em; line-height: 1.7; }
.rs-content h2 { text-align: left !important; font-size: 1.8em !important; margin: 44px 0 16px !important; }
.rs-content h2::after { margin-left: 0 !important; }
.rs-content h3 { font-size: 1.2em; margin: 22px 0 6px; }
.rs-alert { background: var(--ink); color: #fff !important; padding: 14px 20px; border-left: 4px solid var(--gold-light); }
.rs-alert strong { color: #fff; }
.rs-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rs-card { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold-bright); padding: 22px 24px; }
.rs-card h3 { margin: 0 0 2px !important; font-size: 1.4em !important; }
.rs-card-org { font-size: 12px !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); margin: 0 0 10px !important; }
.rs-card p { font-size: 1em !important; }
.rs-content table td:not(:first-child), .rs-content table th:not(:first-child) { text-align: left; }
.rs-updated { font-size: 13px !important; color: #8A857C; border-top: 1px solid var(--line); padding-top: 12px; margin-top: 32px; }
@media (max-width: 767px) {
	.rs-body { padding: 32px 0 48px; }
	.rs-cards { grid-template-columns: 1fr; }
}

/* Recent sales table inside the market snapshot card */
.ms-sales { margin: 22px 0 4px; text-align: left; }
.ms-sales h4 { font-family: var(--font-head) !important; font-size: 1.15em; margin: 0 0 10px; text-align: left; }
.ms-sales table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ms-sales th { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); text-align: left; padding: 8px 10px; border-bottom: 2px solid var(--gold-bright); }
.ms-sales td { padding: 9px 10px; border-bottom: 1px solid var(--line); color: var(--ink); }
.ms-sales th:nth-child(n+4), .ms-sales td:nth-child(n+4) { text-align: right; font-variant-numeric: tabular-nums; }
.ms-sales td:nth-child(5) { font-weight: 600; }
@media (max-width: 767px) {
	.ms-sales { overflow-x: auto; }
	.ms-sales table { font-size: 13px; min-width: 520px; }
}

/* ==========================================================================
   Marketing Plan page (/sd-condo-marketing-plan/)
   ========================================================================== */
.mp-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(217,183,110,.35); margin: 36px 0 8px; border: 1px solid var(--ink); }
.mp-stat { background: var(--ink); padding: 26px 20px; }
.mp-stat strong { display: block; font-family: var(--font-head); font-size: 2.3em; line-height: 1.1; color: var(--gold-light); font-weight: 600; margin-bottom: 8px; }
.mp-stat span { display: block; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.82); }
.mp-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; margin: 8px 0 12px; }
.mp-rev .mp-text { order: 2; }
.mp-figs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
.mp-fig { margin: 0; }
.rs-content .mp-fig img, .rs-content .mp-figs img { display: block; width: 100%; height: auto; margin: 0 !important; border: 1px solid var(--line); box-shadow: 0 10px 28px rgba(22,22,26,.12); }
.mp-fig figcaption, .mp-cap { font-size: 13px !important; line-height: 1.5; color: var(--muted); margin: 10px 0 0 !important; }
.mp-figs .mp-cap { grid-column: 1 / -1; margin-top: 0 !important; }
.mp-wide { margin: 8px 0 20px; }
.mp-post { max-width: 360px; justify-self: center; }
.mp-video { position: relative; margin: 24px 0 8px; }
.mp-video p { margin: 0; }
.mp-video iframe { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; border: 0; }
.mp-checks { list-style: none; margin: 8px 0 20px; padding: 0; }
.mp-checks li { position: relative; padding: 8px 0 8px 30px; line-height: 1.65; border-bottom: 1px solid var(--line); }
.mp-checks li::before { content: ''; position: absolute; left: 0; top: 15px; width: 17px; height: 13px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14' viewBox='0 0 18 14'%3E%3Cpath d='M1.5 7.5l5 4.5L16.5 2' fill='none' stroke='%23B8892E' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; }
.rs-content .gd-cta { margin: 40px 0 8px; }
.rs-content .gd-cta h2 { margin-top: 0 !important; color: #fff; }
.mp-stats::before, .mp-stats::after, .mp-split::before, .mp-split::after, .mp-figs::before, .mp-figs::after { display: none !important; content: none !important; }
@media (max-width: 991px) {
	.mp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.mp-split { grid-template-columns: 1fr; gap: 20px; }
	.mp-rev .mp-text { order: 0; }
	.mp-stat { padding: 18px 14px; }
	.mp-stat strong { font-size: 1.8em; }
	.mp-stat span { font-size: 13px; }
}

/* ==========================================================================
   Mobile fixes, October 6 (v26)
   ========================================================================== */
/* Building page FAQs: the old theme hides .faq-content (it used a jQuery accordion) */
.bld-faq-item .faq-content { display: none !important; }
.bld-faq-item[open] .faq-content { display: block !important; height: auto !important; opacity: 1 !important; visibility: visible !important; overflow: visible !important; }

/* Body copy in the new sections: no old-theme centering or letter-spacing */
.home-market-text, .rs-content p, .rs-content li, .bld-faq-item .faq-content p { text-align: left !important; letter-spacing: 0 !important; }

@media (max-width: 767px) {
	/* Mobile menu: Ink & Gold instead of the old red */
	.navbar-responsive-collapse,
	.navbar-responsive-collapse .navbar-nav,
	.navbar-responsive-collapse .navbar-nav > li { background: var(--ink) !important; }
	.navbar-responsive-collapse { width: 100% !important; margin: 0 !important; left: 0; right: 0; border: 0 !important; box-shadow: 0 12px 24px rgba(0,0,0,.18); }
	.navbar-responsive-collapse .navbar-nav { margin: 0 !important; }
	.navbar-responsive-collapse .navbar-nav > li { border-bottom: 1px solid rgba(255,255,255,.1) !important; }
	.navbar-responsive-collapse .navbar-nav > li > a { color: #fff !important; background: transparent !important; font-size: 15px !important; padding: 14px 20px !important; }
	.navbar-responsive-collapse .navbar-nav > li > a:hover,
	.navbar-responsive-collapse .navbar-nav > li > a:focus,
	.navbar-responsive-collapse .navbar-nav > li.open > a,
	.navbar-responsive-collapse .navbar-nav > li.active > a { color: var(--gold-light) !important; background: rgba(255,255,255,.05) !important; }
	.navbar-responsive-collapse .navbar-nav .caret { border-top-color: var(--gold-light) !important; }
	.navbar-responsive-collapse .dropdown-menu,
	.navbar-responsive-collapse .sub-menu { background: #232329 !important; border: 0 !important; }
	.navbar-responsive-collapse .dropdown-menu a,
	.navbar-responsive-collapse .sub-menu a { color: rgba(255,255,255,.85) !important; background: transparent !important; padding: 11px 32px !important; font-size: 14px !important; }
	.navbar-responsive-collapse .header-icon { background: var(--gold) !important; }
	.navbar-responsive-collapse .header-icon a, .navbar-responsive-collapse .header-icon .fa { color: #fff !important; }
	.navbar-toggle { border-color: var(--line) !important; background: #fff !important; }
	.navbar-toggle .icon-bar { background: var(--ink) !important; }

	/* Tabs (For Sale, Insights): equal-width row instead of a narrow box plus empty space */
	.tab-style-1 .nav-tabs { flex-wrap: nowrap; background: transparent !important; width: 100% !important; }
	.tab-style-1 .nav-tabs > li { flex: 1 1 0; width: auto !important; min-width: 0; float: none !important; }
	.tab-style-1 .nav-tabs > li > a { width: 100% !important; min-height: 76px; padding: 10px 6px !important; font-size: 11px !important; letter-spacing: .06em !important; gap: 6px; }
	.tab-style-1 .nav-tabs > li > a .fa { font-size: 1.6em; }
	.tab-style-1 .nav-tabs::before, .tab-style-1 .nav-tabs::after { display: none !important; content: none !important; }

	/* Latest market update band */
	.home-market-text { font-size: 16px !important; line-height: 1.6 !important; }
	.home-market-title { font-size: 1.5em !important; }
	.home-market .bld-btn { width: 100%; }

	/* Building page FAQs */
	.bld-faq-item .faq-title { font-size: 1.1em !important; line-height: 1.35 !important; }
	.bld-faq-item summary { padding: 14px 0; }
	.bld-faq-item summary::after { font-size: 24px; }
	.bld-faq-item .faq-content { font-size: 15px; }

	/* Resource pages (Marketing Plan, Who to Call): steady text size */
	.rs-content p, .rs-content li { font-size: 16px !important; line-height: 1.65 !important; }
	.rs-content > p:first-child { font-size: 17px !important; }
	.rs-content h2 { font-size: 1.5em !important; margin-top: 32px !important; }
	.rs-content h3 { font-size: 1.1em !important; }
	.rs-content .mp-stat span { font-size: 13px !important; }
	.rs-content .mp-fig figcaption, .rs-content .mp-cap { font-size: 13px !important; }
	.rs-content .gd-cta .bld-btn { width: 100%; }
}

/* ==========================================================================
   Building hero readability (v27)
   ========================================================================== */
.bld-hero:before { background: linear-gradient(to top, rgba(22,22,26,.92) 0%, rgba(22,22,26,.72) 45%, rgba(22,22,26,.45) 100%); }
.bld-hero-inner, .bld-hero-inner p, .bld-hero-inner h1 { text-align: left !important; }
.bld-hero .bld-eyebrow { color: #fff !important; opacity: .92; letter-spacing: .1em !important; text-shadow: 0 1px 8px rgba(0,0,0,.55); }
.bld-hero .bld-eyebrow::before { content: ''; display: inline-block; width: 28px; height: 2px; background: var(--gold-light); vertical-align: middle; margin: -2px 10px 0 0; }
.bld-hero .bld-title { text-shadow: 0 2px 14px rgba(0,0,0,.5); }
.bld-hero .bld-chips span { background: rgba(22,22,26,.55); border-color: rgba(255,255,255,.28); color: #fff; backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.bld-hero .bld-btn-outline { background: rgba(22,22,26,.35); }
.bld-nav { box-shadow: 0 1px 0 var(--line); }
@media (max-width: 767px) {
	.bld-hero { min-height: 0; }
	.bld-hero-inner { padding-top: 64px; padding-bottom: 24px; }
	.bld-hero .bld-eyebrow { font-size: 12px !important; line-height: 1.5; margin-bottom: 12px; }
	.bld-hero .bld-eyebrow::before { width: 20px; margin-right: 8px; }
	.bld-hero .bld-title { font-size: 1.85em !important; line-height: 1.15 !important; margin-bottom: 16px !important; }
	.bld-hero .bld-chips { gap: 6px; margin-bottom: 18px; }
	.bld-hero .bld-chips span { font-size: 13px !important; padding: 5px 10px; letter-spacing: 0 !important; }
	.bld-actions { flex-direction: column; gap: 8px; }
	.bld-actions .bld-btn { flex: none; width: 100%; min-height: 48px; font-size: 15px !important; white-space: nowrap; }
	/* hint that the section menu scrolls sideways */
	.bld-nav { position: sticky; }
	.bld-nav::after { content: ''; position: absolute; top: 0; right: 0; bottom: 1px; width: 40px; background: linear-gradient(to right, rgba(255,255,255,0), #fff); pointer-events: none; }
	.bld-nav-inner a { font-size: 12px !important; padding: 15px 0; }
	.bld-nav-inner a:last-of-type { padding-right: 32px; }
}

/* ==========================================================================
   Team page (our-team-members.php) (v28)
   ========================================================================== */
.tm-body { padding: 56px 0 72px; }
.tm-intro { max-width: 820px; margin: 0 auto 8px !important; font-size: 1.2em !important; line-height: 1.7; text-align: center !important; letter-spacing: 0 !important; color: var(--ink); }
.tm-stats { max-width: 1000px; margin: 36px auto 16px; }
.tm-h2 { text-align: left !important; font-size: 1.9em !important; margin: 56px 0 8px !important; }
.tm-h2::after { margin-left: 0 !important; }
.tm-sub { color: var(--muted); margin: 0 0 8px !important; text-align: left !important; letter-spacing: 0 !important; }
.tm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.tm-grid::before, .tm-grid::after { display: none !important; content: none !important; }
.tm-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); transition: box-shadow .2s, transform .2s; }
.tm-card:hover { box-shadow: 0 14px 32px rgba(22,22,26,.10); transform: translateY(-2px); }
.tm-photo { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--sand); }
.tm-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; margin: 0 !important; display: block; }
.tm-initials { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; font-family: var(--font-head); font-size: 4em; color: var(--gold); }
.tm-info { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; border-top: 3px solid var(--gold-bright); }
.tm-name { font-size: 1.45em !important; margin: 0 0 2px !important; text-align: left !important; }
.tm-name::after { display: none !important; }
.tm-name a { color: var(--ink) !important; text-decoration: none !important; }
.tm-name a:hover { color: var(--gold) !important; }
.tm-role { font-size: 12px !important; font-weight: 600; letter-spacing: .12em !important; text-transform: uppercase; color: var(--gold) !important; margin: 0 0 12px !important; text-align: left !important; }
.tm-bio { font-size: 15px !important; line-height: 1.6 !important; color: var(--muted) !important; margin: 0 0 14px !important; text-align: left !important; letter-spacing: 0 !important; }
.tm-contact { list-style: none; margin: auto 0 0; padding: 12px 0 0; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; }
.tm-contact li { margin: 0; padding: 0; }
.tm-contact li::before { display: none !important; }
.tm-contact a { color: var(--ink) !important; text-decoration: none !important; font-weight: 600; }
.tm-contact a:hover { color: var(--gold) !important; }
.tm-contact .fa { color: var(--gold); margin-right: 4px; }
.tm-dre { color: #8A857C; width: 100%; font-size: 13px; }
.tm-more { margin-top: 12px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gold) !important; text-decoration: none !important; }
.tm-more:hover { color: var(--ink) !important; }
.tm-grid-support { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tm-grid-support .tm-bio { display: none; }
.tm-grid-support .tm-name { font-size: 1.25em !important; }
.tm-cta { margin-top: 56px; }
.tm-cta h2 { margin-top: 0 !important; color: #fff; text-align: left !important; }
.tm-faq { max-width: 860px; }
.tm-faq h3 { font-size: 1.2em; margin: 22px 0 6px; text-align: left !important; }
.tm-faq p { text-align: left !important; letter-spacing: 0 !important; line-height: 1.7; }
@media (max-width: 991px) {
	.tm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tm-grid-support { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.tm-body { padding: 32px 0 48px; }
	.tm-intro { font-size: 16px !important; text-align: left !important; }
	.tm-h2 { font-size: 1.5em !important; margin-top: 40px !important; }
	.tm-grid { gap: 14px; }
	.tm-grid-support { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tm-info { padding: 14px 14px 16px; }
	.tm-name { font-size: 1.15em !important; }
	.tm-role { font-size: 10.5px !important; letter-spacing: .08em !important; }
	.tm-bio { display: none; }
	.tm-contact { font-size: 13px; gap: 4px 12px; }
	.tm-cta .bld-btn { width: 100%; }
	.tm-faq p { font-size: 16px !important; }
}

/* ==========================================================================
   Contact page (page-contact-neuman.php) (v29)
   ========================================================================== */
.ct-body { padding: 56px 0 72px; }
.ct-layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; align-items: start; }
.ct-layout::before, .ct-layout::after { display: none !important; content: none !important; }
.ct-info { display: grid; gap: 14px; }
.ct-card { display: block; background: #fff; border: 1px solid var(--line); border-left: 3px solid var(--gold-bright); padding: 20px 22px; color: var(--ink) !important; text-decoration: none !important; transition: box-shadow .2s; }
a.ct-card:hover { box-shadow: 0 10px 26px rgba(22,22,26,.10); }
.ct-card-main { background: var(--ink); border-color: var(--ink); border-left-color: var(--gold-light); color: #fff !important; }
.ct-label { display: block; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-bottom: 6px; }
.ct-card-main .ct-label { color: var(--gold-light); }
.ct-card strong { display: block; font-family: var(--font-head); font-size: 1.45em; line-height: 1.3; font-weight: 600; word-break: break-word; }
.ct-card-main strong { font-size: 2em; color: #fff; }
.ct-note { display: block; font-size: 14px; color: var(--muted); margin-top: 6px; }
.ct-card-main .ct-note { color: rgba(255,255,255,.75); }
.ct-link { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--gold) !important; text-decoration: none !important; }
.ct-legal { font-size: 12px !important; color: #8A857C !important; line-height: 1.5; margin: 4px 0 0 !important; text-align: left !important; letter-spacing: 0 !important; }
.ct-form { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold-bright); padding: 30px 32px; }
.ct-form h2 { text-align: left !important; font-size: 1.8em !important; margin: 0 0 6px !important; }
.ct-form h2::after { display: none !important; }
.ct-form-sub { color: var(--muted); margin: 0 0 18px !important; text-align: left !important; letter-spacing: 0 !important; }
.ct-form .gform_wrapper input[type=text], .ct-form .gform_wrapper input[type=email], .ct-form .gform_wrapper input[type=tel], .ct-form .gform_wrapper textarea { width: 100% !important; }
.ct-map { margin-top: 40px; border: 1px solid var(--line); }
.ct-map iframe { display: block; width: 100%; height: 360px; border: 0; filter: grayscale(.35); }
.ct-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 40px; }
.ct-links::before, .ct-links::after { display: none !important; content: none !important; }
.ct-links a { display: block; padding: 18px 20px; background: var(--sand); border: 1px solid var(--line); color: var(--ink) !important; text-decoration: none !important; font-size: 15px; }
.ct-links a strong { display: block; font-family: var(--font-head); font-size: 1.25em; margin-bottom: 2px; color: var(--ink); }
.ct-links a:hover { border-color: var(--gold-bright); }
@media (max-width: 991px) {
	.ct-layout { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 767px) {
	.ct-body { padding: 28px 0 48px; }
	.ct-card { padding: 16px 18px; }
	.ct-card strong { font-size: 1.2em; }
	.ct-card-main strong { font-size: 1.7em; }
	.ct-form { padding: 22px 18px; }
	.ct-form h2 { font-size: 1.45em !important; }
	.ct-map iframe { height: 260px; }
	.ct-links { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Kudos (page-testimonials.php) and Videos (archive-videos.php) (v30)
   ========================================================================== */
.kd-body, .vd-body { padding: 48px 0 72px; }
.kd-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; padding: 22px 26px; background: #fff; border: 1px solid var(--line); border-left: 3px solid var(--gold-bright); margin-bottom: 32px; }
.kd-bar::before, .kd-bar::after { display: none !important; content: none !important; }
.kd-bar p { margin: 0 !important; max-width: 520px; color: var(--muted); text-align: left !important; letter-spacing: 0 !important; }
.kd-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.kd-btns .bld-btn { min-height: 42px; padding: 0 18px; font-size: 14px; }
.kd-grid { column-count: 3; column-gap: 24px; }
.kd-card { break-inside: avoid; -webkit-column-break-inside: avoid; display: inline-block; width: 100%; margin: 0 0 24px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold-bright); padding: 24px 24px 20px; position: relative; }
.kd-card::before { content: '\201C'; position: absolute; top: 8px; right: 18px; font-family: var(--font-head); font-size: 64px; line-height: 1; color: var(--gold-light); opacity: .55; }
.kd-title { font-family: var(--font-head); font-size: 1.15em !important; font-weight: 600; color: var(--ink); margin: 0 36px 10px 0 !important; line-height: 1.35; text-align: left !important; letter-spacing: 0 !important; }
.kd-quote { margin: 0; padding: 0; border: 0; font-size: 15.5px; line-height: 1.7; color: var(--ink); }
.kd-quote p { margin: 0 0 10px !important; font-size: inherit !important; text-align: left !important; letter-spacing: 0 !important; }
.kd-by { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; }
.kd-by strong { display: block; font-size: 15px; color: var(--ink); }
.kd-by span { color: #8A857C; }
.kd-cta { margin-top: 24px; }
.kd-cta h2, .vd-featured-text h2 { margin-top: 0 !important; text-align: left !important; }
.kd-cta h2 { color: #fff; }

.vd-featured { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 32px; align-items: center; }
.vd-featured::before, .vd-featured::after, .vd-grid::before, .vd-grid::after { display: none !important; content: none !important; }
.vd-frame { aspect-ratio: 16 / 9; background: var(--ink); }
.vd-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.vd-label { font-size: 12px !important; font-weight: 600; letter-spacing: .14em !important; text-transform: uppercase; color: var(--gold) !important; margin: 0 0 8px !important; text-align: left !important; }
.vd-featured-text h2 { font-size: 1.6em !important; line-height: 1.3; margin-bottom: 8px !important; }
.vd-featured-text h2::after { display: none !important; }
.vd-date { display: block; font-size: 13px !important; color: #8A857C !important; margin: 0 0 18px !important; text-align: left !important; }
.vd-h2 { text-align: left !important; font-size: 1.7em !important; margin: 56px 0 20px !important; }
.vd-h2::after { margin-left: 0 !important; }
.vd-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vd-card { display: flex; flex-direction: column; text-align: left; background: #fff; border: 1px solid var(--line); padding: 0; cursor: pointer; font: inherit; color: var(--ink); transition: box-shadow .2s; }
.vd-card:hover { box-shadow: 0 12px 28px rgba(22,22,26,.10); }
.vd-thumb { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink); }
.vd-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0 !important; }
.vd-thumb iframe { width: 100%; height: 100%; border: 0; display: block; }
.vd-play { position: absolute; left: 50%; top: 50%; width: 62px; height: 62px; margin: -31px 0 0 -31px; border-radius: 50%; background: rgba(22,22,26,.72); border: 2px solid var(--gold-light); transition: background .2s; }
.vd-play::after { content: ''; position: absolute; left: 25px; top: 19px; border-style: solid; border-width: 12px 0 12px 19px; border-color: transparent transparent transparent #fff; }
.vd-card:hover .vd-play { background: var(--gold); }
.vd-title { display: block; padding: 14px 16px 4px; font-weight: 600; font-size: 15px; line-height: 1.45; }
.vd-card .vd-date { padding: 0 16px 14px; margin: 0 !important; }
.vd-more { margin-top: 40px; text-align: center; }
.vd-more p { color: var(--muted); margin: 0 0 12px !important; letter-spacing: 0 !important; }
@media (max-width: 991px) {
	.kd-grid { column-count: 2; }
	.vd-featured { grid-template-columns: 1fr; gap: 18px; }
	.vd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.kd-body, .vd-body { padding: 28px 0 48px; }
	.kd-bar { padding: 18px; }
	.kd-btns { width: 100%; }
	.kd-btns .bld-btn { flex: 1 1 30%; padding: 0 8px; font-size: 13px; }
	.kd-grid { column-count: 1; }
	.kd-card { padding: 20px 18px 16px; margin-bottom: 14px; }
	.vd-grid { grid-template-columns: 1fr; gap: 16px; }
	.vd-featured-text h2 { font-size: 1.3em !important; }
	.vd-sub, .vd-more .bld-btn { width: 100%; }
}

/* ==========================================================================
   Property Management page (v31)
   ========================================================================== */
.pm-intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; align-items: center; margin: 36px 0 12px; }
.pm-intro::before, .pm-intro::after { display: none !important; content: none !important; }
.pm-photo img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center 25%; }
.pm-logo { margin: 0 0 18px; max-width: 220px; background: #000; }
.rs-content .pm-logo img { display: block; width: 100%; height: auto; margin: 0 !important; border: 0; box-shadow: none; }
.pm-intro-text h2 { margin-top: 0 !important; }
.pm-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.pm-services .rs-card { display: flex; flex-direction: column; }
.pm-services .mp-checks { margin-bottom: 0; }
.pm-services .mp-checks li:last-child { border-bottom: 0; }
.pm-wide { max-width: 620px; margin: 40px auto 8px; }
.pm-wide img { aspect-ratio: 4 / 3; object-fit: cover; object-position: center 30%; }
@media (max-width: 767px) {
	.pm-intro { grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
	.pm-logo { max-width: 180px; }
	.pm-btns .bld-btn { width: 100%; }
}

/* Mortgage page: affiliated business disclosure (v32) */
.mo-abad { margin: 20px 0 8px !important; padding: 14px 18px; background: var(--sand); border-left: 3px solid var(--gold-bright); font-size: 13.5px !important; line-height: 1.6 !important; color: var(--muted) !important; text-align: left !important; letter-spacing: 0 !important; }
.mo-abad strong { color: var(--ink); }
.mo-abad a { color: var(--gold) !important; font-weight: 600; }
@media (max-width: 767px) { .rs-content .mo-abad { font-size: 13px !important; } }

/* ==========================================================================
   Homepage hero, split layout (v33)
   ========================================================================== */
.hx { background: var(--paper); padding: 56px 0 64px; position: relative; overflow: hidden; }
.hx::before { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 38%; background: var(--sand); }
.hx-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.hx-grid::before, .hx-grid::after { display: none !important; content: none !important; }
.hx-eyebrow { font-size: 13px !important; font-weight: 600; letter-spacing: .16em !important; text-transform: uppercase; color: var(--gold) !important; margin: 0 0 14px !important; text-align: left !important; }
.hx-title { font-family: var(--font-head) !important; font-size: 3.4em !important; line-height: 1.08 !important; font-weight: 600; color: var(--ink) !important; margin: 0 0 18px !important; text-align: left !important; letter-spacing: -.01em; }
.hx-title::after { display: none !important; }
.hx-sub { font-size: 1.15em !important; line-height: 1.6; color: var(--muted) !important; max-width: 540px; margin: 0 0 28px !important; text-align: left !important; letter-spacing: 0 !important; }
.hx-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hx-path { display: flex; flex-direction: column; padding: 22px 22px 20px; text-decoration: none !important; border: 1px solid var(--line); background: #fff; transition: transform .2s, box-shadow .2s; }
.hx-path:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(22,22,26,.14); }
.hx-path-sell { background: var(--ink); border-color: var(--ink); }
.hx-path-label { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.hx-path-sell .hx-path-label { color: var(--gold-light); }
.hx-path-title { font-family: var(--font-head); font-size: 1.45em; line-height: 1.2; font-weight: 600; color: var(--ink); margin-bottom: 8px; }
.hx-path-sell .hx-path-title { color: #fff; }
.hx-path-text { font-size: 14px; line-height: 1.5; color: var(--muted); margin-bottom: 16px; }
.hx-path-sell .hx-path-text { color: rgba(255,255,255,.75); }
.hx-path-go { margin-top: auto; font-size: 14px; font-weight: 600; letter-spacing: .04em; color: var(--gold); }
.hx-path-sell .hx-path-go { display: inline-flex; align-self: flex-start; background: var(--gold); color: #fff; padding: 10px 16px; }
.hx-path-sell:hover .hx-path-go { background: var(--gold-bright); }
.hx-search { margin-top: 22px; }
.hx-search-label { font-size: 13px !important; color: var(--muted) !important; margin: 0 0 8px !important; text-align: left !important; letter-spacing: 0 !important; }
.hx-search .idx-omnibar-form { margin: 0 !important; max-width: none !important; }
.hx-media { position: relative; margin: 0; }
.hx-media img { display: block; width: 100%; aspect-ratio: 4 / 5; max-height: 640px; object-fit: cover; margin: 0 !important; box-shadow: 0 30px 60px rgba(22,22,26,.18); }
.hx-badge { position: absolute; left: -28px; bottom: 36px; background: #fff; padding: 18px 22px; border-left: 4px solid var(--gold-bright); box-shadow: 0 14px 30px rgba(22,22,26,.16); }
.hx-badge strong { display: block; font-family: var(--font-head); font-size: 1.6em; line-height: 1.1; color: var(--ink); }
.hx-badge span { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-top: 4px; }
.hx-badge-sm { position: absolute; top: 20px; right: 20px; background: var(--ink); color: var(--gold-light); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 8px 12px; }
@media (max-width: 1199px) { .hx-title { font-size: 2.9em !important; } }
@media (max-width: 991px) {
	.hx::before { display: none; }
	.hx-grid { grid-template-columns: 1fr; gap: 32px; }
	.hx-media img { aspect-ratio: 16 / 10; max-height: none; }
	.hx-badge { left: 16px; bottom: 16px; }
}
@media (max-width: 767px) {
	.hx { padding: 32px 0 40px; }
	.hx-title { font-size: 2.15em !important; }
	.hx-sub { font-size: 16px !important; margin-bottom: 20px !important; }
	.hx-paths { grid-template-columns: 1fr; gap: 10px; }
	.hx-path { padding: 18px; }
	.hx-path-title { font-size: 1.3em; }
	.hx-badge { padding: 12px 14px; }
	.hx-badge strong { font-size: 1.25em; }
	.hx-badge-sm { top: 12px; right: 12px; font-size: 11px; }
}

/* ==========================================================================
   Blog index (blog.php) (v34)
   ========================================================================== */
.bl-body { padding: 36px 0 72px; }
.bl-topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 32px; }
.bl-topics a { padding: 9px 16px; border: 1px solid var(--line); background: #fff; color: var(--ink) !important; font-size: 14px; font-weight: 600; text-decoration: none !important; white-space: nowrap; }
.bl-topics a:hover { border-color: var(--gold-bright); color: var(--gold) !important; }
.bl-topics a.is-active { background: var(--ink); border-color: var(--ink); color: #fff !important; }
.bl-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); transition: box-shadow .2s, transform .2s; }
.bl-card:hover { box-shadow: 0 14px 32px rgba(22,22,26,.10); transform: translateY(-2px); }
.bl-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--sand); }
.bl-img img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0 !important; transition: transform .4s; }
.bl-card:hover .bl-img img { transform: scale(1.03); }
.bl-noimg { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; padding: 20px; text-align: center; font-family: var(--font-head); font-size: 1.4em; color: var(--gold); background: linear-gradient(135deg, var(--sand), #fff); }
.bl-text { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.bl-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 0 0 10px !important; font-size: 12px !important; text-align: left !important; letter-spacing: 0 !important; }
.bl-cat { font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.bl-date { color: #8A857C; }
.bl-title { font-size: 1.3em !important; line-height: 1.3 !important; margin: 0 0 10px !important; text-align: left !important; }
.bl-title::after { display: none !important; }
.bl-title a { color: var(--ink) !important; text-decoration: none !important; }
.bl-title a:hover { color: var(--gold) !important; }
.bl-excerpt { font-size: 15px !important; line-height: 1.6 !important; color: var(--muted) !important; margin: 0 0 14px !important; text-align: left !important; letter-spacing: 0 !important; }
.bl-more { margin-top: auto; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gold) !important; text-decoration: none !important; }
.bl-feature { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); margin-bottom: 28px; }
.bl-feature .bl-img { aspect-ratio: auto; min-height: 340px; }
.bl-feature .bl-text { padding: 36px 36px 32px; justify-content: center; }
.bl-feature .bl-title { font-size: 2em !important; }
.bl-feature .bl-excerpt { font-size: 16px !important; }
.bl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.bl-grid::before, .bl-grid::after, .bl-feature::before, .bl-feature::after { display: none !important; content: none !important; }
.bl-empty { padding: 40px 0; text-align: center !important; }
.bl-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 40px 0 0; }
.bl-pages .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--line); background: #fff; color: var(--ink) !important; font-weight: 600; font-size: 14px; text-decoration: none !important; }
.bl-pages .page-numbers.current { background: var(--ink); border-color: var(--ink); color: #fff !important; }
.bl-pages a.page-numbers:hover { border-color: var(--gold-bright); color: var(--gold) !important; }
.bl-pages .dots { border: 0; background: transparent; }
.bl-signup { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; margin-top: 56px; padding: 36px 40px; background: var(--ink); color: #fff; }
.bl-signup::before, .bl-signup::after { display: none !important; content: none !important; }
.bl-signup-eyebrow { font-size: 12px !important; font-weight: 600; letter-spacing: .16em !important; text-transform: uppercase; color: var(--gold-light) !important; margin: 0 0 8px !important; text-align: left !important; }
.bl-signup h2 { color: #fff !important; font-size: 1.7em !important; text-align: left !important; margin: 0 0 8px !important; }
.bl-signup h2::after { display: none !important; }
.bl-signup p { color: rgba(255,255,255,.78); text-align: left !important; letter-spacing: 0 !important; margin: 0; }
.bl-signup-form .gform_wrapper { margin: 0 !important; }
.bl-signup-form label, .bl-signup-form .gfield_label { color: rgba(255,255,255,.85) !important; }
.bl-signup-form input[type=text], .bl-signup-form input[type=email], .bl-signup-form input[type=tel] { width: 100% !important; background: #fff; }
@media (max-width: 991px) {
	.bl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bl-feature { grid-template-columns: 1fr; }
	.bl-feature .bl-img { min-height: 0; aspect-ratio: 16 / 9; }
	.bl-signup { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.bl-body { padding: 24px 0 48px; }
	.bl-topics { flex-wrap: nowrap; overflow-x: auto; margin: 0 -15px 24px; padding: 0 15px 4px; scrollbar-width: none; }
	.bl-topics::-webkit-scrollbar { display: none; }
	.bl-topics a { font-size: 13px; padding: 8px 13px; }
	.bl-grid { grid-template-columns: 1fr; gap: 16px; }
	.bl-feature { margin-bottom: 16px; }
	.bl-feature .bl-text { padding: 20px 18px; }
	.bl-feature .bl-title { font-size: 1.45em !important; }
	.bl-title { font-size: 1.2em !important; }
	.bl-signup { padding: 24px 18px; margin-top: 40px; }
	.bl-signup h2 { font-size: 1.35em !important; }
}

/* Snapshot numbers: shrink to fit six columns (v35) */
.ms-num { font-size: clamp(1.15em, 2.1vw, 1.75em); white-space: nowrap; letter-spacing: -.01em; }
.ms-stats:has(.ms-stat:nth-child(5)) .ms-num { font-size: clamp(1.1em, 1.75vw, 1.5em); }
.ms-stat { min-width: 0; padding-left: 6px; padding-right: 6px; }
.ms-label { font-size: 12px !important; letter-spacing: .06em !important; }
@media (max-width: 767px) { .ms-num, .ms-stats:has(.ms-stat:nth-child(5)) .ms-num { font-size: 1.4em; } }

/* Building amenity chips with a short detail, e.g. "Pool · Courtyard" (v36) */
.bld-amenities li { display: inline-flex; align-items: baseline; gap: 6px; }
.bld-amen-detail { font-size: 12px; color: var(--muted); }
.bld-amen-detail::before { content: '\00B7'; margin-right: 6px; color: var(--gold); }
