/* safeneighborhoods.app site home (/). Everything scoped under .sh so city pages are untouched. */
.sh{--sh-ink:#121715;--sh-ink2:#4a524e;--sh-line:#e3e6e4;--sh-soft:#f4f6f5;--sh-green:#1F6E4E;--sh-green-d:#175a3f;
  background:#fff;color:var(--sh-ink);overflow-x:hidden}
.sh *{box-sizing:border-box}
.sh h1,.sh h2,.sh h3{font-family:var(--serif);font-weight:700;letter-spacing:-.01em;line-height:1.1}
.sh a{color:var(--sh-green)}

.sh-hero{position:relative;min-height:640px;display:flex;align-items:flex-end;color:#fff;
  background:#2a2f2c url(https://tile.loc.gov/storage-services/service/pnp/highsm/10300/10334v.jpg) center 35%/cover}
.sh-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,12,.86) 0%,rgba(10,14,12,.62) 48%,rgba(10,14,12,.15) 100%)}
.sh-hero-in{position:relative;padding:110px 28px 72px;width:100%;max-width:1160px}
.sh-eyebrow{font-size:14px;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.85);margin-bottom:16px}
.sh-eyebrow b{color:#fff}
.sh-hero h1{font-size:64px;max-width:720px;margin-bottom:18px;color:#fff}
.sh-sub{font-size:19px;max-width:560px;color:rgba(255,255,255,.88);margin-bottom:30px}
.sh-search{display:flex;max-width:780px;background:#fff;border-radius:4px;box-shadow:0 18px 50px rgba(0,0,0,.35);overflow:hidden}
.sh-search input{border:0;font:inherit;font-size:17px;color:var(--sh-ink);background:#fff;padding:0 18px;height:62px;outline:none;min-width:0;flex:1}
.sh-search button{border:0;background:var(--sh-green);color:#fff;font:inherit;font-size:17px;font-weight:700;padding:0 28px;cursor:pointer;white-space:nowrap}
.sh-search button:hover{background:var(--sh-green-d)}
.sh-note{font-size:14px;color:rgba(255,255,255,.75);margin-top:14px}
.sh-credit{position:absolute;right:16px;bottom:10px;font-size:11px;color:rgba(255,255,255,.6)}

.sh .g{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:4px;color:#fff;
  font-family:var(--serif);font-weight:700;font-size:26px;flex:0 0 46px}
.sh .g-a{background:var(--g-a)}.sh .g-bplus{background:#7d8a1f}.sh .g-b{background:#7d8a1f}.sh .g-c{background:var(--g-c)}.sh .g-d{background:var(--g-d)}.sh .g-f{background:var(--g-f)}
.sh .sh-small{font-size:20px}

.sh-band{padding:88px 0}
.sh-soft{background:var(--sh-soft)}
.sh-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}
.sh-head h2{font-size:40px;max-width:720px}
.sh-head p{color:var(--sh-ink2);font-size:17px;max-width:640px;margin-top:12px}
.sh-more{font-weight:600;font-size:15px;white-space:nowrap}

.sh-rank{border-top:2px solid var(--sh-ink)}
.sh-row{display:grid;grid-template-columns:150px 46px 1fr 170px 150px;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid var(--sh-line)}
.sh-city{font-weight:700;font-size:15px}
.sh-city span{display:block;font-weight:400;color:var(--sh-ink2);font-size:13px}
.sh-row h3{font-size:21px;line-height:1.25}
.sh-num{font-size:15px;color:var(--sh-ink2)}
.sh-num b{display:block;font-size:22px;color:var(--sh-ink);font-family:var(--serif)}
.sh-go{text-align:right;font-weight:600;font-size:15px}

.sh-cities{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sh-cc{display:block;background:#fff;color:var(--sh-ink)!important;border:1px solid var(--sh-line);border-radius:4px;overflow:hidden}
.sh-cc:hover{text-decoration:none;border-color:var(--sh-ink)}
.sh-cc img{width:100%;height:210px;object-fit:cover}
.sh-t{padding:18px 20px 20px}
.sh-t h3{font-size:24px;margin-bottom:6px}
.sh-t p{color:var(--sh-ink2);font-size:15px}
.sh-t p.sh-ex{margin-top:10px;color:var(--sh-ink);font-size:14px}

.sh-tiers{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--sh-line);border-radius:4px}
.sh-tier{padding:34px 30px}
.sh-tier+.sh-tier{border-left:1px solid var(--sh-line)}
.sh-price{font-family:var(--serif);font-size:44px;font-weight:700;line-height:1}
.sh-price small{font-size:17px;font-weight:400;color:var(--sh-ink2);font-family:var(--sans)}
.sh-tier h3{font-size:20px;margin:14px 0 10px}
.sh-tier p{color:var(--sh-ink2);font-size:15.5px}
.sh-tier.sh-hi{background:var(--sh-ink);color:#fff;border-radius:0 4px 4px 0}
.sh-tier.sh-hi p,.sh-tier.sh-hi .sh-price small{color:rgba(255,255,255,.75)}

.sh-scale{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.sh-scale h2{font-size:40px;margin-bottom:20px}
.sh-scale p{font-size:17px;color:var(--sh-ink2);margin-bottom:16px}
.sh-scale p b{color:var(--sh-ink)}
.sh-ladder{list-style:none}
.sh-ladder li{display:flex;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--sh-line);font-size:16px}
.sh-methods a{margin-right:14px;font-weight:600;display:inline-block}

@media (max-width:900px){
  .sh-hero h1{font-size:46px}
  .sh-row{grid-template-columns:46px 1fr;gap:6px 16px}
  .sh-row .g{grid-row:1/4;align-self:start}
  .sh-city{grid-column:2;order:-1}
  .sh-row h3,.sh-num,.sh-go{grid-column:2;text-align:left}
  .sh-num b{display:inline;font-size:16px;margin-right:4px}
  .sh-cities{grid-template-columns:1fr 1fr}
  .sh-tiers{grid-template-columns:1fr}
  .sh-tier+.sh-tier{border-left:0;border-top:1px solid var(--sh-line)}
  .sh-tier.sh-hi{border-radius:0 0 4px 4px}
  .sh-scale{grid-template-columns:1fr;gap:28px}
}
@media (max-width:520px){
  .sh .wrap{padding:0 18px}
  .sh-hero{min-height:0}
  .sh-hero:before{background:linear-gradient(180deg,rgba(10,14,12,.55) 0%,rgba(10,14,12,.88) 55%)}
  .sh-hero-in{padding:64px 18px 40px}
  .sh-hero h1{font-size:36px}
  .sh-sub{font-size:16.5px;margin-bottom:22px}
  .sh-search{flex-direction:column}
  .sh-search input{height:54px;flex:0 0 auto}
  .sh-search button{height:54px}
  .sh-band{padding:56px 0}
  .sh-head{display:block;margin-bottom:24px}
  .sh-head h2,.sh-scale h2{font-size:28px}
  .sh-more{display:inline-block;margin-top:12px}
  .sh-row h3{font-size:18px}
  .sh-cities{grid-template-columns:1fr}
  .sh-cc img{height:180px}
}
