.hemlock-directory{–hd-green:#115228;–hd-green-2:#1c481d;–hd-ink:#04200e;–hd-sage:#b0cab8;–hd-paper:#fcfaf4;–hd-wash:#dddcc8;–hd-gold:#c69b33;–hd-line:rgba(17,82,40,.18);–hd-muted:#66736a;–hd-soft:#f7f5ec;–hd-white:#fff;–hd-radius:22px;color:var(–hd-ink);font-family:inherit;margin:0!important;padding:0!important;background:transparent!important;line-height:1.55}
.hemlock-directory *{box-sizing:border-box}
.hemlock-directory a{color:var(–hd-green);text-decoration-thickness:1px;text-underline-offset:3px}
.hemlock-directory button,.hemlock-directory input,.hemlock-directory select{font:inherit}
.hemlock-directory .hd-hero{background:transparent!important;margin:0 0 18px;padding:0}
.hemlock-directory .hd-intro{max-width:880px;font-size:clamp(17px,2vw,20px);color:#2d3a31;margin:0 0 18px}
.hemlock-directory .hd-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.hemlock-directory .hd-kpi{border:1px solid var(–hd-line);border-radius:18px;background:rgba(252,250,244,.72);padding:12px 14px}
.hemlock-directory .hd-kpi strong{display:block;font-size:22px;line-height:1;color:var(–hd-green)}
.hemlock-directory .hd-kpi span{font-size:13px;color:var(–hd-muted)}
.hemlock-directory .hd-method{border:1px solid var(–hd-line);border-radius:18px;background:rgba(252,250,244,.68);margin:14px 0 18px;overflow:hidden}
.hemlock-directory .hd-method summary{cursor:pointer;padding:13px 14px;display:flex;align-items:center;gap:10px;font-weight:800;color:var(–hd-green)}
.hemlock-directory .hd-method summary::-webkit-details-marker{display:none}
.hemlock-directory .hd-method summary:after{content:”+”;margin-left:auto;color:var(–hd-gold);font-size:20px;line-height:1}
.hemlock-directory .hd-method[open] summary:after{content:”–”}
.hemlock-directory .hd-method-body{padding:0 14px 14px;color:#2f3b33}
.hemlock-directory .hd-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.hemlock-directory .hd-method-grid div{border:1px solid rgba(17,82,40,.12);border-radius:14px;padding:10px;background:#fff}
.hemlock-directory .hd-tools{border:1px solid var(–hd-line);border-radius:20px;background:var(–hd-paper);padding:10px;margin:16px 0 18px}
.hemlock-directory .hd-filter-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:8px;align-items:end}
.hemlock-directory .hd-field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(–hd-muted);font-weight:800;margin:0 0 4px}
.hemlock-directory .hd-input-wrap{position:relative}
.hemlock-directory .hd-ico{width:16px;height:16px;display:inline-block;vertical-align:-.16em;flex:0 0 auto;color:currentColor;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}
.hemlock-directory .hd-input-wrap .hd-ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(–hd-green);width:15px;height:15px}
.hemlock-directory .hd-field input,.hemlock-directory .hd-field select{width:100%;height:38px;border:1px solid rgba(17,82,40,.22);border-radius:14px;background:#fff;color:var(–hd-ink);padding:0 10px;outline:none}
.hemlock-directory .hd-field input{padding-left:32px}
.hemlock-directory .hd-field input:focus,.hemlock-directory .hd-field select:focus{border-color:var(–hd-green)}
.hemlock-directory .hd-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.hemlock-directory .hd-chipbtn,.hemlock-directory .hd-icon-toggle{border:0;background:transparent;color:var(–hd-green);display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 9px;cursor:pointer;font-size:13px;font-weight:800}
.hemlock-directory .hd-chipbtn:hover,.hemlock-directory .hd-icon-toggle:hover,.hemlock-directory .hd-chipbtn[aria-pressed=”true”],.hemlock-directory .hd-icon-toggle[aria-expanded=”true”]{background:rgba(17,82,40,.08)}
.hemlock-directory .hd-count{font-size:13px;color:var(–hd-muted);margin:8px 0 0}
.hemlock-directory .hd-list{display:grid;grid-template-columns:1fr;gap:12px;margin:0;padding:0;list-style:none}
.hemlock-directory .hd-card{border:1px solid var(–hd-line);border-radius:24px;background:linear-gradient(180deg,rgba(252,250,244,.92),rgba(255,255,255,.96));padding:14px;overflow:hidden}
.hemlock-directory .hd-card:nth-child(even){background:linear-gradient(180deg,rgba(245,244,235,.92),rgba(255,255,255,.97))}
.hemlock-directory .hd-card.is-featured{border-color:rgba(17,82,40,.34);background:linear-gradient(180deg,#fcfaf4,#fff)}
.hemlock-directory .hd-card-top{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.hemlock-directory .hd-logo-title{display:flex;align-items:center;gap:10px;min-width:0}
.hemlock-directory .hd-logo{width:46px;height:46px;border-radius:14px;object-fit:contain;background:#fff;border:1px solid rgba(17,82,40,.14);padding:6px;flex:0 0 auto}
.hemlock-directory .hd-title-group{min-width:0}
.hemlock-directory .hd-rank{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:900;color:var(–hd-green);margin:0;padding-bottom:0}
.hemlock-directory .hd-title-group h2{font-size:clamp(20px,2.4vw,28px);line-height:1.1;margin:0!important;color:var(–hd-ink)}
.hemlock-directory .hd-score{border:1px solid rgba(17,82,40,.18);border-radius:16px;padding:8px 10px;min-width:92px;text-align:center;background:#fff}
.hemlock-directory .hd-score strong{display:block;font-size:24px;line-height:1;color:var(–hd-green)}
.hemlock-directory .hd-score span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(–hd-muted);font-weight:800}
.hemlock-directory .hd-visit{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(–hd-green);background:var(–hd-green);color:#fff!important;text-decoration:none!important;border-radius:999px;padding:9px 12px;font-weight:900;white-space:nowrap}
.hemlock-directory .hd-card p{margin:10px 0;color:#2d3a31}
.hemlock-directory .hd-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.hemlock-directory .hd-tag{font-size:12px;color:var(–hd-green);background:rgba(176,202,184,.26);border:1px solid rgba(17,82,40,.12);padding:4px 8px;border-radius:999px;font-weight:800}
.hemlock-directory .hd-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}
.hemlock-directory .hd-meta div{border:1px solid rgba(17,82,40,.12);background:rgba(255,255,255,.76);border-radius:16px;padding:9px}
.hemlock-directory .hd-meta b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(–hd-muted);margin-bottom:3px}
.hemlock-directory .hd-meta span{font-size:13px;color:#26362b}
.hemlock-directory .hd-card-actions{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid rgba(17,82,40,.12);padding-top:9px;margin-top:8px}
.hemlock-directory .hd-icon-toggle .hd-ico,.hemlock-directory .hd-chipbtn .hd-ico{color:var(–hd-gold)}
.hemlock-directory .hd-tag .hd-ico{width:13px;height:13px;color:var(–hd-green)}
.hemlock-directory .hd-source-links .hd-ico{width:13px;height:13px}
.hemlock-directory .hd-panel{display:none;border:1px solid rgba(17,82,40,.12);background:#fff;border-radius:18px;padding:12px;margin-top:10px}
.hemlock-directory .hd-panel.is-open{display:block}
.hemlock-directory .hd-panel h3{font-size:18px;margin:0 0 8px;color:var(–hd-green)}
.hemlock-directory .hd-panel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hemlock-directory .hd-mini{border:1px solid rgba(17,82,40,.12);border-radius:14px;padding:10px;background:#fcfaf4}
.hemlock-directory .hd-mini b{display:block;color:var(–hd-green);font-size:13px;margin-bottom:4px}
.hemlock-directory .hd-factor{border:1px solid rgba(17,82,40,.12);border-radius:16px;padding:10px;margin:8px 0;background:#fff}
.hemlock-directory .hd-factor-head{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.hemlock-directory .hd-factor-title{font-weight:900;color:var(–hd-ink)}
.hemlock-directory .hd-bar{height:8px;background:rgba(17,82,40,.12);border-radius:999px;overflow:hidden;margin-top:7px}
.hemlock-directory .hd-bar span{display:block;height:100%;background:var(–hd-green);border-radius:999px}
.hemlock-directory .hd-why{border:0;background:transparent;color:var(–hd-green);font-weight:900;cursor:pointer;padding:4px 0;margin-top:7px;font-size:13px}
.hemlock-directory .hd-factor-more{display:none;margin-top:8px;color:#344237;background:var(–hd-paper);border-radius:12px;padding:9px}
.hemlock-directory .hd-factor-more.is-open{display:block}
.hemlock-directory .hd-source-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.hemlock-directory .hd-source-links a{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(17,82,40,.18);border-radius:999px;padding:5px 8px;background:#fff;font-size:12px;font-weight:800;text-decoration:none}
.hemlock-directory .hd-source-links a:hover{text-decoration:underline}
.hemlock-directory .hd-review-list{display:grid;grid-template-columns:1fr;gap:8px}
.hemlock-directory .hd-review-card{border:1px solid rgba(17,82,40,.12);border-radius:14px;background:#fcfaf4;padding:10px}
.hemlock-directory .hd-empty{display:none;border:1px solid rgba(17,82,40,.12);border-radius:18px;background:#fcfaf4;padding:16px;margin-top:12px;color:var(–hd-muted)}
.hemlock-directory .hd-market{border:1px solid var(–hd-line);border-radius:22px;background:var(–hd-paper);padding:14px;margin-top:16px}
.hemlock-directory .hd-market h2{font-size:24px;margin:0 0 8px}
.hemlock-directory .hd-market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hemlock-directory .hd-market-grid div{border:1px solid rgba(17,82,40,.12);border-radius:16px;background:#fff;padding:12px}
.hemlock-directory .hd-updated{font-size:12px;color:var(–hd-muted);margin-top:12px}
@media(max-width:920px){.hemlock-directory .hd-filter-row{grid-template-columns:1fr 1fr}.hemlock-directory .hd-kpis,.hemlock-directory .hd-meta,.hemlock-directory .hd-market-grid,.hemlock-directory .hd-method-grid{grid-template-columns:1fr 1fr}.hemlock-directory .hd-panel-grid{grid-template-columns:1fr}}
@media(max-width:640px){.hemlock-directory .hd-card-top{grid-template-columns:1fr}.hemlock-directory .hd-score{text-align:left;min-width:0}.hemlock-directory .hd-visit{width:100%}.hemlock-directory .hd-filter-row,.hemlock-directory .hd-kpis,.hemlock-directory .hd-meta,.hemlock-directory .hd-market-grid,.hemlock-directory .hd-method-grid{grid-template-columns:1fr}.hemlock-directory .hd-tools{padding:9px}}
This directory helps homeowners compare local painting companies by fit, services, public proof, pricing signals, warranty language, review patterns, and digital footprint.