.project-explorer { display:grid; grid-template-columns:minmax(300px,.9fr) minmax(0,1.4fr); border-top:1px solid var(--line); gap:28px; }
body:has(.project-explorer) .page-head { padding:28px 0 22px; }
body:has(.project-explorer) .page-head .breadcrumb { display:none; }
body:has(.project-explorer) .page-head h1 { font-size:clamp(38px,4vw,55px); }
body:has(.project-explorer) .page-head p { max-width:100%; font-size:15px; }
body:has(.project-explorer) .page-body { padding-top:24px; }
body:has(.project-explorer) .hub-toolbar { margin-bottom:12px; }
body:has(.project-explorer) .tag-tabs { margin:12px 0; }
.project-results { height:740px; overflow-y:auto; overscroll-behavior:contain; padding-right:10px; scrollbar-gutter:stable; }
.project-result { display:block; width:100%; border:0; border-bottom:1px solid var(--line); padding:20px; background:var(--paper); color:var(--ink); text-align:left; cursor:pointer; }
.project-result[aria-pressed="true"] { background:#dfeeed; box-shadow:inset 4px 0 var(--teal); }
.project-result h2 { font-size:18px; line-height:1.4; margin:6px 0 9px; }
.project-result span { color:var(--teal-dark); font-size:11px; font-weight:700; }
.project-result p { margin:0; font-size:13px; color:var(--muted); }
.project-map-column { min-width:0; }
#project-map { height:420px; background:#dce7e6; z-index:1; }
#project-detail { padding:24px; background:var(--paper); border:1px solid var(--line); scroll-margin-top:20px; }
#project-detail h2 { font-size:25px; line-height:1.3; margin:0 0 12px; }
#project-detail p { font-size:14px; color:var(--muted); }
#project-detail dl { display:grid; grid-template-columns:1fr 1fr; gap:16px; font-size:13px; }
#project-detail dt { color:var(--teal-dark); font-weight:700; } #project-detail dd { margin:4px 0 0; }
.address-search { padding:16px 0; border-bottom:1px solid var(--line); }
.address-search summary { cursor:pointer; color:var(--teal-dark); font-size:14px; font-weight:700; }
.address-search form { margin-top:18px; }
#address-results button { display:block; margin:8px 0; padding:10px; border:1px solid var(--line); background:white; color:var(--navy); text-align:left; cursor:pointer; }
@media(max-width:860px) { .project-explorer { grid-template-columns:1fr; gap:24px; } .project-results { height:380px; } #project-map { height:300px; } }
