/* The v2 condo page (resources/views/bof/directory/condo-v2.blade.php), from the
   StackedCondoPage design. Loaded on that page only, after directory.css; tokens
   (--f-display, --f-body, colours) come from bof/ed/tokens. Mobile below 760px. */
.cv2 {
  --cv2-ink:#241F1A; --cv2-body:#2B2822; --cv2-muted:#6E6456; --cv2-faint:#8A8172;
  --cv2-line:#D8CDB6; --cv2-rule:#E4DECF; --cv2-dark:#2A2620; --cv2-card:#F2EBDC; --cv2-panel:#E9E2D2;
  --cv2-teal:#1E7568; --cv2-teal-line:#9FCFC5; --cv2-red:#B0381C; --cv2-gap:72px;
  color:var(--cv2-ink); font-family:var(--f-body);
}
.cv2 a { color:inherit; text-decoration:none }
.cv2 a:hover { color:var(--cv2-teal) }
.cv2 p { margin:0 }

/* shared type */
.cv2-sw { flex:none; display:inline-block; width:8px; height:8px }
.cv2-sw--sm { width:7px; height:7px }
.cv2-kick { display:flex; align-items:center; gap:9px }
.cv2-kick__t { font:700 10px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--cv2-red) }
.cv2-kick__t--muted { color:var(--cv2-muted) }
.cv2-kick__t--red { font-size:9.5px; color:var(--cv2-red) }
.cv2-h1 { font:400 62px/1.02 var(--f-display); letter-spacing:-.022em; margin:14px 0 0; text-wrap:balance }
.cv2-h2 { font:400 40px/1.04 var(--f-display); letter-spacing:-.02em; margin:18px 0 0; text-wrap:balance }
.cv2-src { font:400 11.5px/1.4 var(--f-body); color:var(--cv2-faint); margin-top:12px !important }
.cv2-label { font:700 10px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--cv2-muted) }
.cv2-note { font:400 12.5px/1.45 var(--f-body); color:var(--cv2-faint); margin-top:6px }
.cv2-note--basis { margin-top:14px; color:var(--cv2-muted) }
.cv2-note__link { color:var(--cv2-teal) !important; border-bottom:1px solid var(--cv2-teal-line); font-weight:700 }
.cv2-intro { font:400 14.5px/1.55 var(--f-body); color:var(--cv2-body); margin-top:10px !important; max-width:960px }
.cv2-more { display:inline-block; font:700 10px/1.2 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cv2-teal) !important; border-bottom:1px solid var(--cv2-teal-line); padding-bottom:4px }
.cv2-m { display:none }

/* section opener: "02 — Prices" with a rule */
.cv2-sec { padding-top:var(--cv2-gap) }
.cv2-sec--last { padding-bottom:8px }
.cv2-band { display:flex; align-items:center; gap:10px }
.cv2-band__t { font:700 10px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--cv2-muted) }
.cv2-band i { flex:1; height:1px; background:var(--cv2-line) }
.cv2-sub { margin-top:32px }

/* hero */
.cv2-hero { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:32px 44px; align-items:start; padding-top:34px }
.cv2-hero__main, .cv2-hero__side { min-width:0 }
.cv2-hero__side { display:flex; flex-direction:column; gap:20px }
.cv2-place { font:700 10px/1.4 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--cv2-muted); margin-top:12px }
.cv2-summary { font:400 16.5px/1.55 var(--f-body); color:var(--cv2-body); margin-top:16px !important; max-width:680px; text-wrap:pretty }
.cv2-hero__main > .cv2-src { margin-top:8px !important }
.cv2-glance { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); margin-top:24px; border-top:1px solid var(--cv2-dark); border-bottom:1px solid var(--cv2-line) }
.cv2-glance > div { padding:14px 14px 14px 0; min-width:0 }
.cv2-glance__v { font:400 28px/1.05 var(--f-display); letter-spacing:-.015em }
.cv2-glance__l { font:700 9.5px/1.3 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cv2-muted); margin-top:8px }
.cv2-photo { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; margin-top:24px; background:var(--cv2-panel) }
.cv2-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px }
.cv2-act { display:inline-flex; align-items:center; gap:10px; min-height:44px; box-sizing:border-box; border:1px solid var(--cv2-dark); font:700 10.5px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; padding:0 20px; transition:background .15s,color .15s }
.cv2 .cv2-act:hover { background:var(--cv2-dark); color:#F5F0E4 }
.cv2-act--primary { background:#FC9046; border-color:#FC9046 }

.cv2-facts { background:var(--cv2-card); padding:20px 20px 16px }
.cv2-facts__list { display:flex; flex-direction:column; margin:12px 0 0 }
.cv2-facts__list > div { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:11px 0; border-bottom:1px solid var(--cv2-line); font:400 13.5px/1.35 var(--f-body) }
.cv2-facts__list dt { flex:none; color:var(--cv2-muted) }
.cv2-facts__list dd { margin:0; text-align:right; min-width:0; overflow-wrap:anywhere }
.cv2-facts__fac { padding:12px 0 2px; font:400 13px/1.5 var(--f-body) }
.cv2-facts__fac > div:first-child { color:var(--cv2-muted) }
.cv2-facts__fac > div + div { margin-top:4px }
.cv2-advisory { border:1px solid var(--cv2-dark); padding:20px }
.cv2-advisory .cv2-kick { gap:7px }
.cv2-advisory__h { font:400 23px/1.12 var(--f-display); letter-spacing:-.012em; margin-top:10px !important }
.cv2-advisory .cv2-more { margin-top:14px }

/* prices */
.cv2-period { font:700 10px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--cv2-faint); margin-top:12px }
.cv2-figs { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); margin-top:14px; border-top:1px solid var(--cv2-dark) }
.cv2-fig { padding:16px 16px 16px 0; border-bottom:1px solid var(--cv2-rule); min-width:0 }
.cv2-fig__v { font:400 30px/1.05 var(--f-display); letter-spacing:-.015em }
.cv2-fig__l { font:400 12.5px/1.35 var(--f-body); color:var(--cv2-muted); margin-top:6px }
.cv2-sec .cv2-sub:first-of-type { margin-top:30px }
.cv2-list, .cv2-table { margin-top:12px; border-top:1px solid var(--cv2-dark) }
.cv2-ind { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 28px; padding:14px 0; border-bottom:1px solid var(--cv2-rule); font:400 14.5px/1.3 var(--f-body) }
.cv2-ind__bed { flex:1 1 200px; display:flex; align-items:center; gap:10px }
.cv2-ind__name { font:400 23px/1.1 var(--f-display); border-bottom:1px solid var(--cv2-line) }
.cv2-ind__from { flex:0 1 130px; font-weight:700 }
.cv2-ind__psf { flex:0 1 190px }
.cv2-ind__avail { flex:0 1 150px; color:var(--cv2-muted) }

.cv2-chart { position:relative; height:280px; margin-top:10px }
.cv2-chart__plot { position:absolute; left:52px; right:26px; top:28px; bottom:30px }
.cv2-chart__grid { position:absolute; left:0; right:0; border-top:1px solid var(--cv2-rule) }
.cv2-chart__grid--base { border-top-color:var(--cv2-dark) }
.cv2-chart__ax { position:absolute; left:-52px; transform:translateY(-50%); font:400 11px/1 var(--f-body); color:var(--cv2-faint) }
.cv2-chart svg { position:absolute; left:0; top:0; width:100%; height:100%; overflow:visible }
.cv2-pt { position:absolute; width:0; height:0 }
.cv2-pt i { position:absolute; left:-5px; top:-5px; width:10px; height:10px; box-sizing:border-box; border-radius:50%; background:var(--cv2-teal); border:2px solid #F5F0E4 }
.cv2-pt span { position:absolute; left:0; bottom:10px; transform:translateX(-50%); font:700 11px/1 var(--f-body); white-space:nowrap }
.cv2-pt--first span { transform:translateX(-20%) }
.cv2-pt--last span { transform:translateX(-80%) }
.cv2-chart__yr { position:absolute; top:calc(100% + 12px); transform:translateX(-50%); font:400 11px/1 var(--f-body); color:var(--cv2-muted); white-space:nowrap }
.cv2-chart__yr b { font-weight:400 }
.cv2-chart__yr em { display:none; font-style:normal }
.cv2-trend-grid { display:none }

.cv2-sale { display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:16px; padding:13px 0; border-bottom:1px solid var(--cv2-rule); font:400 14.5px/1.3 var(--f-body) }
.cv2-bed { display:grid; grid-template-columns:1.1fr .8fr .9fr 1.5fr 1.2fr; gap:16px; padding:13px 0; border-bottom:1px solid var(--cv2-rule); font:400 14.5px/1.3 var(--f-body); font-variant-numeric:tabular-nums }
.cv2-bed__t { font-weight:700 }
.cv2-bed--head { padding:10px 0; border-bottom-color:var(--cv2-line); font:700 9.5px/1.2 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cv2-faint) }
.cv2-tabs--cmp { margin-top:12px }
.cv2-cmp-panel { margin-top:14px }
.cv2-cmp-panel .cv2-note { margin-top:0 }
.cv2-sale--head { padding:10px 0; border-bottom-color:var(--cv2-line); font:700 9.5px/1.2 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cv2-faint) }

.cv2-cmp { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) 128px; gap:8px 20px; align-items:center; padding:12px 0; border-bottom:1px solid var(--cv2-rule); font:400 14px/1.3 var(--f-body) }
.cv2-cmp__name { min-width:0 }
.cv2-cmp__n { border-bottom:1px solid var(--cv2-line) }
div.cv2-cmp .cv2-cmp__n { border-bottom-color:transparent }
.cv2-cmp--hi .cv2-cmp__n { font-weight:700; border-bottom-color:transparent }
.cv2-cmp__meta { display:block; font-size:12px; color:var(--cv2-muted); margin-top:3px }
.cv2-cmp__bar { height:8px; background:var(--cv2-panel); position:relative }
.cv2-cmp__bar i { position:absolute; left:0; top:0; bottom:0; background:var(--cv2-dark) }
.cv2-cmp--hi .cv2-cmp__bar i { background:var(--cv2-red) }
.cv2-cmp__psf { text-align:right; font-weight:700; font-variant-numeric:tabular-nums }
.cv2-cmp__psf small, .cv2-near__v small { display:block; font-weight:400; font-size:12px; color:var(--cv2-muted); margin-top:3px }

.cv2-quiets { margin-top:22px }
.cv2-quiet { display:grid; grid-template-columns:200px minmax(0,1fr); gap:4px 24px; align-items:baseline; padding:13px 0; border-top:1px solid var(--cv2-rule) }
.cv2-quiet > span:first-child { font:700 9.5px/1.3 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cv2-faint) }
.cv2-quiet > span + span { font:400 14px/1.5 var(--f-body); color:var(--cv2-muted) }
.cv2-quiet--under { border-top:0; border-bottom:1px solid var(--cv2-rule) }

/* lease */
.cv2-lease { margin-top:22px; padding-top:20px; border-top:1px solid var(--cv2-dark); max-width:560px }
.cv2-lease__big { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap }
.cv2-lease__big span:first-child { font:400 60px/1 var(--f-display); letter-spacing:-.03em }
.cv2-lease__big span + span { font:400 20px/1 var(--f-display) }
.cv2-lease__bar { height:10px; background:var(--cv2-panel); margin-top:18px }
.cv2-lease__bar i { display:block; height:100%; background:var(--cv2-dark) }
.cv2-lease__ends { display:flex; justify-content:space-between; margin-top:8px; font:400 12px/1 var(--f-body); color:var(--cv2-muted) }
.cv2-lease__t { font:400 14.5px/1.55 var(--f-body); color:var(--cv2-body); margin-top:16px !important }

/* unit mix */
.cv2-mix { margin-top:20px; border-top:1px solid var(--cv2-dark) }
.cv2-mix__head, .cv2-mix__main { display:grid; grid-template-columns:minmax(0,1.4fr) 1fr 1.4fr 1fr 32px; gap:16px }
.cv2-mix--nounits .cv2-mix__head, .cv2-mix--nounits .cv2-mix__main { grid-template-columns:minmax(0,1.4fr) 1fr 1.4fr 32px }
.cv2-mix__head { padding:10px 0; border-bottom:1px solid var(--cv2-line); font:700 9.5px/1.2 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cv2-faint) }
.cv2-mix__row { padding:16px 0; border-bottom:1px solid var(--cv2-line) }
.cv2-mix__main { align-items:baseline; font:400 14.5px/1.3 var(--f-body) }
.cv2-mix__bed { display:flex; align-items:center; gap:10px; min-width:0 }
.cv2-mix__name { font:400 24px/1.1 var(--f-display); letter-spacing:-.012em; border-bottom:1px solid var(--cv2-line) }
.cv2-mix__go { text-align:right; color:var(--cv2-teal) }
.cv2-mix__line { display:none }
.cv2-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px }
.cv2-chip { display:inline-flex; flex-wrap:wrap; align-items:center; gap:4px 8px; min-height:32px; padding:6px 10px; box-sizing:border-box; border:1px solid var(--cv2-line); background:var(--cv2-card); font:400 12.5px/1.1 var(--f-body) }
.cv2 .cv2-chip:hover { border-color:var(--cv2-teal); color:inherit }
.cv2-chip__m { color:var(--cv2-muted) }
.cv2-chip__f { color:var(--cv2-teal) }
.cv2-mix + .cv2-quiet { margin-top:0 }

/* launch progress */
.cv2-prog { display:grid; grid-template-columns:repeat(3,minmax(0,170px)); gap:12px; margin-top:22px; padding-top:20px; border-top:1px solid var(--cv2-dark) }
.cv2-prog__v { font:400 34px/1 var(--f-display); letter-spacing:-.02em }
.cv2-prog__l { font:400 12.5px/1.3 var(--f-body); color:var(--cv2-muted); margin-top:6px }
.cv2-month { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 28px; padding:13px 0; border-bottom:1px solid var(--cv2-rule); font:400 14.5px/1.3 var(--f-body) }
.cv2-month__m { flex:1 1 160px; font:400 21px/1.1 var(--f-display) }
.cv2-month__s { flex:0 1 100px; font-weight:700 }
.cv2-month__t { flex:0 1 110px; color:var(--cv2-muted) }
.cv2-month > span:last-child { flex:0 1 140px }

/* stack plan */
.cv2-legend { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:14px; font:400 12.5px/1 var(--f-body); color:var(--cv2-body) }
.cv2-legend span { display:flex; align-items:center; gap:7px }
.cv2-legend i { width:14px; height:14px; box-sizing:border-box }
.cv2-legend__dash { border:1px dashed var(--cv2-teal) }
.cv2-hint { font:400 13px/1.4 var(--f-body); color:var(--cv2-muted); margin-top:10px !important }
.cv2-blocks { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:28px 48px; margin-top:22px }
.cv2-block { border-top:1px solid var(--cv2-dark); padding-top:14px; min-width:0 }
.cv2-block--wide { grid-column:1 / -1 }
.cv2-block__head { display:flex; justify-content:space-between; align-items:baseline; gap:12px }
.cv2-block__name { font:400 24px/1.1 var(--f-display) }
.cv2-block__note { font:400 12.5px/1.3 var(--f-body); color:var(--cv2-muted); text-align:right }
.cv2-grid { display:grid; grid-auto-rows:46px; gap:3px; margin-top:14px }
.cv2-grid--tall { grid-auto-rows:56px }
.cv2-grid__lbl { display:flex; align-items:center; justify-content:center; font:400 11px/1 var(--f-body); color:var(--cv2-faint) }
.cv2-unit { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; padding:0 2px; margin:0; border:1px solid transparent; box-sizing:border-box; border-radius:0; cursor:pointer; color:var(--cv2-ink); font:700 12.5px/1 var(--f-body); letter-spacing:.04em; overflow:hidden }
.cv2-unit > span { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.cv2-unit__p { font:400 11px/1 var(--f-body); letter-spacing:0 }
.cv2-unit__sub { font:400 10px/1 var(--f-body); color:var(--cv2-teal) }
.cv2-unit--loft { border:1px dashed var(--cv2-teal) }
.cv2-unit--sold { background:var(--cv2-dark); color:#F5F0E4 }
.cv2-unit--sold .cv2-unit__sub { color:var(--cv2-teal-line) }
.cv2-unit[aria-pressed="true"] { border:2px solid var(--cv2-red) }
.cv2-unit:hover { outline:1px solid var(--cv2-dark); outline-offset:-1px }
.cv2-block--dense .cv2-unit { font-size:11px; letter-spacing:0 }
/* big launches: block tabs, and each block's grid in a scroll box with sticky storey and stack labels */
.cv2-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-top:20px }
.cv2-tab { min-height:40px; padding:0 14px; border:1px solid var(--cv2-line); background:transparent; color:var(--cv2-ink); font:700 10.5px/1.2 var(--f-body); letter-spacing:.12em; text-transform:uppercase; cursor:pointer; border-radius:0 }
.cv2-tab:hover { border-color:var(--cv2-dark) }
.cv2-tab[aria-selected="true"] { background:var(--cv2-dark); border-color:var(--cv2-dark); color:#F5F0E4 }
.cv2-blocks--tabbed { grid-template-columns:minmax(0,1fr); margin-top:18px }
.cv2-scroll { max-height:520px; overflow:auto; margin-top:14px; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; border-bottom:1px solid var(--cv2-line) }
.cv2-scroll:focus-visible { outline:2px solid var(--mango, #F5731E); outline-offset:2px }
.cv2-scroll .cv2-grid { margin-top:0; background:#F5F0E4 }
.cv2-scroll .cv2-grid__lbl { background:#F5F0E4; position:sticky; z-index:1 }
.cv2-scroll .cv2-grid__stack { top:0; box-shadow:0 3px 0 #F5F0E4 }
.cv2-scroll .cv2-grid__floor { left:0; box-shadow:3px 0 0 #F5F0E4 }
.cv2-scroll .cv2-grid__corner { top:0; left:0; z-index:2; box-shadow:3px 3px 0 #F5F0E4 }

/* everyday amenities */
.cv2-amen { display:grid; grid-template-columns:130px minmax(0,1fr) auto; gap:4px 16px; align-items:baseline; padding:12px 0; border-bottom:1px solid var(--cv2-rule) }
.cv2-amen__k { font:700 9.5px/1.3 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cv2-faint) }
.cv2-amen__n { font:400 15px/1.3 var(--f-body); min-width:0 }
.cv2-amen__d { font:400 13.5px/1.3 var(--f-body); color:var(--cv2-body); text-align:right; white-space:nowrap }
.cv2-amen__d span { color:var(--cv2-muted) }

/* stack plan + unit details: details in a sticky column on desktop, a bottom sheet below 900px */
.cv2 [hidden] { display:none !important }
.cv2-stackwrap { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:28px 36px; align-items:start; margin-top:4px }
.cv2-stackplan { min-width:0 }
.cv2-detail { position:sticky; top:calc(var(--dir-head-h, 0px) + var(--dir-promo-h, 0px) + 16px); margin-top:22px; padding:16px 18px 18px; background:var(--cv2-card); border-top:2px solid var(--cv2-dark); max-height:calc(100vh - var(--dir-head-h, 0px) - var(--dir-promo-h, 0px) - 32px); overflow:auto; box-sizing:border-box }
.cv2-detail:focus { outline:none }
.cv2-detail__bar { display:none }
.cv2-detail__empty { font:400 14px/1.5 var(--f-body); color:var(--cv2-muted) }
.cv2-detail__where { font:700 9.5px/1.3 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cv2-muted) }
.cv2-detail__title { font:400 23px/1.1 var(--f-display); letter-spacing:-.012em; margin:6px 0 0 }
.cv2-detail__rows { margin:12px 0 0 }
.cv2-detail__rows > div { display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:6px 0; border-bottom:1px solid var(--cv2-line); font:400 13px/1.4 var(--f-body) }
.cv2-detail__rows dt { flex:none; color:var(--cv2-muted) }
.cv2-detail__rows dd { margin:0; text-align:right; min-width:0 }
.cv2-detail__rows dd.is-sold { font-weight:700 }
.cv2-detail__img { margin:12px 0 0; background:#fff; border:1px solid var(--cv2-line) }
.cv2-detail__img img { display:block; width:100%; height:130px; object-fit:contain }
@media (max-width:899px) { .cv2-detail__img img { height:220px } }
.cv2-detail .cv2-panel__go { margin-top:12px; width:100%; box-sizing:border-box }
.cv2 .cv2-panel__go { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:0 20px; background:var(--cv2-dark); color:#F5F0E4; font:700 10.5px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase }
.cv2 .cv2-panel__go:hover { background:var(--cv2-teal); color:#F5F0E4 }
.cv2-backdrop { display:none }

@media (max-width:899px) {
  .cv2-stackwrap { grid-template-columns:minmax(0,1fr) }
  .cv2-detail { position:fixed; left:0; right:0; bottom:0; top:auto; z-index:10001; margin:0; max-height:70vh; overflow:auto; overscroll-behavior:contain;
    padding:6px 18px calc(20px + env(safe-area-inset-bottom, 0px)); border-top:0; box-shadow:0 -8px 30px rgba(32,27,22,.22);
    transform:translateY(105%); visibility:hidden; transition:transform .25s ease, visibility 0s linear .25s }
  .cv2-detail.is-open { transform:translateY(0); visibility:visible; transition:transform .25s ease }
  .cv2-detail__bar { display:flex; align-items:center; justify-content:center; position:sticky; top:-6px; margin:0 -18px 6px; padding:8px 18px 4px; background:var(--cv2-card) }
  .cv2-detail__grip { width:40px; height:4px; border-radius:2px; background:var(--cv2-line) }
  .cv2-detail__close { position:absolute; right:10px; top:2px; width:44px; height:44px; border:0; background:transparent; color:var(--cv2-ink); font:400 28px/1 var(--f-body); cursor:pointer }
  .cv2-detail__empty { display:none }
  .cv2-backdrop { display:block; position:fixed; inset:0; z-index:10000; background:rgba(32,27,22,.4); opacity:0; transition:opacity .25s ease }
  .cv2-backdrop.is-open { opacity:1 }
  html.cv2-sheet-open { overflow:hidden }
}
@media (prefers-reduced-motion:reduce) { .cv2-detail, .cv2-detail.is-open, .cv2-backdrop { transition:none } }

/* location */
.cv2-loc { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:28px 48px; margin-top:22px; align-items:start }
.cv2-loc--nomap { grid-template-columns:minmax(0,760px) }
.cv2-loc > div { min-width:0 }
.cv2-colh { font:700 10px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--cv2-muted); padding-bottom:10px; border-bottom:1px solid var(--cv2-dark) }
.cv2-colh--gap { margin-top:28px }
.cv2-mrt { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:48px; padding:8px 0; box-sizing:border-box; border-bottom:1px solid var(--cv2-rule) }
.cv2-mrt__name { display:flex; align-items:center; gap:10px; min-width:0; font:400 15px/1.3 var(--f-body) }
.cv2-mrt__lines { display:flex; gap:3px; flex:none }
.cv2-mrt__lines span { display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:18px; padding:0 3px; box-sizing:border-box; color:#fff; font:700 9.5px/1 var(--f-body); letter-spacing:.06em }
.cv2-mrt__d { flex:none; font:400 13.5px/1.3 var(--f-body); color:var(--cv2-body); text-align:right }
.cv2-mrt__d span { color:var(--cv2-muted) }
.cv2-sch__g { font:700 9.5px/1.2 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cv2-faint); padding:14px 0 4px }
.cv2-sch { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; box-sizing:border-box; border-bottom:1px solid var(--cv2-rule) }
.cv2-sch__name { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; min-width:0; font:400 15px/1.3 var(--f-body) }
.cv2-sch__d { flex:none; font:400 13.5px/1.3 var(--f-body); color:var(--cv2-body) }
.cv2-tag { display:inline-flex; align-items:center; gap:5px; font:700 9px/1 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cv2-red) }
.cv2-tag i { width:6px; height:6px; background:#FC9046 }
.cv2-map { width:100%; aspect-ratio:4/3; background:var(--cv2-panel); border:1px solid var(--cv2-line); box-sizing:border-box; overflow:hidden }
.cv2-map img { display:block; width:100%; height:100%; object-fit:cover }

/* nearby */
.cv2-near { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:28px 40px; margin-top:22px }
.cv2-near > div { min-width:0 }
.cv2-near__i { display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:12px 0; border-bottom:1px solid var(--cv2-rule) }
.cv2-near__b { min-width:0 }
.cv2-near__n { font:400 19px/1.2 var(--f-display) }
a.cv2-near__i .cv2-near__n { border-bottom:1px solid var(--cv2-line) }
.cv2-near__m { display:block; font:400 12.5px/1.3 var(--f-body); color:var(--cv2-muted); margin-top:5px }
.cv2-near__v { flex:none; max-width:45%; text-align:right; font:700 13px/1.3 var(--f-body) }

/* from Stacked */
.cv2-articles { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:24px; margin-top:22px }
.cv2-article { display:block; border-top:1px solid var(--cv2-dark); padding-top:14px }
.cv2-article__k { display:block; font:700 9.5px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--cv2-red) }
.cv2-article__t { display:block; font:400 22px/1.15 var(--f-display); letter-spacing:-.01em; margin-top:8px }
.cv2-article__d { display:block; font:400 13.5px/1.45 var(--f-body); color:var(--cv2-muted); margin-top:6px }
.cv2-article__img { display:block; aspect-ratio:3/2; background:var(--cv2-panel); overflow:hidden }
.cv2-article__img img { display:block; width:100%; height:100%; object-fit:cover }
.cv2-article:hover .cv2-article__t { text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px }
.cv2-article__k { margin-top:14px }
.cv2-article__more { font:400 13.5px/1.45 var(--f-body); color:var(--cv2-muted); margin:18px 0 0 }

/* FAQ */
.cv2-faqs { margin-top:20px; border-top:1px solid var(--cv2-dark); max-width:860px }
.cv2-faq { border-bottom:1px solid var(--cv2-line) }
.cv2-faq summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:12px 0; box-sizing:border-box; cursor:pointer; list-style:none; font:400 20px/1.25 var(--f-display); color:var(--cv2-ink) }
.cv2-faq summary::-webkit-details-marker { display:none }
.cv2-faq summary i { flex:none; font:400 20px/1 var(--f-body); font-style:normal; color:var(--cv2-teal) }
.cv2-faq summary i::before { content:'+' }
.cv2-faq[open] summary i::before { content:'\2013' }
.cv2-faq p { font:400 15px/1.55 var(--f-body); color:var(--cv2-body); padding:0 0 18px; max-width:680px }

@media (max-width:960px) {
  .cv2-hero { grid-template-columns:minmax(0,1fr) }
}

@media (max-width:760px) {
  .cv2 { --cv2-gap:52px }
  .cv2-hero { padding-top:22px }
  .cv2-h1 { font-size:40px; line-height:1.04 }
  .cv2-h2 { font-size:30px; line-height:1.08 }
  .cv2-advisory { display:none }
  .cv2-m { display:inline }

  .cv2-chart { height:220px }
  .cv2-pt:not(.cv2-pt--first):not(.cv2-pt--last) span { display:none }
  .cv2-chart__yr b { display:none }
  .cv2-chart__yr em { display:inline }
  .cv2-trend-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 10px; margin-top:14px; font:400 12.5px/1.3 var(--f-body) }
  .cv2-trend-grid > div > div:first-child { color:var(--cv2-faint) }

  .cv2-sale { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px 10px; padding:12px 0; font-size:14px }
  .cv2-bed { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; padding:12px 0; font-size:14px }
  .cv2-bed--head { display:none }
  .cv2-bed__t { grid-column:1 / -1 }
  .cv2-tab { min-height:36px; padding:0 11px }
  .cv2-sale--head { display:none }
  .cv2-sale__date { grid-column:1 / -1; font:700 9.5px/1.2 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--cv2-faint) }

  .cv2-cmp { grid-template-columns:minmax(0,1fr) auto }
  .cv2-cmp__bar { grid-column:1 / -1; grid-row:2 }

  .cv2-quiet { grid-template-columns:minmax(0,1fr) }

  .cv2-mix__head { display:none }
  .cv2-mix__main, .cv2-mix--nounits .cv2-mix__main { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:0 10px }
  .cv2-mix__main .cv2-d { display:none }
  .cv2-mix__name { font-size:23px }
  .cv2-mix__line { display:block; flex:1 0 100%; font:400 13.5px/1.5 var(--f-body); color:var(--cv2-body); margin-top:8px }

  .cv2-prog { grid-template-columns:repeat(3,minmax(0,1fr)) }

  .cv2-blocks { grid-template-columns:minmax(0,1fr) }
  .cv2-block--dense .cv2-unit__p, .cv2-block--dense .cv2-unit__sub { display:none }
  .cv2-block--dense .cv2-grid { grid-auto-rows:40px }
  .cv2-scroll { max-height:420px }
  .cv2-blocks--tabbed .cv2-block--dense .cv2-unit__p, .cv2-blocks--tabbed .cv2-block--dense .cv2-unit__sub { display:block }
  .cv2-blocks--tabbed .cv2-block--dense .cv2-grid { grid-auto-rows:56px }
  .cv2-blocks--tabbed .cv2-block--dense .cv2-grid:not(.cv2-grid--tall) { grid-auto-rows:46px }
  .cv2-amen { grid-template-columns:minmax(0,1fr) auto }
  .cv2-amen__k { grid-column:1 / -1 }

  .cv2-loc { grid-template-columns:minmax(0,1fr) }
  .cv2-near, .cv2-articles { grid-template-columns:minmax(0,1fr) }
  .cv2-faq summary { font-size:19px }
}

/* From Stacked on phones: a compact list, thumbnail beside the title */
@media (max-width:640px) {
  .cv2-articles { gap:0 }
  .cv2-article { display:grid; grid-template-columns:104px minmax(0,1fr); grid-template-rows:auto 1fr; column-gap:14px; padding:14px 0; border-top:1px solid var(--cv2-rule) }
  .cv2-article:first-child { border-top-color:var(--cv2-dark) }
  .cv2-article__img { grid-row:1 / span 2 }
  .cv2-article__k { margin-top:0 }
  .cv2-article__t { font-size:17px; line-height:1.2; margin-top:6px }
}
