/* ============================================================
   8X SITE CHROME — nav (#siteNav / .v2-nav) + mobile sheet (#navSheet)
   + footer (.site-footer). Extracted from /ld/homepage-v3.css for the
   condo redesign previews. Scoped vars on the chrome roots so they
   don't clash with the condo page's warm-paper design tokens.
   ============================================================ */
.v2-nav, .nav-sheet, #navSheet, .site-footer {
  --brand-red:#BE1E2D; --brand-red-600:#9E1925;
  --graphite:#22242D; --slate-2:#8A8A8A;
  --accent:var(--brand-red); --accent-hover:var(--brand-red-600);
  --fg-1:var(--graphite); --fg-3:var(--slate-2);
  --ink:#181A22;
  --container:1260px; --mi-accent:#E62E2D;
  --mp2-gold:#C9A24B; --mi-ang:360deg;
  --ease-out:cubic-bezier(0.22,1,0.36,1);
  --font-cjk:'Noto Serif SC',ui-serif,serif;
  --font-display:'Poppins','Hanken Grotesk',ui-sans-serif,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --font-sans:'Hanken Grotesk',ui-sans-serif,system-ui,sans-serif;
  --font-serif:'Instrument Serif',ui-serif,Georgia,serif;
}

.site-footer .w {max-width:var(--container);margin:0 auto;padding:0 40px;}
@media(max-width:768px) {
  .site-footer .w {padding:0 20px;}
}
.v2-nav {position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:200;
  width:calc(100% - 28px);max-width:1180px;height:64px;
  display:flex;align-items:center;padding:0 8px 0 18px;gap:18px;
  background:rgba(18,20,28,.55);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border:1px solid rgba(255,255,255,.08);border-radius:18px;
  box-shadow:0 12px 40px -12px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.06) inset;
  transition:background 280ms var(--ease-out),border-color 280ms,box-shadow 280ms,top 240ms var(--ease-out);}
.v2-nav.scrolled {top:10px;background:rgba(14,16,22,.78);border-color:rgba(255,255,255,.12);
  box-shadow:0 18px 50px -14px rgba(0,0,0,.7),0 1px 0 rgba(255,255,255,.08) inset;}
.nav-logo {display:flex;align-items:center;flex-shrink:0;}
.nav-logo img {height:46px;width:auto;display:block;transition:height 220ms var(--ease-out);}
.v2-nav.scrolled .nav-logo img {height:40px;}
.nav-links {display:flex;align-items:center;gap:2px;}
.nav-spacer {flex:1;}
.nav-actions {display:flex;align-items:center;gap:8px;flex-shrink:0;}
.nav-divider {width:1px;height:18px;background:rgba(255,255,255,.12);margin:0 4px;}
.nav-auth {font-size:13px;font-weight:600;letter-spacing:.01em;padding:10px 16px;border-radius:6px;transition:background 180ms,color 180ms,border-color 180ms,box-shadow 180ms;display:inline-flex;align-items:center;gap:6px;}
.nav-login {color:#181a22;background:#fff;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 1px 2px rgba(0,0,0,.18);}
.nav-login:hover {background:#f3f4f6;color:#000;}
.nav-signup {color:#fff;background:var(--accent);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 6px 18px -6px rgba(230,46,45,.55);}
.nav-signup:hover {background:var(--accent-hover);box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 10px 24px -6px rgba(230,46,45,.65);}
.nav-auth svg {transition:transform 180ms;}
.nav-signup:hover svg {transform:translateX(2px);}
.v2-nav .nav-auth-login {background:transparent;color:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.22);font-family:var(--font-sans);font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:none;padding:8px 16px;border-radius:5px;transition:background 180ms var(--ease-out),border-color 180ms var(--ease-out),color 180ms var(--ease-out),box-shadow 180ms var(--ease-out),transform 120ms var(--ease-out);}
.v2-nav .nav-auth-login:hover {background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55);color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.04);}
.v2-nav .nav-auth-login:active {background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.75);transform:translateY(1px);box-shadow:0 0 0 3px rgba(255,255,255,.08);}
.v2-nav .nav-auth-signup {background:var(--accent);color:#fff;border:1px solid var(--accent);font-family:var(--font-sans);font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:none;padding:8px 18px;border-radius:5px;transition:background 180ms var(--ease-out),border-color 180ms var(--ease-out),box-shadow 200ms var(--ease-out),transform 120ms var(--ease-out);}
.v2-nav .nav-auth-signup:hover {background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 8px 22px rgba(190,30,45,.38),0 0 0 3px rgba(190,30,45,.14);}
.v2-nav .nav-auth-signup:active {background:var(--accent-hover);transform:translateY(1px);box-shadow:0 3px 10px rgba(190,30,45,.34);}
.nav-item {position:relative;display:flex;align-items:center;}
.nav-item::after {content:"";position:absolute;left:-12px;right:-12px;top:100%;height:14px;pointer-events:none;}
.nav-item:hover::after,.nav-item:focus-within::after {pointer-events:auto;}
.nav-lnk {font-size:13px;font-weight:500;color:rgba(255,255,255,.62);letter-spacing:.02em;text-transform:lowercase;padding:8px 14px;border-radius:4px;cursor:pointer;transition:color .2s,background .2s;display:flex;align-items:center;gap:4px;white-space:nowrap;}
.nav-lnk:hover,.nav-item:hover .nav-lnk,.nav-item:focus-within .nav-lnk {color:#fff;background:rgba(255,255,255,.06);}
.nav-lnk svg {opacity:.5;transition:opacity .2s,transform .2s;}
.nav-item:hover .nav-lnk svg,.nav-item:focus-within .nav-lnk svg {opacity:1;transform:rotate(180deg);}
.nav-mega {position:absolute;top:calc(100% + 14px);left:-8px;transform:translateY(-8px);
  min-width:780px;max-width:calc(100vw - 48px);
  background:linear-gradient(180deg,rgba(20,22,30,.97),rgba(12,14,20,.97));
  border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:0;overflow:hidden;
  box-shadow:0 32px 80px -16px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.02) inset;
  backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .24s var(--ease-out),transform .24s var(--ease-out),visibility .24s;}
.nav-item:hover .nav-mega,.nav-item:focus-within .nav-mega,.nav-item.is-open .nav-mega {opacity:1;visibility:visible;pointer-events:all;transform:translateY(0);}
.nav-item.mega-right .nav-mega {left:auto;right:-8px;}
.nav-item.mega-wide .nav-mega {position:fixed;top:92px;left:50%;right:auto;
  width:min(1100px,calc(100vw - 28px));min-width:0;max-width:none;
  max-height:calc(100vh - 110px);overflow-y:auto;overscroll-behavior:contain;
  transform:translateX(-50%) translateY(-8px);}
.nav-item.mega-wide:hover .nav-mega,.nav-item.mega-wide:focus-within .nav-mega,.nav-item.mega-wide.is-open .nav-mega {transform:translateX(-50%) translateY(0);}
.nav-item.mega-wide::after {left:-220px;right:-220px;height:34px;}
.nav-mega::before {content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:16px 16px;}
.nav-mega::after {content:"";position:absolute;top:14px;right:14px;width:7px;height:7px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 0 3px rgba(230,46,45,.16);pointer-events:none;}
.mega-side-label .ml-num {color:var(--accent);font-weight:700;margin-right:6px;}
.nav-mega.is-mini {min-width:0;width:268px;}
.nav-mega.is-mini::before {background-size:14px 14px;opacity:.4;}
.mini-head {padding:18px 18px 12px;border-bottom:1px dashed rgba(255,255,255,.09);position:relative;}
.mini-head-label {font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.42);}
.mini-head-label .ml-num {color:var(--accent);font-weight:700;margin-right:6px;}
.mini-head-title {font-size:15px;font-weight:500;color:#fff;line-height:1.35;letter-spacing:-.01em;margin-top:10px;}
.mini-head-meta {margin-top:10px;display:flex;flex-direction:column;gap:4px;}
.mini-head-meta a {font-size:12px;color:rgba(255,255,255,.62);letter-spacing:-.005em;display:inline-flex;align-items:center;gap:7px;transition:color .18s;}
.mini-head-meta a:hover {color:#fff;}
.mini-head-meta svg {flex-shrink:0;opacity:.55;}
.mini-list {position:relative;padding:8px;display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,.03);}
.mini-item {display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:6px;background:rgba(16,18,26,.6);
  font-size:13px;color:rgba(255,255,255,.78);letter-spacing:-.005em;transition:background .18s,color .18s;position:relative;overflow:hidden;}
.mini-item:hover {background:rgba(24,26,34,.95);color:#fff;}
.mini-item .mi-ic {flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;
  background:rgba(255,255,255,.04);color:rgba(255,255,255,.55);border:1px dashed rgba(255,255,255,.1);transition:color .18s,border-color .18s,background .18s;}
.mini-item:hover .mi-ic {color:var(--accent);border-color:rgba(230,46,45,.35);background:rgba(230,46,45,.06);}
.mini-item .mi-arrow {margin-left:auto;color:rgba(255,255,255,.28);transition:transform .22s var(--ease-out),color .18s;}
.mini-item:hover .mi-arrow {color:#fff;transform:translateX(3px);}
.mega-foot {position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px;
  background:rgba(0,0,0,.28);border-top:1px solid rgba(255,255,255,.06);}
.mega-foot-stat {display:flex;align-items:center;gap:10px;font-size:12px;color:rgba(255,255,255,.62);}
.mega-foot-stat strong {color:#fff;font-weight:600;}
.mega-foot-stat .fs-dot {width:6px;height:6px;border-radius:50%;background:#0FA968;box-shadow:0 0 0 3px rgba(15,169,104,.18);animation:pulse 2s ease-in-out infinite;}
.mega-foot-right {display:flex;align-items:center;gap:6px;}
.mega-foot-cta {font-size:12.5px;font-weight:600;color:#fff;letter-spacing:.005em;
  display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:6px;transition:background .2s,gap .2s;}
.mega-foot-cta:hover {background:rgba(255,255,255,.08);gap:11px;}
.mega-foot-cta svg {transition:transform .2s;}
.mega-foot-cta:hover svg {transform:translateX(2px);}
.mega-foot-link {font-size:11.5px;color:rgba(255,255,255,.42);padding:6px 10px;border-radius:5px;transition:color .18s,background .18s;}
.mega-foot-link:hover {color:#fff;background:rgba(255,255,255,.05);}
.explore-grid {position:relative;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:128px;gap:6px;padding:16px;}
@media(max-width:1080px) {
  .explore-grid {grid-template-columns:repeat(3,1fr);grid-auto-rows:118px;}
}
@media(max-width:820px) {
  .explore-grid {grid-template-columns:repeat(2,1fr);grid-auto-rows:108px;gap:5px;padding:12px;}
  .et.featured {grid-column:span 2;grid-row:span 1;}
  .et.featured .et-title {font-size:18px;}
  .et.featured .et-meta {font-size:11px;}
  .mega-foot {flex-wrap:wrap;gap:10px;padding:12px 16px;}
  .mega-foot-stat {font-size:11.5px;}
  .mega-foot-right {flex-wrap:wrap;}
}
@media(max-width:560px) {
  .explore-grid {grid-template-columns:1fr;grid-auto-rows:96px;}
  .et.featured {grid-column:span 1;grid-row:span 1;}
}
.et {position:relative;border-radius:10px;overflow:hidden;background:#10121a;display:flex;align-items:flex-end;color:#fff;
  border:1px solid rgba(255,255,255,.06);isolation:isolate;}
.et.featured {grid-column:span 2;grid-row:span 2;}
.et-img {position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1) brightness(1);transition:transform .5s var(--ease-out),filter .35s;z-index:0;}
.et:hover .et-img {transform:scale(1.06);filter:saturate(1.05) brightness(1.05);}
.et-overlay {position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.15) 55%,rgba(0,0,0,.7) 100%);z-index:1;}
.et-grid-tex {position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:24px 24px;z-index:2;pointer-events:none;}
.et-corner {position:absolute;top:8px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(230,46,45,.2);z-index:3;}
.et-body {position:relative;padding:12px 14px;z-index:4;width:100%;}
.et-title {font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.2;}
.et.featured .et-title {font-size:20px;}
.et-meta {margin-top:4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:rgba(255,255,255,.75);}
.et.featured .et-meta {font-size:11.5px;}
.et-tag {display:inline-block;font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.16);padding:3px 7px;border-radius:3px;margin-bottom:8px;backdrop-filter:blur(4px);}
.mi-red {--mi-accent:#E62E2D;}
.mi-gold {--mi-accent:#D4A24C;}
.mi-teal {--mi-accent:#2F9E94;}
.mi-purple {--mi-accent:#9B7CD4;}
.mc-illo,.et {transition:opacity .2s;}
.nav-mi {position:relative;font-size:13px;font-weight:600;letter-spacing:.01em;padding:8px 14px 8px 11px;border-radius:999px;
  display:inline-flex;align-items:center;gap:8px;isolation:isolate;
  background:linear-gradient(180deg,rgba(22,16,18,.78),rgba(12,10,12,.78));
  color:#fff;transition:transform .25s var(--ease-out),filter .25s,background .25s;}
.nav-mi::before {content:"";position:absolute;inset:0;border-radius:999px;padding:1px;
  background:
    conic-gradient(from var(--mi-ang,0deg),
      rgba(190,30,45,.95) 0deg,
      rgba(190,30,45,.05) 90deg,
      rgba(255,255,255,.55) 180deg,
      rgba(190,30,45,.05) 270deg,
      rgba(190,30,45,.95) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;
  animation:mi-spin 8s linear infinite;opacity:.9;}
.nav-mi::after {content:"";position:absolute;inset:1px;border-radius:999px;z-index:-1;
  background:radial-gradient(140% 220% at 0% 50%,rgba(190,30,45,.22),transparent 55%);
  opacity:.85;transition:opacity .25s;}
.nav-mi-label {color:#fff;font-family:var(--font-sans);}
.nav-mi-spark {width:15px;height:15px;flex-shrink:0;filter:drop-shadow(0 0 5px rgba(190,30,45,.4));}
.nav-mi:hover {transform:translateY(-.5px);filter:brightness(1.1);background:linear-gradient(180deg,rgba(34,20,24,.82),rgba(18,12,14,.82));}
.nav-mi:hover::after {opacity:1;}
.nav-burger {display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:8px;
  color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  transition:background .2s,border-color .2s;flex-shrink:0;}
.nav-burger:hover,.nav-burger:focus-visible {background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);}
.nav-burger .bg-bars {position:relative;width:18px;height:14px;}
.nav-burger .bg-bars span {position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:1px;transition:transform .28s var(--ease-out),top .2s ease,opacity .2s;}
.nav-burger .bg-bars span:nth-child(1) {top:0;}
.nav-burger .bg-bars span:nth-child(2) {top:6px;}
.nav-burger .bg-bars span:nth-child(3) {top:12px;}
body.nav-open .nav-burger .bg-bars span:nth-child(1) {top:6px;transform:rotate(45deg);}
body.nav-open .nav-burger .bg-bars span:nth-child(2) {opacity:0;}
body.nav-open .nav-burger .bg-bars span:nth-child(3) {top:6px;transform:rotate(-45deg);}
.nav-sheet {position:fixed;inset:0;z-index:300;visibility:hidden;pointer-events:none;}
.nav-sheet-backdrop {position:absolute;inset:0;background:rgba(8,9,14,.55);opacity:0;
  transition:opacity .28s var(--ease-out);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.nav-sheet-panel {position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);
  background:linear-gradient(180deg,rgba(28,30,40,.99),rgba(16,18,26,.99));
  border-left:1px solid rgba(255,255,255,.08);
  transform:translateX(102%);transition:transform .34s var(--ease-out);
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:-20px 0 60px -10px rgba(0,0,0,.55);}
.nav-sheet.open {visibility:visible;pointer-events:auto;}
.nav-sheet.open .nav-sheet-backdrop {opacity:1;}
.nav-sheet.open .nav-sheet-panel {transform:translateX(0);}
.nav-sheet-panel::before {content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:14px 14px;}
.nav-sheet-panel::after {content:"";position:absolute;top:14px;left:14px;width:8px;height:8px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 0 3px rgba(230,46,45,.14);pointer-events:none;}
.nav-sheet-head {position:relative;display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px 18px 38px;border-bottom:1px dashed rgba(255,255,255,.08);}
.nav-sheet-head img {height:36px;width:auto;display:block;}
.nav-sheet-close {width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;
  color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:background .2s;}
.nav-sheet-close:hover {background:rgba(255,255,255,.12);}
.nav-sheet-body {flex:1;overflow-y:auto;padding:18px 14px 8px;position:relative;-webkit-overflow-scrolling:touch;}
.ns-section {margin-bottom:18px;}
.ns-section:last-child {margin-bottom:0;}
.ns-eyebrow {display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.42);padding:0 12px 10px;}
.ns-eyebrow .eb-num {color:var(--accent);font-weight:700;}
.ns-eyebrow .eb-tick {flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.13),transparent);}
.ns-item {position:relative;display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:10px;
  min-height:60px;color:#fff;transition:background .18s;}
.ns-item:active {background:rgba(255,255,255,.07);}
.ns-item::before {content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:2px;
  background:var(--mi-accent,var(--accent));opacity:0;transition:opacity .2s;}
.ns-item:active::before {opacity:1;}
.ns-item .mi-icon {width:42px;height:42px;}
.ns-item .mi-icon svg {width:22px;height:22px;}
.ns-item .mi-title {font-size:15px;margin-bottom:2px;}
.ns-item .mi-desc {font-size:12.5px;color:rgba(255,255,255,.5);}
.ns-link {display:flex;align-items:center;justify-content:space-between;padding:16px 16px;border-radius:10px;
  color:#fff;font-size:15px;font-weight:600;min-height:56px;transition:background .18s;}
.ns-link:active {background:rgba(255,255,255,.06);}
.ns-link svg {opacity:.4;}
.nav-sheet-foot {position:relative;padding:14px 18px calc(20px + env(safe-area-inset-bottom));
  border-top:1px dashed rgba(255,255,255,.08);background:rgba(0,0,0,.22);}
.nav-sheet-foot .nav-mi {margin-bottom:12px;justify-content:center;width:100%;padding:14px;font-size:13.5px;}
.ns-cta-row {display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ns-cta-row .nav-auth {justify-content:center;padding:14px;font-size:14px;}
.mi-beta {display:inline-flex;align-items:center;line-height:1;font-family:var(--font-mono);font-size:8.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:2px 5px;border-radius:3px;background:rgba(230,46,45,.16);color:rgba(255,165,165,.95);border:1px solid rgba(230,46,45,.32);vertical-align:middle;}
.nav-mi .mi-beta {margin-left:7px;}
.eyebrow .mi-beta {margin-left:2px;}
@media(max-width:768px) {
  body.mobile-fs .v2-nav {display:none;}
}
@media(min-width:900px) {
  .ls-sec .feat-grid .listing-card.featured::before,
  .ls-sec .feat-grid .listing-card.featured::after {top:15px;right:15px;}
  .ls-sec .feat-grid .listing-card.featured::before {width:24px;}
  .ls-sec .feat-grid .listing-card.featured::after {height:24px;}
  .ls-sec .feat-grid .listing-card.featured:hover::before {width:34px;}
  .ls-sec .feat-grid .listing-card.featured:hover::after {height:34px;}
}
.listing-card.featured {border-top:4px solid var(--accent);border-radius:0 0 8px 8px;display:flex;flex-direction:column;}
.listing-card.featured .listing-photo {aspect-ratio:auto;flex:0 0 auto;}
.listing-card.featured .listing-body {flex:1 1 auto;}
.listing-card.featured .listing-brokerage {margin-top:auto;}
.listing-card.featured .listing-price-label {font-size:11px;margin-bottom:4px;}
.listing-card.featured .listing-body {padding:26px 28px 22px;}
.listing-card.featured .listing-eyebrow {font-size:12.5px;margin-bottom:12px;}
.listing-card.featured .listing-address {font-size:28px;margin-bottom:8px;letter-spacing:-.03em;}
.listing-card.featured .listing-meta {font-size:14.5px;margin-bottom:20px;}
.listing-card.featured .listing-price {font-size:34px;letter-spacing:-.03em;}
.listing-card.featured .listing-desc {font-size:15.5px;line-height:1.65;margin-top:20px;color:var(--fg-1);max-width:none;}
.listing-card.featured .listing-intel {display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:22px;padding:16px 0;border-top:1px dashed rgba(24,26,34,.12);border-bottom:1px dashed rgba(24,26,34,.12);}
.listing-card.featured .intel-chip {display:flex;flex-direction:column;gap:3px;}
.listing-card.featured .intel-lbl {font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);}
.listing-card.featured .intel-val {font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.05;}
.listing-card.featured .listing-cta-row {display:flex;margin-top:18px;}
.listing-card.featured .listing-cta {display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.02em;padding:11px 18px;border-radius:6px;transition:background .18s,box-shadow .18s,transform .12s;}
.listing-card.featured:hover .listing-cta {background:var(--accent-hover);box-shadow:0 8px 22px rgba(190,30,45,.32);}
.listing-card.featured .listing-cta svg {transition:transform .2s;}
.listing-card.featured:hover .listing-cta svg {transform:translateX(3px);}
.listing-card.featured .listing-brokerage {padding:18px 28px 22px;font-size:11.5px;}
.listing-card.featured .sold-price-row {margin-bottom:14px;}
.listing-card.featured .sold-price {font-size:30px;}
.listing-card.featured .sold-list-price {font-size:18px;}
.listing-card.featured .listing-pulse {font-size:11px;margin-top:14px;padding-top:14px;column-gap:10px;}
.listing-card.featured .pulse-num {font-size:13px;}
.listing-card.featured .pulse-eyebrow {font-size:10px;}
.site-footer {background:#050507;padding:64px 0 28px;}
.footer-top {display:grid;grid-template-columns:1.4fr 2fr;gap:60px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.06);}
.footer-logo {display:inline-block;}
.footer-logo img {width:72px;height:72px;opacity:.85;display:block;}
.footer-tagline {font-family:var(--font-serif);font-style:italic;font-size:16px;color:rgba(255,255,255,.44);margin-top:18px;line-height:1.6;max-width:280px;}
.footer-tagline .cjk {font-family:var(--font-cjk);font-style:normal;color:var(--accent);}
.footer-cols {display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;}
.footer-col-title {font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:14px;}
.footer-col a {display:block;color:rgba(255,255,255,.58);font-size:13.5px;font-weight:500;padding:4px 0;text-transform:lowercase;transition:color .2s;}
.footer-col a:hover {color:#fff;}
.footer-bottom {display:flex;justify-content:space-between;align-items:center;padding-top:24px;}
.footer-copy {font-family:var(--font-mono);font-size:10px;color:rgba(255,255,255,.28);letter-spacing:.08em;}
.footer-legal {display:flex;gap:22px;}
.footer-legal a {color:rgba(255,255,255,.38);font-size:12px;letter-spacing:.04em;transition:color .2s;}
.footer-legal a:hover {color:rgba(255,255,255,.7);}
@media(max-width:1100px) {
  .svc-head,.footer-top {grid-template-columns:1fr;gap:32px;}
}
@media(max-width:640px) {
  .v2-nav {padding:0 6px 0 14px;gap:8px;width:calc(100% - 16px);height:56px;border-radius:14px;}
  .v2-nav.scrolled {height:52px;}
  .nav-links {display:none;}
  .v2-nav > .nav-actions .nav-mi,.v2-nav > .nav-actions .nav-login,.v2-nav > .nav-actions .nav-divider {display:none;}
  .nav-logo img {height:36px;}
  .nav-burger {display:inline-flex;}
  .nav-auth {padding:8px 12px;font-size:12.5px;}
  .nav-signup svg {display:none;}
  body.nav-open {overflow:hidden;}
}
@media(max-width:768px) {
  .listing-card.featured .listing-body {padding:22px 22px 18px;}
  .listing-card.featured .listing-address {font-size:23px;}
  .listing-card.featured .listing-price {font-size:28px;}
  .listing-card.featured .listing-desc {
    font-size:14.5px;line-height:1.6;margin-top:16px;
    display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden;
    position:relative;
  }
  .listing-card.featured .listing-desc.expanded {display:block;-webkit-line-clamp:none;}
  .listing-card.featured .listing-desc-toggle {
    display:inline-block;margin-top:8px;font-family:var(--font-mono);font-size:11px;
    letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600;
    background:none;border:0;padding:0;cursor:pointer;
  }
  .listing-card.featured .listing-intel {grid-template-columns:repeat(2,1fr);gap:10px 16px;padding:14px 0;margin-top:16px;}
  .listing-card.featured .intel-val {font-size:15.5px;}
  .listing-card.featured .listing-cta {width:100%;justify-content:center;padding:13px 18px;}
  .listing-card.featured .listing-cta-row {margin-top:16px;}
  .listing-card.featured .listing-brokerage {padding:14px 22px 18px;}
}
@media(max-width:899px) {
  .feat-grid .listing-card.featured {border-top:none;border-radius:8px;display:block;}
  .feat-grid .listing-card.featured .listing-photo {aspect-ratio:4/3;}
  .feat-grid .listing-card.featured .listing-body {padding:18px 18px 16px;}
  .feat-grid .listing-card.featured .listing-eyebrow {font-size:11px;margin-bottom:8px;}
  .feat-grid .listing-card.featured .listing-address {font-size:19px;letter-spacing:-.02em;margin-bottom:6px;}
  .feat-grid .listing-card.featured .listing-meta {font-size:13px;margin-bottom:12px;}
  .feat-grid .listing-card.featured .listing-price {font-size:23px;letter-spacing:-.02em;}
  .feat-grid .listing-card.featured .listing-desc,
  .feat-grid .listing-card.featured .listing-desc-toggle,
  .feat-grid .listing-card.featured .listing-intel,
  .feat-grid .listing-card.featured .listing-cta-row {display:none;}
  .feat-grid .listing-card.featured .listing-brokerage {padding:0 18px 14px;margin-top:0;font-size:11px;}
  .feat-grid .listing-card.featured .sold-price-row {margin-bottom:0;}
  .feat-grid .listing-card.featured .sold-price {font-size:23px;}
  .feat-grid .listing-card.featured .sold-list-price {font-size:12px;}
}
@media(max-width:380px) {
  .listing-card.featured .listing-body {padding:18px 18px 14px;}
  .listing-card.featured .listing-address {font-size:21px;}
  .listing-card.featured .listing-price {font-size:26px;}
  .listing-card.featured .listing-desc {font-size:14px;-webkit-line-clamp:7;}
}
.nav-mega-x {min-width:460px;max-width:520px;padding:0;overflow:hidden;}
.nav-mega-x::before,
.nav-mega-x::after {display:none!important;}
.nmx-head {position:relative;z-index:2;padding:22px 24px 14px;display:flex;
  align-items:baseline;justify-content:space-between;gap:12px;}
.nmx-title {font-family:var(--font-mono);font-size:11px;font-weight:500;
  letter-spacing:.26em;text-transform:lowercase;color:rgba(255,255,255,.78);}
.nmx-meta {font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;
  text-transform:lowercase;color:rgba(255,255,255,.36);}
.nmx-rule {position:relative;z-index:2;margin:0 24px 6px;height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.04) 60%,transparent 100%);}
.nmx-list {list-style:none;margin:0;padding:6px 12px 16px;position:relative;z-index:2;}
.nmx-list li {padding:0;}
.nmx-row {position:relative;display:grid;grid-template-columns:30px 1fr 18px;
  gap:14px;align-items:center;padding:14px 14px;border-radius:4px;
  color:inherit;text-decoration:none;
  transition:background 200ms cubic-bezier(.22,1,.36,1);}
.nmx-row:hover {background:rgba(255,255,255,.025);}
.nmx-row:focus-visible {outline:none;background:rgba(255,255,255,.04);}
.nmx-frame {position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);
  pointer-events:none;}
.nmx-frame path {stroke:#BE1E2D;stroke-width:1;fill:none;
  vector-effect:non-scaling-stroke;
  stroke-dasharray:400;stroke-dashoffset:400;
  transition:stroke-dashoffset 320ms cubic-bezier(.22,1,.36,1);}
.nmx-row:hover .nmx-frame path,
.nmx-row:focus-visible .nmx-frame path {stroke-dashoffset:0;}
.nmx-row:hover .nmx-frame .nmf-b,
.nmx-row:focus-visible .nmx-frame .nmf-b {transition-delay:70ms;}
.nmx-num {font-family:var(--font-mono);font-size:10.5px;font-weight:600;
  letter-spacing:.06em;color:rgba(255,255,255,.32);
  transition:color 180ms cubic-bezier(.22,1,.36,1);
  align-self:start;padding-top:2px;}
.nmx-row:hover .nmx-num {color:#BE1E2D;}
.nmx-name {font-family:var(--font-sans);font-size:15px;font-weight:600;
  color:#fff;letter-spacing:-.008em;line-height:1.2;}
.nmx-tag {font-size:12.5px;color:rgba(255,255,255,.5);line-height:1.45;
  margin-top:5px;letter-spacing:-.003em;}
.nmx-chev {color:rgba(255,255,255,.3);width:14px;height:14px;
  transition:transform 220ms cubic-bezier(.22,1,.36,1),color 180ms;
  align-self:center;}
.nmx-row:hover .nmx-chev {color:#BE1E2D;transform:translate(3px,-3px);}
@media(max-width:820px) {
  .nav-mega-x {min-width:380px;}
  .nmx-head {padding:18px 18px 10px;}
  .nmx-rule {margin:0 18px 6px;}
  .nmx-list {padding:6px 10px 14px;}
  .nmx-row {padding:12px;grid-template-columns:24px 1fr 16px;gap:12px;}
  .nmx-name {font-size:14px;}
  .nmx-tag {font-size:12px;}
}
@media(prefers-reduced-motion:reduce) {
  .nmx-row,.nmx-frame path,.nmx-num,.nmx-chev {transition:none!important;}
  .nmx-frame path {stroke-dashoffset:0;opacity:0;}
  .nmx-row:hover .nmx-frame path {opacity:1;}
}
#market-mobile .mp2-note-eyebrow .cjk {font-family:'Instrument Serif',serif;font-size:14px;letter-spacing:0;color:var(--mp2-gold);text-transform:none;}
@keyframes mi-spin {to{--mi-ang:360deg;}}
@keyframes pulse {0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(.8);}}

/* ============================================================
   BUG 1 — floating-nav clearance.
   The .v2-nav pill is position:fixed at top:14px. Its rendered
   bottom edge ≈ top(14) + height(64) = 78px on desktop, and
   ≈ top(14) + height(56) = 70px at ≤640px. Reserve that much
   clearance (+ breathing room) at the very top of each condo
   preview's content root so the breadcrumb + hero never sit
   under the pill. scroll-padding-top keeps in-page anchor jumps
   clear of the fixed nav too.
   ============================================================ */
html { scroll-padding-top: 100px; }

/* Building page: breadcrumb sits on light paper, so just reserve clearance at
   the top of the content root — clean strip below the floating pill. */
#condo-building-root { padding-top: 100px; }

/* Directory page: the hero is a FULL-BLEED dark photo that must run edge-to-edge
   to the very top (padding the root would leave an ugly light strip above it).
   Instead push the hero's *content* (eyebrow/headline) down by reserving extra
   top padding INSIDE the hero, so the dark photo fills behind the pill and the
   eyebrow/H1 begin below it. */
#condo-directory-root .hero { padding-top: 116px; }

@media (max-width: 640px) {
  html { scroll-padding-top: 88px; }
  #condo-building-root { padding-top: 88px; }
  #condo-directory-root .hero { padding-top: 104px; }
}

/* ============================================================
   BUG 2 — kill leaked underlines on chrome links.
   The condo base CSS applies an underline to bare <a>; it leaks
   onto the injected nav + footer links (mega-menu rows, mobile
   sheet items, footer columns). The homepage chrome links are
   NOT underlined by default, so force text-decoration:none with
   enough weight to beat the base rule.
   ============================================================ */
.v2-nav a,
.v2-nav a:hover,
.nav-sheet a,
.nav-sheet a:hover,
#navSheet a,
#navSheet a:hover,
.nav-mega a,
.nav-mega a:hover,
.site-footer a,
.site-footer a:hover {
  text-decoration: none;
}
