/**
 * ===========================================================================
 * UNIVERSAL CSS + BOOTSTRAP SYSTEM (GOLDEN CIRCLE — PRIMARY DESIGN AUTHORITY)
 * ===========================================================================
 *
 * WHY (Purpose)
 * - style.css is the SINGLE source of primary UI intent (Desktop-first).
 * - media.css exists only to adapt the same intent for other devices.
 * - Prevent random scaling, guessing, or redesign during responsiveness.
 *
 * The goal is CONSISTENCY of intent, not pixel equality across devices.
 *
 *
 * HOW (Implementation & Governance)
 *
 * 1. DESIGN AUTHORITY
 *    - style.css represents the PRIMARY DESIGN reference.
 *    - Primary design is evaluated at:
 *      • 1440px (Large Desktop)
 *
 *    - All sizes defined here (font, spacing, components) represent:
 *      • visual hierarchy
 *      • brand emphasis
 *      • intended density
 *
 *
 * 2. RESPONSIVE EXTENSION (media.css ALIGNMENT)
 *    - media.css does NOT redesign.
 *    - media.css only ADAPTS values from style.css.
 *
 *    Allowed adaptations:
 *    - font-size reduction
 *    - vertical spacing reduction
 *    - visibility refinement (hide secondary elements)
 *
 *    Forbidden adaptations:
 *    - changing layout logic
 *    - redefining grid behavior
 *    - increasing sizes beyond style.css
 *
 *
 * 3. BOOTSTRAP CONTRACT
 *    - Bootstrap handles:
 *      • grid
 *      • breakpoints
 *      • base responsiveness
 *
 *    - Bootstrap classes are READ-ONLY.
 *    - Custom UI must NEVER override Bootstrap behavior.
 *
 *
 * 4. TOKEN & CLASS DISCIPLINE
 *    - Tokens (:root) define VALUES only.
 *    - Custom classes define USAGE of those values.
 *    - All custom classes MUST use "_" prefix.
 *
 *
 * WHAT (Structure & Screen Strategy)
 *
 * - Screen Presets (Industry Standard):
 *   • ≥1440px : Primary Design Reference
 *   • ≥1200px : Desktop
 *   • ≥992px  : Laptop
 *   • ≥768px  : Tablet
 *   • <768px  : Mobile
 *
 * - style.css:
 *   • Defines primary font sizes, spacing, components (desktop intent)
 *
 * - media.css:
 *   • Derives reduced values for tablet & mobile
 *   • Preserves hierarchy defined in style.css
 *
 *
 * ALLOWED
 * - _btn_primary, _card, _section, _section_inner, _text_muted
 * - rem units for spacing & typography
 *
 * FORBIDDEN
 * - Overriding Bootstrap classes
 * - Defining responsive logic in style.css
 * - Redesigning components inside media.css
 * - Color-named or device-named classes
 *
 *
 * GOLDEN RULE (DO NOT BREAK)
 * - style.css defines INTENT (1440px truth).
 * - media.css adapts INTENT, never redefines it.
 * - Bootstrap enforces structure.
 * - Custom classes express identity, not layout authority.
 * ===========================================================================
 */

/* -----------------------
   GLOBAL BASE
   ----------------------- */
@import 'font.css';
@import 'variables.css';

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html,
body {
	width: 100%;
	overflow-x: clip;
}

body {
	font-family: var(--font_base);
	font-size: var(--text_font_size_xs_special);
	font-weight: var(--text_font_weight_normal);
	line-height: var(--text_line_height_fixed_xs_special);
	background-color: var(--ink_white);
	color: var(--theme_color_secondary);
}

/* 
::-webkit-scrollbar-track {
	background-color: var(--theme_color_primary);
	border-left: 1px solid var(--theme_color_primary);
}

::-webkit-scrollbar {
	width: 7px;
	background-color: var(--theme_color_primary);
}

::-webkit-scrollbar-thumb {
	background: var(--theme_color_accent);
} */

::selection {
	color: var(--theme_color_secondary);
	background-color: var(--ink_white);
	filter: invert(1);
}

p {
	line-height: var(--text_line_height_fixed_xs_special);
	margin-bottom: 0px;
	font-size: var(--text_font_size_xs_special);
	font-weight: var(--text_font_weight_normal);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-weight: var(--text_font_weight_bold);
	line-height: var(--text_line_height_base);
	color: var(--theme_text_secondary);
}

img {
	max-width: 100%;
}

a {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
	outline: 0;
}

a:focus {
	text-decoration: none;
	outline: 0;
}

input:focus {
	outline: none;
	border: none;
}


._theme_color_primary {
	color: var(--theme_color_primary);
}

._theme_color_secondary {
	color: var(--theme_color_secondary);
}

._theme_font_primary {
	font-family: var(--font_primary);
}

._theme_font_secondary {
	font-family: var(--font_secondary);
}

.equal-cols>* {
	flex: 1 1 0%;
}

._gap_4 {
	gap: 4px;
}

._gap_8 {
	gap: 8px;
}

._gap_11 {
	gap: 11px;
}

._gap_12 {
	gap: 12px;
}

._gap_16 {
	gap: 16px;
}

._gap_20 {
	gap: 20px;
}

._gap_24 {
	gap: 24px;
}

._gap_28 {
	gap: 28px;
}

._gap_29 {
	gap: 29px;
}

._gap_32 {
	gap: 32px;
}

._gap_36 {
	gap: 36px;
}

._gap_40 {
	gap: 40px;
}

._gap_42 {
	gap: 42px;
}

._gap_48 {
	gap: 48px;
}

._gap_64 {
	gap: 64px;
}

._gap_70 {
	gap: 70px;
}

._gap_128 {
	gap: 128px;
}

._section {
	width: 100%;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
	padding-right: 0px;
	padding-left: 0px;
}

._section_inner {
	max-width: 1440px;
	margin: 0 auto;
	position: relative;
}

._section_full {
	padding-left: 0;
	padding-right: 0;
}

._section_horizontal_padding {
	padding-left: var(--theme_horizontal_padding);
	padding-right: var(--theme_horizontal_padding);
}

._section_header_horizontal_padding {
	padding-left: var(--theme_header_horizontal_padding);
	padding-right: var(--theme_header_horizontal_padding);
}

._home_dynamic_padding ._section_inner {
	padding-left: 7%;
	padding-right: 7%;
	max-width: 100%;
}

._section_vertical_padding {
	padding-top: var(--theme_vertical_padding);
	padding-bottom: var(--theme_vertical_padding);
}

._section_vertical_bottom_only_padding {
	padding-bottom: var(--theme_vertical_padding);
}

._section_vertical_top_only_padding {
	padding-top: var(--theme_vertical_padding);
}

._section_horizontal_no_padding {
	padding-left: 0;
	padding-right: 0;
}

._section_vertical_no_padding {
	padding-top: 0;
	padding-bottom: 0;
}

._section_bg_primary {
	background: var(--theme_bg_primary);
}

._section_bg_ink_white {
	background: var(--ink_white);
}

._text_muted {
	color: var(--theme_text_muted);
}

._header_nav_desktop {
	display: block;

}

._header_nav_mobile {
	display: none;
}

.brand_logo_img {
	max-width: 186px;
}

._primary_heading {
	font-size: var(--text_font_size_lg);
	font-weight: var(--text_font_weight_medium);
}

._desktop_show {
	display: block;
}

._desktop_hide {
	display: none;
}

/* -----------------------
	   color: var(--theme_color_secondary);
	   margin-bottom: 24px;
	  HEADER MENU
	  ----------------------- */
._header {
	background: var(--theme_bg_primary);
	padding: 48px 32px;
	position: relative;
	z-index: var(--z_header);
}

._header_nav {
	display: flex;
	align-items: center;
	width: 100%;
}

._header_nav_left {
	flex: 1 1 0%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

._header_nav_left ._header_nav_desktop_links {
	display: flex;
	align-items: center;
	gap: 4rem;
}

._header_nav_center {
	flex: 1 1 0%;
	display: flex;
	align-items: center;
	justify-content: center;
}

._header_nav_right {
	flex: 1 1 0%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

._header_link {
	color: var(--theme_color_secondary);
	font-family: var(--font_secondary);
	font-size: var(--text_font_size_xs);
	font-weight: var(--text_font_weight_bold);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: opacity var(--theme_transition_fast);
	line-height: 100%;
}

._header_link:hover {
	opacity: 0.7;
}

._header_logo {
	color: var(--theme_color_secondary);
}

._header_menu_toggle {
	background: transparent;
	border: none;
	cursor: pointer;
	transition: opacity var(--theme_transition_fast);
}

._header_menu_toggle:hover {
	opacity: 0.7;
}

._header_menu_toggle .hamburger_menu_toggle_img {
	display: block;
	width: 20.04px;
	height: 28px;
}

/* -----------------------
	  MENU OVERLAY
	  ----------------------- */
._menu_overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: var(--z_modal);
	visibility: hidden;
	overflow-y: auto;
	border: 16px solid var(--ink_white);
}

._menu_overlay._menu_overlay_active {
	opacity: 1;
	visibility: visible;
}

._menu_modal_wrap {
	width: 100%;
	height: 100%;
	background: var(--theme_color_primary);
	opacity: 0.95;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

._menu_modal {
	background: var(--theme_color_primary);
	opacity: 0.95;
	margin: 0 auto;
	padding: 32px 16px 48px 16px;
	position: relative;
}

._menu_modal_header {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 15vh;
	position: relative;
}

._menu_modal_close_wrap {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

._menu_modal_title_wrap {
	color: var(--ink_white);
	display: flex;
	align-items: center;
	justify-content: center;
}

._menu_modal_title_wrap .overlay_brand_logo_img,
.footer_brand_logo_img {
	width: 186px;
	max-height: 36.12px;
}

._menu_modal_close_wrap .overlay_close_button_img {
	width: 30px;
	height: 30px;
	object-fit: contain;
	object-position: center;
}

._menu_modal_close {
	background: transparent;
	border: none;
	color: var(--ink_white);
	cursor: pointer;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity var(--theme_transition_fast);
}

._menu_modal_close:hover {
	opacity: 0.7;
}

._menu_modal_content {
	max-width: 1440px;
	color: var(--ink_white);
	padding: 0px 5em;
}

._menu_modal_columns {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	justify-content: between;
	margin-bottom: 3rem;
}

._menu_column {
	max-width: 251px;
}

._menu_column_title {
	color: var(--ink_white);
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_bold);
	font-size: var(--text_font_size_base);
	line-height: 139%;
	letter-spacing: 8%;
	text-transform: uppercase;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--ink_white);
}

._menu_list {
	list-style: none;
	padding: 0;
	margin: 0;
}

._menu_list li {
	margin-bottom: 5.85px;
}

._menu_link {
	color: #F8F3F3;
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_medium);
	font-style: normal;
	font-size: var(--text_font_size_base);
	line-height: var(--text_line_height_base);
	letter-spacing: 0%;
	/* transition: color, font-weight var(--theme_transition_fast); */
}

._menu_link:hover {
	color: var(--theme_color_secondary);
	font-weight: var(--text_font_weight_bold);
}

._menu_modal_social {
	text-align: center;
	margin-top: 3rem;
}

._menu_social_title {
	color: var(--ink_white);
	font-size: 22px;
	margin-bottom: 1rem;
	font-family: var(--font_secondary);
	line-height: var(--text_line_height_base);
	letter-spacing: 0px;
	word-spacing: 1.44px;
}

._menu_social_title_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
}

._menu_social_icon_wrap {
	display: flex;
	justify-content: center;
}

._menu_social_icons {
	display: flex;
	justify-content: center;
	gap: 1.6rem;
	line-height: 100%;
}

._menu_social_icon_img {
	width: 24px;
	height: 24px;
}

._menu_social_icon:hover {
	opacity: 0.7;
}

/* -----------------------
	  CONTACT MODAL
	  ----------------------- */
._contact_overlay {
	position: fixed;
	inset: 0;
	z-index: 301;
	background: rgba(0, 0, 0, 0.4);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--theme_transition_fast), visibility var(--theme_transition_fast);
	display: flex;
	justify-content: center;
}

._contact_overlay._contact_overlay_active {
	opacity: 1;
	visibility: visible;
}

._contact_modal {
	width: 465px;
	height: 100vh;
	background: rgba(174, 149, 136, 0.9);
	overflow-y: auto;
}

._contact_modal_inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100vh;
	padding: 48px 64px 22px;
}

._contact_modal_header {
	display: flex;
	justify-content: center;
	align-items: center;
}

._contact_modal_brand_logo_img {
	max-width: 186px;
	width: 100%;
	height: auto;
	display: block;
}

._contact_modal_close {
	padding: 0;
	border: none;
	background: transparent;
	color: var(--ink_white);
	font-size: 2.5rem;
	line-height: 1;
	cursor: pointer;
	transition: opacity var(--theme_transition_fast);
}

._contact_modal_close:hover {
	opacity: 0.7;
}

._contact_modal_body {
	display: flex;
	flex-direction: column;
	gap: var(--spacing_gap_lg);
	color: var(--ink_white);
	text-align: center;
}

._contact_modal_title,
._contact_modal_text {
	margin: 0;
	line-height: var(--text_line_height_base);
}

._contact_modal_title {
	color: var(--ink_white);
	font-family: var(--font_heading);
	font-size: var(--text_font_size_md);
	font-weight: var(--text_font_weight_medium);
}

._contact_modal_text {
	font-family: var(--font_base);
	line-height: 33px;
	font-size: var(--text_font_size_md);
	font-weight: var(--text_font_weight_normal);
}

._contact_form {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

._contact_section_wrap ._form_subtitle {
	font-size: 18px;
	line-height: 26px;
}

._contact_form_fields {
	display: flex;
	flex-direction: column;
	gap: var(--spacing_gap_lg);
	text-align: left;
}

._contact_field {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

._contact_label {
	text-align: center;
	color: var(--ink_white);
	font-family: var(--font_secondary);
	font-size: var(--text_font_size_sm);
	font-weight: var(--text_font_weight_normal);
	line-height: 100%;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

._contact_input {
	width: 100%;
	height: 35px;
	padding: 0 var(--spacing_gap_md);
	background: var(--ink_white);
	border: none;
	color: var(--theme_color_secondary);
	font-family: var(--font_base);
	font-size: var(--text_font_size_base);
	box-sizing: border-box;
}

._contact_submit_btn {
	display: inline;
	width: auto;
	padding: 5px 15px;
	background: var(--theme_color_secondary);
	color: var(--ink_white);
	font-family: var(--font_secondary);
	font-size: var(--text_font_size_sm);
	font-weight: var(--text_font_weight_medium);
	text-transform: uppercase;
	letter-spacing: 3%;
	border: none;
	cursor: pointer;
	transition: opacity var(--theme_transition_fast);
}

._contact_submit_btn:hover {
	opacity: 0.9;
}

._contact_modal_footer {
	display: flex;
	justify-content: center;
	align-items: center;
}

._section_global_wide_padding_horizontal {
	padding-left: 32px;
	padding-right: 32px;
}

._hero_banner_wrap {
	position: relative;
	width: 100%;
}

._hero_banner_image_wrap {
	position: relative;
	width: 100%;
	height: 100%;
}

._hero_banner_image_wrap::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 42%;
	pointer-events: none;
	z-index: 1;
	background: linear-gradient(to top,
			rgba(0, 0, 0, 0.5) 0%,
			rgba(0, 0, 0, 0.5) 32%,
			rgba(0, 0, 0, 0) 100%);
}

._hero_banner_image {
	position: relative;
	z-index: 0;
	width: 100%;
	height: 100%;
	max-height: 688px;
	object-fit: cover;
	object-position: center;
}

._hero_banner_content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 60px;
	width: 100%;
	z-index: 5;
}

._hero_banner_content h2 {
	color: var(--ink_white);
	font-size: var(--text_font_size_lg);
	font-weight: var(--text_font_weight_normal);
	letter-spacing: 1px;
	line-height: var(--text_line_height_base);
}

._hero_banner_carousel .owl-dots {
	position: absolute;
	bottom: 0px;
	margin: 20px 0px;
	left: 50%;
	transform: translateX(-50%);
}

._hero_banner_carousel .owl-dots button.owl-dot {
	background: #F6F2EE;
	height: 8.2px;
	width: 8.5px;
	border-radius: 50%;
	margin: 0 5px;
	transition: all 0.3s ease;
}

._hero_banner_carousel .owl-dots button.owl-dot.active {
	background: var(--theme_color_secondary);
}

._hero_banner_section ._hero_banner_wrap {
	min-height: 78vh;
}

._hero_banner_section ._hero_banner_image {
	height: 78vh;
}

._hero_down_arrow_wrap {
	padding: 50px 0px
}

._about_image_wrap {
	position: relative;
	width: 100%;
}

._about_image {
	position: relative;
	width: 100%;
	max-width: 632px;
	height: 100%;
	max-height: 435px;
	object-fit: cover;
	object-position: center;
}

._btn_primary {
	position: relative;
	font-size: var(--text_font_size_sm_btn);
	color: var(--ink_white);
	background-color: var(--theme_color_primary);
	font-weight: var(--text_font_weight_bold);
	line-height: 100%;
	letter-spacing: 0.04em;
	padding: 18px 18px;
	border-radius: 0px;
	cursor: pointer;
	outline: none;
	border: none;
	font-family: var(--font_secondary);
}

a._btn_primary {
	text-decoration: none;
	display: inline-block;
}


._btn_primary_bordered_xs {
	border: 2px solid var(--theme_color_primary);
	position: relative;
	font-size: var(--text_font_size_xs);
	color: var(--theme_color_primary);
	background-color: transparent;
	font-weight: var(--text_font_weight_bold);
	line-height: 100%;
	letter-spacing: 0.04em;
	height: 37px;
	min-height: 37px;
	/* min-width: 99px; */
	width: auto;
	padding: 0 13px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 0px;
	cursor: pointer;
	font-family: var(--font_secondary);
}

._btn_primary_bordered {
	border: 2px solid var(--theme_color_primary);
	position: relative;
	font-size: var(--text_font_size_sm_btn);
	color: var(--theme_color_primary);
	background-color: transparent;
	font-weight: var(--text_font_weight_bold);
	line-height: 100%;
	letter-spacing: 3%;
	width: auto;
	padding: 15px 19px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0px;
	cursor: pointer;
	font-family: var(--font_secondary);
}

._btn_primary_sm {
	position: relative;
	font-size: var(--text_font_size_sm_btn);
	color: var(--ink_white);
	background-color: var(--theme_color_primary);
	font-weight: var(--text_font_weight_bold);
	line-height: 100%;
	letter-spacing: 3%;
	padding: 13.5px 15.15px;
	border-radius: 0px;
	cursor: pointer;
	outline: none;
	border: none;
	font-family: var(--font_secondary);
}


._btn_primary_xs {
	position: relative;
	font-size: var(--text_font_size_xs);
	color: var(--ink_white);
	background-color: var(--theme_color_primary);
	font-weight: var(--text_font_weight_bold);
	line-height: 100%;
	letter-spacing: 0.04em;
	height: 37px;
	min-height: 37px;
	/* min-width: 99px; */
	width: auto;
	padding: 18px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0px;
	cursor: pointer;
	outline: none;
	border: none;
	text-align: center;
	font-family: var(--font_secondary);
}


._btn_secondary_sm {
	position: relative;
	font-size: var(--text_font_size_sm_btn);
	color: var(--theme_color_primary);
	background-color: var(--ink_white);
	font-weight: var(--text_font_weight_bold);
	line-height: 100%;
	letter-spacing: 3%;
	padding: 13.5px 15.15px;
	border-radius: 0px;
	cursor: pointer;
	outline: none;
	border: none;
	font-family: var(--font_secondary);
}

._dcm_request_appraisal_button {
	padding: 18.9px 15px;
}

._theme_divider {
	width: 100%;
	height: 2px;
	background-color: var(--theme_border_color);
}

._theme_divider_wrap_review_post ._theme_divider {
	height: 1px;
}

._about_content_col_wrap h2 {
	font-size: var(--text_font_size_sm);
	font-weight: var(--text_font_weight_bold);
	color: var(--theme_color_secondary);
	margin-bottom: var(--text_font_size_base);
	font-family: var(--font_secondary);
	line-height: 139%;
}

._about_content_col_wrap p {
	padding: 1.5px 0px;
	/* font-size: var(--text_font_size_sm); */
	/* font-weight: var(--text_font_weight_normal); */
	color: var(--theme_color_secondary);
	letter-spacing: 0.1px;
}

._gap_64 {
	gap: 4rem;
}

._full_page_mid_banner_wrap {
	position: relative;
	width: 100%;
	height: 100%;
	max-height: 192px;
}

._full_page_mid_banner_image {
	position: relative;
	width: 100%;
	height: 100%;
	max-height: 192px;
	object-fit: cover;
	object-position: center;
}

._full_page_mid_banner_button_wrap {
	display: flex;
	gap: 4rem;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

._full_page_mid_banner_button_wrap button {
	min-width: 231px;
}

._property_cards_wrap {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

._property_cards_wrap:has(._sale_list_no_results) {
	grid-template-columns: 1fr;
	justify-items: center;
	text-align: center;
}

._property_cards_wrap ._property_card {
	position: relative;
	width: 100%;
	height: 100%;
}

._property_cards_wrap ._property_card ._property_card_image_wrap {
	height: 240px;
	/* width: 100%; */
	position: relative;
}

._property_cards_wrap ._property_card ._property_card_image {
	position: relative;
	width: 100%;
	max-width: 395px;
	height: 100%;
	max-height: 240px;
	object-fit: cover;
	object-position: center;
}

._property_card ._property_card_title {
	margin-top: 20px;
	font-size: var(--text_font_size_sm);
	font-weight: var(--text_font_weight_normal);
	color: var(--theme_color_secondary);
	margin-bottom: 0px;
	font-family: var(--font_secondary);
	line-height: var(--text_line_height_base);
}

._property_card ._property_card_price {
	font-size: var(--text_font_size_sm);
	font-weight: var(--text_font_weight_normal);
	color: var(--theme_color_secondary);
	margin-bottom: 0px;
	font-family: var(--font_secondary);
	line-height: var(--text_line_height_base);
}

._property_card_image_badge {
	position: absolute;
	bottom: 0;
	left: 0;
	font-family: var(--font_secondary);
	background-color: var(--theme_color_primary);
	font-size: var(--text_font_size_base);
	font-weight: var(--text_font_weight_bold);
	color: var(--ink_white);
	padding: 6px 14px;
	border-radius: 0px;
}

._section_title {
	margin-bottom: 64px;
}

._client_review {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}

._client_review ._client_review_text {
	font-size: var(--text_font_size_xs_special);
	font-weight: var(--text_font_weight_normal);
	color: var(--theme_color_secondary);
	margin-bottom: 0px;
	line-height: var(--text_line_height_fixed_xs_special);
	text-align: center;
	letter-spacing: 0;
}

._client_review ._client_review_author {
	font-size: var(--text_font_size_xs_special);
	font-weight: var(--text_font_weight_medium);
	color: var(--theme_color_secondary);
	margin-top: 28px;
	margin-bottom: 0px;
	line-height: var(--text_line_height_fixed_xs_special);
	text-align: center;
	letter-spacing: 0.04em;
}

._review_more_button {
	min-width: 285px;
}

footer._section {
	background-color: var(--theme_color_primary);
}
._footer_brand_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

._footer_brand_item ._footer_brand_image {
	max-height: 25px;
	width: auto;
}

._footer_copyright_wrap {
	display: flex;
	justify-content: space-between;
	align-items: end;
	font-family: var(--font_secondary);
}

._footer_copyright_text {
	font-size: var(--text_font_size_xs);
	font-weight: var(--text_font_weight_normal);
	color: var(--ink_white);
	margin-bottom: 0px;
	line-height: var(--text_line_height_xs);
	text-align: left;
	letter-spacing: 0.005em;
	max-width: 1022px;
}

._footer_site_by_wrap p {
	font-size: var(--text_font_size_base);
	font-weight: var(--text_font_weight_normal);
	color: var(--ink_white);
	line-height: var(--text_line_height_xs);
	text-align: right;
}
._footer_site_by_image
{
	max-height: 25px;
}
._footer_menu_wrap {
	justify-content: space-between;
	/* max-width: 495px; */
}
._footer_menu_list_wrap
{
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	align-items: center;
}
._footer_menu_wrap ._footer_menu_title {
	font-size: var(--text_font_size_xxs);
	font-weight: var(--text_font_weight_normal);
	color: var(--ink_white);
	line-height: var(--text_line_height_base);
	text-align: left;
	letter-spacing: 0.003em;
	font-family: var(--font_secondary);
	margin-bottom: 24px;
	padding: 0.224px 0px;
}

._footer_menu_title_link {
	color: inherit;
	text-decoration: none;
}

._footer_menu_title_link:hover {
	text-decoration: underline;
}

._footer_menu_list {
	display: flex;
	flex-direction: column;
	list-style: none;
	padding: 0px;
	margin: 0px;
	gap: 4px;

}

._footer_menu_list li {
	margin-bottom: 0px;
	padding: 0px;
	line-height: 100%;
}

._footer_menu_link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: var(--text_font_size_sm);
	font-weight: var(--text_font_weight_normal);
	color: var(--ink_white);
	text-align: left;
	letter-spacing: 0.001em;
	font-family: var(--font_secondary);
	line-height: 100%;
	padding: 1.5px 0px
}

._footer_menu_icon {
	height: 18px;
	width: 18px;
	min-width: 18px;
	min-height: 18px;
	flex-shrink: 0;
	object-fit: contain;
	object-position: center;
	vertical-align: middle;
}

._footer_menu_list_social {
	gap: 4px
}
._footer_list_divider
{
	height:100%;
	width:1px;
	background-color:var(--ink_white);
}
._half_page_image_wrap {
	position: relative;
	width: 100%;
}
._footer_list_wrap_has_right_border
{
	border-right:1px solid var(--ink_white);
	margin-right:80px;
	padding-right:80px;
}
._half_page_image {
	position: relative;
	width: 100%;
	max-width: 621px;
	height: 100%;
	max-height: 964px;
	object-fit: cover;
	object-position: center;
}

._half_page_image_contact ._half_page_image {
	min-height: 769px;
}

._half_page_image_register_property ._half_page_image {
	min-height: 681px;
}

._form_subtitle {
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_normal);
	font-size: 19px;
	line-height: 163%;
	position: relative;
	letter-spacing: 0%;
	margin-bottom: 10px;
}

._form_fields {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

._form_field {
	display: flex;
	flex-direction: column;
	gap: 0.215rem;
}

._search_field_wrap {
	display: flex;
	align-items: stretch;
	gap: 0;
}

._search_field_wrap ._search_input {
	min-width: 235px;
	height: 38px;
	padding: 0 var(--spacing_gap_md);
	background: var(--ink_white);
	border: none;
	color: var(--theme_text_primary);
	font-family: var(--font_secondary);
	font-size: var(--text_font_size_xs);
	font-weight: var(--text_font_weight_bold);
	box-sizing: border-box;
}

._search_field_wrap ._search_input::placeholder {
	color: var(--theme_color_primary);
}

._search_field_wrap ._search_btn {
	width: 38px;
	height: 38px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--theme_color_primary);
	border: none;
	padding: 0;
}

._search_field_wrap ._search_btn img {
	width: 17px;
	height: 17px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

._form_label {
	font-size: var(--text_font_size_xs_special);
	font-weight: var(--text_font_weight_normal);
	color: var(--theme_color_secondary);
	margin-bottom: 0px;
	line-height: var(--text_line_height_base);
	text-align: left;
	letter-spacing: 0.003em;
}

._form_input {
	width: 100%;
	height: 37px;
	padding: 0 var(--spacing_gap_sm);
	background: var(--theme_bg_primary);
	border: 2px solid var(--theme_border_color);
	color: var(--theme_color_primary);
	font-family: var(--font_base);
	font-size: var(--text_font_size_base);
	box-sizing: border-box;
}

._form_input::placeholder {
	font-size: var(--text_font_size_xxs);
	color: var(--theme_color_primary);
}

textarea._form_input {
	height: 117px;
	resize: none;
}

._form_checkbox_wrap {
	padding: 0.23px 0px;
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--spacing_gap_sm);
	cursor: pointer;
}

._form_checkbox_wrap ._form_checkbox {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
	appearance: none;
}

._form_checkbox_box {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	border: 2px solid var(--theme_border_color);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}

._form_checkbox_wrap ._form_checkbox:checked+._form_checkbox_box::after {
	content: "✓";
	display: block;
	font-size: 14px;
	line-height: 1;
	color: var(--theme_color_secondary);
}

._form_checkbox_label {
	display: block;
}

._consent_text {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_normal);
	font-size: var(--text_font_size_xxs);
	line-height: 140%;
	letter-spacing: 0%;
}

._form_required_asterisk {
	color: #EA4335;
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_normal);
	font-size: var(--text_font_size_base);
	line-height: 168%;
	letter-spacing: 1%;
}

._required_info_text {
	font-size: 12px;
}

._form_step_wrap ._form_step_number {
	color: var(--theme_color_secondary);
}

._form_step_wrap ._form_step_item {
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_normal);
	font-size: var(--text_font_size_base);
	line-height: 168%;
	letter-spacing: 3%;
}

._para_title {
	color: var(--theme_color_secondary);
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_bold);
	font-size: var(--text_font_size_base);
	line-height: var(--text_line_height_base);
	letter-spacing: 0%;
}

._download_btn {
	border: 2px solid var(--theme_border_color);
	color: var(--theme_color_primary);
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_bold);
	font-size: var(--text_font_size_sm);
	line-height: 100%;
	letter-spacing: 3%;
	padding: 20px 60px;
	border-radius: 0px;
	cursor: pointer;
	width: 358px;
	background: transparent;
}

._property_detail_wrap {
	position: relative;
	height: 72vh;
	overflow: visible;
}

._property_detail_carousel,
._property_detail_carousel .owl-stage-outer,
._property_detail_carousel .owl-stage,
._property_detail_carousel .owl-item {
	height: 100%;
}

._property_detail_carousel .owl-item>div {
	height: 100%;
}

._property_detail_slide {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ink_white);
}

._property_detail_slide img {
	width: 100%;
	height: 100%;
	min-height: 695px;
	display: block;
	object-fit: cover;
	object-position: center;
}

._property_detail_slide img._is_portrait {
	object-fit: contain;
	min-height: 0px;
}

._property_detail_carousel {
	position: relative;
	height: 100%;
	overflow: visible;
}

._property_detail_carousel::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: var(--_bar_h);
	background: #FFFFFF52;
	pointer-events: none;
	z-index: 1;
}

._property_detail_carousel .owl-nav,
._property_detail_carousel .owl-dots {
	position: absolute;
	top: 50%;
	left: -100px;
	right: -100px;
	height: var(--_bar_h);
	margin: 0;
	padding: 0 0px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	pointer-events: none;
	z-index: 2;
}

._property_detail_carousel .owl-dots {
	left: 50%;
	right: auto;
	transform: translateX(-50%);
	width: auto;
	padding: 0;
	justify-content: center;
	pointer-events: auto;
}

._property_detail_carousel .owl-nav button.owl-prev,
._property_detail_carousel .owl-nav button.owl-next {
	pointer-events: auto;
	width: 32px;
	height: 30px;
	margin: 0;
	padding: 0;
	border: none;
	transition: opacity var(--theme_transition_fast);
	background: transparent url(../images/arrow_horizontal.svg) center/contain no-repeat !important;
	background-size: 32px 32px;
}

._property_detail_carousel .owl-nav button.owl-prev {
	transform: scaleX(-1);
}

._property_detail_carousel .owl-nav button.owl-prev:hover,
._property_detail_carousel .owl-nav button.owl-next:hover {
	opacity: 0.8;
}

._property_detail_carousel .owl-nav button.owl-prev span,
._property_detail_carousel .owl-nav button.owl-next span {
	display: none;
}

._property_detail_carousel .owl-dots button.owl-dot {
	background: var(--ink_white) !important;
	height: 8px;
	width: 8px;
	border-radius: 50%;
	margin: 0 5px;
	padding: 0 !important;
	border: none;
	opacity: 0.9;
	transition: all var(--theme_transition_fast);
}

._property_detail_carousel .owl-dots button.owl-dot.active {
	background: var(--theme_color_secondary) !important;
	opacity: 1;
}

/* Gallery full-page modal */
._gallery_overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.85);
	z-index: 350;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--theme_transition_fast), visibility var(--theme_transition_fast);
}

._gallery_overlay._gallery_overlay_active {
	opacity: 1;
	visibility: visible;
}

._gallery_wrap {
	width: 100%;
	height: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding-left: var(--theme_horizontal_padding);
	padding-right: var(--theme_horizontal_padding);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--theme_bg_primary);
}

._gallery_modal {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

/* Part 1: Top – counter + close */
._gallery_header {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 0px;
}

._gallery_counter {
	font-family: var(--font_secondary);
	font-size: var(--text_font_size_base);
	color: var(--theme_color_primary);
}

._gallery_close {
	width: 40px;
	height: 40px;
	border: none;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	cursor: pointer;
	transition: opacity var(--theme_transition_fast);
}

._gallery_close img {
	width: 22px;
	height: 22px;
	display: block;
}

._gallery_close:hover {
	opacity: 0.8;
}

/* Part 2: Middle – main image + left/right arrows (arrows touch parent left/right border) */
._gallery_main_wrap {
	position: relative;
	flex: 1;
	min-height: 0;
	overflow: hidden;
}

._gallery_arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 56px;
	border: none;
	background: transparent;
	cursor: pointer;
	transition: opacity var(--theme_transition_fast);
	z-index: 1;
	display: flex;
	align-items: center;
}

._gallery_arrow:hover {
	opacity: 0.8;
}

._gallery_arrow_icon {
	width: 32px;
	height: 32px;
	background: url("../images/arrow_horizontal.svg") no-repeat center;
	background-size: 32px 32px;
	display: block;
}

._gallery_prev {
	left: 0;
	justify-content: flex-start;
}

._gallery_prev ._gallery_arrow_icon {
	transform: scaleX(-1);
}

._gallery_next {
	right: 0;
	justify-content: flex-end;
}

._gallery_main_center {
	position: absolute;
	left: 56px;
	right: 56px;
	top: 0;
	bottom: 0;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

._gallery_main {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}

/* Part 3: Bottom – thumbnail row (full row height, thumb width from image aspect ratio) */
._gallery_thumbs {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 2px;
	padding: 16px 0px;
	overflow-x: auto;
	overflow-y: hidden;
	height: 88px;
	box-sizing: border-box;
}

._gallery_thumb {
	flex-shrink: 0;
	height: 56px;
	width: auto;
	padding: 0;
	border: 2px solid transparent;
	background: none;
	cursor: pointer;
	transition: border-color var(--theme_transition_fast);
	display: flex;
	align-items: center;
	justify-content: center;
}

._gallery_thumb._gallery_thumb_active {
	border-color: var(--theme_color_secondary);
}

._gallery_thumb img {
	height: 100%;
	width: auto;
	object-fit: contain;
	display: block;
	vertical-align: middle;
}

._about_detail_image_wrap {
	position: relative;
	width: 100%;
}

._about_detail_image {
	position: relative;
	width: 100%;
	max-width: 436px;
	height: 100%;
	max-height: 288px;
	object-fit: cover;
	object-position: center;
}

._about_middle_contact_btn {
	min-width: 226px;
}

._team_members_wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

._about_team_member_wrap {
	max-width: 360px;
}

._team_member_name {
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_medium);
	font-size: 18px;
	line-height: 100%;
	letter-spacing: 0%;
	color: var(--theme_color_secondary);
}

._team_member_title {
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_normal);
	font-size: var(--text_font_size_sm);
	line-height: var(--text_line_height_xs);
	letter-spacing: -0.5%;
	color: var(--theme_color_secondary);
}

._team_member_description {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_normal);
	font-size: var(--text_font_size_base);
	line-height: var(--text_line_height_fixed_base);
	letter-spacing: 0.01em;
	color: var(--theme_color_secondary);
}

._our_values_carousel {
	max-width: 595px;
	position: relative;
	margin: 0 auto;
	overflow: visible;
}

._our_values_slide_wrap {
	display: flex;
	flex-direction: column;
}

._our_values_image {
	width: 100%;
	height: 100%;
	max-height: 405px;
	object-fit: cover;
	object-position: center;
}

._our_values_heading {
	text-align: center;
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_bold);
	font-size: var(--text_font_size_base);
	line-height: 139%;
	letter-spacing: 8%;
	text-transform: uppercase;
}

._our_values_description {
	text-align: center;
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_normal);
	font-size: var(--text_font_size_base);
	line-height: var(--text_line_height_fixed_base);
	letter-spacing: 0%;
	color: var(--theme_color_secondary);
}

._our_values_carousel .owl-nav {
	position: absolute;
	top: 46%;
	left: -100px;
	right: -100px;
	transform: translateY(-50%);
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	pointer-events: none;
	z-index: 2;
}

._our_values_carousel .owl-nav button.owl-prev,
._our_values_carousel .owl-nav button.owl-next {
	pointer-events: auto;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent url(../images/arrow_horizontal.svg) center/contain no-repeat !important;
	background-size: 32px 32px;
	transition: opacity var(--theme_transition_fast);
}

._our_values_carousel .owl-nav button.owl-prev {
	transform: scaleX(-1);
}

._our_values_carousel .owl-nav button.owl-prev:hover,
._our_values_carousel .owl-nav button.owl-next:hover {
	opacity: 0.8;
}

._our_values_carousel .owl-nav button.owl-prev span,
._our_values_carousel .owl-nav button.owl-next span {
	display: none;
}

._our_values_carousel .owl-dots {
	margin-top: 64px;
	display: flex;
	justify-content: center;
	gap: 0.5rem;
}

._our_values_carousel .owl-dots button.owl-dot {
	background: var(--theme_color_primary) !important;
	height: 8px;
	width: 8px;
	border-radius: 50%;
	margin: 0;
	padding: 0 !important;
	border: none;
	opacity: 0.5;
	transition: opacity var(--theme_transition_fast);
}

._our_values_carousel .owl-dots button.owl-dot.active {
	opacity: 1;
	background: var(--theme_color_secondary) !important;
}

/* List pagination (rent / sale) – arrow only for dot row, 18x18; number Lato 10px; dot 7x7 */
._list_pagination {
	font-family: var(--font_secondary);
}

._list_top_controls ._list_filter_section_pagination_wrap {
	margin-left: -19%;
}

._list_pagination_arrow {
	width: 18px;
	height: 18px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity var(--theme_transition_fast);
}

._list_pagination_arrow:hover {
	opacity: 0.8;
}

._list_pagination_arrow_icon {
	width: 18px;
	height: 18px;
	background: url(../images/arrow_horizontal.svg) no-repeat center;
	background-size: 18px 18px;
	display: block;
	position: relative;
	top: 58%;
}

._list_pagination_prev ._list_pagination_arrow_icon {
	transform: scaleX(-1);
}

._list_pagination_pages {
	flex-wrap: wrap;
}

._list_pagination_item {
	text-decoration: none;
	color: var(--theme_color_primary);
	transition: color var(--theme_transition_fast);
	text-align: center;
}

._list_pagination_item:hover {
	color: var(--theme_color_secondary);
}

._list_pagination_item_active ._list_pagination_num,
._list_pagination_item_active ._list_pagination_dot {
	color: var(--theme_color_secondary);
}

._list_pagination_num {
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_normal);
	font-style: normal;
	font-size: var(--text_font_size_xxs);
	line-height: var(--text_line_height_base);
	letter-spacing: 0;
	text-align: center;
	display: block;
}

._list_pagination_dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--theme_color_primary);
	display: block;
}

._list_pagination_item_active ._list_pagination_dot {
	background: var(--theme_color_secondary);
}

._guide_content_banner_wrap {
	position: relative;
	overflow: visible;
	background-color: var(--ink_white);
}

._guide_content_banner_wrap::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 34.208px solid transparent;
	border-right: 34.208px solid transparent;
	border-top: 37.5px solid var(--ink_white);
	pointer-events: none;
}

._guide_content_banner_content_wrap {
	display: flex;
	flex-direction: column;
	padding: 44px 24px 32px 24px;
	gap: 16px;
}

._guide_content_banner_image_wrap {
	position: relative;
	width: 250px;
	max-height: 500px;
	max-width: 100%;
	height: 100%;
	aspect-ratio: 350 / 484;
	overflow: hidden;
}

._guide_content_banner_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

._guide_content_banner_title {
	font-weight: var(--text_font_weight_medium);
	font-size: var(--text_font_size_md);
	line-height: var(--text_line_height_fixed_lg);
	letter-spacing: 0.002em;
	text-align: center;
}

._guide_content_wrap {
	padding: 54px 54px 54px 54px;
	background-color: var(--ink_white);
}

._guide_menu_links_wrap {
	list-style: none;
	padding: 0;
	width: 342px;
	position: sticky;
	top: 0;
	align-self: flex-start;
}

._guide_menu_link {
	color: var(--theme_color_secondary);
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_normal);
	font-size: var(--text_font_size_sm);
	line-height: var(--text_line_height_fixed_sm);
	letter-spacing: -1.5%;
	padding: 15.6px 32px;
	border-bottom: 1px solid #CFCDCD;
}

._guide_menu_link a {
	color: var(--theme_color_secondary);
}

._guide_content_title {
	color: var(--theme_color_secondary);
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_bold);
	font-size: var(--text_font_size_base);
	line-height: var(--text_line_height_fixed_xs);
	letter-spacing: 8%;
	text-transform: uppercase;
}

._guide_content_list {
	padding-left: 26px;
	margin: 0;
	color: var(--theme_color_secondary);
}

._guide_content_list li {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_normal);
	font-size: var(--text_font_size_base);
	line-height: var(--text_line_height_fixed_base);
	letter-spacing: 0%;
}

._property_detail_price {
	font-size: var(--text_font_size_md);
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_medium);
}

._property_detail_type {
	font-size: var(--text_font_size_xs);
	text-transform: uppercase;
	font-weight: var(--text_font_weight_normal);
	font-family: var(--font_secondary);
	letter-spacing: 0;
}

._property_detail_quote {
	font-style: italic;
	line-height: 38px;
	font-size: 22px;
	margin: 0;
	padding-left: 77px;
	border-left: 1px solid var(--theme_color_primary);
}

._property_detail_images_row {
	display: flex;
	gap: 16px;
}

._property_detail_images_row ._about_image_wrap {
	flex: 1;
	min-width: 0;
}

._property_detail_features {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

._property_detail_features li {
	position: relative;
	padding-left: 1em;
	font-family: var(--font_base);
	font-size: var(--text_font_size_xs_special);
	line-height: var(--text_line_height_base);
}

._property_detail_features li::before {
	content: "◆";
	position: absolute;
	left: 0;
	color: var(--theme_color_secondary);
	font-size: 0.6em;
	vertical-align: middle;
}

._property_detail_accordion_item {
	border-bottom: 1px solid var(--theme_border_color);
}

._property_detail_accordion_head {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 13px 0;
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_bold);
	font-size: var(--text_font_size_xs);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--theme_color_secondary);
	text-align: left;
}

._property_detail_accordion_icon {
	display: inline-block;
	transform: rotate(0deg);
	transition: transform var(--theme_transition_fast);
}

._property_detail_accordion_open ._property_detail_accordion_icon {
	transform: rotate(180deg);
}

._property_detail_accordion_body {
	padding-bottom: 1rem;
}

._property_detail_accordion_body[hidden] {
	display: none;
}

._property_detail_map_wrap {
	width: 100%;
	height: 375px;
	overflow: hidden;
	padding: 8px;
	background-color: var(--ink_white);
}

._property_detail_map_image {
	width: 100%;
	display: block;
	vertical-align: top;
}

._property_detail_map_wrap iframe {
	display: block;
	height: 100%;
}

._property_detail_local_wrap {
	position: relative;
	width: 100%;
}

._property_detail_local_image {
	width: 100%;
	display: block;
	object-fit: cover;
	max-height: 320px;
}

._property_detail_local_btn {
	position: absolute;
	top: 5%;
	right: 5%;
}

._dcm_wrap {
	padding: 0px 0px;
}

._dcm_content_wrap {
	max-width: 745px;
	margin: 0 auto;
}

._dcm_scroll_wrap {
	width: 135px;
	margin: 0 auto;
}

._design_conscious_marketing_scroll_title {
	font-style: italic;
	text-align: center;
}

._design_conscious_marketing_scroll_icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	height: 24px;
	width: 24px;
}

._design_conscious_marketing_scroll_icon path {
	fill: var(--theme_color_primary);
}

._dcm_image_wrap {
	position: relative;
	width: 100%;
	height: 100%;
	max-height: 490px;
	aspect-ratio: 745 / 490;
	overflow: hidden;
}

._dcm_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

._dcm_image_wrap::after {
	content: "";
	position: absolute;
	left: 34px;
	bottom: 0;
	width: 0;
	height: 0;
	border-left: 34px solid transparent;
	border-right: 34px solid transparent;
	border-bottom: 34px solid var(--theme_bg_primary);
}

._dcm_title {
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_normal);
	font-size: 18px;
	line-height: 30px;
	letter-spacing: 5%;
	text-transform: uppercase;
	color: var(--theme_color_secondary);
}

._dcm_text {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_normal);
	font-size: var(--text_font_size_xs_special);
	line-height: var(--text_line_height_fixed_xs_special);
	letter-spacing: 1%;
	color: var(--theme_color_secondary);
}

._dcm_section_separator {
	width: 100%;
	height: 1px;
	background-color: var(--theme_border_color);
	margin: 48px 0;
}

._dcm_wrap>div:first-child {
	display: flex;
	flex-direction: column;
	margin-bottom: 25vh;
}

._dcm_scroll_wrap_left {
	margin-top: auto;
}

._dcm_wrap>div:last-child {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	margin-top: 43vh;
}

._dcm_scroll_wrap_right {
	align-self: flex-start;
}

._full_page_heading {
	font-weight: var(--text_font_weight_medium);
	font-size: 32px;
	line-height: 54px;
	letter-spacing: -2%;
	text-align: center;
}

._area_guides_title {
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_normal);
	font-size: 18px;
	line-height: 29px;
	letter-spacing: 4%;
	text-transform: uppercase;
	color: var(--theme_color_secondary);
	text-align: center;
}

._area_guides_image_wrap {
	position: relative;
	width: 100%;
	height: 100%;
	max-height: 328px;
	aspect-ratio: 449 / 328;
	overflow: hidden;
}

._area_guides_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

._area_guides_wrap {
	padding: 0px 182.5px;
}

._area_guides_image_wrap::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	width: 0;
	height: 0;
	border-left: 34px solid transparent;
	border-right: 34px solid transparent;
	border-top: 34px solid var(--theme_bg_primary);
}

._area_guides_image_text {
	position: absolute;
	color: var(--theme_color_secondary);
	inset: 0;
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_medium);
	font-style: Italic;
	font-size: var(--text_font_size_md);
	line-height: 30px;
	letter-spacing: 0%;
	text-align: center;
	padding: 40px 20px;
	background-color: var(--ink_white);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity var(--theme_transition_fast);
}

._area_guides_image_wrap:hover ._area_guides_image_text {
	opacity: 1;
}

/* Reviews page – banner (same as guide_content, so UI can be changed here only) */
._review_content_banner_wrap {
	position: relative;
	overflow: visible;
	background-color: transparent;
}

._review_content_banner_content_wrap {
	display: flex;
	flex-direction: column;
	padding: 24px 32px 64px 32px;
	gap: 32px;
}

._review_content_banner_image_wrap {
	position: relative;
	max-height: 400px;
	width: 250px;
	max-width: 100%;
	height: 100%;
	aspect-ratio: 250 / 484;
	overflow: hidden;
}

._review_content_banner_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

._review_content_banner_title {
	font-weight: var(--text_font_weight_medium);
	font-size: var(--text_font_size_lg);
	line-height: var(--text_line_height_fixed_lg);
	letter-spacing: 0.002em;
	text-align: center;
}

._review_content_banner_text_author {
	color: var(--theme_color_secondary);
}

._review_content_banner_text_wrap {
	max-width: 362px;
	display: flex;
	flex-direction: column;
	gap: 36px;
}

._review_content_banner_carousel {
	max-width: 362px;
}

/* Reviews carousel – arrows _review_content_banner_content_wrap ke andar hi */
._review_content_banner_content_wrap {
	position: relative;
}

._review_content_banner_content_wrap .owl-nav {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	pointer-events: none;
	z-index: 2;
}

._review_content_banner_content_wrap .owl-nav button.owl-prev,
._review_content_banner_content_wrap .owl-nav button.owl-next {
	pointer-events: auto;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: none;
	background-color: var(--theme_color_secondary) !important;
	background-image: none !important;
	-webkit-mask-image: url(../images/arrow_horizontal.svg);
	mask-image: url(../images/arrow_horizontal.svg);
	-webkit-mask-size: 32px 32px;
	mask-size: 32px 32px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	transition: opacity var(--theme_transition_fast);
}

._review_content_banner_content_wrap .owl-nav button.owl-prev {
	transform: scaleX(-1);
	translate: -3vw;
}

._review_content_banner_content_wrap .owl-nav button.owl-next {
	translate: 3vw;
}

._review_content_banner_content_wrap .owl-nav button.owl-prev:hover,
._review_content_banner_content_wrap .owl-nav button.owl-next:hover {
	opacity: 0.8;
}

._review_content_banner_content_wrap .owl-nav button.owl-prev span,
._review_content_banner_content_wrap .owl-nav button.owl-next span {
	display: none;
}

._reviews_section_separator {
	width: 372px;
	height: 1px;
	background-color: var(--theme_border_color);
	margin: 48px auto;
}

._reviews_content_wrap {
	max-width: 787px;
	margin: 0 auto;
}

._reviews_wrap {
	gap: 64px;
}

._full_page_heading_xl {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_medium);
	font-size: 44px;
	line-height: 74px;
	letter-spacing: 2%;
	text-align: center;
	color: var(--theme_color_primary);
	position: relative;
}

._full_page_sub_heading {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_medium);
	font-size: var(--text_font_size_lg);
	line-height: var(--text_line_height_fixed_lg);
	letter-spacing: 2%;
	text-align: center;
}

._sourcebook_content_banner_wrap {
	max-width: 966.58px;
	margin: 0 auto;
}

._sourcebook_image_wrap {
	position: relative;
	width: 100%;
	height: 100%;
	max-height: 324px;
	max-width: 474.58px;
	/* aspect-ratio: 474.58 / 412; */
}

._sourcebook_image {
	max-height: 100%;
	max-width: 100%;
	object-fit: cover;
	object-position: center;
}

._home_sourcebook_content_text {
	/* font-size: 17px; */
	font-weight: var(--text_font_weight_normal);
	max-width: 669px;
	margin: 0 auto;
}

._sourcebook_content_text_wrap {
	max-width: 450px;
}

._sourcebook_card_select .select2-selection.select2-selection--single {
	min-width: 303px !important;
	color: var(--theme_color_secondary);
}

/* Sourcebook cards – area-guides style (sequence: after sourcebook banner) */
._sourcebook_card_wrap {
	max-width: 947px;
	margin: 0 auto;
}

._sourcebook_card_content_sub_wrap {
	max-width: 305px;
}

._sourcebook_card_categories_text {
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_normal);
	font-size: var(--text_font_size_sm);
	line-height: 25px;
	color: var(--theme_color_primary);
	text-align: center;
	margin: 0;
}

._sourcebook_card_title {
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_normal);
	font-size: 18px;
	line-height: 30px;
	letter-spacing: 5%;
	text-transform: uppercase;
	color: var(--theme_color_secondary);
	text-align: center;
	margin: 0;
}

._sourcebook_card_image_wrap {
	position: relative;
	width: 100%;
	height: 100%;
	max-height: 224px;
	aspect-ratio: 305 / 224;
	overflow: hidden;
}

._sourcebook_card_image_wrap::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	width: 0;
	height: 0;
	border-left: 24px solid transparent;
	border-right: 24px solid transparent;
	border-top: 24px solid var(--theme_bg_primary);
}

._sourcebook_card_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

._sourcebook_card_more_text {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_normal);
	font-style: italic;
	font-size: 25px;
	line-height: 66px;
	letter-spacing: 0%;
	text-align: center;
	color: var(--theme_color_secondary);
}

#sourcebook_card_more_button ._section_inner {
	padding-top: 74px;
}

#sourcebook_card_more ._section_inner::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -44px;
	width: 0;
	height: 0;
	border-left: 44px solid transparent;
	border-right: 44px solid transparent;
	border-top: 44px solid var(--ink_white);
}

._sourcebook_home_carousel .owl-dots {
	margin-top: 16px;
	text-align: center;
}

._sourcebook_home_carousel .owl-dots button.owl-dot {
	background: var(--theme_color_primary);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	margin: 0 4px;
	transition: opacity 0.2s;
}

._sourcebook_home_carousel .owl-dots button.owl-dot.active {
	background: var(--theme_color_secondary);
}

/* Inspiration gallery page */
._inspiration_gallery_wrap {
	display: flex;
	flex-direction: row;
	align-items: start;
	gap: 4rem;
}

._inspiration_gallery_sidebar {
	flex: 0 0 auto;
}

._inspiration_gallery_label {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_normal);
	font-size: 46px;
	line-height: 46px;
	letter-spacing: 1%;
	color: var(--theme_color_primary);
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

._inspiration_gallery_main {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

._inspiration_gallery_header {
	font-family: var(--font_secondary);
	font-size: var(--text_font_size_base);
	color: var(--theme_color_secondary);
}

._inspiration_gallery_counter {
	font-family: var(--font_secondary);
	font-size: var(--text_font_size_base);
	color: var(--theme_color_secondary);
}

._inspiration_gallery_carousel {
	width: 100%;
	max-width: 100%;
	height: 100%;
	position: relative;
	overflow: visible;
}

._inspiration_gallery_carousel.owl-carousel .owl-stage-outer {
	max-width: 100%;
}

._inspiration_gallery_carousel.owl-carousel .owl-item {
	max-width: 100%;
}

/* Owl prev/next: invisible side strips so design arrows stay as-is; centre stays swipeable */
._inspiration_gallery_carousel .owl-nav {
	position: relative;
	inset: 0;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin: 0;
	padding: 0;
	z-index: calc(var(--z_modal) + 1);
}

._inspiration_gallery_carousel .owl-nav button.owl-prev,
._inspiration_gallery_carousel .owl-nav button.owl-next {
	position: absolute;
	cursor:pointer;
	bottom: 0%;
	z-index: var(--z_modal);
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background-color: var(--theme_color_primary);
	-webkit-mask: url(../images/arrow_down.svg) center/contain no-repeat;
	mask: url(../images/arrow_down.svg) center/contain no-repeat;
}

._inspiration_gallery_carousel .owl-nav button.owl-prev {
	left: 0;
	transform: translateX(-400%) rotate(-90deg);
}

._inspiration_gallery_carousel .owl-nav button.owl-next {
	right: 0;
	transform: translateX(400%) rotate(90deg);
}
._inspiration_gallery_slide {
	width: 100%;
	max-width: 100%;
	height: min(80vh, 688px);
	max-height: min(80vh, 688px);
	overflow: hidden;
	box-sizing: border-box;
}

._inspiration_gallery_image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: cover;
	object-position: center;
	box-sizing: border-box;
}

._inspiration_gallery_footer {
	margin-top: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
}

._inspiration_gallery_text {
	font-family: var(--font_base);
	font-size: var(--text_font_size_lg);
	line-height: 32px;
	position: relative;
	letter-spacing: 3%;
	font-style: italic;
}

._inspiration_gallery_footer_button {
	padding: 11.5px 15px;
}

._review_post_content {
	max-width: 592px;
}

._review_post_wrap {
	gap: 48px;
}

._review_post_star {
	width: 100px;
	aspect-ratio: 1 / 1;
	background-color: var(--ink_white);
	border: 1px solid var(--theme_border_color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_bold);
	font-size: var(--text_font_size_sm);
	color: var(--theme_color_secondary);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: default;
	clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
	transition: background-color var(--theme_transition_fast), color var(--theme_transition_fast), border-color var(--theme_transition_fast);
}

._review_post_star:hover,
._review_post_star:focus {
	background-color: var(--theme_color_secondary);
	border-color: var(--theme_color_secondary);
	color: var(--ink_white);
}

._review_post_star:focus {
	outline: none;
}

._review_post_image_wrap {
	display: flex;
	justify-content: flex-end;
}

._review_post_image {
	width: auto;
	height: 448px;
	display: block;
	object-fit: cover;
	object-position: center;
}

._review_post_logos ._review_logo_google {
	max-height: 47px;
}

._review_post_logos ._review_logo_facebook {
	max-height: 27px;
}

._review_logo_wrap {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Sourcebook profile page */
._sourcebook_profile_banner_wrap {
	max-width: 856px;
	margin: 0 auto;
}

._sourcebook_profile_banner_image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center;
}

._sourcebook_profile_content {
	max-width: 856px;
	margin: 0 auto;
}

._sourcebook_profile_quote_wrap {
	margin: 3rem 0;
	padding: 2rem 0;
	border-top: 1px solid var(--theme_border_color);
	border-bottom: 1px solid var(--theme_border_color);
	display: flex;
	justify-content: center;
}

._sourcebook_profile_quote {
	max-width: 640px;
	font-family: var(--font_base);
	font-style: italic;
	font-size: var(--text_font_size_lg);
	line-height: var(--text_line_height_fixed_lg);
	text-align: center;
}

._sourcebook_profile_title {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_medium);
	font-size: 48px;
	line-height: 80px;
	letter-spacing: -2%;
	color: var(--theme_text_secondary);
}

/* Property list – mobile filter modal (sale) */
._list_filter_toggle {
	display: none;
	border: none;
	background-color: var(--theme_color_primary);
	color: var(--ink_white);
	font-family: var(--font_secondary);
	font-size: var(--text_font_size_sm);
	font-weight: var(--text_font_weight_bold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 10px 16px;
	cursor: pointer;
}

._list_filter_modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	display: none;
	align-items: center;
	justify-content: center;
	z-index: var(--z_modal);
}

._list_filter_modal._list_filter_modal_active {
	display: flex;
}

._list_filter_modal_inner {
	background-color: var(--theme_color_primary);
	color: var(--ink_white);
	width: 100%;
	height: 100%;
	padding: 16px 16px 56px 16px;
	display: flex;
	flex-direction: column;
}

._list_filter_modal_header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
}

._list_filter_modal_title {
	font-family: var(--font_secondary);
	font-size: var(--text_font_size_sm);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0;
}

._list_filter_close {
	border: none;
	background: transparent;
	color: var(--ink_white);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}

._list_filter_modal_body {
	flex: 1;
	margin-top: 0;
}

._tenant_info_section_wrap ._section_content {
	max-width: 520px;
}

/* area guide detail */
._area_guide_detail_banner_image_wrap {
	position: relative;
	width: 100%;
}

._area_guide_detail_banner_image {
	max-height: 100%;
	max-width: 100%;
	object-fit: cover;
	object-position: center;
}

._area_guide_detail_banner_row {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

._area_guide_detail_nav {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 260px;
	border-radius: 999px;
	text-decoration: none;
	color: var(--theme_color_primary);
	writing-mode: vertical-lr;
	text-orientation: mixed;
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_bold);
	font-size: var(--text_font_size_sm);
	gap: 16px;
	top: 50%;
}

._area_guide_detail_nav_prev {
	left: 0;
	transform: translate(-200%, -50%);
}

._area_guide_detail_nav_next {
	right: 0;
	transform: translate(200%, -50%);
}

._area_guide_detail_nav_arrow {
	width: 18px;
	height: 18px;
	background-color: var(--theme_color_primary);
	-webkit-mask: url(../images/arrow_down.svg) center/contain no-repeat;
	mask: url(../images/arrow_down.svg) center/contain no-repeat;
}

._area_guide_detail_nav_prev ._area_guide_detail_nav_arrow {
	transform: rotate(-90deg);
}

._area_guide_detail_nav_next ._area_guide_detail_nav_arrow {
	transform: rotate(90deg);
}

._area_guide_detail_nav_text {
	transform: rotate(180deg);
}

._area_guide_detail_title {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_medium);
	font-size: 48px;
	line-height: 81px;
	letter-spacing: 1%;
	color: var(--theme_color_primary);
}

._area_guide_detail_subtitle {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_medium);
	font-size: 24px;
	line-height: 40px;
	letter-spacing: 2%;
}

._area_guide_detail_title_wrap {
	padding: 27px 0px;
}

._area_guide_detail_content_wrap {
	max-width: 840px;
	margin: 0 auto;
}

._area_guide_detail_quote_wrap {
	border-top: 1px solid var(--theme_border_color);
	border-bottom: 1px solid var(--theme_border_color);
	padding: 64px 60px;
}

._area_guide_detail_quote {
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_normal);
	font-style: italic;
	font-size: 32px;
	line-height: 52px;
	text-align: center;
	color: var(--theme_color_secondary);
}

._area_guide_detail_images_wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 34px;
}

._area_guide_detail_images_wrap_inner {
	padding: 64px 0px 0px 0px;
}

._area_guide_detail_related_areas_list {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 32px;
}

._area_guide_detail_related_areas_list li {
	font-family: var(--font_secondary);
	font-weight: var(--text_font_weight_bold);
	font-size: var(--text_font_size_sm);
	line-height: 100%;
	letter-spacing: 3%;
}

._area_guide_detail_related_areas_list li a {
	color: var(--theme_color_secondary);
	position: relative;
}

._area_guide_detail_related_areas_list li a._agd_selected::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 100%;
	margin-bottom: 4px;
	transform: translateX(-50%) rotate(0deg);
	width: 18px;
	height: 18px;
	background-color: var(--theme_color_secondary);
	-webkit-mask: url(../images/arrow_down.svg) center/contain no-repeat;
	mask: url(../images/arrow_down.svg) center/contain no-repeat;
}