.dorm-hero{align-items:center;gap:40px;padding:36px 0;display:flex}.dorm-hero>div:first-child{flex:1}.dorm-hero p{max-width:680px;line-height:1.7}.dorm-totals{color:#fff;background:#a90909;border-radius:16px;flex-direction:column;gap:10px;padding:32px;display:flex}.dorm-totals strong{font-size:58px}.dorm-target{background:#f7f7f7;border:1px solid #e3e3e3;border-radius:12px;margin:24px 0;padding:24px}.dorm-target h2{margin-bottom:16px;font-size:23px}.dorm-target .university-picker{max-width:620px}.dorm-label{gap:8px;margin-top:18px;display:grid}.dorm-label input,.dorm-filters input:not([type=checkbox]),.dorm-filters select{background:#fff;border:1px solid #d7d7d7;border-radius:7px;padding:12px;font-size:16px}.dorm-filters{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0;display:flex}.dorm-filters label{align-items:center;gap:8px;display:flex}.dorm-filters label:first-child{flex:1}.dorm-filters label:first-child input{width:100%}.dorm-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.dorm-card{background:#fff;border:1px solid #dedede;border-radius:12px;min-width:0;overflow:hidden}.dorm-photo{background:#f1f2f3;height:220px;position:relative}.dorm-photo img{object-fit:cover;width:100%;height:100%}.dorm-no-photo{color:#616161;flex-direction:column;justify-content:center;align-items:center;gap:15px;height:100%;font-size:14px;display:flex}.dorm-type{background:#fff;border-radius:6px;padding:6px 12px;font-size:14px;font-weight:600;position:absolute;bottom:12px;left:12px}.dorm-body{padding:20px}.dorm-body h2{overflow-wrap:anywhere;margin:10px 0;font-size:20px;line-height:1.4}.dorm-address{gap:8px;min-height:64px;font-size:14px;line-height:1.6;display:flex}.dorm-address svg{flex-shrink:0;margin-top:4px}.dorm-distance{border-top:1px solid #eee;gap:12px;margin-top:16px;padding-top:16px;display:grid}.dorm-distance strong{color:#a90909;font-size:20px}.dorm-distance p,.dorm-body details{font-size:14px;line-height:1.65}.dorm-body details{margin-top:18px}.dorm-body details a,.dorm-source-note a{color:#a90909;margin-top:8px;display:block}.dorm-pagination{justify-content:center;align-items:center;gap:20px;margin:35px 0;display:flex}.dorm-source-note{border-top:1px solid #ddd;padding:24px;line-height:1.7}.dorm-source-note h2{font-size:22px}.dorm-directory button:disabled{opacity:.55;cursor:not-allowed}@media (max-width:1000px){.dorm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.dorm-grid{grid-template-columns:1fr}.dorm-hero{display:block}.dorm-totals{margin-top:20px}.dorm-hero h1{font-size:34px}.dorm-filters>*{width:100%}.dorm-target{padding:18px}.dorm-photo{height:240px}}.dorm-label select{background:#fff;border:1px solid #ddd;border-radius:6px;width:100%;padding:10px;font-size:14px}.dorm-card-actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.dorm-card-actions button[aria-pressed=true]{color:#b60000;background:#fff3f3;border-color:#d40000}.dorm-compare-toolbar{background:#fff8f8;border:1px solid #e8d7d7;border-radius:14px;flex-wrap:wrap;align-items:center;gap:16px;margin:22px 0;padding:16px;display:flex}.dorm-compare-toolbar label{align-items:center;gap:8px;font-size:15px;display:flex}.dorm-comparison{background:snow;border:2px solid #daa;border-radius:18px;margin:24px 0;padding:22px}.dorm-comparison h2{font-size:24px;font-weight:750}.dorm-comparison .section-heading{align-items:flex-start}.dorm-comparison .section-heading p{max-width:650px;font-size:15px;line-height:1.6}.dorm-comparison .dorm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dorm-comparison .dorm-grid:has(>.dorm-card:only-child){grid-template-columns:minmax(0,400px)}@media (max-width:900px){.dorm-comparison{padding:14px}.dorm-comparison .dorm-grid{scroll-snap-type:x proximity;grid-template-columns:repeat(3,minmax(260px,1fr));padding-bottom:12px;overflow-x:auto}.dorm-comparison .dorm-card{scroll-snap-align:start}.dorm-comparison .section-heading{flex-wrap:wrap}}.dorm-filters>*,.dorm-filters label:first-child input,.dorm-label select{min-width:0;max-width:100%}.dorm-comparison .section-heading{flex-wrap:wrap;gap:12px}.dorm-address,.dorm-body details a{overflow-wrap:anywhere}
