: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);}
  .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 currentColor;border-radius:999px;background:transparent;cursor:pointer;transition:all .3s;color:var(--ink);}
  .btn-outline.dark:hover{background:var(--ink);color:#fff;}
  .btn-outline.light{color:#fff;}.btn-outline.light:hover{background:#fff;color:var(--ink);}
  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;}
  .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;cursor:pointer;font-family:var(--sans);}
  .btn-contact:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
  .menu-toggle{display:none;background:none;border:none;color:inherit;cursor:pointer;}
  .bhero{position:relative;height:56vh;min-height:420px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;}
  .bhero .bg{position:absolute;inset:0;z-index:-2;background-color:#2a2724;background-position:center;background-size:cover;background-repeat:no-repeat;}') center/cover no-repeat,#2a2724;}
  .bhero .wrap{width:100%;padding-bottom:42px;}
  .bhero .crumb{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:16px;}
  .bhero .crumb a:hover{color:#fff;}
  .bhero .over{color:rgba(255,255,255,.8);display:block;margin-bottom:10px;}
  .bhero h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5.4vw,60px);line-height:1;margin-bottom:10px;}
  .bhero .loc{font-size:14px;letter-spacing:.05em;color:rgba(255,255,255,.85);}
  .bhero .loc a{border-bottom:1px solid rgba(255,255,255,.5);}
  .statbar{background:var(--ink);color:#fff;}
  .statbar .inner{display:flex;flex-wrap:wrap;align-items:stretch;}
  .stat{flex:1 1 0;min-width:130px;padding:22px 28px;border-left:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;justify-content:center;}
  .stat:first-child{border-left:none;}
  .stat b{display:block;font-family:var(--serif);font-weight:600;font-size:26px;line-height:1;margin-bottom:6px;}
  .stat span{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);}
  .statbar .cta{display:flex;align-items:center;padding:16px 30px;flex:0 0 auto;}
  .fav-btn{display:inline-flex;align-items:center;gap:9px;cursor:pointer;background:transparent;font-family:var(--sans);}
  .fav-btn .heart{transition:fill .2s,stroke .2s;}
  .fav-btn.on{background:var(--ink);color:#fff;border-color:var(--ink);}
  .fav-btn.on .heart{fill:#fff;stroke:#fff;}
  .overview{padding:90px 0 76px;}
  .ov-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:start;}
  .ov-body .over{display:block;margin-bottom:18px;}
  .ov-body h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.4vw,40px);line-height:1.14;margin-bottom:22px;}
  .ov-body p{color:#4f4b44;font-size:16px;margin-bottom:18px;}
  .facts{border:1px solid var(--line);padding:30px 32px;}
  .facts h3{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
  .facts .pair{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);font-size:14.5px;gap:14px;}
  .facts .pair:first-of-type{border-top:none;}
  .facts .pair .k{color:var(--muted);}
  .amenities{padding:76px 0;background:var(--greige);}
  .amenities .head{text-align:center;margin-bottom:44px;}
  .amenities .over{display:block;margin-bottom:14px;}
  .amenities h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,38px);}
  .am-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .am{background:var(--paper);border:1px solid var(--line);padding:26px 22px;display:flex;flex-direction:column;gap:14px;}
  .am svg{stroke:var(--ink);}
  .am span{font-size:14.5px;}
  .avail{padding:90px 0 76px;}
  .avail .head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:36px;}
  .avail .over{display:block;margin-bottom:12px;}
  .avail h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,38px);}
  .ltable{width:100%;border-collapse:collapse;}
  .ltable thead th{text-align:left;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:400;padding:0 16px 16px;border-bottom:1px solid var(--line);}
  .ltable thead th:last-child,.ltable td:last-child{text-align:right;}
  .ltable tbody tr{border-bottom:1px solid var(--line);}
  .ltable td{padding:20px 16px;font-size:15px;}
  .ltable .unit{font-family:var(--serif);font-weight:600;font-size:19px;}
  .ltable .price{font-family:var(--serif);font-weight:600;font-size:19px;}
  .tag{display:inline-block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border:1px solid var(--line);color:var(--muted);}
  .tag.sale{background:var(--ink);color:#fff;border-color:var(--ink);}
  .tag.rent{background:#fff;color:var(--ink);border-color:var(--ink);}
  .lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 26px;}
  .lcard{display:block;}
  .lph{position:relative;height:216px;background:#e7e3db center/cover no-repeat;overflow:hidden;}
  .lph .tag{position:absolute;left:12px;top:12px;}
  .lcard:hover .lph{filter:brightness(.95);}
  .linfo{padding:16px 2px 0;}
  .lprice{font-family:var(--serif);font-weight:600;font-size:23px;line-height:1;}
  .lprice .mo{font-family:var(--sans);font-weight:300;font-size:14px;color:var(--muted);}
  .lspecs{font-size:14.5px;color:#4f4b44;margin:7px 0 4px;}
  .lunit{font-size:13px;color:var(--muted);}
  @media(max-width:900px){.lgrid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.lgrid{grid-template-columns:1fr;}}
  .location{padding:0 0 90px;}
  .loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  .loc-body .over{display:block;margin-bottom:14px;}
  .loc-body h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,36px);margin-bottom:16px;}
  .loc-body p{color:#4f4b44;margin-bottom:20px;}
  .map{height:360px;position:relative;overflow:hidden;background:#e9e5dd;}
  .map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(1) contrast(.9);transition:filter .4s ease;}
  .map:hover iframe{filter:none;}
  .gallery{padding:80px 0 20px;}
  .gallery .head{text-align:center;margin-bottom:34px;}
  .gallery .over{display:block;margin-bottom:12px;}
  .gallery h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,38px);}
  .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .gtile{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--greige);border:1px solid var(--line);cursor:zoom-in;}
  .gtile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
  .gtile:hover img{transform:scale(1.05);}
  .gal-note{font-size:12px;color:var(--muted);margin-top:16px;text-align:center;}
  .policies{padding:80px 0;background:var(--greige);}
  .pol-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start;}
  .pol-body .over{display:block;margin-bottom:14px;}
  .pol-body h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,36px);margin-bottom:16px;}
  .pol-body p{color:#4f4b44;margin-bottom:22px;}
  .pol-list{background:var(--paper);border:1px solid var(--line);}
  .pol{display:grid;grid-template-columns:1fr 1.35fr;gap:18px;padding:16px 22px;border-top:1px solid var(--line);font-size:14.5px;}
  .pol:first-child{border-top:none;}
  .pol .pk{color:var(--muted);}
  .pol .pv{color:var(--ink);}
  .pol .pv .pol-req{color:var(--muted);font-style:italic;}
  .faq-sec{padding:84px 0;}
  .faq-sec .head{margin-bottom:30px;}
  .faq-sec .over{display:block;margin-bottom:12px;}
  .faq-sec h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,38px);}
  .faq-list{max-width:840px;}
  .faq{border-top:1px solid var(--line);}
  .faq summary{list-style:none;cursor:pointer;padding:20px 42px 20px 0;position:relative;font-size:17px;font-weight:400;color:var(--ink);}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:'+';position:absolute;right:6px;top:16px;font-size:22px;line-height:1;color:var(--muted);transition:opacity .2s;}
  .faq[open] summary::after{content:'–';}
  .faq p{color:#4f4b44;font-size:15.5px;line-height:1.7;padding:0 42px 20px 0;margin:0;}
  .lightbox{position:fixed;inset:0;z-index:200;background:rgba(15,14,13,.92);display:none;align-items:center;justify-content:center;padding:30px;}
  .lightbox.show{display:flex;}
  .lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5);}
  .lightbox .lb-x{position:absolute;top:22px;right:26px;background:none;border:none;cursor:pointer;}
  .getting-around{padding:0 0 90px;}
  .getting-around .ga-head{max-width:660px;margin-bottom:34px;}
  .getting-around .over{display:block;margin-bottom:12px;}
  .getting-around h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,36px);margin-bottom:14px;}
  .getting-around .ga-head p{color:#4f4b44;}
  .ga-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
  .ws-tile{min-height:220px;display:flex;align-items:center;justify-content:center;background:var(--greige);border:1px solid var(--line);overflow:hidden;}
  .ws-tile:empty::after{content:'Walk Score, Transit Score & Bike Score display here on the live site.';color:var(--muted);font-size:13px;line-height:1.6;padding:28px;text-align:center;max-width:280px;}
  .ga-note p{color:#4f4b44;margin-bottom:20px;}
  @media (max-width:960px){.ga-grid{grid-template-columns:1fr;gap:26px;}}
  section.cta{position:relative;height:420px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;}
  section.cta .bg{position:absolute;inset:0;z-index:-2;background-color:#2a2724;background-position:center;background-size:cover;background-repeat:no-repeat;}
  .cta .inner{max-width:620px;padding:0 24px;}
  .cta .over{color:rgba(255,255,255,.8);display:block;margin-bottom:16px;}
  .cta h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,44px);line-height:1.14;margin-bottom:26px;}
  .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;}
  footer{background:var(--ink);color:rgba(255,255,255,.6);padding:44px 0;}
  .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){.ov-grid,.loc-grid{grid-template-columns:1fr;gap:34px;}.am-grid{grid-template-columns:1fr 1fr;}header nav,.hdr-right{display:none;}.menu-toggle{display:inline-flex;}.statbar .cta{display:none;}}
  @media (max-width:600px){.wrap{padding:0 22px;}.am-grid{grid-template-columns:1fr;}.stat{min-width:50%;}.ltable thead{display:none;}.ltable,.ltable tbody,.ltable tr,.ltable td{display:block;width:100%;}.ltable tr{padding:14px 0;}.ltable td{padding:3px 0;text-align:left!important;}.samplenote{padding:24px 22px 0;}}

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

/* buyer-diligence note + neighborhood reads link + more-in-neighborhood */
.pol-note{font-size:12px;color:var(--muted);line-height:1.55;padding:18px 22px 4px;border-top:1px solid var(--line);margin-top:0;}
.loc-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.loc-reads{font-size:13px;letter-spacing:.03em;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:3px;}
.loc-reads:hover{border-color:var(--ink);}
.more-nb{padding:20px 0 80px;}
.more-nb .head{margin-bottom:28px;}
.more-nb .head .over{display:block;margin-bottom:12px;}
.more-nb .head h2{font-family:var(--serif),Georgia,serif;font-weight:500;font-size:clamp(24px,3vw,34px);}
.sim-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.sim-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);padding:22px 22px;background:var(--paper);transition:border-color .2s,transform .2s;}
.sim-card:hover{border-color:var(--ink);transform:translateY(-2px);}
.sim-n{font-family:var(--serif),Georgia,serif;font-weight:600;font-size:20px;line-height:1.16;color:var(--ink);}
.sim-nb{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.sim-go{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-top:6px;}
.more-nb-cta{margin-top:30px;}
@media (max-width:820px){.sim-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.sim-grid{grid-template-columns:1fr;}}

/* real-photo credit badge on the building hero */
.bhero-credit{position:absolute;right:14px;bottom:12px;z-index:1;font-size:10.5px;letter-spacing:.06em;color:rgba(255,255,255,.72);background:rgba(15,14,13,.4);padding:4px 9px;border-radius:3px;backdrop-filter:blur(2px);}

/* cost-of-ownership calculator */
.calc{padding:0 0 90px;}
.calc .head{margin-bottom:34px;max-width:720px;}
.calc .head .over{display:block;margin-bottom:14px;}
.calc .head h2{font-family:var(--serif),Georgia,serif;font-weight:500;font-size:clamp(26px,3.2vw,36px);margin-bottom:14px;}
.calc .head p{color:#4f4b44;font-size:15.5px;}
.cc-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start;}
.cc-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cc-f{display:flex;flex-direction:column;gap:7px;}
.cc-f>span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.cc-in{display:flex;align-items:center;border:1px solid var(--line);background:#fff;padding:0 14px;}
.cc-in input{border:none;outline:none;width:100%;font-family:var(--sans);font-weight:300;font-size:16px;color:var(--ink);padding:13px 0;background:none;}
.cc-in.money::before{content:'$';color:var(--muted);margin-right:6px;}
.cc-in.suf::after{content:attr(data-suf);color:var(--muted);margin-left:6px;font-size:13px;}
.cc-out{background:var(--greige);border:1px solid var(--line);padding:30px 32px;}
.cc-total{text-align:center;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:20px;}
.cc-lab{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.cc-big{display:block;font-family:var(--serif),Georgia,serif;font-weight:600;font-size:44px;line-height:1;color:var(--ink);}
.cc-sub{display:block;font-size:13px;color:var(--muted);margin-top:10px;}
.cc-rows{display:flex;flex-direction:column;gap:2px;}
.cc-row{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-top:1px solid var(--line);font-size:14.5px;}
.cc-row:first-child{border-top:none;}
.cc-row span{color:#4f4b44;}
.cc-row b{font-family:var(--serif),Georgia,serif;font-weight:600;font-size:18px;}
.cc-note{font-size:12px;color:var(--muted);margin-top:18px;line-height:1.5;}
.cc-note a{color:var(--ink);border-bottom:1px solid var(--line);}
@media (max-width:860px){.cc-grid{grid-template-columns:1fr;gap:28px;}}
@media (max-width:480px){.cc-inputs{grid-template-columns:1fr;}}

/* per-building new-listing alerts */
.notify{margin-top:40px;background:var(--ink);color:#fff;padding:34px 38px;}
.notify-in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.notify-txt .over{color:rgba(255,255,255,.6);display:block;margin-bottom:10px;}
.notify-txt h3{font-family:var(--serif),Georgia,serif;font-weight:500;font-size:clamp(21px,2.4vw,27px);line-height:1.15;margin-bottom:6px;color:#fff;}
.notify-txt p{color:rgba(255,255,255,.75);font-size:14.5px;max-width:460px;}
.notify-form{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap;}
.notify-form input{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;padding:14px 16px;font-family:var(--sans);font-size:15px;min-width:230px;outline:none;}
.notify-form input::placeholder{color:rgba(255,255,255,.5);}
.notify-form input:focus{border-color:#fff;}
.notify-form button{background:#fff;color:var(--ink);border:none;padding:14px 26px;font-family:var(--sans);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:opacity .2s;}
.notify-form button:hover{opacity:.85;}
.notify-thanks{margin-top:40px;background:var(--greige);border:1px solid var(--line);padding:26px 32px;font-family:var(--serif),Georgia,serif;font-style:italic;font-size:19px;color:var(--ink);text-align:center;}
@media (max-width:760px){.notify-in{flex-direction:column;align-items:flex-start;}.notify-form input{min-width:0;flex:1;}}

/* recent sales chart + table */
.sales{padding:0 0 90px;}
.sales .head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:30px;}
.sales .head .over{display:block;margin-bottom:12px;}
.sales .head h2{font-family:var(--serif),Georgia,serif;font-weight:500;font-size:clamp(26px,3.2vw,36px);}
.sales-sum{display:flex;gap:34px;}
.sales-sum div{text-align:right;}
.sales-sum b{display:block;font-family:var(--serif),Georgia,serif;font-weight:600;font-size:24px;line-height:1;}
.sales-sum span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.sales-chartwrap{border:1px solid var(--line);padding:20px 22px;background:var(--paper);margin-bottom:26px;}
.sales-chart{width:100%;height:auto;display:block;}
.sales-chart .ca{fill:rgba(23,21,20,.06);}
.sales-chart .cl{fill:none;stroke:var(--ink);stroke-width:2;}
.sales-chart .cd{fill:#fff;stroke:var(--ink);stroke-width:2;}
.sales-chart .cg{stroke:var(--line);stroke-width:1;}
.sales-chart .cyl,.sales-chart .cxl{fill:var(--muted);font-family:var(--sans),sans-serif;}
.sales-tablewrap{overflow-x:auto;}
.sales-table{width:100%;border-collapse:collapse;min-width:560px;}
.sales-table th{text-align:left;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400;padding:0 14px 14px;border-bottom:1px solid var(--ink);}
.sales-table td{padding:15px 14px;font-size:14.5px;border-bottom:1px solid var(--line);color:#33302b;}
.sales-table td.u{font-family:var(--serif),Georgia,serif;font-weight:600;font-size:16px;color:var(--ink);}
.sales-table td.p{font-family:var(--serif),Georgia,serif;font-weight:600;font-size:16px;color:var(--ink);}
.sales-table th:nth-child(4),.sales-table th:nth-child(5),.sales-table th:nth-child(6),.sales-table td:nth-child(4),.sales-table td:nth-child(5),.sales-table td:nth-child(6){text-align:right;}
@media (max-width:640px){.sales-sum{gap:20px;}.sales-sum b{font-size:19px;}}

/* CLS: reserve space for the JS-injected cost calculator so content doesn't jump */
#cost-calc{min-height:474px;}
@media (max-width:640px){#cost-calc{min-height:650px;}}
