:root{--bg:#f5f6f7;--bg-soft:#ffffff;--card:#ffffff;--card-hover:#f2f6fb;--ink:#171c26;--muted:#5f6b7a;--accent:#0058b3;--accent-dark:#004a94;--accent-soft:#e7eff9;--line:#dde2e8;--good:#2e9e5b;--mid:#cf9a06;--bad:#dd741f;--awful:#d63a2a;--star:#e8a13a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-system,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}.wrap{max-width:1080px;margin:0 auto;padding:0 20px 60px}header.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;flex-wrap:wrap}.logo{font-weight:900;font-size:24px;letter-spacing:-.02em;text-decoration:none}.logo span{color:var(--accent)}.tabs{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.tabs a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;padding:8px 10px}.tabs a:hover{color:var(--accent)}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:9px 16px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:700;text-decoration:none;display:inline-block}.btn.accent,a.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.accent:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn.big{font-size:16px;padding:13px 26px}.btn:disabled{opacity:.45;cursor:not-allowed}.hero{padding:44px 0 10px;text-align:left}.hero h1{font-size:clamp(36px,6vw,62px);line-height:1.02;letter-spacing:-.03em;margin:0 0 14px;font-weight:900}.hero h1 em{color:var(--accent);font-style:normal}.hero p.lede{font-size:19px;color:var(--muted);max-width:640px;margin:0 0 26px;line-height:1.5}.search-box{display:flex;gap:10px;max-width:680px}.search-box input{flex:1 1;font-size:17px;padding:15px 18px;border-radius:12px;border:2px solid var(--line);background:var(--bg-soft);color:var(--ink)}.search-box input:focus{outline:none;border-color:var(--accent)}.search-box button{font-size:16px;font-weight:800;padding:0 26px;border-radius:12px;border:0;background:var(--accent);color:#fff;cursor:pointer}.search-box button:hover{background:var(--accent-dark)}.stats-row{display:flex;gap:36px;margin:34px 0 8px;flex-wrap:wrap}.stat .stat-num{font-size:40px;font-weight:900;letter-spacing:-.02em;line-height:1}.stat .stat-label{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-top:6px}section.block{margin-top:52px}section.block>h2{font-size:27px;letter-spacing:-.02em;margin:0 0 6px}section.block>p.section-sub{color:var(--muted);margin:0 0 18px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.section-head a.more{color:var(--accent);font-weight:700;text-decoration:none;font-size:14px;white-space:nowrap}.card{display:flex;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;text-decoration:none;margin-bottom:12px}a.card:hover{background:var(--card-hover);border-color:var(--accent)}.card h3{margin:0 0 4px;font-size:19px}.card-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 2px}.card-title-row h3{margin:0}.card-sub{margin:0 0 6px}.card-meta,.card-sub{color:var(--muted);font-size:14px}.card-meta{display:flex;align-items:center;gap:10px;margin:0;flex-wrap:wrap}.card-rank{font-size:30px;font-weight:900;color:var(--accent);min-width:44px;text-align:center}.score-badge{font-size:34px;font-weight:900;letter-spacing:-.03em;line-height:1;min-width:78px;height:78px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--bg-soft);border:1px solid var(--line);flex-shrink:0}.score-badge.score-good{color:var(--good)}.score-badge.score-mid{color:var(--mid)}.score-badge.score-bad{color:var(--bad)}.score-badge.score-awful{color:var(--awful)}.stars{position:relative;display:inline-block;line-height:1;color:#4a4b55}.stars,.stars-row{white-space:nowrap}.stars-row{display:block;letter-spacing:1px}.stars-fg{position:absolute;left:0;top:0;overflow:hidden;color:var(--accent)}.stars-md{font-size:15px}.stars-lg{font-size:26px}.rating-label-badge{background:var(--accent);color:#fff;font-size:12.5px;letter-spacing:.07em;padding:5px 12px;border-radius:999px}.rating-label-badge,.rating-label-chip{display:inline-block;font-weight:800;text-transform:uppercase;white-space:nowrap}.rating-label-chip{border:1px solid var(--accent);color:var(--accent);font-size:11.5px;letter-spacing:.06em;padding:3px 9px;border-radius:999px}.profile-head{display:flex;gap:26px;align-items:flex-start;margin-top:30px;flex-wrap:wrap}.profile-score{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 26px;min-width:170px}.profile-score .big-num{font-size:76px;font-weight:900;letter-spacing:-.04em;line-height:.95}.profile-score.score-good .big-num{color:var(--good)}.profile-score.score-mid .big-num{color:var(--mid)}.profile-score.score-bad .big-num{color:var(--bad)}.profile-score.score-awful .big-num{color:var(--awful)}.profile-score.score-none .big-num{color:var(--muted)}.profile-score .score-caption{color:var(--muted);font-size:13px;margin-top:8px}.profile-info{flex:1 1;min-width:260px}.profile-info h1{font-size:40px;letter-spacing:-.03em;margin:4px 0 6px}.profile-info .company-line{color:var(--muted);font-size:17px;margin:0 0 14px}.rating-bars{max-width:520px;margin-top:6px}.rating-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:9px;font-size:14px}.rating-bar-row .bar-label{width:160px;color:var(--muted);flex-shrink:0}.rating-bar-row .bar-value{width:30px;font-weight:800}.property-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:12px;gap:12px}.property-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.property-address{font-weight:700;font-size:16px;letter-spacing:-.01em;margin:0 0 8px}.property-meta{display:flex;align-items:center;gap:10px;margin:0;color:var(--muted);font-size:14px}.review-tag{color:var(--muted);font-size:13.5px;margin:0 0 8px}.review-photos{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.review-photos a{display:block}.review-photos img{height:110px;width:auto;max-width:220px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block}.form-field select{width:100%;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;color:inherit;padding:11px 12px;font-size:15px}.form-field select:focus{outline:none;border-color:var(--accent)}.review-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:14px}.review-card h3{margin:8px 0 6px;font-size:18px}.review-card .review-body{line-height:1.6;color:#ddd9d2;margin:0 0 12px;white-space:pre-wrap}.review-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-score-chip{font-size:20px;font-weight:900;padding:4px 12px;border-radius:9px;background:var(--bg-soft);border:1px solid var(--line)}.review-score-chip.score-good{color:var(--good)}.review-score-chip.score-mid{color:var(--mid)}.review-score-chip.score-bad{color:var(--bad)}.review-score-chip.score-awful{color:var(--awful)}.review-meta{color:var(--muted);font-size:13.5px}.review-cats{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:0 0 10px}.review-cats strong{color:var(--ink)}.review-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.rent-again{font-size:13.5px;font-weight:700}.rent-again.yes{color:var(--good)}.rent-again.no{color:var(--awful)}.report-btn{background:none;border:0;color:var(--muted);font-size:13px;cursor:pointer;text-decoration:underline;padding:4px}.report-btn:hover{color:var(--accent)}.report-done{font-size:13px;color:var(--muted)}.form{max-width:620px;margin-top:22px}.form-field{display:block;margin-bottom:16px}.form-field>span{display:block;font-weight:700;font-size:14px;margin-bottom:7px}.form-field input,.form-field textarea{width:100%;font-size:16px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg-soft);color:var(--ink);font-family:inherit}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent)}.form-row{display:flex;gap:14px}.form-row .form-field{flex:1 1}.form-row .form-field-sm{flex:0 0 110px}.form-fieldset{border:1px solid var(--line);border-radius:12px;padding:14px 16px 6px;margin:0 0 18px}.form-fieldset legend{font-weight:700;font-size:14px;padding:0 6px}.form-note{color:var(--muted);font-size:14px;line-height:1.55;margin-bottom:18px}.form-note a{color:var(--accent)}.form-check{display:flex;gap:10px;align-items:center;margin:4px 0 20px;font-weight:600;font-size:15px;cursor:pointer}.form-check input{width:19px;height:19px;accent-color:var(--accent)}.form-error{background:var(--accent-soft);border:1px solid var(--accent);color:#ffb59d;border-radius:10px;padding:11px 14px;font-size:14px;margin-bottom:16px}.star-input-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.star-input-label{width:170px;font-size:14.5px;font-weight:600;flex-shrink:0}.star-input{display:inline-flex;gap:2px}.star-btn{background:none;border:0;font-size:27px;line-height:1;color:#4a4b55;cursor:pointer;padding:2px}.star-btn.on,.star-btn:hover{color:var(--accent)}.star-input-value{font-weight:800;font-size:14px;color:var(--muted)}.star-input-hint{margin:-8px 0 14px;padding-left:182px;color:var(--muted);font-size:12.5px;line-height:1.4}.back-link{display:inline-flex;align-items:center;gap:6px;margin-top:26px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--bg-soft);color:var(--ink);font-size:14px;font-weight:700;text-decoration:none;transition:border-color .15s ease,color .15s ease,transform .15s ease}.back-link:hover{border-color:var(--accent);color:var(--accent);transform:translateX(-2px)}.page-head{margin-top:34px}.page-head h1{font-size:38px;letter-spacing:-.03em;margin:0 0 8px}.page-head p{color:var(--muted);font-size:17px;max-width:640px;line-height:1.55;margin:0}.empty-state{border:1px dashed var(--line);border-radius:14px;padding:34px 24px;text-align:center;color:var(--muted);margin-top:20px}.empty-state a{color:var(--accent);font-weight:700}.recent-review{text-decoration:none;display:block}.recent-review .review-body{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prose{max-width:720px;line-height:1.65;font-size:16px}.prose h2{margin-top:34px;font-size:22px}.prose li{margin-bottom:8px}.prose strong{color:#fff}.page-head a{color:var(--accent)}.profile-label{margin-top:12px}.rating-bars{max-width:680px}.rating-bar-row{flex-wrap:wrap}.worst-feature{display:flex;gap:26px;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid var(--accent);border-radius:16px;padding:26px 28px;margin-top:28px}.worst-feature-score{text-align:center;min-width:170px}.worst-feature-num{font-size:96px;font-weight:900;letter-spacing:-.04em;line-height:.95}.worst-feature-score.score-good .worst-feature-num{color:var(--good)}.worst-feature-score.score-mid .worst-feature-num{color:var(--mid)}.worst-feature-score.score-bad .worst-feature-num{color:var(--bad)}.worst-feature-score.score-awful .worst-feature-num{color:var(--awful)}.worst-feature-score.score-none .worst-feature-num{color:var(--muted)}.worst-feature-caption{color:var(--muted);font-size:13px;margin-top:8px}.worst-feature-info{flex:1 1;min-width:260px}.worst-feature-label{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin:0 0 6px}.worst-feature-info h2{font-size:38px;letter-spacing:-.03em;margin:0 0 6px}.worst-feature-meta{color:var(--muted);margin:0 0 16px}.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:14px;gap:14px}.city-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;text-decoration:none}a.city-card:hover{background:var(--card-hover);border-color:var(--accent)}.city-card h3{margin:0 0 4px;font-size:20px}.city-worst{color:var(--muted);font-size:14px;margin:0 0 8px}.city-card-score{font-size:32px;font-weight:900;letter-spacing:-.03em;line-height:1.1}.city-card-score.score-good{color:var(--good)}.city-card-score.score-mid{color:var(--mid)}.city-card-score.score-bad{color:var(--bad)}.city-card-score.score-awful{color:var(--awful)}.city-card-score.score-none{color:var(--muted)}.city-card-meta{margin:6px 0 0}.city-card-meta,.footer{color:var(--muted);font-size:13.5px}.footer{margin-top:70px;border-top:1px solid var(--line);padding-top:22px;line-height:1.6}.footer-links{margin-top:10px}.footer-links a{color:var(--muted)}@media (max-width:640px){.profile-score{min-width:140px;padding:16px 18px}.profile-score .big-num{font-size:58px}.worst-feature{padding:20px}.worst-feature-num{font-size:64px}.worst-feature-info h2{font-size:30px}.rating-bar-row .bar-label{width:120px}.star-input-label{width:128px}.star-input-hint{padding-left:140px}.search-box{flex-direction:column}.search-box button{padding:14px}}.ad-slot{margin:36px 0;padding:14px 16px 18px;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px}.ad-caption{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:10px}.ad-slot ins.adsbygoogle{display:block;min-height:90px}.link-button{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:rgba(8,8,10,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:5vh 16px 40px}.modal-panel{background:var(--bg-soft);border:1px solid var(--line);border-radius:18px;max-width:560px;width:100%;padding:26px 28px 30px;box-shadow:0 24px 60px rgba(0,0,0,.5);animation:modal-in .18s ease}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.modal-head h2{margin:0;font-size:26px;letter-spacing:-.02em}.modal-close{background:var(--card);border:1px solid var(--line);color:var(--ink);width:34px;height:34px;border-radius:999px;font-size:18px;line-height:1;cursor:pointer;flex-shrink:0}.modal-close:hover{border-color:var(--accent);color:var(--accent)}.modal-sub{color:var(--muted);margin:0 0 18px;line-height:1.55}header.nav{border-bottom:1px solid var(--line)}.card,.city-card,.modal-panel,.profile-score,.property-card,.review-card{box-shadow:0 1px 3px rgba(16,24,40,.06)}.score-badge{color:#fff;border:none}.score-badge.score-good{background:var(--good);color:#fff}.score-badge.score-mid{background:var(--mid);color:#fff}.score-badge.score-bad{background:var(--bad);color:#fff}.score-badge.score-awful{background:var(--awful);color:#fff}.score-badge.score-none{background:#e8ebee;color:var(--muted)}.review-score-chip{color:#fff;border:none}.review-score-chip.score-good{background:var(--good);color:#fff}.review-score-chip.score-mid{background:var(--mid);color:#fff}.review-score-chip.score-bad{background:var(--bad);color:#fff}.review-score-chip.score-awful{background:var(--awful);color:#fff}.review-card .review-body{color:#2c3440}.prose strong{color:var(--ink)}.star-btn,.stars{color:#ccd4dd}.form-error{background:#fdecea;border-color:#e5a49c;color:#8f2318}.worst-feature{background:#fdf2f0;border-color:#e8b4ac}.modal-overlay{background:rgba(23,28,38,.55)}.star-btn.on,.star-btn:hover,.stars-fg{color:var(--star)}.profile-head{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 1px 3px rgba(16,24,40,.06)}.profile-score{background:transparent;border:none;border-right:1px solid var(--line);border-radius:0;box-shadow:none;padding:4px 30px 4px 4px}.rating-bar-row{padding:10px 0;margin-bottom:0;border-bottom:1px solid var(--line)}.rating-bar-row:last-child{border-bottom:none}.rating-bar-row .rating-label-chip{margin-left:auto}.rating-label-chip.score-good{color:#1e7a46;border-color:#a9d8bf;background:#e9f7ef}.rating-label-chip.score-mid{color:#8a6400;border-color:#e7cf8a;background:#fdf6e0}.rating-label-chip.score-bad{color:#a8540d;border-color:#f0c49c;background:#fdf0e2}.rating-label-chip.score-awful{color:#b02a1e;border-color:#efa79d;background:#fdecea}.rating-label-chip.score-none{color:var(--muted);border-color:var(--line);background:var(--bg-soft)}.rating-label-badge.score-good{background:var(--good)}.rating-label-badge.score-mid{background:var(--mid)}.rating-label-badge.score-bad{background:var(--bad)}.rating-label-badge.score-awful{background:var(--awful)}.rating-label-badge.score-none{background:#98a2ae}@media (max-width:640px){.profile-head{padding:20px}.profile-score{border-right:none;padding:4px}}a.property-card{display:block;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}a.property-card:hover{border-color:var(--accent);box-shadow:0 2px 8px rgba(16,24,40,.08)}.worst-feature-label{display:flex;align-items:center;gap:8px}.podium{display:flex;align-items:flex-end;gap:14px;margin:30px 0 10px}.podium-place{flex:1 1;min-width:0;text-align:center;flex-direction:column}.podium-medal,.podium-place{display:flex;align-items:center}.podium-medal{position:relative;width:92px;height:92px;border-radius:50%;background:#fff;border:4px solid #9aa5b1;justify-content:center;box-shadow:0 2px 8px rgba(16,24,40,.1);margin-bottom:12px}.podium-gold .podium-medal{border-color:#d9a514;width:110px;height:110px}.podium-bronze .podium-medal{border-color:#b0763a}.podium-score{font-size:30px;font-weight:800;line-height:1}.podium-gold .podium-score{font-size:37px}.podium-trophy{position:absolute;top:-13px;right:-11px;width:30px;height:30px;background:#fdf6e0;border:1px solid #e7cf8a;color:#8a6400;border-radius:999px;display:flex;align-items:center;justify-content:center}.podium-title{margin:0 0 2px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.podium-gold .podium-title{color:#8a6400}.podium-name{margin:0 0 2px;font-size:19px;line-height:1.2}.podium-name a{color:inherit;text-decoration:none}.podium-name a:hover{color:var(--accent);text-decoration:underline}.podium-gold .podium-name{font-size:23px}.podium-sub{color:var(--muted);font-size:13.5px;margin:0 0 8px}.podium-meta{color:var(--muted);font-size:13px;margin:8px 0 14px}.podium-block{width:100%;border-radius:10px 10px 0 0;display:flex;align-items:center;justify-content:center;font-weight:800;background:#f2f5f8;border-top:4px solid #9aa5b1;color:#7d8894;height:76px;font-size:40px}.podium-gold .podium-block{background:#fdf6e0;border-top-color:#d9a514;color:#b8860b;height:106px;font-size:48px}.podium-bronze .podium-block{background:#faf0e6;border-top-color:#b0763a;color:#9a6227;height:56px;font-size:34px}@media (max-width:640px){.podium{gap:8px}.podium-medal{width:70px;height:70px;border-width:3px}.podium-gold .podium-medal{width:84px;height:84px}.podium-score{font-size:23px}.podium-gold .podium-score{font-size:28px}.podium-name{font-size:15.5px}.podium-gold .podium-name{font-size:17.5px}.podium-sub{font-size:12px}.podium-block{height:54px;font-size:28px}.podium-gold .podium-block{height:72px;font-size:34px}.podium-bronze .podium-block{height:42px;font-size:24px}}.hero{position:relative;border-radius:20px;padding:48px 36px 36px;margin-top:26px;overflow:hidden;background:linear-gradient(90deg,rgba(245,246,247,.97) 30%,rgba(245,246,247,.82) 52%,rgba(245,246,247,.18) 78%,rgba(245,246,247,0)),url(https://pub-fed8fcbaf201456abd233cdc5e307a93.r2.dev/site/hero-slumlord.jpg) 100% /cover no-repeat}@media (max-width:640px){.hero{padding:34px 22px 28px;background:linear-gradient(180deg,rgba(245,246,247,.96) 46%,rgba(245,246,247,.72) 78%,rgba(245,246,247,.45)),url(https://pub-fed8fcbaf201456abd233cdc5e307a93.r2.dev/site/hero-slumlord.jpg) 100% /cover no-repeat}}.review-actions{gap:16px;flex-wrap:wrap}.review-actions,.vote-btns{display:inline-flex;align-items:center}.vote-btns{gap:8px}.vote-btn,.vote-label{color:var(--muted);font-size:13px}.vote-btn{background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-weight:600;cursor:pointer}.vote-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.vote-btn:disabled{cursor:default;opacity:.75}.vote-btn.voted{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);opacity:1}.hero-content{position:relative;max-width:600px}.hero{background:linear-gradient(90deg,rgba(245,246,247,.98) 34%,rgba(245,246,247,.9) 55%,rgba(245,246,247,.38) 78%,rgba(245,246,247,.12)),url(https://pub-fed8fcbaf201456abd233cdc5e307a93.r2.dev/site/hero-slumlord.jpg) 100% /cover no-repeat}.hero h1{font-size:clamp(34px,4.4vw,53px)}@media (max-width:760px){.hero-content{max-width:100%}.hero{background:linear-gradient(180deg,rgba(245,246,247,.97) 42%,rgba(245,246,247,.8) 75%,rgba(245,246,247,.55)),url(https://pub-fed8fcbaf201456abd233cdc5e307a93.r2.dev/site/hero-slumlord.jpg) 100% /cover no-repeat}}