

:root {
  --paper:#ECE7DD; --surface:#FBFAF6; --ink:#221E18; --ink-soft:#5A5247;
  --line:#DDD6C7; --line-soft:#E7E0D2; --signal:#1E6B4C; --signal-deep:#15583F;
  --blueprint:#83611B; --on-signal:#FBFAF6; --bad:#AF4629;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --disp: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  --mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Consolas, monospace;
}
@media (prefers-color-scheme: dark) {
  :root { --paper:#16130E; --surface:#1E1A13; --ink:#F0EADD; --ink-soft:#D4CBBA;
          --line:#342C1F; --line-soft:#262117; --signal:#5BBE93; --signal-deep:#74CBA5;
          --blueprint:#D3A64C; --on-signal:#16130E; --bad:#E08C6C; }
}

* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
html, body { overflow-x:clip; }
body {
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:16.5px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.bar, .crumbs, main, footer { max-width:1120px; margin-inline:auto; padding-inline:28px; }
@media (max-width:640px) { .bar, .crumbs, main, footer { padding-inline:16px; } }

.bar { display:flex; align-items:center; gap:18px; padding-block:18px; }
.logo { font-family:var(--disp); font-weight:800; letter-spacing:-.02em; font-size:19px;
        text-decoration:none; color:var(--ink); }
.logo b { color:var(--signal); }
.bar .spacer { flex:1; }
.barlink { font-size:14px; color:var(--ink-soft); text-decoration:none; }
.barlink:hover { color:var(--ink); }
.barlink.signin { color:var(--signal); font-weight:600; }
@media (max-width:520px) { .barlink:not(.signin) { display:none; } }

.crumbs {
  font-family:var(--mono); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-soft); padding-block:10px 26px; border-top:1px solid var(--line-soft);
  padding-top:14px;
}
.crumbs a { color:var(--ink-soft); text-decoration:none; }
.crumbs a:hover { color:var(--signal); }
.crumbs a:last-child { color:var(--ink); }

.kicker {
  font-family:var(--mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--blueprint); margin:0 0 10px;
}
h1 {
  font-family:var(--disp); font-weight:800; font-size:clamp(28px, 5vw, 40px);
  letter-spacing:-.03em; line-height:1.08; margin:0 0 14px; text-wrap:balance;
}
h2 {
  font-family:var(--disp); font-weight:800; font-size:18px; letter-spacing:-.02em;
  margin:0 0 14px; text-wrap:balance;
}
main > h2 { margin-top:44px; }
main > section, main > .browse, main > .panels, main > .mix, main > .cards { margin-top:44px; }
main > .summary { margin-top:0; }
main > ul.chips { margin-top:16px; }
.lede { font-size:17px; color:var(--ink-soft); margin:0 0 28px; max-width:68ch; }
.note { font-size:14px; color:var(--ink-soft); margin:0 0 14px; max-width:68ch; }

dl.facts {
  display:grid; grid-template-columns:max-content 1fr; gap:0;
  margin:0; background:var(--surface); border:1px solid var(--line); border-radius:3px;
  overflow:hidden;
}
dl.facts dt, dl.facts dd { padding:11px 16px; border-top:1px solid var(--line-soft); }
dl.facts dt:first-of-type, dl.facts dt:first-of-type + dd { border-top:0; }
dl.facts dt {
  font-family:var(--mono); font-size:11px; letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-soft); white-space:nowrap; padding-right:22px;
}
dl.facts dd { margin:0; font-size:15.5px; }
dl.facts dd a { color:var(--signal); }

.chip {
  display:inline-block; font-family:var(--mono); font-size:10.5px; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border-radius:2px;
  color:var(--signal-deep); background:color-mix(in srgb, var(--signal) 12%, transparent);
  border:1px solid color-mix(in srgb, var(--signal) 34%, transparent);
}
@media (prefers-color-scheme: dark) { .chip { color:var(--signal); } }

ul.plist { list-style:none; margin:0; padding:0; border-top:1px solid var(--line-soft); }
ul.plist li { padding:11px 0; border-bottom:1px solid var(--line-soft); overflow-wrap:anywhere; }
ul.plist li:last-child { border-bottom:0; }
ul.plist a { font-weight:600; color:var(--ink); text-decoration:none; }
ul.plist a:hover { color:var(--signal); text-decoration:underline; }

ul.plist .pn { font-weight:600; color:var(--ink); }
ul.plist .m {
  display:block; margin-top:3px; font-size:13.5px; color:var(--ink-soft);
  font-variant-numeric:tabular-nums;
}

.more { margin:18px 0 0; font-size:14px; color:var(--ink-soft); }
.more a { color:var(--signal); }

.near { font-size:14.5px; line-height:2.1; color:var(--ink-soft); margin:0; }
.near a {
  color:var(--signal); text-decoration:none; white-space:nowrap;
  border-bottom:1px solid color-mix(in srgb, var(--signal) 28%, transparent);
}
.near a:hover { border-bottom-color:var(--signal); }

.gate {
  margin:44px 0 0; padding:22px 24px; border-radius:8px; max-width:760px;
  background:var(--surface); border:1px solid var(--line);
  border-left:3px solid var(--blueprint);
}
.gate h2 { margin:0 0 12px; padding:0; border:0; font-size:16.5px; }
.gate ul { margin:0; padding-left:19px; color:var(--ink-soft); font-size:14.5px; line-height:1.75; }
.gate p { margin:18px 0 0; }
.cta {
  display:inline-block; font-family:var(--sans); font-weight:650; font-size:15px;
  padding:11px 20px; border-radius:3px; text-decoration:none;
  background:var(--signal); color:var(--on-signal);
}
.cta:hover { background:var(--signal-deep); }
.tracker {
  display:flex; align-items:center; justify-content:space-between; gap:16px 24px; flex-wrap:wrap;
  margin:18px 0 0; padding:16px 20px; border-radius:8px;
  background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--signal);
}
.tracker p { margin:0; max-width:62ch; font-size:15px; color:var(--ink-soft); }
.tracker b { color:var(--ink); }
.tracker .cta { white-space:nowrap; }
@media (max-width:640px) { .tracker .cta { width:100%; text-align:center; white-space:normal; } }
.more-cta { margin:14px 0 0; }
.free-note, .gate p.free-note { margin:8px 0 0; font-size:13px; color:var(--ink-soft); }
.alt { margin-left:14px; font-weight:600; color:var(--signal); white-space:nowrap; }
@media (max-width:640px) { .alt { display:block; margin:12px 0 0; } }

footer {
  margin-top:52px; padding-block:22px 56px; border-top:1px solid var(--line);
  font-size:13.5px; color:var(--ink-soft);
}
footer p { margin:0 0 8px; max-width:62ch; }
footer a { color:var(--ink-soft); }

a { color:var(--signal); text-underline-offset:2px; }
a:focus-visible { outline:2px solid var(--blueprint); outline-offset:2px; }

@media (max-width:560px) {
  dl.facts { grid-template-columns:1fr; }
  dl.facts dt { padding-bottom:0; border-top:1px solid var(--line-soft); }
  dl.facts dt + dd { padding-top:4px; border-top:0; }
  dl.facts dt:first-of-type + dd { border-top:0; }
}

ul.hub { list-style:none; margin:0; padding:0; columns:2; column-gap:34px; font-size:14.5px; }
ul.hub li { break-inside:avoid; padding:5px 0; }
ul.hub a { color:var(--ink); text-decoration:none; }
ul.hub a:hover { color:var(--signal); text-decoration:underline; }
ul.hub .m { color:var(--ink-soft); font-size:13px; }
@media (min-width:900px) { ul.hub { columns:3; } }
@media (max-width:560px) { ul.hub { columns:1; } }

.correct { margin:20px 0 0; font-size:13px; color:var(--ink-soft); }

.summary {
  background:var(--surface); border:1px solid var(--line); border-radius:8px; overflow:hidden;
}
dl.tiles {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:0;
  margin:0; background:var(--surface); overflow:hidden;
}
dl.tiles > div { padding:16px 18px; min-width:0;
                 box-shadow:1px 0 0 var(--line-soft), 0 1px 0 var(--line-soft); }
dl.tiles dt {
  font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-soft);
}
dl.tiles dd {
  margin:4px 0 0; font-family:var(--disp); font-weight:800; font-size:28px; letter-spacing:-.02em;
  line-height:1.15; font-variant-numeric:tabular-nums;
}
main > dl.tiles, section > dl.tiles {
  border:1px solid var(--line); border-radius:8px; overflow:hidden;
}
dl.tiles.txt { grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); }
dl.tiles.txt dd { font-family:var(--sans); font-size:16.5px; font-weight:600; letter-spacing:0;
                  line-height:1.4; overflow-wrap:anywhere; }

.label {
  font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-soft); margin:0 0 10px;
}
.stages { padding:16px 18px 18px; border-top:1px solid var(--line-soft); }
.sbar { display:flex; gap:2px; height:12px; border-radius:6px; overflow:hidden; }
.sbar span { min-width:4px; }
.legend { list-style:none; margin:12px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px 18px;
          font-size:14px; color:var(--ink-soft); }
.legend li { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.legend i { width:10px; height:10px; border-radius:3px; display:inline-block; }
.legend b { color:var(--ink); font-weight:650; font-variant-numeric:tabular-nums; }

.t1 { --tone:var(--blueprint); }
.t2 { --tone:color-mix(in srgb, var(--signal) 55%, var(--surface)); }
.t3 { --tone:var(--signal); }
.t4 { --tone:color-mix(in srgb, var(--ink-soft) 70%, var(--surface)); }
.t0 { --tone:var(--line); }
.s-land { --tone:color-mix(in srgb, var(--blueprint) 35%, var(--surface)); }
.s-financed { --tone:color-mix(in srgb, var(--blueprint) 60%, var(--surface)); }
.s-review { --tone:color-mix(in srgb, var(--signal) 32%, var(--surface)); }
.s-sitework { --tone:color-mix(in srgb, var(--signal) 78%, var(--surface)); }
.s-opened { --tone:color-mix(in srgb, var(--ink-soft) 40%, var(--surface)); }
.sbar span, .legend i { background:var(--tone); }

ul.chips { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
ul.chips li { min-width:0; }
ul.chips a, ul.chips span:not(.n) {
  display:inline-flex; align-items:baseline; gap:8px; max-width:100%;
  padding:6px 13px; border-radius:999px; font-size:14.5px; line-height:1.35;
  background:var(--surface); border:1px solid var(--line); color:var(--ink); text-decoration:none;
}
ul.chips a:hover { border-color:var(--signal); color:var(--signal); }
ul.chips .n { font-family:var(--mono); font-size:12px; color:var(--ink-soft);
              font-variant-numeric:tabular-nums; }
ul.chips.cols { display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); }
ul.chips.cols a { display:flex; justify-content:space-between; width:100%; border-radius:6px; }
ul.chips.rel a { color:var(--signal); }
ul.chips.static span:not(.n) { background:transparent; }

.mix { margin-top:22px; }
.browse { display:grid; gap:32px; }
@media (min-width:860px) { .browse { grid-template-columns:1fr 1fr; gap:40px; } }

ul.cards {
  list-style:none; margin:0; padding:0; display:grid; gap:14px;
  grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
}
@media (max-width:420px) { ul.cards { grid-template-columns:1fr; } }
li.card {
  display:flex; flex-direction:column; gap:3px; min-width:0; padding:16px 18px;
  background:var(--surface); border:1px solid var(--line); border-radius:8px;
  overflow-wrap:anywhere;
}
li.card .ct { display:flex; align-items:center; justify-content:space-between; gap:10px;
              margin-bottom:8px; }
li.card .pn, li.card > a { font-weight:650; font-size:16px; line-height:1.3; color:var(--ink);
                           text-decoration:none; }
li.card > a:hover { color:var(--signal); text-decoration:underline; }
li.card .ln { font-size:14px; line-height:1.45; color:var(--ink-soft); }
li.card .vb {
  margin-top:auto; padding-top:10px; font-size:13.5px; font-weight:600; color:var(--ink);
  font-variant-numeric:tabular-nums;
}
li.card .when { font-family:var(--mono); font-size:12px; color:var(--ink-soft); margin-left:auto;
                white-space:nowrap; }
li.card .when:only-child { margin-left:0; }
.pill {
  display:inline-block; font-family:var(--mono); font-size:10.5px; font-weight:600;
  letter-spacing:.07em; text-transform:uppercase; padding:3px 9px; border-radius:999px;
  color:var(--ink); white-space:nowrap;
  background:color-mix(in srgb, var(--tone) 22%, var(--surface));
  border:1px solid color-mix(in srgb, var(--tone) 55%, var(--surface));
}

.panels { display:grid; gap:16px; align-items:start; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); }
@media (max-width:420px) { .panels { grid-template-columns:1fr; } }
.panels > section {
  min-width:0; padding:18px 20px 8px; background:var(--surface); border:1px solid var(--line);
  border-radius:8px;
}
.panels h2 { font-size:16px; }
.panels ul.plist { border-top:0; }
.panels ul.plist .pn { font-size:15px; }
.panels .near { line-height:1.7; margin-bottom:12px; }
.panels ul.chips { margin-bottom:12px; }
