/* ============================================================
   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:linear-gradient(180deg,rgba(34,37,48,.90),rgba(18,20,28,.88));backdrop-filter:saturate(150%) blur(18px);-webkit-backdrop-filter:saturate(150%) blur(18px);
  border:1px solid rgba(255,255,255,.12);border-radius:16px;
  box-shadow:0 1px 0 rgba(255,255,255,.10) inset,0 0 0 1px rgba(0,0,0,.05),0 18px 44px -16px rgba(14,16,24,.55),0 6px 16px -8px rgba(14,16,24,.34);
  transition:background 280ms var(--ease-out),border-color 280ms,box-shadow 280ms,top 240ms var(--ease-out);}
.v2-nav.scrolled {top:10px;background:linear-gradient(180deg,rgba(26,29,39,.95),rgba(14,16,22,.94));border-color:rgba(255,255,255,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 0 0 1px rgba(0,0,0,.06),0 22px 54px -18px rgba(12,14,20,.6),0 8px 20px -10px rgba(12,14,20,.4);}
.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);}

/* ═══════════════════════════════════════════════════════════════════════
   Explore mega-menu v2 — "anchor & regions" (replaces the 9-tile photo wall)
   One photograph (Victoria, the only shot that identifies itself) anchors a
   left rail; the other twelve municipalities are text rows grouped by region.
   The condo directory sits in the rail as its own card so it can never read
   as the tail of whichever region group it happens to sit beside.
   Rows keep .et[data-muni] + [data-et-meta] so the existing hover-hydrate
   from 8x-muni-stats keeps working unchanged.
   ═══════════════════════════════════════════════════════════════════════ */
.nav-mega-b{min-width:940px;}
.explore-b{position:relative;display:grid;grid-template-columns:296px 1fr;gap:16px;padding:16px;}

.eb-rail{display:flex;flex-direction:column;gap:10px;min-width:0;}
.eb-rail .et.featured{grid-column:auto;grid-row:auto;flex:1;min-height:228px;}

.et.eb-dir{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:10px;
  text-decoration:none;flex:none;
  border:1px solid rgba(190,30,45,.34);
  background:linear-gradient(135deg,rgba(190,30,45,.14),rgba(190,30,45,.03) 70%);
  transition:border-color .16s ease,background .16s ease;}
.et.eb-dir:hover,.et.eb-dir:focus-visible{border-color:rgba(190,30,45,.72);
  background:linear-gradient(135deg,rgba(190,30,45,.22),rgba(190,30,45,.05) 70%);}
.eb-dir-glyph{flex:none;width:38px;height:38px;border-radius:8px;display:grid;place-items:center;
  background:rgba(190,30,45,.17);color:#f2606d;}
.eb-dir-txt{display:flex;flex-direction:column;gap:1px;min-width:0;}
.eb-dir-eyebrow{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:#f2606d;}
.eb-dir-name{font-size:14px;font-weight:700;letter-spacing:-.01em;color:#fff;line-height:1.25;}
.eb-dir-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:rgba(255,255,255,.6);}
.eb-dir-arrow{margin-left:auto;flex:none;color:#f2606d;font-size:15px;opacity:.85;}

.eb-regions{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;align-content:start;min-width:0;}
.eb-group{display:flex;flex-direction:column;min-width:0;}
.eb-glabel{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.4);padding:0 8px 6px;
  border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:4px;
  display:flex;align-items:baseline;gap:10px;}
/* Column headings sit ON the group rule rather than in a row of their own —
   the hairline already separates heading from data, so a second row would only
   add height to a menu that has to stay short. */
/* 8px / .05em rather than the group label's 9px / .16em: "MED. PRICE" is ten
   characters and has to sit inside a 52px cell, and a column heading should read
   as quieter than the label it sits beside anyway. At this size it measures
   ~53px, so it fits on one line instead of spilling into the gap. */
.eb-cols{margin-left:auto;display:flex;align-items:baseline;gap:10px;
  font-size:8px;letter-spacing:.05em;color:rgba(255,255,255,.3);}
/* The headings share the DATA cells' widths so the columns line up, but
   "MED. PRICE" is ~63px of 9px mono in a 52px cell and was wrapping to two
   lines. nowrap keeps it on one; because the cell is right-aligned, the extra
   width spills LEFT into the gap between the group name and the numbers —
   which is empty — so nothing moves and the right edges stay flush. */
.eb-cols .eb-act,.eb-cols .eb-med{font-weight:600;white-space:nowrap;}
/* One width for the heading and the figure beneath it, so they share a column.
   Tabular numerals keep the digits from drifting row to row. */
.eb-act{display:inline-block;width:38px;text-align:right;font-variant-numeric:tabular-nums;}
.eb-med{display:inline-block;width:52px;text-align:right;font-variant-numeric:tabular-nums;}

/* .et.eb-row deliberately out-specifies the .et tile rules above */
.et.eb-row{position:relative;display:flex;align-items:baseline;gap:10px;
  padding:7px 8px;min-height:0;border:0;border-radius:6px;background:transparent;
  overflow:visible;text-decoration:none;transition:background .13s ease;}
.et.eb-row:hover,.et.eb-row:focus-visible{background:rgba(255,255,255,.075);}
.et.eb-row .eb-name{font-size:13px;font-weight:600;letter-spacing:-.01em;color:#fff;white-space:nowrap;}
.et.eb-row .eb-meta{margin-left:auto;display:flex;align-items:baseline;gap:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;
  color:rgba(255,255,255,.56);white-space:nowrap;}

@media(max-width:1080px){
  .nav-mega-b{min-width:0;}
  .explore-b{grid-template-columns:248px 1fr;gap:12px;}
  .eb-rail .et.featured{min-height:196px;}
}
@media(max-width:860px){
  .explore-b{grid-template-columns:1fr;}
  .eb-rail .et.featured{min-height:150px;}
}
@media(max-width:560px){
  .eb-regions{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  .et.eb-dir,.et.eb-row{transition:none;}
}

.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;
}
