/* shb.studio listing pages: tabs, residences, neighborhood, live map */
.lp .lh .dh-img{height:min(72vh,760px)}
.lh-sum{font-size:15px;letter-spacing:.04em;color:#F7F4EE;opacity:.92}
.ltabs{position:sticky;top:72px;z-index:40;display:flex;align-items:center;gap:4px;padding:0 clamp(16px,7vw,100px);background:#F7F4EE;border-bottom:1px solid #D9D3C7;overflow-x:auto;scrollbar-width:none}
.ltabs::-webkit-scrollbar{display:none}
.ltabs [role=tab]{flex:0 0 auto;border:0;background:none;font:inherit;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#55524C;padding:20px 14px 18px;border-bottom:2px solid transparent;cursor:pointer;min-height:56px}
.ltabs [role=tab][aria-selected=true]{color:#22303B;border-bottom-color:#9A5B2E}
.ltabs [role=tab]:focus-visible{outline:2px solid #22303B;outline-offset:-4px}
.ltab-cta{margin-left:auto;flex:0 0 auto;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;background:#22303B;color:#F7F4EE!important;text-decoration:none;padding:12px 18px}
.lpanel{padding:56px clamp(16px,7vw,100px) 24px;animation:lpIn .45s cubic-bezier(.2,.7,.2,1)}
@keyframes lpIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.lpanel h2{font-family:Newsreader,Georgia,serif;font-weight:300;font-size:clamp(30px,3.4vw,44px);margin:0 0 12px}
.ov-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:start;max-width:1240px}
.ov-text p{font-size:17px;line-height:1.7;color:#3A3833;max-width:62ch}
.ov-text .dlead{font-size:clamp(24px,2.6vw,32px);line-height:1.3;color:#26251F}
.hl{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.hl li{padding:14px 0 14px 22px;border-top:1px solid #D9D3C7;font-size:15.5px;position:relative;color:#26251F}
.hl li:before{content:"";position:absolute;left:0;top:22px;width:10px;height:1px;background:#9A5B2E}
.ov-side .dfacts{grid-template-columns:1fr;margin-bottom:24px}
.ov-side .dfacts div{display:flex;justify-content:space-between;gap:16px;padding:14px 0}
.ov-side .dfacts dd{text-align:right;font-size:16px}
.near{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:10px}
.near li{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:baseline;background:#FFFDF9;border:1px solid #E4DFD4;padding:12px 14px}
.near b{font-family:Newsreader,Georgia,serif;font-weight:400;font-size:20px;color:#9A5B2E}
.near span{font-size:15px}
.near i{font-style:normal;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#625E57}
.dbtn.ghost{background:transparent;color:#22303B!important;border:1px solid #22303B}
.dbtn.ghost:hover{background:#22303B;color:#F7F4EE!important}
.dbtn.sm{padding:13px 20px;font-size:12.5px;margin-top:8px}
.lg-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:10px;margin-top:56px}
.lg-i{position:relative;border:0;padding:0;background:#ECE7DE;cursor:zoom-in;overflow:hidden}
.lg-i img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.lg-i:hover img{transform:scale(1.04)}
.lg-i span{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;font-size:13px;color:#F7F4EE;text-align:left;background:linear-gradient(0deg,rgba(20,22,26,.6),transparent);opacity:0;transition:opacity .3s}
.lg-i:hover span,.lg-i:focus-visible span{opacity:1}
.lg-big{grid-column:span 2;grid-row:span 2}
.res-head p{color:#4A4843;font-size:16px;margin:0 0 28px}
.units{border-top:1px solid #26251F;max-width:1240px}
.unit{border-bottom:1px solid #D9D3C7}
.unit summary{list-style:none;display:grid;grid-template-columns:1.3fr 1.2fr auto 28px;gap:16px;align-items:center;padding:22px 0;cursor:pointer}
.unit summary::-webkit-details-marker{display:none}
.u-name{font-family:Newsreader,Georgia,serif;font-size:clamp(20px,2vw,26px)}
.u-lay{font-size:15px;color:#4A4843}
.unit summary i{font-style:normal;font-size:22px;color:#625E57;transition:transform .3s;text-align:center}
.unit[open] summary i{transform:rotate(45deg)}
.pill{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border:1px solid;white-space:nowrap;justify-self:start}
.pill.av{color:#2F5D3A;border-color:#2F5D3A;background:#EEF3EC}
.pill.uc{color:#8A4F25;border-color:#C9A88C;background:#F7EEE6}
.pill.ct{color:#7A5B12;border-color:#CDB778;background:#F7F1DF}
.pill.ur{color:#22303B;border-color:#B9C3CC;background:#EEF1F4}
.pill.sd{color:#55524C;border-color:#CFC8BA;background:#EFECE6}
.u-body{padding:0 0 28px}
.u-specs{display:flex;flex-wrap:wrap;gap:12px 40px;margin-bottom:16px}
.u-specs span{display:flex;flex-direction:column;gap:4px;font-size:16px}
.u-specs em{font-style:normal;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#625E57}
.u-body p{font-size:16px;line-height:1.65;color:#3A3833;max-width:70ch;margin:0 0 16px}
.lg-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-auto-rows:150px;gap:8px;margin-bottom:16px}
.disc{font-size:13px;color:#625E57;max-width:90ch;margin-top:24px}
.nb-intro{max-width:760px}
.nb-intro p{font-size:17px;line-height:1.7;color:#3A3833}
.nb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px 40px;margin-top:40px;max-width:1240px}
.nb-g h3{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#8A4F25;font-weight:500;margin:0 0 8px;padding-bottom:10px;border-bottom:1px solid #26251F}
.nb-g ul{list-style:none;padding:0;margin:0}
.nb-g li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #E4DFD4;font-size:15px}
.nb-g li small{display:block;font-size:12.5px;color:#625E57;margin-top:2px}
.nb-g li b{font-weight:400;color:#4A4843;white-space:nowrap;font-size:14px}
.map-wrap{position:relative;border:1px solid #D9D3C7}
#lmap{height:min(72vh,680px);background:#E9E5DC}
.map-ui{position:absolute;top:14px;right:14px;z-index:500;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.seg{display:flex;background:#FFFDF9;border:1px solid #CFC8BA}
.seg button,.mbtn{font:inherit;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;border:0;background:transparent;color:#22303B;padding:11px 14px;cursor:pointer;min-height:44px;text-decoration:none;display:inline-flex;align-items:center}
.seg button.on{background:#22303B;color:#F7F4EE}
.mbtn{background:#FFFDF9;border:1px solid #CFC8BA}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.chip{font:inherit;font-size:13px;padding:10px 14px;border:1px solid #CFC8BA;background:#FFFDF9;color:#4A4843;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;gap:8px}
.chip:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c,#9A5B2E);opacity:.35}
.chip.on{border-color:#22303B;color:#22303B}.chip.on:before{opacity:1}
.chip[data-c=transit]{--c:#C8102E}.chip[data-c=grocery]{--c:#2F5D3A}.chip[data-c=park]{--c:#4F7A3A}.chip[data-c=school]{--c:#2B5C8A}.chip[data-c=dining]{--c:#9A5B2E}.chip[data-c=cafe]{--c:#7A5233}.chip[data-c=culture]{--c:#6B4C8A}.chip[data-c=library]{--c:#2B5C8A}
.plist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 32px}
.plist li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #E4DFD4;cursor:pointer;font-size:15px}
.plist li:hover span{color:#9A5B2E}
.plist li b{font-weight:400;color:#4A4843;white-space:nowrap;font-size:14px}
.plist li small{display:block;font-size:12.5px;color:#625E57}
.lm-dot{width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);background:var(--c,#9A5B2E)}
.lm-home{display:flex;align-items:center;gap:8px;white-space:nowrap;transform:translate(-11px,-11px)}
.lm-home i{width:22px;height:22px;background:#22303B;border:3px solid #F7F4EE;box-shadow:0 2px 10px rgba(0,0,0,.4);display:block;flex:0 0 auto}
.lm-home b{background:#22303B;color:#F7F4EE;font:500 12px Jost,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px}
.lm-home:after{content:"";position:absolute;left:-14px;top:-14px;width:50px;height:50px;border-radius:50%;border:2px solid #F7F4EE;opacity:0;animation:lmPulse 2.4s ease-out infinite}
@keyframes lmPulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.leaflet-popup-content{font:15px Jost,system-ui,sans-serif;margin:12px 14px}
.leaflet-popup-content small{display:block;color:#625E57;font-size:12.5px}
.dres-c{font-size:14px!important;color:#55524C!important;margin-top:16px}
.dform select{font:inherit;font-size:16px;padding:13px 12px;border:1px solid #CFC8BA;background:#F7F4EE;color:#26251F}
@media (max-width:900px){.ov-grid{grid-template-columns:1fr;gap:32px}.lg-grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px}}
@media (max-width:760px){
  .ltabs{top:68px;padding:0 8px}
  .ltabs{justify-content:space-between}
  .ltabs [role=tab]{padding:16px 6px;font-size:11.5px;letter-spacing:.08em}
  .ltab-cta{display:none}
  .lpanel{padding:36px 16px 16px}
  .hl{grid-template-columns:1fr}
  .unit summary{grid-template-columns:1fr auto;grid-template-areas:"n i" "l l" "p p";gap:8px}
  .u-name{grid-area:n}.u-lay{grid-area:l}.pill{grid-area:p}.unit summary i{grid-area:i}
  .lg-row{grid-template-columns:1fr 1fr;grid-auto-rows:120px}
  #lmap{height:62vh}
  .map-ui{position:static;padding:10px 0 0;justify-content:flex-start;gap:6px}
  .map-wrap{border:0}
  #lmap{border:1px solid #D9D3C7}
  .seg button,.mbtn{padding:10px 12px;font-size:11.5px}
}
@media (prefers-reduced-motion:reduce){.lpanel{animation:none}.lm-home:after{animation:none}.lg-i img{transition:none}}

.lh .dh-img{object-position:center 30%}
[data-slug=belmont-651] .lh .dh-img{object-position:center 8%}
