.qph-hero{padding-bottom:34px}
.qph-hero p{max-width:860px}
.qph-national-stats,.qph-muni-stats,.qph-home-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:24px}
.qph-national-stats>div,.qph-muni-stats>div,.qph-home-stats>div{border:1px solid #e7e3dc;background:#fff;padding:16px;min-height:112px;display:flex;flex-direction:column;justify-content:space-between}
.qph-national-stats b,.qph-muni-stats b,.qph-home-stats b{font-size:clamp(1.35rem,2.3vw,2.25rem);line-height:1.05;letter-spacing:-.04em}
.qph-national-stats span,.qph-muni-stats span,.qph-home-stats span{font-size:.78rem;line-height:1.3;color:#67645f;text-transform:uppercase;letter-spacing:.04em}
.qph-section{padding-top:44px;padding-bottom:48px}
.qph-map{height:min(68vh,640px);min-height:440px;border:1px solid #d8d4cd;background:#ece9e2}
.qph-controls{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:12px;margin:24px 0}
.qph-controls label{display:grid;gap:7px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#67645f}
.qph-controls select{width:100%;border:1px solid #cfcac2;background:#fff;color:#111;padding:12px 13px;font:inherit;text-transform:none;letter-spacing:0}
.qph-ranking-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:26px}
.qph-ranking-grid h3,.qph-owner-columns h3,.qph-holder-list h3{font-size:1rem;margin:0 0 10px;text-transform:uppercase;letter-spacing:.04em}
.qph-ranking{border-top:1px solid #141414}
.qph-rank-row,.qph-owner-row{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(110px,auto) 22px;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #dedbd5;text-decoration:none;color:inherit}
.qph-owner-row{grid-template-columns:42px minmax(0,1fr) minmax(120px,auto)}
.qph-rank-link:hover{background:#faf8f4}
.qph-rank-num{font-size:.72rem;color:#8b8780;font-variant-numeric:tabular-nums}
.qph-rank-main{display:grid;gap:3px;min-width:0}
.qph-rank-main strong{font-size:.94rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis}
.qph-rank-main small,.qph-rank-value small{font-size:.68rem;color:#77726b;text-transform:uppercase;letter-spacing:.04em;line-height:1.3}
.qph-rank-value{text-align:right;display:grid;gap:3px}
.qph-rank-value b{font-size:.94rem}
.qph-arrow{font-size:1rem}
.qph-owner-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.qph-method{padding-top:42px;padding-bottom:56px}
.qph-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.qph-method-grid p{margin:0;border-top:1px solid #bbb5ad;padding-top:12px;color:#393632;line-height:1.55}
.qph-decomp-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.qph-decomp{border:1px solid #ddd8d0;background:#fff;padding:17px}
.qph-decomp-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:14px}
.qph-decomp-head strong{font-size:.94rem}
.qph-decomp-head span{font-size:.78rem;color:#706c65}
.qph-decomp-bar{height:16px;display:flex;overflow:hidden;background:#e7e4de}
.qph-decomp-bar i{display:block;background:#151515;height:100%}
.qph-decomp-bar i.public{background:#e02b32}
.qph-decomp-bar i.unknown{background:#c9c4bb}
.qph-decomp-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:.75rem;color:#625e58}
.qph-decomp-legend b{color:#111}
.qph-municipal-block{margin-top:0}
.qph-muni-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}
.qph-municipal-block .qph-decomp{margin-top:16px}
.qph-index-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 4px}
.qph-index-card{border:1px solid #d9d5ce;background:#f8f5f0;padding:18px;display:grid;gap:8px}
.qph-index-card>span{font-size:.7rem;line-height:1.2;text-transform:uppercase;letter-spacing:.06em;color:#716c65}
.qph-index-card>strong{font-size:1rem;line-height:1.28}
.qph-index-card>b{font-size:clamp(2rem,5vw,4.2rem);line-height:.9;letter-spacing:-.055em}
.qph-index-card>p{margin:2px 0 0;color:#5e5952;line-height:1.48;font-size:.82rem}

.qph-holder-list{margin-top:24px;max-width:760px}
.qph-holder-row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #dedbd5}
.qph-holder-row span{display:grid;gap:2px}
.qph-holder-row small{font-size:.68rem;text-transform:uppercase;color:#77726b;letter-spacing:.04em}
.qph-holder-row b{white-space:nowrap}
.qph-note{margin-top:18px;padding:13px 15px;background:#f6f2ec;border-left:3px solid #e02b32;color:#534f49}
.qph-empty{padding:28px;border:1px dashed #c9c4bb;background:#faf8f4;color:#68635c}
.qph-home-teaser{margin-top:0}
.qph-home-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0}
.qph-home-link{display:inline-flex;margin-top:2px}
.qph-home-ranking{margin:28px 0 22px;padding-top:22px;border-top:1px solid #cfc9c0}
.qph-home-ranking-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:12px}
.qph-home-ranking-head h3{margin:4px 0 0;font-size:clamp(1.2rem,2.2vw,1.8rem);letter-spacing:-.025em}
.qph-home-ranking-head>a{font-size:.78rem;font-weight:700;text-decoration:none;color:#111;white-space:nowrap}
.qph-home-ranking-head>a:hover{text-decoration:underline}
.qph-home-ranking-note{margin:12px 0 0;max-width:900px;font-size:.76rem;line-height:1.5;color:#6b665f}
@media(max-width:1080px){
  .qph-national-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .qph-ranking-grid{grid-template-columns:1fr 1fr}
  .qph-ranking-grid>div:first-child{grid-column:1/-1}
  .qph-method-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .qph-national-stats,.qph-muni-stats,.qph-home-stats{grid-template-columns:1fr 1fr}
  .qph-national-stats>div,.qph-muni-stats>div,.qph-home-stats>div{min-height:96px;padding:13px}
  .qph-controls{grid-template-columns:1fr}
  .qph-ranking-grid,.qph-owner-columns,.qph-decomp-grid,.qph-index-grid{grid-template-columns:1fr}
  .qph-map{height:58vh;min-height:380px}
  .qph-method-grid{grid-template-columns:1fr}
  .qph-rank-row,.qph-owner-row{grid-template-columns:32px minmax(0,1fr) minmax(90px,auto) 18px;gap:7px}
  .qph-owner-row{grid-template-columns:32px minmax(0,1fr) minmax(90px,auto)}
  .qph-rank-main strong{font-size:.88rem}
  .qph-rank-value b{font-size:.86rem}
  .qph-decomp-head{align-items:flex-start;flex-direction:column;gap:4px}
}
@media(max-width:430px){
  .qph-national-stats,.qph-muni-stats,.qph-home-stats{grid-template-columns:1fr}
  .qph-map{height:54vh;min-height:330px}
}

.qph-alert{margin-top:18px;padding:14px 16px;border-left:4px solid #e02b32;background:#f7f2ed;color:#403c37;line-height:1.5}
.qph-alert strong{color:#111}
.qph-map-controls{grid-template-columns:1fr 1fr 1.35fr}
.qph-owner-row{text-decoration:none;color:inherit}
.qph-owner-row:hover{background:#faf8f4}
.qph-actor-hero p{max-width:860px}
.qph-actor-mainstat{display:flex;align-items:flex-end;gap:16px;margin:22px 0 12px}
.qph-actor-mainstat strong{font-size:clamp(2.4rem,6vw,5.4rem);line-height:.88;letter-spacing:-.065em}
.qph-actor-mainstat span{max-width:260px;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#6b665f;padding-bottom:5px}
.qph-actor-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.qph-actor-kpis>div{border-top:1px solid #cfc9c0;padding-top:12px;display:grid;gap:4px}
.qph-actor-kpis b{font-size:1.25rem}
.qph-actor-kpis span{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#6b665f}
.qph-casa47{display:grid;gap:5px;max-width:900px}
.qph-casa47 span{font-size:.9rem}
.qph-subhead{margin:28px 0 10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.qph-scope-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.qph-scope-card{border:1px solid #ddd8d0;background:#fff;padding:13px;display:grid;gap:5px}
.qph-scope-card strong{font-size:.86rem;line-height:1.2}
.qph-scope-card b{font-size:1.25rem}
.qph-scope-card span{font-size:.7rem;color:#77726b;text-transform:uppercase;letter-spacing:.04em}
.qph-actor-search{max-width:640px;margin:0 0 18px}
.qph-actor-search input{width:100%;padding:13px 14px;border:1px solid #cbc6be;background:#fff;font:inherit}
.qph-actor-list-head{font-size:.75rem;color:#77726b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px}
.qph-actor-list{border-top:1px solid #151515}
.qph-actor-list a{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #dedbd5;text-decoration:none;color:inherit}
.qph-actor-list a:hover{background:#faf8f4}
.qph-actor-list span{display:grid;gap:3px}
.qph-actor-list strong{font-size:.92rem}
.qph-actor-list small{font-size:.68rem;color:#77726b;text-transform:uppercase;letter-spacing:.04em}
.qph-actor-list b{white-space:nowrap}
.qph-actor-list i{font-style:normal}

.qph-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.qph-context-card{border:1px solid #d9d4cc;background:#fff;padding:16px;display:grid;gap:6px}
.qph-context-meta{display:flex;justify-content:space-between;gap:12px;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#77726b}
.qph-context-card h3{font-size:1rem;line-height:1.15;margin:5px 0 2px}
.qph-context-card>strong{font-size:1.9rem;letter-spacing:-.04em}
.qph-context-card>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#6f6a63}
.qph-context-split{display:grid;gap:4px;margin-top:7px;padding-top:9px;border-top:1px solid #e5e1db}
.qph-context-split small{font-size:.72rem;line-height:1.35;color:#55514b}
.qph-context-card p{font-size:.7rem;line-height:1.4;color:#7b766f;margin:5px 0 0}
@media(max-width:900px){.qph-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.qph-context-grid{grid-template-columns:1fr}.qph-map-controls{grid-template-columns:1fr}.qph-actor-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.qph-scope-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.qph-home-ranking-head{align-items:flex-start;flex-direction:column;gap:8px}}
