/* projects-v2: /sc/scdot-projects and /sc/private-projects only (PROJECTS-PAGES-SPEC Rev 3 §3.6, R3.1, R3.P). Tokens only. */
.pj,.pj *{min-width:0}
.pj-h{border-bottom:1px solid var(--line);padding:4px 0 16px;margin:0 0 20px}
.pj-h h1{font-size:32px;line-height:1.2;margin:14px 0 8px;color:var(--ink)}
.pj-intro{margin:0;color:var(--ink2);font-size:17px;line-height:1.5}
.pj{display:grid;grid-template-columns:1fr;gap:20px;padding-bottom:96px}
.pj-search{border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:0 0 16px}
.pj-search label{display:block;font-size:14px;font-weight:600;color:var(--ink2);margin:0 0 6px}
.pj-search>div{display:flex;flex-direction:column;gap:10px}
.pj-sel{width:100%;min-height:48px;padding:10px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px}
.pj-near{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:10px 16px;font:inherit;font-size:16px;font-weight:600;color:var(--skyd);background:transparent;border:1px solid var(--skyd);border-radius:12px;cursor:pointer}
.pj-near:hover{background:var(--tint)}
.pj-near:focus-visible,.pj-sel:focus-visible,.pj-link:focus-visible,.pj-bid a:focus-visible,.pj-row a:focus-visible{outline:3px solid var(--skyd);outline-offset:2px}
.pj-nearnote{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.pj-msg{margin:10px 0 0;font-size:15px;font-weight:600;color:var(--ink)}
.pj-map{margin:0}
.pj-map .scmap{display:block;width:100%;height:auto;max-height:260px;margin:0 auto}
.pj-map .scmap path{fill:var(--tint);stroke:var(--skyd);stroke-opacity:.35;stroke-width:1.2;stroke-linejoin:round;transition:fill .15s}
.pj-map .scmap text{display:none}
.pj-map .scmap a:hover path{fill:var(--sky);stroke-opacity:1}
.pj-map .scmap a:focus-visible path{fill:var(--skyd);stroke:var(--ink);stroke-opacity:1;stroke-width:3}
.pj-map .scmap a.pj-on path{fill:var(--sky);stroke:var(--ink);stroke-opacity:1;stroke-width:2}
.pj-map p{margin:6px 0 0;font-size:12px;line-height:1.4;color:var(--muted);text-align:center}
.pj-disc{margin:16px 0 0;padding:0 0 0 12px;border-left:3px solid var(--line);font-size:14px;line-height:1.5;color:var(--ink2)}
.pj-res h2{font-size:24px;line-height:1.25;margin:0 0 12px;color:var(--ink)}
.pj-card{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:16px;margin:0 0 16px}
.pj-card h3{font-size:18px;margin:0 0 8px;color:var(--ink)}
.pj-card>p{margin:10px 0;line-height:1.5;color:var(--ink2)}
.pj-link{display:flex;align-items:center;min-height:44px;padding:10px 14px;margin:8px 0;border:1px solid var(--skyd);border-radius:12px;color:var(--skyd);font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.pj-link:hover{background:var(--tint)}
.pj-leave{font-size:14px;line-height:1.5;color:var(--muted)}
.pj-num{font-size:28px;font-weight:700;color:var(--ink);margin-right:6px}
.pj-lbl{color:var(--ink2)}
.pj-rows{list-style:none;margin:12px 0 0;padding:0}
.pj-row{border-top:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}
.pj-row p{margin:0 0 2px;line-height:1.45;color:var(--ink2)}
.pj-row p:first-child{font-weight:600;color:var(--ink)}
.pj-row a{display:inline-flex;align-items:center;min-height:44px;color:var(--skyd);font-weight:600}
.pj-co{font-size:14px;color:var(--muted)}
.pj-bids ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:8px}
.pj-bid{overflow-wrap:anywhere}
.pj-bid a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;color:var(--skyd);font-weight:600;text-decoration:none}
.pj-bid a:hover{background:var(--tint)}
.pj-src{margin:12px 0 0;padding:10px 12px;background:var(--bg);border-radius:12px;font-size:13px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.pj-src p{margin:0 0 6px}
.pj-src p:last-child{margin:0}
.pj-src a{color:var(--skyd)}
.pj-draft{background:var(--tint);outline:1px dashed var(--skyd);padding:0 3px;color:var(--ink)}
@media (min-width:761px) and (max-width:983.98px){
.pj-search>div{flex-direction:row;align-items:center}
.pj-sel{flex:1 1 auto;width:auto}
.pj-near{flex:none;width:auto}
.pj-map .scmap{max-width:520px;max-height:none}
.pj-bids ul{grid-template-columns:1fr 1fr}
}
@media (min-width:984px){
.pj{grid-template-columns:44% 1fr;gap:32px;align-items:start}
.pj>div+div{position:sticky;top:16px}
.pj-map .scmap{max-height:none}
.pj-bids ul{grid-template-columns:1fr 1fr}
.pj-h h1{font-size:40px}
}
@media (max-width:400px){
.pj-h h1{font-size:27px}
.pj-res h2{font-size:21px}
}
@media (forced-colors:active){
.pj-card,.pj-src,.pj-link,.pj-bid a,.pj-near,.pj-sel,.pj-search{border:1px solid}
.pj-draft{outline:1px dashed}
}
@media print{
.pj-map,.pj-search{display:none}
.pj>div+div{position:static}
.pj-link,.pj-bid a,.pj-row a{display:inline;min-height:0;padding:0;border:0;color:inherit;text-decoration:underline}
.pj-card{box-shadow:none}
}
.pj-addrf{margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}
.pj-addrlbl{display:block;font-size:14px;font-weight:600;color:var(--ink2);margin:0 0 6px}
.pj-addrrow{display:flex;flex-direction:column;gap:10px}
.pj-addrin{width:100%;min-height:48px;padding:10px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px}
.pj-go{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:10px 18px;font:inherit;font-size:16px;font-weight:600;color:var(--bg);background:var(--skyd);border:1px solid var(--skyd);border-radius:12px;cursor:pointer}
.pj-go:hover{background:var(--deep)}
.pj-addrin:focus-visible,.pj-go:focus-visible,.pj-choice:focus-visible,.pj-plist a:focus-visible,.pj-nb a:focus-visible{outline:3px solid var(--skyd);outline-offset:2px}
.pj-addrnote{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.pj-choices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.pj-choice{min-height:44px;padding:8px 14px;font:inherit;font-size:15px;font-weight:600;color:var(--skyd);background:transparent;border:1px solid var(--skyd);border-radius:12px;cursor:pointer}
.pj-choice:hover{background:var(--tint)}
.pj-map .scmap a.pj-adj path{fill:var(--tint);stroke:var(--skyd);stroke-opacity:.9;stroke-width:1.6}
.pj-res h3{font-size:19px;line-height:1.3;margin:18px 0 6px;color:var(--ink)}
.pj-res h4{font-size:17px;line-height:1.3;margin:14px 0 6px;color:var(--ink)}
.pj-note{margin:0 0 8px;font-size:14px;line-height:1.45;color:var(--muted)}
.pj-plist{list-style:none;margin:0 0 8px;padding:0}
.pj-plist li{border-top:1px solid var(--line);overflow-wrap:anywhere}
.pj-plist a{display:flex;align-items:center;min-height:44px;padding:6px 0;color:var(--skyd);font-weight:600;text-decoration:none;line-height:1.35}
.pj-plist a:hover{text-decoration:underline}
.pj-none{margin:4px 0 8px;line-height:1.5;color:var(--ink2)}
.pj-nb{margin:12px 0 0;line-height:1.5;color:var(--ink2)}
.pj-nb ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}
.pj-nb a{display:inline-flex;align-items:center;min-height:44px;color:var(--skyd);font-weight:600}
.pj-fb{margin:16px 0 0}
.pj-fb>p{margin:8px 0;line-height:1.5;color:var(--ink2)}
.pj-cta{margin:24px 0 0;padding:16px;border:1px solid var(--line);border-radius:var(--r)}
.pj-cta p{margin:0 0 12px;line-height:1.5;color:var(--ink)}
@media (min-width:761px){
.pj-addrrow{flex-direction:row;align-items:center}
.pj-addrin{flex:1 1 auto;width:auto}
.pj-go{flex:none;width:auto}
}
@media (forced-colors:active){
.pj-addrin,.pj-go,.pj-choice,.pj-cta{border:1px solid}
}
/* cand-25 additions (/sc/private-projects only): count line, filter + search, Show 25 more, distance, ECHO county link. Tokens only. */
.pj-cnt{margin:8px 0 0;font-size:14px;line-height:1.45;color:var(--ink2)}
.pj-flt{margin:12px 0 0}
.pj-fltg{display:grid;grid-template-columns:1fr;gap:10px}
.pj-flt label{display:block;font-size:14px;font-weight:600;color:var(--ink2);margin:0 0 6px}
.pj-town,.pj-q{width:100%;min-height:48px;padding:10px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px}
.pj-flt .pj-sortl{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;font-weight:600}
.pj-sort{width:22px;height:22px;margin:0;flex:none}
.pj-more{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:12px 0 0;padding:10px 18px;font:inherit;font-size:16px;font-weight:600;color:var(--skyd);background:transparent;border:1px solid var(--skyd);border-radius:12px;cursor:pointer}
.pj-more:hover{background:var(--tint)}
.pj-row p.pj-dist{font-size:14px;color:var(--ink);font-weight:400}
.pj-echol{margin:14px 0 0;overflow-wrap:anywhere}
.pj-echol a{display:inline-flex;align-items:center;min-height:44px;color:var(--skyd);font-weight:600}
.pj-echon{margin:2px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.pj-town:focus-visible,.pj-q:focus-visible,.pj-sort:focus-visible,.pj-more:focus-visible,.pj-echol a:focus-visible{outline:3px solid var(--skyd);outline-offset:2px}
@media (min-width:761px){.pj-fltg{grid-template-columns:1fr 1fr}.pj-sortw{grid-column:1 / -1}.pj-more{width:auto}}
@media (forced-colors:active){.pj-town,.pj-q,.pj-more{border:1px solid}}
@media print{.pj-flt,.pj-morew{display:none}}
