/* ============================================================================
   Point Four - theme stylesheet
   ----------------------------------------------------------------------------
   PART 1 is the site's original Customizer "Additional CSS". WordPress stores
   that per theme, so activating the child theme left it behind on WpResidence
   and the home-page search panel lost its styling. Recovered and moved here so
   it lives in a file and cannot be stranded by a theme switch again.

   PART 2 is the Point Four design system. It comes second on purpose: it needs
   to win against Part 1 on equal specificity.
   ========================================================================= */

/* ---------------------------------------------------------------- PART 1 */

/* Fix: sections stuck invisible when scroll animations fail */
.wpb_animate_when_almost_visible { opacity: 1 !important; }
.elementor-invisible { visibility: visible !important; opacity: 1 !important; }

/* Brand red accents (matches logo #E31E25) */
.wpb_wrapper h2 { color: #E31E25; }
.wpb_wrapper h3 { color: #E31E25; }
/* v51 Claude: removed body red border (stacked with header keyline) */

/* Hide redundant County/City filters on homepage listings */
#a_filter_county, ul[aria-labelledby="a_filter_county"], #a_filter_cities, ul[aria-labelledby="a_filter_cities"] { display: none !important; }

/* === P4 PRO SKIN (auto) START === */
html.js body .contactformwrapper:not(#_){border-color:#e5e7eb !important}
html.js body .form-control:not(#_){border-color:#e5e7eb !important}
html.js body .wpresidence_dropdown .dropdown-toggle:not(#_){border-color:#e5e7eb !important}
html.js body .wpresidence_dropdown .dropdown-menu:not(#_){border-color:#e5e7eb !important}
html.js body input[type="checkbox"]:not(#_){border-color:#e5e7eb !important}
html.js body .adv_listing_filters_head:not(#_),html.js body .listing_filters:not(#_),html.js body .listing_filters_head:not(#_),html.js body .listing_filters_head_directory:not(#_){border-color:#e5e7eb !important}
html.js body .share_list:not(#_){border-color:#e5e7eb !important}
html.js body .pagination > li > a:not(#_),html.js body .pagination > li > span:not(#_){border-color:#e5e7eb !important}
html.js body .pagination > .active > a:not(#_),html.js body .pagination > .active > a:focus:not(#_),html.js body .pagination > .active > a:hover:not(#_),html.js body .pagination > .active > span:not(#_),html.js body .pagination > .active > span:focus:not(#_),html.js body .pagination > .active > span:hover:not(#_){border-color:#e5e7eb !important}
html.js body #mobilewrapper_links .mobilemenu-close:not(#_){border-color:#e5e7eb !important}
html.js body .elementor-27915 .elementor-element.elementor-element-4a7e3a33 .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper):not(#_){border-color:#e5e7eb !important}
html.js body .property_listing.property_unit_type3:not(#_){border-color:#e5e7eb !important}
html.js body .property_unit_type3 .property_listing_details:not(#_){background-color:#ffffff !important}
html.js body .p4-area-stats:not(#_){background-color:#ffffff !important}
html.js body .p4-area-stats .p4-stat:not(#_){border-color:#e5e7eb !important}
html.js body .property_listing_details:not(#_),html.js body .property_unit_type3 .property_listing_details:not(#_){border-color:#e5e7eb !important}
html.js body .property_listing:not(#_),html.js body .property_unit_type3:not(#_){border-color:#e5e7eb !important}
html.js body .elementor-element-d21c90c .elementor-button:not(#_),html.js body .elementor-element-d9ec8ae .elementor-button:not(#_){border-color:#e5e7eb !important}
html.js body.single-estate_property .property-page-overview-details-wrapper:not(#_){border-color:#e5e7eb !important}
html.js body .property_listing:not(#_){border-color:#e5e7eb !important}
html.js body.single-estate_property .single_property_labels .property_title_label:not(.actioncat):not(#_){background-color:#ffffff !important}
html.js body .p4-kf:not(#_){border-color:#e5e7eb !important}
html.js body #adv_search_form:not(#_){border-color:#e5e7eb !important}
html.js body .single-estate_property .agent_unit_sidebar:not(#_),html.js body .single-estate_property .mortgage_calculator_li:not(#_){border-color:#e5e7eb !important}
html.js body .single-estate_property .mortgage_calculator_li input:not([type="submit"]):not([type="button"]):not(#_){border-color:#e5e7eb !important}
html.js body .wpestate_contact_form_parent:not(#_){border-color:#e5e7eb !important}
html.js body .wpestate_contact_form_parent input[type="text"]:not(#_),html.js body .wpestate_contact_form_parent input[type="email"]:not(#_),html.js body .wpestate_contact_form_parent input[type="tel"]:not(#_),html.js body .wpestate_contact_form_parent textarea:not(#_){border-color:#e5e7eb !important}
html.js body .home.p4-home-refresh:not(#_){background-color:#ffffff !important}
html.js body.home.p4-home-refresh a.p4hb-btn[href*="properties-forrent"]:not(#_){border-color:#e5e7eb !important}
html.js body.home.p4-home-refresh a.p4hb-btn[href*="properties-forrent"]:hover:not(#_),html.js body.home.p4-home-refresh a.p4hb-btn[href*="properties-forrent"]:focus-visible:not(#_){background-color:#ffffff !important;border-color:#e5e7eb !important}
html.js body.home.p4-home-refresh .elementor-element-0cfe812:not(#_),html.js body.home.p4-home-refresh #p4hm-sec:not(#_),html.js body.home.p4-home-refresh .p4-reviews:not(#_),html.js body.home.p4-home-refresh #p4-contact-2col .p4c-form:not(#_){background-color:#ffffff !important}
html.js body.single-estate_property.p4-property-premium #wpestate_single_agent_details_wrapper:not(#_){border-color:#e5e7eb !important}
html.js body #colophon .p4-social-link:not(#_){border-color:#e5e7eb !important}
html.js body #colophon .p4-social-link:hover:not(#_),html.js body #colophon .p4-social-link:focus-visible:not(#_){border-color:#e5e7eb !important}
html.js body.p4-mobile-search-ready #search_wrapper:not(#_){border-color:#e5e7eb !important}
html.js body.p4-mobile-search-ready #search_wrapper .btn:not(#_),html.js body.p4-mobile-search-ready #search_wrapper .form-control:not(#_),html.js body.p4-mobile-search-ready #search_wrapper input:not(#_),html.js body.p4-mobile-search-ready #search_wrapper select:not(#_){border-color:#e5e7eb !important}
html.js body.home .p4hb-btn:not(#_){border-color:#e5e7eb !important}
html.js body:not(.wp-admin) .p4-premium-card .listing-unit-img-wrapper:not(#_){background-color:#ffffff !important}
html.js body .p4-hero-arrow:not(#_){border-color:#e5e7eb !important}
html.js body .p4-hero-arrow:hover:not(#_),html.js body .p4-hero-arrow:focus-visible:not(#_){border-color:#e5e7eb !important}
html.js body .p4-gallery-tools a:not(#_){border-color:#e5e7eb !important}
html.js body .p4-property-call:not(#_){border-color:#e5e7eb !important}
html.js body:not(.wp-admin) .p4-premium-card .p4c-heart:not(#_){border-color:#e5e7eb !important}
html.js body .single-estate_property.p4-property-premium #wpestate_single_agent_details_wrapper:not(#_){background-color:#ffffff !important;border-color:#e5e7eb !important}
html.js body .single-estate_property.p4-property-premium #wpestate_single_agent_details_wrapper .wpestate_single_agent_details_header_wrapper:not(#_){background-color:#ffffff !important}
html.js body .single-estate_property.p4-property-premium #wpestate_single_agent_details_wrapper .contact_form_flex_wrapper:not(#_){background-color:#ffffff !important}
html.js body .single-estate_property.p4-property-premium #wpestate_single_agent_details_wrapper input[type="text"]:not(#_),html.js body .single-estate_property.p4-property-premium #wpestate_single_agent_details_wrapper textarea:not(#_){border-color:#e5e7eb !important}
html.js body .p4-hero-valuation:hover:not(#_),html.js body .p4-hero-valuation:focus-visible:not(#_){border-color:#e5e7eb !important}
html.js body.home.p4-home-refresh .elementor-element-0cfe812:not(#_){background-color:#ffffff !important}
html.js body.home.p4-home-refresh .p4hm-wrap:not(#_){border-color:#e5e7eb !important}
html.js body .p4-area-links a:not(#_){border-color:#e5e7eb !important}
html.js body.home.p4-home-refresh .p4s-card:not(#_){border-color:#e5e7eb !important}
html.js body.home.p4-home-refresh .p4-reviews:not(#_){background-color:#ffffff !important}
html.js body.home.p4-home-refresh .p4rv-card:not(#_){border-color:#e5e7eb !important}
html.js body.home.p4-home-refresh #p4-contact-2col:not(#_){border-color:#e5e7eb !important}
html.js body.home.p4-home-refresh .elementor-element-3b760602:not(#_){background-color:#ffffff !important}
html.js body.home.p4-home-refresh .p4hb-btn:not(#_),html.js body.home.p4-home-refresh a.p4hb-btn[href*="properties-forsale"]:not(#_),html.js body.home.p4-home-refresh a.p4hb-btn[href*="properties-forrent"]:not(#_){border-color:#e5e7eb !important}
html.js body .home a.p4hb-btn:not(#_):not(#_){border-color:#e5e7eb !important}
html.js body .home a.p4hb-btn:not(#_):hover:not(#_){border-color:#e5e7eb !important}
html.js body .agent_unit_sidebar:not(#_),html.js body .mortgage_calculator_li:not(#_){border-color:#e5e7eb !important}
html.js body .mortgage_calculator_li .form-control:not(#_){border-color:#e5e7eb !important}
html.js body #morg_results:not(#_){border-color:#e5e7eb !important}
html.js body #wpestate_single_agent_details_wrapper:not(#_){border-color:#e5e7eb !important}
html.js body #wpestate_single_agent_details_wrapper .form-control:not(#_),html.js body #wpestate_single_agent_details_wrapper .form-select:not(#_){border-color:#e5e7eb !important}
html.js body #wpestate_single_agent_details_wrapper .realtor_call:not(#_){border-color:#e5e7eb !important}
html.js body #wpestate_single_agent_details_wrapper .realtor_call:hover:not(#_){background-color:#ffffff !important}
html.js body .elementor-element-d21c90c .elementor-button:not(#_),html.js body .elementor-element-d9ec8ae .elementor-button:not(#_){border-color:#e5e7eb !important}
html.js body .realtor_call:not(#_),html.js body .wpresidence_button.wpresidence_button_inverse:not(#_){border-color:#e5e7eb !important}
html.js body .realtor_call:hover:not(#_),html.js body .wpresidence_button.wpresidence_button_inverse:hover:not(#_){background-color:#ffffff !important}
html.js body input[type="text"]:not(#_),html.js body input[type="email"]:not(#_),html.js body input[type="tel"]:not(#_),html.js body input[type="number"]:not(#_),html.js body input[type="password"]:not(#_),html.js body textarea:not(#_){border-color:#e5e7eb !important}
html.js body #primary .mortgage_calculator_li:not(#_),html.js body .wpresidence-content-container #primary .mortgage_calculator_li:not(#_){border-color:#e5e7eb !important}
html.js body #primary .mortgage_calculator_li .form-control:not(#_){border-color:#e5e7eb !important}
html.js body #primary .mortgage_calculator_li #morg_results:not(#_){border-color:#e5e7eb !important}
html.js body .elementor-element-c7ef626:not(#_){background-color:#ffffff !important}
html.js body .elementor-element-c7ef626 .elementor-widget-wrap.elementor-element-populated:not(#_){border-color:#e5e7eb !important}
html.js body #p4-about .p4a-stats:not(#_){border-color:#e5e7eb !important}
html.js body #p4-about .p4a-card:not(#_){border-color:#e5e7eb !important}
html.js body #p4-about .p4a-card .ic:not(#_){background-color:#ffffff !important}
html.js body .p4-fees .p4f-panel:not(#_){border-color:#e5e7eb !important}
html.js body .p4-fees .p4f-rate .badge:not(#_){border-color:#e5e7eb !important}
html.js body .p4-fees .pt i:not(#_){background-color:#ffffff !important}
html.js body.page-id-31425 a.p4-area-chip:not(#_){border-color:#e5e7eb !important}
html.js body.page-id-31425 .p4-region-h .cnt:not(#_){background-color:#ffffff !important}
html.js body #p4-visit .p4v-inner:not(#_){border-color:#e5e7eb !important}
html.js body #p4-visit .p4v-meta .ic:not(#_){background-color:#ffffff !important}
html.js body #p4-services .p4s-card:not(#_){border-color:#e5e7eb !important}
html.js body #p4-contact-2col:not(#_){border-color:#e5e7eb !important}
html.js body .p4hb-btn:not(#_){border-color:#e5e7eb !important}
html.js body .p4hb-btn:hover:not(#_){border-color:#e5e7eb !important}
html.js body .p4-reviews:not(#_){background-color:#ffffff !important}
html.js body .p4rv-card:not(#_){border-color:#e5e7eb !important}
html.js body .p4g-btn-alt:not(#_){border-color:#e5e7eb !important}
html.js body .p4news-card:not(#_){border-color:#e5e7eb !important}
html.js body .p4news-card:hover:not(#_){border-color:#e5e7eb !important}
html.js body .p4-google-badge a:not(#_){border-color:#e5e7eb !important}
html.js body .p4-google-badge a:hover:not(#_){border-color:#e5e7eb !important}
html.js body #menu-main-menu ul.sub-menu:not(#_),html.js body .main_menu ul.sub-menu:not(#_),html.js body header ul.sub-menu:not(#_),html.js body ul.sub-menu:not(#_){border-color:#e5e7eb !important}
html.js body .p4vt-prog span:not(#_){background-color:#ffffff !important}
html.js body .p4vt-opt:not(#_){background-color:#ffffff !important;border-color:#e5e7eb !important}
html.js body .p4vt-in:not(#_){background-color:#ffffff !important;border-color:#e5e7eb !important}
html.js body .p4hm-sec:not(#_){background-color:#ffffff !important}
html.js body #p4hm-map:not(#_){background-color:#ffffff !important}
html.js body .p4hm-legend i:not(#_){border-color:#e5e7eb !important}
html.js body .p4hm-pop img:not(#_){background-color:#ffffff !important}
html.js body #p4hm-map .leaflet-control-zoom a:hover:not(#_){background-color:#ffffff !important}
html.js body .p4px a:not(#_){border-color:#e5e7eb !important}
html.js body .home .elementor-element-0cfe812:not(#_){background-color:#ffffff !important}
html.js body[class*="property_list"] .wpresidence_page_content_wrapper:not(#_){background-color:#ffffff !important}
html.js body .listing-unit-img-wrapper:not(#_),html.js body .p4sx-photo:not(#_){background-color:#ffffff !important}
html.js body .p4pd-photo:not(#_){background-color:#ffffff !important}
html.js body .elementor-element-c7ef626 > .elementor-background-overlay:not(#_){background-color:#ffffff !important}
html.js body .elementor-29436 .elementor-element.elementor-element-21af2c3a .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper):not(#_){border-color:#e5e7eb !important}
html.js body .wpestate-beds-baths-popoup-component .wpestate-beds-baths-popoup-wrapper .wp_estate_baths_component_item:not(#_),html.js body .wpestate-beds-baths-popoup-component .wpestate-beds-baths-popoup-wrapper .wp_estate_beds_component_item:not(#_){border-color:#e5e7eb !important}
html.js body .btn.wpestate-multiselect-custom-style:not(#_),html.js body .wpestate-multiselect-custom-style:not(#_){border-color:#e5e7eb !important}
html.js body .mobile_agent_area_wrapper:not(#_){border-color:#e5e7eb !important}
html.js body .elementor-29541 .elementor-element.elementor-element-21af2c3a .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper):not(#_){border-color:#e5e7eb !important}
html.js body .elementor-29531 .elementor-element.elementor-element-c74db3e .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper):not(#_){border-color:#e5e7eb !important}

/* ===== typography: kill decorative serif, modern scale ===== */
html.js body h1:not(#_),html.js body h2:not(#_),html.js body h3:not(#_),html.js body h4:not(#_),html.js body h5:not(#_),html.js body h6:not(#_),
html.js body .elementor-heading-title:not(#_),html.js body .widget-title-sidebar:not(#_),html.js body .widget-title-footer:not(#_){
  font-family:'Inter',-apple-system,'Segoe UI',sans-serif !important;font-weight:650 !important;letter-spacing:-0.015em !important;color:#111827 !important;text-transform:none !important}
html.js body h1:not(#_){font-size:clamp(1.8rem,3vw,2.4rem) !important;line-height:1.15 !important}
html.js body h2:not(#_),html.js body .elementor-heading-title:not(#_){font-size:clamp(1.4rem,2.2vw,1.85rem) !important;line-height:1.2 !important}
html.js body h3:not(#_){font-size:1.2rem !important}
html.js body p:not(#_),html.js body li:not(#_){font-size:15px !important;line-height:1.65 !important}
/* eyebrow labels: quiet grey, small */
html.js body .p4ac-eyebrow:not(#_),html.js body [class*="eyebrow"]:not(#_){color:#6b7280 !important;font-size:11px !important;letter-spacing:.08em !important;font-weight:600 !important}
/* ===== header: white, slim, red logo chip ===== */
html.js body .master_header:not(#_),html.js body .header_wrapper:not(#_),html.js body .mobile_header:not(#_),html.js body .header_media:not(#_),html.js body .top_wrapper:not(#_),html.js body .wpresidence_top_menu_wrapper:not(#_){background:#ffffff !important;background-image:none !important;border-bottom:1px solid #e5e7eb !important;box-shadow:none !important}
html.js body .master_header a:not(#_),html.js body .menu_wrapper a:not(#_),html.js body .header_media a:not(#_){color:#1f2937 !important;font-weight:500 !important;font-size:14.5px !important}
html.js body .menu_wrapper a:hover:not(#_),html.js body .master_header a:hover:not(#_){color:#E31E27 !important}
html.js body .logo img:not(#_),html.js body .mobile_header img:not(#_){background:#E31E27 !important;padding:7px 10px !important;border-radius:6px !important;max-height:52px !important;width:auto !important}
html.js body .mobile_header .mobile-menu-icon:not(#_),html.js body .mobile_header i:not(#_){color:#1f2937 !important}
/* ===== buttons: compact, modern ===== */
html.js body .elementor-button:not(#_),html.js body .wpresidence_button:not(#_),html.js body a.p4-viewing:not(#_),html.js body #morg_compute:not(#_),html.js body .agent_submit_class:not(#_),html.js body .vc_btn3:not(#_){
  background:#E31E27 !important;color:#fff !important;border-radius:8px !important;font-family:'Inter',sans-serif !important;font-weight:600 !important;font-size:14px !important;letter-spacing:0 !important;text-transform:none !important;padding:11px 20px !important;box-shadow:none !important;border:none !important}
html.js body .elementor-button:hover:not(#_),html.js body .wpresidence_button:hover:not(#_){background:#c4161e !important;color:#fff !important}
/* ===== red slabs -> light neutral ===== */
html.js body #p4-cred:not(#_),html.js body #p4-val-cta:not(#_),html.js body .elementor-element-65677b0c:not(#_),html.js body section.p4-hero:not(#_){background:#f7f8fa !important;background-image:none !important}
html.js body #p4-cred *:not(#_){color:#374151 !important}
html.js body #p4-cred h1:not(#_),html.js body #p4-cred h2:not(#_),html.js body #p4-cred h3:not(#_){color:#111827 !important}
html.js body #p4-val-cta *:not(#_){color:#374151 !important}
html.js body #p4-val-cta h1:not(#_),html.js body #p4-val-cta h2:not(#_),html.js body #p4-val-cta h3:not(#_){color:#111827 !important}
html.js body .elementor-element-65677b0c .elementor-heading-title:not(#_){color:#111827 !important}
html.js body .elementor-element-65677b0c p:not(#_){color:#374151 !important}
/* ===== compact sections ===== */
html.js body .elementor-top-section:not(.p4-hero):not(#_){padding-top:48px !important;padding-bottom:48px !important}
html.js body #p4hm-sec:not(#_),html.js body .p4-reviews:not(#_){padding-top:48px !important;padding-bottom:48px !important;background:#f7f8fa !important}
/* hero: smaller */
html.js body .p4-hero-home:not(#_),html.js body [class*="p4-hero"]:not(a):not(#_){min-height:440px !important}
/* ===== cards ===== */
html.js body .property_listing:not(#_){background:#fff !important;border:1px solid #e5e7eb !important;border-radius:10px !important;box-shadow:none !important}
html.js body .property_listing:hover:not(#_){box-shadow:0 8px 24px -12px rgba(15,23,42,.18) !important}
html.js body .p4c-form:not(#_),html.js body .testimonial-container:not(#_),html.js body .property-panel:not(#_){background:#fff !important;border:1px solid #e5e7eb !important;border-radius:10px !important;box-shadow:none !important}
/* prices: modern, dark */
html.js body [class*="price"]:not(#_){font-family:'Inter',sans-serif !important;letter-spacing:0 !important}
/* ===== footer: dark neutral ===== */
html.js body #colophon:not(#_),html.js body footer.footer_back_repeat_no:not(#_){background:#15181d !important;background-image:none !important;border-top:none !important}
html.js body #colophon .widget-title-footer:not(#_){color:#9ca3af !important;font-size:12px !important;letter-spacing:.06em !important;text-transform:uppercase !important}
html.js body #colophon a:not(#_),html.js body #colophon p:not(#_),html.js body #colophon li:not(#_){color:#d1d5db !important;font-size:14px !important}
html.js body #colophon a:hover:not(#_){color:#fff !important}
/* misc cheap-feel cleanup */
html.js body *:not(#_){text-shadow:none !important}
html.js body .backtop:not(#_){background:#fff !important;border:1px solid #e5e7eb !important;color:#1f2937 !important}
::selection{background:#E31E27;color:#fff}

html.js body span.lbl:not(#_),html.js body span.p4c-amt:not(#_),html.js body [class*='p4'] span:not(#_),html.js body h1 span:not(#_),html.js body h2 span:not(#_){font-family:'Inter',sans-serif !important;letter-spacing:0 !important}
html.js body h1.elementor-heading-title:not(#_){font-family:'Inter',sans-serif !important;font-weight:650 !important;letter-spacing:-0.015em !important}
html.js body span.p4c-amt:not(#_){font-weight:700 !important;font-size:1.35rem !important;color:#111827 !important}
html.js body .logo img:not(#_),html.js body .mobile_header img:not(#_){background:transparent !important;padding:0 !important;border-radius:0 !important;max-height:46px !important}
html.js body img[src*='logo-white']:not(#_){background:#E31E27 !important;padding:6px 10px !important;border-radius:6px !important}

html.js body h1.elementor-heading-title:not(#_):not(#_){font-family:'Inter',-apple-system,sans-serif !important;font-weight:650 !important;letter-spacing:-0.015em !important}
html.js body span.lbl:not(#_):not(#_),html.js body span.p4c-amt:not(#_):not(#_){font-family:'Inter',sans-serif !important}

html.js body #p4-quick-search{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;background:#fff;border-radius:12px;padding:8px;max-width:760px;margin:22px 0 6px;box-shadow:0 12px 40px -12px rgba(15,23,42,.35)}
html.js body #p4-quick-search .p4qs-field{flex:1 1 140px;min-width:130px;padding:6px 16px;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:2px}
html.js body #p4-quick-search .p4qs-field label{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#6b7280;font-family:'Inter',sans-serif}
html.js body #p4-quick-search select{border:none !important;background:#fff !important;color:#111827 !important;font-family:'Inter',sans-serif !important;font-size:15px !important;font-weight:600 !important;padding:2px 0 !important;outline:none;appearance:auto;box-shadow:none !important}
html.js body #p4-quick-search .p4qs-btn{flex:0 0 auto;background:#E31E27 !important;color:#fff !important;border:none !important;border-radius:8px !important;font-family:'Inter',sans-serif !important;font-weight:600 !important;font-size:15px !important;padding:0 26px !important;margin-left:8px;cursor:pointer}
html.js body #p4-quick-search .p4qs-btn:hover{background:#c4161e !important}
@media (max-width:640px){html.js body #p4-quick-search{padding:10px}html.js body #p4-quick-search .p4qs-field{flex:1 1 100%;border-right:none;border-bottom:1px solid #e5e7eb;padding:8px 6px}html.js body #p4-quick-search .p4qs-btn{flex:1 1 100%;margin:8px 0 0;padding:13px}}

html.js body #p4-quick-search .p4qs-btn:not(#_):not(#_):not(#_){background:#E31E27 !important;color:#fff !important;border:none !important;border-radius:8px !important;font:600 15px 'Inter',sans-serif !important;letter-spacing:0 !important;text-transform:none !important;padding:0 26px !important;margin:6px 0 6px 8px !important;min-height:52px;align-self:center;cursor:pointer;box-shadow:none !important;position:static !important;width:auto !important;display:inline-flex !important;align-items:center !important}
html.js body #p4-quick-search:not(#_):not(#_){display:flex !important;flex-wrap:wrap !important;align-items:stretch !important}
@media (max-width:640px){html.js body #p4-quick-search .p4qs-btn:not(#_):not(#_):not(#_){flex:1 1 100% !important;justify-content:center !important;margin:8px 0 0 !important;padding:14px 0 !important}}

/* ===== MORE RED: brand presence pass ===== */
/* slim red strip on top of white header + red phone */
html.js body .master_header:not(#_):not(#_),html.js body .mobile_header:not(#_):not(#_){border-top:4px solid #E31E27 !important;background:#fff !important}
html.js body .master_header a[href^="tel"]:not(#_):not(#_),html.js body .header_media a[href^="tel"]:not(#_):not(#_){color:#E31E27 !important;font-weight:700 !important}
/* eyebrow labels back to red */
html.js body .p4ac-eyebrow:not(#_):not(#_),html.js body [class*="eyebrow"]:not(#_):not(#_){color:#E31E27 !important}
/* accreditation + CTA bands: solid brand red, white text */
html.js body #p4-cred:not(#_):not(#_),html.js body #p4-val-cta:not(#_):not(#_),html.js body .elementor-element-65677b0c:not(#_):not(#_){background:#E31E27 !important;background-image:linear-gradient(160deg,#E31E27,#B8151D) !important}
html.js body #p4-cred *:not(#_):not(#_),html.js body #p4-val-cta *:not(#_):not(#_){color:#fff !important}
html.js body #p4-cred h2:not(#_):not(#_),html.js body #p4-cred h3:not(#_):not(#_),html.js body #p4-val-cta h2:not(#_):not(#_){color:#fff !important}
html.js body .elementor-element-65677b0c .elementor-heading-title:not(#_):not(#_),html.js body .elementor-element-65677b0c p:not(#_):not(#_){color:#fff !important}
/* white buttons on red bands */
html.js body #p4-cred .elementor-button:not(#_):not(#_),html.js body #p4-val-cta .elementor-button:not(#_):not(#_),html.js body #p4-val-cta .wpresidence_button:not(#_):not(#_),html.js body .elementor-element-65677b0c .elementor-button:not(#_):not(#_){background:#fff !important;color:#E31E27 !important}
/* footer: deep brand red */
html.js body #colophon:not(#_):not(#_),html.js body footer.footer_back_repeat_no:not(#_):not(#_){background:#8E1218 !important;background-image:linear-gradient(160deg,#9E1319,#6F1015) !important}
html.js body #colophon .widget-title-footer:not(#_):not(#_){color:rgba(255,255,255,.75) !important}
html.js body #colophon a:not(#_):not(#_),html.js body #colophon p:not(#_):not(#_),html.js body #colophon li:not(#_):not(#_){color:#fde8e9 !important}
html.js body #colophon a:hover:not(#_):not(#_){color:#fff !important}
/* card prices red */
html.js body span.p4c-amt:not(#_):not(#_):not(#_){color:#E31E27 !important}
/* section divider labels (For Sale / To Let) red */
html.js body span.lbl:not(#_):not(#_){color:#E31E27 !important;font-weight:700 !important}
/* review stars stay gold; Read-all pill red */
html.js body .p4-reviews a[href*="google"]:not(#_):not(#_){background:#E31E27 !important;color:#fff !important}
/* links red */
html.js body .p4-card-cta:not(#_):not(#_){color:#E31E27 !important;font-weight:600 !important}

html.js body #colophon .widget-title-footer:not(#_):not(#_):not(#_),html.js body #colophon h5:not(#_):not(#_):not(#_),html.js body #colophon h4:not(#_):not(#_):not(#_){color:rgba(255,255,255,.85) !important}

/* === P4 PRO SKIN (auto) END === */


/* v51 Claude: parallax band (Your move, handled with care) readability */
html.js body section.p4px:not(#_):not(#_){position:relative !important;isolation:isolate !important;}
html.js body section.p4px:not(#_):not(#_)::before{content:"" !important;position:absolute !important;inset:0 !important;z-index:0 !important;background:linear-gradient(95deg,rgba(10,13,18,0.85) 0%,rgba(10,13,18,0.60) 50%,rgba(10,13,18,0.35) 100%) !important;pointer-events:none !important;}
html.js body section.p4px:not(#_):not(#_) > *{position:relative !important;z-index:1 !important;}
html.js body section.p4px:not(#_):not(#_) h2{color:#ffffff !important;}
html.js body section.p4px:not(#_):not(#_) p{color:rgba(255,255,255,0.94) !important;}
html.js body section.p4px:not(#_):not(#_) .p4px-eyebrow{color:#ffb3b6 !important;}


/* v51 Claude: inner-page banner readability */
html.js body:not(.home) .elementor > section.elementor-top-section:first-child:has(> .elementor-background-overlay):not(#_):not(#_){padding-top:150px !important;padding-bottom:56px !important;}
html.js body:not(.home) .elementor > section.elementor-top-section:first-child:has(> .elementor-background-overlay) .elementor-heading-title:not(#_):not(#_){color:#ffffff !important;}
html.js body:not(.home) .elementor > section.elementor-top-section:first-child:has(> .elementor-background-overlay) > .elementor-background-overlay:not(#_):not(#_){background:linear-gradient(180deg,rgba(10,13,18,0.74) 0%,rgba(10,13,18,0.52) 100%) !important;opacity:1 !important;mix-blend-mode:normal !important;}
html.js body:not(.home) .elementor > section.elementor-top-section:first-child:has(> .elementor-background-overlay) p.elementor-heading-title:not(#_):not(#_){font-size:18px !important;line-height:1.65 !important;max-width:880px !important;margin-left:auto !important;margin-right:auto !important;color:rgba(255,255,255,0.92) !important;}


/* v51 Claude: disable fragile reveal animations - content always visible */
html.js body .p4-reveal:not(#_):not(#_),html.js body .p4reveal:not(#_):not(#_),html.js body [class*="p4-reveal"]:not(#_):not(#_){opacity:1 !important;transform:none !important;visibility:visible !important;transition:none !important;}
html.js body .elementor-invisible:not(#_):not(#_){opacity:1 !important;visibility:visible !important;animation:none !important;}


/* v51 Claude: p4-hero kicker height bug (440px tall eyebrow pushed title below fold) */
html.js body .p4-hero-kicker:not(#_):not(#_){height:auto !important;min-height:0 !important;}
html.js body .p4-hero:not(#_):not(#_){min-height:0 !important;padding:150px 20px 64px !important;}


/* v51 Claude: swap hardcoded sold-card photos to cleaned versions */
img[src$="IMG_2909-Edit-scaled.jpg"]{content:url("https://www.point4.biz/wp-content/uploads/2025/11/IMG_2909-Edit-scaled-e1785328058269.jpg");}
img[src$="FRONT-scaled.jpg"]{content:url("https://www.point4.biz/wp-content/uploads/2025/11/FRONT-scaled-e1785328860218.jpg");}



/* ---------------------------------------------------------------- PART 2 */


:root{
  --il-red:#E31E27; --il-red-d:#C9161E; --il-red-bg:#FDF2F3; --il-red-l:#F7D9DB;
  --il-ox:#651016; --il-ox-d:#4F0C11; --il-ivory:#F7F3ED;
  --il-ink:#1A1A1A; --il-ink2:#5A5A5A; --il-ink3:#949494;
  --il-line:#E4E2E0; --il-line2:#CFCCC9;
  --il-paper:#F4F3F1; --il-band:#EDEBE9;
  --il-navy:#1F3864;   --il-navy-l:#CBD6E6;
  --il-forest:#2E5B44; --il-forest-l:#C6DACF;
  --il-claret:#8E2420; --il-claret-l:#E3C9C7;
  --il-warn:#9A6B12;   --il-warn-l:#EBD9AE;
  --il-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --il-ease-out:cubic-bezier(.23,1,.32,1);
  --il-tr-hover:background-color 120ms ease,color 120ms ease,border-color 120ms ease,box-shadow 120ms ease,opacity 120ms ease;
  --il-tr-press:transform 160ms var(--il-ease-out);
  --il-r:4px;
  --il-r-lg:10px;
}

/* ---- 1. Foundation ------------------------------------------------------ */

html.js body:not(#_a):not(#_b):not(#_c):not(#_d){
  background:var(--il-paper) !important;
  color:var(--il-ink) !important;
  font-family:var(--il-ui) !important;
  -webkit-font-smoothing:antialiased;
  letter-spacing:.004em;
  font-variant-numeric:tabular-nums;
}
html.js body .website-wrapper:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .wpresidence_main_wrapper_class:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .single-content:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .content_wrapper:not(#_a):not(#_b):not(#_c):not(#_d){ background:transparent !important; }

html.js body h1:not(#_a):not(#_b):not(#_c):not(#_d), html.js body h2:not(#_a):not(#_b):not(#_c):not(#_d), html.js body h3:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body h4:not(#_a):not(#_b):not(#_c):not(#_d), html.js body h5:not(#_a):not(#_b):not(#_c):not(#_d), html.js body h6:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .elementor-heading-title:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .panel-title:not(#_a):not(#_b):not(#_c):not(#_d){
  font-family:var(--il-ui) !important;
  letter-spacing:-.028em !important;
  font-weight:800 !important;
}
html.js body h1:not(#_a):not(#_b):not(#_c):not(#_d){ letter-spacing:-.035em !important; }

/* ---- 2. Masthead: the app's solid red bar ------------------------------- */

html.js body header.header_wrapper:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .master_header:not(#_a):not(#_b):not(#_c):not(#_d){
  background:var(--il-red) !important;
  border-bottom:none !important;
  box-shadow:0 1px 0 rgba(0,0,0,.12) !important;
}
html.js body .header_wrapper .header_wrapper_inside:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body header.header_wrapper .header_media:not(#_a):not(#_b):not(#_c):not(#_d){
  background:transparent !important;
}

/* The logo file is red-on-transparent; knock it to white for the red bar. */
html.js body header.header_wrapper .logo img:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body header.header_wrapper img[src*="point4-logo"]:not(#_a):not(#_b):not(#_c):not(#_d){
  filter:brightness(0) invert(1) !important;
}

html.js body header.header_wrapper ul.menu > li > a:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body header.header_wrapper a.menu-item-link:not(#_a):not(#_b):not(#_c):not(#_d){
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.085em !important;
  text-transform:uppercase !important;
  transition:var(--il-tr-hover);
}
html.js body header.header_wrapper a.menu-item-link:not(#_a):not(#_b):not(#_c):not(#_d):hover{ color:rgba(255,255,255,.72) !important; }
html.js body header.header_wrapper li.current-menu-item > a.menu-item-link:not(#_a):not(#_b):not(#_c):not(#_d){
  background:rgba(255,255,255,.17) !important;
  border-radius:100px !important;
}

html.js body header a[href^="tel:"]:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .master_header a[href^="tel:"]:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body header .header_phone:not(#_a):not(#_b):not(#_c):not(#_d){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
}
html.js body header a[href^="tel:"] svg *:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body header .header_phone svg *:not(#_a):not(#_b):not(#_c):not(#_d){ fill:#fff !important; stroke:#fff !important; }

/* Submenus: paper card, app radius. */
html.js body header.header_wrapper .sub-menu:not(#_a):not(#_b):not(#_c):not(#_d){
  background:#fff !important;
  border:1px solid var(--il-line) !important;
  border-radius:var(--il-r-lg) !important;
  box-shadow:0 8px 24px rgba(26,26,26,.13) !important;
  padding:8px !important;
}
html.js body header.header_wrapper .sub-menu a:not(#_a):not(#_b):not(#_c):not(#_d){
  color:var(--il-ink) !important; text-transform:none !important;
  letter-spacing:-.01em !important; font-size:14px !important; font-weight:700 !important;
  border-radius:var(--il-r) !important; padding:9px 12px !important;
}
html.js body header.header_wrapper .sub-menu a:not(#_a):not(#_b):not(#_c):not(#_d):hover{ background:var(--il-band) !important; }

html.js body .mobile_header a:not(#_a):not(#_b):not(#_c):not(#_d), html.js body .mobile_menu_trigger:not(#_a):not(#_b):not(#_c):not(#_d){ color:#fff !important; }

/* ---- 3. Panels ---------------------------------------------------------- */

html.js body .property-panel:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4f-panel:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body #single-overview-section:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4-keyfeat:not(#_a):not(#_b):not(#_c):not(#_d){
  background:#fff !important;
  border:1px solid var(--il-line) !important;
  border-radius:var(--il-r-lg) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.04) !important;
}

/* ---- 4. Property cards: the records aesthetic --------------------------- */

html.js body .property_listing.property_unit_type3:not(#_a):not(#_b):not(#_c):not(#_d){
  background:#fff !important;
  border:1px solid var(--il-line) !important;
  border-left:3px solid var(--il-line2) !important;
  border-radius:var(--il-r) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.04) !important;
  overflow:hidden !important;
  transition:var(--il-tr-hover),var(--il-tr-press);
}
/* Status chip: a label, not a sticker. */
html.js body .status-wrapper .ribbon-inside:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4pd-ribbon:not(#_a):not(#_b):not(#_c):not(#_d){
  border-radius:3px !important;
  font-size:10px !important; font-weight:700 !important;
  letter-spacing:.09em !important; text-transform:uppercase !important;
  padding:5px 9px !important; box-shadow:none !important;
  background:rgba(26,26,26,.82) !important; color:#fff !important;
}
html.js body .property_listing.il-sale   .status-wrapper .ribbon-inside:not(#_a):not(#_b):not(#_c):not(#_d){ background:var(--il-forest) !important; }
html.js body .property_listing.il-let    .status-wrapper .ribbon-inside:not(#_a):not(#_b):not(#_c):not(#_d){ background:var(--il-navy) !important; }
html.js body .property_listing.il-agreed .status-wrapper .ribbon-inside:not(#_a):not(#_b):not(#_c):not(#_d){ background:var(--il-warn) !important; }
html.js body .property_listing.il-sold   .status-wrapper .ribbon-inside:not(#_a):not(#_b):not(#_c):not(#_d){ background:var(--il-claret) !important; }

html.js body .p4c-body:not(#_a):not(#_b):not(#_c):not(#_d){ padding:16px 17px 17px !important; }
html.js body .p4c-addr:not(#_a):not(#_b):not(#_c):not(#_d){
  font-size:14px !important; font-weight:700 !important; color:var(--il-ink) !important;
  letter-spacing:-.012em !important; line-height:1.35 !important; margin:0 0 8px !important;
}
html.js body .p4c-price:not(#_a):not(#_b):not(#_c):not(#_d){
  font-size:20px !important; font-weight:800 !important; color:var(--il-ink) !important;
  letter-spacing:-.03em !important; font-variant-numeric:tabular-nums !important; margin:0 !important;
}
html.js body .p4c-qual:not(#_a):not(#_b):not(#_c):not(#_d){
  display:block !important; font-size:10px !important; font-weight:700 !important;
  letter-spacing:.09em !important; text-transform:uppercase !important;
  color:var(--il-ink3) !important; margin-top:3px !important;
}
html.js body .p4c-stats:not(#_a):not(#_b):not(#_c):not(#_d){
  margin-top:12px !important; padding-top:11px !important;
  border-top:1px solid var(--il-line) !important;
  display:flex !important; gap:18px !important; flex-wrap:wrap !important;
  font-size:12.5px !important; color:var(--il-ink2) !important; font-weight:600 !important;
}

/* ---- 5. Filter bar ------------------------------------------------------ */

html.js body .listing_filters_head:not(#_a):not(#_b):not(#_c):not(#_d){
  background:#fff !important;
  border:1px solid var(--il-line) !important;
  border-radius:var(--il-r-lg) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.04) !important;
}
html.js body .listing_filter_select .dropdown-toggle:not(#_a):not(#_b):not(#_c):not(#_d){
  font-size:12.5px !important; font-weight:600 !important;
  color:var(--il-ink2) !important; white-space:nowrap !important;
}

/* ---- 6. Buttons --------------------------------------------------------- */

html.js body .wpresidence_button:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .elementor-button:not(#_a):not(#_b):not(#_c):not(#_d){
  background:var(--il-red) !important;
  border:1px solid var(--il-red) !important;
  color:#fff !important;
  border-radius:var(--il-r) !important;
  font-size:12px !important; font-weight:700 !important;
  letter-spacing:.085em !important; text-transform:uppercase !important;
  box-shadow:none !important;
  transition:var(--il-tr-hover),var(--il-tr-press);
}
html.js body .wpresidence_button:not(#_a):not(#_b):not(#_c):not(#_d):hover,
html.js body .elementor-button:not(#_a):not(#_b):not(#_c):not(#_d):hover{
  background:var(--il-red-d) !important; border-color:var(--il-red-d) !important;
}

/* ---- 7. Footer ---------------------------------------------------------- */

html.js body footer.footer_back_repeat_no:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .footer_wrapper:not(#_a):not(#_b):not(#_c):not(#_d){
  background:var(--il-ivory) !important;
  border-top:3px solid var(--il-red) !important;
}
html.js body footer .widget-title-footer:not(#_a):not(#_b):not(#_c):not(#_d){
  color:var(--il-ink) !important; font-size:10px !important; font-weight:700 !important;
  letter-spacing:.11em !important; text-transform:uppercase !important;
}
html.js body footer a:not(#_a):not(#_b):not(#_c):not(#_d){ color:var(--il-ink2) !important; }
html.js body footer a:not(#_a):not(#_b):not(#_c):not(#_d):hover{ color:var(--il-red) !important; }

/* ---- 8. Motion ---------------------------------------------------------- */
/* Named properties, the app's curve, nothing over 200ms, hover-capable
  pointers only, and a gentler (not absent) reduced-motion path. */

@media (hover:hover) and (pointer:fine){
  html.js body .property_listing.property_unit_type3:not(#_a):not(#_b):not(#_c):not(#_d):hover{
  box-shadow:0 6px 18px rgba(26,26,26,.10) !important;
  border-color:var(--il-line2) !important;
  transform:translateY(-2px);
  }
  html.js body .wpresidence_button:not(#_a):not(#_b):not(#_c):not(#_d):active,
  html.js body .elementor-button:not(#_a):not(#_b):not(#_c):not(#_d):active{ transform:translateY(1px); }
}
@media (prefers-reduced-motion:reduce){
  html.js body .property_listing.property_unit_type3:not(#_a):not(#_b):not(#_c):not(#_d){ transition:var(--il-tr-hover); }
  html.js body .property_listing.property_unit_type3:not(#_a):not(#_b):not(#_c):not(#_d):hover{ transform:none; }
}

html.il-hero-flat body:not(.home) .p4-hero:not(#_a):not(#_b):not(#_c):not(#_d){
  background:transparent !important;
  padding:40px 20px 26px !important;
  min-height:0 !important;
  border-bottom:1px solid var(--il-line) !important;
  text-align:left !important;
}
html.il-hero-flat body:not(.home) .p4-hero .p4-hero-inner:not(#_a):not(#_b):not(#_c):not(#_d){
  max-width:1180px !important; margin:0 auto !important; text-align:left !important;
}
html.il-hero-flat body:not(.home) .p4-hero .p4-hero-kicker:not(#_a):not(#_b):not(#_c):not(#_d){
  display:inline-flex !important; align-items:center !important; gap:12px !important;
  color:var(--il-ink3) !important; font-size:10px !important; font-weight:700 !important;
  letter-spacing:.11em !important; text-transform:uppercase !important;
  text-shadow:none !important; margin-bottom:10px !important;
}
html.il-hero-flat body:not(.home) .p4-hero .p4-hero-kicker:not(#_a):not(#_b):not(#_c):not(#_d)::before{
  content:"" !important; width:26px !important; height:2px !important;
  background:var(--il-red) !important; flex:0 0 26px !important;
}
html.il-hero-flat body:not(.home) .p4-hero h1:not(#_a):not(#_b):not(#_c):not(#_d){
  color:var(--il-ink) !important; font-size:34px !important; font-weight:800 !important;
  letter-spacing:-.035em !important; text-shadow:none !important; margin:0 0 6px !important;
}
html.il-hero-flat body:not(.home) .p4-hero p:not(#_a):not(#_b):not(#_c):not(#_d){
  color:var(--il-ink2) !important; font-size:14.5px !important; max-width:640px !important;
  margin:0 !important; text-shadow:none !important;
}

/* Price block: tiny grey label, heavy ink figure — the app's stat tile. */
html.js body .p4c-qual:not(#_a):not(#_b):not(#_c):not(#_d){
  font-size:10px !important; font-weight:700 !important;
  letter-spacing:.09em !important; text-transform:uppercase !important;
  margin:0 0 2px !important;
}
html.js body .p4c-amt:not(#_a):not(#_b):not(#_c):not(#_d){
  color:var(--il-ink) !important;
  font-size:22px !important; font-weight:800 !important;
  letter-spacing:-.03em !important;
  font-variant-numeric:tabular-nums !important;
}
html.js body .p4-card-cta:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4-card-cta span:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4-card-cta-arrow:not(#_a):not(#_b):not(#_c):not(#_d){
  color:var(--il-ink2) !important;
  font-size:10px !important; font-weight:700 !important;
  letter-spacing:.09em !important; text-transform:uppercase !important;
}

html.il-hero-flat body:not(.home) .p4-hero .p4-hero-inner:not(#_a):not(#_b):not(#_c):not(#_d){
  min-height:0 !important;
}

html.js body .mobile_header:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .mobile_header_wrapper:not(#_a):not(#_b):not(#_c):not(#_d){
  background:var(--il-red) !important;
  border-bottom:none !important;
  box-shadow:0 1px 0 rgba(0,0,0,.12) !important;
}
html.js body .mobile_header img:not(#_a):not(#_b):not(#_c):not(#_d){
  filter:brightness(0) invert(1) !important;
}
html.js body .mobile_header a:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .mobile_header i:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .mobile_header span:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .mobile_menu_trigger:not(#_a):not(#_b):not(#_c):not(#_d){
  color:#fff !important;
}
html.js body .mobile_header svg *:not(#_a):not(#_b):not(#_c):not(#_d){
  fill:#fff !important; stroke:#fff !important;
}

/* Buttons: flat house red, the app's 4px corner, no glow. */
html.js body .elementor-button:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .wpresidence_button:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body a.p4-viewing:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body #morg_compute:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .agent_submit_class:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .vc_btn3.vc_btn3:not(#_a):not(#_b):not(#_c):not(#_d){
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  gap:9px !important;
  background:var(--il-red) !important; color:#fff !important;
  font-family:var(--il-ui) !important; font-weight:700 !important; font-size:12px !important;
  letter-spacing:.085em !important; text-transform:uppercase !important;
  border:1px solid var(--il-red) !important; border-radius:var(--il-r) !important;
  padding:13px 22px !important; line-height:1.2 !important; text-decoration:none !important;
  box-shadow:none !important; filter:none !important;
  transition:var(--il-tr-hover),var(--il-tr-press) !important;
}
html.js body .elementor-button:not(#_a):not(#_b):not(#_c):not(#_d):hover,
html.js body .wpresidence_button:not(#_a):not(#_b):not(#_c):not(#_d):hover,
html.js body a.p4-viewing:not(#_a):not(#_b):not(#_c):not(#_d):hover,
html.js body #morg_compute:not(#_a):not(#_b):not(#_c):not(#_d):hover,
html.js body .agent_submit_class:not(#_a):not(#_b):not(#_c):not(#_d):hover{
  background:var(--il-red-d) !important; border-color:var(--il-red-d) !important;
  transform:none !important; box-shadow:none !important; filter:none !important;
}

/* Secondary button: paper, hairline, ink. */
html.js body .realtor_call:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .wpresidence_button.wpresidence_button_inverse:not(#_a):not(#_b):not(#_c):not(#_d){
  background:#fff !important; color:var(--il-ink) !important;
  border:1px solid var(--il-line2) !important; box-shadow:none !important;
}
html.js body .realtor_call *:not(#_a):not(#_b):not(#_c):not(#_d){ color:var(--il-ink) !important; }
html.js body .realtor_call:not(#_a):not(#_b):not(#_c):not(#_d):hover,
html.js body .wpresidence_button.wpresidence_button_inverse:not(#_a):not(#_b):not(#_c):not(#_d):hover{
  background:var(--il-band) !important; border-color:var(--il-line2) !important;
  transform:none !important; box-shadow:none !important;
}

/* Buttons sitting on a photographic hero stay outlined in white. */
html.js body .elementor-element-d21c90c .elementor-button:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .elementor-element-d9ec8ae .elementor-button:not(#_a):not(#_b):not(#_c):not(#_d){
  background:transparent !important; color:#fff !important;
  border:1px solid rgba(255,255,255,.85) !important; box-shadow:none !important;
}
html.js body .elementor-element-d21c90c .elementor-button:not(#_a):not(#_b):not(#_c):not(#_d):hover,
html.js body .elementor-element-d9ec8ae .elementor-button:not(#_a):not(#_b):not(#_c):not(#_d):hover{
  background:rgba(255,255,255,.15) !important; transform:none !important;
}

/* Fields: white with a hairline, the app's search-box shape. */
html.js body input[type=text]:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body input[type=email]:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body input[type=tel]:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body input[type=number]:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body input[type=password]:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body textarea:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body select:not(#_a):not(#_b):not(#_c):not(#_d){
  background:#fff !important;
  border:1px solid var(--il-line2) !important;
  border-radius:8px !important;
  padding:12px 14px !important;
  font-size:14px !important; font-weight:500 !important;
  color:var(--il-ink) !important; font-family:var(--il-ui) !important;
  box-shadow:none !important;
  transition:border-color 120ms ease,box-shadow 120ms ease !important;
}
html.js body input:not(#_a):not(#_b):not(#_c):not(#_d):focus,
html.js body textarea:not(#_a):not(#_b):not(#_c):not(#_d):focus{
  outline:0 !important; border-color:var(--il-red) !important;
  background:#fff !important;
  box-shadow:0 0 0 3px var(--il-red-l) !important;
}
html.js body input::placeholder, html.js body textarea::placeholder{
  color:var(--il-ink3) !important; opacity:1 !important;
}

/* P4SYS put Fraunces on these specifically; bring them back to the UI face. */
html.js body .widget-title-sidebar:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .widget-title-footer:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body #show_contact:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body #wpestate_single_agent_details_wrapper h3:not(#_a):not(#_b):not(#_c):not(#_d){
  font-family:var(--il-ui) !important;
}

html.js body .p4c-form:not(#_a):not(#_b):not(#_c):not(#_d){
  width:100% !important; max-width:none !important;
}
html.js body .elementor-element-5b7b1a1b .elementor-column:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .elementor-element-5b7b1a1b .elementor-widget-wrap:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .elementor-element-5b7b1a1b form:not(#_a):not(#_b):not(#_c):not(#_d){
  width:100% !important; max-width:none !important; flex-basis:auto !important;
}
/* One field per row, full width - a form you can actually read what you typed in. */
html.js body .elementor-element-5b7b1a1b .elementor-field-group:not(#_a):not(#_b):not(#_c):not(#_d){
  flex-basis:100% !important; max-width:100% !important; width:100% !important;
  margin-bottom:12px !important;
}
html.js body .elementor-element-5b7b1a1b .elementor-field:not(#_a):not(#_b):not(#_c):not(#_d){
  width:100% !important; min-width:0 !important;
}

html.js body .property_listing .listing-unit-img-wrapper img:not(#_a):not(#_b):not(#_c):not(#_d){
  width:100% !important; height:100% !important;
  object-fit:cover !important;
  object-position:50% 38% !important;
  transform:none !important;
}

html.js body .elementor-element-5b7b1a1b .elementor-widget:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .elementor-element-5b7b1a1b .elementor-widget-container:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .elementor-element-5b7b1a1b .elementor-element:not(#_a):not(#_b):not(#_c):not(#_d){
  width:100% !important; max-width:none !important;
}
@media (max-width:1024px){
  html.js body .p4c-form:not(#_a):not(#_b):not(#_c):not(#_d){ padding-left:18px !important; padding-right:18px !important; }
}

html.js body .p4c-form:not(#_a):not(#_b):not(#_c):not(#_d){
  padding:26px !important;
}
html.js body .elementor-element-71ee144f > .elementor-widget-wrap:not(#_a):not(#_b):not(#_c):not(#_d){
  padding:0 !important;
}
html.js body .elementor-element-5b7b1a1b .elementor-widget:not(#_a):not(#_b):not(#_c):not(#_d){
  padding-left:0 !important; padding-right:0 !important;
}

html.js body .p4-prop-hero:not(#_a):not(#_b):not(#_c):not(#_d){

  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center top !important;
  background-color:transparent !important;
  min-height:0 !important; height:auto !important;
  aspect-ratio:16/9;
}
html.js body .p4-hero-arrow:not(#_a):not(#_b):not(#_c):not(#_d){
  top:50% !important; bottom:auto !important; transform:translateY(-50%) !important;
  height:48px !important; min-height:0 !important; max-height:48px !important;
  width:48px !important; align-self:center !important;
  background:rgba(255,255,255,.94) !important; border-radius:50% !important;
  box-shadow:0 2px 10px rgba(0,0,0,.28) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  transition:var(--il-tr-hover) !important;
}
html.js body .p4-hero-arrow:not(#_a):not(#_b):not(#_c):not(#_d):hover{ background:#fff !important; }
html.js body .p4-hero-arrow svg:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4-hero-arrow svg *:not(#_a):not(#_b):not(#_c):not(#_d){ stroke:var(--il-ox) !important; }
html.js body .p4-hero-prev:not(#_a):not(#_b):not(#_c):not(#_d){ left:22px !important; right:auto !important; }
html.js body .p4-hero-next:not(#_a):not(#_b):not(#_c):not(#_d){ right:22px !important; left:auto !important; }

html.js body .p4-prop-hero .p4-gallery-tools:not(#_a):not(#_b):not(#_c):not(#_d){
  top:auto !important; bottom:0 !important; left:0 !important; right:0 !important;
  width:auto !important; height:54px !important; padding:0 28px !important;
  background:#fff !important; border-top:1px solid var(--il-line) !important;
  display:flex !important; align-items:center !important; z-index:9 !important;
}
html.js body .p4-gallery-back:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4-gallery-enquire:not(#_a):not(#_b):not(#_c):not(#_d){
  background:transparent !important; border:0 !important; box-shadow:none !important;
  color:var(--il-ink) !important; font-size:11px !important; font-weight:700 !important;
  letter-spacing:.1em !important; text-transform:uppercase !important;
  padding:0 !important; width:auto !important; height:auto !important; white-space:nowrap !important;
}
html.js body .p4-gallery-enquire:not(#_a):not(#_b):not(#_c):not(#_d){ margin-left:auto !important; }
html.js body .p4-gallery-back:not(#_a):not(#_b):not(#_c):not(#_d):hover,
html.js body .p4-gallery-enquire:not(#_a):not(#_b):not(#_c):not(#_d):hover{ color:var(--il-red) !important; }

html.js body .p4-summary-enquiry:not(#_a):not(#_b):not(#_c):not(#_d){
  background:#fff !important; border:1px solid var(--il-line) !important;
  border-radius:var(--il-r-lg) !important; box-shadow:0 2px 10px rgba(26,26,26,.12) !important;
}
html.js body .p4-summary-enquiry h2:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4-summary-enquiry h3:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4-summary-enquiry h4:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4-summary-enquiry .p4-summary-eyebrow:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4-summary-enquiry span:not(#_a):not(#_b):not(#_c):not(#_d){ color:var(--il-ink) !important; }
html.js body .p4-summary-enquiry p:not(#_a):not(#_b):not(#_c):not(#_d){ color:var(--il-ink2) !important; }
html.js body .p4-summary-phone:not(#_a):not(#_b):not(#_c):not(#_d){
  background:#fff !important; border:1px solid var(--il-line2) !important; color:var(--il-ink) !important;
}
html.js body .p4-summary-price:not(#_a):not(#_b):not(#_c):not(#_d){
  font-size:30px !important; font-weight:800 !important; letter-spacing:-.035em !important;
  font-variant-numeric:tabular-nums !important;
}

/* Key features is a sub-section of Key information, not a card inside a card. */
html.js body .p4-keyfeat:not(#_a):not(#_b):not(#_c):not(#_d){
  background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important;
}
@media (min-width:1100px){
  html.js body .listing-content .property-panel:not(#_a):not(#_b):not(#_c):not(#_d),
  html.js body #single-overview-section:not(#_a):not(#_b):not(#_c):not(#_d){
  max-width:900px !important; margin-left:0 !important;
  }
}

/* A phone is not a letterbox: give the hero a portrait-friendly shape there. */
@media (max-width:900px){
  html.js body .p4-prop-hero:not(#_a):not(#_b):not(#_c):not(#_d){
  max-height:460px !important;
  }
}
/* The mobile masthead takes the brand red too. */
html.js body .mobile_header:not(#_a):not(#_b):not(#_c):not(#_d){ background:var(--il-red) !important; }

.il-epc{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:32px; height:32px; padding:0 10px; margin-left:6px;
  border-radius:var(--il-r); font-weight:800; font-size:15px;
  letter-spacing:0; vertical-align:middle; font-variant-numeric:normal;
}
.il-epc-A{background:#008054 !important;color:#fff !important;}
.il-epc-B{background:#19b459 !important;color:#fff !important;}
.il-epc-C{background:#8dce46 !important;color:#1A1A1A !important;}
.il-epc-D{background:#ffd500 !important;color:#1A1A1A !important;}
.il-epc-E{background:#fcaa65 !important;color:#1A1A1A !important;}
.il-epc-F{background:#ef8023 !important;color:#1A1A1A !important;}
.il-epc-G{background:#e9153b !important;color:#fff !important;}
html.js body .accordion-body .listing_detail:not(#_a):not(#_b):not(#_c):not(#_d){
  display:flex !important; align-items:center !important; gap:6px !important;
  font-size:14.5px !important;
}

/* .p4-hero was still oxblood on /properties-forsale/ and /areas/ where the
  de-slab script did not take. Force it, ungated. */
html.js body:not(.home) .p4-hero:not(#_a):not(#_b):not(#_c):not(#_d){
  background:var(--il-paper) !important; background-image:none !important;
}
/* Text colour on this hero is set by script from the MEASURED background
  (see point4.js). Hard-coding ink here is what produced dark-on-dark twice. */

/* The agent card on a property page. */
html.js body .agent_details:not(#_a):not(#_b):not(#_c):not(#_d){
  background:#fff !important; border:1px solid var(--il-line) !important; border-radius:var(--il-r-lg) !important;
}
html.js body .agent_details *:not(#_a):not(#_b):not(#_c):not(#_d){ color:var(--il-ink) !important; }
html.js body .agent_details a:not(#_a):not(#_b):not(#_c):not(#_d){ color:var(--il-red) !important; }

html.js body .property_listing .listing-unit-img-wrapper:not(#_a):not(#_b):not(#_c):not(#_d){
  aspect-ratio:525/328 !important; height:auto !important; min-height:0 !important; max-height:none !important;
}
html.js body .property_listing .listing-unit-img-wrapper img:not(#_a):not(#_b):not(#_c):not(#_d){
  width:100% !important; height:100% !important;
  object-fit:cover !important; object-position:50% 42% !important;
  background:var(--il-band) !important;
}

html.js body footer *:not(#_a):not(#_b):not(#_c):not(#_d){
  color:var(--il-ink2) !important;
  -webkit-text-fill-color:var(--il-ink2) !important;
  text-shadow:none !important;
}
html.js body footer h1:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body footer h2:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body footer h3:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body footer h4:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body footer h5:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body footer strong:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body footer .p4g-rating:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body footer .p4g-g:not(#_a):not(#_b):not(#_c):not(#_d){
  color:var(--il-ink) !important; -webkit-text-fill-color:var(--il-ink) !important;
}
html.js body footer a:not(#_a):not(#_b):not(#_c):not(#_d):hover{
  color:var(--il-red) !important; -webkit-text-fill-color:var(--il-red) !important;
}
/* Star ratings keep their gold - people read that colour as a rating. */
html.js body footer .p4g-stars:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body footer .p4rv-stars:not(#_a):not(#_b):not(#_c):not(#_d){
  color:#C98A00 !important; -webkit-text-fill-color:#C98A00 !important;
}
/* The logo in the footer is the white cut-out, invisible on ivory. */
html.js body footer img[src*="logo-white"]:not(#_a):not(#_b):not(#_c):not(#_d){
  filter:none !important; mix-blend-mode:normal !important;
}
/* Social buttons need a visible edge on a light ground. */
html.js body footer .p4-social a:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body footer .p4-social-icon:not(#_a):not(#_b):not(#_c):not(#_d){
  border:1px solid var(--il-line2) !important; background:#fff !important;
}

html.js body .p4f-rate:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4-fees .p4f-rate:not(#_a):not(#_b):not(#_c):not(#_d){
  background:var(--il-red-d) !important; border-color:var(--il-red-d) !important;
}
html.js body .p4f-rate .badge:not(#_a):not(#_b):not(#_c):not(#_d){
  background:rgba(255,255,255,.16) !important; color:#fff !important;
  border:1px solid rgba(255,255,255,.5) !important;
}
html.js body .p4f-rate .sub:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4f-rate .pct-from:not(#_a):not(#_b):not(#_c):not(#_d){
  color:rgba(255,255,255,.9) !important;
}

/* Recently let / sold cards: postcode 3.14:1, price 3.34:1 */
html.js body .p4pd-pc:not(#_a):not(#_b):not(#_c):not(#_d){ color:var(--il-ink2) !important; }
html.js body .p4pd-price:not(#_a):not(#_b):not(#_c):not(#_d){ color:var(--il-ink) !important; }
html.js body .p4pd-card:not(#_a):not(#_b):not(#_c):not(#_d){ border-color:var(--il-line) !important; }

/* About page contact labels: 3.14:1 */
html.js body .p4a-contact .k:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .k:not(#_a):not(#_b):not(#_c):not(#_d){ color:var(--il-ink2) !important; }

/* Review attribution: 3.25:1 */
html.js body .p4rv-src:not(#_a):not(#_b):not(#_c):not(#_d){ color:var(--il-ink2) !important; }

/* Section eyebrows sat at 4.2-4.4:1 in brand red. Darken to the deeper red
  so small uppercase text clears 4.5:1 without losing the brand colour. */
html.js body .p4s-eyebrow:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4a-eyebrow:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .eyebrow:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4px-eyebrow:not(#_a):not(#_b):not(#_c):not(#_d){
  color:#B0151C !important;
}

/* Star ratings: gold on white measured 1.68-2.1:1. Keep them gold - people
  read that colour as a rating - but deepen it so the shape is legible. */
html.js body .p4g-stars:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4rv-stars:not(#_a):not(#_b):not(#_c):not(#_d),
html.js body .p4rv-hstars:not(#_a):not(#_b):not(#_c):not(#_d){
  color:#C98A00 !important; -webkit-text-fill-color:#C98A00 !important;
}

:root{
  --p4-oxblood:#C9161E !important;
  --p4-oxblood-deep:#B0151C !important;
}
