.housing-page .corpus-main{max-width:1180px}
.housing-page .corpus-main>.back-link{margin-bottom:8px;min-height:32px}
.housing-page .corpus-main .student-hero{padding:8px 0 20px}
.housing-page .corpus-main .student-hero h1{font-size:clamp(36px,3.7vw,48px);margin:12px 0 18px}
.housing-page .corpus-main .student-stat-row{margin:18px 0 13px;padding:15px 0;gap:32px}
.housing-page .corpus-main .student-stat-row strong{font-size:27px}
.corpus-method{font-size:11px;line-height:1.8;color:var(--pd-ash);max-width:95ch}
.corpus-method summary{cursor:pointer;min-height:36px;display:flex;align-items:center;text-underline-offset:4px}
.corpus-method summary::after{content:'+';padding-left:14px}.corpus-method[open] summary::after{content:'−'}
.corpus-filters{display:grid;grid-template-columns:1.6fr 1.5fr 1fr;gap:18px 26px;border-block:1px solid var(--pd-rule);padding:24px 0;scroll-margin-top:24px}
.corpus-filters label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--pd-ash)}
.corpus-filters input,.corpus-filters select{width:100%;min-width:0;min-height:44px;border:0;border-bottom:1px solid var(--pd-rule-strong);border-radius:0;background:transparent;color:var(--pd-bone);font:400 14px/1.5 var(--pd-font-body);padding:7px 0}
.corpus-filters button,.corpus-pagination button{min-height:44px;background:transparent;color:var(--pd-bone);border:1px solid var(--pd-rule-strong);padding:10px 18px;font:400 12px var(--pd-font-body);cursor:pointer;align-self:end}
.corpus-filter-status{display:flex;justify-content:space-between;gap:24px;padding:18px 0;color:var(--pd-ash);font-size:11px;line-height:1.7}
.corpus-filter-status p{margin:0}.corpus-filter-status p:last-child{max-width:42ch;text-align:right}
.corpus-context{padding:22px 25px;margin:4px 0 24px;background:var(--pd-paper);border-left:3px solid var(--pd-signal);font-size:13px;line-height:1.8}
.corpus-context h2{font:500 22px/1.2 var(--pd-font-display);letter-spacing:-.035em;margin:0 0 12px}
.corpus-context a,.corpus-original,.corpus-source a,.corpus-preview a{font-size:12px;text-underline-offset:4px}
.corpus-row{display:grid;grid-template-columns:50px minmax(0,1fr);gap:24px;padding:30px 0;border-top:1px solid var(--pd-rule)}
.corpus-row[hidden],.corpus-context[hidden],.corpus-pagination[hidden],.corpus-empty[hidden]{display:none}
.corpus-row[hidden] summary::after{content:none}
.corpus-index{font:400 11px/1.8 var(--pd-font-instrument);color:var(--pd-faint);padding-top:1px}
.corpus-row>div{max-width:850px;min-width:0}
.corpus-meta{font-size:10px;line-height:1.7;color:var(--pd-ash);margin:0 0 12px;overflow-wrap:anywhere}
.corpus-row h2{font:500 clamp(20px,2.2vw,27px)/1.3 var(--pd-font-display);letter-spacing:-.04em;margin:0 0 17px}
.corpus-row h2 a{text-decoration:none;margin-right:15px;display:inline-block}.corpus-row h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.corpus-summary{font-size:15px;line-height:1.85;margin:0 0 18px;max-width:78ch}
.corpus-topics{font-size:11px;line-height:1.8;color:var(--pd-accent-text);margin:18px 0 12px}
.corpus-caveat{font-size:11px;line-height:1.8;color:var(--pd-ash);max-width:85ch}
.corpus-source{border-block:1px solid var(--pd-rule);padding:0;margin:18px 0}
.corpus-source summary{cursor:pointer;font-size:12px;padding:13px 0;min-height:44px}
.corpus-source[open]{padding-bottom:18px}
.corpus-source dl{display:flex;flex-wrap:wrap;gap:16px 35px;margin:5px 0 18px}
.corpus-source dt,.corpus-case-dates dt{font-size:10px;color:var(--pd-ash)}
.corpus-source dd{margin:6px 0 0;font-size:12px}.corpus-source>p{font-size:11px;line-height:1.8;color:var(--pd-ash)}
.corpus-source a{overflow-wrap:anywhere}
.corpus-rating{font-size:13px}.corpus-rating strong{font-size:24px;font-weight:400}.corpus-rating span{display:block;color:var(--pd-ash);font-size:11px;margin-top:7px}
.corpus-case-address{font-size:16px;margin:0 0 15px}.corpus-properties{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px}
.corpus-case-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-block:1px solid var(--pd-rule);padding:20px 0;margin:22px 0}
.corpus-case-dates dd{font:400 12px/1.7 var(--pd-font-instrument);margin:8px 0 0}
.corpus-pagination{display:flex;gap:30px;align-items:center;margin:25px 0;font-size:12px}.corpus-empty{padding:30px 0;font-size:14px}
.corpus-profile{border-top:1px solid var(--pd-rule);padding:42px 0;margin:30px 0}
.corpus-profile-intro{max-width:60ch}.corpus-profile-intro h2{font:500 clamp(28px,3vw,39px)/1.15 var(--pd-font-display);letter-spacing:-.05em;margin:15px 0 20px}
.corpus-profile-intro>p:last-child{font-size:14px;line-height:1.8;color:var(--pd-ash)}
.corpus-profile-evidence{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;margin-top:35px}
.corpus-profile-evidence h3{font:500 19px/1.4 var(--pd-font-display);letter-spacing:-.025em;margin:0 0 16px}
.corpus-profile-evidence p{font-size:13px;line-height:1.8}.corpus-profile-evidence .small-note{font-size:11px;color:var(--pd-ash)}
.corpus-preview{padding:18px 0;border-top:1px solid var(--pd-rule)}.corpus-preview .corpus-meta{font-size:10px}
@media(max-width:760px){.corpus-filters{grid-template-columns:1fr 1fr;gap:16px}.corpus-filters label:first-child{grid-column:1/-1}.corpus-filter-status{display:block}.corpus-filter-status p:last-child{text-align:left;margin-top:7px}.corpus-row{grid-template-columns:30px minmax(0,1fr);gap:12px;padding:25px 0}.corpus-summary{font-size:14px;line-height:1.8}.corpus-source dl{gap:15px 24px}.corpus-profile-evidence{grid-template-columns:1fr;gap:35px}.corpus-context{padding:18px}.corpus-case-dates{gap:12px}.corpus-case-dates dd{font-size:10px}.corpus-pagination{gap:20px}}
@media print{.corpus-filters,.corpus-filter-status,.corpus-pagination{display:none}.corpus-row[hidden]{display:grid}.corpus-source{break-inside:avoid}.corpus-row{break-inside:avoid}.corpus-row h2 a,.corpus-original{color:inherit}}
