/**
 * ===========================================================================
 * 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_base);
	   font-weight: var(--text_font_weight_normal);
	   line-height: var(--text_line_height_base);
	   background-color: var(--ink_white);
	   color: var(--theme_text_primary);
   }
   
   ::-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_primary);
	   background-color: var(--theme_color_accent);
	   filter: invert(1);
   }
   
   p {
	   line-height: var(--text_line_height_base);
	   margin-bottom: 0px;
	   font-size: var(--text_font_size_base);
	   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%;
   }
   
   ._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;
   }
   
   ._section_full {
	   padding-left: 0;
	   padding-right: 0;
   }
   
   ._section_horizontal_padding {
	   padding-left: var(--theme_horizontal_padding);
	   padding-right: var(--theme_horizontal_padding);
   }
   
   ._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_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);
   }
   
   .brand_logo_img {
	   max-width: 186px;
   }
   
   ._primary_heading {
	   font-size: var(--text_font_size_lg);
	   font-weight: var(--text_font_weight_medium);
   }
   
   /* -----------------------
	   color: var(--theme_color_secondary);
	   margin-bottom: 24px;
	  HEADER MENU
	  ----------------------- */
   ._header {
	   background: var(--theme_bg_primary);
	   padding: 48px 0;
	   position: relative;
	   z-index: var(--z_header);
   }
   
   ._header_nav {
	   display: flex;
	   align-items: center;
	   justify-content: space-between;
	   width: 100%;
   }
   
   ._header_nav_left {
	   display: flex;
	   align-items: center;
	   gap: 4rem;
	   flex: 1;
   }
   
   ._header_nav_center {
	   display: flex;
	   align-items: center;
	   justify-content: center;
	   flex: 1;
   }
   
   ._header_nav_right {
	   display: flex;
	   align-items: center;
	   justify-content: flex-end;
	   flex: 1;
   }
   
   ._header_link {
	   color: var(--theme_color_secondary);
	   font-family: var(--font_secondary);
	   font-size: var(--text_font_size_sm);
	   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;
	   display: flex;
	   flex-direction: column;
	   gap: 0.70rem;
	   align-items: center;
	   justify-content: center;
	   transition: opacity var(--theme_transition_fast);
   }
   
   ._header_menu_toggle:hover {
	   opacity: 0.7;
   }
   
   ._header_menu_toggle span {
	   display: block;
	   width: 20.04px;
	   height: 2px;
	   background: var(--theme_color_secondary);
	   transition: all var(--theme_transition_fast);
   }
   
   /* -----------------------
	  MENU OVERLAY
	  ----------------------- */
   ._menu_overlay {
	   position: fixed;
	   top: 0;
	   left: 0;
	   width: 100%;
	   height: 100%;
	   background: var(--ink_white);
	   z-index: var(--z_modal);
	   opacity: 0;
	   visibility: hidden;
	   transition: opacity var(--theme_transition_fast), visibility var(--theme_transition_fast);
	   overflow-y: auto;
	   padding: 16px;
   }
   
   ._menu_overlay._menu_overlay_active {
	   opacity: 1;
	   visibility: visible;
   }
   
   ._menu_modal_wrap {
	   width: 100%;
	   height: 100%;
	   background: var(--theme_color_primary);
	   overflow-x: hidden;
	   -webkit-overflow-scrolling: touch;
   }
   
   ._menu_modal {
	   background: var(--theme_color_primary);
	   max-width: 1440px;
	   margin: 0 auto;
	   padding: 50px 80px;
	   position: relative;
   }
   
   ._menu_modal_header {
	   display: flex;
	   justify-content: center;
	   align-items: center;
	   margin-bottom: 20vh;
	   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: 209px;
	   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 {
	   color: var(--ink_white);
   }
   
   ._menu_modal_columns {
	   display: grid;
	   grid-template-columns: repeat(4, 1fr);
	   gap: 3rem;
	   margin-bottom: 3rem;
   }
   
   ._menu_column_title {
	   color: var(--ink_white);
	   font-family: var(--font_secondary);
	   font-weight: var(--text_font_weight_normal);
	   font-size: 22px;
	   line-height: var(--text_line_height_base);
	   letter-spacing: 0.02em;
	   text-transform: uppercase;
   }
   
   ._menu_list {
	   list-style: none;
	   padding: 0;
	   margin: 0;
   }
   
   ._menu_list li {
	   margin-bottom: 8.85px;
   }
   
   ._menu_link {
	   color: #F8F3F3;
	   font-family: var(--font_base);
	   font-weight: var(--text_font_weight_normal);
	   font-style: normal;
	   font-size: var(--text_font_size_md);
	   line-height: 163%;
	   letter-spacing: 0.01em;
	   /* 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: 2rem;
	   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;
	   gap: 175px;
	   padding: 48px var(--theme_horizontal_padding) 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 {
	   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);
	   font-size: var(--text_font_size_sm);
	   font-weight: var(--text_font_weight_normal);
   }
   
   ._contact_form {
	   display: flex;
	   flex-direction: column;
	   gap: var(--spacing_gap_lg);
	   text-align: left;
   }
   
   ._contact_field {
	   display: flex;
	   flex-direction: column;
	   gap: var(--spacing_gap_sm);
   }
   
   ._contact_label {
	   color: var(--theme_color_primary);
	   font-family: var(--font_secondary);
	   font-size: var(--text_font_size_xs);
	   font-weight: var(--text_font_weight_normal);
	   text-transform: uppercase;
	   letter-spacing: 0.02em;
   }
   
   ._contact_input {
	   width: 100%;
	   height: 48px;
	   padding: 0 var(--spacing_gap_md);
	   background: var(--ink_white);
	   border: none;
	   color: var(--ink_black);
	   font-family: var(--font_base);
	   font-size: var(--text_font_size_base);
	   box-sizing: border-box;
   }
   
   ._contact_submit_btn {
	   padding: 0.75rem 2rem;
	   background: var(--theme_color_secondary);
	   color: var(--ink_white);
	   font-family: var(--font_secondary);
	   font-size: var(--text_font_size_base);
	   font-weight: var(--text_font_weight_normal);
	   text-transform: uppercase;
	   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;
   }
   
   ._hero_banner_image_wrap {
	   position: relative;
	   width: 100%;
	   height: 100%;
   }
   
   ._hero_banner_image {
	   position: relative;
	   width: 100%;
	   height: 100%;
	   max-height: 688px;
	   object-fit: cover;
	   object-position: center;
   }
   
   ._hero_banner_content {
	   position: absolute;
	   bottom: 60px;
	   width: 100%;
   }
   
   ._hero_banner_content h2 {
	   color: var(--ink_white);
	   font-size: var(--text_font_size_lg);
	   font-weight: var(--text_font_weight_medium);
	   letter-spacing: 2px;
	   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_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_base);
	   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: 33.5px 33px;
	   border-radius: 0px;
	   cursor: pointer;
	   outline: none;
	   border: none;
	   font-family: var(--font_secondary);
   }
   
   
   ._btn_primary_sm {
	   position: relative;
	   font-size: var(--text_font_size_sm);
	   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_secondary_sm {
	   position: relative;
	   font-size: var(--text_font_size_sm);
	   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);
   }
   
   ._theme_divider {
	   width: 100%;
	   height: 2px;
	   background-color: var(--theme_border_color);
   }
   
   ._about_content_col_wrap h2 {
	   font-size: var(--text_font_size_base);
	   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_base);
	   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: 4rem;
   }
   
   ._property_cards_wrap ._property_card {
	   position: relative;
	   width: 100%;
	   height: 100%;
   }
   
   ._property_cards_wrap ._property_card ._property_card_image_wrap {
	   position: relative;
   }
   
   ._property_cards_wrap ._property_card ._property_card_image {
	   position: relative;
	   width: 100%;
	   max-width: 395px;
	   height: 100%;
	   max-height: 283px;
	   object-fit: cover;
	   object-position: center;
   }
   
   ._property_card ._property_card_title {
	   margin-top: 20px;
	   font-size: var(--text_font_size_base);
	   font-weight: var(--text_font_weight_normal);
	   color: var(--ink_black);
	   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(--ink_black);
	   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_nold);
	   color: var(--ink_white);
	   padding: 6px 14px;
	   border-radius: 0px;
   }
   
   ._section_title {
	   margin-bottom: 64px;
   }
   
   ._client_review ._client_review_text {
	   font-size: var(--text_font_size_base);
	   font-weight: var(--text_font_weight_medium);
	   color: var(--ink_black);
	   margin-bottom: 0px;
	   line-height: var(--text_line_height_base);
	   text-align: center;
	   letter-spacing: 0;
   }
   
   ._client_review ._client_review_author {
	   font-size: 14px;
	   font-weight: var(--text_font_weight_medium);
	   color: var(--ink_black);
	   margin-top: 28px;
	   margin-bottom: 0px;
	   line-height: var(--text_line_height_base);
	   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: 48px;
	   width: auto;
   }
   
   ._footer_copyright_wrap {
	   display: flex;
	   justify-content: space-between;
	   align-items: center;
	   font-family: var(--font_secondary);
   }
   
   ._footer_copyright_text {
	   font-size: var(--text_font_size_sm);
	   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: 700px;
   }
   
   ._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_menu_wrap ._footer_menu_title {
	   font-size: var(--text_font_size_base);
	   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_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_base);
	   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: 14px
   }
   
   ._half_page_image_wrap {
	   position: relative;
	   width: 100%;
   }
   
   ._half_page_image {
	   position: relative;
	   width: 100%;
	   max-width: 621px;
	   height: 100%;
	   max-height: 964px;
	   object-fit: cover;
	   object-position: center;
   }
   
   ._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: 18px;
   }
   
   ._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);
	   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_base);
	   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_xs);
	   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;
	   max-width: 358px;
	   background: transparent;
   }
   
   ._property_detail_wrap {
	   position: relative;
	   height: 72vh;
	   overflow: hidden;
   }
   ._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(--theme_bg_primary);
   }
   ._property_detail_slide img {
	   max-width: 100%;
	   max-height: 100%;
	   min-height: 695px;
	   width: auto;
	   height: auto;
	   display: block;
	   object-fit: contain;
   }
   ._property_detail_carousel {
	   position: relative;
	   height: 100%;
	   overflow: hidden;
	   --_bar_h: 64px;
   }
   ._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;
	   bottom: 0;
	   left: 0;
	   right: 0;
	   height: var(--_bar_h);
	   margin: 0;
	   padding: 0 8px;
	   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/slider_left_arrow.svg) center/contain no-repeat !important;
   }
   ._property_detail_carousel .owl-nav button.owl-next {
	   background-image: url(../images/slider_right_arrow.svg) !important;
   }
   ._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;
   }