/* 8X site nav (custom pill + mobile sheet) for swapped Webflow pages.
   GENERATED by site-nav/build-site-nav-css.py from site-chrome-v14 + additions.css — edit those, not this. */
.v2-nav, .nav-sheet, #navSheet{--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;}
.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);}
.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;}
.eb-cols{margin-left:auto;display:flex;align-items:baseline;gap:10px;
  font-size:8px;letter-spacing:.05em;color:rgba(255,255,255,.3);}
.eb-cols .eb-act, .eb-cols .eb-med{font-weight:600;white-space:nowrap;}
.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{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;}
.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(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;}
}
.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;}
}
@keyframes mi-spin{to{--mi-ang:360deg;}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(.8);}}
#condo-directory-root .hero{padding-top: 116px;}
@media (max-width: 640px){
#condo-directory-root .hero{padding-top: 104px;}
}
.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{text-decoration: none;}
/* ── Swap additions (Webflow pages only) ───────────────────────── */
/* Hanken Grotesk is self-hosted for the homepage; Webflow pages never load it. */
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:300 800;font-display:swap;src:url(/ld/fonts/hanken-grotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* JetBrains Mono is a Google font the Webflow pages don't request; IBM Plex Mono
   is self-hosted on them, so it is the in-between fallback. */
.v2-nav, .nav-sheet, #navSheet { --font-mono:'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace; }

/* No spacer: the Webflow navbar this replaces was already position:fixed /
   absolute and every template reserves its 75/100px; the pill ends at 70/78px. */
html{scroll-padding-top:100px}

/* Webflow's shared stylesheet styles bare elements; keep it out of the chrome.
   The homepage sets Hanken on <body>; Webflow pages set Montserrat/Open Sans. */
.v2-nav, .nav-sheet{font-family:var(--font-sans)}
.v2-nav a, .nav-sheet a{text-decoration:none}
.v2-nav img, .nav-sheet img{max-width:none}
.v2-nav button, .nav-sheet button{font-family:inherit}
.nav-sheet ul, .v2-nav ul{margin:0;padding:0}

/* Swap-only sheet sections (For sale / Sold data): two-up compact links. */
.ns-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.ns-grid .ns-link{font-size:15px}
/* Tablet collapse + the full responsive ladder: see ladder.css (appended by the build). */

/* Photo heroes (legal pages, contact, sold: the top section carries
   .nav-bar-v1-padding with a .bg-image layer). A Webflow parallax interaction
   translates that layer DOWN (~2.6% of its height on load on mobile, growing
   as you scroll), leaving a strip of the section's translucent white above the
   photo. The old opaque Webflow bar covered it; the floating pill does not.
   Extend the layer above its section so the photo always reaches the top. */
.nav-bar-v1-padding > .bg-image { top: -48px !important; bottom: 0 !important; height: auto !important; }

/* ── SHARED NAV LADDER (2026-10-21) ─────────────────────────────────────
   ONE source for every copy of the custom pill nav (homepage, condo pages,
   swapped Webflow pages, /listings, /private-sales, /market-intelligence).
   Injected by the auth bundle (8x-auth-v11 / v2 key — the one asset every copy
   loads) and appended to /ld/site-nav-v2.css (swapped pages, render-blocking).
   Rules: the right cluster (MI / account / burger) never shrinks or clips;
   the link row gives way first.
     >=1440      full: links + "market intelligence BETA" + account
     1200-1439   tighter links; MI reads "Market intel", no BETA
     1100-1199   MI is an icon-only chart button (aria-label set by the bundle)
     <1100       burger; MI moves to the top of the menu as a featured row
   ─────────────────────────────────────────────────────────────────────── */
.v2-nav > .nav-logo, .v2-nav > .nav-actions { flex-shrink: 0 !important; }
.v2-nav > .nav-links, .v2-nav > .nav-spacer { min-width: 0; }
/* Pin the right cluster to the right edge even where a page's own CSS hides
   .nav-spacer (the mls-listing page does on mobile: account + burger sat
   beside the logo and the account menu opened off-screen). */
.v2-nav > .nav-actions { margin-left: auto !important; }

/* Account menu: /listings + /private-sales give the slot overflow:hidden +
   a fixed height (their CLS fix), which clipped the dropdown to nothing.
   Visible overflow keeps the 36px box (no shift) and lets the menu out. */
.v2-nav .nav-auth-slot { overflow: visible !important; }
.v2-nav:has(.nav-dd.open) { z-index: 10015 !important; }
/* Open = visible immediately (no visibility transition), so keyboard focus can
   move into the menu in the same tick it opens. Fade/slide still animate. */
.v2-nav .nav-dd.open { visibility: visible !important; transition: opacity .15s, transform .15s !important; }

/* The avatar on the dark pill is always the red variant. */
.v2-nav .nav-avatar, .v2-nav .nav-auth-light .nav-avatar { background: #c8102e !important; color: #fff !important; }
.v2-nav .nav-avatar:hover, .v2-nav .nav-avatar[aria-expanded="true"] { background: #a30d25 !important; }
.v2-nav .nav-avatar:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.v2-nav .nav-dd a:focus-visible, .v2-nav .nav-dd button:focus-visible { outline: 2px solid #c8102e; outline-offset: -2px; }

@media (min-width: 1100px) and (max-width: 1439.98px) {
  .v2-nav > .nav-links { gap: 0 !important; }
  .v2-nav .nav-lnk { padding: 8px 9px !important; }
  .v2-nav > .nav-actions .mi-beta { display: none !important; }
  .v2-nav > .nav-actions .nav-mi-label { font-size: 0 !important; }
  .v2-nav > .nav-actions .nav-mi-label::before { content: "Market intel"; font-size: 13px; }
}
@media (min-width: 1100px) and (max-width: 1199.98px) {
  .v2-nav > .nav-actions .nav-mi-label { display: none !important; }
  .v2-nav > .nav-actions .nav-mi { padding: 9px 11px !important; gap: 0 !important; }
}
@media (max-width: 1099.98px) {
  .v2-nav > .nav-links { display: none !important; }
  .v2-nav .nav-burger { display: inline-flex !important; }
  .v2-nav > .nav-actions .nav-mi, .v2-nav > .nav-actions .nav-divider { display: none !important; }
  body.nav-open { overflow: hidden; }
}
/* MI as the featured first row of the menu (the bundle moves it there). */
.nav-sheet .ns-mi-featured { display: flex !important; justify-content: center; width: 100%; box-sizing: border-box; margin: 2px 0 16px; padding: 14px; font-size: 13.5px; }

/* Live nav figures (x8NavStats in the auth bundle). Slots ship EMPTY; their
   width is already reserved (.eb-act 38px / .eb-med 52px) and the height by the
   zero-width-space rule below, so nothing moves when the figures fade in. */
.v2-nav [data-nav-meta], .nav-sheet [data-nav-meta], .v2-nav [data-nav-condos] { transition: opacity .3s ease; }
.v2-nav [data-nav-meta]:not(.x8-on), .nav-sheet [data-nav-meta]:not(.x8-on) { opacity: 0 !important; }
/* An empty slot still owns one line box (zero-width space), so its height is
   identical before and after the figures arrive — rows never move. */
.v2-nav [data-nav-meta]:empty::before,
.v2-nav [data-nav-meta] .eb-act:empty::before,
.v2-nav [data-nav-meta] .eb-med:empty::before { content: "\200b"; }

