.housing-system-page{background:#edf3f8}
.housing-help{background:#0d1b4a;color:#fff}
.housing-help a{color:#7ee8f5;font-weight:700;text-decoration:underline;text-underline-offset:3px}

.housing-hero{
  padding:86px 0 92px;
  background:
    radial-gradient(circle at 82% 22%,rgba(0,180,216,.2),transparent 27%),
    linear-gradient(135deg,#0d1b4a 0%,#14285d 62%,#1a2b6b 100%);
  color:#d8e5f2;
}
.housing-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:64px;align-items:end}
.housing-hero h1{color:#fff;margin-top:15px;max-width:11ch}
.housing-hero .lead{color:#d8e5f2;margin-top:22px;max-width:63ch}
.pilot-line{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-family:'DM Sans',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.pilot-line span{background:#00b4d8;color:#0d1b4a;padding:5px 8px;border-radius:999px;font-weight:700}
.pilot-line b{color:#b8cce1;font-weight:600}
.housing-thesis{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}
.housing-thesis>div{display:grid;grid-template-columns:34px 82px 1fr;gap:12px;align-items:start;padding:18px 20px;border-top:1px solid rgba(255,255,255,.12)}
.housing-thesis>div:first-child{border-top:0}
.housing-thesis span{color:#00b4d8;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700}
.housing-thesis strong{color:#fff;font-family:'DM Sans',sans-serif;font-size:13px}
.housing-thesis p{color:#c7d8e9;font-size:12px;line-height:1.45}

.explorer-section{padding:76px 0 90px}
.explorer-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:28px}
.explorer-heading h2{margin-top:12px;max-width:20ch}
.explorer-heading>p{max-width:53ch;font-size:14px}
.housing-app{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:22px}

.lens-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.lens-switch button{display:block;text-align:left;border:1px solid #cad7e6;background:#fff;color:var(--navy);padding:17px 18px;border-radius:8px;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
.lens-switch button:hover{border-color:var(--teal);transform:translateY(-1px)}
.lens-switch button[aria-pressed="true"]{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 12px 26px -20px rgba(13,27,74,.7)}
.lens-switch span{display:block;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700}
.lens-switch small{display:block;margin-top:5px;font-size:10.5px;line-height:1.4;color:#667996}
.lens-switch button[aria-pressed="true"] small{color:#cad9e8}

.housing-controls{display:grid;grid-template-columns:minmax(230px,1.45fr) minmax(190px,.8fr) minmax(190px,.8fr) auto;gap:11px;align-items:end;margin-top:20px}
.housing-controls label>span{display:block;color:var(--navy);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;margin-bottom:6px}
.housing-controls input,.housing-controls select{width:100%;height:45px;border:1px solid #cad7e6;border-radius:6px;background:#fff;color:var(--navy);padding:0 12px;font:inherit;font-size:13px}
.housing-controls input:focus,.housing-controls select:focus{outline:3px solid rgba(0,180,216,.2);border-color:var(--teal)}
.housing-reset{height:45px;white-space:nowrap;border-radius:6px}

.housing-snapshot{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;background:#f3f7fb;border:1px solid var(--line)}
.housing-snapshot div{padding:13px 16px;border-left:1px solid var(--line)}
.housing-snapshot div:first-child{border-left:0}
.housing-snapshot strong{display:block;color:var(--navy);font-family:'DM Sans',sans-serif;font-size:22px;line-height:1}
.housing-snapshot span{display:block;font-size:10px;line-height:1.35;margin-top:5px;color:#60738f}

.lens-context{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:24px}
.lens-context h3{font-size:19px;margin-top:5px}
.lens-context p{font-size:12.5px;margin-top:4px}
.lens-context button{border:0;background:transparent;color:var(--blue);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:5px}
.filter-kicker{display:block;color:var(--teal);font-family:'DM Sans',sans-serif;font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.housing-truth{margin-top:13px;padding:11px 13px;border-left:4px solid #e87525;background:#fff6e9;color:#6a5a43;font-size:11px;line-height:1.5}
.housing-truth strong{color:var(--navy)}

.housing-workspace{display:grid;grid-template-columns:minmax(325px,.72fr) minmax(0,1.48fr);min-height:700px;margin-top:20px;border-top:1px solid var(--line)}
.housing-results{min-width:0;border-right:1px solid var(--line);padding:18px 18px 0 0;display:flex;flex-direction:column}
.housing-results-head{margin-bottom:11px}
.housing-results-head strong{display:block;color:var(--navy);font-family:'DM Sans',sans-serif;font-size:15px}
.housing-results-head span{display:block;font-size:10.5px;line-height:1.45;margin-top:2px}
.housing-list{max-height:640px;overflow:auto;padding-right:9px;scrollbar-color:#bdcadd transparent}
.housing-card{border-top:1px solid var(--line);padding:15px 4px 16px;cursor:pointer}
.housing-card:first-child{border-top:0}
.housing-card:hover,.housing-card.is-selected{background:#f4f8fc}
.housing-card.is-selected{box-shadow:inset 3px 0 0 var(--teal);padding-left:11px}
.housing-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.housing-card h3{font-size:15px;line-height:1.25;margin:0;max-width:none}
.housing-card-type{flex:none;border-radius:999px;background:#e8eef7;color:var(--blue);padding:4px 7px;font-family:'DM Sans',sans-serif;font-size:8.5px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.06em}
.housing-card-type--door{background:#e9f6ed;color:#1d6f43}
.housing-card-type--funded{background:#fff0df;color:#8b4b12}
.housing-place{font-size:11px;color:#60738f;margin-top:4px}
.housing-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.housing-chips span{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);padding:4px 7px;font-size:9.5px;line-height:1.1}
.status-line{display:flex;gap:7px;align-items:flex-start;margin-top:9px;padding:8px 9px;background:#eefbfc;color:#315c64;font-size:10px;line-height:1.4}
.status-line--unknown{background:#fff6e9;color:#705932}
.status-line--warning{background:#fff1eb;color:#78452e}
.status-line i{width:7px;height:7px;border-radius:50%;background:#00a3c2;flex:none;margin-top:3px}
.status-line--unknown i{background:#d59b2d}
.status-line--warning i{background:#df6d36}
.housing-card-source{font-size:9.5px;color:#75849a;margin-top:9px}
.housing-card-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:9px}
.housing-card-actions a,.housing-card-actions button{border:0;background:transparent;color:var(--blue);font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:0;cursor:pointer}
.project-funding-details{margin-top:10px;border:1px solid var(--line);background:#f8fafc}
.project-funding-details summary{cursor:pointer;padding:9px 10px;color:var(--blue);font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700}
.project-funding-list{border-top:1px solid var(--line);padding:2px 10px 9px}
.project-funding-item{padding:8px 0;border-top:1px solid var(--line)}
.project-funding-item:first-child{border-top:0}
.project-funding-item strong{display:block;color:var(--navy);font-family:'DM Sans',sans-serif;font-size:10px;line-height:1.35}
.project-funding-item span{display:block;color:#687a96;font-size:9px;line-height:1.45;margin-top:3px}
.project-funding-item a{display:inline-block;margin-top:5px;color:var(--blue);font-family:'DM Sans',sans-serif;font-size:9px;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.funding-guardrail{margin-top:4px;padding:8px;background:#fff6e9;color:#705932;font-size:9px;line-height:1.45}
.empty-housing{padding:18px;background:#fff5df;color:#725b32;font-size:12px}

.housing-map-column{min-width:0;padding:18px 0 0 18px;display:flex;flex-direction:column}
.housing-map-wrap{position:relative}
#housingMap{width:100%;height:470px;background:#dce6ef}
.housing-map-key{position:absolute;z-index:500;left:14px;bottom:14px;display:flex;gap:11px;flex-wrap:wrap;background:rgba(255,255,255,.95);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:8px 10px;font-size:9px;color:var(--navy)}
.housing-map-key span{display:flex;align-items:center;gap:5px}
.system-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.system-dot--place{background:#00b4d8}.system-dot--door{background:#35a967}.system-dot--funded{background:#e87525}.system-dot--pipeline-open{background:#00a9ca}.system-dot--pipeline-coming{background:#6d5bd0}.system-dot--pipeline-funded{background:#e87525}
.housing-marker-shell{background:transparent;border:0}
.housing-marker{display:grid;place-items:center;width:23px;height:23px;border:2px solid #fff;border-radius:50%;box-shadow:0 3px 9px rgba(13,27,74,.42);color:#fff;font-family:'DM Sans',sans-serif;font-size:9px;font-weight:700}
.housing-marker--place{background:#00a9ca}.housing-marker--door{background:#35a967}.housing-marker--funded{background:#e87525}.housing-marker--pipeline-open{background:#00a9ca}.housing-marker--pipeline-coming{background:#6d5bd0}.housing-marker--pipeline-funded{background:#e87525}
.housing-marker.is-selected{width:29px;height:29px;margin:-3px 0 0 -3px;border-width:3px;box-shadow:0 0 0 5px rgba(13,27,74,.16),0 4px 12px rgba(13,27,74,.5)}
.housing-popup{min-width:190px;color:#526686}
.housing-popup strong{display:block;color:var(--navy);font-family:'DM Sans',sans-serif;font-size:13px;line-height:1.25}
.housing-popup span{display:block;font-size:10px;line-height:1.45;margin-top:3px}
.housing-popup button{margin-top:7px;border:0;background:var(--navy);color:#fff;padding:6px 8px;border-radius:4px;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;cursor:pointer}

.relationship-panel{margin-top:14px;border:1px solid var(--line);background:#f7f9fc;padding:17px 18px;min-height:185px}
.relationship-panel h3{font-size:18px;margin-top:6px;max-width:none}
.relationship-panel>p{font-size:11.5px;margin-top:7px}
.relationship-chain{display:grid;grid-template-columns:1fr 26px 1fr 26px 1fr;align-items:stretch;gap:5px;margin-top:13px}
.chain-node{border:1px solid #d4dfeb;background:#fff;padding:10px}
.chain-node span{display:block;color:#69809d;font-family:'DM Sans',sans-serif;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.chain-node strong{display:block;color:var(--navy);font-family:'DM Sans',sans-serif;font-size:11px;line-height:1.3;margin-top:4px}
.chain-node small{display:block;font-size:9px;line-height:1.35;margin-top:4px;color:#60738f}
.chain-arrow{display:grid;place-items:center;color:var(--teal);font-family:'DM Sans',sans-serif;font-size:18px;font-weight:700}
.relationship-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.relationship-facts span{border-radius:999px;background:#e6edf6;color:var(--navy);padding:4px 7px;font-size:9.5px}
.relationship-note{font-size:10px!important;color:#6b5a3b;background:#fff6e9;padding:8px 9px;margin-top:10px!important}
.relationship-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}
.relationship-actions a{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;background:var(--navy);color:#fff;padding:8px 12px;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700}
.relationship-actions a:hover{background:var(--blue)}

.system-rules-section{padding:84px 0;background:#fff}
.system-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.system-rules-grid h2{margin-top:12px;max-width:18ch}
.system-rules-grid .lead{margin-top:18px}
.system-rules{border-top:1px solid var(--line)}
.system-rules article{display:grid;grid-template-columns:68px 1fr;gap:13px;padding:18px 0;border-bottom:1px solid var(--line)}
.system-rules article>span{color:var(--teal);font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.system-rules strong{display:block;color:var(--navy);font-family:'DM Sans',sans-serif;font-size:14px}
.system-rules p{font-size:12px;margin-top:2px}

.ghost-housing-section{padding:70px 0;background:#0d1b4a;color:#d6e2f0}
.ghost-housing-grid{display:grid;grid-template-columns:1fr auto;gap:56px;align-items:center}
.ghost-housing-grid h2{color:#fff;margin-top:12px;max-width:19ch}
.ghost-housing-grid p{margin-top:17px;max-width:72ch}
.ghost-housing-actions{display:flex;flex-direction:column;gap:10px;min-width:265px}
.ghost-housing-actions .btn{width:100%}

.housing-source-section{padding:42px 0;background:#fff}
.housing-source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}
.housing-source-grid div{border-left:3px solid var(--teal);padding-left:13px}
.housing-source-grid strong,.housing-source-grid a,.housing-source-grid span{display:block}
.housing-source-grid strong{color:var(--navy);font-family:'DM Sans',sans-serif;font-size:11px}
.housing-source-grid a{color:var(--blue);font-size:12px;font-weight:700;margin-top:3px}
.housing-source-grid span{font-size:10px;line-height:1.45;margin-top:4px}

@media(max-width:1040px){
  .housing-hero-grid{grid-template-columns:1fr;gap:38px}
  .housing-thesis{max-width:760px}
  .housing-controls{grid-template-columns:1fr 1fr}
  .housing-search{grid-column:1/-1}
  .housing-reset{width:100%}
  .housing-workspace{grid-template-columns:1fr;min-height:0}
  .housing-results{order:2;border-right:0;padding-right:0}
  .housing-list{max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;overflow:visible}
  .housing-map-column{order:1;padding-left:0}
  .system-rules-grid{gap:44px}
  .ghost-housing-grid{grid-template-columns:1fr}
  .ghost-housing-actions{flex-direction:row;flex-wrap:wrap}
  .ghost-housing-actions .btn{width:auto}
  .housing-source-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
  .housing-hero{padding:60px 0 66px}
  .housing-system-page .nav-links{flex-wrap:nowrap}
  .housing-system-page .nav-links a{flex:none;white-space:nowrap}
  .housing-thesis>div{grid-template-columns:30px 70px 1fr;padding:15px}
  .explorer-section{padding:54px 0 64px}
  .explorer-heading{display:block}
  .explorer-heading>p{margin-top:15px}
  .housing-app{padding:15px}
  .lens-switch{grid-template-columns:1fr}
  .housing-controls{grid-template-columns:1fr}
  .housing-search{grid-column:auto}
  .housing-snapshot{grid-template-columns:1fr 1fr}
  .housing-snapshot div:nth-child(odd){border-left:0}
  .housing-snapshot div:nth-child(n+3){border-top:1px solid var(--line)}
  .lens-context{display:block}
  .lens-context button{margin-top:8px}
  #housingMap{height:420px}
  .relationship-chain{grid-template-columns:1fr}
  .chain-arrow{transform:rotate(90deg);height:20px}
  .housing-list{grid-template-columns:1fr}
  .system-rules-grid{grid-template-columns:1fr;gap:38px}
  .housing-source-grid{grid-template-columns:1fr}
}

@media(max-width:470px){
  .housing-thesis>div{grid-template-columns:27px 1fr}
  .housing-thesis p{grid-column:2}
  .housing-snapshot{grid-template-columns:1fr}
  .housing-snapshot div{border-left:0;border-top:1px solid var(--line)}
  .housing-snapshot div:first-child{border-top:0}
  #housingMap{height:370px}
  .housing-map-key{right:10px;left:10px;bottom:10px}
  .ghost-housing-actions{display:grid;grid-template-columns:1fr}
  .ghost-housing-actions .btn{width:100%}
}
