/* shb.studio home page: live map and available homes grid */
.hm-wrap{display:flex;flex-direction:column;gap:12px}
.hm-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hm-bar label{display:flex;align-items:center;gap:8px;background:#FFFDF9;border:1px solid #CFC8BA;padding:10px 14px;font-size:14px;min-height:44px;cursor:pointer}
.hm-bar input{accent-color:#22303B;width:18px;height:18px;margin:0}
#hm-reset{margin-left:auto;font:inherit;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;background:#22303B;color:#F7F4EE;border:0;padding:13px 18px;cursor:pointer;min-height:44px}
.hm-stage{position:relative;border:1px solid #D9D3C7}
#hmap{height:min(70vh,640px);background:#E9E5DC}
.hm-card{position:absolute;left:16px;bottom:16px;z-index:600;width:360px;max-width:calc(100% - 32px);background:#FFFDF9;border:1px solid #CFC8BA;box-shadow:0 18px 50px rgba(20,22,26,.25);animation:hmIn .4s cubic-bezier(.2,.7,.2,1)}
@keyframes hmIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hm-img{display:block;aspect-ratio:16/10;background:#ECE7DE;overflow:hidden}
.hm-img img{width:100%;height:100%;object-fit:cover;display:block}
.hm-body{position:relative;padding:18px 20px 20px}
.hm-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:none;font-size:26px;color:#4A4843;cursor:pointer}
.hm-k{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8A4F25}
.hm-body h3{font-family:Newsreader,Georgia,serif;font-weight:400;font-size:28px;line-height:1.1;margin:6px 40px 8px 0}
.hm-s{font-size:14.5px;color:#4A4843;margin:0 0 4px}
.hm-a{font-size:14.5px;color:#2F5D3A;margin:0 0 8px}
.hm-d{font-size:15px;line-height:1.55;color:#3A3833;margin:6px 0 14px}
.hm-btns{display:flex;flex-wrap:wrap;gap:8px}
.hm-go,.hm-go2{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:12px 14px;min-height:44px;display:inline-flex;align-items:center}
.hm-go{background:#22303B;color:#F7F4EE!important}
.hm-go2{border:1px solid #CFC8BA;color:#22303B!important}
.hm-pin{position:relative;cursor:pointer}
.hm-done i{position:absolute;left:-8px;top:-8px;width:16px;height:16px;background:#9A5B2E;border:2px solid #F7F4EE;box-shadow:0 1px 4px rgba(0,0,0,.35);display:block}
.hm-done:before{content:"";position:absolute;left:-22px;top:-22px;width:44px;height:44px}
.hm-offer{display:flex;align-items:center;gap:6px;transform:translate(-12px,-12px);white-space:nowrap}
.hm-offer i{width:24px;height:24px;background:#22303B;border:3px solid #F7F4EE;box-shadow:0 2px 10px rgba(0,0,0,.35);display:block;flex:0 0 auto}
.hm-offer b{background:#22303B;color:#F7F4EE;font:500 12px Jost,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:6px 9px}
.hm-pin.on i{background:#9A5B2E;outline:3px solid rgba(154,91,46,.35)}
.hm-pin.on b{background:#9A5B2E}
.hm-note{margin:4px 0 8px!important}
.hc2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px 24px}
.hc2{display:flex;flex-direction:column;background:#FFFDF9;border:1px solid #E4DFD4}
.hc2-img{display:block;aspect-ratio:4/3;background:#ECE7DE;overflow:hidden}
.hc2-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.hc2:hover .hc2-img img{transform:scale(1.03)}
.hc2-b{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.hc2-k{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8A4F25}
.hc2 h3{font-family:Newsreader,Georgia,serif;font-weight:400;font-size:28px;line-height:1.1;margin:2px 0}
.hc2 h3 a{color:#26251F!important;text-decoration:none}
.hc2-u{font-size:15px;color:#4A4843;margin:0}
.hc2-a{font-size:15px;color:#2F5D3A;margin:0 0 8px}
.hc2-l{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px 18px;border-top:1px solid #E4DFD4;padding-top:12px}
.hc2-l a{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#22303B!important;text-decoration:none;padding:8px 0}
.hc2-l a:first-child{color:#9A5B2E!important}
@media (max-width:760px){
  #hmap{height:58vh}
  .hm-card{position:static;width:auto;max-width:none;border-top:0;box-shadow:none}
  .hm-body h3{font-size:26px}
  #hm-reset{margin-left:0}
  .hc2-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.hm-card{animation:none}.hc2-img img{transition:none}}
