/* Directory controls within the shared Costs/Types guide and reading template. */
.directory-skip,.directory-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.directory-skip:focus{position:fixed;top:12px;left:20px;z-index:100;width:auto;height:auto;clip-path:none;background:var(--cream);padding:12px 20px;color:var(--plum)}
.homes-directory ::selection{background:var(--beige);color:var(--plum)}
.homes-directory a:focus-visible,.homes-directory button:focus-visible,.homes-directory summary:focus-visible{outline:2px solid var(--grape);outline-offset:4px}
.homes-directory a{text-underline-offset:3px}
.directory-search{margin-top:28px;max-width:600px}
.directory-search label{display:block;font-weight:700;margin-bottom:8px}
.directory-search-controls{display:flex;gap:12px}
.directory-search input{min-width:0;flex:1;width:100%;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font:inherit;caret-color:var(--grape);padding:12px 16px}
.directory-search input::placeholder{color:var(--ink-soft);opacity:1}
.directory-search input:focus-visible{outline:2px solid var(--grape);outline-offset:3px}
.directory-search .btn{flex:none;justify-content:center;border:0;font:inherit;font-weight:700;cursor:pointer;box-shadow:none;padding:12px 24px}
.directory-search p{font-size:.9rem;color:var(--ink-soft);margin-top:8px}
.directory-alternatives{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:8px}
.directory-alternatives a{display:inline-flex;align-items:center;min-height:44px;font-size:.95rem}
.directory-state-index{display:flex;gap:8px;margin-top:12px;font-size:.85rem;color:var(--ink-soft)}
.directory-state-index b{font-weight:700;color:var(--teal-ink);font-variant-numeric:tabular-nums}
.homes-directory .reading-body{container-type:inline-size;container-name:directory-body}
.homes-directory .reading-body .directory-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;list-style:none;padding:0;margin:0}
.directory-areas li{min-width:0;border-bottom:1px solid var(--line)}
.homes-directory .reading-body .directory-areas li{margin:0}
.directory-areas a{display:flex;flex-direction:column;justify-content:center;min-height:76px;padding:12px 0;color:var(--plum);text-decoration:none;line-height:1.3}
.directory-areas a:hover span{text-decoration:underline}
.directory-areas a>span{font-weight:700}
.directory-areas small{font-size:.9rem;color:var(--ink-soft);margin-top:4px}
.directory-more{margin-top:16px}
.directory-more summary{width:fit-content;padding:10px 0;min-height:44px;color:var(--grape);font-weight:700;cursor:pointer}
.directory-more[open] summary{margin-bottom:12px}
.directory-facts .scorebar{max-width:520px;margin:0 0 24px}
.directory-facts .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:0 0 24px}
.directory-facts .fact,.directory-facts .fact:first-child{display:flex;flex-direction:column;border-top:1px solid var(--line);padding:12px 0 0;gap:4px}
.directory-facts .fact b{font-size:.9rem;letter-spacing:normal;text-transform:none;color:var(--ink-soft)}
.directory-facts .fact span{font-size:1.1rem;text-align:left;font-weight:700;font-variant-numeric:tabular-nums}
.directory-rankings{scrollbar-color:var(--grape) var(--cream-2)}
.homes-directory .reading-body .roster{min-width:0;width:100%;margin:0;table-layout:fixed}
.homes-directory .roster td,.homes-directory .roster th{height:auto;white-space:normal;overflow-wrap:anywhere}
.homes-directory .roster th:first-child,.homes-directory .roster td:first-child{width:32px;padding:13px 8px;font-size:.85rem}
.homes-directory .roster th:nth-child(2),.homes-directory .roster td.prov{width:auto;min-width:0;padding:13px 12px;line-height:1.4}
.homes-directory .roster th:nth-child(3),.homes-directory .roster td:nth-child(3){width:18%}
.homes-directory .roster th:nth-child(4),.homes-directory .roster td:nth-child(4){width:10%}
.homes-directory .roster th:nth-child(5),.homes-directory .roster td:nth-child(5){width:12%}
.homes-directory .roster th:last-child,.homes-directory .roster td:last-child{width:112px;text-align:right}
.homes-directory .roster td:last-child .meter{display:none}
.homes-directory .roster .mnum{margin:0;font-size:1.1rem;font-variant-numeric:tabular-nums}
.homes-directory .roster thead th{border-bottom:1px solid var(--line);background:var(--cream-2);font-size:.85rem;padding:10px 12px;vertical-align:middle}
.homes-directory .roster th button{font:inherit;color:inherit;border:0;background:transparent;padding:8px 0;text-align:inherit;overflow-wrap:normal;cursor:pointer;font-weight:700}
.homes-directory .roster th.sortable:after{display:none}
.homes-directory .roster th.sortable button:after{content:'';display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-left:8px;opacity:.65}
.homes-directory .roster th.s-asc button:after{transform:translateY(2px) rotate(225deg)}
.directory-row-meta{display:none}
@container directory-body (max-width:760px){
 .homes-directory .roster th:nth-child(3),.homes-directory .roster th:nth-child(4),.homes-directory .roster th:nth-child(5),
 .homes-directory .roster td:nth-child(3),.homes-directory .roster td:nth-child(4),.homes-directory .roster td:nth-child(5){display:none}
 .directory-row-meta{display:block;font-size:.85rem;color:var(--ink-soft);font-weight:400;line-height:1.45;margin-top:6px}
 .directory-row-meta>span{display:block;margin-top:2px}
}
@media(max-width:480px){
 .directory-search-controls{flex-direction:column}
 .directory-search .btn{min-height:48px}
 .homes-directory .roster th:first-child,.homes-directory .roster td:first-child{width:24px;padding:12px 4px;font-size:.8rem}
 .homes-directory .roster th:nth-child(2),.homes-directory .roster td.prov{padding:12px 8px;font-size:.95rem}
 .homes-directory .roster th:last-child,.homes-directory .roster td:last-child{width:90px;padding:12px 8px;font-size:.75rem}
 .homes-directory .reading-body .directory-areas{gap:0 20px}
}
