From 0487bd1dcfde92e3e83bb74dd208675805b4f93e Mon Sep 17 00:00:00 2001 From: "Hanson.xyz Dev" Date: Tue, 16 Dec 2025 13:21:23 -0600 Subject: [PATCH] Implement high priority features: filters, property type boxes, email routing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Expanded search filters: MLS property types dropdown, MLS cities (50+ listings), zip code text input - Property type showcase boxes: 5-category grid on homepage with icons, descriptions, counts - Multi-recipient email: Primary to office@, CC to info@, sender confirmation receipt enabled - Added helper functions: homeproz_get_mls_property_types(), homeproz_get_mls_cities() - Updated FEATURES_PENDING with completion status 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .beads/issues.jsonl | 3 + FEATURES_PENDING_12_15.md | 6 +- .../themes/homeproz/dist/assets/main.css | 2 +- .../themes/homeproz/dist/assets/main.js | 2 +- wp-content/themes/homeproz/front-page.php | 3 + .../themes/homeproz/inc/ajax-handlers.php | 5 + .../homeproz/inc/template-functions.php | 65 +++++++++ wp-content/themes/homeproz/src/main.scss | 1 + .../components/property-type-boxes.php | 92 ++++++++++++ .../components/property-type-boxes.scss | 133 ++++++++++++++++++ .../property/property-filters.js | 12 ++ .../property/property-filters.php | 31 ++-- .../property/property-filters.scss | 29 ++++ 13 files changed, 366 insertions(+), 18 deletions(-) create mode 100644 wp-content/themes/homeproz/template-parts/components/property-type-boxes.php create mode 100644 wp-content/themes/homeproz/template-parts/components/property-type-boxes.scss diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index efada1c6..e1aa3ef1 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -1,6 +1,7 @@ {"id":"html-117","title":"Filter MLS queries to MN and IA only","description":"","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-16T11:53:08.470255883-06:00","updated_at":"2025-12-16T12:45:04.808441903-06:00","closed_at":"2025-12-16T12:45:04.808441903-06:00","close_reason":"State filter implemented for all MLS query methods (get_properties, get_distinct_cities, get_distinct_counties, get_count, has_data, get_property_types, get_price_range). Added MLS_ALLOWED_STATES constant."} {"id":"html-2fg","title":"Update office hours in footer","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-16T11:53:03.244743372-06:00","updated_at":"2025-12-16T11:54:52.108263115-06:00","closed_at":"2025-12-16T11:54:52.108263115-06:00","close_reason":"Updated office hours to Mon-Fri 9am-4pm, Sat/Sun By Appointment"} {"id":"html-2fp","title":"Separate Residential and Commercial listings on homepage","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-11-30T02:24:09.984594683-06:00","updated_at":"2025-11-30T02:33:12.32537052-06:00","closed_at":"2025-11-30T02:33:12.32537052-06:00","close_reason":"Separated Featured Homes and Commercial/Land into distinct homepage sections"} +{"id":"html-2kf","title":"Multi-recipient email routing for contact form","description":"","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-16T13:11:50.988722809-06:00","updated_at":"2025-12-16T13:19:40.448106043-06:00","closed_at":"2025-12-16T13:19:40.448106043-06:00","close_reason":"Configured multi-recipient email: Primary mail to office@ with CC to info@. Enabled Mail 2 confirmation receipt to sender. For agent-specific routing, office staff forwards as needed."} {"id":"html-3fb","title":"MLS by HansonXyz Plugin - Phase 5: Public API","description":"Query class with filter support, global helper functions (mls_get_properties, etc), integration hooks for themes","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T21:02:45.05131653-06:00","updated_at":"2025-12-14T21:21:46.940975819-06:00","closed_at":"2025-12-14T21:21:46.940975819-06:00","dependencies":[{"issue_id":"html-3fb","depends_on_id":"html-5j7","type":"blocks","created_at":"2025-12-14T21:04:05.308661828-06:00","created_by":"unknown"}]} {"id":"html-3nq","title":"Enhance footer with office hours, professional logos, license numbers","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-11-30T02:24:30.889106857-06:00","updated_at":"2025-11-30T02:46:52.35661921-06:00","closed_at":"2025-11-30T02:46:52.35661921-06:00","close_reason":"Enhanced footer with office hours, professional logos (REALTOR, Equal Housing), and license number"} {"id":"html-4q8","title":"MLS by HansonXyz Plugin - Phase 6: Admin Interface","description":"Settings page under Settings menu, API token configuration, sync status display, manual sync triggers","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T21:02:50.276941526-06:00","updated_at":"2025-12-14T21:21:56.543615901-06:00","closed_at":"2025-12-14T21:21:56.543615901-06:00","dependencies":[{"issue_id":"html-4q8","depends_on_id":"html-3fb","type":"blocks","created_at":"2025-12-14T21:04:10.388690618-06:00","created_by":"unknown"}]} @@ -9,6 +10,7 @@ {"id":"html-5j7","title":"MLS by HansonXyz Plugin - Phase 3: Sync Engine","description":"Sync Engine class, full sync with pagination, incremental sync with ModificationTimestamp, sync state tracking for resume, CLI sync commands","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T21:02:34.581442915-06:00","updated_at":"2025-12-14T21:21:46.933578124-06:00","closed_at":"2025-12-14T21:21:46.933578124-06:00","dependencies":[{"issue_id":"html-5j7","depends_on_id":"html-4za","type":"blocks","created_at":"2025-12-14T21:03:55.163778736-06:00","created_by":"unknown"}]} {"id":"html-76m","title":"Remove Bridge Realty text from site","description":"","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-16T11:52:42.455604014-06:00","updated_at":"2025-12-16T11:53:51.821637756-06:00","closed_at":"2025-12-16T11:53:51.821637756-06:00","close_reason":"Removed Bridge Realty text from page-about.php, replaced with correct LandProz DBA info"} {"id":"html-7jz","title":"Add Communities section to navigation and create community pages structure","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-11-30T02:24:15.204568226-06:00","updated_at":"2025-11-30T02:43:22.075934867-06:00","closed_at":"2025-11-30T02:43:22.075934867-06:00","close_reason":"Created Communities landing page, community page template, 3 community pages, and added to navigation"} +{"id":"html-7lr","title":"Property type showcase boxes on homepage","description":"","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-16T13:11:45.764664597-06:00","updated_at":"2025-12-16T13:18:27.291310612-06:00","closed_at":"2025-12-16T13:18:27.291310612-06:00","close_reason":"Created property type showcase boxes section on homepage with 5 categories: Residential, Land, Commercial, Farm, Multi-Family. Each box shows icon, description, count, and links to filtered property archive."} {"id":"html-98b","title":"Add location search dropdown to homepage hero","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-11-30T02:23:59.555310037-06:00","updated_at":"2025-11-30T02:30:59.92891882-06:00","closed_at":"2025-11-30T02:30:59.92891882-06:00","close_reason":"Added location search dropdown to hero section with community taxonomy"} {"id":"html-bfd","title":"Update DESIGN-DOCUMENT.md and IMPLEMENTATION-PLAN.md with RHR structural changes","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-11-30T02:24:40.504170573-06:00","updated_at":"2025-11-30T02:28:50.551587345-06:00","closed_at":"2025-11-30T02:28:50.551587345-06:00","close_reason":"Updated DESIGN-DOCUMENT.md and IMPLEMENTATION-PLAN.md with RHR structural changes"} {"id":"html-clv","title":"Analyze Robert Hoffman Realty site structure for HomeProz redesign","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-11-30T02:11:43.511290155-06:00","updated_at":"2025-11-30T02:21:47.665340956-06:00","closed_at":"2025-11-30T02:21:47.665340956-06:00","close_reason":"Completed site analysis comparing RHR to HomeProz design"} @@ -21,4 +23,5 @@ {"id":"html-sbh","title":"MLS by HansonXyz Plugin - Phase 4: Media Handler","description":"Media Handler class, download and organize media files, PhotosChangeTimestamp detection, CLI media commands","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T21:02:39.793324508-06:00","updated_at":"2025-12-14T21:21:46.94012466-06:00","closed_at":"2025-12-14T21:21:46.94012466-06:00","dependencies":[{"issue_id":"html-sbh","depends_on_id":"html-5j7","type":"blocks","created_at":"2025-12-14T21:04:00.24472923-06:00","created_by":"unknown"}]} {"id":"html-t8u","title":"Add Resources section to navigation and create resource pages","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-11-30T02:24:25.662824938-06:00","updated_at":"2025-11-30T02:45:31.13972652-06:00","closed_at":"2025-11-30T02:45:31.13972652-06:00","close_reason":"Created Resources landing page, resource page template, Buyer's Guide, Seller's Guide, and added to navigation"} {"id":"html-x03","title":"MLS by HansonXyz Plugin - Phase 7: Cron \u0026 Automation","description":"WP Cron scheduling (configurable interval), standalone cron script for Unix cron","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T21:02:55.483012095-06:00","updated_at":"2025-12-14T21:22:06.519310981-06:00","closed_at":"2025-12-14T21:22:06.519310981-06:00","dependencies":[{"issue_id":"html-x03","depends_on_id":"html-4q8","type":"blocks","created_at":"2025-12-14T21:04:15.476790917-06:00","created_by":"unknown"}]} +{"id":"html-xub","title":"Expanded search filters - property type and zip code","description":"","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-16T13:11:40.568406605-06:00","updated_at":"2025-12-16T13:16:29.492622442-06:00","closed_at":"2025-12-16T13:16:29.492622442-06:00","close_reason":"Implemented expanded search filters: MLS property types dropdown (Residential, Land, Commercial Sale, Residential Lease, Residential Income, Farm), city dropdown (107 cities with 50+ listings), and zip code text input field"} {"id":"html-yxd","title":"Update broker footer legal text","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-16T11:52:52.82531755-06:00","updated_at":"2025-12-16T11:54:46.914199743-06:00","closed_at":"2025-12-16T11:54:46.914199743-06:00","close_reason":"Updated broker footer to 'HomeProz Real Estate LLC DBA LandProz Real Estate, LLC'"} diff --git a/FEATURES_PENDING_12_15.md b/FEATURES_PENDING_12_15.md index c499e63f..9ad29fa8 100644 --- a/FEATURES_PENDING_12_15.md +++ b/FEATURES_PENDING_12_15.md @@ -747,9 +747,9 @@ Also: "Broker Brian Haugen - MN | Broker/Auctioneer Greg Jensen - MN, IA - 24-21 ### High Priority (Implement) 1. Co-listing agent support (1.1) 2. Service area MN + IA (5.3) - COMPLETED 2025-12-16: Updated footer tagline to "Minnesota and Iowa" -3. Expanded search filters (1.5) -4. Property type showcase boxes (1.6) -5. Multi-recipient email routing (4.2) +3. Expanded search filters (1.5) - COMPLETED 2025-12-16: MLS property types, MLS cities (50+ listings), zip code input +4. Property type showcase boxes (1.6) - COMPLETED 2025-12-16: 5-box grid on homepage (Residential, Land, Commercial, Farm, Multi-Family) +5. Multi-recipient email routing (4.2) - COMPLETED 2025-12-16: Primary to office@, CC to info@, sender confirmation receipt 6. Agent page redesign (3.1) 7. Geolocation search (1.4) diff --git a/wp-content/themes/homeproz/dist/assets/main.css b/wp-content/themes/homeproz/dist/assets/main.css index bb65823c..91521e48 100644 --- a/wp-content/themes/homeproz/dist/assets/main.css +++ b/wp-content/themes/homeproz/dist/assets/main.css @@ -1,2 +1,2 @@ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com - */*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:solid}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.site-header{position:sticky;top:0;z-index:100;background-color:var(--color-bg-dark);border-bottom:1px solid var(--color-border)}.header-container{padding-top:1rem;padding-bottom:1rem}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-branding{flex-shrink:0}.site-branding .custom-logo-link{display:block}.site-branding .custom-logo-link img{max-height:60px;width:auto}.site-branding .site-title-link{text-decoration:none}.site-branding .site-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);letter-spacing:.02em}.main-navigation{display:none;flex-grow:1;justify-content:center}@media (min-width: 1024px){.main-navigation{display:flex}}.main-navigation .nav-menu{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0}.main-navigation .menu-item a{display:block;padding:.5rem 0;color:var(--color-text-muted);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}.main-navigation .menu-item a:hover{color:var(--color-text)}.main-navigation .menu-item.current-menu-item a,.main-navigation .menu-item.current_page_item a{color:var(--color-accent-light)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;padding:0;background:transparent;border:none;cursor:pointer}@media (min-width: 1024px){.menu-toggle{display:none}}.menu-toggle .menu-toggle-icon{display:flex;flex-direction:column;gap:5px}.menu-toggle .bar{display:block;width:24px;height:2px;background-color:var(--color-text)}.menu-toggle[aria-expanded=true] .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] .bar:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header-cta{display:none;flex-shrink:0}@media (min-width: 1024px){.header-cta{display:flex;align-items:center;gap:.75rem}}.header-cta .header-social{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.header-cta .header-social:hover{border-color:var(--color-accent);color:var(--color-accent-light)}.header-cta .header-social svg{width:18px;height:18px}.header-cta .header-phone{display:inline-flex;align-items:center;padding:.625rem 1.25rem;background-color:var(--color-accent);color:#fff;font-size:.875rem;font-weight:600;text-decoration:none;border-radius:.25rem}.header-cta .header-phone:hover{background-color:var(--color-accent-hover);color:#fff}.mobile-navigation{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:1rem}.mobile-navigation.is-open{display:block}@media (min-width: 1024px){.mobile-navigation{display:none!important}}.mobile-navigation .mobile-nav-menu{list-style:none;margin:0;padding:0}.mobile-navigation .menu-item{border-bottom:1px solid var(--color-border)}.mobile-navigation .menu-item:last-child{border-bottom:none}.mobile-navigation .menu-item a{display:block;padding:1rem 0;color:var(--color-text);font-size:1rem;text-decoration:none}.mobile-navigation .menu-item a:hover{color:var(--color-accent-light)}.mobile-navigation .mobile-menu-cta{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.mobile-navigation .mobile-menu-cta .btn,.mobile-navigation .mobile-menu-cta .comment-form .form-submit input[type=submit],.comment-form .form-submit .mobile-navigation .mobile-menu-cta input[type=submit]{display:block;width:100%;text-align:center}.site-footer{background-color:var(--color-bg-card);border-top:1px solid var(--color-border);margin-top:auto}.footer-container{padding-top:3rem;padding-bottom:1.5rem}.footer-inner{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.footer-inner{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.footer-inner{grid-template-columns:1.5fr 1fr 1.25fr 1fr;gap:2rem}}.footer-column{min-width:0}.footer-heading{font-family:var(--font-body);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);margin-bottom:1.25rem}.footer-about .footer-logo{margin-bottom:1rem}.footer-about .footer-logo img{max-height:50px;width:auto}.footer-about .footer-logo .site-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text)}.footer-about .footer-tagline{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.6}.footer-social{display:flex;gap:1rem}.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-dark);border-radius:.25rem;color:var(--color-text-muted)}.footer-social a:hover{background-color:var(--color-accent);color:#fff}.footer-social a svg{width:20px;height:20px}.footer-links .footer-menu{list-style:none;margin:0;padding:0}.footer-links .menu-item{margin-bottom:.75rem}.footer-links .menu-item:last-child{margin-bottom:0}.footer-links .menu-item a{color:var(--color-text-muted);font-size:.9375rem;text-decoration:none}.footer-links .menu-item a:hover{color:var(--color-accent-light)}.contact-list{list-style:none;margin:0;padding:0}.contact-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;font-size:.9375rem}.contact-item:last-child{margin-bottom:0}.contact-item svg{flex-shrink:0;color:var(--color-accent);margin-top:.125rem}.contact-item a{color:var(--color-text-muted);text-decoration:none}.contact-item a:hover{color:var(--color-accent-light)}.contact-item span{color:var(--color-text-muted)}.footer-hours .hours-list{list-style:none;margin:0;padding:0}.footer-hours .hours-item{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.5rem;font-size:.875rem}.footer-hours .hours-item:last-child{margin-bottom:0}.footer-hours .hours-day{color:var(--color-text-muted)}.footer-hours .hours-time{color:var(--color-text);text-align:right}.footer-legal{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding-top:2rem;margin-top:2rem;border-top:1px solid var(--color-border)}.footer-legal-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}@media (max-width: 640px){.footer-legal-inner{gap:1rem}}.legal-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-muted);font-size:.8125rem;text-decoration:none}.legal-item:hover{border-color:var(--color-accent);color:var(--color-accent-light)}.legal-item:hover svg{color:var(--color-accent)}.legal-item svg{flex-shrink:0;color:var(--color-text-muted)}@media (max-width: 640px){.legal-item{width:calc(50% - .5rem);justify-content:center;padding:.625rem .75rem;font-size:.75rem}}.footer-license{margin:0;font-size:.75rem;color:var(--color-sold);text-align:center}.footer-temp-link{text-align:center;padding:1rem 0;margin-top:1.5rem;border-top:2px dashed var(--color-accent);border-bottom:2px dashed var(--color-accent)}.footer-temp-link a{display:inline-block;padding:.75rem 2rem;background-color:var(--color-accent);color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.1em;text-decoration:none;border-radius:.25rem}.footer-temp-link a:hover{background-color:var(--color-accent-hover);color:#fff}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-top:1.5rem;margin-top:2rem;border-top:1px solid var(--color-border);text-align:center}@media (min-width: 768px){.footer-bottom{flex-direction:row;justify-content:space-between}}.footer-bottom p{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.footer-bottom .copyright{color:var(--color-sold)}.footer-bottom .footer-credits a{color:var(--color-text-muted);text-decoration:none}.footer-bottom .footer-credits a:hover{color:var(--color-accent-light)}.page-content{padding:2rem 0 4rem}.page-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.page-title{margin-bottom:0}.entry-content{max-width:800px}.entry-content>*:first-child{margin-top:0}.entry-content>*:last-child{margin-bottom:0}.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin-top:2rem}.entry-content ul,.entry-content ol{margin-bottom:1rem;padding-left:1.5rem}.entry-content ul li,.entry-content ol li{margin-bottom:.5rem}.entry-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--color-accent);background-color:var(--color-bg-card)}.entry-content blockquote p:last-child{margin-bottom:0}.entry-content table{width:100%;margin-bottom:1rem;border-collapse:collapse}.entry-content table th,.entry-content table td{padding:.75rem;border:1px solid var(--color-border);text-align:left}.entry-content table th{background-color:var(--color-bg-card);font-weight:600;color:var(--color-text)}.entry-content img{max-width:100%;height:auto;border-radius:.25rem}.entry-content code{padding:.125rem .375rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.875em}.entry-content pre{margin-bottom:1rem;padding:1rem;background-color:var(--color-bg-card);border-radius:.25rem;overflow-x:auto}.entry-content pre code{padding:0;background:none}.page-links{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border);font-weight:500}.page-links .page-numbers{display:inline-block;padding:.25rem .5rem;margin:0 .25rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.page-links .page-numbers.current,.page-links .page-numbers:hover{background-color:var(--color-accent);color:#fff}.archive-header{margin-bottom:2rem;padding:2rem 0;border-bottom:1px solid var(--color-border)}.archive-title{margin-bottom:0}.posts-grid{display:grid;grid-template-columns:1fr;gap:2rem;padding:2rem 0}@media (min-width: 768px){.posts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.posts-grid{grid-template-columns:repeat(3,1fr)}}.post-card{display:flex;flex-direction:column}.post-card-image{display:block;aspect-ratio:16/10;overflow:hidden}.post-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.post-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.post-card-header{margin-bottom:.75rem}.post-card-meta{margin-bottom:.5rem}.post-card-meta time{font-size:.8125rem;color:var(--color-text-muted)}.post-card-title{font-family:var(--font-body);font-size:1.125rem;font-weight:600;line-height:1.4;margin-bottom:0}.post-card-title a{color:var(--color-text);text-decoration:none}.post-card-title a:hover{color:var(--color-accent-light)}.post-card-excerpt{flex-grow:1;margin-bottom:1rem}.post-card-excerpt p{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0;line-height:1.6}.post-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none}.post-card-link:hover{color:var(--color-accent-hover)}.post-card-link svg{width:16px;height:16px}.pagination,.nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:2rem 0;flex-wrap:wrap}.pagination .page-numbers,.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none;font-size:.875rem;font-weight:500}.pagination .page-numbers.current,.nav-links .page-numbers.current{background-color:var(--color-accent);color:#fff}.pagination .page-numbers:hover:not(.current):not(.dots),.nav-links .page-numbers:hover:not(.current):not(.dots){background-color:var(--color-border);color:var(--color-text)}.pagination .page-numbers.dots,.nav-links .page-numbers.dots{background:none;cursor:default}.pagination .prev,.pagination .next,.nav-links .prev,.nav-links .next{padding:0 1rem}.no-posts{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.Single_Post .single-post-main{padding:0}.Single_Post .single-post-hero{width:100%;max-height:60vh;overflow:hidden}.Single_Post .single-post-hero img{width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.Single_Post .single-post-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Single_Post .single-post-section{padding:3rem 0}}.Single_Post .single-post-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 1024px){.Single_Post .single-post-layout{grid-template-columns:1fr;gap:3rem}}.Single_Post .related-posts-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.Single_Post .related-posts-section{padding:3rem 0}}.Single_Post .related-posts-header{text-align:center;margin-bottom:2rem}.Single_Post .related-posts-title{font-family:var(--font-display);font-size:1.875rem;color:var(--color-text);margin-bottom:0}.Single_Post .related-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.Single_Post .related-posts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.Single_Post .related-posts-grid{grid-template-columns:1fr}}.single-post{padding:0;max-width:none}.post-header{margin-bottom:2rem}.post-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:var(--color-text-muted)}.post-meta time{color:var(--color-text-muted)}.post-meta .meta-separator{color:var(--color-border)}.post-meta .post-categories a{color:var(--color-accent-light);text-decoration:none}.post-meta .post-categories a:hover{color:var(--color-accent-hover)}.post-title{font-size:2.5rem;margin-bottom:0}@media (max-width: 768px){.post-title{font-size:2rem}}.post-featured-image{margin-bottom:2rem;border-radius:.5rem;overflow:hidden}.post-featured-image img{width:100%;height:auto;display:block}.post-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.post-tags .tags-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.post-tags .tag-link{display:inline-block;padding:.25rem .75rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.8125rem;color:var(--color-text-muted);text-decoration:none}.post-tags .tag-link:hover{background-color:var(--color-accent);color:#fff}.post-navigation{margin-top:3rem;padding:1.5rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.post-navigation .nav-links{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 640px){.post-navigation .nav-links{grid-template-columns:1fr 1fr}}.post-navigation .nav-previous a,.post-navigation .nav-next a{display:block;text-decoration:none}.post-navigation .nav-next{text-align:right}.post-navigation .nav-subtitle{display:block;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.25rem}.post-navigation .nav-title{display:block;font-size:1rem;font-weight:500;color:var(--color-text);line-height:1.4}.post-navigation a:hover .nav-title{color:var(--color-accent-light)}.comments-area{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.comments-title{margin-bottom:1.5rem}.comment-list{list-style:none;margin:0;padding:0}.comment-list .comment{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.comment-list .comment:last-child{border-bottom:none}.comment-list .comment-body{display:flex;gap:1rem}.comment-list .comment-author{flex-shrink:0}.comment-list .comment-author img{border-radius:50%}.comment-list .comment-content{flex-grow:1}.comment-list .fn{font-weight:600;color:var(--color-text)}.comment-list .comment-metadata{margin-bottom:.5rem;font-size:.8125rem;color:var(--color-text-muted)}.comment-list .comment-metadata a{color:var(--color-text-muted);text-decoration:none}.comment-list .comment-metadata a:hover{color:var(--color-accent-light)}.comment-respond{margin-top:2rem}.comment-reply-title{margin-bottom:1rem}.comment-form label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text)}.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{margin-bottom:1rem}.comment-form .form-submit{margin-top:1rem}.error-404{text-align:center;padding:4rem 0;max-width:600px;margin:0 auto}.error-header{margin-bottom:2rem}.error-title{font-size:8rem;line-height:1;color:var(--color-accent);margin-bottom:.5rem}@media (max-width: 640px){.error-title{font-size:5rem}}.error-subtitle{font-size:1.5rem;font-weight:500;color:var(--color-text);margin-bottom:0}.error-content{margin-bottom:2rem}.error-content p{font-size:1rem;color:var(--color-text-muted)}.error-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.error-search{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.error-search p{margin-bottom:1rem;color:var(--color-text-muted)}.search-form{display:flex;max-width:400px;margin:0 auto}.search-form .search-field{flex-grow:1;border-radius:.25rem 0 0 .25rem}.search-form .search-submit{flex-shrink:0;padding:.75rem 1.25rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:0 .25rem .25rem 0;font-weight:600;cursor:pointer}.search-form .search-submit:hover{background-color:var(--color-accent-hover)}.Home_Page .homepage-main{padding:0}.Home_Page .hero-desktop-only{display:none}@media (min-width: 1450px){.Home_Page .hero-desktop-only{display:block}}.Home_Page .hero-mobile-only{display:block}@media (min-width: 1450px){.Home_Page .hero-mobile-only{display:none}}.Home_Page .section-header{text-align:center;margin-bottom:3rem}@media (max-width: 768px){.Home_Page .section-header{margin-bottom:2rem}}.Home_Page .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.Home_Page .section-title{font-size:1.875rem}}.Home_Page .section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.Home_Page .section-footer{text-align:center;margin-top:2.5rem}.Home_Page .featured-properties-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.Home_Page .featured-properties-section{padding:3rem 0}}.Home_Page .featured-properties-section--alt{background-color:var(--color-bg-dark)}.Home_Page .property-grid--3col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.Home_Page .property-grid--3col{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.Home_Page .property-grid--3col{grid-template-columns:1fr}}.Home_Page .no-properties-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.About_Page .about-page-main{padding:0}.About_Page .about-story-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.About_Page .about-story-section{padding:3rem 0}}.About_Page .about-story-layout{display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:center}@media (max-width: 1300px){.About_Page .about-story-layout{grid-template-columns:1fr;gap:2rem}}.About_Page .about-story-image img{width:100%;height:auto;border-radius:.5rem;display:block}@media (max-width: 1300px){.About_Page .about-story-image{max-width:500px;margin:0 auto}}.About_Page .about-story-content h2,.About_Page .about-story-content h3{font-family:var(--font-display);color:var(--color-text);margin-top:2rem}.About_Page .about-story-content h2:first-child,.About_Page .about-story-content h3:first-child{margin-top:0}.About_Page .about-story-content p{font-size:1.125rem;line-height:1.8;color:var(--color-text-muted)}.About_Page .about-values-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.About_Page .about-values-section{padding:3rem 0}}.About_Page .about-values-header{text-align:center;margin-bottom:3rem}.About_Page .about-values-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:0}@media (max-width: 768px){.About_Page .about-values-title{font-size:1.875rem}}.About_Page .about-team-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.About_Page .about-team-section{padding:3rem 0}}.About_Page .about-team-header{text-align:center;margin-bottom:3rem}.About_Page .about-team-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.About_Page .about-team-title{font-size:1.875rem}}.About_Page .about-team-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.About_Page .about-broker-section{padding:3rem 0;background-color:var(--color-bg-card);border-top:1px solid var(--color-border)}.About_Page .about-broker-content{text-align:center}.About_Page .about-broker-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.5rem}.About_Page .about-broker-text{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0}.Contact_Page .contact-page-main{padding:0}.Contact_Page .contact-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Contact_Page .contact-section{padding:3rem 0}}.Contact_Page .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}@media (max-width: 1024px){.Contact_Page .contact-grid{grid-template-columns:1fr;gap:2rem}}.Contact_Page .contact-form-wrapper{background-color:var(--color-bg-card);padding:2rem;border-radius:.5rem}.Contact_Page .contact-form-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1.5rem}.Contact_Page .contact-form-notice{color:var(--color-text-muted);font-style:italic;margin-bottom:1.5rem}.Contact_Page .property-inquiry-display{background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);padding:1rem 1.25rem;margin-bottom:1.5rem;border-radius:.25rem}.Contact_Page .property-inquiry-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem}.Contact_Page .property-inquiry-value{font-size:.9375rem;color:var(--color-text);line-height:1.4}.Contact_Page .property-inquiry-value a{color:var(--color-accent-light);text-decoration:none}.Contact_Page .property-inquiry-value a:hover{text-decoration:underline}.Contact_Page .contact-form .form-group{margin-bottom:1.25rem}.Contact_Page .contact-form label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.Contact_Page .contact-form label .required{color:var(--color-accent)}.Contact_Page .contact-form input,.Contact_Page .contact-form textarea{width:100%}.Contact_Page .contact-form button[type=submit]{width:100%;margin-top:.5rem}.Contact_Page .wpcf7-form .form-group,.Contact_Page .wpcf7-form p{margin-bottom:1.25rem}.Contact_Page .wpcf7-form label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.Contact_Page .wpcf7-form br{display:none}.Contact_Page .wpcf7-form input[type=text],.Contact_Page .wpcf7-form input[type=email],.Contact_Page .wpcf7-form input[type=tel],.Contact_Page .wpcf7-form textarea{width:100%}.Contact_Page .wpcf7-form input[type=submit]{width:100%;margin-top:.5rem;background-color:var(--color-accent);color:#fff;padding:.75rem 1.5rem;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;border:none;cursor:pointer}.Contact_Page .wpcf7-form input[type=submit]:hover{background-color:var(--color-accent-hover)}.Contact_Page .wpcf7-form .wpcf7-response-output{margin:1rem 0 0;padding:1rem;border-radius:.25rem}.Contact_Page .wpcf7-form .wpcf7-mail-sent-ok{background-color:var(--color-success);color:#fff;border:none}.Contact_Page .wpcf7-form .wpcf7-validation-errors,.Contact_Page .wpcf7-form .wpcf7-mail-sent-ng{background-color:var(--color-accent);color:#fff;border:none}.Contact_Page .contact-info-wrapper{display:flex;flex-direction:column}.Contact_Page .contact-info-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1.5rem}.Contact_Page .contact-info-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.Contact_Page .contact-info-item{display:flex;gap:1rem}.Contact_Page .contact-info-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-card);border-radius:.5rem;color:var(--color-accent);text-decoration:none}.Contact_Page .contact-info-icon:hover{background-color:var(--color-accent);color:#fff}.Contact_Page .contact-info-content{flex:1}.Contact_Page .contact-info-label{font-family:Times New Roman,Times,serif;font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem}.Contact_Page .contact-info-value{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0;line-height:1.5}.Contact_Page .contact-info-value a{color:var(--color-text-muted)}.Contact_Page .contact-info-value a:hover{color:var(--color-accent-light)}.Contact_Page .contact-map{border-radius:.5rem;overflow:hidden;background-color:var(--color-bg-card)}.Contact_Page .contact-map iframe{display:block}.Contact_Page .contact-additional-content{padding:3rem 0;background-color:var(--color-bg-card)}.Contact_Page .contact-additional-content .entry-content{max-width:800px;margin:0 auto}.Blog_Archive .archive-main,.Archive_Page .archive-main{padding:0}.Blog_Archive .archive-content-section,.Archive_Page .archive-content-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Blog_Archive .archive-content-section,.Archive_Page .archive-content-section{padding:3rem 0}}.Blog_Archive .archive-layout,.Archive_Page .archive-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 1024px){.Blog_Archive .archive-layout,.Archive_Page .archive-layout{grid-template-columns:1fr;gap:3rem}}.Blog_Archive .posts-grid,.Archive_Page .posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media (max-width: 768px){.Blog_Archive .posts-grid,.Archive_Page .posts-grid{grid-template-columns:1fr}}.Blog_Archive .no-posts-message,.Archive_Page .no-posts-message{text-align:center;padding:3rem;background-color:var(--color-bg-card);border-radius:.5rem}.Blog_Archive .no-posts-message h2,.Archive_Page .no-posts-message h2{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.Blog_Archive .no-posts-message p,.Archive_Page .no-posts-message p{color:var(--color-text-muted);margin-bottom:0}.Blog_Archive .navigation.pagination,.Archive_Page .navigation.pagination{margin-top:3rem}.Blog_Archive .navigation.pagination .nav-links,.Archive_Page .navigation.pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}.Blog_Archive .navigation.pagination .page-numbers,.Archive_Page .navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);color:var(--color-text-muted);border-radius:.25rem;font-size:.875rem}.Blog_Archive .navigation.pagination .page-numbers:hover,.Archive_Page .navigation.pagination .page-numbers:hover,.Blog_Archive .navigation.pagination .page-numbers.current,.Archive_Page .navigation.pagination .page-numbers.current{background-color:var(--color-accent);color:#fff}.Blog_Archive .navigation.pagination .page-numbers svg,.Archive_Page .navigation.pagination .page-numbers svg{width:16px;height:16px}.Blog_Archive .navigation.pagination .prev,.Blog_Archive .navigation.pagination .next,.Archive_Page .navigation.pagination .prev,.Archive_Page .navigation.pagination .next{display:inline-flex;align-items:center;gap:.5rem}@media (max-width: 1024px){.Blog_Archive .archive-sidebar,.Archive_Page .archive-sidebar{max-width:400px}}.sidebar-widgets{display:flex;flex-direction:column;gap:2rem}.sidebar-widget{background-color:var(--color-bg-card);padding:1.5rem;border-radius:.5rem}.widget-title{font-family:var(--font-display);font-size:1.125rem;color:var(--color-text);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.widget-search .search-form{display:flex;gap:.5rem}.widget-search .search-field{flex:1}.widget-search .search-submit{flex-shrink:0;padding:.75rem 1rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:.25rem;cursor:pointer}.widget-search .search-submit:hover{background-color:var(--color-accent-hover)}.category-list{list-style:none;margin:0;padding:0}.category-list li{padding:.5rem 0;border-bottom:1px solid var(--color-border)}.category-list li:last-child{border-bottom:none;padding-bottom:0}.category-list a{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-muted);font-size:.9375rem}.category-list a:hover{color:var(--color-accent-light)}.category-list .count{font-size:.8125rem;color:var(--color-sold)}.recent-posts-list{list-style:none;margin:0;padding:0}.recent-posts-list li{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.recent-posts-list li:last-child{border-bottom:none;padding-bottom:0}.recent-posts-list a{display:block;color:var(--color-text);font-size:.9375rem;font-weight:500;line-height:1.4;margin-bottom:.25rem}.recent-posts-list a:hover{color:var(--color-accent-light)}.recent-posts-list .post-date{display:block;font-size:.8125rem;color:var(--color-sold)}.widget-cta{background-color:var(--color-accent);text-align:center}.widget-cta .widget-title{color:#fff;border-bottom-color:#fff3}.widget-cta p{color:#ffffffe6;font-size:.9375rem;margin-bottom:1rem}.widget-cta .btn-primary,.widget-cta .comment-form .form-submit input[type=submit],.comment-form .form-submit .widget-cta input[type=submit]{background-color:#fff;color:var(--color-accent)}.widget-cta .btn-primary:hover,.widget-cta .comment-form .form-submit input[type=submit]:hover,.comment-form .form-submit .widget-cta input[type=submit]:hover{background-color:var(--color-text)}.widget-cta .btn-small{padding:.5rem 1rem;font-size:.8125rem}.full-width-main{padding:0}.full-width-hero{width:100%;max-height:50vh;overflow:hidden}.full-width-hero img{width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.full-width-content .page-header{padding:3rem 0 2rem}.full-width-content .page-title{font-size:2.5rem;margin-bottom:0}@media (max-width: 768px){.full-width-content .page-title{font-size:2rem}}.full-width-content .entry-content--wide{padding-bottom:4rem}.full-width-content .entry-content--wide>.alignfull{max-width:none}.full-width-content .entry-content--wide>.alignwide{max-width:calc(var(--container-max) + 200px);margin-left:auto;margin-right:auto}.landing-page-site{display:flex;flex-direction:column;min-height:100vh}.landing-header{padding:1rem 0;background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border)}.landing-header-content{text-align:center}.landing-logo{display:inline-block}.landing-logo .custom-logo{max-height:40px;width:auto}.landing-logo .site-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text)}.landing-main{flex:1;padding:0}.landing-content .entry-content>*:first-child{margin-top:0}.landing-content .entry-content>.alignfull{max-width:none;width:100vw;margin-left:calc(-50vw + 50%)}.landing-footer{padding:1.5rem 0;background-color:var(--color-bg-card);border-top:1px solid var(--color-border)}.landing-footer-text{text-align:center;font-size:.875rem;color:var(--color-text-muted);margin:0}.landing-footer-links{display:inline-block;margin-left:1rem;padding-left:1rem;border-left:1px solid var(--color-border)}.landing-footer-links a{color:var(--color-text-muted)}.landing-footer-links a:hover{color:var(--color-accent-light)}.Search_Page .search-main{padding:0}.Search_Page .search-content-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Search_Page .search-content-section{padding:3rem 0}}.Search_Page .search-form-wrapper{max-width:600px;margin:0 auto 2rem}.Search_Page .search-form-wrapper .search-form{display:flex;gap:.5rem}.Search_Page .search-form-wrapper .search-field{flex:1;padding:1rem 1.25rem;font-size:1rem}.Search_Page .search-form-wrapper .search-submit{padding:1rem 1.5rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:.25rem;font-weight:600;cursor:pointer}.Search_Page .search-form-wrapper .search-submit:hover{background-color:var(--color-accent-hover)}.Search_Page .search-results-count{text-align:center;color:var(--color-text-muted);margin-bottom:2rem}.Search_Page .search-results{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto}.Search_Page .search-result-item{display:flex;gap:1.5rem;padding:1.5rem;background-color:var(--color-bg-card);border-radius:.5rem}@media (max-width: 640px){.Search_Page .search-result-item{flex-direction:column;gap:1rem}}.Search_Page .search-result-image{flex-shrink:0}.Search_Page .search-result-image img{width:120px;height:90px;-o-object-fit:cover;object-fit:cover;border-radius:.25rem}@media (max-width: 640px){.Search_Page .search-result-image img{width:100%;height:200px}}.Search_Page .search-result-content{flex:1}.Search_Page .search-result-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;font-size:.8125rem}.Search_Page .search-result-type{display:inline-block;padding:.125rem .5rem;background-color:var(--color-accent);color:#fff;border-radius:.25rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em}.Search_Page .search-result-date{color:var(--color-text-muted)}.Search_Page .search-result-title{font-family:var(--font-display);font-size:1.25rem;margin-bottom:.5rem}.Search_Page .search-result-title a{color:var(--color-text)}.Search_Page .search-result-title a:hover{color:var(--color-accent-light)}.Search_Page .search-result-excerpt{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:.75rem}.Search_Page .search-result-excerpt p{margin:0}.Search_Page .search-result-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light)}.Search_Page .search-result-link:hover{color:var(--color-accent-hover)}.Search_Page .no-results-message{text-align:center;padding:3rem;background-color:var(--color-bg-card);border-radius:.5rem;max-width:500px;margin:0 auto}.Search_Page .no-results-message h2{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.Search_Page .no-results-message p{color:var(--color-text-muted);margin-bottom:1.5rem}.Search_Page .no-results-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.Search_Page .navigation.pagination{margin-top:3rem;max-width:800px;margin-left:auto;margin-right:auto}.Search_Page .navigation.pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}.Search_Page .navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);color:var(--color-text-muted);border-radius:.25rem;font-size:.875rem}.Search_Page .navigation.pagination .page-numbers:hover,.Search_Page .navigation.pagination .page-numbers.current{background-color:var(--color-accent);color:#fff}.communities-page-main{padding:0}.communities-grid-section{padding:4rem 0;background-color:var(--color-bg-card)}.communities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media (max-width: 1024px){.communities-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.communities-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.communities-grid{grid-template-columns:1fr}}.community-card{display:block;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;text-decoration:none;transition:border-color .2s ease,transform .2s ease}.community-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.community-card:hover .community-card-arrow{transform:translate(4px)}.community-card-content{display:flex;flex-direction:column;gap:.5rem}.community-card-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin:0}.community-card-count{font-size:.875rem;color:var(--color-text-muted)}.community-card-arrow{margin-top:.5rem;color:var(--color-accent);transition:transform .2s ease}.communities-about-section{padding:4rem 0;background-color:var(--color-bg-dark)}.communities-about-content{max-width:800px;margin:0 auto;text-align:center}.communities-about-content h2{font-family:var(--font-display);font-size:2rem;color:var(--color-text);margin-bottom:1.5rem}.communities-about-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:1rem}.communities-about-content p:last-child{margin-bottom:0}.no-communities-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.community-page-main{padding:0}.community-about-section{padding:4rem 0;background-color:var(--color-bg-card)}.community-about-content{max-width:800px;margin:0 auto}.community-about-content h2,.community-about-content h3,.community-about-content h4{font-family:var(--font-display);color:var(--color-text)}.community-about-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7}.community-about-content ul,.community-about-content ol{color:var(--color-text-muted);margin-bottom:1rem;padding-left:1.5rem}.community-about-content li{margin-bottom:.5rem}.community-properties-section{padding:4rem 0;background-color:var(--color-bg-dark)}.community-properties-section .section-header{text-align:center;margin-bottom:3rem}.community-properties-section .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}.community-properties-section .section-subtitle{font-size:1.125rem;color:var(--color-text-muted)}.community-properties-section .section-footer{text-align:center;margin-top:2.5rem}.community-properties-section .property-grid--3col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.community-properties-section .property-grid--3col{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.community-properties-section .property-grid--3col{grid-template-columns:1fr}}.community-properties-section .no-properties-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.community-properties-section .no-properties-message a{color:var(--color-accent-light)}.community-properties-section .no-properties-message a:hover{color:var(--color-accent-hover)}.resources-page-main{padding:0}.resources-featured-section{padding:4rem 0;background-color:var(--color-bg-dark)}.resources-featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 768px){.resources-featured-grid{grid-template-columns:1fr}}.resource-featured-card{position:relative;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:2.5rem;text-align:center;cursor:pointer}.resource-featured-card:hover{border-color:var(--color-accent)}.resource-featured-card:hover .btn,.resource-featured-card:hover .comment-form .form-submit input[type=submit],.comment-form .form-submit .resource-featured-card:hover input[type=submit]{background-color:var(--color-accent-hover)}.resource-card-link-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.resource-featured-icon{display:flex;align-items:center;justify-content:center;width:100px;height:100px;margin:0 auto 1.5rem;background-color:#9f37301a;border-radius:50%;color:var(--color-accent)}.resource-featured-title{font-family:var(--font-display);font-size:1.75rem;color:var(--color-text);margin-bottom:1rem}.resource-featured-description{font-size:1rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:1.5rem}.resources-additional-section{padding:4rem 0;background-color:var(--color-bg-dark)}.resources-additional-section .section-header{text-align:center;margin-bottom:3rem}.resources-additional-section .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}.resources-additional-section .section-subtitle{font-size:1.125rem;color:var(--color-text-muted)}.resources-additional-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 992px){.resources-additional-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.resources-additional-grid{grid-template-columns:1fr}}.resource-card{position:relative;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;cursor:pointer}.resource-card:hover{border-color:var(--color-accent)}.resource-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:1rem;background-color:#9f37301a;border-radius:.5rem;color:var(--color-accent)}.resource-card-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.5rem}.resource-card-description{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:0}.resource-page-main{padding:0}.resource-content-section{padding:4rem 0;background-color:var(--color-bg-card)}.resource-content-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 992px){.resource-content-layout{grid-template-columns:1fr}}.resource-content h2,.resource-content h3,.resource-content h4{font-family:var(--font-display);color:var(--color-text);margin-top:2rem;margin-bottom:1rem}.resource-content h2:first-child,.resource-content h3:first-child,.resource-content h4:first-child{margin-top:0}.resource-content h2{font-size:1.75rem}.resource-content h3{font-size:1.5rem}.resource-content h4{font-size:1.25rem}.resource-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7}.resource-content ul,.resource-content ol{color:var(--color-text-muted);margin-bottom:1.5rem;padding-left:1.5rem;font-size:1.125rem;line-height:1.7}.resource-content li{margin-bottom:.5rem}.resource-content blockquote{border-left:4px solid var(--color-accent);padding-left:1.5rem;margin:1.5rem 0;font-style:italic;color:var(--color-text-muted)}@media (max-width: 992px){.resource-sidebar{order:-1}}.resource-sidebar-sticky{position:sticky;top:100px}@media (max-width: 992px){.resource-sidebar-sticky{position:static}}.resource-sidebar-card{background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.resource-sidebar-card h3{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.75rem}.resource-sidebar-card p{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1rem}.resource-sidebar-phone{text-align:center;margin-top:1rem;margin-bottom:0}.resource-sidebar-phone a{color:var(--color-accent-light)}.resource-sidebar-phone a:hover{color:var(--color-accent-hover)}.resource-sidebar-links{list-style:none;padding:0;margin:0}.resource-sidebar-links li{margin-bottom:.5rem}.resource-sidebar-links li:last-child{margin-bottom:0}.resource-sidebar-links a{color:var(--color-text-muted);font-size:.875rem}.resource-sidebar-links a:hover{color:var(--color-accent-light)}.mortgage-calculator-main{padding-bottom:4rem}.mortgage-calculator-layout{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:2rem}@media (min-width: 1024px){.mortgage-calculator-layout{grid-template-columns:1fr 350px;gap:3rem}}.calculator-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:2rem;margin-bottom:2rem}@media (max-width: 640px){.calculator-widget{padding:1.5rem}}.calculator-form{display:flex;flex-direction:column;gap:2rem}@media (min-width: 768px){.calculator-form{flex-direction:row;gap:3rem}}.calculator-inputs{flex:1;display:flex;flex-direction:column;gap:1.25rem}.input-group label{display:block;font-family:Times New Roman,Times,serif;font-size:.875rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem}.input-row{display:flex;gap:.75rem}.input-row .input-currency{flex:2}.input-row .input-percent{flex:1;min-width:80px}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input,.input-wrapper select{width:100%;padding:.75rem 1rem;background-color:#000;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:1rem;font-family:inherit}.input-wrapper input:focus,.input-wrapper select:focus{outline:none;border-color:var(--color-accent)}.input-wrapper select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;cursor:pointer}.input-wrapper.input-currency input{padding-left:1.75rem}.input-wrapper.input-currency .input-prefix{position:absolute;left:.75rem;color:var(--color-text-muted);pointer-events:none}.input-wrapper.input-percent input{padding-right:2rem}.input-wrapper.input-percent .input-suffix{position:absolute;right:.75rem;color:var(--color-text-muted);pointer-events:none}.calculator-results{flex:1;display:flex;flex-direction:column;justify-content:center}@media (min-width: 768px){.calculator-results{padding-left:2rem;border-left:1px solid var(--color-border)}}@media (max-width: 767px){.calculator-results{padding-top:1.5rem;border-top:1px solid var(--color-border)}}.result-main{text-align:center;margin-bottom:1.5rem}.result-main .result-label{display:block;font-size:.875rem;color:var(--color-text-muted);margin-bottom:.5rem}@media (min-width: 1024px){.result-main .result-label{font-size:1.4rem}}.result-main .result-value{display:block;font-family:var(--font-display);font-size:2.5rem;color:var(--color-accent-light);line-height:1.2}@media (max-width: 640px){.result-main .result-value{font-size:2rem}}@media (min-width: 1024px){.result-main .result-value{font-size:3.125rem}}.result-breakdown{display:flex;flex-direction:column;gap:.75rem}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.breakdown-item:last-child{border-bottom:none}.breakdown-item .breakdown-label{font-size:.875rem;color:var(--color-text-muted)}.breakdown-item .breakdown-value{font-size:.9375rem;font-weight:600;color:var(--color-text)}.calculator-guide,.calculator-notes{margin-bottom:2rem}.calculator-guide .section-title,.calculator-notes .section-title{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.guide-content p,.notes-content p{color:var(--color-text-muted);line-height:1.7;margin-bottom:1rem}.guide-list,.notes-list{list-style:none;margin:0;padding:0}.guide-list li,.notes-list li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;color:var(--color-text-muted);line-height:1.6}.guide-list li:before,.notes-list li:before{content:"";position:absolute;left:0;top:.5rem;width:6px;height:6px;background-color:var(--color-accent);border-radius:50%}.guide-list li strong,.notes-list li strong{color:var(--color-text)}.mortgage-calculator-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 1024px){.mortgage-calculator-sidebar{align-self:start}}.mortgage-calculator-sidebar .sidebar-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem}.mortgage-calculator-sidebar .widget-title{font-family:Times New Roman,Times,serif;font-size:18px;font-weight:700;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.tips-list{list-style:none;margin:0;padding:0}.tips-list li{position:relative;padding-left:1.25rem;margin-bottom:.875rem;font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.tips-list li:before{content:"";position:absolute;left:0;top:.5rem;width:5px;height:5px;background-color:var(--color-accent);border-radius:50%}.tips-list li:last-child{margin-bottom:0}.help-text{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:1.25rem}.btn-block{display:block;width:100%;text-align:center}.resource-links{list-style:none;margin:0;padding:0}.resource-links li{margin-bottom:.625rem}.resource-links li:last-child{margin-bottom:0}.resource-links a{color:var(--color-text-muted);font-size:.9375rem;text-decoration:none}.resource-links a:hover{color:var(--color-accent-light)}.property-card{display:flex;flex-direction:column;height:100%;background-color:var(--color-bg-dark);border:1px solid var(--color-accent);border-radius:.5rem;overflow:hidden;position:relative;cursor:pointer}.property-card:hover{border-color:var(--color-accent-hover)}.property-card:hover .property-card-link{color:var(--color-accent-hover)}.property-card-link-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.property-card-image{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background-color:var(--color-bg-dark);background-size:cover;background-position:center;background-repeat:no-repeat}.property-card-image.has-image{background-color:var(--color-bg-card)}.property-card-image.is-loaded .property-card-spinner{display:none}.property-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.property-card-spinner{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-card)}.property-card-spinner .spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:card-spin .8s linear infinite}@keyframes card-spin{to{transform:rotate(360deg)}}.property-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);color:var(--color-border)}.property-card-badge{position:absolute;top:.75rem;left:.75rem}.property-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.property-card-price{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.property-card-title{font-family:var(--font-body);font-size:1rem;font-weight:500;line-height:1.4;margin-bottom:.75rem;color:var(--color-text-muted)}.property-card-specs{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;margin:0 0 .75rem;padding:0}.spec-item{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-muted)}.spec-item svg{color:var(--color-accent);flex-shrink:0}.property-card-excerpt{flex-grow:1;font-size:.875rem;color:var(--color-sold);margin-bottom:1rem;line-height:1.5}.property-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none;margin-top:auto}.property-card-link:hover{color:var(--color-accent-hover)}.property-card-link svg{width:16px;height:16px}.properties-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0}@media (min-width: 640px){.properties-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.properties-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}.properties-meta{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--color-border)}.properties-count{font-size:.9375rem;color:var(--color-text-muted)}.properties-count strong{color:var(--color-text)}.no-properties{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.no-properties h3{color:var(--color-text);margin-bottom:.5rem}.no-properties p{margin-bottom:1.5rem}.archive-hero{position:relative;background-color:var(--color-bg-card);background-size:cover;background-position:center;background-repeat:no-repeat;padding:3rem 0}.archive-hero.has-background{padding:4rem 0}@media (max-width: 768px){.archive-hero.has-background{padding:3rem 0}}.archive-hero .container{position:relative;z-index:2}.archive-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0a0a0abf,#0a0a0aa6);z-index:1}.archive-hero-title{margin-bottom:.5rem}.has-background .archive-hero-title{text-shadow:0 2px 4px rgba(0,0,0,.3)}.archive-hero-subtitle{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:0;max-width:600px}.has-background .archive-hero-subtitle{color:var(--color-text);opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.3)}.view-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem}.view-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--color-text-muted);background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.25rem;text-decoration:none;transition:all .15s ease}.view-toggle-btn:hover{color:var(--color-text);border-color:var(--color-accent)}.view-toggle-btn.active{color:var(--color-text);background-color:var(--color-accent);border-color:var(--color-accent)}.view-toggle-btn svg{flex-shrink:0}.property-map-layout{display:none}@media (min-width: 1024px){.is-map-view .property-map-layout{display:grid;grid-template-columns:minmax(300px,33%) 1fr;gap:2rem;width:var(--layout-width, 100%);max-width:100%;margin-left:auto;margin-right:auto}}.grid-view-container{display:block}.grid-view-container .view-toggle{display:none}@media (min-width: 1024px){.grid-view-container .view-toggle{display:flex}.grid-view-container{display:none}.is-grid-view .grid-view-container{display:block;width:var(--layout-width, 100%);max-width:100%;margin-left:auto;margin-right:auto}}.property-map-container{position:relative}@media (min-width: 1024px){.property-map-container{position:sticky;top:100px;height:calc(50vh - 75px)}}.property-map-container .view-toggle{margin-bottom:1.4rem}.property-map{width:100%;height:200px;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;border:1px solid var(--color-border)}@media (min-width: 1024px){.property-map{height:calc(100% - 44px)}}.property-list-container .properties-meta{padding-top:0;padding-bottom:0}.property-list-container .properties-grid{grid-template-columns:1fr}@media (min-width: 640px){.property-list-container .properties-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.property-list-container .properties-grid{grid-template-columns:repeat(var(--card-columns, 2),400px);gap:1.5rem}.grid-view-container .properties-grid{grid-template-columns:repeat(var(--card-columns, 3),400px);gap:1.5rem}}.property-marker{background:transparent}.property-marker .marker-pin{width:16px;height:16px;border-radius:50% 50% 50% 0;background:var(--color-accent);position:absolute;transform:rotate(-45deg);left:50%;top:50%;margin:-11px 0 0 -8px;box-shadow:0 1px 4px #0000004d}.property-marker .marker-pin:after{content:"";width:7px;height:7px;margin:4px 0 0 4px;background:var(--color-bg-dark);position:absolute;border-radius:50%}.property-marker.property-marker-amber .marker-pin{background:#f59e0b}.property-marker.property-marker-blue .marker-pin{background:#3b82f6}.marker-cluster{background-clip:padding-box;border-radius:50%}.marker-cluster div{width:32px;height:32px;margin-left:4px;margin-top:4px;text-align:center;border-radius:50%;font-weight:600;font-size:12px;display:flex;align-items:center;justify-content:center}.marker-cluster span{line-height:1}.marker-cluster-small{background-color:#b57e6399}.marker-cluster-small div{background-color:#b57e63e6;color:#000;font-weight:800}.marker-cluster-medium{background-color:#b57e63b3}.marker-cluster-medium div{background-color:#b57e63f2;color:#000;font-weight:800;width:36px;height:36px;margin-left:2px;margin-top:2px;font-size:13px}.marker-cluster-large{background-color:#b57e63cc}.marker-cluster-large div{background-color:#b57e63;color:#000;font-weight:800;width:40px;height:40px;margin-left:0;margin-top:0;font-size:14px}.density-dot-container{background:transparent!important;border:none!important}.density-dot{border-radius:50%;border:1px solid rgba(0,0,0,.15);box-shadow:0 1px 2px #0003;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.density-dot:hover{transform:scale(1.4);box-shadow:0 2px 4px #0000004d}.density-tooltip,.cluster-tooltip{font-family:var(--font-body);font-size:.75rem;padding:.25rem .5rem;background:#1e1e1ee6;color:#fff;border:none;border-radius:.25rem}.property-card-highlighted{border-color:#f59e0b!important;box-shadow:0 0 0 2px #f59e0b4d}.map-popup{font-family:var(--font-body);padding:.25rem}.map-popup strong{font-size:1rem;color:var(--color-accent)}.map-popup span{font-size:.875rem;color:#666}.map-popup a{display:inline-block;margin-top:.5rem;font-size:.875rem;color:var(--color-accent);font-weight:500}.map-popup a:hover{text-decoration:underline}.leaflet-popup-content-wrapper{border-radius:.5rem}.leaflet-popup-tip-container{margin-top:-1px}.property-archive-main>.container{max-width:none;padding-top:2rem;padding-left:var(--container-padding);padding-right:var(--container-padding)}.property-archive-main .archive-hero .container{max-width:var(--container-max)}.property-archive-main .property-filters{max-width:var(--container-max);margin-left:auto;margin-right:auto}.property-filters{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.filters-form{display:block}.filters-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width: 768px){.filters-row{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1200px){.filters-row{grid-template-columns:repeat(7,1fr)}}.filter-item{display:flex;flex-direction:column;gap:.375rem}.filter-item-button .btn,.filter-item-button .comment-form .form-submit input[type=submit],.comment-form .form-submit .filter-item-button input[type=submit]{width:100%;padding:.625rem 1rem}.filter-label{font-size:.8125rem;font-weight:500;color:var(--color-text);text-transform:uppercase;letter-spacing:.03em}.filter-select{width:100%;padding:.625rem 2rem .625rem .75rem;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.9375rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.filter-select:focus{outline:none;border-color:var(--color-accent)}.property-filters.is-loading{pointer-events:none;opacity:.7}.property-results-loading{display:flex;justify-content:center;align-items:center;padding:4rem 0}.property-results-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.server-cluster{cursor:pointer}.server-cluster:hover div{transform:scale(1.1);transition:transform .15s ease}.cluster-tooltip{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text);font-family:var(--font-body);font-size:.8125rem;padding:.5rem .75rem;line-height:1.4;box-shadow:0 2px 8px #00000026}.cluster-tooltip:before{border-top-color:var(--color-border)}@media (min-width: 1024px){.property-list-container.infinite-scroll-enabled{max-height:calc(100vh - 180px);overflow-y:auto;scroll-behavior:smooth}.property-list-container.infinite-scroll-enabled::-webkit-scrollbar{width:8px}.property-list-container.infinite-scroll-enabled::-webkit-scrollbar-track{background:var(--color-bg-dark);border-radius:4px}.property-list-container.infinite-scroll-enabled::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.property-list-container.infinite-scroll-enabled::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}}.infinite-scroll-page{display:contents}.infinite-scroll-placeholder{grid-column:1/-1;background:transparent}.infinite-scroll-sentinel{height:1px;visibility:hidden;pointer-events:none}.infinite-scroll-loader{display:none;justify-content:center;align-items:center;padding:1.5rem;grid-column:1/-1}.infinite-scroll-loader.is-loading{display:flex}.infinite-scroll-loader .spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.infinite-scroll-enabled .pagination{display:none}.property-gallery{margin-bottom:2rem}.gallery-main{position:relative;margin-bottom:.75rem}.gallery-main-image{display:block;width:100%;padding:0;border:none;background:none;cursor:pointer;border-radius:.5rem;overflow:hidden}.gallery-main-image img{width:100%;height:auto;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;display:block}.gallery-count{position:absolute;bottom:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#000000bf;border-radius:.25rem;color:#fff;font-size:.875rem;font-weight:500}.gallery-playback-btn{position:absolute;bottom:1rem;left:1rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background-color:#000000bf;border:none;border-radius:.25rem;color:#fff;cursor:pointer;z-index:2}.gallery-playback-btn .icon-play{display:none}.gallery-playback-btn .icon-pause{display:block}.gallery-playback-btn:not(.is-playing) .icon-play{display:block}.gallery-playback-btn:not(.is-playing) .icon-pause{display:none}.gallery-playback-btn:hover{background-color:#000000e6}.gallery-thumbnails-container{display:flex;align-items:center;gap:.5rem}@media (max-width: 1023px){.gallery-thumbnails-container{max-width:88vw;margin:auto}}.gallery-thumbnails-viewport{flex:1;overflow:hidden}.gallery-thumbnails{display:flex;gap:.5rem}.gallery-thumbnail{position:relative;flex-shrink:0;width:calc((100% - 2rem)/5);padding:0;border:2px solid transparent;background:var(--color-bg-card);cursor:pointer;border-radius:.25rem;overflow:hidden}@media (max-width: 640px){.gallery-thumbnail{width:calc((100% - 1.5rem)/4)}}.gallery-thumbnail.is-active{border-color:var(--color-accent)}.gallery-thumbnail img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;display:block;opacity:1;transition:opacity .2s ease}.gallery-thumbnail.is-loading img{opacity:0}.gallery-thumbnail.is-loading .thumbnail-spinner{display:flex}.thumbnail-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:var(--color-bg-card)}.thumbnail-spinner .spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:thumbnail-spin .8s linear infinite}@keyframes thumbnail-spin{to{transform:rotate(360deg)}}.gallery-thumbnails-nav{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);cursor:pointer}.gallery-thumbnails-nav:hover:not(:disabled){background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.gallery-thumbnails-nav:disabled{opacity:.3;cursor:not-allowed}.gallery-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background-color:var(--color-bg-card);border-radius:.5rem;color:var(--color-text-muted)}.gallery-placeholder svg{margin-bottom:1rem}.gallery-placeholder p{margin:0}.gallery-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none}.gallery-lightbox[aria-hidden=false]{display:block}.lightbox-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#000000f2}.lightbox-container{position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding:4rem 1rem}.lightbox-close{position:absolute;top:1rem;right:1rem;z-index:10;padding:.5rem;background:none;border:none;color:#fff;cursor:pointer;opacity:.8}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;padding:1rem;background-color:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:.8}.lightbox-nav:hover{opacity:1;background-color:#fff3}.lightbox-nav.lightbox-prev{left:1rem}.lightbox-nav.lightbox-next{right:1rem}.lightbox-image-container{max-width:90vw;max-height:calc(100vh - 8rem);display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:100%;max-height:calc(100vh - 8rem);-o-object-fit:contain;object-fit:contain}.lightbox-counter{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background-color:#000000bf;border-radius:.25rem;color:#fff;font-size:.875rem}.breadcrumbs{background-color:var(--color-bg-card);padding:1rem 0;border-bottom:1px solid var(--color-border)}.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;list-style:none;margin:0;padding:0;font-size:.875rem}.breadcrumb-list li{display:flex;align-items:center}.breadcrumb-list li:not(:last-child):after{content:"/";margin-left:.5rem;color:var(--color-text-muted)}.breadcrumb-list li a{color:var(--color-text-muted);text-decoration:none}.breadcrumb-list li a:hover{color:var(--color-accent-light)}.breadcrumb-list li:last-child{color:var(--color-text)}.single-property-main{padding-bottom:4rem}.property-address-header{padding-top:2rem;padding-bottom:1.5rem}.property-address-title{font-size:2rem;margin-bottom:0;color:var(--color-text)}@media (max-width: 768px){.property-address-title{font-size:1.5rem}}.single-property-layout{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 1024px){.single-property-layout{grid-template-columns:1fr 350px;gap:3rem}}.section-title{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.property-specs-section{margin-bottom:2rem}@media (max-width: 1023px){.property-specs-section{background-color:var(--color-bg-card);padding:1.5rem;border-radius:.5rem}}.property-specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1.5rem;list-style:none;margin:0;padding:0}@media (min-width: 1024px){.property-specs-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}.property-specs-grid .spec-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}@media (min-width: 1024px){.property-specs-grid .spec-item{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.25rem;padding:1rem;background-color:var(--color-bg-card);border-radius:.25rem;border-bottom:none}}.spec-label{font-size:.875rem;color:var(--color-text-muted)}@media (min-width: 1024px){.spec-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}}.spec-value{font-size:1rem;font-weight:600;color:var(--color-text)}@media (min-width: 1024px){.spec-value{font-size:1.25rem}}.property-documents{margin-bottom:2rem}.documents-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;list-style:none;margin:0;padding:0}.document-item{margin:0}.document-link{display:inline-flex;align-items:center;gap:.5rem}.document-link svg{flex-shrink:0}.document-ext{font-size:.75rem;opacity:.7;text-transform:uppercase}.property-description{margin-bottom:2rem}.property-short-desc{font-size:1.125rem;color:var(--color-text);margin-bottom:1rem}.property-full-desc{color:var(--color-text-muted);line-height:1.7}.property-features{margin-bottom:2rem}.features-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;list-style:none;margin:0;padding:0}@media (min-width: 640px){.features-list{grid-template-columns:repeat(3,1fr)}}.feature-item{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--color-text-muted)}.feature-item svg{flex-shrink:0;color:var(--color-success)}.single-property-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 1024px){.single-property-sidebar{align-self:start}}.sidebar-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem}.widget-title{font-family:Times New Roman,Times,serif;font-size:18px;font-weight:700;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.property-header-widget .property-header-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.property-header-widget .property-title{font-family:var(--font-display);font-size:1.75rem;color:var(--color-text);margin-bottom:.5rem;line-height:1.2}.property-header-widget .property-mls{font-size:.8125rem;color:var(--color-sold);margin-bottom:0}.badge-type-residential{background-color:#93c5fd;color:#1e3a5f}.badge-type-commercial{background-color:var(--color-accent);color:#fff}.badge-type-land{background-color:#86efac;color:#14532d}.badge-type-multi-family{background-color:#c4b5fd;color:#3b1d66}.property-documents-widget .sidebar-documents-list{display:flex;flex-direction:column;gap:.75rem}.property-documents-widget .document-btn{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;background-color:var(--color-accent);border:none;border-radius:.25rem;color:#fff;text-decoration:none;font-weight:600;font-size:.875rem;cursor:pointer}.property-documents-widget .document-btn:hover{background-color:var(--color-accent-hover);color:#fff}.property-documents-widget .document-btn svg{flex-shrink:0;stroke:#fff}.property-documents-widget .document-btn-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-documents-widget .document-btn-ext{flex-shrink:0;font-size:.625rem;font-weight:700;text-transform:uppercase;background-color:#0003;color:#fff;padding:.1875rem .375rem;border-radius:.1875rem;letter-spacing:.03em}.agent-card{padding:1.5rem}.agent-info-link{display:block;text-decoration:none;color:inherit;border-radius:.375rem;margin:-.5rem -.5rem 1rem;padding:.5rem}.agent-info-link:hover{background-color:var(--color-bg-dark)}.agent-info-link:hover .agent-name{color:var(--color-accent-light)}.agent-info-link .agent-info{margin-bottom:0}.agent-card-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.agent-card-title{font-size:1.125rem;margin-bottom:0}.agent-info{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.agent-avatar{flex-shrink:0;background-color:#000;border-radius:50%}.agent-avatar img{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.agent-avatar-placeholder{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background-color:#000;border-radius:50%;color:var(--color-text-muted)}.agent-name{font-weight:600;color:var(--color-text);margin-bottom:.25rem}.agent-role{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:0}.agent-contact{display:flex;flex-direction:column;gap:.75rem}.agent-contact .btn,.agent-contact .comment-form .form-submit input[type=submit],.comment-form .form-submit .agent-contact input[type=submit]{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.agent-card-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.agent-card-note{font-size:.8125rem;color:var(--color-text-muted);text-align:center;margin-bottom:0}.property-inquiry-card .inquiry-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1rem;line-height:1.5}.property-inquiry-card .btn-block{display:flex;width:100%;text-align:center;justify-content:center}.generic-contact-card .contact-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.5}.generic-contact-card .generic-contact-actions{display:flex;flex-direction:column;gap:.75rem}.generic-contact-card .btn-block{display:flex;width:100%;text-align:center;justify-content:center}body.lightbox-open{overflow:hidden}.Single_Property_MLS .property-breadcrumb{padding:1rem 0;font-size:.875rem;color:var(--color-text-muted)}.Single_Property_MLS .property-breadcrumb a{color:var(--color-text-muted);text-decoration:none}.Single_Property_MLS .property-breadcrumb a:hover{color:var(--color-accent-light)}.Single_Property_MLS .property-breadcrumb .separator{margin:0 .5rem}.Single_Property_MLS .property-breadcrumb .current{color:var(--color-text)}.Single_Property_MLS .property-gallery-section{margin-bottom:2rem}.Single_Property_MLS .property-gallery-main{border-radius:.5rem;overflow:hidden;background-color:var(--color-bg-card);margin-bottom:1rem}.Single_Property_MLS .property-gallery-main .gallery-main-image{width:100%;height:auto;max-height:500px;-o-object-fit:cover;object-fit:cover;display:block}.Single_Property_MLS .property-gallery-main .gallery-placeholder{display:flex;align-items:center;justify-content:center;height:300px;color:var(--color-text-muted)}.Single_Property_MLS .property-gallery-thumbs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem}.Single_Property_MLS .gallery-thumb{flex-shrink:0;width:80px;height:60px;border-radius:.25rem;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:none}.Single_Property_MLS .gallery-thumb.is-active{border-color:var(--color-accent)}.Single_Property_MLS .gallery-thumb:hover{border-color:var(--color-accent-light)}.Single_Property_MLS .gallery-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.Single_Property_MLS .gallery-thumb.gallery-more{display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-card);color:var(--color-text);font-weight:600;font-size:.875rem}.Single_Property_MLS .property-map-section{margin-bottom:2rem}.Single_Property_MLS .property-location-map{height:300px;border-radius:.5rem;overflow:hidden}.Single_Property_MLS .property-directions{margin-bottom:2rem}.Single_Property_MLS .property-directions p{color:var(--color-text-muted);line-height:1.6}.Single_Property_MLS .property-agent-widget .agent-name{font-weight:600;margin-bottom:.25rem}.Single_Property_MLS .property-agent-widget .office-name{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1rem}.Single_Property_MLS .property-share-widget .share-buttons{display:flex;gap:.75rem}.Single_Property_MLS .property-share-widget .share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:.375rem;background-color:var(--color-bg-dark);color:var(--color-text-muted);border:none;cursor:pointer;text-decoration:none;transition:background-color .2s,color .2s}.Single_Property_MLS .property-share-widget .share-btn:hover{background-color:var(--color-accent);color:#fff}.Single_Property_MLS .property-share-widget .share-btn.copied{background-color:var(--color-success);color:#fff}.Single_Property_MLS .badge-type{background-color:var(--color-bg-dark);color:var(--color-text)}.Single_Agent{padding-bottom:4rem}.Single_Agent .agent-header{background-color:var(--color-bg-card);padding:3rem 0;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-header-layout{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center}@media (min-width: 768px){.Single_Agent .agent-header-layout{flex-direction:row;text-align:left;align-items:flex-start}}.Single_Agent .agent-photo-wrapper{flex-shrink:0;background-color:#000}.Single_Agent .agent-photo{width:200px;height:200px;border-radius:.5rem;-o-object-fit:cover;object-fit:cover;border:3px solid var(--color-border)}@media (min-width: 768px){.Single_Agent .agent-photo{width:240px;height:240px}}.Single_Agent .agent-photo-placeholder{width:200px;height:200px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);border-radius:.5rem;border:3px solid var(--color-border);color:var(--color-text-muted)}@media (min-width: 768px){.Single_Agent .agent-photo-placeholder{width:240px;height:240px}}.Single_Agent .agent-info-wrapper{flex:1}.Single_Agent .agent-info-content{display:flex;flex-direction:column;align-items:center}@media (min-width: 768px){.Single_Agent .agent-info-content{align-items:flex-start}}.Single_Agent .agent-title-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.5rem;font-weight:600}.Single_Agent .agent-name{font-size:2.5rem;font-family:var(--font-heading);margin-bottom:.5rem;line-height:1.1}@media (min-width: 768px){.Single_Agent .agent-name{font-size:3rem}}.Single_Agent .agent-license{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.5rem}.Single_Agent .agent-contact-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;justify-content:center}@media (min-width: 768px){.Single_Agent .agent-contact-actions{justify-content:flex-start}}.Single_Agent .agent-contact-actions .btn,.Single_Agent .agent-contact-actions .comment-form .form-submit input[type=submit],.comment-form .form-submit .Single_Agent .agent-contact-actions input[type=submit]{display:inline-flex;align-items:center;gap:.5rem}.Single_Agent .agent-social-links{display:flex;gap:.75rem}.Single_Agent .social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-dark);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.Single_Agent .social-link:hover{background-color:var(--color-accent);color:#fff}.Single_Agent .social-link svg{width:20px;height:20px}.Single_Agent .agent-content-layout{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:2rem}@media (min-width: 1024px){.Single_Agent .agent-content-layout{grid-template-columns:1fr 350px;gap:3rem}}.Single_Agent .agent-main-content{min-width:0}.Single_Agent .agent-section{margin-bottom:2.5rem}.Single_Agent .agent-section:last-child{margin-bottom:0}.Single_Agent .section-title{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-bio .agent-short-bio{font-size:1.125rem;color:var(--color-text);line-height:1.6;margin-bottom:1.5rem}.Single_Agent .agent-bio .agent-full-bio{color:var(--color-text-muted);line-height:1.7}.Single_Agent .agent-bio .agent-full-bio p{margin-bottom:1rem}.Single_Agent .agent-bio .agent-full-bio p:last-child{margin-bottom:0}.Single_Agent .agent-gallery-section .agent-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width: 640px){.Single_Agent .agent-gallery-section .agent-gallery-grid{grid-template-columns:repeat(3,1fr)}}.Single_Agent .agent-gallery-section .gallery-item{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:.375rem;border:1px solid var(--color-border)}.Single_Agent .agent-gallery-section .gallery-item:hover img{transform:scale(1.05)}.Single_Agent .agent-gallery-section .gallery-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.Single_Agent .agent-listings .agent-listings-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem}@media (min-width: 640px){.Single_Agent .agent-listings .agent-listings-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.Single_Agent .agent-listings .agent-listings-grid{grid-template-columns:repeat(3,1fr)}}.Single_Agent .agent-listings .agent-listings-cta{text-align:center}.Single_Agent .agent-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 1024px){.Single_Agent .agent-sidebar{align-self:start}}.Single_Agent .sidebar-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem}.Single_Agent .widget-title{font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-contact-card .contact-list{list-style:none;margin:0;padding:0}.Single_Agent .agent-contact-card .contact-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-contact-card .contact-item:first-child{padding-top:0}.Single_Agent .agent-contact-card .contact-item:last-child{padding-bottom:0;border-bottom:none}.Single_Agent .agent-contact-card .contact-item svg{flex-shrink:0;margin-top:.125rem;color:var(--color-accent)}.Single_Agent .agent-contact-card .contact-item>div{flex:1;min-width:0}.Single_Agent .agent-contact-card .contact-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem}.Single_Agent .agent-contact-card a{color:var(--color-text);text-decoration:none;word-break:break-word}.Single_Agent .agent-contact-card a:hover{color:var(--color-accent-light)}.Single_Agent .agent-quick-contact .widget-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1rem;line-height:1.5}.Single_Agent .agent-quick-contact .btn-block{display:block;width:100%;text-align:center}.Agents_Archive .agents-section{padding:1.125rem 0 5.875rem}.Agents_Archive .agents-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 640px){.Agents_Archive .agents-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.Agents_Archive .agents-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.Agents_Archive .agents-grid{grid-template-columns:repeat(4,1fr)}}.Agents_Archive .agent-card-item{background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column}.Agents_Archive .agent-card-link{display:block;text-decoration:none;color:inherit;flex:1}.Agents_Archive .agent-card-link:hover .agent-card-image img{transform:scale(1.05)}.Agents_Archive .agent-card-link:hover .agent-card-name{color:var(--color-accent-light)}.Agents_Archive .agent-card-image{aspect-ratio:1/1;overflow:hidden;background-color:var(--color-bg-dark)}.Agents_Archive .agent-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.Agents_Archive .agent-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.Agents_Archive .agent-card-content{padding:1.25rem}.Agents_Archive .agent-card-title-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.375rem;font-weight:600}.Agents_Archive .agent-card-name{font-size:1.25rem;font-family:var(--font-display);margin-bottom:.5rem;line-height:1.2}.Agents_Archive .agent-card-bio{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.Agents_Archive .agent-card-actions{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem 1.25rem;margin-top:auto}.Agents_Archive .agent-action-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;height:40px;padding:0 .75rem;background-color:transparent;border:2px solid var(--color-accent);border-radius:.25rem;color:var(--color-accent);text-decoration:none;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.Agents_Archive .agent-action-btn:hover{background-color:var(--color-accent);color:#fff}.Agents_Archive .agent-action-btn:not(.agent-action-profile){width:40px;padding:0}.Agents_Archive .agent-action-btn.agent-action-profile{flex:1}.Agents_Archive .no-agents-message{text-align:center;padding:3rem;color:var(--color-text-muted)}.Agents_Archive .no-agents-message p{margin-bottom:0}.hero-section--split{display:flex;min-height:70vh;max-height:725px;width:100%}@media (max-width: 768px){.hero-section--split{flex-direction:column;max-height:none}}.hero-section--split.hero-section--small{min-height:300px;max-height:400px}@media (max-width: 768px){.hero-section--split.hero-section--small{max-height:none}}.hero-section--split.hero-section--small .hero-section-title{font-size:2.5rem}@media (max-width: 768px){.hero-section--split.hero-section--small .hero-section-title{font-size:2rem}}.hero-section--split.hero-section--small .hero-section-logo{max-width:280px;margin-bottom:1.5rem}.hero-split-content{width:40%;max-width:800px;background-color:var(--color-bg-dark);display:flex;align-items:center;justify-content:center;padding:3rem}@media (max-width: 1024px){.hero-split-content{width:45%;max-width:none;padding:2rem}}@media (max-width: 768px){.hero-split-content{width:100%;padding:3rem 1.5rem;order:2}}.hero-split-image{flex:1;background-size:cover;background-position:center center;background-repeat:no-repeat;position:relative;overflow:hidden}@media (max-width: 768px){.hero-split-image{width:100%;flex:none;height:300px;order:1}}.hero-split-inner{max-width:420px;text-align:center}@media (max-width: 768px){.hero-split-inner{margin:0 auto}}.hero-section-logo{display:block;max-width:320px;height:auto;margin:0 auto 2rem}@media (max-width: 768px){.hero-section-logo{max-width:280px;margin-bottom:1.5rem}}.hero-section-title{font-family:var(--font-display);font-size:3rem;color:var(--color-text);margin-bottom:1.25rem;line-height:1.1}@media (max-width: 1024px){.hero-section-title{font-size:2.5rem}}@media (max-width: 768px){.hero-section-title{font-size:2.25rem;margin-bottom:1rem}}.hero-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:2rem;line-height:1.6}@media (max-width: 768px){.hero-section-subtitle{font-size:1rem;margin-bottom:1.5rem}}.hero-section-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hero-location-search{margin-bottom:2rem}.hero-location-search-inner{display:flex;gap:0;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;box-shadow:0 4px 20px #0000004d}@media (max-width: 480px){.hero-location-search-inner{flex-direction:column}}.hero-location-select{flex:1;padding:.875rem 2rem .875rem 1rem;font-size:1rem;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg-card);border:none;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;min-width:180px}.hero-location-select:focus{box-shadow:inset 0 0 0 2px var(--color-accent)}.hero-location-select option{background-color:var(--color-bg-card);color:var(--color-text)}@media (max-width: 480px){.hero-location-select{text-align:center;background-position:right 1.5rem center}}.hero-search-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;border-radius:0;white-space:nowrap}.hero-search-btn svg{flex-shrink:0}@media (max-width: 480px){.hero-search-btn{width:100%;justify-content:center}}.hero-section--card{position:relative;display:flex;align-items:center;justify-content:flex-start;background-color:var(--color-bg-dark);background-size:cover;background-position:center;background-repeat:no-repeat;min-height:70vh;max-height:725px;padding:4rem 0}@media (max-width: 768px){.hero-section--card{min-height:auto;max-height:none;padding:3rem 0;justify-content:center}}.hero-section--card.hero-section--small{min-height:300px;max-height:400px;padding:2rem 0}.hero-section--card.hero-section--small .hero-section-title{font-size:2.25rem}@media (max-width: 768px){.hero-section--card.hero-section--small .hero-section-title{font-size:1.8rem}}.hero-section--card.hero-section--small .hero-card{padding:1.5rem}.hero-card{background-color:#0a0a0ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:1rem;padding:2.375rem;width:520px;text-align:center;border:1px solid var(--color-border);position:absolute;top:50%;left:50vw;transform:translate(-50%,-50%)}@media (min-width: 1800px){.hero-card{left:calc(50vw - 410px)}}@media (min-width: 1650px) and (max-width: 1799px){.hero-card{left:32vw}}@media (min-width: 1500px) and (max-width: 1649px){.hero-card{left:410px}}@media (max-width: 768px){.hero-card{position:relative;top:auto;left:auto;transform:none;padding:1.125rem 2.375rem;margin:0 auto;border-radius:.75rem;width:calc(100% - 2rem);max-width:520px}}.hero-section--card .hero-section-logo{display:block;max-width:360px;height:auto;margin:0 auto 1.75rem}@media (max-width: 768px){.hero-section--card .hero-section-logo{max-width:280px;margin-bottom:1.25rem}}.hero-section--card .hero-section-title{font-family:var(--font-display);font-size:2.475rem;color:var(--color-text);margin-bottom:1.8125rem;line-height:1.1}@media (max-width: 1450px){.hero-section--card .hero-section-title{font-size:42px}}@media (max-width: 768px){.hero-section--card .hero-section-title{font-size:1.6rem;margin-bottom:.875rem}}@media (max-width: 600px){.hero-section--card .hero-section-title{font-size:1.5rem}}.hero-section--card .hero-section-subtitle{font-size:1rem;color:var(--color-text-muted);margin-bottom:1.75rem;line-height:1.6}@media (max-width: 768px){.hero-section--card .hero-section-subtitle{font-size:.9rem;margin-bottom:1.25rem}}@media (max-width: 650px){.hero-section--card .hero-section-subtitle{font-size:.775rem}}.hero-section--card .hero-section-actions{display:flex;flex-wrap:wrap;gap:.875rem;justify-content:center}.hero-section--card .hero-section-actions .btn,.hero-section--card .hero-section-actions .comment-form .form-submit input[type=submit],.comment-form .form-submit .hero-section--card .hero-section-actions input[type=submit]{font-size:.8rem;padding:.675rem 1.25rem}.hero-section--card .hero-location-search{margin-bottom:1.75rem}.hero-section--card .hero-location-search-inner{display:flex;gap:0;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden}@media (max-width: 480px){.hero-section--card .hero-location-search-inner{flex-direction:column}}.hero-section--card .hero-location-select{flex:1;padding:.75rem 2rem .75rem .875rem;font-size:.9rem;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg-card);border:none;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.hero-section--card .hero-location-select:focus{box-shadow:inset 0 0 0 2px var(--color-accent)}.hero-section--card .hero-search-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:0;white-space:nowrap;font-size:.8rem}@media (max-width: 480px){.hero-section--card .hero-search-btn{width:100%;justify-content:center}}.cta-section{padding:4rem 0}@media (max-width: 768px){.cta-section{padding:3rem 0}}.cta-section--default{background-color:var(--color-bg-card)}.cta-section--accent{background-color:var(--color-accent)}.cta-section--accent .cta-section-title{color:#fff}.cta-section--accent .cta-section-text{color:#ffffffe6}.cta-section--accent .btn-primary,.cta-section--accent .comment-form .form-submit input[type=submit],.comment-form .form-submit .cta-section--accent input[type=submit]{background-color:#fff;color:var(--color-accent)}.cta-section--accent .btn-primary:hover,.cta-section--accent .comment-form .form-submit input[type=submit]:hover,.comment-form .form-submit .cta-section--accent input[type=submit]:hover,.cta-section--accent .btn-primary:active,.cta-section--accent .comment-form .form-submit input[type=submit]:active,.comment-form .form-submit .cta-section--accent input[type=submit]:active{background-color:var(--color-text);color:#000}.cta-section-content{text-align:center;max-width:700px;margin:0 auto}.cta-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:1rem}@media (max-width: 768px){.cta-section-title{font-size:1.875rem}}.cta-section-text{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:1.5rem}.testimonial{background-color:var(--color-bg-card);border-radius:.5rem;padding:2rem;margin:0}.testimonial-quote{position:relative;margin-bottom:1.5rem}.testimonial-quote p{font-size:1.125rem;color:var(--color-text);line-height:1.7;font-style:italic;margin:0;padding-left:3.5rem}@media (max-width: 640px){.testimonial-quote p{font-size:1rem;padding-left:0;padding-top:3rem}}.testimonial-quote-icon{position:absolute;top:0;left:0;color:var(--color-accent);opacity:.5}@media (max-width: 640px){.testimonial-quote-icon{top:0;left:0}}.testimonial-footer{display:flex;flex-direction:column;gap:.25rem;padding-left:3.5rem}@media (max-width: 640px){.testimonial-footer{padding-left:0}}.testimonial-name{font-style:normal;font-weight:600;color:var(--color-text);font-size:.9375rem}.testimonial-location{font-size:.8125rem;color:var(--color-text-muted)}.testimonials-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.testimonials-section{padding:3rem 0}}.testimonials-section-header{text-align:center;margin-bottom:3rem}.testimonials-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.testimonials-section-title{font-size:1.875rem}}.testimonials-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 768px){.testimonials-grid{grid-template-columns:1fr}}.feature-block{text-align:center;padding:1.5rem}.feature-block-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 1.25rem;border-radius:50%;background-color:var(--color-bg-card);color:var(--color-accent)}.feature-block-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.75rem}.feature-block-text{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:0}.features-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.features-section{padding:3rem 0}}.features-section-header{text-align:center;margin-bottom:3rem}.features-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.features-section-title{font-size:1.875rem}}.features-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media (max-width: 768px){.features-grid{grid-template-columns:1fr;gap:1.5rem}}.service-cards-section{padding:5rem 0;background-color:var(--color-bg-card)}.service-cards-header{text-align:center;margin-bottom:3rem}.service-cards-title{font-family:var(--font-display);font-size:2.5rem;color:var(--color-text);margin-bottom:1rem}@media (max-width: 768px){.service-cards-title{font-size:2rem}}.service-cards-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.service-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media (max-width: 992px){.service-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.service-cards-grid{grid-template-columns:1fr;gap:1.5rem}}.service-card{position:relative;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem;text-align:center;cursor:pointer}.service-card:hover{border-color:var(--color-accent)}.service-card:hover .service-card-btn{background-color:var(--color-accent);color:var(--color-text)}.service-card-link-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.service-card-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 1.5rem;background-color:#9f37301a;border-radius:50%;color:var(--color-accent)}.service-card-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1rem}.service-card-description{font-size:1rem;color:var(--color-text-muted);margin-bottom:1.5rem;line-height:1.6}.service-card-btn{display:inline-flex;align-items:center;gap:.5rem}.service-card-btn svg{transition:transform .2s ease}.service-card-btn:hover svg{transform:translate(4px)}.btn-outline{background-color:transparent;border:2px solid var(--color-accent);color:var(--color-accent)}.btn-outline:hover{background-color:var(--color-accent);color:var(--color-text)}:root{--color-bg-dark: #0A0A0A;--color-bg-card: #161616;--color-accent: #9F3730;--color-accent-hover: #C8473F;--color-accent-light: #BF524B;--color-text: #F5F5F5;--color-text-muted: #B0B0B0;--color-border: #2A2A2A;--color-success: #2E7D32;--color-warning: #F9A825;--color-sold: #757575;--font-display: "Abril Fatface", Georgia, serif;--font-body: "Inter", "Droid Sans", Arial, sans-serif;--container-max: 1400px;--container-padding: 1.5rem;--transition-fast: .15s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg-dark);color:var(--color-text-muted);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text);font-weight:400;line-height:1.2;margin-bottom:1rem}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.875rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}p{margin-bottom:1rem}a{color:var(--color-accent-light);text-decoration:none}a:hover{color:var(--color-accent-hover)}.container{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.site-main{min-height:50vh}.btn,.comment-form .form-submit input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-family:var(--font-body);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;border:none;cursor:pointer}.btn svg,.comment-form .form-submit input[type=submit] svg{flex-shrink:0}.btn-primary,.comment-form .form-submit input[type=submit]{background-color:var(--color-accent);color:#fff}.btn-primary:hover,.comment-form .form-submit input[type=submit]:hover{background-color:var(--color-accent-hover);color:#fff}.btn-secondary{background-color:transparent;border:2px solid var(--color-accent);color:var(--color-accent)}.btn-secondary:hover{background-color:var(--color-accent);color:#fff}.badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem}.badge-success{background-color:var(--color-success);color:#fff}.badge-warning{background-color:var(--color-warning);color:#000}.badge-muted{background-color:var(--color-sold);color:#fff}.card{background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,select{width:100%;padding:.75rem 1rem;background-color:#000;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-family:var(--font-body);font-size:1rem}input[type=text]::-moz-placeholder,input[type=email]::-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=number]::-moz-placeholder,input[type=search]::-moz-placeholder,textarea::-moz-placeholder,select::-moz-placeholder{color:var(--color-sold)}input[type=text]::placeholder,input[type=email]::placeholder,input[type=tel]::placeholder,input[type=number]::placeholder,input[type=search]::placeholder,textarea::placeholder,select::placeholder{color:var(--color-sold)}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=search]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alignwide{max-width:calc(var(--container-max) + 200px)}.alignfull{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.wp-block-image img{max-width:100%;height:auto}@media (max-width: 768px){:root{--container-padding: 1rem}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}}::view-transition-old(root),::view-transition-new(root){animation:none} + */*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:solid}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.site-header{position:sticky;top:0;z-index:100;background-color:var(--color-bg-dark);border-bottom:1px solid var(--color-border)}.header-container{padding-top:1rem;padding-bottom:1rem}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-branding{flex-shrink:0}.site-branding .custom-logo-link{display:block}.site-branding .custom-logo-link img{max-height:60px;width:auto}.site-branding .site-title-link{text-decoration:none}.site-branding .site-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);letter-spacing:.02em}.main-navigation{display:none;flex-grow:1;justify-content:center}@media (min-width: 1024px){.main-navigation{display:flex}}.main-navigation .nav-menu{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0}.main-navigation .menu-item a{display:block;padding:.5rem 0;color:var(--color-text-muted);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}.main-navigation .menu-item a:hover{color:var(--color-text)}.main-navigation .menu-item.current-menu-item a,.main-navigation .menu-item.current_page_item a{color:var(--color-accent-light)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;padding:0;background:transparent;border:none;cursor:pointer}@media (min-width: 1024px){.menu-toggle{display:none}}.menu-toggle .menu-toggle-icon{display:flex;flex-direction:column;gap:5px}.menu-toggle .bar{display:block;width:24px;height:2px;background-color:var(--color-text)}.menu-toggle[aria-expanded=true] .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] .bar:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header-cta{display:none;flex-shrink:0}@media (min-width: 1024px){.header-cta{display:flex;align-items:center;gap:.75rem}}.header-cta .header-social{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.header-cta .header-social:hover{border-color:var(--color-accent);color:var(--color-accent-light)}.header-cta .header-social svg{width:18px;height:18px}.header-cta .header-phone{display:inline-flex;align-items:center;padding:.625rem 1.25rem;background-color:var(--color-accent);color:#fff;font-size:.875rem;font-weight:600;text-decoration:none;border-radius:.25rem}.header-cta .header-phone:hover{background-color:var(--color-accent-hover);color:#fff}.mobile-navigation{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:1rem}.mobile-navigation.is-open{display:block}@media (min-width: 1024px){.mobile-navigation{display:none!important}}.mobile-navigation .mobile-nav-menu{list-style:none;margin:0;padding:0}.mobile-navigation .menu-item{border-bottom:1px solid var(--color-border)}.mobile-navigation .menu-item:last-child{border-bottom:none}.mobile-navigation .menu-item a{display:block;padding:1rem 0;color:var(--color-text);font-size:1rem;text-decoration:none}.mobile-navigation .menu-item a:hover{color:var(--color-accent-light)}.mobile-navigation .mobile-menu-cta{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.mobile-navigation .mobile-menu-cta .btn,.mobile-navigation .mobile-menu-cta .comment-form .form-submit input[type=submit],.comment-form .form-submit .mobile-navigation .mobile-menu-cta input[type=submit]{display:block;width:100%;text-align:center}.site-footer{background-color:var(--color-bg-card);border-top:1px solid var(--color-border);margin-top:auto}.footer-container{padding-top:3rem;padding-bottom:1.5rem}.footer-inner{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.footer-inner{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.footer-inner{grid-template-columns:1.5fr 1fr 1.25fr 1fr;gap:2rem}}.footer-column{min-width:0}.footer-heading{font-family:var(--font-body);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);margin-bottom:1.25rem}.footer-about .footer-logo{margin-bottom:1rem}.footer-about .footer-logo img{max-height:50px;width:auto}.footer-about .footer-logo .site-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text)}.footer-about .footer-tagline{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.6}.footer-social{display:flex;gap:1rem}.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-dark);border-radius:.25rem;color:var(--color-text-muted)}.footer-social a:hover{background-color:var(--color-accent);color:#fff}.footer-social a svg{width:20px;height:20px}.footer-links .footer-menu{list-style:none;margin:0;padding:0}.footer-links .menu-item{margin-bottom:.75rem}.footer-links .menu-item:last-child{margin-bottom:0}.footer-links .menu-item a{color:var(--color-text-muted);font-size:.9375rem;text-decoration:none}.footer-links .menu-item a:hover{color:var(--color-accent-light)}.contact-list{list-style:none;margin:0;padding:0}.contact-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;font-size:.9375rem}.contact-item:last-child{margin-bottom:0}.contact-item svg{flex-shrink:0;color:var(--color-accent);margin-top:.125rem}.contact-item a{color:var(--color-text-muted);text-decoration:none}.contact-item a:hover{color:var(--color-accent-light)}.contact-item span{color:var(--color-text-muted)}.footer-hours .hours-list{list-style:none;margin:0;padding:0}.footer-hours .hours-item{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.5rem;font-size:.875rem}.footer-hours .hours-item:last-child{margin-bottom:0}.footer-hours .hours-day{color:var(--color-text-muted)}.footer-hours .hours-time{color:var(--color-text);text-align:right}.footer-legal{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding-top:2rem;margin-top:2rem;border-top:1px solid var(--color-border)}.footer-legal-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}@media (max-width: 640px){.footer-legal-inner{gap:1rem}}.legal-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-muted);font-size:.8125rem;text-decoration:none}.legal-item:hover{border-color:var(--color-accent);color:var(--color-accent-light)}.legal-item:hover svg{color:var(--color-accent)}.legal-item svg{flex-shrink:0;color:var(--color-text-muted)}@media (max-width: 640px){.legal-item{width:calc(50% - .5rem);justify-content:center;padding:.625rem .75rem;font-size:.75rem}}.footer-license{margin:0;font-size:.75rem;color:var(--color-sold);text-align:center}.footer-temp-link{text-align:center;padding:1rem 0;margin-top:1.5rem;border-top:2px dashed var(--color-accent);border-bottom:2px dashed var(--color-accent)}.footer-temp-link a{display:inline-block;padding:.75rem 2rem;background-color:var(--color-accent);color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.1em;text-decoration:none;border-radius:.25rem}.footer-temp-link a:hover{background-color:var(--color-accent-hover);color:#fff}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-top:1.5rem;margin-top:2rem;border-top:1px solid var(--color-border);text-align:center}@media (min-width: 768px){.footer-bottom{flex-direction:row;justify-content:space-between}}.footer-bottom p{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.footer-bottom .copyright{color:var(--color-sold)}.footer-bottom .footer-credits a{color:var(--color-text-muted);text-decoration:none}.footer-bottom .footer-credits a:hover{color:var(--color-accent-light)}.page-content{padding:2rem 0 4rem}.page-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.page-title{margin-bottom:0}.entry-content{max-width:800px}.entry-content>*:first-child{margin-top:0}.entry-content>*:last-child{margin-bottom:0}.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin-top:2rem}.entry-content ul,.entry-content ol{margin-bottom:1rem;padding-left:1.5rem}.entry-content ul li,.entry-content ol li{margin-bottom:.5rem}.entry-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--color-accent);background-color:var(--color-bg-card)}.entry-content blockquote p:last-child{margin-bottom:0}.entry-content table{width:100%;margin-bottom:1rem;border-collapse:collapse}.entry-content table th,.entry-content table td{padding:.75rem;border:1px solid var(--color-border);text-align:left}.entry-content table th{background-color:var(--color-bg-card);font-weight:600;color:var(--color-text)}.entry-content img{max-width:100%;height:auto;border-radius:.25rem}.entry-content code{padding:.125rem .375rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.875em}.entry-content pre{margin-bottom:1rem;padding:1rem;background-color:var(--color-bg-card);border-radius:.25rem;overflow-x:auto}.entry-content pre code{padding:0;background:none}.page-links{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border);font-weight:500}.page-links .page-numbers{display:inline-block;padding:.25rem .5rem;margin:0 .25rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.page-links .page-numbers.current,.page-links .page-numbers:hover{background-color:var(--color-accent);color:#fff}.archive-header{margin-bottom:2rem;padding:2rem 0;border-bottom:1px solid var(--color-border)}.archive-title{margin-bottom:0}.posts-grid{display:grid;grid-template-columns:1fr;gap:2rem;padding:2rem 0}@media (min-width: 768px){.posts-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.posts-grid{grid-template-columns:repeat(3,1fr)}}.post-card{display:flex;flex-direction:column}.post-card-image{display:block;aspect-ratio:16/10;overflow:hidden}.post-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.post-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.post-card-header{margin-bottom:.75rem}.post-card-meta{margin-bottom:.5rem}.post-card-meta time{font-size:.8125rem;color:var(--color-text-muted)}.post-card-title{font-family:var(--font-body);font-size:1.125rem;font-weight:600;line-height:1.4;margin-bottom:0}.post-card-title a{color:var(--color-text);text-decoration:none}.post-card-title a:hover{color:var(--color-accent-light)}.post-card-excerpt{flex-grow:1;margin-bottom:1rem}.post-card-excerpt p{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0;line-height:1.6}.post-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none}.post-card-link:hover{color:var(--color-accent-hover)}.post-card-link svg{width:16px;height:16px}.pagination,.nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:2rem 0;flex-wrap:wrap}.pagination .page-numbers,.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none;font-size:.875rem;font-weight:500}.pagination .page-numbers.current,.nav-links .page-numbers.current{background-color:var(--color-accent);color:#fff}.pagination .page-numbers:hover:not(.current):not(.dots),.nav-links .page-numbers:hover:not(.current):not(.dots){background-color:var(--color-border);color:var(--color-text)}.pagination .page-numbers.dots,.nav-links .page-numbers.dots{background:none;cursor:default}.pagination .prev,.pagination .next,.nav-links .prev,.nav-links .next{padding:0 1rem}.no-posts{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.Single_Post .single-post-main{padding:0}.Single_Post .single-post-hero{width:100%;max-height:60vh;overflow:hidden}.Single_Post .single-post-hero img{width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.Single_Post .single-post-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Single_Post .single-post-section{padding:3rem 0}}.Single_Post .single-post-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 1024px){.Single_Post .single-post-layout{grid-template-columns:1fr;gap:3rem}}.Single_Post .related-posts-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.Single_Post .related-posts-section{padding:3rem 0}}.Single_Post .related-posts-header{text-align:center;margin-bottom:2rem}.Single_Post .related-posts-title{font-family:var(--font-display);font-size:1.875rem;color:var(--color-text);margin-bottom:0}.Single_Post .related-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.Single_Post .related-posts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.Single_Post .related-posts-grid{grid-template-columns:1fr}}.single-post{padding:0;max-width:none}.post-header{margin-bottom:2rem}.post-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:var(--color-text-muted)}.post-meta time{color:var(--color-text-muted)}.post-meta .meta-separator{color:var(--color-border)}.post-meta .post-categories a{color:var(--color-accent-light);text-decoration:none}.post-meta .post-categories a:hover{color:var(--color-accent-hover)}.post-title{font-size:2.5rem;margin-bottom:0}@media (max-width: 768px){.post-title{font-size:2rem}}.post-featured-image{margin-bottom:2rem;border-radius:.5rem;overflow:hidden}.post-featured-image img{width:100%;height:auto;display:block}.post-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.post-tags .tags-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.post-tags .tag-link{display:inline-block;padding:.25rem .75rem;background-color:var(--color-bg-card);border-radius:.25rem;font-size:.8125rem;color:var(--color-text-muted);text-decoration:none}.post-tags .tag-link:hover{background-color:var(--color-accent);color:#fff}.post-navigation{margin-top:3rem;padding:1.5rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.post-navigation .nav-links{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 640px){.post-navigation .nav-links{grid-template-columns:1fr 1fr}}.post-navigation .nav-previous a,.post-navigation .nav-next a{display:block;text-decoration:none}.post-navigation .nav-next{text-align:right}.post-navigation .nav-subtitle{display:block;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.25rem}.post-navigation .nav-title{display:block;font-size:1rem;font-weight:500;color:var(--color-text);line-height:1.4}.post-navigation a:hover .nav-title{color:var(--color-accent-light)}.comments-area{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.comments-title{margin-bottom:1.5rem}.comment-list{list-style:none;margin:0;padding:0}.comment-list .comment{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.comment-list .comment:last-child{border-bottom:none}.comment-list .comment-body{display:flex;gap:1rem}.comment-list .comment-author{flex-shrink:0}.comment-list .comment-author img{border-radius:50%}.comment-list .comment-content{flex-grow:1}.comment-list .fn{font-weight:600;color:var(--color-text)}.comment-list .comment-metadata{margin-bottom:.5rem;font-size:.8125rem;color:var(--color-text-muted)}.comment-list .comment-metadata a{color:var(--color-text-muted);text-decoration:none}.comment-list .comment-metadata a:hover{color:var(--color-accent-light)}.comment-respond{margin-top:2rem}.comment-reply-title{margin-bottom:1rem}.comment-form label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text)}.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{margin-bottom:1rem}.comment-form .form-submit{margin-top:1rem}.error-404{text-align:center;padding:4rem 0;max-width:600px;margin:0 auto}.error-header{margin-bottom:2rem}.error-title{font-size:8rem;line-height:1;color:var(--color-accent);margin-bottom:.5rem}@media (max-width: 640px){.error-title{font-size:5rem}}.error-subtitle{font-size:1.5rem;font-weight:500;color:var(--color-text);margin-bottom:0}.error-content{margin-bottom:2rem}.error-content p{font-size:1rem;color:var(--color-text-muted)}.error-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.error-search{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.error-search p{margin-bottom:1rem;color:var(--color-text-muted)}.search-form{display:flex;max-width:400px;margin:0 auto}.search-form .search-field{flex-grow:1;border-radius:.25rem 0 0 .25rem}.search-form .search-submit{flex-shrink:0;padding:.75rem 1.25rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:0 .25rem .25rem 0;font-weight:600;cursor:pointer}.search-form .search-submit:hover{background-color:var(--color-accent-hover)}.Home_Page .homepage-main{padding:0}.Home_Page .hero-desktop-only{display:none}@media (min-width: 1450px){.Home_Page .hero-desktop-only{display:block}}.Home_Page .hero-mobile-only{display:block}@media (min-width: 1450px){.Home_Page .hero-mobile-only{display:none}}.Home_Page .section-header{text-align:center;margin-bottom:3rem}@media (max-width: 768px){.Home_Page .section-header{margin-bottom:2rem}}.Home_Page .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.Home_Page .section-title{font-size:1.875rem}}.Home_Page .section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.Home_Page .section-footer{text-align:center;margin-top:2.5rem}.Home_Page .featured-properties-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.Home_Page .featured-properties-section{padding:3rem 0}}.Home_Page .featured-properties-section--alt{background-color:var(--color-bg-dark)}.Home_Page .property-grid--3col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.Home_Page .property-grid--3col{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.Home_Page .property-grid--3col{grid-template-columns:1fr}}.Home_Page .no-properties-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.About_Page .about-page-main{padding:0}.About_Page .about-story-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.About_Page .about-story-section{padding:3rem 0}}.About_Page .about-story-layout{display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:center}@media (max-width: 1300px){.About_Page .about-story-layout{grid-template-columns:1fr;gap:2rem}}.About_Page .about-story-image img{width:100%;height:auto;border-radius:.5rem;display:block}@media (max-width: 1300px){.About_Page .about-story-image{max-width:500px;margin:0 auto}}.About_Page .about-story-content h2,.About_Page .about-story-content h3{font-family:var(--font-display);color:var(--color-text);margin-top:2rem}.About_Page .about-story-content h2:first-child,.About_Page .about-story-content h3:first-child{margin-top:0}.About_Page .about-story-content p{font-size:1.125rem;line-height:1.8;color:var(--color-text-muted)}.About_Page .about-values-section{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.About_Page .about-values-section{padding:3rem 0}}.About_Page .about-values-header{text-align:center;margin-bottom:3rem}.About_Page .about-values-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:0}@media (max-width: 768px){.About_Page .about-values-title{font-size:1.875rem}}.About_Page .about-team-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.About_Page .about-team-section{padding:3rem 0}}.About_Page .about-team-header{text-align:center;margin-bottom:3rem}.About_Page .about-team-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.About_Page .about-team-title{font-size:1.875rem}}.About_Page .about-team-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.About_Page .about-broker-section{padding:3rem 0;background-color:var(--color-bg-card);border-top:1px solid var(--color-border)}.About_Page .about-broker-content{text-align:center}.About_Page .about-broker-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.5rem}.About_Page .about-broker-text{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0}.Contact_Page .contact-page-main{padding:0}.Contact_Page .contact-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Contact_Page .contact-section{padding:3rem 0}}.Contact_Page .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}@media (max-width: 1024px){.Contact_Page .contact-grid{grid-template-columns:1fr;gap:2rem}}.Contact_Page .contact-form-wrapper{background-color:var(--color-bg-card);padding:2rem;border-radius:.5rem}.Contact_Page .contact-form-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1.5rem}.Contact_Page .contact-form-notice{color:var(--color-text-muted);font-style:italic;margin-bottom:1.5rem}.Contact_Page .property-inquiry-display{background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);padding:1rem 1.25rem;margin-bottom:1.5rem;border-radius:.25rem}.Contact_Page .property-inquiry-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem}.Contact_Page .property-inquiry-value{font-size:.9375rem;color:var(--color-text);line-height:1.4}.Contact_Page .property-inquiry-value a{color:var(--color-accent-light);text-decoration:none}.Contact_Page .property-inquiry-value a:hover{text-decoration:underline}.Contact_Page .contact-form .form-group{margin-bottom:1.25rem}.Contact_Page .contact-form label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.Contact_Page .contact-form label .required{color:var(--color-accent)}.Contact_Page .contact-form input,.Contact_Page .contact-form textarea{width:100%}.Contact_Page .contact-form button[type=submit]{width:100%;margin-top:.5rem}.Contact_Page .wpcf7-form .form-group,.Contact_Page .wpcf7-form p{margin-bottom:1.25rem}.Contact_Page .wpcf7-form label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.Contact_Page .wpcf7-form br{display:none}.Contact_Page .wpcf7-form input[type=text],.Contact_Page .wpcf7-form input[type=email],.Contact_Page .wpcf7-form input[type=tel],.Contact_Page .wpcf7-form textarea{width:100%}.Contact_Page .wpcf7-form input[type=submit]{width:100%;margin-top:.5rem;background-color:var(--color-accent);color:#fff;padding:.75rem 1.5rem;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;border:none;cursor:pointer}.Contact_Page .wpcf7-form input[type=submit]:hover{background-color:var(--color-accent-hover)}.Contact_Page .wpcf7-form .wpcf7-response-output{margin:1rem 0 0;padding:1rem;border-radius:.25rem}.Contact_Page .wpcf7-form .wpcf7-mail-sent-ok{background-color:var(--color-success);color:#fff;border:none}.Contact_Page .wpcf7-form .wpcf7-validation-errors,.Contact_Page .wpcf7-form .wpcf7-mail-sent-ng{background-color:var(--color-accent);color:#fff;border:none}.Contact_Page .contact-info-wrapper{display:flex;flex-direction:column}.Contact_Page .contact-info-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1.5rem}.Contact_Page .contact-info-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.Contact_Page .contact-info-item{display:flex;gap:1rem}.Contact_Page .contact-info-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-card);border-radius:.5rem;color:var(--color-accent);text-decoration:none}.Contact_Page .contact-info-icon:hover{background-color:var(--color-accent);color:#fff}.Contact_Page .contact-info-content{flex:1}.Contact_Page .contact-info-label{font-family:Times New Roman,Times,serif;font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem}.Contact_Page .contact-info-value{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:0;line-height:1.5}.Contact_Page .contact-info-value a{color:var(--color-text-muted)}.Contact_Page .contact-info-value a:hover{color:var(--color-accent-light)}.Contact_Page .contact-map{border-radius:.5rem;overflow:hidden;background-color:var(--color-bg-card)}.Contact_Page .contact-map iframe{display:block}.Contact_Page .contact-additional-content{padding:3rem 0;background-color:var(--color-bg-card)}.Contact_Page .contact-additional-content .entry-content{max-width:800px;margin:0 auto}.Blog_Archive .archive-main,.Archive_Page .archive-main{padding:0}.Blog_Archive .archive-content-section,.Archive_Page .archive-content-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Blog_Archive .archive-content-section,.Archive_Page .archive-content-section{padding:3rem 0}}.Blog_Archive .archive-layout,.Archive_Page .archive-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 1024px){.Blog_Archive .archive-layout,.Archive_Page .archive-layout{grid-template-columns:1fr;gap:3rem}}.Blog_Archive .posts-grid,.Archive_Page .posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media (max-width: 768px){.Blog_Archive .posts-grid,.Archive_Page .posts-grid{grid-template-columns:1fr}}.Blog_Archive .no-posts-message,.Archive_Page .no-posts-message{text-align:center;padding:3rem;background-color:var(--color-bg-card);border-radius:.5rem}.Blog_Archive .no-posts-message h2,.Archive_Page .no-posts-message h2{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.Blog_Archive .no-posts-message p,.Archive_Page .no-posts-message p{color:var(--color-text-muted);margin-bottom:0}.Blog_Archive .navigation.pagination,.Archive_Page .navigation.pagination{margin-top:3rem}.Blog_Archive .navigation.pagination .nav-links,.Archive_Page .navigation.pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}.Blog_Archive .navigation.pagination .page-numbers,.Archive_Page .navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);color:var(--color-text-muted);border-radius:.25rem;font-size:.875rem}.Blog_Archive .navigation.pagination .page-numbers:hover,.Archive_Page .navigation.pagination .page-numbers:hover,.Blog_Archive .navigation.pagination .page-numbers.current,.Archive_Page .navigation.pagination .page-numbers.current{background-color:var(--color-accent);color:#fff}.Blog_Archive .navigation.pagination .page-numbers svg,.Archive_Page .navigation.pagination .page-numbers svg{width:16px;height:16px}.Blog_Archive .navigation.pagination .prev,.Blog_Archive .navigation.pagination .next,.Archive_Page .navigation.pagination .prev,.Archive_Page .navigation.pagination .next{display:inline-flex;align-items:center;gap:.5rem}@media (max-width: 1024px){.Blog_Archive .archive-sidebar,.Archive_Page .archive-sidebar{max-width:400px}}.sidebar-widgets{display:flex;flex-direction:column;gap:2rem}.sidebar-widget{background-color:var(--color-bg-card);padding:1.5rem;border-radius:.5rem}.widget-title{font-family:var(--font-display);font-size:1.125rem;color:var(--color-text);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.widget-search .search-form{display:flex;gap:.5rem}.widget-search .search-field{flex:1}.widget-search .search-submit{flex-shrink:0;padding:.75rem 1rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:.25rem;cursor:pointer}.widget-search .search-submit:hover{background-color:var(--color-accent-hover)}.category-list{list-style:none;margin:0;padding:0}.category-list li{padding:.5rem 0;border-bottom:1px solid var(--color-border)}.category-list li:last-child{border-bottom:none;padding-bottom:0}.category-list a{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-muted);font-size:.9375rem}.category-list a:hover{color:var(--color-accent-light)}.category-list .count{font-size:.8125rem;color:var(--color-sold)}.recent-posts-list{list-style:none;margin:0;padding:0}.recent-posts-list li{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.recent-posts-list li:last-child{border-bottom:none;padding-bottom:0}.recent-posts-list a{display:block;color:var(--color-text);font-size:.9375rem;font-weight:500;line-height:1.4;margin-bottom:.25rem}.recent-posts-list a:hover{color:var(--color-accent-light)}.recent-posts-list .post-date{display:block;font-size:.8125rem;color:var(--color-sold)}.widget-cta{background-color:var(--color-accent);text-align:center}.widget-cta .widget-title{color:#fff;border-bottom-color:#fff3}.widget-cta p{color:#ffffffe6;font-size:.9375rem;margin-bottom:1rem}.widget-cta .btn-primary,.widget-cta .comment-form .form-submit input[type=submit],.comment-form .form-submit .widget-cta input[type=submit]{background-color:#fff;color:var(--color-accent)}.widget-cta .btn-primary:hover,.widget-cta .comment-form .form-submit input[type=submit]:hover,.comment-form .form-submit .widget-cta input[type=submit]:hover{background-color:var(--color-text)}.widget-cta .btn-small{padding:.5rem 1rem;font-size:.8125rem}.full-width-main{padding:0}.full-width-hero{width:100%;max-height:50vh;overflow:hidden}.full-width-hero img{width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.full-width-content .page-header{padding:3rem 0 2rem}.full-width-content .page-title{font-size:2.5rem;margin-bottom:0}@media (max-width: 768px){.full-width-content .page-title{font-size:2rem}}.full-width-content .entry-content--wide{padding-bottom:4rem}.full-width-content .entry-content--wide>.alignfull{max-width:none}.full-width-content .entry-content--wide>.alignwide{max-width:calc(var(--container-max) + 200px);margin-left:auto;margin-right:auto}.landing-page-site{display:flex;flex-direction:column;min-height:100vh}.landing-header{padding:1rem 0;background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border)}.landing-header-content{text-align:center}.landing-logo{display:inline-block}.landing-logo .custom-logo{max-height:40px;width:auto}.landing-logo .site-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text)}.landing-main{flex:1;padding:0}.landing-content .entry-content>*:first-child{margin-top:0}.landing-content .entry-content>.alignfull{max-width:none;width:100vw;margin-left:calc(-50vw + 50%)}.landing-footer{padding:1.5rem 0;background-color:var(--color-bg-card);border-top:1px solid var(--color-border)}.landing-footer-text{text-align:center;font-size:.875rem;color:var(--color-text-muted);margin:0}.landing-footer-links{display:inline-block;margin-left:1rem;padding-left:1rem;border-left:1px solid var(--color-border)}.landing-footer-links a{color:var(--color-text-muted)}.landing-footer-links a:hover{color:var(--color-accent-light)}.Search_Page .search-main{padding:0}.Search_Page .search-content-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.Search_Page .search-content-section{padding:3rem 0}}.Search_Page .search-form-wrapper{max-width:600px;margin:0 auto 2rem}.Search_Page .search-form-wrapper .search-form{display:flex;gap:.5rem}.Search_Page .search-form-wrapper .search-field{flex:1;padding:1rem 1.25rem;font-size:1rem}.Search_Page .search-form-wrapper .search-submit{padding:1rem 1.5rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:.25rem;font-weight:600;cursor:pointer}.Search_Page .search-form-wrapper .search-submit:hover{background-color:var(--color-accent-hover)}.Search_Page .search-results-count{text-align:center;color:var(--color-text-muted);margin-bottom:2rem}.Search_Page .search-results{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto}.Search_Page .search-result-item{display:flex;gap:1.5rem;padding:1.5rem;background-color:var(--color-bg-card);border-radius:.5rem}@media (max-width: 640px){.Search_Page .search-result-item{flex-direction:column;gap:1rem}}.Search_Page .search-result-image{flex-shrink:0}.Search_Page .search-result-image img{width:120px;height:90px;-o-object-fit:cover;object-fit:cover;border-radius:.25rem}@media (max-width: 640px){.Search_Page .search-result-image img{width:100%;height:200px}}.Search_Page .search-result-content{flex:1}.Search_Page .search-result-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;font-size:.8125rem}.Search_Page .search-result-type{display:inline-block;padding:.125rem .5rem;background-color:var(--color-accent);color:#fff;border-radius:.25rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em}.Search_Page .search-result-date{color:var(--color-text-muted)}.Search_Page .search-result-title{font-family:var(--font-display);font-size:1.25rem;margin-bottom:.5rem}.Search_Page .search-result-title a{color:var(--color-text)}.Search_Page .search-result-title a:hover{color:var(--color-accent-light)}.Search_Page .search-result-excerpt{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:.75rem}.Search_Page .search-result-excerpt p{margin:0}.Search_Page .search-result-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light)}.Search_Page .search-result-link:hover{color:var(--color-accent-hover)}.Search_Page .no-results-message{text-align:center;padding:3rem;background-color:var(--color-bg-card);border-radius:.5rem;max-width:500px;margin:0 auto}.Search_Page .no-results-message h2{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.Search_Page .no-results-message p{color:var(--color-text-muted);margin-bottom:1.5rem}.Search_Page .no-results-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.Search_Page .navigation.pagination{margin-top:3rem;max-width:800px;margin-left:auto;margin-right:auto}.Search_Page .navigation.pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}.Search_Page .navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .75rem;background-color:var(--color-bg-card);color:var(--color-text-muted);border-radius:.25rem;font-size:.875rem}.Search_Page .navigation.pagination .page-numbers:hover,.Search_Page .navigation.pagination .page-numbers.current{background-color:var(--color-accent);color:#fff}.communities-page-main{padding:0}.communities-grid-section{padding:4rem 0;background-color:var(--color-bg-card)}.communities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media (max-width: 1024px){.communities-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.communities-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.communities-grid{grid-template-columns:1fr}}.community-card{display:block;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;text-decoration:none;transition:border-color .2s ease,transform .2s ease}.community-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.community-card:hover .community-card-arrow{transform:translate(4px)}.community-card-content{display:flex;flex-direction:column;gap:.5rem}.community-card-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin:0}.community-card-count{font-size:.875rem;color:var(--color-text-muted)}.community-card-arrow{margin-top:.5rem;color:var(--color-accent);transition:transform .2s ease}.communities-about-section{padding:4rem 0;background-color:var(--color-bg-dark)}.communities-about-content{max-width:800px;margin:0 auto;text-align:center}.communities-about-content h2{font-family:var(--font-display);font-size:2rem;color:var(--color-text);margin-bottom:1.5rem}.communities-about-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:1rem}.communities-about-content p:last-child{margin-bottom:0}.no-communities-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.community-page-main{padding:0}.community-about-section{padding:4rem 0;background-color:var(--color-bg-card)}.community-about-content{max-width:800px;margin:0 auto}.community-about-content h2,.community-about-content h3,.community-about-content h4{font-family:var(--font-display);color:var(--color-text)}.community-about-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7}.community-about-content ul,.community-about-content ol{color:var(--color-text-muted);margin-bottom:1rem;padding-left:1.5rem}.community-about-content li{margin-bottom:.5rem}.community-properties-section{padding:4rem 0;background-color:var(--color-bg-dark)}.community-properties-section .section-header{text-align:center;margin-bottom:3rem}.community-properties-section .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}.community-properties-section .section-subtitle{font-size:1.125rem;color:var(--color-text-muted)}.community-properties-section .section-footer{text-align:center;margin-top:2.5rem}.community-properties-section .property-grid--3col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.community-properties-section .property-grid--3col{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.community-properties-section .property-grid--3col{grid-template-columns:1fr}}.community-properties-section .no-properties-message{text-align:center;color:var(--color-text-muted);font-size:1.125rem;padding:3rem 0}.community-properties-section .no-properties-message a{color:var(--color-accent-light)}.community-properties-section .no-properties-message a:hover{color:var(--color-accent-hover)}.resources-page-main{padding:0}.resources-featured-section{padding:4rem 0;background-color:var(--color-bg-dark)}.resources-featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 768px){.resources-featured-grid{grid-template-columns:1fr}}.resource-featured-card{position:relative;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:2.5rem;text-align:center;cursor:pointer}.resource-featured-card:hover{border-color:var(--color-accent)}.resource-featured-card:hover .btn,.resource-featured-card:hover .comment-form .form-submit input[type=submit],.comment-form .form-submit .resource-featured-card:hover input[type=submit]{background-color:var(--color-accent-hover)}.resource-card-link-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.resource-featured-icon{display:flex;align-items:center;justify-content:center;width:100px;height:100px;margin:0 auto 1.5rem;background-color:#9f37301a;border-radius:50%;color:var(--color-accent)}.resource-featured-title{font-family:var(--font-display);font-size:1.75rem;color:var(--color-text);margin-bottom:1rem}.resource-featured-description{font-size:1rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:1.5rem}.resources-additional-section{padding:4rem 0;background-color:var(--color-bg-dark)}.resources-additional-section .section-header{text-align:center;margin-bottom:3rem}.resources-additional-section .section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}.resources-additional-section .section-subtitle{font-size:1.125rem;color:var(--color-text-muted)}.resources-additional-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 992px){.resources-additional-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.resources-additional-grid{grid-template-columns:1fr}}.resource-card{position:relative;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;cursor:pointer}.resource-card:hover{border-color:var(--color-accent)}.resource-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:1rem;background-color:#9f37301a;border-radius:.5rem;color:var(--color-accent)}.resource-card-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.5rem}.resource-card-description{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:0}.resource-page-main{padding:0}.resource-content-section{padding:4rem 0;background-color:var(--color-bg-card)}.resource-content-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem}@media (max-width: 992px){.resource-content-layout{grid-template-columns:1fr}}.resource-content h2,.resource-content h3,.resource-content h4{font-family:var(--font-display);color:var(--color-text);margin-top:2rem;margin-bottom:1rem}.resource-content h2:first-child,.resource-content h3:first-child,.resource-content h4:first-child{margin-top:0}.resource-content h2{font-size:1.75rem}.resource-content h3{font-size:1.5rem}.resource-content h4{font-size:1.25rem}.resource-content p{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7}.resource-content ul,.resource-content ol{color:var(--color-text-muted);margin-bottom:1.5rem;padding-left:1.5rem;font-size:1.125rem;line-height:1.7}.resource-content li{margin-bottom:.5rem}.resource-content blockquote{border-left:4px solid var(--color-accent);padding-left:1.5rem;margin:1.5rem 0;font-style:italic;color:var(--color-text-muted)}@media (max-width: 992px){.resource-sidebar{order:-1}}.resource-sidebar-sticky{position:sticky;top:100px}@media (max-width: 992px){.resource-sidebar-sticky{position:static}}.resource-sidebar-card{background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.resource-sidebar-card h3{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.75rem}.resource-sidebar-card p{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1rem}.resource-sidebar-phone{text-align:center;margin-top:1rem;margin-bottom:0}.resource-sidebar-phone a{color:var(--color-accent-light)}.resource-sidebar-phone a:hover{color:var(--color-accent-hover)}.resource-sidebar-links{list-style:none;padding:0;margin:0}.resource-sidebar-links li{margin-bottom:.5rem}.resource-sidebar-links li:last-child{margin-bottom:0}.resource-sidebar-links a{color:var(--color-text-muted);font-size:.875rem}.resource-sidebar-links a:hover{color:var(--color-accent-light)}.mortgage-calculator-main{padding-bottom:4rem}.mortgage-calculator-layout{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:2rem}@media (min-width: 1024px){.mortgage-calculator-layout{grid-template-columns:1fr 350px;gap:3rem}}.calculator-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:2rem;margin-bottom:2rem}@media (max-width: 640px){.calculator-widget{padding:1.5rem}}.calculator-form{display:flex;flex-direction:column;gap:2rem}@media (min-width: 768px){.calculator-form{flex-direction:row;gap:3rem}}.calculator-inputs{flex:1;display:flex;flex-direction:column;gap:1.25rem}.input-group label{display:block;font-family:Times New Roman,Times,serif;font-size:.875rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem}.input-row{display:flex;gap:.75rem}.input-row .input-currency{flex:2}.input-row .input-percent{flex:1;min-width:80px}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input,.input-wrapper select{width:100%;padding:.75rem 1rem;background-color:#000;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:1rem;font-family:inherit}.input-wrapper input:focus,.input-wrapper select:focus{outline:none;border-color:var(--color-accent)}.input-wrapper select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;cursor:pointer}.input-wrapper.input-currency input{padding-left:1.75rem}.input-wrapper.input-currency .input-prefix{position:absolute;left:.75rem;color:var(--color-text-muted);pointer-events:none}.input-wrapper.input-percent input{padding-right:2rem}.input-wrapper.input-percent .input-suffix{position:absolute;right:.75rem;color:var(--color-text-muted);pointer-events:none}.calculator-results{flex:1;display:flex;flex-direction:column;justify-content:center}@media (min-width: 768px){.calculator-results{padding-left:2rem;border-left:1px solid var(--color-border)}}@media (max-width: 767px){.calculator-results{padding-top:1.5rem;border-top:1px solid var(--color-border)}}.result-main{text-align:center;margin-bottom:1.5rem}.result-main .result-label{display:block;font-size:.875rem;color:var(--color-text-muted);margin-bottom:.5rem}@media (min-width: 1024px){.result-main .result-label{font-size:1.4rem}}.result-main .result-value{display:block;font-family:var(--font-display);font-size:2.5rem;color:var(--color-accent-light);line-height:1.2}@media (max-width: 640px){.result-main .result-value{font-size:2rem}}@media (min-width: 1024px){.result-main .result-value{font-size:3.125rem}}.result-breakdown{display:flex;flex-direction:column;gap:.75rem}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.breakdown-item:last-child{border-bottom:none}.breakdown-item .breakdown-label{font-size:.875rem;color:var(--color-text-muted)}.breakdown-item .breakdown-value{font-size:.9375rem;font-weight:600;color:var(--color-text)}.calculator-guide,.calculator-notes{margin-bottom:2rem}.calculator-guide .section-title,.calculator-notes .section-title{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.guide-content p,.notes-content p{color:var(--color-text-muted);line-height:1.7;margin-bottom:1rem}.guide-list,.notes-list{list-style:none;margin:0;padding:0}.guide-list li,.notes-list li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;color:var(--color-text-muted);line-height:1.6}.guide-list li:before,.notes-list li:before{content:"";position:absolute;left:0;top:.5rem;width:6px;height:6px;background-color:var(--color-accent);border-radius:50%}.guide-list li strong,.notes-list li strong{color:var(--color-text)}.mortgage-calculator-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 1024px){.mortgage-calculator-sidebar{align-self:start}}.mortgage-calculator-sidebar .sidebar-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem}.mortgage-calculator-sidebar .widget-title{font-family:Times New Roman,Times,serif;font-size:18px;font-weight:700;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.tips-list{list-style:none;margin:0;padding:0}.tips-list li{position:relative;padding-left:1.25rem;margin-bottom:.875rem;font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.tips-list li:before{content:"";position:absolute;left:0;top:.5rem;width:5px;height:5px;background-color:var(--color-accent);border-radius:50%}.tips-list li:last-child{margin-bottom:0}.help-text{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:1.25rem}.btn-block{display:block;width:100%;text-align:center}.resource-links{list-style:none;margin:0;padding:0}.resource-links li{margin-bottom:.625rem}.resource-links li:last-child{margin-bottom:0}.resource-links a{color:var(--color-text-muted);font-size:.9375rem;text-decoration:none}.resource-links a:hover{color:var(--color-accent-light)}.property-card{display:flex;flex-direction:column;height:100%;background-color:var(--color-bg-dark);border:1px solid var(--color-accent);border-radius:.5rem;overflow:hidden;position:relative;cursor:pointer}.property-card:hover{border-color:var(--color-accent-hover)}.property-card:hover .property-card-link{color:var(--color-accent-hover)}.property-card-link-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.property-card-image{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background-color:var(--color-bg-dark);background-size:cover;background-position:center;background-repeat:no-repeat}.property-card-image.has-image{background-color:var(--color-bg-card)}.property-card-image.is-loaded .property-card-spinner{display:none}.property-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.property-card-spinner{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-card)}.property-card-spinner .spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:card-spin .8s linear infinite}@keyframes card-spin{to{transform:rotate(360deg)}}.property-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);color:var(--color-border)}.property-card-badge{position:absolute;top:.75rem;left:.75rem}.property-card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.property-card-price{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.property-card-title{font-family:var(--font-body);font-size:1rem;font-weight:500;line-height:1.4;margin-bottom:.75rem;color:var(--color-text-muted)}.property-card-specs{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;margin:0 0 .75rem;padding:0}.spec-item{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-muted)}.spec-item svg{color:var(--color-accent);flex-shrink:0}.property-card-excerpt{flex-grow:1;font-size:.875rem;color:var(--color-sold);margin-bottom:1rem;line-height:1.5}.property-card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-accent-light);text-decoration:none;margin-top:auto}.property-card-link:hover{color:var(--color-accent-hover)}.property-card-link svg{width:16px;height:16px}.properties-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0}@media (min-width: 640px){.properties-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.properties-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}.properties-meta{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--color-border)}.properties-count{font-size:.9375rem;color:var(--color-text-muted)}.properties-count strong{color:var(--color-text)}.no-properties{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.no-properties h3{color:var(--color-text);margin-bottom:.5rem}.no-properties p{margin-bottom:1.5rem}.archive-hero{position:relative;background-color:var(--color-bg-card);background-size:cover;background-position:center;background-repeat:no-repeat;padding:3rem 0}.archive-hero.has-background{padding:4rem 0}@media (max-width: 768px){.archive-hero.has-background{padding:3rem 0}}.archive-hero .container{position:relative;z-index:2}.archive-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0a0a0abf,#0a0a0aa6);z-index:1}.archive-hero-title{margin-bottom:.5rem}.has-background .archive-hero-title{text-shadow:0 2px 4px rgba(0,0,0,.3)}.archive-hero-subtitle{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:0;max-width:600px}.has-background .archive-hero-subtitle{color:var(--color-text);opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.3)}.view-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem}.view-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--color-text-muted);background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.25rem;text-decoration:none;transition:all .15s ease}.view-toggle-btn:hover{color:var(--color-text);border-color:var(--color-accent)}.view-toggle-btn.active{color:var(--color-text);background-color:var(--color-accent);border-color:var(--color-accent)}.view-toggle-btn svg{flex-shrink:0}.property-map-layout{display:none}@media (min-width: 1024px){.is-map-view .property-map-layout{display:grid;grid-template-columns:minmax(300px,33%) 1fr;gap:2rem;width:var(--layout-width, 100%);max-width:100%;margin-left:auto;margin-right:auto}}.grid-view-container{display:block}.grid-view-container .view-toggle{display:none}@media (min-width: 1024px){.grid-view-container .view-toggle{display:flex}.grid-view-container{display:none}.is-grid-view .grid-view-container{display:block;width:var(--layout-width, 100%);max-width:100%;margin-left:auto;margin-right:auto}}.property-map-container{position:relative}@media (min-width: 1024px){.property-map-container{position:sticky;top:100px;height:calc(50vh - 75px)}}.property-map-container .view-toggle{margin-bottom:1.4rem}.property-map{width:100%;height:200px;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;border:1px solid var(--color-border)}@media (min-width: 1024px){.property-map{height:calc(100% - 44px)}}.property-list-container .properties-meta{padding-top:0;padding-bottom:0}.property-list-container .properties-grid{grid-template-columns:1fr}@media (min-width: 640px){.property-list-container .properties-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.property-list-container .properties-grid{grid-template-columns:repeat(var(--card-columns, 2),400px);gap:1.5rem}.grid-view-container .properties-grid{grid-template-columns:repeat(var(--card-columns, 3),400px);gap:1.5rem}}.property-marker{background:transparent}.property-marker .marker-pin{width:16px;height:16px;border-radius:50% 50% 50% 0;background:var(--color-accent);position:absolute;transform:rotate(-45deg);left:50%;top:50%;margin:-11px 0 0 -8px;box-shadow:0 1px 4px #0000004d}.property-marker .marker-pin:after{content:"";width:7px;height:7px;margin:4px 0 0 4px;background:var(--color-bg-dark);position:absolute;border-radius:50%}.property-marker.property-marker-amber .marker-pin{background:#f59e0b}.property-marker.property-marker-blue .marker-pin{background:#3b82f6}.marker-cluster{background-clip:padding-box;border-radius:50%}.marker-cluster div{width:32px;height:32px;margin-left:4px;margin-top:4px;text-align:center;border-radius:50%;font-weight:600;font-size:12px;display:flex;align-items:center;justify-content:center}.marker-cluster span{line-height:1}.marker-cluster-small{background-color:#b57e6399}.marker-cluster-small div{background-color:#b57e63e6;color:#000;font-weight:800}.marker-cluster-medium{background-color:#b57e63b3}.marker-cluster-medium div{background-color:#b57e63f2;color:#000;font-weight:800;width:36px;height:36px;margin-left:2px;margin-top:2px;font-size:13px}.marker-cluster-large{background-color:#b57e63cc}.marker-cluster-large div{background-color:#b57e63;color:#000;font-weight:800;width:40px;height:40px;margin-left:0;margin-top:0;font-size:14px}.density-dot-container{background:transparent!important;border:none!important}.density-dot{border-radius:50%;border:1px solid rgba(0,0,0,.15);box-shadow:0 1px 2px #0003;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.density-dot:hover{transform:scale(1.4);box-shadow:0 2px 4px #0000004d}.density-tooltip,.cluster-tooltip{font-family:var(--font-body);font-size:.75rem;padding:.25rem .5rem;background:#1e1e1ee6;color:#fff;border:none;border-radius:.25rem}.property-card-highlighted{border-color:#f59e0b!important;box-shadow:0 0 0 2px #f59e0b4d}.map-popup{font-family:var(--font-body);padding:.25rem}.map-popup strong{font-size:1rem;color:var(--color-accent)}.map-popup span{font-size:.875rem;color:#666}.map-popup a{display:inline-block;margin-top:.5rem;font-size:.875rem;color:var(--color-accent);font-weight:500}.map-popup a:hover{text-decoration:underline}.leaflet-popup-content-wrapper{border-radius:.5rem}.leaflet-popup-tip-container{margin-top:-1px}.property-archive-main>.container{max-width:none;padding-top:2rem;padding-left:var(--container-padding);padding-right:var(--container-padding)}.property-archive-main .archive-hero .container{max-width:var(--container-max)}.property-archive-main .property-filters{max-width:var(--container-max);margin-left:auto;margin-right:auto}.property-filters{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.filters-form{display:block}.filters-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width: 768px){.filters-row{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1200px){.filters-row{grid-template-columns:repeat(7,1fr)}}.filter-item{display:flex;flex-direction:column;gap:.375rem}.filter-item-button .btn,.filter-item-button .comment-form .form-submit input[type=submit],.comment-form .form-submit .filter-item-button input[type=submit]{width:100%;padding:.625rem 1rem}.filter-label{font-size:.8125rem;font-weight:500;color:var(--color-text);text-transform:uppercase;letter-spacing:.03em}.filter-select{width:100%;padding:.625rem 2rem .625rem .75rem;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.9375rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.filter-select:focus{outline:none;border-color:var(--color-accent)}.filter-input{width:100%;padding:.625rem .75rem;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-size:.9375rem}.filter-input::-moz-placeholder{color:var(--color-text-muted);opacity:.7}.filter-input::placeholder{color:var(--color-text-muted);opacity:.7}.filter-input:focus{outline:none;border-color:var(--color-accent)}.filter-item-zip{max-width:120px}@media (max-width: 768px){.filter-item-zip{max-width:none}}.property-filters.is-loading{pointer-events:none;opacity:.7}.property-results-loading{display:flex;justify-content:center;align-items:center;padding:4rem 0}.property-results-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.server-cluster{cursor:pointer}.server-cluster:hover div{transform:scale(1.1);transition:transform .15s ease}.cluster-tooltip{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text);font-family:var(--font-body);font-size:.8125rem;padding:.5rem .75rem;line-height:1.4;box-shadow:0 2px 8px #00000026}.cluster-tooltip:before{border-top-color:var(--color-border)}@media (min-width: 1024px){.property-list-container.infinite-scroll-enabled{max-height:calc(100vh - 180px);overflow-y:auto;scroll-behavior:smooth}.property-list-container.infinite-scroll-enabled::-webkit-scrollbar{width:8px}.property-list-container.infinite-scroll-enabled::-webkit-scrollbar-track{background:var(--color-bg-dark);border-radius:4px}.property-list-container.infinite-scroll-enabled::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.property-list-container.infinite-scroll-enabled::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}}.infinite-scroll-page{display:contents}.infinite-scroll-placeholder{grid-column:1/-1;background:transparent}.infinite-scroll-sentinel{height:1px;visibility:hidden;pointer-events:none}.infinite-scroll-loader{display:none;justify-content:center;align-items:center;padding:1.5rem;grid-column:1/-1}.infinite-scroll-loader.is-loading{display:flex}.infinite-scroll-loader .spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.infinite-scroll-enabled .pagination{display:none}.property-gallery{margin-bottom:2rem}.gallery-main{position:relative;margin-bottom:.75rem}.gallery-main-image{display:block;width:100%;padding:0;border:none;background:none;cursor:pointer;border-radius:.5rem;overflow:hidden}.gallery-main-image img{width:100%;height:auto;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;display:block}.gallery-count{position:absolute;bottom:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#000000bf;border-radius:.25rem;color:#fff;font-size:.875rem;font-weight:500}.gallery-playback-btn{position:absolute;bottom:1rem;left:1rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background-color:#000000bf;border:none;border-radius:.25rem;color:#fff;cursor:pointer;z-index:2}.gallery-playback-btn .icon-play{display:none}.gallery-playback-btn .icon-pause{display:block}.gallery-playback-btn:not(.is-playing) .icon-play{display:block}.gallery-playback-btn:not(.is-playing) .icon-pause{display:none}.gallery-playback-btn:hover{background-color:#000000e6}.gallery-thumbnails-container{display:flex;align-items:center;gap:.5rem}@media (max-width: 1023px){.gallery-thumbnails-container{max-width:88vw;margin:auto}}.gallery-thumbnails-viewport{flex:1;overflow:hidden}.gallery-thumbnails{display:flex;gap:.5rem}.gallery-thumbnail{position:relative;flex-shrink:0;width:calc((100% - 2rem)/5);padding:0;border:2px solid transparent;background:var(--color-bg-card);cursor:pointer;border-radius:.25rem;overflow:hidden}@media (max-width: 640px){.gallery-thumbnail{width:calc((100% - 1.5rem)/4)}}.gallery-thumbnail.is-active{border-color:var(--color-accent)}.gallery-thumbnail img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;display:block;opacity:1;transition:opacity .2s ease}.gallery-thumbnail.is-loading img{opacity:0}.gallery-thumbnail.is-loading .thumbnail-spinner{display:flex}.thumbnail-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:var(--color-bg-card)}.thumbnail-spinner .spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:thumbnail-spin .8s linear infinite}@keyframes thumbnail-spin{to{transform:rotate(360deg)}}.gallery-thumbnails-nav{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);cursor:pointer}.gallery-thumbnails-nav:hover:not(:disabled){background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.gallery-thumbnails-nav:disabled{opacity:.3;cursor:not-allowed}.gallery-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background-color:var(--color-bg-card);border-radius:.5rem;color:var(--color-text-muted)}.gallery-placeholder svg{margin-bottom:1rem}.gallery-placeholder p{margin:0}.gallery-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none}.gallery-lightbox[aria-hidden=false]{display:block}.lightbox-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#000000f2}.lightbox-container{position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding:4rem 1rem}.lightbox-close{position:absolute;top:1rem;right:1rem;z-index:10;padding:.5rem;background:none;border:none;color:#fff;cursor:pointer;opacity:.8}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;padding:1rem;background-color:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:.8}.lightbox-nav:hover{opacity:1;background-color:#fff3}.lightbox-nav.lightbox-prev{left:1rem}.lightbox-nav.lightbox-next{right:1rem}.lightbox-image-container{max-width:90vw;max-height:calc(100vh - 8rem);display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:100%;max-height:calc(100vh - 8rem);-o-object-fit:contain;object-fit:contain}.lightbox-counter{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background-color:#000000bf;border-radius:.25rem;color:#fff;font-size:.875rem}.breadcrumbs{background-color:var(--color-bg-card);padding:1rem 0;border-bottom:1px solid var(--color-border)}.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;list-style:none;margin:0;padding:0;font-size:.875rem}.breadcrumb-list li{display:flex;align-items:center}.breadcrumb-list li:not(:last-child):after{content:"/";margin-left:.5rem;color:var(--color-text-muted)}.breadcrumb-list li a{color:var(--color-text-muted);text-decoration:none}.breadcrumb-list li a:hover{color:var(--color-accent-light)}.breadcrumb-list li:last-child{color:var(--color-text)}.single-property-main{padding-bottom:4rem}.property-address-header{padding-top:2rem;padding-bottom:1.5rem}.property-address-title{font-size:2rem;margin-bottom:0;color:var(--color-text)}@media (max-width: 768px){.property-address-title{font-size:1.5rem}}.single-property-layout{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 1024px){.single-property-layout{grid-template-columns:1fr 350px;gap:3rem}}.section-title{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.property-specs-section{margin-bottom:2rem}@media (max-width: 1023px){.property-specs-section{background-color:var(--color-bg-card);padding:1.5rem;border-radius:.5rem}}.property-specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1.5rem;list-style:none;margin:0;padding:0}@media (min-width: 1024px){.property-specs-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}.property-specs-grid .spec-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}@media (min-width: 1024px){.property-specs-grid .spec-item{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.25rem;padding:1rem;background-color:var(--color-bg-card);border-radius:.25rem;border-bottom:none}}.spec-label{font-size:.875rem;color:var(--color-text-muted)}@media (min-width: 1024px){.spec-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}}.spec-value{font-size:1rem;font-weight:600;color:var(--color-text)}@media (min-width: 1024px){.spec-value{font-size:1.25rem}}.property-documents{margin-bottom:2rem}.documents-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;list-style:none;margin:0;padding:0}.document-item{margin:0}.document-link{display:inline-flex;align-items:center;gap:.5rem}.document-link svg{flex-shrink:0}.document-ext{font-size:.75rem;opacity:.7;text-transform:uppercase}.property-description{margin-bottom:2rem}.property-short-desc{font-size:1.125rem;color:var(--color-text);margin-bottom:1rem}.property-full-desc{color:var(--color-text-muted);line-height:1.7}.property-features{margin-bottom:2rem}.features-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;list-style:none;margin:0;padding:0}@media (min-width: 640px){.features-list{grid-template-columns:repeat(3,1fr)}}.feature-item{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--color-text-muted)}.feature-item svg{flex-shrink:0;color:var(--color-success)}.single-property-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 1024px){.single-property-sidebar{align-self:start}}.sidebar-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem}.widget-title{font-family:Times New Roman,Times,serif;font-size:18px;font-weight:700;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.property-header-widget .property-header-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.property-header-widget .property-title{font-family:var(--font-display);font-size:1.75rem;color:var(--color-text);margin-bottom:.5rem;line-height:1.2}.property-header-widget .property-mls{font-size:.8125rem;color:var(--color-sold);margin-bottom:0}.badge-type-residential{background-color:#93c5fd;color:#1e3a5f}.badge-type-commercial{background-color:var(--color-accent);color:#fff}.badge-type-land{background-color:#86efac;color:#14532d}.badge-type-multi-family{background-color:#c4b5fd;color:#3b1d66}.property-documents-widget .sidebar-documents-list{display:flex;flex-direction:column;gap:.75rem}.property-documents-widget .document-btn{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;background-color:var(--color-accent);border:none;border-radius:.25rem;color:#fff;text-decoration:none;font-weight:600;font-size:.875rem;cursor:pointer}.property-documents-widget .document-btn:hover{background-color:var(--color-accent-hover);color:#fff}.property-documents-widget .document-btn svg{flex-shrink:0;stroke:#fff}.property-documents-widget .document-btn-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-documents-widget .document-btn-ext{flex-shrink:0;font-size:.625rem;font-weight:700;text-transform:uppercase;background-color:#0003;color:#fff;padding:.1875rem .375rem;border-radius:.1875rem;letter-spacing:.03em}.agent-card{padding:1.5rem}.agent-info-link{display:block;text-decoration:none;color:inherit;border-radius:.375rem;margin:-.5rem -.5rem 1rem;padding:.5rem}.agent-info-link:hover{background-color:var(--color-bg-dark)}.agent-info-link:hover .agent-name{color:var(--color-accent-light)}.agent-info-link .agent-info{margin-bottom:0}.agent-card-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.agent-card-title{font-size:1.125rem;margin-bottom:0}.agent-info{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.agent-avatar{flex-shrink:0;background-color:#000;border-radius:50%}.agent-avatar img{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.agent-avatar-placeholder{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background-color:#000;border-radius:50%;color:var(--color-text-muted)}.agent-name{font-weight:600;color:var(--color-text);margin-bottom:.25rem}.agent-role{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:0}.agent-contact{display:flex;flex-direction:column;gap:.75rem}.agent-contact .btn,.agent-contact .comment-form .form-submit input[type=submit],.comment-form .form-submit .agent-contact input[type=submit]{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.agent-card-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.agent-card-note{font-size:.8125rem;color:var(--color-text-muted);text-align:center;margin-bottom:0}.property-inquiry-card .inquiry-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1rem;line-height:1.5}.property-inquiry-card .btn-block{display:flex;width:100%;text-align:center;justify-content:center}.generic-contact-card .contact-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.5}.generic-contact-card .generic-contact-actions{display:flex;flex-direction:column;gap:.75rem}.generic-contact-card .btn-block{display:flex;width:100%;text-align:center;justify-content:center}body.lightbox-open{overflow:hidden}.Single_Property_MLS .property-breadcrumb{padding:1rem 0;font-size:.875rem;color:var(--color-text-muted)}.Single_Property_MLS .property-breadcrumb a{color:var(--color-text-muted);text-decoration:none}.Single_Property_MLS .property-breadcrumb a:hover{color:var(--color-accent-light)}.Single_Property_MLS .property-breadcrumb .separator{margin:0 .5rem}.Single_Property_MLS .property-breadcrumb .current{color:var(--color-text)}.Single_Property_MLS .property-gallery-section{margin-bottom:2rem}.Single_Property_MLS .property-gallery-main{border-radius:.5rem;overflow:hidden;background-color:var(--color-bg-card);margin-bottom:1rem}.Single_Property_MLS .property-gallery-main .gallery-main-image{width:100%;height:auto;max-height:500px;-o-object-fit:cover;object-fit:cover;display:block}.Single_Property_MLS .property-gallery-main .gallery-placeholder{display:flex;align-items:center;justify-content:center;height:300px;color:var(--color-text-muted)}.Single_Property_MLS .property-gallery-thumbs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem}.Single_Property_MLS .gallery-thumb{flex-shrink:0;width:80px;height:60px;border-radius:.25rem;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:none}.Single_Property_MLS .gallery-thumb.is-active{border-color:var(--color-accent)}.Single_Property_MLS .gallery-thumb:hover{border-color:var(--color-accent-light)}.Single_Property_MLS .gallery-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.Single_Property_MLS .gallery-thumb.gallery-more{display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-card);color:var(--color-text);font-weight:600;font-size:.875rem}.Single_Property_MLS .property-map-section{margin-bottom:2rem}.Single_Property_MLS .property-location-map{height:300px;border-radius:.5rem;overflow:hidden}.Single_Property_MLS .property-directions{margin-bottom:2rem}.Single_Property_MLS .property-directions p{color:var(--color-text-muted);line-height:1.6}.Single_Property_MLS .property-agent-widget .agent-name{font-weight:600;margin-bottom:.25rem}.Single_Property_MLS .property-agent-widget .office-name{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1rem}.Single_Property_MLS .property-share-widget .share-buttons{display:flex;gap:.75rem}.Single_Property_MLS .property-share-widget .share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:.375rem;background-color:var(--color-bg-dark);color:var(--color-text-muted);border:none;cursor:pointer;text-decoration:none;transition:background-color .2s,color .2s}.Single_Property_MLS .property-share-widget .share-btn:hover{background-color:var(--color-accent);color:#fff}.Single_Property_MLS .property-share-widget .share-btn.copied{background-color:var(--color-success);color:#fff}.Single_Property_MLS .badge-type{background-color:var(--color-bg-dark);color:var(--color-text)}.Single_Agent{padding-bottom:4rem}.Single_Agent .agent-header{background-color:var(--color-bg-card);padding:3rem 0;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-header-layout{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center}@media (min-width: 768px){.Single_Agent .agent-header-layout{flex-direction:row;text-align:left;align-items:flex-start}}.Single_Agent .agent-photo-wrapper{flex-shrink:0;background-color:#000}.Single_Agent .agent-photo{width:200px;height:200px;border-radius:.5rem;-o-object-fit:cover;object-fit:cover;border:3px solid var(--color-border)}@media (min-width: 768px){.Single_Agent .agent-photo{width:240px;height:240px}}.Single_Agent .agent-photo-placeholder{width:200px;height:200px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark);border-radius:.5rem;border:3px solid var(--color-border);color:var(--color-text-muted)}@media (min-width: 768px){.Single_Agent .agent-photo-placeholder{width:240px;height:240px}}.Single_Agent .agent-info-wrapper{flex:1}.Single_Agent .agent-info-content{display:flex;flex-direction:column;align-items:center}@media (min-width: 768px){.Single_Agent .agent-info-content{align-items:flex-start}}.Single_Agent .agent-title-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.5rem;font-weight:600}.Single_Agent .agent-name{font-size:2.5rem;font-family:var(--font-heading);margin-bottom:.5rem;line-height:1.1}@media (min-width: 768px){.Single_Agent .agent-name{font-size:3rem}}.Single_Agent .agent-license{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.5rem}.Single_Agent .agent-contact-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;justify-content:center}@media (min-width: 768px){.Single_Agent .agent-contact-actions{justify-content:flex-start}}.Single_Agent .agent-contact-actions .btn,.Single_Agent .agent-contact-actions .comment-form .form-submit input[type=submit],.comment-form .form-submit .Single_Agent .agent-contact-actions input[type=submit]{display:inline-flex;align-items:center;gap:.5rem}.Single_Agent .agent-social-links{display:flex;gap:.75rem}.Single_Agent .social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-dark);border-radius:.25rem;color:var(--color-text-muted);text-decoration:none}.Single_Agent .social-link:hover{background-color:var(--color-accent);color:#fff}.Single_Agent .social-link svg{width:20px;height:20px}.Single_Agent .agent-content-layout{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:2rem}@media (min-width: 1024px){.Single_Agent .agent-content-layout{grid-template-columns:1fr 350px;gap:3rem}}.Single_Agent .agent-main-content{min-width:0}.Single_Agent .agent-section{margin-bottom:2.5rem}.Single_Agent .agent-section:last-child{margin-bottom:0}.Single_Agent .section-title{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-bio .agent-short-bio{font-size:1.125rem;color:var(--color-text);line-height:1.6;margin-bottom:1.5rem}.Single_Agent .agent-bio .agent-full-bio{color:var(--color-text-muted);line-height:1.7}.Single_Agent .agent-bio .agent-full-bio p{margin-bottom:1rem}.Single_Agent .agent-bio .agent-full-bio p:last-child{margin-bottom:0}.Single_Agent .agent-gallery-section .agent-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width: 640px){.Single_Agent .agent-gallery-section .agent-gallery-grid{grid-template-columns:repeat(3,1fr)}}.Single_Agent .agent-gallery-section .gallery-item{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:.375rem;border:1px solid var(--color-border)}.Single_Agent .agent-gallery-section .gallery-item:hover img{transform:scale(1.05)}.Single_Agent .agent-gallery-section .gallery-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.Single_Agent .agent-listings .agent-listings-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem}@media (min-width: 640px){.Single_Agent .agent-listings .agent-listings-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.Single_Agent .agent-listings .agent-listings-grid{grid-template-columns:repeat(3,1fr)}}.Single_Agent .agent-listings .agent-listings-cta{text-align:center}.Single_Agent .agent-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 1024px){.Single_Agent .agent-sidebar{align-self:start}}.Single_Agent .sidebar-widget{background-color:var(--color-bg-card);border-radius:.5rem;padding:1.5rem}.Single_Agent .widget-title{font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-contact-card .contact-list{list-style:none;margin:0;padding:0}.Single_Agent .agent-contact-card .contact-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.Single_Agent .agent-contact-card .contact-item:first-child{padding-top:0}.Single_Agent .agent-contact-card .contact-item:last-child{padding-bottom:0;border-bottom:none}.Single_Agent .agent-contact-card .contact-item svg{flex-shrink:0;margin-top:.125rem;color:var(--color-accent)}.Single_Agent .agent-contact-card .contact-item>div{flex:1;min-width:0}.Single_Agent .agent-contact-card .contact-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem}.Single_Agent .agent-contact-card a{color:var(--color-text);text-decoration:none;word-break:break-word}.Single_Agent .agent-contact-card a:hover{color:var(--color-accent-light)}.Single_Agent .agent-quick-contact .widget-note{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1rem;line-height:1.5}.Single_Agent .agent-quick-contact .btn-block{display:block;width:100%;text-align:center}.Agents_Archive .agents-section{padding:1.125rem 0 5.875rem}.Agents_Archive .agents-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 640px){.Agents_Archive .agents-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.Agents_Archive .agents-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.Agents_Archive .agents-grid{grid-template-columns:repeat(4,1fr)}}.Agents_Archive .agent-card-item{background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column}.Agents_Archive .agent-card-link{display:block;text-decoration:none;color:inherit;flex:1}.Agents_Archive .agent-card-link:hover .agent-card-image img{transform:scale(1.05)}.Agents_Archive .agent-card-link:hover .agent-card-name{color:var(--color-accent-light)}.Agents_Archive .agent-card-image{aspect-ratio:1/1;overflow:hidden;background-color:var(--color-bg-dark)}.Agents_Archive .agent-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.Agents_Archive .agent-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.Agents_Archive .agent-card-content{padding:1.25rem}.Agents_Archive .agent-card-title-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.375rem;font-weight:600}.Agents_Archive .agent-card-name{font-size:1.25rem;font-family:var(--font-display);margin-bottom:.5rem;line-height:1.2}.Agents_Archive .agent-card-bio{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.Agents_Archive .agent-card-actions{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem 1.25rem;margin-top:auto}.Agents_Archive .agent-action-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;height:40px;padding:0 .75rem;background-color:transparent;border:2px solid var(--color-accent);border-radius:.25rem;color:var(--color-accent);text-decoration:none;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.Agents_Archive .agent-action-btn:hover{background-color:var(--color-accent);color:#fff}.Agents_Archive .agent-action-btn:not(.agent-action-profile){width:40px;padding:0}.Agents_Archive .agent-action-btn.agent-action-profile{flex:1}.Agents_Archive .no-agents-message{text-align:center;padding:3rem;color:var(--color-text-muted)}.Agents_Archive .no-agents-message p{margin-bottom:0}.hero-section--split{display:flex;min-height:70vh;max-height:725px;width:100%}@media (max-width: 768px){.hero-section--split{flex-direction:column;max-height:none}}.hero-section--split.hero-section--small{min-height:300px;max-height:400px}@media (max-width: 768px){.hero-section--split.hero-section--small{max-height:none}}.hero-section--split.hero-section--small .hero-section-title{font-size:2.5rem}@media (max-width: 768px){.hero-section--split.hero-section--small .hero-section-title{font-size:2rem}}.hero-section--split.hero-section--small .hero-section-logo{max-width:280px;margin-bottom:1.5rem}.hero-split-content{width:40%;max-width:800px;background-color:var(--color-bg-dark);display:flex;align-items:center;justify-content:center;padding:3rem}@media (max-width: 1024px){.hero-split-content{width:45%;max-width:none;padding:2rem}}@media (max-width: 768px){.hero-split-content{width:100%;padding:3rem 1.5rem;order:2}}.hero-split-image{flex:1;background-size:cover;background-position:center center;background-repeat:no-repeat;position:relative;overflow:hidden}@media (max-width: 768px){.hero-split-image{width:100%;flex:none;height:300px;order:1}}.hero-split-inner{max-width:420px;text-align:center}@media (max-width: 768px){.hero-split-inner{margin:0 auto}}.hero-section-logo{display:block;max-width:320px;height:auto;margin:0 auto 2rem}@media (max-width: 768px){.hero-section-logo{max-width:280px;margin-bottom:1.5rem}}.hero-section-title{font-family:var(--font-display);font-size:3rem;color:var(--color-text);margin-bottom:1.25rem;line-height:1.1}@media (max-width: 1024px){.hero-section-title{font-size:2.5rem}}@media (max-width: 768px){.hero-section-title{font-size:2.25rem;margin-bottom:1rem}}.hero-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:2rem;line-height:1.6}@media (max-width: 768px){.hero-section-subtitle{font-size:1rem;margin-bottom:1.5rem}}.hero-section-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hero-location-search{margin-bottom:2rem}.hero-location-search-inner{display:flex;gap:0;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden;box-shadow:0 4px 20px #0000004d}@media (max-width: 480px){.hero-location-search-inner{flex-direction:column}}.hero-location-select{flex:1;padding:.875rem 2rem .875rem 1rem;font-size:1rem;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg-card);border:none;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;min-width:180px}.hero-location-select:focus{box-shadow:inset 0 0 0 2px var(--color-accent)}.hero-location-select option{background-color:var(--color-bg-card);color:var(--color-text)}@media (max-width: 480px){.hero-location-select{text-align:center;background-position:right 1.5rem center}}.hero-search-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;border-radius:0;white-space:nowrap}.hero-search-btn svg{flex-shrink:0}@media (max-width: 480px){.hero-search-btn{width:100%;justify-content:center}}.hero-section--card{position:relative;display:flex;align-items:center;justify-content:flex-start;background-color:var(--color-bg-dark);background-size:cover;background-position:center;background-repeat:no-repeat;min-height:70vh;max-height:725px;padding:4rem 0}@media (max-width: 768px){.hero-section--card{min-height:auto;max-height:none;padding:3rem 0;justify-content:center}}.hero-section--card.hero-section--small{min-height:300px;max-height:400px;padding:2rem 0}.hero-section--card.hero-section--small .hero-section-title{font-size:2.25rem}@media (max-width: 768px){.hero-section--card.hero-section--small .hero-section-title{font-size:1.8rem}}.hero-section--card.hero-section--small .hero-card{padding:1.5rem}.hero-card{background-color:#0a0a0ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:1rem;padding:2.375rem;width:520px;text-align:center;border:1px solid var(--color-border);position:absolute;top:50%;left:50vw;transform:translate(-50%,-50%)}@media (min-width: 1800px){.hero-card{left:calc(50vw - 410px)}}@media (min-width: 1650px) and (max-width: 1799px){.hero-card{left:32vw}}@media (min-width: 1500px) and (max-width: 1649px){.hero-card{left:410px}}@media (max-width: 768px){.hero-card{position:relative;top:auto;left:auto;transform:none;padding:1.125rem 2.375rem;margin:0 auto;border-radius:.75rem;width:calc(100% - 2rem);max-width:520px}}.hero-section--card .hero-section-logo{display:block;max-width:360px;height:auto;margin:0 auto 1.75rem}@media (max-width: 768px){.hero-section--card .hero-section-logo{max-width:280px;margin-bottom:1.25rem}}.hero-section--card .hero-section-title{font-family:var(--font-display);font-size:2.475rem;color:var(--color-text);margin-bottom:1.8125rem;line-height:1.1}@media (max-width: 1450px){.hero-section--card .hero-section-title{font-size:42px}}@media (max-width: 768px){.hero-section--card .hero-section-title{font-size:1.6rem;margin-bottom:.875rem}}@media (max-width: 600px){.hero-section--card .hero-section-title{font-size:1.5rem}}.hero-section--card .hero-section-subtitle{font-size:1rem;color:var(--color-text-muted);margin-bottom:1.75rem;line-height:1.6}@media (max-width: 768px){.hero-section--card .hero-section-subtitle{font-size:.9rem;margin-bottom:1.25rem}}@media (max-width: 650px){.hero-section--card .hero-section-subtitle{font-size:.775rem}}.hero-section--card .hero-section-actions{display:flex;flex-wrap:wrap;gap:.875rem;justify-content:center}.hero-section--card .hero-section-actions .btn,.hero-section--card .hero-section-actions .comment-form .form-submit input[type=submit],.comment-form .form-submit .hero-section--card .hero-section-actions input[type=submit]{font-size:.8rem;padding:.675rem 1.25rem}.hero-section--card .hero-location-search{margin-bottom:1.75rem}.hero-section--card .hero-location-search-inner{display:flex;gap:0;background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden}@media (max-width: 480px){.hero-section--card .hero-location-search-inner{flex-direction:column}}.hero-section--card .hero-location-select{flex:1;padding:.75rem 2rem .75rem .875rem;font-size:.9rem;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg-card);border:none;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.hero-section--card .hero-location-select:focus{box-shadow:inset 0 0 0 2px var(--color-accent)}.hero-section--card .hero-search-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:0;white-space:nowrap;font-size:.8rem}@media (max-width: 480px){.hero-section--card .hero-search-btn{width:100%;justify-content:center}}.cta-section{padding:4rem 0}@media (max-width: 768px){.cta-section{padding:3rem 0}}.cta-section--default{background-color:var(--color-bg-card)}.cta-section--accent{background-color:var(--color-accent)}.cta-section--accent .cta-section-title{color:#fff}.cta-section--accent .cta-section-text{color:#ffffffe6}.cta-section--accent .btn-primary,.cta-section--accent .comment-form .form-submit input[type=submit],.comment-form .form-submit .cta-section--accent input[type=submit]{background-color:#fff;color:var(--color-accent)}.cta-section--accent .btn-primary:hover,.cta-section--accent .comment-form .form-submit input[type=submit]:hover,.comment-form .form-submit .cta-section--accent input[type=submit]:hover,.cta-section--accent .btn-primary:active,.cta-section--accent .comment-form .form-submit input[type=submit]:active,.comment-form .form-submit .cta-section--accent input[type=submit]:active{background-color:var(--color-text);color:#000}.cta-section-content{text-align:center;max-width:700px;margin:0 auto}.cta-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:1rem}@media (max-width: 768px){.cta-section-title{font-size:1.875rem}}.cta-section-text{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:1.5rem}.testimonial{background-color:var(--color-bg-card);border-radius:.5rem;padding:2rem;margin:0}.testimonial-quote{position:relative;margin-bottom:1.5rem}.testimonial-quote p{font-size:1.125rem;color:var(--color-text);line-height:1.7;font-style:italic;margin:0;padding-left:3.5rem}@media (max-width: 640px){.testimonial-quote p{font-size:1rem;padding-left:0;padding-top:3rem}}.testimonial-quote-icon{position:absolute;top:0;left:0;color:var(--color-accent);opacity:.5}@media (max-width: 640px){.testimonial-quote-icon{top:0;left:0}}.testimonial-footer{display:flex;flex-direction:column;gap:.25rem;padding-left:3.5rem}@media (max-width: 640px){.testimonial-footer{padding-left:0}}.testimonial-name{font-style:normal;font-weight:600;color:var(--color-text);font-size:.9375rem}.testimonial-location{font-size:.8125rem;color:var(--color-text-muted)}.testimonials-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.testimonials-section{padding:3rem 0}}.testimonials-section-header{text-align:center;margin-bottom:3rem}.testimonials-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.testimonials-section-title{font-size:1.875rem}}.testimonials-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 768px){.testimonials-grid{grid-template-columns:1fr}}.feature-block{text-align:center;padding:1.5rem}.feature-block-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 1.25rem;border-radius:50%;background-color:var(--color-bg-card);color:var(--color-accent)}.feature-block-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:.75rem}.feature-block-text{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:0}.features-section{padding:4rem 0;background-color:var(--color-bg-dark)}@media (max-width: 768px){.features-section{padding:3rem 0}}.features-section-header{text-align:center;margin-bottom:3rem}.features-section-title{font-family:var(--font-display);font-size:2.25rem;color:var(--color-text);margin-bottom:.75rem}@media (max-width: 768px){.features-section-title{font-size:1.875rem}}.features-section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media (max-width: 768px){.features-grid{grid-template-columns:1fr;gap:1.5rem}}.service-cards-section{padding:5rem 0;background-color:var(--color-bg-card)}.service-cards-header{text-align:center;margin-bottom:3rem}.service-cards-title{font-family:var(--font-display);font-size:2.5rem;color:var(--color-text);margin-bottom:1rem}@media (max-width: 768px){.service-cards-title{font-size:2rem}}.service-cards-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.service-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media (max-width: 992px){.service-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.service-cards-grid{grid-template-columns:1fr;gap:1.5rem}}.service-card{position:relative;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;padding:2rem;text-align:center;cursor:pointer}.service-card:hover{border-color:var(--color-accent)}.service-card:hover .service-card-btn{background-color:var(--color-accent);color:var(--color-text)}.service-card-link-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.service-card-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 1.5rem;background-color:#9f37301a;border-radius:50%;color:var(--color-accent)}.service-card-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1rem}.service-card-description{font-size:1rem;color:var(--color-text-muted);margin-bottom:1.5rem;line-height:1.6}.service-card-btn{display:inline-flex;align-items:center;gap:.5rem}.service-card-btn svg{transition:transform .2s ease}.service-card-btn:hover svg{transform:translate(4px)}.btn-outline{background-color:transparent;border:2px solid var(--color-accent);color:var(--color-accent)}.btn-outline:hover{background-color:var(--color-accent);color:var(--color-text)}.property-type-boxes{padding:4rem 0;background-color:var(--color-bg-card)}@media (max-width: 768px){.property-type-boxes{padding:3rem 0}}.type-boxes-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}@media (max-width: 1200px){.type-boxes-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.type-boxes-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (max-width: 480px){.type-boxes-grid{grid-template-columns:1fr}}.type-box{display:flex;flex-direction:column;padding:1.5rem;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:.5rem;text-decoration:none;transition:all .2s ease}.type-box:hover{border-color:var(--color-accent);transform:translateY(-2px)}.type-box:hover .type-box-icon{color:var(--color-accent)}.type-box:hover .type-box-arrow{opacity:1;transform:translate(0)}@media (max-width: 768px){.type-box{padding:1.25rem}}.type-box-icon{color:var(--color-text-muted);margin-bottom:1rem;transition:color .2s ease}.type-box-icon svg{display:block}@media (max-width: 768px){.type-box-icon{margin-bottom:.75rem}.type-box-icon svg{width:28px;height:28px}}.type-box-content{flex:1}.type-box-title{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem}@media (max-width: 768px){.type-box-title{font-size:1rem}}.type-box-description{font-size:.8125rem;color:var(--color-text-muted);line-height:1.4;margin-bottom:.75rem}@media (max-width: 768px){.type-box-description{font-size:.75rem;margin-bottom:.5rem}}.type-box-count{display:inline-block;font-size:.75rem;font-weight:500;color:var(--color-accent-light);text-transform:uppercase;letter-spacing:.03em}.type-box-arrow{align-self:flex-end;color:var(--color-accent);opacity:0;transform:translate(-8px);transition:all .2s ease;margin-top:.75rem}@media (max-width: 768px){.type-box-arrow{display:none}}:root{--color-bg-dark: #0A0A0A;--color-bg-card: #161616;--color-accent: #9F3730;--color-accent-hover: #C8473F;--color-accent-light: #BF524B;--color-text: #F5F5F5;--color-text-muted: #B0B0B0;--color-border: #2A2A2A;--color-success: #2E7D32;--color-warning: #F9A825;--color-sold: #757575;--font-display: "Abril Fatface", Georgia, serif;--font-body: "Inter", "Droid Sans", Arial, sans-serif;--container-max: 1400px;--container-padding: 1.5rem;--transition-fast: .15s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg-dark);color:var(--color-text-muted);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text);font-weight:400;line-height:1.2;margin-bottom:1rem}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.875rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}p{margin-bottom:1rem}a{color:var(--color-accent-light);text-decoration:none}a:hover{color:var(--color-accent-hover)}.container{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.site-main{min-height:50vh}.btn,.comment-form .form-submit input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-family:var(--font-body);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;border:none;cursor:pointer}.btn svg,.comment-form .form-submit input[type=submit] svg{flex-shrink:0}.btn-primary,.comment-form .form-submit input[type=submit]{background-color:var(--color-accent);color:#fff}.btn-primary:hover,.comment-form .form-submit input[type=submit]:hover{background-color:var(--color-accent-hover);color:#fff}.btn-secondary{background-color:transparent;border:2px solid var(--color-accent);color:var(--color-accent)}.btn-secondary:hover{background-color:var(--color-accent);color:#fff}.badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem}.badge-success{background-color:var(--color-success);color:#fff}.badge-warning{background-color:var(--color-warning);color:#000}.badge-muted{background-color:var(--color-sold);color:#fff}.card{background-color:var(--color-bg-card);border-radius:.5rem;overflow:hidden}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,select{width:100%;padding:.75rem 1rem;background-color:#000;border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-family:var(--font-body);font-size:1rem}input[type=text]::-moz-placeholder,input[type=email]::-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=number]::-moz-placeholder,input[type=search]::-moz-placeholder,textarea::-moz-placeholder,select::-moz-placeholder{color:var(--color-sold)}input[type=text]::placeholder,input[type=email]::placeholder,input[type=tel]::placeholder,input[type=number]::placeholder,input[type=search]::placeholder,textarea::placeholder,select::placeholder{color:var(--color-sold)}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=search]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alignwide{max-width:calc(var(--container-max) + 200px)}.alignfull{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.wp-block-image img{max-width:100%;height:auto}@media (max-width: 768px){:root{--container-padding: 1rem}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}}::view-transition-old(root),::view-transition-new(root){animation:none} diff --git a/wp-content/themes/homeproz/dist/assets/main.js b/wp-content/themes/homeproz/dist/assets/main.js index d7b8d7ec..aa3b78b3 100644 --- a/wp-content/themes/homeproz/dist/assets/main.js +++ b/wp-content/themes/homeproz/dist/assets/main.js @@ -1 +1 @@ -(function(a){var f=a(".menu-toggle"),i=a(".mobile-navigation");f.length&&(f.on("click",function(){var s=a(this).attr("aria-expanded")==="true";a(this).attr("aria-expanded",!s),i.toggleClass("is-open"),s?a("body").removeClass("mobile-menu-open"):a("body").addClass("mobile-menu-open")}),a(document).on("keydown",function(s){s.key==="Escape"&&i.hasClass("is-open")&&(f.attr("aria-expanded","false"),i.removeClass("is-open"),a("body").removeClass("mobile-menu-open"))}),a(document).on("click",function(s){i.hasClass("is-open")&&!a(s.target).closest(".mobile-navigation").length&&!a(s.target).closest(".menu-toggle").length&&(f.attr("aria-expanded","false"),i.removeClass("is-open"),a("body").removeClass("mobile-menu-open"))}))})(jQuery);(function(a){var f=6e3,i=1450,s=1e3,l=[],o=0,u=null,d=!1,t=!1,e=null;function r(){if(a(".Home_Page").length&&(e=a(".hero-split-image"),!!e.length)){var g=e.data("gallery-images");!g||!g.length||(l=g,n(),a(window).on("resize",b(n,150)))}}function n(){var g=a(window).width();g>=i?d||h():d&&c()}function h(){d=!0,t||(p(),t=!0),u=setInterval(m,f)}function c(){d=!1,u&&(clearInterval(u),u=null)}function p(){a.each(l,function(g,v){var y=new Image;y.src=v})}function m(){o=(o+1)%l.length;var g=l[o],v=a('
');v.css({position:"absolute",top:0,left:0,right:0,bottom:0,"background-image":"url("+g+")","background-size":"cover","background-position":"center center","background-repeat":"no-repeat",opacity:0,transform:"scale(1.02)",transition:"opacity "+s+"ms ease-in-out, transform "+s+"ms ease-in-out","z-index":1}),e.css("position","relative"),e.append(v),v[0].offsetHeight,v.css({opacity:1,transform:"scale(1)"}),setTimeout(function(){e.css("background-image","url("+g+")"),v.remove()},s)}function b(g,v){var y;return function(){var I=this,P=arguments;clearTimeout(y),y=setTimeout(function(){g.apply(I,P)},v)}}a(document).ready(r)})(jQuery);(function(a){if(a("body").hasClass("Home_Page")){var f={grid:null,emptyMessage:null,listings:[],init:function(){this.grid=a("#featured-listings-grid"),this.emptyMessage=a("#featured-listings-empty"),this.grid.length&&(this.loadListingsData(),this.renderListings())},loadListingsData:function(){var i=document.getElementById("featured-mls-data");if(!i){this.listings=[];return}try{this.listings=JSON.parse(i.textContent)}catch(s){console.error("Failed to parse featured listings data:",s),this.listings=[]}},shuffleArray:function(i){for(var s=i.slice(),l=s.length-1;l>0;l--){var o=Math.floor(Math.random()*(l+1)),u=s[l];s[l]=s[o],s[o]=u}return s},renderListings:function(){if(!this.listings||this.listings.length===0){this.grid.hide(),this.emptyMessage.show();return}for(var i=this.shuffleArray(this.listings),s=i.slice(0,3),l="",o=0;o',i.bedrooms&&(o+='
  • '+i.bedrooms+" "+s+"
  • "),i.bathrooms&&(o+='
  • '+i.bathrooms+" "+l+"
  • "),i.sqft&&(o+='
  • '+i.sqft.toLocaleString()+" sqft
  • "),o+=""),'
    Active
    '+this.escapeHtml(i.price_formatted)+'

    '+this.escapeHtml(i.address)+"

    "+o+'View Details
    '},escapeHtml:function(i){if(!i)return"";var s=document.createElement("div");return s.textContent=i,s.innerHTML}};a(document).ready(function(){f.init()})}})(jQuery);(function(a){var f={map:null,markers:{},densityLayer:null,clusterLayer:null,markerCluster:null,selectedPropertyId:null,hoveredPropertyId:null,baseZIndex:400,currentFilters:{},isLoading:!1,loadTimeout:null,currentMode:null,init:function(t){var e=a("#property-map");if(!(!e.length||typeof L>"u")){this.currentFilters=t||{},this.map=L.map("property-map").setView([45,-93.5],7),L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© OpenStreetMap'}).addTo(this.map),this.densityLayer=L.layerGroup().addTo(this.map),this.clusterLayer=L.layerGroup().addTo(this.map),this.markerCluster=L.markerClusterGroup({maxClusterRadius:50,spiderfyOnMaxZoom:!0,showCoverageOnHover:!1,zoomToBoundsOnClick:!0,disableClusteringAtZoom:18,chunkedLoading:!0,chunkInterval:200,chunkDelay:50,iconCreateFunction:function(n){var h=n.getChildCount(),c="small";return h>=100?c="large":h>=10&&(c="medium"),L.divIcon({html:"
    "+h+"
    ",className:"marker-cluster marker-cluster-"+c,iconSize:L.point(40,40)})}}),this.map.addLayer(this.markerCluster);var r=this;this.map.on("moveend zoomend",function(){r.loadClusters()}),this.bindCardHoverEvents(),this.loadClusters()}},loadClusters:function(){if(this.map){var t=this;clearTimeout(this.loadTimeout),this.loadTimeout=setTimeout(function(){t._doLoadClusters()},150)}},_doLoadClusters:function(){if(!this.isLoading){var t=this,e=this.map.getBounds(),r=this.map.getCenter(),n=this.map.getZoom();this.isLoading=!0;var h=[e.getSouthWest().lat,e.getSouthWest().lng,e.getNorthEast().lat,e.getNorthEast().lng],c=[r.lat,r.lng],p={action:"mls_get_clusters",zoom:n,bounds:h,status:this.currentFilters.status||"Active",property_type:this.currentFilters.property_type||"",city:this.currentFilters.city||"",min_price:this.currentFilters.min_price||"",max_price:this.currentFilters.max_price||"",min_beds:this.currentFilters.min_beds||""};i.updateFromMap(h,c),a.ajax({url:homeprozMapData.clusterEndpoint,type:"GET",data:p,success:function(m){if(m.success){var b=m.data;switch(t.currentMode=b.type,b.type){case"density":t.renderDensity(b.dots);break;case"clusters":t.renderClusters(b.clusters);break;case"markers":t.renderMarkers(b.markers);break}}},complete:function(){t.isLoading=!1}})}},clearAllLayers:function(){this.densityLayer.clearLayers(),this.clusterLayer.clearLayers(),this.markerCluster.clearLayers(),this.markers={}},renderDensity:function(t){this.clearAllLayers();var e=this,r=this.map.getZoom();t.forEach(function(n){var h=e.getDensityColor(n.count,r),c=e.getDensitySize(n.count,r),p=L.divIcon({html:'
    ',className:"density-dot-container",iconSize:[c,c],iconAnchor:[c/2,c/2]}),m=L.marker([n.lat,n.lng],{icon:p});m.on("click",function(){e.map.setView([n.lat,n.lng],e.map.getZoom()+2)}),m.bindTooltip(n.count+" properties",{className:"density-tooltip"}),e.densityLayer.addLayer(m)})},getDensityThreshold:function(t){return Math.max(40,Math.round(600/Math.pow(1.4,t-3)))},getDensityColor:function(t,e){var r=this.getDensityThreshold(e),n=t/r;return n>=1.5?"rgba(180, 83, 9, 0.8)":n>=1?"rgba(217, 119, 6, 0.8)":n>=.6?"rgba(245, 158, 11, 0.8)":n>=.3?"rgba(234, 179, 8, 0.8)":n>=.15?"rgba(132, 204, 22, 0.8)":"rgba(34, 197, 94, 0.8)"},getDensitySize:function(t,e){var r=this.getDensityThreshold(e),n=t/r;return n>=1.5?11:n>=1?10:n>=.6?8:n>=.3?7:6},renderClusters:function(t){this.clearAllLayers();var e=this;t.forEach(function(r){var n="small";r.count>=100?n="large":r.count>=10&&(n="medium");var h=L.divIcon({html:"
    "+r.count+"
    ",className:"marker-cluster marker-cluster-"+n+" server-cluster",iconSize:L.point(40,40)}),c=L.marker([r.lat,r.lng],{icon:h});c.on("click",function(){e.map.setView([r.lat,r.lng],e.map.getZoom()+2)});var p="$"+e.formatNumber(r.min_price);r.max_price!==r.min_price&&(p+=" - $"+e.formatNumber(r.max_price)),c.bindTooltip(r.count+" properties
    "+p,{className:"cluster-tooltip"}),e.clusterLayer.addLayer(c)})},renderMarkers:function(t){this.clearAllLayers(),this.selectedPropertyId=null,this.hoveredPropertyId=null,a(".property-card").removeClass("property-card-highlighted");var e=this,r=[];t.forEach(function(n,h){if(n.lat&&n.lng){var c=L.marker([n.lat,n.lng],{icon:e.createIcon("red"),zIndexOffset:e.baseZIndex+h});c.propertyId=n.id,c.defaultZIndex=e.baseZIndex+h,c.bindPopup('
    '+n.price+"
    "+n.address+'
    View Details
    '),c.on("click",function(p){e.onMarkerClick(n.id)}),r.push(c),e.markers[n.id]=c}}),this.markerCluster.addLayers(r)},updateFilters:function(t){this.currentFilters=t||{},this.loadClusters()},formatNumber:function(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},createIcon:function(t){return t=t||"red",L.divIcon({className:"property-marker property-marker-"+t,html:'
    ',iconSize:[17,22],iconAnchor:[8,22],popupAnchor:[0,-22]})},onMarkerClick:function(t){var e=this;if(this.selectedPropertyId!==t){this.selectedPropertyId&&(this.setMarkerColor(this.selectedPropertyId,"red"),this.resetMarkerZIndex(this.selectedPropertyId),a("#property-"+this.selectedPropertyId).removeClass("property-card-highlighted")),this.selectedPropertyId=t,this.setMarkerColor(t,"amber"),this.setMarkerZIndex(t,1e4);var r=a("#property-"+t);if(r.length){var n=r.offset().top,h=n+r.outerHeight(),c=a(window).scrollTop(),p=c+a(window).height(),m=n>=c&&h<=p;m?e.flashCard(r):a("html, body").animate({scrollTop:n-120},400,function(){e.flashCard(r)})}}},flashCard:function(t){t.removeClass("property-card-highlighted"),setTimeout(function(){t.addClass("property-card-highlighted"),setTimeout(function(){t.removeClass("property-card-highlighted"),setTimeout(function(){t.addClass("property-card-highlighted")},150)},150)},50)},setMarkerColor:function(t,e){var r=this.markers[t];r&&r.setIcon(this.createIcon(e))},setMarkerZIndex:function(t,e){var r=this.markers[t];r&&r.setZIndexOffset(e)},resetMarkerZIndex:function(t){var e=this.markers[t];e&&e.setZIndexOffset(e.defaultZIndex)},bindCardHoverEvents:function(){var t=this;a(document).on("mouseenter",".property-card[data-property-id]",function(){var e=a(this).data("property-id");e!==t.selectedPropertyId&&(t.hoveredPropertyId=e,t.setMarkerColor(e,"blue"),t.setMarkerZIndex(e,9e3))}),a(document).on("mouseleave",".property-card[data-property-id]",function(){var e=a(this).data("property-id");e!==t.selectedPropertyId&&(t.hoveredPropertyId===e&&(t.hoveredPropertyId=null),t.setMarkerColor(e,"red"),t.resetMarkerZIndex(e))})}},i={$form:null,$results:null,$filters:null,isFirstLoad:!0,isLoading:!1,mapBounds:null,mapCenter:null,isMapUpdate:!1,init:function(){this.$form=a(".filters-form"),this.$results=a("#property-results"),this.$filters=a("#property-filters"),!(!this.$form.length||!this.$results.length)&&(this.bindEvents(),this.initFromUrl())},bindEvents:function(){var t=this;this.$form.on("submit",function(e){e.preventDefault(),t.filterProperties(1)}),this.$form.find("select").on("change",function(){t.filterProperties(1)}),a(".filters-reset").on("click",function(e){e.preventDefault(),t.resetFilters()}),this.$results.on("click",".pagination a",function(e){e.preventDefault();var r=t.getPageFromUrl(a(this).attr("href"));t.filterProperties(r)}),a(window).on("hashchange",function(){var e=t.getPageFromHash();t.filterProperties(e,!1)})},initFromUrl:function(){var t=new URLSearchParams(window.location.search);this.$form.find("select").each(function(){var r=a(this).attr("name");t.has(r)&&a(this).val(t.get(r))});var e=this.getPageFromHash();e>1&&this.filterProperties(e,!1)},updateFromMap:function(t,e){this.mapBounds=t,this.mapCenter=e,this.isMapUpdate=!0,o.isEnabled&&u.reset(),this.filterProperties(1,!1)},getPageFromHash:function(){var t=window.location.hash,e=t.match(/#page=(\d+)/);return e?parseInt(e[1]):1},filterProperties:function(t,e){if(!this.isLoading){e=e!==!1,t=t||1;var r=this,n=this.getFormData();this.isLoading=!0,this.$filters.addClass("is-loading"),this.isFirstLoad&&this.$results.html('
    ');var h={action:"homeproz_filter_properties",nonce:homeprozAjax.nonce,property_type:n.property_type,property_location:n.property_location,min_price:n.min_price,max_price:n.max_price,beds:n.beds,paged:t};this.mapBounds&&(h.bounds=this.mapBounds),this.mapCenter&&(h.center=this.mapCenter),a.ajax({url:homeprozAjax.ajaxUrl,type:"POST",data:h,success:function(c){c.success&&(r.$results.html(c.data.html),r.isFirstLoad=!1,c.data.filters&&!r.isMapUpdate&&f.updateFilters(c.data.filters),r.isMapUpdate=!1,typeof l<"u"&&l.calculate(),window.innerWidth>=1024&&a(".is-map-view").length&&(u.destroy(),setTimeout(function(){u.init()},100)),e&&r.updateUrl(n,t),t>1&&a("html, body").animate({scrollTop:r.$filters.offset().top-100},300))},error:function(){r.$results.html('

    Error

    Something went wrong. Please try again.

    ')},complete:function(){r.isLoading=!1,r.$filters.removeClass("is-loading")}})}},getFormData:function(){return{property_type:this.$form.find('[name="property_type"]').val()||"",property_location:this.$form.find('[name="property_location"]').val()||"",min_price:this.$form.find('[name="min_price"]').val()||"",max_price:this.$form.find('[name="max_price"]').val()||"",beds:this.$form.find('[name="beds"]').val()||""}},getFormState:function(){return this.getFormData()},setFormFromState:function(t){for(var e in t)this.$form.find('[name="'+e+'"]').val(t[e])},updateUrl:function(t,e){var r=new URL(homeprozAjax.archiveUrl);for(var n in t)t[n]&&r.searchParams.set(n,t[n]);e>1?r.hash="page="+e:r.hash="",history.replaceState(null,"",r.toString())},getPageFromUrl:function(t){var e=t.match(/#page=(\d+)/);if(e)return parseInt(e[1]);var r=t.match(/[?&]paged=(\d+)/);return r?parseInt(r[1]):1},resetFilters:function(){this.$form.find("select").val(""),this.filterProperties(1)}},s={breakpoint:1024,isMapView:!0,isAboveBreakpoint:!0,mapInitialized:!1,init:function(){var t=this;typeof homeprozMapData<"u"&&(this.isMapView=homeprozMapData.isMapView!==!1),this.isAboveBreakpoint=window.innerWidth>=this.breakpoint,this.isAboveBreakpoint&&this.isMapView&&typeof homeprozMapData<"u"&&(f.init(homeprozMapData.initialFilters||{}),this.mapInitialized=!0);var e;a(window).on("resize",function(){clearTimeout(e),e=setTimeout(function(){t.handleResize()},150)})},handleResize:function(){var t=this.isAboveBreakpoint;this.isAboveBreakpoint=window.innerWidth>=this.breakpoint;var e=a(".property-archive-main");t&&!this.isAboveBreakpoint&&o.isEnabled&&u.destroy(),!t&&this.isAboveBreakpoint&&(this.isMapView?(e.removeClass("is-grid-view").addClass("is-map-view"),!this.mapInitialized&&typeof homeprozMapData<"u"?(f.init(homeprozMapData.initialFilters||{}),this.mapInitialized=!0):f.map&&setTimeout(function(){f.map.invalidateSize()},100),setTimeout(function(){u.init()},200)):e.removeClass("is-map-view").addClass("is-grid-view"),typeof l<"u"&&setTimeout(function(){l.calculate()},150))},setMapView:function(t){this.isMapView=t}},l={cardWidth:400,cardGap:24,mapGap:32,mapRatio:.33,breakpoint:1024,containerPadding:24,init:function(){this.calculate();var t=this,e;a(window).on("resize",function(){clearTimeout(e),e=setTimeout(function(){t.calculate()},100)})},calculate:function(){if(window.innerWidth .container"),r=t.hasClass("is-map-view"),n=e.width();r?this.calculateMapLayout(n):this.calculateGridLayout(n)},calculateMapLayout:function(t){for(var e=5;e>=1;e--){var r=e*this.cardWidth+(e-1)*this.cardGap,n=(this.mapGap+r)/(1-this.mapRatio);if(n<=t){this.setProperties(n,e,".property-map-layout"),this.setProperties(n,e,".property-list-container");return}}var r=this.cardWidth,n=(this.mapGap+r)/(1-this.mapRatio);this.setProperties(Math.min(n,t),1,".property-map-layout"),this.setProperties(Math.min(n,t),1,".property-list-container")},calculateGridLayout:function(t){for(var e=6;e>=1;e--){var r=e*this.cardWidth+(e-1)*this.cardGap;if(r<=t){this.setProperties(r,e,".grid-view-container");return}}this.setProperties(this.cardWidth,1,".grid-view-container")},setProperties:function(t,e,r){var n=a(r);n.length&&(n.css("--layout-width",t+"px"),n.css("--card-columns",e))},clearProperties:function(){a(".property-map-layout, .grid-view-container, .property-list-container").css({"--layout-width":"","--card-columns":""})}},o={pages:{},visibleRange:{first:1,last:1},totalPages:0,totalPosts:0,pendingRequests:{},isEnabled:!1,config:{maxPagesInDOM:5,bufferPages:2,cardsPerPage:12}},u={$container:null,$grid:null,$topSentinel:null,$bottomSentinel:null,$topLoader:null,$bottomLoader:null,topObserver:null,bottomObserver:null,scrollContainer:null,init:function(){if(!(window.innerWidth<1024||!a(".is-map-view").length)&&(this.$container=a(".property-list-container"),this.$grid=this.$container.find(".properties-grid"),!(!this.$container.length||!this.$grid.length))){var t=this.$container.find(".properties-meta"),e=t.find(".properties-count strong").text();o.totalPosts=parseInt(e)||0,o.totalPages=Math.ceil(o.totalPosts/o.config.cardsPerPage),!(o.totalPages<=1)&&(this.resetState(),this.setupDOM(),this.wrapInitialCards(),this.setupObservers(),o.isEnabled=!0,this.$container.addClass("infinite-scroll-enabled"))}},resetState:function(){o.pages={},o.visibleRange={first:1,last:1},o.pendingRequests={}},setupDOM:function(){this.$container.find(".infinite-scroll-sentinel, .infinite-scroll-loader").remove(),this.$topSentinel=a('
    '),this.$topLoader=a('
    '),this.$bottomSentinel=a('
    '),this.$bottomLoader=a('
    '),this.$grid.before(this.$topSentinel).before(this.$topLoader),this.$grid.after(this.$bottomLoader).after(this.$bottomSentinel),this.scrollContainer=this.$container[0]},wrapInitialCards:function(){var t=this.$grid.find(".property-card");if(t.length){var e=a('
    ');t.wrapAll(e);var r=this.$grid.find('.infinite-scroll-page[data-page="1"]').outerHeight();o.pages[1]={html:null,height:r,loaded:!0},o.visibleRange={first:1,last:1}}},setupObservers:function(){var t=this,e={root:this.scrollContainer,rootMargin:"400px 0px",threshold:0};this.bottomObserver=new IntersectionObserver(function(r){r.forEach(function(n){n.isIntersecting&&t.loadNextPage()})},e),this.topObserver=new IntersectionObserver(function(r){r.forEach(function(n){n.isIntersecting&&t.loadPrevPage()})},e),this.bottomObserver.observe(this.$bottomSentinel[0]),this.topObserver.observe(this.$topSentinel[0])},loadNextPage:function(){var t=o.visibleRange.last+1;if(!(t>o.totalPages)){if(o.pages[t]&&o.pages[t].loaded){this.showPage(t,"append");return}o.pendingRequests[t]||this.loadPage(t,"append")}},loadPrevPage:function(){var t=o.visibleRange.first-1;if(!(t<1)){if(o.pages[t]&&o.pages[t].loaded){this.showPage(t,"prepend");return}o.pendingRequests[t]||this.loadPage(t,"prepend")}},loadPage:function(t,e){var r=this,n=e==="prepend"?this.$topLoader:this.$bottomLoader;n.addClass("is-loading");var h=i.getFormData(),c={action:"homeproz_filter_properties",nonce:homeprozAjax.nonce,property_type:h.property_type,property_location:h.property_location,min_price:h.min_price,max_price:h.max_price,beds:h.beds,paged:t,cards_only:"true"};i.mapBounds&&(c.bounds=i.mapBounds),i.mapCenter&&(c.center=i.mapCenter);var p=a.ajax({url:homeprozAjax.ajaxUrl,type:"POST",data:c,success:function(m){m.success&&m.data.html&&r.renderPage(t,m.data.html,e)},complete:function(){n.removeClass("is-loading"),delete o.pendingRequests[t]}});o.pendingRequests[t]=p},renderPage:function(t,e,r){var n=this.saveScrollAnchor(),h=a('
    ');if(h.html(e),r==="prepend"){var c=this.$grid.find(".infinite-scroll-page").first();c.length?c.before(h):this.$grid.prepend(h),o.visibleRange.first=t}else{var p=this.$grid.find(".infinite-scroll-page").last();p.length?p.after(h):this.$grid.append(h),o.visibleRange.last=t}o.pages[t]={html:e,height:h.outerHeight(),loaded:!0},this.restoreScrollAnchor(n),typeof d<"u"&&d.loadVisibleImages(),this.cleanupExcessPages()},showPage:function(t,e){var r=o.pages[t];if(!(!r||!r.html)){var n=this.$grid.find('.infinite-scroll-placeholder[data-page="'+t+'"]');if(n.length){var h=this.saveScrollAnchor(),c=a('
    ');c.html(r.html),n.replaceWith(c),this.restoreScrollAnchor(h)}e==="prepend"?o.visibleRange.first=t:o.visibleRange.last=t,typeof d<"u"&&d.loadVisibleImages(),this.cleanupExcessPages()}},cleanupExcessPages:function(){var t=o.visibleRange,e=o.config,r=t.last-t.first+1;if(!(r<=e.maxPagesInDOM)){for(;t.first');h.replaceWith(m),o.pages[n]&&(o.pages[n].height=c),this.restoreScrollAnchor(p)}t.first++}for(;t.last>t.first+e.bufferPages;){var n=t.last,h=this.$grid.find('.infinite-scroll-page[data-page="'+n+'"]');if(h.length){var c=h.outerHeight(),p=this.saveScrollAnchor(),m=a('
    ');h.replaceWith(m),o.pages[n]&&(o.pages[n].height=c),this.restoreScrollAnchor(p)}t.last--}}},saveScrollAnchor:function(){if(!this.scrollContainer)return null;var t=this.scrollContainer.getBoundingClientRect(),e=this.$grid.find(".property-card"),r=null;return e.each(function(){var n=this.getBoundingClientRect();if(n.bottom>t.top&&n.top1&&(this.scrollContainer.scrollTop+=h)}},reset:function(){for(var t in o.pendingRequests)o.pendingRequests[t]&&o.pendingRequests[t].abort();this.resetState(),this.scrollContainer&&(this.scrollContainer.scrollTop=0)},destroy:function(){if(o.isEnabled){for(var t in o.pendingRequests)o.pendingRequests[t]&&o.pendingRequests[t].abort();this.topObserver&&(this.topObserver.disconnect(),this.topObserver=null),this.bottomObserver&&(this.bottomObserver.disconnect(),this.bottomObserver=null),this.$container&&(this.$container.find(".infinite-scroll-sentinel, .infinite-scroll-loader").remove(),this.$container.removeClass("infinite-scroll-enabled")),this.$grid&&(this.$grid.find(".infinite-scroll-page").children().unwrap(),this.$grid.find(".infinite-scroll-placeholder").remove()),this.resetState(),o.isEnabled=!1}}},d={init:function(){this.loadVisibleImages(),this.bindEvents()},bindEvents:function(){var t=this;if(typeof MutationObserver<"u"){var e=new MutationObserver(function(h){t.loadVisibleImages()}),r=document.getElementById("property-results");r&&e.observe(r,{childList:!0,subtree:!0});var n=document.getElementById("property-results-grid");n&&e.observe(n,{childList:!0,subtree:!0})}},loadVisibleImages:function(){var t=this;a(".property-card-image.is-loading[data-bg]").each(function(){t.loadImage(a(this))})},loadImage:function(t){var e=t.data("bg");if(e){t.removeClass("is-loading").removeAttr("data-bg");var r=new Image;r.onload=function(){t.css("background-image","url("+e+")"),t.addClass("is-loaded")},r.onerror=function(){t.addClass("is-loaded"),t.removeClass("has-image")},r.src=e}}};a(function(){i.init(),s.init(),l.init(),d.init(),window.innerWidth>=1024&&a(".is-map-view").length&&setTimeout(function(){u.init()},300)})})(jQuery);(function(a){var f={$gallery:null,$lightbox:null,$mainImage:null,$mainImageContainer:null,$thumbnails:null,$thumbnailsContainer:null,$thumbnailsViewport:null,$playbackBtn:null,$prevBtn:null,$nextBtn:null,$lightboxImage:null,$lightboxImageContainer:null,$lightboxCounter:null,images:[],currentIndex:0,isPlaying:!0,isTransitioning:!1,autoplayInterval:null,autoplayDelay:5e3,fadeDuration:1e3,slideDuration:300,thumbnailsPerPage:5,thumbnailPage:0,swipeStartX:0,swipeStartY:0,swipeThreshold:50,isSwiping:!1,init:function(){if(this.$gallery=a(".property-gallery"),this.$lightbox=a("#property-lightbox"),!!this.$gallery.length){this.$mainImageContainer=this.$gallery.find(".gallery-main-image"),this.$mainImage=this.$mainImageContainer.find("img"),this.$thumbnailsContainer=this.$gallery.find(".gallery-thumbnails-container"),this.$thumbnailsViewport=this.$gallery.find(".gallery-thumbnails-viewport"),this.$thumbnails=this.$gallery.find(".gallery-thumbnail"),this.$playbackBtn=this.$gallery.find(".gallery-playback-btn"),this.$prevBtn=this.$gallery.find(".gallery-thumbnails-prev"),this.$nextBtn=this.$gallery.find(".gallery-thumbnails-next"),this.$lightboxImage=this.$lightbox.find(".lightbox-image"),this.$lightboxImageContainer=this.$lightbox.find(".lightbox-image-container"),this.$lightboxCounter=this.$lightbox.find(".lightbox-current");var i=a("#gallery-images-data");i.length&&(this.images=JSON.parse(i.text())),this.images.length!==0&&(this.calculateThumbnailsPerPage(),this.bindEvents(),this.bindSwipeEvents(),this.updateThumbnailNavigation(),this.setupThumbnailLoading(),this.preloadThumbnailPages(0,2),this.images.length>1&&this.startAutoplay())}},calculateThumbnailsPerPage:function(){a(window).width()<=640?this.thumbnailsPerPage=4:this.thumbnailsPerPage=5},bindEvents:function(){var i=this;this.$thumbnails.on("click",function(s){s.stopPropagation();var l=parseInt(a(this).data("index"));i.stopAutoplay(),i.setMainImage(l,!1)}),this.$playbackBtn.on("click",function(s){s.stopPropagation(),s.preventDefault(),i.isPlaying?i.stopAutoplay():i.startAutoplay()}),this.$prevBtn.on("click",function(){i.stopAutoplay(),i.prevThumbnailPage()}),this.$nextBtn.on("click",function(){i.stopAutoplay(),i.nextThumbnailPage()}),this.$gallery.find("[data-lightbox-trigger]").on("click",function(s){if(i.isSwiping){i.isSwiping=!1;return}i.stopAutoplay(),i.openLightbox(i.currentIndex)}),this.$lightbox.find(".lightbox-close, .lightbox-overlay").on("click",function(){i.closeLightbox()}),this.$lightbox.find(".lightbox-prev").on("click",function(){i.slideLightboxImage("prev")}),this.$lightbox.find(".lightbox-next").on("click",function(){i.slideLightboxImage("next")}),a(document).on("keydown",function(s){if(i.$lightbox.is('[aria-hidden="false"]'))switch(s.key){case"Escape":i.closeLightbox();break;case"ArrowLeft":i.slideLightboxImage("prev");break;case"ArrowRight":i.slideLightboxImage("next");break}}),a(window).on("resize",function(){i.calculateThumbnailsPerPage(),i.updateThumbnailNavigation()})},bindSwipeEvents:function(){var i=this;this.$mainImageContainer[0].addEventListener("touchstart",function(s){i.handleSwipeStart(s)},{passive:!0}),this.$mainImageContainer[0].addEventListener("touchend",function(s){i.handleMainGallerySwipeEnd(s)},{passive:!0}),this.$lightboxImageContainer[0].addEventListener("touchstart",function(s){i.handleSwipeStart(s)},{passive:!0}),this.$lightboxImageContainer[0].addEventListener("touchend",function(s){i.handleLightboxSwipeEnd(s)},{passive:!0})},handleSwipeStart:function(i){i.touches.length===1&&(this.swipeStartX=i.touches[0].clientX,this.swipeStartY=i.touches[0].clientY)},handleMainGallerySwipeEnd:function(i){if(i.changedTouches.length===1){var s=i.changedTouches[0].clientX-this.swipeStartX,l=i.changedTouches[0].clientY-this.swipeStartY;Math.abs(s)>Math.abs(l)&&Math.abs(s)>this.swipeThreshold&&(this.isSwiping=!0,this.stopAutoplay(),s>0?this.slideMainImage("prev"):this.slideMainImage("next"))}},handleLightboxSwipeEnd:function(i){if(i.changedTouches.length===1){var s=i.changedTouches[0].clientX-this.swipeStartX,l=i.changedTouches[0].clientY-this.swipeStartY;Math.abs(s)>Math.abs(l)&&Math.abs(s)>this.swipeThreshold&&(s>0?this.slideLightboxImage("prev"):this.slideLightboxImage("next"))}},startAutoplay:function(){var i=this;this.images.length<=1||(this.isPlaying=!0,this.$playbackBtn.addClass("is-playing"),this.$playbackBtn.attr("aria-label","Pause slideshow"),this.autoplayInterval=setInterval(function(){i.advanceImage()},this.autoplayDelay))},stopAutoplay:function(){this.isPlaying=!1,this.$playbackBtn.removeClass("is-playing"),this.$playbackBtn.attr("aria-label","Play slideshow"),this.autoplayInterval&&(clearInterval(this.autoplayInterval),this.autoplayInterval=null)},advanceImage:function(){if(!this.isTransitioning){var i=this.currentIndex+1;i>=this.images.length&&(i=0),this.setMainImage(i,!0)}},slideMainImage:function(i){var s=this;if(!(this.isTransitioning||this.images.length<=1)){var l;i==="prev"?(l=this.currentIndex-1,l<0&&(l=this.images.length-1)):(l=this.currentIndex+1,l>=this.images.length&&(l=0)),this.isTransitioning=!0;var o=this.images[l],u=i==="next"?"100%":"-100%",d=i==="next"?"-100%":"100%",t=a('');t.attr("src",o.url),t.attr("alt",o.alt||"Property photo"),t.css({position:"absolute",top:0,left:0,width:"100%",height:"100%","object-fit":"cover",transform:"translateX("+u+")","z-index":2,"border-radius":"0.5rem"}),this.$mainImageContainer.css({position:"relative",overflow:"hidden"}),this.$mainImageContainer.append(t),this.$mainImage.css({transition:"transform "+this.slideDuration+"ms ease-out"}),t.css({transition:"transform "+this.slideDuration+"ms ease-out"}),t[0].offsetHeight,this.$mainImage.css("transform","translateX("+d+")"),t.css("transform","translateX(0)"),setTimeout(function(){s.$mainImage.attr("src",o.url),s.$mainImage.attr("alt",o.alt||"Property photo"),s.$mainImage.css({transition:"",transform:""}),t.remove(),s.isTransitioning=!1},this.slideDuration),this.currentIndex=l,this.$thumbnails.removeClass("is-active"),this.$thumbnails.filter('[data-index="'+l+'"]').addClass("is-active"),this.scrollToThumbnail(l)}},setMainImage:function(i,s){var l=this;if(!(i<0||i>=this.images.length)&&!this.isTransitioning){var o=this.images[i];if(s){this.isTransitioning=!0;var u=a('');u.attr("src",o.url),u.attr("alt",o.alt||"Property photo"),u.css({position:"absolute",top:0,left:0,width:"100%",height:"100%","object-fit":"cover",opacity:0,transform:"scale(1.02)",transition:"opacity "+this.fadeDuration+"ms ease-in-out, transform "+this.fadeDuration+"ms ease-in-out","z-index":2,"border-radius":"0.5rem"}),this.$mainImageContainer.css("position","relative"),this.$mainImageContainer.append(u),u[0].offsetHeight,u.css({opacity:1,transform:"scale(1)"}),setTimeout(function(){l.$mainImage.attr("src",o.url),l.$mainImage.attr("alt",o.alt||"Property photo"),u.remove(),l.isTransitioning=!1},this.fadeDuration)}else this.$mainImage.attr("src",o.url),this.$mainImage.attr("alt",o.alt||"Property photo");this.currentIndex=i,this.$thumbnails.removeClass("is-active"),this.$thumbnails.filter('[data-index="'+i+'"]').addClass("is-active"),this.scrollToThumbnail(i)}},scrollToThumbnail:function(i){var s=Math.floor(i/this.thumbnailsPerPage);s!==this.thumbnailPage&&(this.thumbnailPage=s,this.scrollThumbnails())},scrollThumbnails:function(){var i=this.$gallery.find(".gallery-thumbnails"),s=this.$thumbnails.first().outerWidth(!0),l=this.thumbnailPage*this.thumbnailsPerPage*s;i.css("transform","translateX(-"+l+"px)"),this.updateThumbnailNavigation()},updateThumbnailNavigation:function(){var i=Math.ceil(this.images.length/this.thumbnailsPerPage);this.$prevBtn.prop("disabled",this.thumbnailPage===0),this.$nextBtn.prop("disabled",this.thumbnailPage>=i-1),i<=1?(this.$prevBtn.hide(),this.$nextBtn.hide()):(this.$prevBtn.show(),this.$nextBtn.show())},prevThumbnailPage:function(){this.thumbnailPage>0&&(this.thumbnailPage--,this.scrollThumbnails(),this.preloadPrevThumbnailPage())},nextThumbnailPage:function(){var i=Math.ceil(this.images.length/this.thumbnailsPerPage);this.thumbnailPage=this.images.length&&(l=0)),this.isTransitioning=!0;var o=this.images[l],u=i==="next"?"100%":"-100%",d=i==="next"?"-100%":"100%",t=a('');t.attr("src",o.url),t.attr("alt",o.alt||"Property photo"),t.css({position:"absolute","max-width":"100%","max-height":"calc(100vh - 8rem)","object-fit":"contain",transform:"translateX("+u+")",left:"50%",top:"50%","margin-left":"-45vw","margin-top":"calc(-50vh + 4rem)"}),this.$lightboxImageContainer.css({position:"relative",overflow:"hidden"}),this.$lightboxImageContainer.append(t),this.$lightboxImage.css({transition:"transform "+this.slideDuration+"ms ease-out"}),t.css({transition:"transform "+this.slideDuration+"ms ease-out"}),t[0].offsetHeight,this.$lightboxImage.css("transform","translateX("+d+")"),t.css("transform","translateX(0)"),setTimeout(function(){s.$lightboxImage.attr("src",o.url),s.$lightboxImage.attr("alt",o.alt||"Property photo"),s.$lightboxImage.css({transition:"",transform:""}),t.remove(),s.isTransitioning=!1,s.$lightboxCounter.text(l+1)},this.slideDuration),this.currentIndex=l}},prevImage:function(){this.slideLightboxImage("prev")},nextImage:function(){this.slideLightboxImage("next")},updateLightboxImage:function(){var i=this.images[this.currentIndex];this.$lightboxImage.attr("src",i.url),this.$lightboxImage.attr("alt",i.alt||"Property photo"),this.$lightboxCounter.text(this.currentIndex+1)},setupThumbnailLoading:function(){this.$thumbnails.each(function(){var i=a(this),s=i.find("img");i.addClass("is-loading"),i.find(".thumbnail-spinner").length||i.append('
    '),s[0].complete?i.removeClass("is-loading"):(s.on("load",function(){i.removeClass("is-loading")}),s.on("error",function(){i.removeClass("is-loading")}))})},preloadThumbnailPages:function(i,s){for(var l=this,o=i*this.thumbnailsPerPage,u=Math.min((i+s)*this.thumbnailsPerPage,this.images.length),d=o;d=0&&this.preloadThumbnailPages(i,1)}};a(function(){f.init()})})(jQuery);(function(a){if(!a(".mortgage-calculator-main").length)return;let f=!1;a.fn.currencyInput=function(s=!0){return this.data("ci_show_symbol",s),f||(f=!0,a.fn._CIOriginalVal=a.fn.val,a.fn.val=function(o){if(a(this).data("_currencyInput"))if(arguments.length===0){var u=a(this)._CIOriginalVal();if(u=="")return"";var d=parseInt(u.replace(/[^0-9]/g,""));return d}else{if(o=String(o).replace(/[^0-9]/g,""),o!=""){var t=parseInt(o).toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:0,maximumFractionDigits:0});return a(this).data("ci_show_symbol")||(t=t.replace("$","")),a(this)._CIOriginalVal(t)}return a(this)._CIOriginalVal(o)}else if(a(this).data("_percentInput"))if(arguments.length===0){var u=a(this)._CIOriginalVal();if(u=="")return"";var d=parseFloat(u.replace(/[^0-9.]/g,""));return isNaN(d)?"":d}else{o=String(o).replace(/[^0-9.]/g,"");var e=o.split(".");return e.length>2&&(o=e[0]+"."+e.slice(1).join("")),a(this)._CIOriginalVal(o)}else return arguments.length===0?a(this)._CIOriginalVal():a(this)._CIOriginalVal(o)}),this.data("_currencyInput")?this:(this.data("_currencyInput",!0),this.on("focus",function(){a(this).select()}),this.on("input",function(o){var u=this.selectionStart,d=a(this)._CIOriginalVal(),t=d.length;a(this).val(d);var e=a(this)._CIOriginalVal().length;e>t?u+=e-t:e2&&(d=t[0]+"."+t.slice(1).join("")),a(this)._CIOriginalVal(d);var e=d.length;e0){var o=l/s*100;this.$downPaymentPercent._CIOriginalVal(o.toFixed(1))}},syncDownPaymentFromPercent:function(){var s=this.$homePrice.val(),l=this.$downPaymentPercent.val();if(s&&s>0&&l!==""&&l>=0){var o=Math.round(s*l/100);this.$downPayment.val(o)}},calculate:function(){var s=this.$homePrice.val()||0,l=this.$downPayment.val()||0,o=parseInt(this.$loanTerm.val(),10),u=this.$interestRate.val()||0,d=s-l;d<0&&(d=0);var t=u/100/12,e=o*12,r=0,n=0;if(d>0&&t>0&&e>0){var h=Math.pow(1+t,e);r=d*(t*h)/(h-1),n=r*e-d}else d>0&&t===0&&(r=d/e,n=0);this.$monthlyPayment.text(this.formatCurrencyDisplay(r)),this.$principalInterest.text(this.formatCurrencyDisplay(r)),this.$loanAmount.text(this.formatCurrencyDisplay(d)),this.$totalInterest.text(this.formatCurrencyDisplay(n))}};a(document).ready(function(){i.init()})})(jQuery);(function(a){a(function(){})})(jQuery); +(function(a){var f=a(".menu-toggle"),i=a(".mobile-navigation");f.length&&(f.on("click",function(){var s=a(this).attr("aria-expanded")==="true";a(this).attr("aria-expanded",!s),i.toggleClass("is-open"),s?a("body").removeClass("mobile-menu-open"):a("body").addClass("mobile-menu-open")}),a(document).on("keydown",function(s){s.key==="Escape"&&i.hasClass("is-open")&&(f.attr("aria-expanded","false"),i.removeClass("is-open"),a("body").removeClass("mobile-menu-open"))}),a(document).on("click",function(s){i.hasClass("is-open")&&!a(s.target).closest(".mobile-navigation").length&&!a(s.target).closest(".menu-toggle").length&&(f.attr("aria-expanded","false"),i.removeClass("is-open"),a("body").removeClass("mobile-menu-open"))}))})(jQuery);(function(a){var f=6e3,i=1450,s=1e3,l=[],o=0,u=null,d=!1,t=!1,e=null;function r(){if(a(".Home_Page").length&&(e=a(".hero-split-image"),!!e.length)){var g=e.data("gallery-images");!g||!g.length||(l=g,n(),a(window).on("resize",b(n,150)))}}function n(){var g=a(window).width();g>=i?d||h():d&&c()}function h(){d=!0,t||(p(),t=!0),u=setInterval(m,f)}function c(){d=!1,u&&(clearInterval(u),u=null)}function p(){a.each(l,function(g,v){var y=new Image;y.src=v})}function m(){o=(o+1)%l.length;var g=l[o],v=a('
    ');v.css({position:"absolute",top:0,left:0,right:0,bottom:0,"background-image":"url("+g+")","background-size":"cover","background-position":"center center","background-repeat":"no-repeat",opacity:0,transform:"scale(1.02)",transition:"opacity "+s+"ms ease-in-out, transform "+s+"ms ease-in-out","z-index":1}),e.css("position","relative"),e.append(v),v[0].offsetHeight,v.css({opacity:1,transform:"scale(1)"}),setTimeout(function(){e.css("background-image","url("+g+")"),v.remove()},s)}function b(g,v){var y;return function(){var I=this,P=arguments;clearTimeout(y),y=setTimeout(function(){g.apply(I,P)},v)}}a(document).ready(r)})(jQuery);(function(a){if(a("body").hasClass("Home_Page")){var f={grid:null,emptyMessage:null,listings:[],init:function(){this.grid=a("#featured-listings-grid"),this.emptyMessage=a("#featured-listings-empty"),this.grid.length&&(this.loadListingsData(),this.renderListings())},loadListingsData:function(){var i=document.getElementById("featured-mls-data");if(!i){this.listings=[];return}try{this.listings=JSON.parse(i.textContent)}catch(s){console.error("Failed to parse featured listings data:",s),this.listings=[]}},shuffleArray:function(i){for(var s=i.slice(),l=s.length-1;l>0;l--){var o=Math.floor(Math.random()*(l+1)),u=s[l];s[l]=s[o],s[o]=u}return s},renderListings:function(){if(!this.listings||this.listings.length===0){this.grid.hide(),this.emptyMessage.show();return}for(var i=this.shuffleArray(this.listings),s=i.slice(0,3),l="",o=0;o',i.bedrooms&&(o+='
  • '+i.bedrooms+" "+s+"
  • "),i.bathrooms&&(o+='
  • '+i.bathrooms+" "+l+"
  • "),i.sqft&&(o+='
  • '+i.sqft.toLocaleString()+" sqft
  • "),o+=""),'
    Active
    '+this.escapeHtml(i.price_formatted)+'

    '+this.escapeHtml(i.address)+"

    "+o+'View Details
    '},escapeHtml:function(i){if(!i)return"";var s=document.createElement("div");return s.textContent=i,s.innerHTML}};a(document).ready(function(){f.init()})}})(jQuery);(function(a){var f={map:null,markers:{},densityLayer:null,clusterLayer:null,markerCluster:null,selectedPropertyId:null,hoveredPropertyId:null,baseZIndex:400,currentFilters:{},isLoading:!1,loadTimeout:null,currentMode:null,init:function(t){var e=a("#property-map");if(!(!e.length||typeof L>"u")){this.currentFilters=t||{},this.map=L.map("property-map").setView([45,-93.5],7),L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© OpenStreetMap'}).addTo(this.map),this.densityLayer=L.layerGroup().addTo(this.map),this.clusterLayer=L.layerGroup().addTo(this.map),this.markerCluster=L.markerClusterGroup({maxClusterRadius:50,spiderfyOnMaxZoom:!0,showCoverageOnHover:!1,zoomToBoundsOnClick:!0,disableClusteringAtZoom:18,chunkedLoading:!0,chunkInterval:200,chunkDelay:50,iconCreateFunction:function(n){var h=n.getChildCount(),c="small";return h>=100?c="large":h>=10&&(c="medium"),L.divIcon({html:"
    "+h+"
    ",className:"marker-cluster marker-cluster-"+c,iconSize:L.point(40,40)})}}),this.map.addLayer(this.markerCluster);var r=this;this.map.on("moveend zoomend",function(){r.loadClusters()}),this.bindCardHoverEvents(),this.loadClusters()}},loadClusters:function(){if(this.map){var t=this;clearTimeout(this.loadTimeout),this.loadTimeout=setTimeout(function(){t._doLoadClusters()},150)}},_doLoadClusters:function(){if(!this.isLoading){var t=this,e=this.map.getBounds(),r=this.map.getCenter(),n=this.map.getZoom();this.isLoading=!0;var h=[e.getSouthWest().lat,e.getSouthWest().lng,e.getNorthEast().lat,e.getNorthEast().lng],c=[r.lat,r.lng],p={action:"mls_get_clusters",zoom:n,bounds:h,status:this.currentFilters.status||"Active",property_type:this.currentFilters.property_type||"",city:this.currentFilters.city||"",min_price:this.currentFilters.min_price||"",max_price:this.currentFilters.max_price||"",min_beds:this.currentFilters.min_beds||""};i.updateFromMap(h,c),a.ajax({url:homeprozMapData.clusterEndpoint,type:"GET",data:p,success:function(m){if(m.success){var b=m.data;switch(t.currentMode=b.type,b.type){case"density":t.renderDensity(b.dots);break;case"clusters":t.renderClusters(b.clusters);break;case"markers":t.renderMarkers(b.markers);break}}},complete:function(){t.isLoading=!1}})}},clearAllLayers:function(){this.densityLayer.clearLayers(),this.clusterLayer.clearLayers(),this.markerCluster.clearLayers(),this.markers={}},renderDensity:function(t){this.clearAllLayers();var e=this,r=this.map.getZoom();t.forEach(function(n){var h=e.getDensityColor(n.count,r),c=e.getDensitySize(n.count,r),p=L.divIcon({html:'
    ',className:"density-dot-container",iconSize:[c,c],iconAnchor:[c/2,c/2]}),m=L.marker([n.lat,n.lng],{icon:p});m.on("click",function(){e.map.setView([n.lat,n.lng],e.map.getZoom()+2)}),m.bindTooltip(n.count+" properties",{className:"density-tooltip"}),e.densityLayer.addLayer(m)})},getDensityThreshold:function(t){return Math.max(40,Math.round(600/Math.pow(1.4,t-3)))},getDensityColor:function(t,e){var r=this.getDensityThreshold(e),n=t/r;return n>=1.5?"rgba(180, 83, 9, 0.8)":n>=1?"rgba(217, 119, 6, 0.8)":n>=.6?"rgba(245, 158, 11, 0.8)":n>=.3?"rgba(234, 179, 8, 0.8)":n>=.15?"rgba(132, 204, 22, 0.8)":"rgba(34, 197, 94, 0.8)"},getDensitySize:function(t,e){var r=this.getDensityThreshold(e),n=t/r;return n>=1.5?11:n>=1?10:n>=.6?8:n>=.3?7:6},renderClusters:function(t){this.clearAllLayers();var e=this;t.forEach(function(r){var n="small";r.count>=100?n="large":r.count>=10&&(n="medium");var h=L.divIcon({html:"
    "+r.count+"
    ",className:"marker-cluster marker-cluster-"+n+" server-cluster",iconSize:L.point(40,40)}),c=L.marker([r.lat,r.lng],{icon:h});c.on("click",function(){e.map.setView([r.lat,r.lng],e.map.getZoom()+2)});var p="$"+e.formatNumber(r.min_price);r.max_price!==r.min_price&&(p+=" - $"+e.formatNumber(r.max_price)),c.bindTooltip(r.count+" properties
    "+p,{className:"cluster-tooltip"}),e.clusterLayer.addLayer(c)})},renderMarkers:function(t){this.clearAllLayers(),this.selectedPropertyId=null,this.hoveredPropertyId=null,a(".property-card").removeClass("property-card-highlighted");var e=this,r=[];t.forEach(function(n,h){if(n.lat&&n.lng){var c=L.marker([n.lat,n.lng],{icon:e.createIcon("red"),zIndexOffset:e.baseZIndex+h});c.propertyId=n.id,c.defaultZIndex=e.baseZIndex+h,c.bindPopup('
    '+n.price+"
    "+n.address+'
    View Details
    '),c.on("click",function(p){e.onMarkerClick(n.id)}),r.push(c),e.markers[n.id]=c}}),this.markerCluster.addLayers(r)},updateFilters:function(t){this.currentFilters=t||{},this.loadClusters()},formatNumber:function(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},createIcon:function(t){return t=t||"red",L.divIcon({className:"property-marker property-marker-"+t,html:'
    ',iconSize:[17,22],iconAnchor:[8,22],popupAnchor:[0,-22]})},onMarkerClick:function(t){var e=this;if(this.selectedPropertyId!==t){this.selectedPropertyId&&(this.setMarkerColor(this.selectedPropertyId,"red"),this.resetMarkerZIndex(this.selectedPropertyId),a("#property-"+this.selectedPropertyId).removeClass("property-card-highlighted")),this.selectedPropertyId=t,this.setMarkerColor(t,"amber"),this.setMarkerZIndex(t,1e4);var r=a("#property-"+t);if(r.length){var n=r.offset().top,h=n+r.outerHeight(),c=a(window).scrollTop(),p=c+a(window).height(),m=n>=c&&h<=p;m?e.flashCard(r):a("html, body").animate({scrollTop:n-120},400,function(){e.flashCard(r)})}}},flashCard:function(t){t.removeClass("property-card-highlighted"),setTimeout(function(){t.addClass("property-card-highlighted"),setTimeout(function(){t.removeClass("property-card-highlighted"),setTimeout(function(){t.addClass("property-card-highlighted")},150)},150)},50)},setMarkerColor:function(t,e){var r=this.markers[t];r&&r.setIcon(this.createIcon(e))},setMarkerZIndex:function(t,e){var r=this.markers[t];r&&r.setZIndexOffset(e)},resetMarkerZIndex:function(t){var e=this.markers[t];e&&e.setZIndexOffset(e.defaultZIndex)},bindCardHoverEvents:function(){var t=this;a(document).on("mouseenter",".property-card[data-property-id]",function(){var e=a(this).data("property-id");e!==t.selectedPropertyId&&(t.hoveredPropertyId=e,t.setMarkerColor(e,"blue"),t.setMarkerZIndex(e,9e3))}),a(document).on("mouseleave",".property-card[data-property-id]",function(){var e=a(this).data("property-id");e!==t.selectedPropertyId&&(t.hoveredPropertyId===e&&(t.hoveredPropertyId=null),t.setMarkerColor(e,"red"),t.resetMarkerZIndex(e))})}},i={$form:null,$results:null,$filters:null,isFirstLoad:!0,isLoading:!1,mapBounds:null,mapCenter:null,isMapUpdate:!1,init:function(){this.$form=a(".filters-form"),this.$results=a("#property-results"),this.$filters=a("#property-filters"),!(!this.$form.length||!this.$results.length)&&(this.bindEvents(),this.initFromUrl())},bindEvents:function(){var t=this;this.$form.on("submit",function(e){e.preventDefault(),t.filterProperties(1)}),this.$form.find("select").on("change",function(){t.filterProperties(1)}),a(".filters-reset").on("click",function(e){e.preventDefault(),t.resetFilters()}),this.$results.on("click",".pagination a",function(e){e.preventDefault();var r=t.getPageFromUrl(a(this).attr("href"));t.filterProperties(r)}),a(window).on("hashchange",function(){var e=t.getPageFromHash();t.filterProperties(e,!1)})},initFromUrl:function(){var t=new URLSearchParams(window.location.search);this.$form.find("select").each(function(){var r=a(this).attr("name");t.has(r)&&a(this).val(t.get(r))}),this.$form.find('input[type="text"]').each(function(){var r=a(this).attr("name");t.has(r)&&a(this).val(t.get(r))});var e=this.getPageFromHash();e>1&&this.filterProperties(e,!1)},updateFromMap:function(t,e){this.mapBounds=t,this.mapCenter=e,this.isMapUpdate=!0,o.isEnabled&&u.reset(),this.filterProperties(1,!1)},getPageFromHash:function(){var t=window.location.hash,e=t.match(/#page=(\d+)/);return e?parseInt(e[1]):1},filterProperties:function(t,e){if(!this.isLoading){e=e!==!1,t=t||1;var r=this,n=this.getFormData();this.isLoading=!0,this.$filters.addClass("is-loading"),this.isFirstLoad&&this.$results.html('
    ');var h={action:"homeproz_filter_properties",nonce:homeprozAjax.nonce,property_type:n.property_type,property_location:n.property_location,zip:n.zip,min_price:n.min_price,max_price:n.max_price,beds:n.beds,paged:t};this.mapBounds&&(h.bounds=this.mapBounds),this.mapCenter&&(h.center=this.mapCenter),a.ajax({url:homeprozAjax.ajaxUrl,type:"POST",data:h,success:function(c){c.success&&(r.$results.html(c.data.html),r.isFirstLoad=!1,c.data.filters&&!r.isMapUpdate&&f.updateFilters(c.data.filters),r.isMapUpdate=!1,typeof l<"u"&&l.calculate(),window.innerWidth>=1024&&a(".is-map-view").length&&(u.destroy(),setTimeout(function(){u.init()},100)),e&&r.updateUrl(n,t),t>1&&a("html, body").animate({scrollTop:r.$filters.offset().top-100},300))},error:function(){r.$results.html('

    Error

    Something went wrong. Please try again.

    ')},complete:function(){r.isLoading=!1,r.$filters.removeClass("is-loading")}})}},getFormData:function(){return{property_type:this.$form.find('[name="property_type"]').val()||"",property_location:this.$form.find('[name="property_location"]').val()||"",zip:this.$form.find('[name="zip"]').val()||"",min_price:this.$form.find('[name="min_price"]').val()||"",max_price:this.$form.find('[name="max_price"]').val()||"",beds:this.$form.find('[name="beds"]').val()||""}},getFormState:function(){return this.getFormData()},setFormFromState:function(t){for(var e in t)this.$form.find('[name="'+e+'"]').val(t[e])},updateUrl:function(t,e){var r=new URL(homeprozAjax.archiveUrl);for(var n in t)t[n]&&r.searchParams.set(n,t[n]);e>1?r.hash="page="+e:r.hash="",history.replaceState(null,"",r.toString())},getPageFromUrl:function(t){var e=t.match(/#page=(\d+)/);if(e)return parseInt(e[1]);var r=t.match(/[?&]paged=(\d+)/);return r?parseInt(r[1]):1},resetFilters:function(){this.$form.find("select").val(""),this.filterProperties(1)}},s={breakpoint:1024,isMapView:!0,isAboveBreakpoint:!0,mapInitialized:!1,init:function(){var t=this;typeof homeprozMapData<"u"&&(this.isMapView=homeprozMapData.isMapView!==!1),this.isAboveBreakpoint=window.innerWidth>=this.breakpoint,this.isAboveBreakpoint&&this.isMapView&&typeof homeprozMapData<"u"&&(f.init(homeprozMapData.initialFilters||{}),this.mapInitialized=!0);var e;a(window).on("resize",function(){clearTimeout(e),e=setTimeout(function(){t.handleResize()},150)})},handleResize:function(){var t=this.isAboveBreakpoint;this.isAboveBreakpoint=window.innerWidth>=this.breakpoint;var e=a(".property-archive-main");t&&!this.isAboveBreakpoint&&o.isEnabled&&u.destroy(),!t&&this.isAboveBreakpoint&&(this.isMapView?(e.removeClass("is-grid-view").addClass("is-map-view"),!this.mapInitialized&&typeof homeprozMapData<"u"?(f.init(homeprozMapData.initialFilters||{}),this.mapInitialized=!0):f.map&&setTimeout(function(){f.map.invalidateSize()},100),setTimeout(function(){u.init()},200)):e.removeClass("is-map-view").addClass("is-grid-view"),typeof l<"u"&&setTimeout(function(){l.calculate()},150))},setMapView:function(t){this.isMapView=t}},l={cardWidth:400,cardGap:24,mapGap:32,mapRatio:.33,breakpoint:1024,containerPadding:24,init:function(){this.calculate();var t=this,e;a(window).on("resize",function(){clearTimeout(e),e=setTimeout(function(){t.calculate()},100)})},calculate:function(){if(window.innerWidth .container"),r=t.hasClass("is-map-view"),n=e.width();r?this.calculateMapLayout(n):this.calculateGridLayout(n)},calculateMapLayout:function(t){for(var e=5;e>=1;e--){var r=e*this.cardWidth+(e-1)*this.cardGap,n=(this.mapGap+r)/(1-this.mapRatio);if(n<=t){this.setProperties(n,e,".property-map-layout"),this.setProperties(n,e,".property-list-container");return}}var r=this.cardWidth,n=(this.mapGap+r)/(1-this.mapRatio);this.setProperties(Math.min(n,t),1,".property-map-layout"),this.setProperties(Math.min(n,t),1,".property-list-container")},calculateGridLayout:function(t){for(var e=6;e>=1;e--){var r=e*this.cardWidth+(e-1)*this.cardGap;if(r<=t){this.setProperties(r,e,".grid-view-container");return}}this.setProperties(this.cardWidth,1,".grid-view-container")},setProperties:function(t,e,r){var n=a(r);n.length&&(n.css("--layout-width",t+"px"),n.css("--card-columns",e))},clearProperties:function(){a(".property-map-layout, .grid-view-container, .property-list-container").css({"--layout-width":"","--card-columns":""})}},o={pages:{},visibleRange:{first:1,last:1},totalPages:0,totalPosts:0,pendingRequests:{},isEnabled:!1,config:{maxPagesInDOM:5,bufferPages:2,cardsPerPage:12}},u={$container:null,$grid:null,$topSentinel:null,$bottomSentinel:null,$topLoader:null,$bottomLoader:null,topObserver:null,bottomObserver:null,scrollContainer:null,init:function(){if(!(window.innerWidth<1024||!a(".is-map-view").length)&&(this.$container=a(".property-list-container"),this.$grid=this.$container.find(".properties-grid"),!(!this.$container.length||!this.$grid.length))){var t=this.$container.find(".properties-meta"),e=t.find(".properties-count strong").text();o.totalPosts=parseInt(e)||0,o.totalPages=Math.ceil(o.totalPosts/o.config.cardsPerPage),!(o.totalPages<=1)&&(this.resetState(),this.setupDOM(),this.wrapInitialCards(),this.setupObservers(),o.isEnabled=!0,this.$container.addClass("infinite-scroll-enabled"))}},resetState:function(){o.pages={},o.visibleRange={first:1,last:1},o.pendingRequests={}},setupDOM:function(){this.$container.find(".infinite-scroll-sentinel, .infinite-scroll-loader").remove(),this.$topSentinel=a('
    '),this.$topLoader=a('
    '),this.$bottomSentinel=a('
    '),this.$bottomLoader=a('
    '),this.$grid.before(this.$topSentinel).before(this.$topLoader),this.$grid.after(this.$bottomLoader).after(this.$bottomSentinel),this.scrollContainer=this.$container[0]},wrapInitialCards:function(){var t=this.$grid.find(".property-card");if(t.length){var e=a('
    ');t.wrapAll(e);var r=this.$grid.find('.infinite-scroll-page[data-page="1"]').outerHeight();o.pages[1]={html:null,height:r,loaded:!0},o.visibleRange={first:1,last:1}}},setupObservers:function(){var t=this,e={root:this.scrollContainer,rootMargin:"400px 0px",threshold:0};this.bottomObserver=new IntersectionObserver(function(r){r.forEach(function(n){n.isIntersecting&&t.loadNextPage()})},e),this.topObserver=new IntersectionObserver(function(r){r.forEach(function(n){n.isIntersecting&&t.loadPrevPage()})},e),this.bottomObserver.observe(this.$bottomSentinel[0]),this.topObserver.observe(this.$topSentinel[0])},loadNextPage:function(){var t=o.visibleRange.last+1;if(!(t>o.totalPages)){if(o.pages[t]&&o.pages[t].loaded){this.showPage(t,"append");return}o.pendingRequests[t]||this.loadPage(t,"append")}},loadPrevPage:function(){var t=o.visibleRange.first-1;if(!(t<1)){if(o.pages[t]&&o.pages[t].loaded){this.showPage(t,"prepend");return}o.pendingRequests[t]||this.loadPage(t,"prepend")}},loadPage:function(t,e){var r=this,n=e==="prepend"?this.$topLoader:this.$bottomLoader;n.addClass("is-loading");var h=i.getFormData(),c={action:"homeproz_filter_properties",nonce:homeprozAjax.nonce,property_type:h.property_type,property_location:h.property_location,zip:h.zip,min_price:h.min_price,max_price:h.max_price,beds:h.beds,paged:t,cards_only:"true"};i.mapBounds&&(c.bounds=i.mapBounds),i.mapCenter&&(c.center=i.mapCenter);var p=a.ajax({url:homeprozAjax.ajaxUrl,type:"POST",data:c,success:function(m){m.success&&m.data.html&&r.renderPage(t,m.data.html,e)},complete:function(){n.removeClass("is-loading"),delete o.pendingRequests[t]}});o.pendingRequests[t]=p},renderPage:function(t,e,r){var n=this.saveScrollAnchor(),h=a('
    ');if(h.html(e),r==="prepend"){var c=this.$grid.find(".infinite-scroll-page").first();c.length?c.before(h):this.$grid.prepend(h),o.visibleRange.first=t}else{var p=this.$grid.find(".infinite-scroll-page").last();p.length?p.after(h):this.$grid.append(h),o.visibleRange.last=t}o.pages[t]={html:e,height:h.outerHeight(),loaded:!0},this.restoreScrollAnchor(n),typeof d<"u"&&d.loadVisibleImages(),this.cleanupExcessPages()},showPage:function(t,e){var r=o.pages[t];if(!(!r||!r.html)){var n=this.$grid.find('.infinite-scroll-placeholder[data-page="'+t+'"]');if(n.length){var h=this.saveScrollAnchor(),c=a('
    ');c.html(r.html),n.replaceWith(c),this.restoreScrollAnchor(h)}e==="prepend"?o.visibleRange.first=t:o.visibleRange.last=t,typeof d<"u"&&d.loadVisibleImages(),this.cleanupExcessPages()}},cleanupExcessPages:function(){var t=o.visibleRange,e=o.config,r=t.last-t.first+1;if(!(r<=e.maxPagesInDOM)){for(;t.first');h.replaceWith(m),o.pages[n]&&(o.pages[n].height=c),this.restoreScrollAnchor(p)}t.first++}for(;t.last>t.first+e.bufferPages;){var n=t.last,h=this.$grid.find('.infinite-scroll-page[data-page="'+n+'"]');if(h.length){var c=h.outerHeight(),p=this.saveScrollAnchor(),m=a('
    ');h.replaceWith(m),o.pages[n]&&(o.pages[n].height=c),this.restoreScrollAnchor(p)}t.last--}}},saveScrollAnchor:function(){if(!this.scrollContainer)return null;var t=this.scrollContainer.getBoundingClientRect(),e=this.$grid.find(".property-card"),r=null;return e.each(function(){var n=this.getBoundingClientRect();if(n.bottom>t.top&&n.top1&&(this.scrollContainer.scrollTop+=h)}},reset:function(){for(var t in o.pendingRequests)o.pendingRequests[t]&&o.pendingRequests[t].abort();this.resetState(),this.scrollContainer&&(this.scrollContainer.scrollTop=0)},destroy:function(){if(o.isEnabled){for(var t in o.pendingRequests)o.pendingRequests[t]&&o.pendingRequests[t].abort();this.topObserver&&(this.topObserver.disconnect(),this.topObserver=null),this.bottomObserver&&(this.bottomObserver.disconnect(),this.bottomObserver=null),this.$container&&(this.$container.find(".infinite-scroll-sentinel, .infinite-scroll-loader").remove(),this.$container.removeClass("infinite-scroll-enabled")),this.$grid&&(this.$grid.find(".infinite-scroll-page").children().unwrap(),this.$grid.find(".infinite-scroll-placeholder").remove()),this.resetState(),o.isEnabled=!1}}},d={init:function(){this.loadVisibleImages(),this.bindEvents()},bindEvents:function(){var t=this;if(typeof MutationObserver<"u"){var e=new MutationObserver(function(h){t.loadVisibleImages()}),r=document.getElementById("property-results");r&&e.observe(r,{childList:!0,subtree:!0});var n=document.getElementById("property-results-grid");n&&e.observe(n,{childList:!0,subtree:!0})}},loadVisibleImages:function(){var t=this;a(".property-card-image.is-loading[data-bg]").each(function(){t.loadImage(a(this))})},loadImage:function(t){var e=t.data("bg");if(e){t.removeClass("is-loading").removeAttr("data-bg");var r=new Image;r.onload=function(){t.css("background-image","url("+e+")"),t.addClass("is-loaded")},r.onerror=function(){t.addClass("is-loaded"),t.removeClass("has-image")},r.src=e}}};a(function(){i.init(),s.init(),l.init(),d.init(),window.innerWidth>=1024&&a(".is-map-view").length&&setTimeout(function(){u.init()},300)})})(jQuery);(function(a){var f={$gallery:null,$lightbox:null,$mainImage:null,$mainImageContainer:null,$thumbnails:null,$thumbnailsContainer:null,$thumbnailsViewport:null,$playbackBtn:null,$prevBtn:null,$nextBtn:null,$lightboxImage:null,$lightboxImageContainer:null,$lightboxCounter:null,images:[],currentIndex:0,isPlaying:!0,isTransitioning:!1,autoplayInterval:null,autoplayDelay:5e3,fadeDuration:1e3,slideDuration:300,thumbnailsPerPage:5,thumbnailPage:0,swipeStartX:0,swipeStartY:0,swipeThreshold:50,isSwiping:!1,init:function(){if(this.$gallery=a(".property-gallery"),this.$lightbox=a("#property-lightbox"),!!this.$gallery.length){this.$mainImageContainer=this.$gallery.find(".gallery-main-image"),this.$mainImage=this.$mainImageContainer.find("img"),this.$thumbnailsContainer=this.$gallery.find(".gallery-thumbnails-container"),this.$thumbnailsViewport=this.$gallery.find(".gallery-thumbnails-viewport"),this.$thumbnails=this.$gallery.find(".gallery-thumbnail"),this.$playbackBtn=this.$gallery.find(".gallery-playback-btn"),this.$prevBtn=this.$gallery.find(".gallery-thumbnails-prev"),this.$nextBtn=this.$gallery.find(".gallery-thumbnails-next"),this.$lightboxImage=this.$lightbox.find(".lightbox-image"),this.$lightboxImageContainer=this.$lightbox.find(".lightbox-image-container"),this.$lightboxCounter=this.$lightbox.find(".lightbox-current");var i=a("#gallery-images-data");i.length&&(this.images=JSON.parse(i.text())),this.images.length!==0&&(this.calculateThumbnailsPerPage(),this.bindEvents(),this.bindSwipeEvents(),this.updateThumbnailNavigation(),this.setupThumbnailLoading(),this.preloadThumbnailPages(0,2),this.images.length>1&&this.startAutoplay())}},calculateThumbnailsPerPage:function(){a(window).width()<=640?this.thumbnailsPerPage=4:this.thumbnailsPerPage=5},bindEvents:function(){var i=this;this.$thumbnails.on("click",function(s){s.stopPropagation();var l=parseInt(a(this).data("index"));i.stopAutoplay(),i.setMainImage(l,!1)}),this.$playbackBtn.on("click",function(s){s.stopPropagation(),s.preventDefault(),i.isPlaying?i.stopAutoplay():i.startAutoplay()}),this.$prevBtn.on("click",function(){i.stopAutoplay(),i.prevThumbnailPage()}),this.$nextBtn.on("click",function(){i.stopAutoplay(),i.nextThumbnailPage()}),this.$gallery.find("[data-lightbox-trigger]").on("click",function(s){if(i.isSwiping){i.isSwiping=!1;return}i.stopAutoplay(),i.openLightbox(i.currentIndex)}),this.$lightbox.find(".lightbox-close, .lightbox-overlay").on("click",function(){i.closeLightbox()}),this.$lightbox.find(".lightbox-prev").on("click",function(){i.slideLightboxImage("prev")}),this.$lightbox.find(".lightbox-next").on("click",function(){i.slideLightboxImage("next")}),a(document).on("keydown",function(s){if(i.$lightbox.is('[aria-hidden="false"]'))switch(s.key){case"Escape":i.closeLightbox();break;case"ArrowLeft":i.slideLightboxImage("prev");break;case"ArrowRight":i.slideLightboxImage("next");break}}),a(window).on("resize",function(){i.calculateThumbnailsPerPage(),i.updateThumbnailNavigation()})},bindSwipeEvents:function(){var i=this;this.$mainImageContainer[0].addEventListener("touchstart",function(s){i.handleSwipeStart(s)},{passive:!0}),this.$mainImageContainer[0].addEventListener("touchend",function(s){i.handleMainGallerySwipeEnd(s)},{passive:!0}),this.$lightboxImageContainer[0].addEventListener("touchstart",function(s){i.handleSwipeStart(s)},{passive:!0}),this.$lightboxImageContainer[0].addEventListener("touchend",function(s){i.handleLightboxSwipeEnd(s)},{passive:!0})},handleSwipeStart:function(i){i.touches.length===1&&(this.swipeStartX=i.touches[0].clientX,this.swipeStartY=i.touches[0].clientY)},handleMainGallerySwipeEnd:function(i){if(i.changedTouches.length===1){var s=i.changedTouches[0].clientX-this.swipeStartX,l=i.changedTouches[0].clientY-this.swipeStartY;Math.abs(s)>Math.abs(l)&&Math.abs(s)>this.swipeThreshold&&(this.isSwiping=!0,this.stopAutoplay(),s>0?this.slideMainImage("prev"):this.slideMainImage("next"))}},handleLightboxSwipeEnd:function(i){if(i.changedTouches.length===1){var s=i.changedTouches[0].clientX-this.swipeStartX,l=i.changedTouches[0].clientY-this.swipeStartY;Math.abs(s)>Math.abs(l)&&Math.abs(s)>this.swipeThreshold&&(s>0?this.slideLightboxImage("prev"):this.slideLightboxImage("next"))}},startAutoplay:function(){var i=this;this.images.length<=1||(this.isPlaying=!0,this.$playbackBtn.addClass("is-playing"),this.$playbackBtn.attr("aria-label","Pause slideshow"),this.autoplayInterval=setInterval(function(){i.advanceImage()},this.autoplayDelay))},stopAutoplay:function(){this.isPlaying=!1,this.$playbackBtn.removeClass("is-playing"),this.$playbackBtn.attr("aria-label","Play slideshow"),this.autoplayInterval&&(clearInterval(this.autoplayInterval),this.autoplayInterval=null)},advanceImage:function(){if(!this.isTransitioning){var i=this.currentIndex+1;i>=this.images.length&&(i=0),this.setMainImage(i,!0)}},slideMainImage:function(i){var s=this;if(!(this.isTransitioning||this.images.length<=1)){var l;i==="prev"?(l=this.currentIndex-1,l<0&&(l=this.images.length-1)):(l=this.currentIndex+1,l>=this.images.length&&(l=0)),this.isTransitioning=!0;var o=this.images[l],u=i==="next"?"100%":"-100%",d=i==="next"?"-100%":"100%",t=a('');t.attr("src",o.url),t.attr("alt",o.alt||"Property photo"),t.css({position:"absolute",top:0,left:0,width:"100%",height:"100%","object-fit":"cover",transform:"translateX("+u+")","z-index":2,"border-radius":"0.5rem"}),this.$mainImageContainer.css({position:"relative",overflow:"hidden"}),this.$mainImageContainer.append(t),this.$mainImage.css({transition:"transform "+this.slideDuration+"ms ease-out"}),t.css({transition:"transform "+this.slideDuration+"ms ease-out"}),t[0].offsetHeight,this.$mainImage.css("transform","translateX("+d+")"),t.css("transform","translateX(0)"),setTimeout(function(){s.$mainImage.attr("src",o.url),s.$mainImage.attr("alt",o.alt||"Property photo"),s.$mainImage.css({transition:"",transform:""}),t.remove(),s.isTransitioning=!1},this.slideDuration),this.currentIndex=l,this.$thumbnails.removeClass("is-active"),this.$thumbnails.filter('[data-index="'+l+'"]').addClass("is-active"),this.scrollToThumbnail(l)}},setMainImage:function(i,s){var l=this;if(!(i<0||i>=this.images.length)&&!this.isTransitioning){var o=this.images[i];if(s){this.isTransitioning=!0;var u=a('');u.attr("src",o.url),u.attr("alt",o.alt||"Property photo"),u.css({position:"absolute",top:0,left:0,width:"100%",height:"100%","object-fit":"cover",opacity:0,transform:"scale(1.02)",transition:"opacity "+this.fadeDuration+"ms ease-in-out, transform "+this.fadeDuration+"ms ease-in-out","z-index":2,"border-radius":"0.5rem"}),this.$mainImageContainer.css("position","relative"),this.$mainImageContainer.append(u),u[0].offsetHeight,u.css({opacity:1,transform:"scale(1)"}),setTimeout(function(){l.$mainImage.attr("src",o.url),l.$mainImage.attr("alt",o.alt||"Property photo"),u.remove(),l.isTransitioning=!1},this.fadeDuration)}else this.$mainImage.attr("src",o.url),this.$mainImage.attr("alt",o.alt||"Property photo");this.currentIndex=i,this.$thumbnails.removeClass("is-active"),this.$thumbnails.filter('[data-index="'+i+'"]').addClass("is-active"),this.scrollToThumbnail(i)}},scrollToThumbnail:function(i){var s=Math.floor(i/this.thumbnailsPerPage);s!==this.thumbnailPage&&(this.thumbnailPage=s,this.scrollThumbnails())},scrollThumbnails:function(){var i=this.$gallery.find(".gallery-thumbnails"),s=this.$thumbnails.first().outerWidth(!0),l=this.thumbnailPage*this.thumbnailsPerPage*s;i.css("transform","translateX(-"+l+"px)"),this.updateThumbnailNavigation()},updateThumbnailNavigation:function(){var i=Math.ceil(this.images.length/this.thumbnailsPerPage);this.$prevBtn.prop("disabled",this.thumbnailPage===0),this.$nextBtn.prop("disabled",this.thumbnailPage>=i-1),i<=1?(this.$prevBtn.hide(),this.$nextBtn.hide()):(this.$prevBtn.show(),this.$nextBtn.show())},prevThumbnailPage:function(){this.thumbnailPage>0&&(this.thumbnailPage--,this.scrollThumbnails(),this.preloadPrevThumbnailPage())},nextThumbnailPage:function(){var i=Math.ceil(this.images.length/this.thumbnailsPerPage);this.thumbnailPage=this.images.length&&(l=0)),this.isTransitioning=!0;var o=this.images[l],u=i==="next"?"100%":"-100%",d=i==="next"?"-100%":"100%",t=a('');t.attr("src",o.url),t.attr("alt",o.alt||"Property photo"),t.css({position:"absolute","max-width":"100%","max-height":"calc(100vh - 8rem)","object-fit":"contain",transform:"translateX("+u+")",left:"50%",top:"50%","margin-left":"-45vw","margin-top":"calc(-50vh + 4rem)"}),this.$lightboxImageContainer.css({position:"relative",overflow:"hidden"}),this.$lightboxImageContainer.append(t),this.$lightboxImage.css({transition:"transform "+this.slideDuration+"ms ease-out"}),t.css({transition:"transform "+this.slideDuration+"ms ease-out"}),t[0].offsetHeight,this.$lightboxImage.css("transform","translateX("+d+")"),t.css("transform","translateX(0)"),setTimeout(function(){s.$lightboxImage.attr("src",o.url),s.$lightboxImage.attr("alt",o.alt||"Property photo"),s.$lightboxImage.css({transition:"",transform:""}),t.remove(),s.isTransitioning=!1,s.$lightboxCounter.text(l+1)},this.slideDuration),this.currentIndex=l}},prevImage:function(){this.slideLightboxImage("prev")},nextImage:function(){this.slideLightboxImage("next")},updateLightboxImage:function(){var i=this.images[this.currentIndex];this.$lightboxImage.attr("src",i.url),this.$lightboxImage.attr("alt",i.alt||"Property photo"),this.$lightboxCounter.text(this.currentIndex+1)},setupThumbnailLoading:function(){this.$thumbnails.each(function(){var i=a(this),s=i.find("img");i.addClass("is-loading"),i.find(".thumbnail-spinner").length||i.append('
    '),s[0].complete?i.removeClass("is-loading"):(s.on("load",function(){i.removeClass("is-loading")}),s.on("error",function(){i.removeClass("is-loading")}))})},preloadThumbnailPages:function(i,s){for(var l=this,o=i*this.thumbnailsPerPage,u=Math.min((i+s)*this.thumbnailsPerPage,this.images.length),d=o;d=0&&this.preloadThumbnailPages(i,1)}};a(function(){f.init()})})(jQuery);(function(a){if(!a(".mortgage-calculator-main").length)return;let f=!1;a.fn.currencyInput=function(s=!0){return this.data("ci_show_symbol",s),f||(f=!0,a.fn._CIOriginalVal=a.fn.val,a.fn.val=function(o){if(a(this).data("_currencyInput"))if(arguments.length===0){var u=a(this)._CIOriginalVal();if(u=="")return"";var d=parseInt(u.replace(/[^0-9]/g,""));return d}else{if(o=String(o).replace(/[^0-9]/g,""),o!=""){var t=parseInt(o).toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:0,maximumFractionDigits:0});return a(this).data("ci_show_symbol")||(t=t.replace("$","")),a(this)._CIOriginalVal(t)}return a(this)._CIOriginalVal(o)}else if(a(this).data("_percentInput"))if(arguments.length===0){var u=a(this)._CIOriginalVal();if(u=="")return"";var d=parseFloat(u.replace(/[^0-9.]/g,""));return isNaN(d)?"":d}else{o=String(o).replace(/[^0-9.]/g,"");var e=o.split(".");return e.length>2&&(o=e[0]+"."+e.slice(1).join("")),a(this)._CIOriginalVal(o)}else return arguments.length===0?a(this)._CIOriginalVal():a(this)._CIOriginalVal(o)}),this.data("_currencyInput")?this:(this.data("_currencyInput",!0),this.on("focus",function(){a(this).select()}),this.on("input",function(o){var u=this.selectionStart,d=a(this)._CIOriginalVal(),t=d.length;a(this).val(d);var e=a(this)._CIOriginalVal().length;e>t?u+=e-t:e2&&(d=t[0]+"."+t.slice(1).join("")),a(this)._CIOriginalVal(d);var e=d.length;e0){var o=l/s*100;this.$downPaymentPercent._CIOriginalVal(o.toFixed(1))}},syncDownPaymentFromPercent:function(){var s=this.$homePrice.val(),l=this.$downPaymentPercent.val();if(s&&s>0&&l!==""&&l>=0){var o=Math.round(s*l/100);this.$downPayment.val(o)}},calculate:function(){var s=this.$homePrice.val()||0,l=this.$downPayment.val()||0,o=parseInt(this.$loanTerm.val(),10),u=this.$interestRate.val()||0,d=s-l;d<0&&(d=0);var t=u/100/12,e=o*12,r=0,n=0;if(d>0&&t>0&&e>0){var h=Math.pow(1+t,e);r=d*(t*h)/(h-1),n=r*e-d}else d>0&&t===0&&(r=d/e,n=0);this.$monthlyPayment.text(this.formatCurrencyDisplay(r)),this.$principalInterest.text(this.formatCurrencyDisplay(r)),this.$loanAmount.text(this.formatCurrencyDisplay(d)),this.$totalInterest.text(this.formatCurrencyDisplay(n))}};a(document).ready(function(){i.init()})})(jQuery);(function(a){a(function(){})})(jQuery); diff --git a/wp-content/themes/homeproz/front-page.php b/wp-content/themes/homeproz/front-page.php index fae12e6b..40953edd 100755 --- a/wp-content/themes/homeproz/front-page.php +++ b/wp-content/themes/homeproz/front-page.php @@ -110,6 +110,9 @@ $featured_commercial = new WP_Query(array( diff --git a/wp-content/themes/homeproz/inc/ajax-handlers.php b/wp-content/themes/homeproz/inc/ajax-handlers.php index 945ab46d..578cfd28 100755 --- a/wp-content/themes/homeproz/inc/ajax-handlers.php +++ b/wp-content/themes/homeproz/inc/ajax-handlers.php @@ -28,6 +28,7 @@ function homeproz_ajax_filter_properties() { $property_type = isset($_POST['property_type']) ? sanitize_text_field($_POST['property_type']) : ''; $property_status = isset($_POST['property_status']) ? sanitize_text_field($_POST['property_status']) : ''; $property_location = isset($_POST['property_location']) ? sanitize_text_field($_POST['property_location']) : ''; + $zip = isset($_POST['zip']) ? sanitize_text_field($_POST['zip']) : ''; $min_price = isset($_POST['min_price']) ? intval($_POST['min_price']) : ''; $max_price = isset($_POST['max_price']) ? intval($_POST['max_price']) : ''; $beds = isset($_POST['beds']) ? intval($_POST['beds']) : ''; @@ -60,6 +61,9 @@ function homeproz_ajax_filter_properties() { if ($property_location) { $filter_args['city'] = $property_location; } + if ($zip) { + $filter_args['postal_code'] = $zip; + } if ($min_price) { $filter_args['min_price'] = $min_price; } @@ -151,6 +155,7 @@ function homeproz_ajax_filter_properties() { $filter_args = array(); if ($property_type) $filter_args['property_type'] = $property_type; if ($property_location) $filter_args['property_location'] = $property_location; + if ($zip) $filter_args['zip'] = $zip; if ($min_price) $filter_args['min_price'] = $min_price; if ($max_price) $filter_args['max_price'] = $max_price; if ($beds) $filter_args['beds'] = $beds; diff --git a/wp-content/themes/homeproz/inc/template-functions.php b/wp-content/themes/homeproz/inc/template-functions.php index a885a3c7..d7e7b6ca 100755 --- a/wp-content/themes/homeproz/inc/template-functions.php +++ b/wp-content/themes/homeproz/inc/template-functions.php @@ -388,6 +388,71 @@ function homeproz_format_mls_listing_for_json($listing, $is_homeproz = false) { ); } +/** + * Get MLS property types for filter dropdowns + * + * Returns property types with listing counts from MLS database. + * Filters to only show types with active listings. + * + * @return array Array of objects with property_type and count + */ +function homeproz_get_mls_property_types() { + if (!function_exists('mls_plugin')) { + return array(); + } + + $plugin = mls_plugin(); + $query = $plugin->get_query(); + + if (!$query) { + return array(); + } + + return $query->get_property_types('Active'); +} + +/** + * Get MLS cities for filter dropdowns + * + * Returns distinct cities from MLS database with active listings. + * Limited to cities with significant listing counts for usability. + * + * @param int $min_listings Minimum listings to include city (default 5) + * @return array Array of city names + */ +function homeproz_get_mls_cities($min_listings = 5) { + global $wpdb; + + if (!function_exists('mls_plugin')) { + return array(); + } + + $plugin = mls_plugin(); + $db = $plugin->get_db(); + + if (!$db) { + return array(); + } + + $table = $db->properties_table(); + + // Get cities with at least $min_listings active properties + // Also filter to MN and IA only + $cities = $wpdb->get_col($wpdb->prepare( + "SELECT city FROM {$table} + WHERE mlg_can_view = 1 + AND standard_status = 'Active' + AND city IS NOT NULL + AND state_or_province IN ('MN', 'IA') + GROUP BY city + HAVING COUNT(*) >= %d + ORDER BY city ASC", + $min_listings + )); + + return $cities ?: array(); +} + /** * Get property locations that have active or pending properties * diff --git a/wp-content/themes/homeproz/src/main.scss b/wp-content/themes/homeproz/src/main.scss index 14742b96..72f6bda1 100755 --- a/wp-content/themes/homeproz/src/main.scss +++ b/wp-content/themes/homeproz/src/main.scss @@ -37,6 +37,7 @@ @import '../template-parts/components/testimonial.scss'; @import '../template-parts/components/feature-block.scss'; @import '../template-parts/components/service-cards.scss'; +@import '../template-parts/components/property-type-boxes.scss'; // ============================================ // CSS Custom Properties (Design Tokens) diff --git a/wp-content/themes/homeproz/template-parts/components/property-type-boxes.php b/wp-content/themes/homeproz/template-parts/components/property-type-boxes.php new file mode 100644 index 00000000..dc49ec92 --- /dev/null +++ b/wp-content/themes/homeproz/template-parts/components/property-type-boxes.php @@ -0,0 +1,92 @@ + array( + 'icon' => '', + 'description' => 'Single family homes, condos & townhomes', + ), + 'Land' => array( + 'icon' => '', + 'description' => 'Vacant lots & acreages', + ), + 'Commercial Sale' => array( + 'icon' => '', + 'label' => 'Commercial', + 'description' => 'Office, retail & industrial', + ), + 'Farm' => array( + 'icon' => '', + 'description' => 'Agricultural & hobby farms', + ), + 'Residential Income' => array( + 'icon' => '', + 'label' => 'Multi-Family', + 'description' => 'Duplexes, triplexes & apartments', + ), +); + +// Filter to only show configured types and sort by count +$display_types = array(); +foreach ($property_types as $type) { + if (isset($type_config[$type->property_type])) { + $display_types[] = $type; + } +} +?> + +
    +
    +
    +

    Browse by Property Type

    +

    Find the perfect property for your needs

    +
    + +
    + property_type; + $config = $type_config[$type_name]; + $label = isset($config['label']) ? $config['label'] : $type_name; + $count = number_format($type->count); + $url = add_query_arg('property_type', urlencode($type_name), home_url('/properties/')); + ?> + +
    + +
    +
    +

    +

    + listings +
    +
    + + + +
    +
    + +
    +
    +
    diff --git a/wp-content/themes/homeproz/template-parts/components/property-type-boxes.scss b/wp-content/themes/homeproz/template-parts/components/property-type-boxes.scss new file mode 100644 index 00000000..824da075 --- /dev/null +++ b/wp-content/themes/homeproz/template-parts/components/property-type-boxes.scss @@ -0,0 +1,133 @@ +/** + * Property Type Boxes Styles + * + * Grid of clickable category boxes for browsing by property type. + * + * @package HomeProz + */ + +.property-type-boxes { + padding: 4rem 0; + background-color: var(--color-bg-card); + + @media (max-width: 768px) { + padding: 3rem 0; + } +} + +.type-boxes-grid { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 1.5rem; + + @media (max-width: 1200px) { + grid-template-columns: repeat(3, 1fr); + } + + @media (max-width: 768px) { + grid-template-columns: repeat(2, 1fr); + gap: 1rem; + } + + @media (max-width: 480px) { + grid-template-columns: 1fr; + } +} + +.type-box { + display: flex; + flex-direction: column; + padding: 1.5rem; + background-color: var(--color-bg-dark); + border: 1px solid var(--color-border); + border-radius: 0.5rem; + text-decoration: none; + transition: all 0.2s ease; + + &:hover { + border-color: var(--color-accent); + transform: translateY(-2px); + + .type-box-icon { + color: var(--color-accent); + } + + .type-box-arrow { + opacity: 1; + transform: translateX(0); + } + } + + @media (max-width: 768px) { + padding: 1.25rem; + } +} + +.type-box-icon { + color: var(--color-text-muted); + margin-bottom: 1rem; + transition: color 0.2s ease; + + svg { + display: block; + } + + @media (max-width: 768px) { + margin-bottom: 0.75rem; + + svg { + width: 28px; + height: 28px; + } + } +} + +.type-box-content { + flex: 1; +} + +.type-box-title { + font-family: var(--font-display); + font-size: 1.125rem; + font-weight: 600; + color: var(--color-text); + margin-bottom: 0.25rem; + + @media (max-width: 768px) { + font-size: 1rem; + } +} + +.type-box-description { + font-size: 0.8125rem; + color: var(--color-text-muted); + line-height: 1.4; + margin-bottom: 0.75rem; + + @media (max-width: 768px) { + font-size: 0.75rem; + margin-bottom: 0.5rem; + } +} + +.type-box-count { + display: inline-block; + font-size: 0.75rem; + font-weight: 500; + color: var(--color-accent-light); + text-transform: uppercase; + letter-spacing: 0.03em; +} + +.type-box-arrow { + align-self: flex-end; + color: var(--color-accent); + opacity: 0; + transform: translateX(-8px); + transition: all 0.2s ease; + margin-top: 0.75rem; + + @media (max-width: 768px) { + display: none; + } +} diff --git a/wp-content/themes/homeproz/template-parts/property/property-filters.js b/wp-content/themes/homeproz/template-parts/property/property-filters.js index 2b42aa72..22238873 100755 --- a/wp-content/themes/homeproz/template-parts/property/property-filters.js +++ b/wp-content/themes/homeproz/template-parts/property/property-filters.js @@ -599,6 +599,15 @@ } }); + // Also handle text inputs (like zip) + this.$form.find('input[type="text"]').each(function() { + var name = $(this).attr('name'); + if (params.has(name)) { + $(this).val(params.get(name)); + hasFilters = true; + } + }); + // Check for page in hash var page = this.getPageFromHash(); @@ -664,6 +673,7 @@ nonce: homeprozAjax.nonce, property_type: formData.property_type, property_location: formData.property_location, + zip: formData.zip, min_price: formData.min_price, max_price: formData.max_price, beds: formData.beds, @@ -737,6 +747,7 @@ return { property_type: this.$form.find('[name="property_type"]').val() || '', property_location: this.$form.find('[name="property_location"]').val() || '', + zip: this.$form.find('[name="zip"]').val() || '', min_price: this.$form.find('[name="min_price"]').val() || '', max_price: this.$form.find('[name="max_price"]').val() || '', beds: this.$form.find('[name="beds"]').val() || '' @@ -1239,6 +1250,7 @@ nonce: homeprozAjax.nonce, property_type: formData.property_type, property_location: formData.property_location, + zip: formData.zip, min_price: formData.min_price, max_price: formData.max_price, beds: formData.beds, diff --git a/wp-content/themes/homeproz/template-parts/property/property-filters.php b/wp-content/themes/homeproz/template-parts/property/property-filters.php index 6c1508eb..8f5049b0 100755 --- a/wp-content/themes/homeproz/template-parts/property/property-filters.php +++ b/wp-content/themes/homeproz/template-parts/property/property-filters.php @@ -2,6 +2,8 @@ /** * Property Filters Template Part * + * Uses MLS database for property types and cities. + * * @package HomeProz */ @@ -12,17 +14,15 @@ if (!defined('ABSPATH')) { // Get current filter values from URL $current_type = isset($_GET['property_type']) ? sanitize_text_field($_GET['property_type']) : ''; -$current_status = isset($_GET['property_status']) ? sanitize_text_field($_GET['property_status']) : ''; $current_location = isset($_GET['property_location']) ? sanitize_text_field($_GET['property_location']) : ''; +$current_zip = isset($_GET['zip']) ? sanitize_text_field($_GET['zip']) : ''; $current_min_price = isset($_GET['min_price']) ? intval($_GET['min_price']) : ''; $current_max_price = isset($_GET['max_price']) ? intval($_GET['max_price']) : ''; $current_beds = isset($_GET['beds']) ? intval($_GET['beds']) : ''; -$current_sort = isset($_GET['sort']) ? sanitize_text_field($_GET['sort']) : 'newest'; -// Get taxonomy terms -$property_types = get_terms(array('taxonomy' => 'property_type', 'hide_empty' => false)); -$property_statuses = get_terms(array('taxonomy' => 'property_status', 'hide_empty' => false)); -$property_locations = homeproz_get_active_locations(); +// Get MLS property types and cities +$property_types = homeproz_get_mls_property_types(); +$mls_cities = homeproz_get_mls_cities(50); // Cities with 50+ listings ?>
    @@ -33,25 +33,30 @@ $property_locations = homeproz_get_active_locations();
    - +
    +
    + + +
    +