footer{padding-block:36px calc(36px + env(safe-area-inset-bottom,0))}footer .au{text-decoration:none}footer .au:hover{color:var(--ink)}img.avatar{object-fit:cover;padding:0}#share.span2{grid-column:1/-1}.plan-img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.plan-wrap.img-only{grid-template-columns:minmax(0,1fr)}:root[data-status=leased] .status i,:root[data-status=sold] .status i{background:#c9a46a}:root[data-status=draft] .status i,:root[data-status=paused] .status i{background:#d48a2e}.lb .stage video{max-height:78vh;max-width:100%;background:#000}.hero-ctrl[hidden]{display:none}@media (max-width:900px){.tile.lead{grid-column:span 2;grid-row:span 2}}.brandmark img.brandlogo,img.brandlogo{height:46px;width:auto;max-width:220px;object-fit:contain;background:#fff;padding:5px 9px;border-radius:5px;display:block}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease;background:#0b0d0e}.hero-video.on{opacity:1}.hero-sound{position:absolute;z-index:6;right:max(16px,env(safe-area-inset-right,0px));top:calc(env(safe-area-inset-top,0px) + 84px);display:inline-flex;gap:6px;align-items:center;padding:8px 14px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(0,0,0,.25);color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(6px)}.hero-sound:hover{background:rgba(255,255,255,.16)}.hero-sound b{font-weight:600}.status{background:#fff;color:var(--ink);border:0;font-weight:600;font-size:13px;padding:9px 16px;backdrop-filter:none;box-shadow:0 6px 22px rgba(0,0,0,.28)}.status i{width:9px;height:9px;background:#1f9d55;box-shadow:0 0 0 3px rgba(31,157,85,.18)}:root[data-status=sold] .status,:root[data-status=leased] .status{background:var(--accent);color:#fff}
.logocard{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:10px;box-shadow:0 8px 26px rgba(0,0,0,.25);max-width:min(280px,60vw)}.logocard .lg{display:block;height:44px;max-width:248px;background-repeat:no-repeat}.logocard.big{box-shadow:none;border:1px solid var(--line);padding:14px 22px}.logocard.big .lg{height:62px;max-width:260px}
.agent{padding-block:24px;background:var(--bg)}.agent .wrap{justify-content:space-between;gap:20px 36px}.agent-who{display:flex;align-items:center;gap:20px;min-width:0;flex:1 1 360px}.agent-id span{display:block;margin-top:4px}.agent-contact{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:10px}.agent-contact a{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-size:15px;font-weight:500}.agent-contact a:hover{color:var(--accent)}.agent-contact svg{color:var(--accent);flex:none}.agent-brand{flex:none}.agent .contactline{display:none}
.media2{padding-block:clamp(48px,6vw,84px) clamp(36px,4vw,56px);background:var(--alt)}.media2 .msub{color:var(--muted);margin:12px 0 0;max-width:60ch}.mcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}.mcards[data-n="1"]{grid-template-columns:minmax(0,560px)}.mcards[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.mcard{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(15,22,38,.06),0 10px 30px rgba(15,22,38,.07);display:flex;flex-direction:column}.mcard[hidden]{display:none}
.mthumb{position:relative;display:block;width:100%;aspect-ratio:16/11;border:0;padding:0;margin:0;background:#e9ecf1;cursor:pointer;overflow:hidden}.mthumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.mthumb:hover img{transform:scale(1.04)}.mthumb.light{background:#fff}.mthumb.light img{object-fit:contain;padding:14px}.mthumb.dark{background:#0f1626}.mthumb.svgplan{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%3Cg fill='none' stroke='%23384252' stroke-width='1.6'%3E%3Crect x='10' y='8' width='100' height='64'/%3E%3Cpath d='M55 8v38M10 46h70M80 46v26M80 30h30'/%3E%3C/g%3E%3C/svg%3E") center/62% no-repeat}
.mic{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(15,22,38,.55);border:2px solid rgba(255,255,255,.9);backdrop-filter:blur(4px);transition:transform .25s}.mthumb:hover .mic{transform:translate(-50%,-50%) scale(1.08)}.mthumb.light .mic{background:rgba(15,22,38,.78)}
.mbody{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}.mk{font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}.mbody p{margin:0 0 10px;color:var(--muted)}.mbody .btn{display:inline-flex;margin-top:auto;align-self:stretch;background:var(--ink);color:#fff;letter-spacing:.08em;text-transform:uppercase;font-size:13px;padding:13px 18px}.mbody .btn:hover{background:var(--accent)}
@media (max-width:760px){.mcards,.mcards[data-n="2"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mcards[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.mthumb{aspect-ratio:3/4}.mic{width:46px;height:46px}.mic svg{width:18px;height:18px}.mbody{padding:12px 8px 12px;align-items:center;text-align:center;gap:10px}.mbody p{display:none}.mk{font-size:11px;letter-spacing:.12em}.mbody .btn{font-size:11px;padding:10px 8px}.mbody .btn span{display:none}}
.gal2{padding-bottom:clamp(40px,5vw,72px)}.gal-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gal-actions .btn{display:inline-flex}
.car{position:relative;margin-top:26px}.car-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px max(16px,calc((100vw - min(1100px,78vw))/2));outline:0;-webkit-overflow-scrolling:touch}.car-track::-webkit-scrollbar{display:none}
.slide2{flex:0 0 min(1100px,78vw);aspect-ratio:3/2;margin:0;position:relative;border-radius:12px;overflow:hidden;scroll-snap-align:center;background:#e9ecf1;cursor:pointer;transform:scale(.92);filter:blur(1.5px) brightness(.82);transition:transform .45s ease,filter .45s ease}.slide2.on{transform:none;filter:none;cursor:zoom-in;box-shadow:0 18px 50px rgba(15,22,38,.18)}.slide2 img{width:100%;height:100%;object-fit:cover;display:block}
.slide2 .zoom{position:absolute;right:14px;bottom:14px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(15,22,38,.6);color:#fff;display:grid;place-items:center;opacity:0;transition:opacity .3s}.slide2.on .zoom{opacity:1}.slide2 figcaption{position:absolute;left:14px;bottom:14px;background:rgba(15,22,38,.6);color:#fff;font-size:13px;padding:6px 12px;border-radius:999px;opacity:0;transition:opacity .3s}.slide2.on figcaption{opacity:1}
.car-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:28px;line-height:1;box-shadow:0 6px 20px rgba(0,0,0,.18);z-index:2;cursor:pointer}.car-nav.prev{left:max(12px,calc((100vw - min(1100px,78vw))/2 - 25px))}.car-nav.next{right:max(12px,calc((100vw - min(1100px,78vw))/2 - 25px))}.car-nav:hover{background:var(--ink);color:#fff}
.car-meta{display:flex;justify-content:center;margin:16px 0 10px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--muted)}
.car-thumbs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px;justify-content:flex-start}.car-thumbs::-webkit-scrollbar{display:none}.th{flex:0 0 112px;aspect-ratio:3/2;border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;background:#e9ecf1;cursor:pointer;opacity:.6;transition:opacity .2s,border-color .2s}.th img{width:100%;height:100%;object-fit:cover;display:block}.th.on,.th:hover{opacity:1}.th.on{border-color:var(--accent)}
@media (max-width:760px){.car-track{gap:10px;padding-inline:7vw}.slide2{flex-basis:86vw;border-radius:10px;transform:scale(.94)}.car-nav{width:38px;height:38px;font-size:22px}.car-nav.prev{left:8px}.car-nav.next{right:8px}.th{flex-basis:84px}.gal-actions .btn{padding:9px 14px;font-size:13px}}
.modal{position:fixed;inset:0;z-index:90;background:rgba(10,12,16,.72);backdrop-filter:blur(4px);display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top,0)) 12px}.modal[hidden]{display:none}.mbox{background:#fff;border-radius:14px;width:min(1100px,100%);max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4)}.mbox.full{width:min(1400px,100%);height:calc(100vh - 24px)}.mbox.wide{width:min(1400px,100%)}
.mbox header{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.mbox header h3{margin:0;font-family:var(--display);font-weight:var(--dw,400);font-size:24px;margin-right:auto}.mbox header .chips{margin:0}.mbox header .btn{display:inline-flex}.mclose{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:16px;cursor:pointer}.mclose:hover{background:var(--ink);color:#fff}
.mscroll{overflow:auto;padding:18px;flex:1}.mscroll .mosaic{margin-top:0}.mbox .plan-wrap{margin-top:0}.tourframe{position:relative;aspect-ratio:16/9;max-height:calc(100vh - 110px);background:#0f1626}.tourframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
body.noscroll{overflow:hidden}.lb{z-index:120}
.mapbox.gl{touch-action:auto;cursor:auto}.mapbox.gl .world,.mapbox.gl .mapui{display:none}.mapbox .glmap{position:absolute!important;inset:0;z-index:2;width:100%;height:100%}.mapbox.gl .attrib{display:none}.mapbox .mapcard{z-index:4}
.glhome .h{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.glpin{border:0;background:0 0;padding:0;cursor:pointer;display:flex;align-items:center;gap:6px}.glpin .dot{width:30px;height:30px;border-radius:50%;background:var(--c);display:grid;place-items:center;border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.25);transition:transform .2s}.glpin .tip{display:none;background:#fff;color:var(--ink);font:600 12px var(--body);padding:5px 9px;border-radius:6px;box-shadow:0 3px 12px rgba(0,0,0,.18);white-space:nowrap}.glpin:hover .tip,.glpin.sel .tip{display:block}.glpin.sel .dot,.glpin:hover .dot{transform:scale(1.18)}.glpin.off{display:none}
@media (max-width:600px){.logocard{padding:8px 12px}.logocard .lg{height:34px;max-width:190px}.logocard.big .lg{height:48px}.agent-who{flex-basis:100%}.agent-brand{width:100%}.agent-contact a{font-size:14px}.mbox header h3{font-size:20px}}
.pmosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(120px,12.5vw,210px);gap:8px;margin-top:26px}
.pmosaic .tile{grid-column:span 2;cursor:zoom-in}
.pmosaic .tile:nth-child(1){grid-column:span 4;grid-row:span 2}
.pmosaic .tile:nth-child(7),.pmosaic .tile:nth-child(8){grid-column:span 3}
.pmosaic[data-n="7"] .tile:nth-child(7){grid-column:span 6}
.pmosaic .more{position:absolute;inset:0;background:rgba(15,22,38,.55);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:600;letter-spacing:.02em}
.pmosaic .more.m{display:none}
.viewer{background:#0d1017;backdrop-filter:none;display:flex;flex-direction:column;padding:0;--sw:min(1180px,80vw,calc((100vh - 230px)*1.5))}
.viewer .vhead{display:flex;align-items:center;gap:14px;padding:14px 20px;color:#fff}
.viewer .vhead .num{font-family:var(--mono);font-size:13px;letter-spacing:.14em;min-width:80px}
.viewer .chips{margin:0 auto;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;max-width:calc(100vw - 200px)}
.viewer .chips::-webkit-scrollbar{display:none}
.viewer .chip{background:rgba(255,255,255,.08);color:#d7dbe3;border:1px solid rgba(255,255,255,.14);white-space:nowrap}
.viewer .chip[aria-pressed=true]{background:#fff;color:#0d1017}
.viewer .mclose{margin-left:auto;background:rgba(255,255,255,.1);color:#fff;border:0}
.viewer .car{flex:1;display:flex;align-items:center;margin:0;min-height:0}
.viewer .car-track{width:100%;padding:6px calc((100vw - var(--sw))/2)}
.viewer .slide2{flex-basis:var(--sw);background:#1a1f2a;filter:blur(1.5px) brightness(.5)}
.viewer .slide2.on{filter:none;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.viewer .car-nav.prev{left:max(12px,calc((100vw - var(--sw))/2 - 25px))}
.viewer .car-nav.next{right:max(12px,calc((100vw - var(--sw))/2 - 25px))}
.viewer .car-thumbs{padding:14px 20px 18px;justify-content:safe center}
.viewer .th{background:#1a1f2a}
@media (max-width:760px){
.pmosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:120px;gap:6px;margin-top:20px}
.pmosaic .tile,.pmosaic .tile:nth-child(7),.pmosaic .tile:nth-child(8){grid-column:span 1}
.pmosaic .tile:nth-child(1){grid-column:span 2;grid-row:span 2}
.pmosaic .tile:nth-child(n+6){display:none}
.pmosaic .more.d{display:none}.pmosaic .more.m{display:grid}
.viewer{--sw:94vw}
.viewer .chips{display:none}
.viewer .car-thumbs{justify-content:flex-start}
}
.viewer .car{width:100%;min-width:0}
.viewer .car-track{flex:1 1 auto;min-width:0}
.viewer .vhead{display:grid;grid-template-columns:1fr auto 1fr}
.viewer .vhead .mclose{justify-self:end;margin:0}
.viewer .chips{margin:0;max-width:calc(100vw - 260px)}
.viewer{place-items:stretch;align-items:stretch}
.viewer .vhead{width:100%;box-sizing:border-box}
.viewer .car-thumbs{justify-content:flex-start;width:100%;box-sizing:border-box}
.pmosaic .more{font-family:var(--body);font-size:19px;letter-spacing:0;text-transform:none;text-shadow:none;left:0;bottom:0}
.media2{padding-top:clamp(56px,7vw,100px)!important}
.hero-tags{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.hero-photos{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(15,22,38,.38);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font:600 14px/1 var(--body);cursor:pointer;transition:background .2s}
.hero-photos:hover{background:rgba(15,22,38,.6)}
.mbar{display:none}
@media (max-width:760px){
.mbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(15,22,38,.08);transform:translateY(110%);transition:transform .3s ease}
.mbar.on{transform:none}
.mbar .mbook{flex:1;justify-content:center;display:flex;align-items:center;padding:14px;font-size:16px}
.mbar .mcall{flex:none;width:50px;height:50px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);background:#fff}
body.has-mbar{padding-bottom:76px}
body.has-mbar .dock{bottom:calc(84px + env(safe-area-inset-bottom,0))}
.hero-photos{padding:8px 13px;font-size:13px}
}
.hero .topbar .brandmark:empty{display:none}
.specs{padding:clamp(56px,7vw,100px) 0;border-top:1px solid var(--line)}
.sp-grid{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(28px,4vw,64px);margin-top:28px;align-items:start}
.sp-total b{display:block;font-family:var(--display);font-weight:var(--dw,400);font-size:clamp(48px,5vw,68px);line-height:1;letter-spacing:-.02em}
.sp-total span{display:block;margin-top:8px;color:var(--muted);font-size:14px}
.sp-floors{list-style:none;padding:0;margin:26px 0 0;border-top:1px solid var(--line)}
.sp-floors li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.sp-floors li b{font-weight:500}
.sp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.sp-facts b{display:block;font-family:var(--display);font-weight:var(--dw,400);font-size:28px;line-height:1}
.sp-facts span{font-size:13px;color:var(--muted)}
.sp-gate{margin-top:26px;padding:18px;border-radius:14px;background:var(--alt)}
.sp-gate label{display:block;font-weight:600;font-size:14px;margin-bottom:10px}
.sp-gate div{display:flex;gap:8px}
.sp-gate input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit;background:#fff}
.sp-gate .btn{display:inline-flex;flex:none}
.sp-gate .note{margin:10px 0 0;font-size:14px}
.sp-gate .note a{color:var(--accent);font-weight:600}
.sp-rooms .chips{margin:0 0 14px}
.sp-table{width:100%;border-collapse:collapse;font-size:15px}
.sp-table th{text-align:left;font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 0 12px;border-bottom:1px solid var(--line)}
.sp-table td{padding:13px 0;border-bottom:1px solid var(--line)}
.sp-table td:first-child{font-weight:500}
.sp-table .r{text-align:right}
.sp-table tr.ext td{color:var(--muted)}
.sp-table tr.ext td:first-child{font-weight:400}
.sp-more{margin:12px 0 0;font-size:13px;color:var(--muted)}
@media (max-width:860px){.sp-grid{grid-template-columns:minmax(0,1fr)}.sp-rooms{order:-1}.sp-table{font-size:14px}}
.sp-gate label{font-family:var(--body);letter-spacing:0;text-transform:none;color:var(--ink);font-size:15px}
.sp-gate div{flex-direction:column}
.sp-gate input{width:100%;box-sizing:border-box;height:46px}
.sp-gate .btn{justify-content:center;width:100%}
.sp-gate{display:block}
.socials{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.socials a{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--ink);border:1px solid var(--line);background:#fff;transition:background .15s,color .15s,border-color .15s}
.socials a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.agent-id .socials{margin-top:10px}
.rcard{margin-top:28px;border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff;box-shadow:0 10px 30px rgba(15,22,38,.06);max-width:460px}
.rc-who{display:flex;gap:14px;align-items:center}
.rc-photo{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--alt);display:grid;place-items:center;font-weight:600;color:var(--muted)}
.rc-who strong{display:block;font-family:var(--display);font-weight:var(--dw,400);font-size:22px;line-height:1.15}
.rc-who span{display:block;font-size:13.5px;color:var(--muted);margin-top:3px}
.rc-lines{display:grid;gap:8px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
.rc-lines a{display:inline-flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none;font-size:15px;overflow-wrap:anywhere}
.rc-lines a svg{flex:none;color:var(--muted)}
.rc-lines a:hover{color:var(--accent)}
.rc-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}
.rc-foot:empty{display:none}
.rc-logo.logocard{margin-left:auto;padding:8px 12px;border-radius:10px;box-shadow:none;border:1px solid var(--line)}
.rc-logo .lg{height:30px}
footer a.au{display:inline-flex;align-items:center;gap:10px;color:var(--muted);text-decoration:none;font-size:13px;letter-spacing:.04em}
footer a.au img{height:48px;width:auto;opacity:.85;transition:opacity .2s}
footer a.au:hover img{opacity:1}
@media (max-width:760px){.agent-brand .logocard{max-width:calc(100vw - 32px)}.agent-brand .logocard .lg{height:34px;max-width:calc(100vw - 64px)}}
.agent-contact{align-items:center}
.socials.inline{display:inline-flex;gap:4px;margin:0;padding-left:16px;border-left:1px solid var(--line)}
.socials.inline a,.socials.rc-soc a{width:28px;height:28px;border:0;background:none}
.socials.inline a:hover,.socials.rc-soc a:hover{background:var(--alt);color:var(--ink)}
.socials.inline svg,.socials.rc-soc svg{width:16px;height:16px}
.agent-id .socials{margin-top:0}
.rc-who{align-items:flex-start}
.rc-who>div:nth-child(2){flex:1;min-width:0;padding-top:6px}
.socials.rc-soc{flex:none;gap:2px;margin-left:auto;padding-top:4px}
.rc-foot{justify-content:flex-start}
.rc-logo.logocard{margin-left:0}
@media (max-width:760px){.socials.inline{padding-left:0;border-left:0;flex-basis:100%;margin-left:-6px}.rc-who{flex-wrap:wrap}.socials.rc-soc{flex-basis:100%;margin:6px 0 0 72px;padding:0}}
.agent-contact .socials a,.agent-contact .socials a svg{color:var(--ink)!important;stroke:currentColor}.agent-contact .socials a:hover{background:var(--alt)}
.rc-logo .lg{height:var(--hc,40px);max-width:260px}
.rc-logo.logocard{padding:12px 16px}
.agent-brand .logocard .lg{height:var(--hb,44px);max-width:260px}
@media (max-width:760px){.agent-brand .logocard .lg{height:calc(var(--hb,44px)*.8)}.rc-logo .lg{max-width:calc(100vw - 110px)}}
.rcard{max-width:none}
.rc-body{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.rc-body .rc-lines{margin:0;padding:0;border:0;min-width:0}
.rc-body .rc-foot{margin:0;flex:none}
#form{grid-template-rows:auto auto 1fr auto;align-self:stretch}
#form .full:has(textarea){display:flex;flex-direction:column}
#form .full:has(textarea) textarea{flex:1}
@media (max-width:860px){.rc-body{flex-direction:column;align-items:flex-start}#form{grid-template-rows:none}}
.hl b{overflow-wrap:break-word;hyphens:auto}
.hl.hl-lg b{font-size:clamp(24px,2.3vw,34px);line-height:1.1}
.hl.hl-xl b{font-size:clamp(20px,1.8vw,27px);line-height:1.15}
.hl{container-type:inline-size}
.hl b{white-space:nowrap;overflow-wrap:normal;hyphens:none}
.hl.hl-lg b,.hl.hl-xl b{font-size:min(clamp(24px,2.3vw,34px),calc(100cqw / (var(--ch) * .66)));line-height:1.1}
.ws{margin-bottom:18px;background:#fff}
.ws .gauge circle.val{stroke:var(--accent)}
.ws-k{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.ws strong{font-family:var(--display);font-weight:var(--dw,400);font-size:22px}
.agent-who .avatar,.rc-photo{object-position:50% 18%}
.hq-card{display:flex;align-items:center;gap:14px;padding:16px 18px;margin-bottom:18px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.hq-card:hover{border-color:var(--accent);box-shadow:0 10px 26px rgba(15,22,38,.08)}
.hq-ic{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft,var(--alt));color:var(--accent)}
.hq-tx{flex:1;min-width:0}.hq-tx b{display:block;font-size:16px}.hq-tx span{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.hq-go{flex:none;font-weight:600;font-size:14px;color:var(--accent)}

/* ---------- showing request time ---------- */
.whenrow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.whenrow[hidden]{display:none}
.whenrow .note{grid-column:1/-1;margin:-4px 0 0;font-size:13px;color:var(--muted)}
@media(max-width:520px){.whenrow{grid-template-columns:1fr}}

/* ---------- booking ---------- */
.rc-body{flex-wrap:wrap}
.rc-book{order:3;flex:1 1 100%;width:100%;gap:8px;margin-top:2px}
.bookframe{height:min(78vh,760px)}
.bookframe iframe{width:100%;height:100%;border:0;background:#fff}

/* ---------- chat by text ---------- */
.chat{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:70;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .35s ease,transform .35s ease;font-family:var(--body)}
.chat.in{opacity:1;transform:none;pointer-events:auto}
body.has-mbar .chat{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
.chat-fab{display:flex;align-items:center;gap:10px;padding:7px 18px 7px 7px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:600 15px var(--body);box-shadow:0 10px 30px rgba(15,22,38,.28);cursor:pointer;position:relative}
.chat-fab:hover{transform:translateY(-1px)}
.chat-fab em{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#e5484d;color:#fff;font:700 12px/20px var(--body);font-style:normal;text-align:center}
.chat-fab.ping{animation:chatPing 1.6s ease-in-out 3}
@keyframes chatPing{0%,100%{transform:none}50%{transform:translateY(-4px)}}
.chat-av{position:relative;flex:none;width:38px;height:38px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:#fff;font-weight:700}
.chat-av img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.chat-av i{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#30a46c;border:2px solid var(--ink)}
.chat-panel{width:min(370px,calc(100vw - 32px));height:min(540px,calc(100vh - 120px));display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(15,22,38,.3);overflow:hidden;border:1px solid var(--line)}
.chat-panel[hidden]{display:none}
.chat-panel header{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:var(--ink);color:#fff}
.chat-panel header .chat-av i{border-color:var(--ink)}
.chat-panel header div{flex:1;min-width:0;line-height:1.3}
.chat-panel header strong{display:block;font-size:16px}
.chat-panel header small{font-size:12.5px;opacity:.75}
.chat-x{width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:15px;cursor:pointer}
.chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--alt)}
.cm{max-width:84%;padding:10px 13px;border-radius:16px;font-size:15px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.cm.agent{align-self:flex-start;background:#fff;color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:5px}
.cm.visitor{align-self:flex-end;background:var(--accent);color:var(--on-accent);border-bottom-right-radius:5px}
.cm.visitor.pending{opacity:.6}
.cm.visitor.err{background:#c4363b}
.cm.sys{background:transparent;border:0;color:var(--muted);font-size:13px;padding:2px 4px;max-width:100%;align-self:center;text-align:center}
.cm.fb p{margin:0 0 10px}
.cm.fb form{display:grid;gap:8px}
.cm.fb input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:15px var(--body)}
.cm.fb .btn{padding:10px 14px}
.chat-in{display:flex;align-items:flex-end;gap:8px;padding:10px;border-top:1px solid var(--line);background:#fff}
.chat-in textarea{flex:1;resize:none;min-height:0;height:44px;border:1px solid var(--line);border-radius:14px;padding:10px 13px;font:15px/1.4 var(--body);max-height:120px;outline:none}
.chat-in textarea:focus{border-color:var(--accent)}
.chat-in button{flex:none;width:42px;height:42px;border-radius:50%;border:0;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;cursor:pointer}
@media(max-width:640px){
  .chat{right:12px}
  .chat-fab b{display:none}
  .chat-fab{padding:5px}
  .chat-av{width:46px;height:46px}
  body.chat-open .chat{left:0;right:0;bottom:0;top:0}
  body.chat-open .chat-panel{width:100%;height:100%;border-radius:0;border:0}
  body.chat-open .mbar{display:none}
}

/* Walk / Transit / Bike scores */
.ws.ws3{display:block}
.ws-main{display:flex;gap:18px;align-items:center}
.ws-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.ws-main+.ws-row{}
.ws-row:first-child{margin-top:0;padding-top:0;border-top:0}
.ws-mini{display:flex;gap:12px;align-items:center}
.ws-mini .gauge b{font-size:19px}
.ws-mini .gauge circle{stroke-width:6}
.ws-mini strong{font-size:15px!important;line-height:1.25}
.ws3>small{margin-top:14px}

/* Neighbourhood (desktop): the scores column runs from the section heading down to the bottom of the map */
@media (min-width:901px){
  #location>.wrap{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);column-gap:28px;grid-template-rows:auto 1fr auto}
  #location .gal-head{grid-column:1;grid-row:1;display:block}
  #location .gal-head .chips{margin-top:20px}
  #location .loc{display:contents}
  #location .mapbox{grid-column:1;grid-row:2;margin-top:28px}
  #location .loc>div:last-child{grid-column:2;grid-row:1 / span 2;position:relative;min-height:460px}
  #location .commute{grid-column:1 / -1;grid-row:3}
  .loc .loc-col{position:absolute;inset:0;display:flex;flex-direction:column;gap:16px;overflow:hidden}
  .loc .loc-col>*{margin:0!important}
  .loc .loc-col .near{flex:1 1 auto;min-height:120px;max-height:none;overflow:auto;border-top:1px solid var(--line)}
}

/* "View the home in more ways": centred heading; cards centred and sized by how many there are */
.media2 .wrap>.eyebrow,.media2 .wrap>h2,.media2 .msub{text-align:center;margin-left:auto;margin-right:auto}
.mcards{margin-left:auto;margin-right:auto}
.mcards[data-n="2"]{max-width:960px}
.mcards[data-n="1"]{grid-template-columns:minmax(0,1fr);max-width:980px}
@media (min-width:761px){
  .mcards[data-n="1"] .mcard:not([hidden]){display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
  .mcards[data-n="1"] .mthumb{aspect-ratio:auto;height:100%;min-height:340px}
  .mcards[data-n="1"] .mbody{padding:36px 36px 34px;justify-content:center;gap:12px}
  .mcards[data-n="1"] .mbody p{font-size:17px}
  .mcards[data-n="1"] .mbody .btn{margin-top:8px;align-self:flex-start;padding:14px 26px}
}
@media (max-width:760px){.mcards[data-n="1"]{grid-template-columns:minmax(0,1fr)}.mcards[data-n="1"] .mthumb{aspect-ratio:16/11}.mcards[data-n="1"] .mbody p{display:block}}

/* chat button: pick an app */
.chat-pick{height:auto!important}
.chat-body{padding:18px 18px 16px;background:#fff}
.chat-body p{margin:0 0 14px;font-size:15px;line-height:1.5;color:var(--ink)}
.chat-apps{display:grid;gap:8px}
.chat-app{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px;transition:border-color .2s,background .2s}
.chat-app span{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;background:var(--c);flex:none}
.chat-app em{margin-left:auto;font-style:normal;color:var(--muted)}
.chat-app:hover{border-color:var(--c);background:var(--alt)}
.chat-note{display:block;margin-top:12px;font-size:12px;color:var(--muted);text-align:center}
@media(max-width:640px){body.chat-open .chat{top:auto;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}body.chat-open .chat-panel{width:100%;height:auto;border-radius:18px;border:1px solid var(--line)}}

/* BrokerBay button (contact card) */
.rc-bb{order:4;flex:1 1 100%;width:100%;gap:8px;margin-top:-6px;background:#fff;color:var(--ink);border:1px solid var(--line)}
.rc-bb:hover{border-color:var(--ink)}

/* BrokerBay at the top */
.hero-bb{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:999px;background:rgba(255,255,255,.96);color:#0f1626;text-decoration:none;font-size:14px;line-height:1.2;box-shadow:0 6px 20px rgba(0,0,0,.18);transition:transform .2s}
.hero-bb:hover{transform:translateY(-1px)}
.hero-bb .bbi{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent,#1e3a5f);color:#fff;flex:none}
.hero-bb b{font-weight:700}
.quick .quick-bb{gap:8px;padding:10px 16px;margin-right:8px;background:#fff;color:var(--ink);border:1px solid var(--line)}
.quick .quick-bb:hover{border-color:var(--ink)}
@media(max-width:900px){.quick .quick-bb{display:none}}
@media(max-width:600px){.hero-bb{font-size:13px;padding-right:12px}}

/* BrokerBay buttons: soft filled in the listing's accent colour */
.quick .quick-bb,.rc-bb{background:color-mix(in srgb,var(--accent,#1e3a5f) 13%,#fff)!important;color:var(--accent,#1e3a5f)!important;border:0!important;font-weight:600}
.quick .quick-bb:hover,.rc-bb:hover{background:color-mix(in srgb,var(--accent,#1e3a5f) 20%,#fff)!important}
.rc-bb svg,.quick .quick-bb svg{color:var(--accent,#1e3a5f)}
.hero-bb{background:color-mix(in srgb,var(--accent,#1e3a5f) 13%,#fff);color:var(--accent,#1e3a5f);font-weight:500}
.hero-bb b{color:var(--accent,#1e3a5f)}

/* four media cards */
.mcards[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1180px) and (min-width:761px){.mcards[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px}}
@media (max-width:760px){.mcards[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* follow this home */
#followCard .follow{display:flex;gap:8px;margin-top:14px}
#followCard .follow input{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius,8px);font:inherit;font-size:15px;background:#fff}
#followCard .follow .btn{flex:none;padding:12px 18px}
#followCard .fine{font-size:12px;color:var(--muted);margin:10px 0 0}
#followCard .note{margin-top:14px}
@media(max-width:420px){#followCard .follow{flex-direction:column}}
#followCard:not([hidden]){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,460px);column-gap:32px;align-items:center}
#followCard h3{grid-column:1;grid-row:1}
#followCard .sub{grid-column:1;grid-row:2;margin-bottom:0}
#followCard .follow{grid-column:2;grid-row:1;margin-top:0}
#followCard .fine{grid-column:2;grid-row:2;margin-top:6px}
#followCard .note{grid-column:2;grid-row:1/span 2;margin:0}
@media(max-width:760px){#followCard:not([hidden]){display:block}#followCard .follow{margin-top:14px}}
