:root{--ink:#171514;--paper:#ffffff;--greige:#f4f1ec;--muted:#6b665a;--line:#e4e0d8;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.6;}
  a{text-decoration:none;color:inherit;}
  .wrap{max-width:1280px;margin:0 auto;padding:0 40px;}
  .over{font-weight:400;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);}
  header{position:sticky;top:0;z-index:80;background:var(--paper);border-bottom:1px solid var(--line);}
  header .bar{display:flex;align-items:center;justify-content:space-between;height:80px;gap:20px;}
  header nav{display:flex;align-items:center;gap:34px;}
  header nav a{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;transition:opacity .2s;}
  header nav a:hover{opacity:.55;}
  header nav a.active{border-bottom:1px solid var(--ink);padding-bottom:3px;}
  .logo{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;color:var(--ink);}
  .logo .emblem{width:30px;height:30px;border:1px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:15px;}
  .logo .word{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1;}
  .menu-toggle{display:none;background:none;border:none;color:inherit;cursor:pointer;}
  .hdr-right{display:flex;align-items:center;gap:26px;}
  .btn-contact{display:inline-flex;align-items:center;border:1px solid currentColor;border-radius:999px;padding:9px 20px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;transition:all .25s;}
  .btn-contact:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
  .page-hero{position:relative;color:#fff;padding:96px 0 84px;text-align:center;overflow:hidden;}
  .page-hero .bg{position:absolute;inset:0;z-index:-2;background-color:#26231f;background-position:center;background-size:cover;background-repeat:no-repeat;}') center/cover no-repeat,#26231f;}
  .page-hero .crumb{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:20px;}
  .page-hero .crumb a:hover{color:#fff;}
  .page-hero .over{color:rgba(255,255,255,.78);display:block;margin-bottom:16px;}
  .page-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(36px,5.2vw,60px);line-height:1.06;margin-bottom:16px;}
  .page-hero p{max-width:640px;margin:0 auto;color:rgba(255,255,255,.82);font-size:16px;}

  /* Area overview */
  .area{padding:90px 0 20px;}
  .area-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:60px;align-items:start;}
  .area-body .over{display:block;margin-bottom:16px;}
  .area-body h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.4vw,40px);line-height:1.14;margin-bottom:22px;}
  .area-body p{color:#4f4b44;font-size:16px;margin-bottom:18px;}
  .glance{border:1px solid var(--line);padding:30px 32px;}
  .glance h3{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
  .glance .row{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-top:1px solid var(--line);}
  .glance .row:first-of-type{border-top:none;}
  .glance .row .k{color:var(--muted);font-size:14px;}
  .glance .row .v{font-family:var(--serif);font-weight:600;font-size:22px;}

  /* Buildings */
  .toolbar{position:sticky;top:80px;z-index:60;background:var(--greige);border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin-top:70px;}
  .toolbar .inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 40px;flex-wrap:wrap;}
  .toolbar .tabs{display:flex;gap:6px;}
  .toolbar .tabs button{background:none;border:1px solid transparent;font-family:var(--sans);font-weight:400;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:9px 18px;border-radius:999px;cursor:pointer;transition:all .2s;}
  .toolbar .tabs button.on{background:var(--ink);color:#fff;}
  .toolbar .count{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
  .directory{padding:56px 0 20px;}
  .directory .dh{margin-bottom:34px;}
  .directory .dh .over{display:block;margin-bottom:12px;}
  .directory .dh h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,3vw,34px);}
  .bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 30px;}
  .bcard{display:block;}
  .bgrid .bcard.beyond{display:none;}
  .nb-morewrap{display:flex;justify-content:center;padding:44px 0 4px;}
  .nb-morebtn{font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--ink);background:none;border:1px solid var(--ink);border-radius:999px;padding:15px 40px;cursor:pointer;transition:all .2s;}
  .nb-morebtn:hover{background:var(--ink);color:#fff;}
  .bphoto{position:relative;height:240px;background:#e7e3db center/cover no-repeat;overflow:hidden;}
  .bphoto .badge{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.94);color:var(--ink);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;}
  .bcard:hover .bphoto{filter:brightness(.94);}
  .card-fav{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,background .2s;box-shadow:0 1px 4px rgba(0,0,0,.12);}
  .card-fav:hover{transform:scale(1.08);}
  .card-fav.on{background:var(--ink);color:#fff;}
  .card-fav.on svg{fill:#fff;}
  .binfo{padding:18px 2px 0;}
  .bname{font-family:var(--serif);font-weight:600;font-size:23px;margin-bottom:5px;}
  .bmeta{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
  .bprice{font-size:15px;border-top:1px solid var(--line);padding-top:12px;}

  /* Living here */
  .empty-dir{border:1px solid var(--line);padding:44px 40px;text-align:center;max-width:760px;margin:0 auto;}
  .empty-dir p{color:#4f4b44;font-size:16px;margin-bottom:24px;}
  .empty-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .dining{padding:84px 0 20px;}
  .dining .head{margin-bottom:40px;}
  .dining .head .over{display:block;margin-bottom:14px;}
  .dining .head h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,38px);}
  .dine-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 30px;}
  .dine{border-top:1px solid var(--line);padding-top:20px;}
  .dine h3{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.1;margin-bottom:4px;}
  .dine .cuisine{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:9px;}
  .dine p{color:#4f4b44;font-size:15px;}
  .dine-note{margin-top:28px;font-size:12.5px;color:var(--muted);}
  .living{padding:84px 0;background:var(--greige);margin-top:50px;}
  .living .head{text-align:center;margin-bottom:50px;}
  .living .over{display:block;margin-bottom:14px;}
  .living h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,38px);}
  .live-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .live{background:var(--paper);border:1px solid var(--line);padding:32px 30px;}
  .live .ic{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
  .live h3{font-family:var(--serif);font-weight:600;font-size:21px;margin-bottom:10px;}
  .live p{color:#4f4b44;font-size:15px;}

  .samplenote{max-width:1280px;margin:0 auto;padding:34px 40px 0;}
  .samplenote span{display:block;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;}
  .foot-note{background:var(--paper);padding:80px 0 20px;text-align:center;}
  .foot-note h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,3vw,34px);max-width:680px;margin:0 auto 16px;}
  .foot-note p{color:var(--muted);max-width:560px;margin:0 auto 30px;}
  .btn-outline{display:inline-flex;align-items:center;gap:12px;font-weight:400;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;padding:16px 32px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;transition:all .3s;}
  .btn-outline:hover{background:var(--ink);color:#fff;}
  footer{background:var(--ink);color:rgba(255,255,255,.6);padding:44px 0;margin-top:60px;}
  .foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.45);align-items:center;}
  .foot-bottom .logo-static{display:flex;align-items:center;gap:9px;color:#fff;}
  .foot-bottom .logo-static .emblem{width:28px;height:28px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:14px;}
  .foot-bottom .logo-static .word{font-family:var(--serif);font-weight:600;font-size:20px;}
  @media (max-width:960px){.area-grid{grid-template-columns:1fr;gap:34px;}.bgrid{grid-template-columns:1fr 1fr;}.live-grid{grid-template-columns:1fr;}header nav,.hdr-right{display:none;}.menu-toggle{display:inline-flex;}}
  @media (max-width:600px){.wrap{padding:0 22px;}.bgrid{grid-template-columns:1fr;}.dine-grid{grid-template-columns:1fr;}.empty-dir{padding:32px 24px;}.samplenote{padding:24px 22px 0;}}

.word .of{font-style:italic;font-weight:500;}

/* neighborhood building map */
.nb-map{padding:20px 0 40px;}
.nb-map .head{margin-bottom:24px;}
.nb-map .over{display:block;margin-bottom:12px;}
.nb-map h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,3vw,34px);}
.nbmap{height:460px;border:1px solid var(--line);background:#eae7e0;z-index:0;}
.nbmap .leaflet-container{font-family:var(--sans);}
.nb-pin span{display:block;width:13px;height:13px;border-radius:50%;background:#171514;border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.45);}
.nb-map .map-note{font-size:12px;color:var(--muted);margin-top:14px;text-align:center;}
.leaflet-popup-content a{font-family:var(--sans);}

/* ===== Neighborhood "Local Reads" ===== */
.reads-hero .bg{background:linear-gradient(180deg,#2a2622,#1a1714);}
.nb-reads-cta{padding:10px 0 20px;}
.nb-reads-cta .nrc-inner{background:var(--greige);border:1px solid var(--line);padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.nb-reads-cta .over{display:block;margin-bottom:10px;}
.nb-reads-cta h2{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.6vw,30px);line-height:1.12;margin-bottom:8px;}
.nb-reads-cta p{color:#4f4b44;font-size:15px;max-width:560px;}
.nb-reads-cta .btn-outline{flex-shrink:0;}
.reads-curated{padding:64px 0 10px;}
.reads-sources{padding:54px 0 20px;}
.reads-curated .head,.reads-sources .head{margin-bottom:30px;}
.reads-curated .over,.reads-sources .over{display:block;margin-bottom:12px;}
.reads-curated h2,.reads-sources h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,3vw,34px);}
.rc-sub{color:var(--muted);font-size:15px;margin-top:10px;max-width:640px;}
.reads-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.read-card{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);padding:24px 24px 22px;transition:border-color .2s,transform .2s,box-shadow .2s;background:var(--paper);}
.read-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.06);}
.rc-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.rc-src-badge{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#fff;background:var(--ink);padding:4px 9px;border-radius:3px;}
.rc-kind{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.read-card h3{font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.22;flex:1;}
.rc-go{font-size:12px;letter-spacing:.04em;color:var(--ink);font-weight:400;border-top:1px solid var(--line);padding-top:12px;}
.read-card:hover .rc-go{color:var(--muted);}
.src-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.src-card{display:flex;flex-direction:column;gap:9px;border:1px solid var(--line);padding:22px 20px;transition:border-color .2s,transform .2s;background:var(--paper);}
.src-card:hover{border-color:var(--ink);transform:translateY(-2px);}
.src-top{display:flex;flex-direction:column;gap:4px;}
.src-name{font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.1;}
.src-kind{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.src-card p{color:#4f4b44;font-size:13.5px;line-height:1.5;flex:1;}
.src-go{font-size:11.5px;letter-spacing:.06em;color:var(--ink);}
.reads-disclaimer{margin-top:30px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;max-width:820px;}
@media (max-width:960px){.reads-grid{grid-template-columns:1fr 1fr;}.src-grid{grid-template-columns:1fr 1fr;}.nb-reads-cta .nrc-inner{padding:26px 24px;}}
@media (max-width:600px){.reads-grid,.src-grid{grid-template-columns:1fr;}}
