.okhomes-home-map .okhomes-app{--app-green:#075e49;--app-gold:#e3b62f;--app-border:#dce5df;background:#fff}
.okhomes-home-map .okhomes-app__track{display:flex;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;direction:ltr;transition:height .22s ease}
.okhomes-app__track::-webkit-scrollbar,.okhomes-app-near__rail::-webkit-scrollbar{display:none}
.okhomes-home-map .okhomes-app-slide{position:relative;flex:0 0 100%;width:100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;min-height:calc(100svh - var(--okhomes-initial-header,78px) - var(--okhomes-preview-space,0px) - var(--okhomes-initial-owner,37px))}
.okhomes-home-map .okhomes-app-slide :is(button,a,input,select,summary):focus-visible{outline:3px solid #e3b62f;outline-offset:3px}
.okhomes-home-map .okhomes-app-slide.okhomes-home-map__hero .okhomes-home-map__hero-content{min-height:calc(100svh - var(--okhomes-initial-header,78px) - var(--okhomes-preview-space,0px) - var(--okhomes-initial-owner,37px))!important;aspect-ratio:auto!important;padding:clamp(28px,7svh,65px) 9.5vw 20px!important;gap:32px!important}
.okhomes-home-map .okhomes-app-slide .okhomes-home-map__search:not(:has(.okhomes-home-map__more-filters[open])){min-height:0!important;gap:10px!important}
.okhomes-home-map .okhomes-app__nav{display:flex;align-items:center;justify-content:center;gap:clamp(4px,2vw,30px);padding:8px 12px 0;background:#fff;min-height:58px;border-bottom:0}
.okhomes-app__nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:60px;min-height:48px;padding:5px 6px;background:none;border:0;font:400 12px/1.2 var(--font-body-family);color:#737c78;cursor:pointer}
.okhomes-app__nav button:before{content:"";width:9px;height:9px;border-radius:50%;background:#ccd0ce}
.okhomes-app__nav button[aria-current="true"]{font-weight:700;color:#075e49}
.okhomes-app__nav button[aria-current="true"]:before{background:#075e49}
.okhomes-app__nav button:focus-visible{outline:2px solid #075e49;outline-offset:2px;border-radius:8px}
.okhomes-app__nav button.okhomes-app__arrow{min-width:28px;max-width:30px;padding:0;font-size:25px}
.okhomes-app__nav button.okhomes-app__arrow:before{display:none}
.okhomes-app__arrow:disabled{opacity:.25;cursor:default}
.okhomes-app__hint{margin:0;display:flex;justify-content:center;gap:18px;padding:0 12px 8px;font:400 11px/1.3 var(--font-body-family);color:#77827c}
.okhomes-app__hint button{background:none;border:0;padding:3px 6px;color:inherit;font:inherit;cursor:pointer;min-height:25px}
.okhomes-app-seller{display:flex;align-items:flex-end;justify-content:center;isolation:isolate;overflow:hidden;background:#65563d}
.okhomes-app-seller__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;z-index:-2}
.okhomes-app-seller:after{content:"";position:absolute;inset:40% 0 0;z-index:-1;background:linear-gradient(transparent,#0003 35%,#0009)}
.okhomes-app-seller__copy{padding:22px 24px 28px;max-width:660px;width:100%;text-align:center;color:#fff;text-shadow:0 1px 5px #0007}
.okhomes-app-seller__brand{margin:0 0 10px;color:#fff;font-size:clamp(24px,4vw,36px);font-weight:700;letter-spacing:.035em}
.okhomes-app-seller__copy h2{margin:0;color:#fff;font-size:clamp(25px,4vw,38px);font-weight:800;line-height:1.25}
.okhomes-app-seller__copy h2 strong{font-size:1.5em;color:#edbc37}
.okhomes-app-gold-line{display:block;width:46px;height:3px;background:#e3b62f;margin:13px auto}
.okhomes-app-seller__copy>p:last-of-type{margin:24px 0 12px;font-size:14px;color:#fff}
.okhomes-home-map .okhomes-app-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 18px;box-sizing:border-box;border:1px solid #fff;border-radius:999px;background:#075e49;color:#fff;text-decoration:none;font:700 15px/1.3 var(--font-body-family);cursor:pointer;letter-spacing:.025em;text-shadow:none}
.okhomes-app-services{display:flex;align-items:center;justify-content:center;padding:26px 20px;background:#f1eee4;isolation:isolate}
.okhomes-app-services__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(4px);z-index:-2}
.okhomes-app-services:before{content:"";position:absolute;inset:0;background:#ede8de60;z-index:-1}
.okhomes-app-services__panel{width:100%;max-width:700px;padding:20px;border:1px solid #fff;border-radius:24px;background:#faf8f0ec;color:#075e49;text-align:center;box-sizing:border-box}
.okhomes-app-services__panel h2{margin:0;color:#075e49;font-size:clamp(25px,4vw,36px);font-weight:800;letter-spacing:.01em}
.okhomes-app-services__panel>p{margin:0 0 18px;font-size:14px;line-height:1.5}
.okhomes-app-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.okhomes-home-map .okhomes-app-service{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:108px;padding:14px 8px;border:1px solid #b9c9be;border-radius:15px;color:#075e49;background:#fff9;text-decoration:none;box-sizing:border-box;transition:background .16s ease}
.okhomes-app-service:hover{background:#fff}
.okhomes-app-service>svg{width:39px;height:39px;flex:none}
.okhomes-app-service>span{font-size:12px;font-weight:700;line-height:1.3}
.okhomes-app-service>i{width:23px;height:2px;background:#e3b62f}
.okhomes-app-more-services{margin-top:12px}
.okhomes-app-more-services>summary{cursor:pointer;font-size:13px;min-height:36px;display:flex;align-items:center;justify-content:center;gap:12px;list-style:none}
.okhomes-app-more-services>summary::-webkit-details-marker{display:none}
.okhomes-app-near{background:linear-gradient(#f2f8f4,#fff 62%,#eef7f1);color:#075e49;padding:22px 0 18px}
.okhomes-app-near__intro{text-align:center;padding:0 20px}
.okhomes-app-near__intro h2{margin:0;color:#075e49;font-size:clamp(24px,3.6vw,34px);font-weight:800;line-height:1.15}
.okhomes-app-filter-button,.okhomes-app-filter-locate{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 18px;border:1.5px solid #075e49;border-radius:999px;background:#fff;color:#075e49;font:700 13px/1.3 var(--font-body-family);cursor:pointer}
.okhomes-app-radar{position:relative;width:100%;max-width:1100px;height:240px;margin:12px auto 0;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;background:radial-gradient(circle,#d4eadb 0%,#eef6f1 62%)}
.okhomes-app-radar__map{position:absolute;inset:0;z-index:-2;opacity:.68}
.okhomes-app-radar:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#f3f8f450,#fff0 30%,#fff0 75%,#f8fcf9)}
.okhomes-app-radar__label{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:2;max-width:calc(100% - 24px);padding:6px 12px;border-radius:999px;background:#fffffff0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:600}
.okhomes-app-radar__button{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:126px;height:126px;border:3px solid #e4f3e8;border-radius:50%;background:#075e49;color:#fff;font:400 11px/1.25 var(--font-body-family);cursor:pointer;box-shadow:0 5px 24px #075e4925}
.okhomes-app-radar__button strong{font-size:13px;letter-spacing:.015em;color:#fff}
.okhomes-app-radar__button>svg{width:34px;height:34px}
.okhomes-app-radar__button:disabled{cursor:wait}
.okhomes-app-radar__rings{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center}
.okhomes-app-radar__rings>span{position:absolute;width:170px;height:170px;border:1.5px solid #22875355;border-radius:50%;background:#42a86b06;transform:scale(1)}
.okhomes-app-radar__rings>span:nth-child(2){transform:scale(1.35)}
.okhomes-app-radar__rings>span:nth-child(3){transform:scale(1.7)}
.okhomes-app-radar.is-searching .okhomes-app-radar__rings>span{animation:okhomes-app-radar-wave 2.4s ease-out infinite}
.okhomes-app-radar.is-searching .okhomes-app-radar__rings>span:nth-child(2){animation-delay:.8s}
.okhomes-app-radar.is-searching .okhomes-app-radar__rings>span:nth-child(3){animation-delay:1.6s}
@keyframes okhomes-app-radar-wave{from{transform:scale(.65);opacity:1}to{transform:scale(2.25);opacity:0}}
.okhomes-app-near__status{max-width:820px;margin:6px auto 12px;padding:0 20px;font-size:11px;line-height:1.4;text-align:center;color:#536c5d}
.okhomes-app-near__heading{text-align:center;margin:10px 0}
.okhomes-app-near__heading h3{margin:0 0 4px;color:#075e49;font-size:20px;font-weight:750}
.okhomes-app-near__heading>span{font-size:11px;color:#5a6f62}
.okhomes-app-near__rail{display:flex;gap:12px;padding:2px max(20px,calc((100% - 540px)/2));width:100%;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:max(20px,calc((100% - 540px)/2));overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:none;align-items:flex-start}
.okhomes-near-card{flex:0 0 min(82vw,540px);width:min(82vw,540px);scroll-snap-align:center;border-radius:14px;background:#fff;border:1px solid #dce5df;overflow:hidden;color:#075e49;box-sizing:border-box}
.okhomes-near-card__photo{position:relative;display:block;aspect-ratio:4/3;background:#edf1ed;color:#fff;text-decoration:none}
.okhomes-near-card__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.okhomes-near-card__photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
.okhomes-near-card__caption{position:absolute;left:14px;right:14px;bottom:13px;z-index:1;color:#fff;display:flex;flex-direction:column;gap:3px;text-shadow:0 1px 4px #0008;font-size:11px;line-height:1.3}
.okhomes-near-card__caption strong{font-size:25px;line-height:1.1;color:#fff}
.okhomes-near-card__caption b{font-size:14px;color:#fff}
.okhomes-near-card__distance{position:absolute;top:12px;right:12px;padding:5px 9px;border-radius:999px;background:#fffe;color:#075e49;font-size:11px;font-weight:700}
.okhomes-near-card__actions{display:flex;justify-content:space-around;align-items:center;gap:6px;background:#fff;padding:9px 8px;border-top:5px solid white}
.okhomes-near-card__actions :is(button,a){display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:36px;padding:6px 10px;border:1.2px solid #176e35;border-radius:999px;color:#176e35;background:transparent;font:700 10px/1.2 var(--font-body-family);text-decoration:none;cursor:pointer}
.okhomes-near-card__actions svg{width:18px;height:18px}
.okhomes-near-card__actions .okhomes-state{display:contents}
.okhomes-near-card__actions .okhomes-state__favorite{width:36px;height:36px;min-height:36px;padding:6px}
.okhomes-near-card__footer{display:grid;grid-template-columns:1fr 1.15fr .75fr;align-items:center;background:#198b3b;color:white;min-height:46px;gap:2px;font-size:9px;text-align:center}
.okhomes-near-card__footer>*{color:white!important;padding:10px 3px;min-width:0;font:700 9px/1.3 var(--font-body-family);text-decoration:none;border:0;background:none;cursor:pointer;white-space:normal}
.okhomes-near-card__footer>span{cursor:default}
.okhomes-near-card__footer>[data-near-description]{position:relative}
.okhomes-near-card__footer>[data-near-description]:before,.okhomes-near-card__footer>[data-near-description]:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:white}
.okhomes-near-card__footer>[data-near-description]:before{left:0;transform:rotate(-23deg)}
.okhomes-near-card__footer>[data-near-description]:after{right:0;transform:rotate(23deg)}
.okhomes-near-card__next{display:flex;min-height:43px;background:#fff}
.okhomes-near-card__next a{flex:1;color:#176e35;padding:10px 5px;text-decoration:none;text-align:center;font-size:9px;font-weight:700;line-height:1.3}
.okhomes-near-card__next a+a{border-left:1px solid #b6ccbd}
.okhomes-app-near__controls{display:flex;align-items:center;justify-content:center;gap:18px;margin:5px 0;font-size:11px}
.okhomes-app-near__controls button{width:35px;height:35px;border:0;background:none;color:#075e49;font-size:24px;cursor:pointer}
.okhomes-app-near__controls button:disabled{opacity:.3;cursor:default}
.okhomes-app-list-link{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:calc(100% - 32px);min-height:40px;padding:7px 22px;box-sizing:border-box;margin:0 auto;border:1.5px solid #075e49;border-radius:999px;color:#075e49;font:700 12px/1.3 var(--font-body-family);text-decoration:none}
.okhomes-app-empty{width:100%;padding:28px 20px;text-align:center;font-size:14px;color:#075e49}
.okhomes-app-dialog{box-sizing:border-box;width:min(94vw,620px);max-width:94vw;max-height:90svh;overflow:auto;margin:auto;padding:20px;border:0;border-radius:18px;background:white;color:#173f2b;box-shadow:0 12px 55px #0005;font-family:var(--font-body-family)}
.okhomes-app-dialog::backdrop{background:#08201990}
.okhomes-app-dialog:not([open]){display:none}
.okhomes-app-dialog>header{position:sticky;top:-20px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;padding:8px 0 12px;border-bottom:1px solid #dce5df}
.okhomes-app-dialog>header h2{margin:0;color:#075e49;font-size:21px;font-weight:700;line-height:1.3}
.okhomes-app-dialog>header button{flex:none;min-width:44px;min-height:44px;border:1px solid #176e35;border-radius:50%;background:white;color:#176e35;font-size:25px;cursor:pointer}
.okhomes-app-dialog :is(button,a,input,select):focus-visible{outline:3px solid #176e35;outline-offset:2px}
.okhomes-app-dialog form{display:flex;flex-direction:column;gap:13px;padding-top:16px}
.okhomes-app-dialog label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:#173f2b;min-width:0}
.okhomes-app-dialog :is(input,select){min-height:44px;width:100%;box-sizing:border-box;min-width:0;padding:8px 10px;border:1px solid #b6ccbd;border-radius:8px;background:#fff;color:#173f2b;font:400 16px var(--font-body-family)}
.okhomes-app-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.okhomes-app-filter-row>button{min-height:44px;padding:8px;border:1px solid #176e35;border-radius:10px;background:#fff;color:#176e35;font:600 13px/1.3 var(--font-body-family);cursor:pointer}
.okhomes-app-filter-row>button.okhomes-app-cta{background:#075e49;color:#fff}
.okhomes-app-filter-dialog [data-filter-status]:empty{display:none}
.okhomes-app-filter-dialog [data-filter-status]{margin:0;font-size:12px}
.okhomes-app-property-dialog{width:min(100vw,800px);max-width:100vw;height:100svh;max-height:100svh;margin:0 auto;border-radius:0;display:flex;flex-direction:column;overflow:hidden}
.okhomes-app-property-dialog>header{top:0;position:relative;flex:none}
.okhomes-app-property-dialog>header h2{font-size:16px}
.okhomes-app-property-dialog__body{flex:1;min-height:0;overflow-y:auto;padding:18px 0;font-size:16px;line-height:1.7;background:#fff;overscroll-behavior:contain}
.okhomes-app-property-dialog__body h3{color:#176e35;font-weight:700}
.okhomes-app-property-dialog__body .okhomes-property-text-section{margin-bottom:25px}
.okhomes-app-property-photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;min-height:0;height:100%;gap:0;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom}
.okhomes-app-property-photos img{width:100%;min-width:100%;height:100%;flex:0 0 100%;object-fit:contain;object-position:center;scroll-snap-align:start}
.okhomes-app-property-ribbon{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin-bottom:20px;padding:0 0 8px;scroll-snap-type:none;scroll-behavior:auto;direction:ltr}
.okhomes-app-property-ribbon img{width:210px;height:150px;object-fit:cover;border-radius:9px;flex:none;scroll-snap-align:start}
.okhomes-app-property-dialog__controls{flex:none;display:flex;align-items:center;justify-content:center;gap:20px;padding:8px 0;color:#176e35;font-size:13px}
.okhomes-app-property-dialog__controls button{min-height:44px;min-width:44px;border:1px solid #176e35;border-radius:50%;background:white;color:#176e35;font-size:24px;cursor:pointer}
@media(min-width:750px){.okhomes-home-map .okhomes-app-slide{min-height:720px;max-height:none}.okhomes-home-map .okhomes-app-slide.okhomes-home-map__hero .okhomes-home-map__hero-content{min-height:720px!important;padding-top:48px!important}.okhomes-app-services__panel{max-width:650px}.okhomes-app-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.okhomes-app-near__rail{padding-left:max(20px,calc((100% - 1080px)/2));padding-right:max(20px,calc((100% - 1080px)/2))}.okhomes-near-card{flex-basis:430px;width:430px}.okhomes-near-card__photo{aspect-ratio:16/10}.okhomes-app-radar{height:250px}.okhomes-app-near{padding-top:25px}}
@media(max-width:360px){.okhomes-app__nav{gap:0!important;padding-inline:4px!important}.okhomes-app__nav button{min-width:54px;font-size:10px}.okhomes-app-services{padding:18px 12px}.okhomes-app-services__panel{padding:16px 12px}.okhomes-app-service{min-height:98px!important}.okhomes-app-seller__copy{padding:20px 14px}.okhomes-app-seller__copy h2{font-size:24px}.okhomes-app-filter-button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.okhomes-app__track,.okhomes-app-service{transition:none}.okhomes-app-radar.is-searching .okhomes-app-radar__rings>span{animation:none}}

.okhomes-app-radar-pin{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid #176e35;background:#fff;color:#176e35;font:700 20px Arial}

.okhomes-app-property-dialog__body>.okhomes-list-description__content{overflow:visible;min-height:0;flex:none;padding:0}

/* Compact gesture indicator: no navigation row or added screen height. */
.okhomes-home-map .okhomes-app{position:relative}
.okhomes-home-map .okhomes-app__nav{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.okhomes-home-map .okhomes-app__nav:focus-within{width:auto;height:auto;margin:0;clip-path:none;bottom:14px;left:50%;transform:translateX(-50%);z-index:10;padding:4px 8px;border-radius:8px}
.okhomes-home-map .okhomes-app__hint{display:none}
.okhomes-home-map .okhomes-app__handle{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:44px;height:4px;border-radius:99px;background:#fff;box-shadow:0 0 0 1px #075e4920,0 1px 4px #0005;z-index:5;pointer-events:none}
.okhomes-home-map .okhomes-app-seller__image{inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;background:none}
.okhomes-home-map .okhomes-app-seller__copy{align-self:flex-end;margin:0 auto;max-width:660px;width:100%;box-sizing:border-box;padding:22px 24px 28px;z-index:2}
@media(min-width:750px){.okhomes-home-map .okhomes-app-seller__image{object-position:center 20%}}
@media(max-width:749px){.okhomes-home-map .okhomes-app-slide.okhomes-home-map__hero .okhomes-home-map__hero-content{padding:14.3vw 9.5vw 3.3vw!important;gap:0!important}}


@media(min-width:750px){
.okhomes-home-map .okhomes-app__nav,.okhomes-home-map .okhomes-app__nav:focus-within{position:relative;left:auto;bottom:auto;transform:none;clip-path:none;width:100%;height:auto;min-height:66px;margin:0;padding:8px 16px;overflow:visible;white-space:normal;box-sizing:border-box;gap:22px;background:#fff;border-bottom:1px solid #dce5df}
.okhomes-home-map .okhomes-app__nav button{min-width:100px;font-size:14px;color:#075e49}
.okhomes-home-map .okhomes-app__nav button.okhomes-app__arrow{min-width:44px;max-width:44px;min-height:44px;border:1px solid #b9c9be;border-radius:50%;font-size:28px}
.okhomes-home-map .okhomes-app__track{cursor:grab}
.okhomes-home-map .okhomes-app__track.is-mouse-dragging{cursor:grabbing;user-select:none;scroll-snap-type:none}
.okhomes-home-map .okhomes-app__track :is(a,button,input,select,summary){cursor:pointer}
.okhomes-home-map .okhomes-app__track input{cursor:text}
.okhomes-home-map .okhomes-app__handle{display:none}
}
