:root{--ink:#253b33;--paper:#f7f6ef;--line:#d9ddd3;--muted:#65756c;--active:#466f53;--under_contract:#b48032;--pending:#89697f;--sold:#7b8387}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit}header{padding:26px 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{font-size:37px;font-weight:800;letter-spacing:-2px;text-decoration:none;display:flex;gap:12px;align-items:center}.brand span{font-size:10px;letter-spacing:3px;border-left:1px solid #8a998e;padding-left:13px;line-height:25px}nav{display:flex;align-items:center;gap:30px}nav a{font-size:13px;text-decoration:none}.private,.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}.private{background:#e7ebdf;padding:10px 12px;border-radius:3px}main{max-width:1600px;margin:auto;padding:0 5%}.hero{padding:65px 0 46px;position:relative}.eyebrow{color:var(--muted)}h1{font-family:Georgia,serif;font-size:clamp(48px,6.2vw,90px);font-weight:400;letter-spacing:-3px;line-height:1.04;margin:24px 0 30px}h1 em{font-weight:400;color:#6c7f54}.intro{position:absolute;right:1%;bottom:47px;max-width:330px}.intro p{font-size:20px;line-height:1.5}.intro .sub{font-size:14px;color:var(--muted);line-height:1.7}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.stats div{border-right:1px solid var(--line);padding:0 25px}.stats div:first-child{padding-left:0}.stats div:last-child{border:0}.stats strong{font-family:Georgia,serif;font-size:37px;font-weight:400;display:block}.stats span{display:block;font-size:12px;color:var(--muted);margin-top:7px}#explore{padding-top:52px;scroll-margin-top:20px}.sectionhead{display:flex;justify-content:space-between;align-items:end}h2{font:400 clamp(27px,3vw,42px) Georgia,serif;letter-spacing:-1px;margin:12px 0 24px}.date{font-size:11px;line-height:1.8;text-align:right;color:var(--muted);margin-bottom:26px}.date b{font-weight:400}.toolbar{display:flex;gap:12px;align-items:end;margin:0 0 16px}.toolbar label{font-size:11px;color:var(--muted)}select{display:block;background:#fffef9;border:1px solid var(--line);border-radius:4px;padding:12px;color:var(--ink);margin-top:7px;font-size:13px}.search{display:flex;align-items:center;gap:10px;flex:1;border:1px solid var(--line);border-radius:4px;background:#fffef9;height:44px;padding:0 15px}.search span{font-size:25px}.search input{width:100%;outline:0;background:transparent;border:0;font-size:13px;color:var(--ink)}button{background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--ink);padding:12px 16px;font-size:12px}button:hover{background:#e6ebdf}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a1b278;outline-offset:3px}.mapwrap{position:relative;border:1px solid var(--line);border-radius:7px;overflow:hidden}#map{height:510px;background:#e8ece2}.mapkey{position:absolute;z-index:500;bottom:28px;left:16px;display:flex;gap:15px;align-items:center;padding:11px 13px;background:#fffffff2;border-radius:4px;font-size:10px;box-shadow:0 2px 12px #243b3312}.mapkey span{display:flex;align-items:center;gap:5px}i.active,.pin.active{background:var(--active)}i.under_contract,.pin.under_contract{background:var(--under_contract)}i.pending,.pin.pending{background:var(--pending)}i.sold,.pin.sold{background:var(--sold)}.mapkey i{width:8px;height:8px;display:inline-block;border-radius:50%}.mapfoot{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);padding-top:13px}.mapfoot button{padding:6px 10px}.fine{font-size:11px;line-height:1.7;color:var(--muted)}.listhead{display:flex;align-items:center;justify-content:space-between;margin:30px 0 17px}.listhead h3{font:400 25px Georgia,serif;margin:0}.listhead label{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.listhead select{margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:#fffef9;border:1px solid var(--line);border-radius:6px;padding:23px;text-align:left;position:relative;transition:box-shadow .2s;min-height:217px}.card:hover{box-shadow:0 8px 24px #243b3310;background:#fff}.card h3{font:400 23px Georgia,serif;margin:18px 0 4px}.card .location{font-size:11px;color:var(--muted);margin:0 0 20px}.card .bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e9ebe3;padding-top:14px}.price{font-size:20px;font-weight:500;letter-spacing:-.4px}.area{font-size:12px;color:var(--muted)}.badge{display:inline-block;font-size:9px;letter-spacing:1px;font-weight:700;background:#edf0e8;padding:7px 9px;border-radius:3px}.badge.active{color:var(--active);background:#eaf1e5}.badge.under_contract{color:#96691e;background:#f5eedc}.badge.pending{color:#7d5d73;background:#f0e8ee}.badge.sold{color:#637077;background:#edf0f0}.minor{display:block;font-size:10px;color:#7d6334;margin-top:13px}.records{margin-top:65px;border-top:1px solid var(--line);padding:50px 0;display:grid;grid-template-columns:1fr 1fr;gap:9%}.records p{font-size:14px;line-height:1.8;max-width:520px}.records .fine{font-size:11px}.records button{margin-top:10px}.review{background:#e9eddf;padding:29px;border-radius:5px}.review h3{font:400 28px Georgia,serif;margin:15px 0}.review li{font-size:12px;line-height:2}.review ul{padding-left:17px}.review .badge{background:#dce4cf}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:30px 0 40px}footer p{font-size:10px;line-height:1.8;color:var(--muted);max-width:650px}dialog{border:0;border-radius:9px;padding:35px;max-width:640px;width:calc(100% - 32px);max-height:90vh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#13281e88;backdrop-filter:blur(3px)}.close{position:absolute;right:12px;top:10px;border:0;font-size:26px;padding:4px 10px}dialog h2{margin-top:18px}dialog p,dialog li{font-size:13px;line-height:1.8}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detailgrid small{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.detailgrid strong{font-size:19px;font-weight:400}.callout{padding:15px;background:#e9eddf;border-radius:4px;margin-top:22px}.callout h3{font:400 21px Georgia,serif;margin:0 0 7px}.callout p{margin:0}.pin{color:white;border:2px solid white;border-radius:16px;padding:5px 8px;font-size:10px;font-weight:700;box-shadow:0 1px 6px #0004;white-space:nowrap;min-width:40px;text-align:center}.leaflet-div-icon{background:transparent;border:0}.pin.sold{width:12px;height:12px;min-width:12px;padding:0;border-radius:50%}.leaflet-popup-content h3{margin:9px 0;font:400 20px Georgia,serif}.leaflet-popup-content p{font-size:12px}.leaflet-popup-content button{width:100%}.map-error{padding:35px;color:#526350}.map-error p{max-width:480px;line-height:1.8}#empty{padding:40px;text-align:center}.loaderror{padding:40px;border:1px solid #b48032}
@media(min-width:1500px){.hero{padding-bottom:70px}.intro{right:8%;bottom:60px}}@media(max-width:900px){.intro{position:static;max-width:620px;display:flex;gap:30px}.intro p{flex:1;font-size:17px}.intro .sub{font-size:12px}.hero{padding-top:40px}h1{font-size:64px}.cards{grid-template-columns:repeat(2,1fr)}.records{gap:5%}nav{gap:14px}.private{font-size:8px}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.toolbar select{min-width:175px}#map{height:440px}}@media(max-width:580px){header{padding:20px 5%}nav a{display:none}.brand{font-size:30px}.private{font-size:7px}.hero{padding:35px 0 22px}h1{font-size:51px;letter-spacing:-2px}.intro{display:block}.intro p br{display:none}.intro p{font-size:17px}.stats{grid-template-columns:repeat(2,1fr);gap:20px}.stats div{padding-left:0;border:0}.stats strong{font-size:30px}.stats span{font-size:10px}.sectionhead{display:block}.date{text-align:left;margin:0 0 16px}h2{font-size:29px}.toolbar{gap:8px}.toolbar label:not(.search){flex:1}.toolbar select{width:100%;min-width:0;font-size:11px;padding:11px 5px}.toolbar>button{padding:12px 9px}.mapkey{left:8px;gap:8px;padding:9px 7px;font-size:8px}#map{height:395px}.mapfoot{font-size:10px}.listhead{align-items:start;gap:10px}.listhead h3{font-size:22px}.listhead label{font-size:0}.listhead select{font-size:10px;max-width:150px}.cards{grid-template-columns:1fr}.card{min-height:195px}.records{grid-template-columns:1fr;gap:25px;margin-top:40px;padding-top:35px}footer{display:block}footer p{margin-top:22px}dialog{padding:28px 22px}.detailgrid strong{font-size:17px}}

.google-pin{transform:translate(-50%,-100%);min-width:55px;line-height:16px;cursor:pointer;padding:5px 9px;font-family:Arial,Helvetica,sans-serif;z-index:1}.google-pin:hover,.google-pin:focus-visible{z-index:1000;filter:brightness(1.15);background:var(--active);color:white}.google-pin.under_contract:hover{background:var(--under_contract)}.google-pin.pending:hover{background:var(--pending)}.google-pin.sold{min-width:15px;width:15px;height:15px;padding:0;transform:translate(-50%,-50%);background:var(--sold)}.lot-popup{color:var(--ink);padding:4px 2px 6px;font-family:Arial,Helvetica,sans-serif;max-height:330px;overflow:auto}.lot-popup h3{font:400 21px Georgia,serif;margin:12px 0}.lot-popup p{font-size:12px;line-height:1.7}.lot-popup button{width:100%;font-size:12px}.mapkey{bottom:36px;pointer-events:none}@media(max-width:580px){.mapkey{bottom:42px}}
:root{--rental:#805b98;--small:#b17b21;--large:#386e51}.categories{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.category{border:2px solid transparent;border-radius:25px;padding:12px 18px;color:white;font-weight:700}.category b{margin-left:12px;opacity:.8}.rental.category,.rental.google-pin{background:var(--rental)}.small.category,.small.google-pin{background:var(--small)}.large.category,.large.google-pin{background:var(--large)}.category[aria-pressed=false]{opacity:.4}.category:focus-visible{outline:3px solid #243e33;outline-offset:3px}.badge.rental{color:var(--rental);background:#efe8f4}.badge.small{color:#81560e;background:#f7edd7}.badge.large{color:var(--large);background:#e3eee5}.card .scope{min-height:42px;font-size:14px;line-height:1.5}.card .minor{display:block;margin-top:14px}.popup{max-width:320px;color:#253b33;padding:5px;max-height:380px;overflow:auto}.popup h3{font:24px Georgia,serif;margin:12px 0}.popup p{font-size:12px;line-height:1.5}.popup dl{display:grid;grid-template-columns:85px 1fr;font-size:11px;gap:6px;margin:12px 0}.popup dt{font-weight:bold}.popup dd{margin:0}.popup button{border:1px solid #bbb;border-radius:4px;background:#f7f6ef;padding:8px}.detailgrid strong{font-size:15px;line-height:1.6}.google-pin:hover,.google-pin:focus-visible{filter:brightness(.9)}.google-pin.rental:hover{background:var(--rental)}.google-pin.small:hover{background:var(--small)}.google-pin.large:hover{background:var(--large)}.map-error a{text-decoration:underline}#mapCount{max-width:80%}.categories + .fine{margin-bottom:20px}@media(max-width:600px){.categories{gap:8px}.category{font-size:12px;padding:10px 12px}.hero h1{font-size:52px}nav a{display:none}}
/* Heyday reference palette and typography */
:root{--ink:#243e47;--paper:#fff;--line:#dce6e5;--muted:#617578;--projects:#009b80;--rental:#765b9d}body{background:#fff;color:var(--ink)}header{padding:18px 5%;background:#fff}.brand{display:block;line-height:0}.brand img{width:145px;height:auto}.hero{background:#cff1ec;margin:0 -5.56%;padding:52px 5.56% 42px}.hero .eyebrow{color:#008e79}.hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(38px,5vw,68px);letter-spacing:-2px;line-height:1.05;max-width:1050px;text-transform:uppercase;margin:22px 0}.hero h1 em{font-style:normal;color:#ba7414}.intro{display:block}.intro p{max-width:760px;font-size:18px;line-height:1.6}.stats{grid-template-columns:repeat(3,1fr);background:#f5f8f8;border-bottom:1px solid var(--line)}.stats strong{font-family:Arial,Helvetica,sans-serif;color:#008e79;font-weight:700}h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.5px}.sectionhead{justify-content:flex-end;margin-top:26px}.category.projects,.google-pin.projects{background:var(--projects)}.category.rental,.google-pin.rental{background:var(--rental)}.category{border-radius:3px;text-transform:uppercase;letter-spacing:1px;font-size:12px;padding:14px 22px;opacity:1}.category[aria-pressed=false]{opacity:1;background:#fff;color:var(--muted);border-color:var(--line)}.category[aria-pressed=true]{box-shadow:inset 0 -3px 0 #0002}.category[aria-pressed=true]::before{content:'✓ ';}.badge.projects{background:#dcf4ed;color:#007c65}.mapwrap{border-radius:0}.toolbar input,.toolbar button,.toolbar select{border-radius:2px}.project-rows{display:block;border-top:1px solid var(--line)}.row-heading,.project-row{display:grid;grid-template-columns:1.2fr 1.4fr 1.4fr 90px;gap:24px;align-items:center}.row-heading{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);padding:12px 20px;background:#f4f8f7}.project-row{padding:22px 20px;border-bottom:1px solid var(--line);background:white}.project-row:nth-child(even){background:#f7faf9}.project-row h3{font-size:18px;margin:10px 0 6px}.project-row .location{font-size:11px;color:var(--muted);margin:0}.project-row .scope,.row-stage{font-size:13px;line-height:1.65;margin:0}.row-stage{color:var(--muted)}.row-detail{border:0;border-bottom:1px solid #009b80;color:#007f68;background:transparent;font-size:12px;padding:8px 0}.row-detail:hover{background:#dcf4ed}.records{background:#f5f8f7;margin:50px -5.56% 0;padding:44px 5.56%;border:0}.review{background:#cff1ec;border-radius:0}footer{background:#f5f8f7;margin:0 -5.56%;padding:35px 5.56%}.detailgrid strong{font-size:14px}.google-pin.projects:hover{background:var(--projects)}.callout{background:#cff1ec}@media(max-width:800px){.row-heading{display:none}.project-row{grid-template-columns:1fr auto;gap:12px}.project-row .scope,.project-row .row-stage{grid-column:1/-1}.project-row .row-detail{grid-column:2;grid-row:1}.hero h1{letter-spacing:-1px}.brand img{width:115px}.stats strong{font-size:30px}}

.docs-line{padding:25px 0;border-top:1px solid var(--line);margin-top:35px;font-size:13px}
.filterbar{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.years{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.years button{background:white;border:1px solid #c5d5d1;padding:12px 15px;border-radius:3px;color:#617578;font-weight:700}.years button[aria-pressed=true]{background:#243e47;color:white;border-color:#243e47}.project-row,.row-heading{grid-template-columns:1.2fr 1.4fr 1.4fr 55px 80px}.lobster{border:0;background:transparent;color:#7b898b;width:44px;height:54px;padding:3px}.lobster svg{width:35px;height:46px}.lobster .lobster-fill{fill:transparent}.lobster.is-liked{color:#d83a32}.lobster.is-liked .lobster-fill{fill:#f7b0a9}.lobster:disabled{opacity:.45;cursor:wait}.lobster:focus-visible{outline:2px solid #009b80;outline-offset:2px;border-radius:3px}@media(max-width:800px){.project-row{grid-template-columns:1fr 45px 75px}.project-row .lobster{grid-column:2;grid-row:1}.project-row .row-detail{grid-column:3;grid-row:1}.project-row .scope,.project-row .row-stage{grid-column:1/-1}.years{margin-top:0}}

.lobster.is-liked .lobster-fill{fill:currentColor}

/* Compact shared like column directly after the address. */
.project-row,.row-heading{grid-template-columns:1.2fr 34px 1.4fr 1.4fr 80px;gap:20px}
.lobster{width:30px;height:38px;padding:3px}.lobster svg{width:23px;height:31px}
.cost-tier{display:inline-block;font-weight:800;color:#007f68;letter-spacing:1px;margin-right:5px;white-space:nowrap}.cost-na{color:var(--muted)}
@media(max-width:800px){.project-row{grid-template-columns:minmax(0,1fr) 34px 75px;gap:12px}.project-row .lobster{grid-column:2;grid-row:1}.project-row .row-detail{grid-column:3;grid-row:1}.project-row .scope,.project-row .row-stage{grid-column:1/-1}}

.lobster svg{width:28px;height:25px}.lobster{width:34px;height:32px}

/* Standard shared save control. */
.project-row,.row-heading{grid-template-columns:1.2fr 94px 1.4fr 1.4fr 80px}
.save-button{min-width:88px;min-height:44px;padding:10px 12px;border:1px solid #9bacaa;border-radius:6px;background:#fff;color:#243e47;font:600 14px/1.2 Arial,sans-serif;cursor:pointer;align-self:start;white-space:nowrap}
.save-button:hover{background:#e8f5ef;border-color:#007f68}.save-button.is-saved{background:#007f68;border-color:#007f68;color:#fff}.save-button:disabled{cursor:wait;opacity:.7}.save-button:focus-visible{outline:3px solid #009b80;outline-offset:3px}
@media(max-width:800px){.project-row{grid-template-columns:minmax(0,1fr) 94px 75px}.project-row .save-button{grid-column:2;grid-row:1}}

.save-button{min-width:44px;width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:28px;line-height:1;border-radius:8px;color:#007f68;border-color:#007f68}.save-button.is-saved{background:#007f68;color:white;border-color:#007f68}.save-button:disabled{font-size:24px}
