.hlp-directory { –hlp-green:#115228; –hlp-deep:#04200e; –hlp-cream:#fcfaf4; –hlp-surface:#f6f9f6; –hlp-surface-alt:#fbfcfa; –hlp-gold:#c69b33; –hlp-ink:#18231c; –hlp-muted:#526158; –hlp-line:#d7e0d9; –hlp-soft-green:#eaf3ec; box-sizing:border-box; color:var(–hlp-ink); font-family:”Open Sans”,Arial,sans-serif; font-size:16px; line-height:1.65; margin:0; padding:0; width:100%; }
.hlp-directory *, .hlp-directory *::before, .hlp-directory *::after { box-sizing:border-box; }
.hlp-directory .hlp-hero { background:transparent !important; margin:0; padding:0 0 1.5rem; }
.hlp-directory .hlp-eyebrow { align-items:center; color:var(–hlp-green); display:flex; font-family:Roboto,Arial,sans-serif; font-size:.82rem; font-weight:800; gap:.5rem; letter-spacing:.08em; margin:0 0 .7rem; text-transform:uppercase; }
.hlp-directory .hlp-eyebrow :is(i,svg.hlp-icon) { height:1rem; width:1rem; }
.hlp-directory h1, .hlp-directory h2, .hlp-directory h3, .hlp-directory h4, .hlp-directory h5 { color:var(–hlp-deep); font-family:Montserrat,Arial,sans-serif; line-height:1.17; margin-top:0; }
.hlp-directory h1 { font-size:clamp(2rem,5vw,4.15rem); letter-spacing:-.045em; margin-bottom:.75rem; max-width:980px; }
.hlp-directory .hlp-lede { color:#34443a; font-size:clamp(1.05rem,1.5vw,1.22rem); margin:0 0 1.1rem; max-width:880px; }
.hlp-directory .hlp-hero-meta { align-items:center; display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; margin:.8rem 0 1.15rem; }
.hlp-directory .hlp-hero-meta span { align-items:center; color:var(–hlp-muted); display:inline-flex; font-size:.9rem; gap:.42rem; }
.hlp-directory .hlp-hero-meta :is(i,svg.hlp-icon) { color:var(–hlp-green); height:1rem; width:1rem; }
.hlp-directory .hlp-hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.65rem; }
.hlp-directory .hlp-hero-actions a { align-items:center; border-radius:.35rem; display:inline-flex; font-weight:800; gap:.48rem; justify-content:center; min-height:42px; padding:.62rem 1rem; text-decoration:none; }
.hlp-directory .hlp-hero-actions a:first-child { background:var(–hlp-deep); color:#fff !important; }
.hlp-directory .hlp-hero-actions a:first-child:hover { background:var(–hlp-green); color:#fff !important; }
.hlp-directory .hlp-hero-actions a:last-child { color:var(–hlp-green); }
.hlp-directory .hlp-hero-actions :is(i,svg.hlp-icon) { height:1.05rem; width:1.05rem; }
.hlp-directory .hlp-method { border-bottom:1px solid var(–hlp-line); border-top:1px solid var(–hlp-line); margin:1.4rem 0 0; }
.hlp-directory .hlp-method summary { align-items:center; color:var(–hlp-green); cursor:pointer; display:flex; font-weight:800; gap:.55rem; list-style:none; padding:.8rem 0; }
.hlp-directory .hlp-method summary::-webkit-details-marker { display:none; }
.hlp-directory .hlp-method summary :is(i,svg.hlp-icon) { height:1.1rem; width:1.1rem; }
.hlp-directory .hlp-method summary .hlp-chevron { margin-left:auto; transition:transform .18s ease; }
.hlp-directory .hlp-method[open] summary .hlp-chevron { transform:rotate(180deg); }
.hlp-directory .hlp-method-body { color:#394a40; padding:0 0 1.15rem; }
.hlp-directory .hlp-method-body p { margin:.1rem 0 .9rem; max-width:920px; }
.hlp-directory .hlp-weight-grid { display:grid; gap:.55rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr)); }
.hlp-directory .hlp-weight-grid div { background:var(–hlp-surface); border:1px solid var(–hlp-line); border-radius:.35rem; padding:.65rem .7rem; }
.hlp-directory .hlp-weight-grid strong, .hlp-directory .hlp-weight-grid span { display:block; }
.hlp-directory .hlp-weight-grid strong { color:var(–hlp-deep); font-family:Montserrat,Arial,sans-serif; font-size:1.08rem; }
.hlp-directory .hlp-weight-grid span { color:var(–hlp-muted); font-size:.8rem; line-height:1.35; margin-top:.16rem; }
.hlp-directory .hlp-controls { background:var(–hlp-surface); border:1px solid var(–hlp-line); border-radius:.45rem; margin:1.1rem 0 .9rem; padding:.7rem; }
.hlp-directory .hlp-control-grid { align-items:end; display:grid; gap:.55rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr)); }
.hlp-directory .hlp-control { min-width:0; }
.hlp-directory .hlp-control label { color:#35453b; display:block; font-family:Roboto,Arial,sans-serif; font-size:.74rem; font-weight:800; letter-spacing:.035em; margin:0 0 .22rem; text-transform:uppercase; }
.hlp-directory .hlp-input-wrap { position:relative; }
.hlp-directory .hlp-input-wrap :is(i,svg.hlp-icon) { color:var(–hlp-green); height:1rem; left:.7rem; pointer-events:none; position:absolute; top:50%; transform:translateY(-50%); width:1rem; }
.hlp-directory input[type=”search”], .hlp-directory select { appearance:none; background:#fff; border:1px solid #cbd7ce; border-radius:.32rem; color:var(–hlp-ink); font:inherit; font-size:.9rem; height:40px; margin:0; min-width:0; outline:none; width:100%; }
.hlp-directory input[type=”search”] { padding:0 2rem 0 2.15rem; }
.hlp-directory select { background-image:linear-gradient(45deg,transparent 50%,var(–hlp-green) 50%),linear-gradient(135deg,var(–hlp-green) 50%,transparent 50%); background-position:calc(100% – 15px) 16px,calc(100% – 10px) 16px; background-repeat:no-repeat; background-size:5px 5px,5px 5px; padding:0 2rem 0 .65rem; }
.hlp-directory input[type=”search”]:focus, .hlp-directory select:focus { border-color:var(–hlp-green); outline:3px solid rgba(17,82,40,.15); }
.hlp-directory .hlp-clear-search { background:transparent; border:0; color:var(–hlp-muted); cursor:pointer; display:none; padding:.2rem; position:absolute; right:.45rem; top:50%; transform:translateY(-50%); }
.hlp-directory .hlp-clear-search.is-visible { display:flex; }
.hlp-directory .hlp-clear-search :is(i,svg.hlp-icon) { height:1rem; position:static; transform:none; width:1rem; }
.hlp-directory .hlp-reset { align-items:center; background:transparent; border:0; color:var(–hlp-green); cursor:pointer; display:inline-flex; font-weight:800; gap:.35rem; height:40px; justify-content:center; padding:0 .55rem; white-space:nowrap; }
.hlp-directory .hlp-reset :is(i,svg.hlp-icon) { height:1rem; width:1rem; }
.hlp-directory .hlp-control-footer { align-items:center; border-top:1px solid var(–hlp-line); display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; justify-content:space-between; margin-top:.7rem; padding-top:.7rem; }
.hlp-directory .hlp-results-count { color:var(–hlp-muted); font-size:.9rem; margin:0; }
.hlp-directory .hlp-switch-row { align-items:center; color:#314038; cursor:pointer; display:inline-flex; font-size:.9rem; font-weight:800; gap:.55rem; }
.hlp-directory .hlp-switch-row input { height:1px; opacity:0; position:absolute; width:1px; }
.hlp-directory .hlp-switch { background:#b7c6bb; border-radius:999px; display:inline-block; height:22px; position:relative; transition:background .18s ease; width:40px; }
.hlp-directory .hlp-switch::after { background:#fff; border-radius:50%; content:””; height:16px; left:3px; position:absolute; top:3px; transition:transform .18s ease; width:16px; }
.hlp-directory .hlp-switch-row input:checked + .hlp-switch { background:var(–hlp-green); }
.hlp-directory .hlp-switch-row input:checked + .hlp-switch::after { transform:translateX(18px); }
.hlp-directory .hlp-switch-row input:focus-visible + .hlp-switch { outline:3px solid rgba(17,82,40,.22); outline-offset:2px; }
.hlp-directory .hlp-company-list { display:grid; gap:1rem; grid-template-columns:minmax(0,1fr); margin:0; padding:0; }
.hlp-directory .hlp-company-card { background:var(–hlp-surface-alt); border:1px solid var(–hlp-line); border-left:4px solid #a9b9ad; border-radius:.5rem; overflow:hidden; transition:border-color .18s ease; }
.hlp-directory .hlp-company-card:nth-child(even) { background:#f5f8f5; }
.hlp-directory .hlp-company-card:hover { border-color:#a8b9ad; }
.hlp-directory .hlp-company-card.is-featured { background:var(–hlp-cream); border-color:#c5d4c9; border-left-color:var(–hlp-green); }
.hlp-directory .hlp-card-header { align-items:center; display:flex; gap:1rem; justify-content:space-between; padding:1.1rem 1.1rem .65rem; }
.hlp-directory .hlp-title-block { align-items:center; display:flex; gap:.85rem; min-width:0; }
.hlp-directory .hlp-logo-wrap { align-items:center; background:#fff; border:1px solid var(–hlp-line); border-radius:.38rem; display:flex; flex:0 0 82px; height:58px; justify-content:center; overflow:hidden; padding:.4rem; }
.hlp-directory .hlp-logo-wrap.wide { flex-basis:116px; }
.hlp-directory .hlp-logo-wrap img { display:block; max-height:100%; max-width:100%; object-fit:contain; width:auto; }
.hlp-directory .hlp-logo-wrap.mark img { height:42px; width:42px; }
.hlp-directory .hlp-logo-wrap.dark img { filter:none; }
.hlp-directory .hlp-rank-line { align-items:center; color:var(–hlp-muted); display:flex; flex-wrap:wrap; font-family:Roboto,Arial,sans-serif; font-size:.76rem; font-weight:800; gap:.45rem; letter-spacing:.035em; margin-bottom:.22rem; text-transform:uppercase; }
.hlp-directory .hlp-rank { color:var(–hlp-green); }
.hlp-directory .hlp-featured-label { align-items:center; background:var(–hlp-soft-green); border-radius:999px; color:var(–hlp-green); display:inline-flex; gap:.3rem; padding:.18rem .48rem; }
.hlp-directory .hlp-featured-label :is(i,svg.hlp-icon) { height:.85rem; width:.85rem; }
.hlp-directory .hlp-title-block h3 { font-size:clamp(1.15rem,2.4vw,1.65rem); letter-spacing:-.02em; margin:0; overflow-wrap:anywhere; }
.hlp-directory .hlp-score-ring { align-items:center; background:conic-gradient(var(–hlp-green) calc(var(–score)*1%),#dfe7e1 0); border-radius:50%; display:flex; flex:0 0 68px; height:68px; justify-content:center; position:relative; width:68px; }
.hlp-directory .hlp-score-ring::after { background:var(–hlp-surface-alt); border-radius:50%; content:””; inset:5px; position:absolute; }
.hlp-directory .is-featured .hlp-score-ring::after { background:var(–hlp-cream); }
.hlp-directory .hlp-score-ring strong, .hlp-directory .hlp-score-ring span { position:relative; z-index:1; }
.hlp-directory .hlp-score-ring strong { color:var(–hlp-deep); font-family:Montserrat,Arial,sans-serif; font-size:1.14rem; }
.hlp-directory .hlp-score-ring span { color:var(–hlp-muted); font-size:.64rem; margin-left:1px; }
.hlp-directory .hlp-card-body { padding:.25rem 1.1rem 1rem; }
.hlp-directory .hlp-best-for { align-items:flex-start; color:var(–hlp-green); display:flex; gap:.45rem; margin-bottom:.55rem; }
.hlp-directory .hlp-best-for :is(i,svg.hlp-icon) { flex:0 0 auto; height:1.05rem; margin-top:.25rem; width:1.05rem; }
.hlp-directory .hlp-best-for span { font-size:.93rem; }
.hlp-directory .hlp-description { color:#35443b; font-size:1rem; margin:.4rem 0 .8rem; max-width:980px; }
.hlp-directory .hlp-contact-row { align-items:center; display:flex; flex-wrap:wrap; gap:.45rem .9rem; margin:.55rem 0 .8rem; }
.hlp-directory .hlp-contact-row span, .hlp-directory .hlp-contact-row a { align-items:center; color:var(–hlp-muted); display:inline-flex; font-size:.82rem; gap:.32rem; text-decoration:none; }
.hlp-directory .hlp-contact-row a:hover { color:var(–hlp-green); text-decoration:underline; }
.hlp-directory .hlp-contact-row :is(i,svg.hlp-icon) { color:var(–hlp-green); flex:0 0 auto; height:.92rem; width:.92rem; }
.hlp-directory .hlp-rating { align-items:center; display:inline-flex; gap:.3rem; }
.hlp-directory .hlp-rating strong { color:var(–hlp-deep); }
.hlp-directory .hlp-stars { color:var(–hlp-gold); font-size:.77rem; letter-spacing:-.08em; }
.hlp-directory .hlp-fact-grid { display:grid; gap:.42rem 1rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); list-style:none; margin:.75rem 0; padding:0; }
.hlp-directory .hlp-fact-grid li { align-items:flex-start; display:flex; gap:.48rem; min-width:0; }
.hlp-directory .hlp-fact-grid :is(i,svg.hlp-icon) { color:var(–hlp-green); flex:0 0 auto; height:1rem; margin-top:.28rem; width:1rem; }
.hlp-directory .hlp-fact-grid span { color:#405047; font-size:.86rem; line-height:1.45; }
.hlp-directory .hlp-fact-grid strong { color:var(–hlp-deep); display:block; font-size:.78rem; letter-spacing:.02em; }
.hlp-directory .hlp-service-row { display:flex; flex-wrap:wrap; gap:.35rem; margin:.8rem 0; }
.hlp-directory .hlp-service-row span, .hlp-directory .hlp-theme-row span { background:#eef4ef; border:1px solid #d5e2d8; border-radius:999px; color:#31523c; font-size:.73rem; line-height:1.25; padding:.25rem .52rem; }
.hlp-directory .hlp-primary-links { align-items:center; display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.7rem; }
.hlp-directory .hlp-website-button, .hlp-directory .hlp-map-link { align-items:center; border-radius:.32rem; display:inline-flex; font-size:.87rem; font-weight:800; gap:.38rem; justify-content:center; min-height:39px; padding:.48rem .75rem; text-decoration:none; }
.hlp-directory .hlp-website-button { background:var(–hlp-green); color:#fff !important; }
.hlp-directory .hlp-website-button:hover { background:var(–hlp-deep); color:#fff !important; }
.hlp-directory .hlp-map-link { color:var(–hlp-green); }
.hlp-directory .hlp-map-link:hover { background:var(–hlp-soft-green); }
.hlp-directory .hlp-primary-links :is(i,svg.hlp-icon) { height:1rem; width:1rem; }
.hlp-directory .hlp-card-actions { align-items:stretch; border-top:1px solid var(–hlp-line); display:flex; flex-wrap:wrap; gap:.05rem; padding:.25rem .65rem; }
.hlp-directory .hlp-card-toggle { align-items:center; background:transparent; border:0; border-radius:.28rem; color:#3d4d43; cursor:pointer; display:inline-flex; font-family:Roboto,Arial,sans-serif; font-size:.8rem; font-weight:800; gap:.38rem; justify-content:center; min-height:40px; padding:.48rem .58rem; }
.hlp-directory .hlp-card-toggle:hover, .hlp-directory .hlp-card-toggle[aria-expanded=”true”] { background:#e8f1ea; color:var(–hlp-green); }
.hlp-directory .hlp-card-toggle :is(i,svg.hlp-icon) { height:1rem; width:1rem; }
.hlp-directory .hlp-card-toggle small { background:#dfeae2; border-radius:999px; font-size:.66rem; min-width:1.35rem; padding:.12rem .34rem; }
.hlp-directory .hlp-panel-stack { border-top:0; }
.hlp-directory .hlp-panel { background:rgba(255,255,255,.58); padding:1rem 1.1rem 1.15rem; }
.hlp-directory .hlp-panel + .hlp-panel { border-top:1px solid var(–hlp-line); }
.hlp-directory .hlp-panel[hidden] { display:none; }
.hlp-directory .hlp-panel-intro { margin-bottom:.8rem; }
.hlp-directory .hlp-panel-intro h4 { font-size:1.02rem; margin-bottom:.18rem; }
.hlp-directory .hlp-panel-intro p { color:var(–hlp-muted); font-size:.86rem; margin:0; }
.hlp-directory .hlp-factor-list { display:grid; gap:.55rem; }
.hlp-directory .hlp-factor { background:#fff; border:1px solid var(–hlp-line); border-radius:.35rem; padding:.7rem .75rem; }
.hlp-directory .hlp-factor-head { align-items:center; display:grid; gap:.7rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); }
.hlp-directory .hlp-factor-head div:first-child { align-items:baseline; display:flex; flex-wrap:wrap; gap:.25rem .55rem; }
.hlp-directory .hlp-factor-head strong { color:var(–hlp-deep); font-size:.88rem; }
.hlp-directory .hlp-factor-head span { color:var(–hlp-muted); font-size:.75rem; }
.hlp-directory .hlp-factor-bar { background:#e3eae4; border-radius:999px; height:8px; overflow:hidden; }
.hlp-directory .hlp-factor-bar span { background:var(–hlp-green); border-radius:inherit; display:block; height:100%; }
.hlp-directory .hlp-why { border-top:1px solid #e7ece8; margin-top:.55rem; padding-top:.45rem; }
.hlp-directory .hlp-why summary { color:var(–hlp-green); cursor:pointer; display:inline-flex; font-size:.8rem; font-weight:800; }
.hlp-directory .hlp-why p { color:#3d4c43; font-size:.86rem; margin:.48rem 0 .55rem; }
.hlp-directory .hlp-source-links { display:flex; flex-wrap:wrap; gap:.38rem; }
.hlp-directory .hlp-source-link, .hlp-directory .hlp-review-link { align-items:center; color:var(–hlp-green); display:inline-flex; font-size:.75rem; font-weight:800; gap:.2rem; text-decoration:underline; text-decoration-color:#b3c7b8; text-underline-offset:2px; }
.hlp-directory .hlp-source-link :is(i,svg.hlp-icon), .hlp-directory .hlp-review-link :is(i,svg.hlp-icon) { height:.78rem; width:.78rem; }
.hlp-directory .hlp-check-list { display:grid; gap:.48rem; list-style:none; margin:.3rem 0 .85rem; padding:0; }
.hlp-directory .hlp-check-list li { align-items:flex-start; display:flex; gap:.48rem; }
.hlp-directory .hlp-check-list :is(i,svg.hlp-icon) { color:var(–hlp-green); flex:0 0 auto; height:1rem; margin-top:.28rem; width:1rem; }
.hlp-directory .hlp-check-list span { color:#39483f; font-size:.9rem; }
.hlp-directory .hlp-profile-groups { display:grid; gap:.85rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.hlp-directory .hlp-profile-group h5 { font-size:.83rem; margin:0 0 .38rem; }
.hlp-directory .hlp-profile-links { display:grid; gap:.36rem; }
.hlp-directory .hlp-profile-links a { align-items:center; background:#fff; border:1px solid var(–hlp-line); border-radius:.32rem; color:var(–hlp-green); display:flex; gap:.5rem; justify-content:space-between; min-width:0; padding:.52rem .62rem; text-decoration:none; }
.hlp-directory .hlp-profile-links a:hover { border-color:#9eb3a4; }
.hlp-directory .hlp-profile-links span { min-width:0; }
.hlp-directory .hlp-profile-links strong, .hlp-directory .hlp-profile-links small { display:block; overflow-wrap:anywhere; }
.hlp-directory .hlp-profile-links strong { font-size:.82rem; }
.hlp-directory .hlp-profile-links small { color:var(–hlp-muted); font-size:.7rem; font-weight:400; line-height:1.35; margin-top:.08rem; }
.hlp-directory .hlp-profile-links :is(i,svg.hlp-icon) { flex:0 0 auto; height:.9rem; width:.9rem; }
.hlp-directory .hlp-review-list { display:grid; gap:.55rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.hlp-directory .hlp-review { background:#fff; border:1px solid var(–hlp-line); border-radius:.35rem; padding:.72rem; }
.hlp-directory .hlp-review-head strong, .hlp-directory .hlp-review-head span { display:block; }
.hlp-directory .hlp-review-head strong { color:var(–hlp-deep); font-size:.86rem; }
.hlp-directory .hlp-review-head span { color:var(–hlp-muted); font-size:.7rem; line-height:1.4; }
.hlp-directory .hlp-review p { color:#3b4a41; font-size:.84rem; margin:.5rem 0; }
.hlp-directory .hlp-theme-row { display:flex; flex-wrap:wrap; gap:.28rem; margin:.5rem 0; }
.hlp-directory .hlp-theme-row span { font-size:.68rem; }
.hlp-directory .hlp-empty { align-items:center; border:1px solid var(–hlp-line); border-radius:.45rem; color:var(–hlp-muted); display:none; flex-direction:column; gap:.4rem; padding:2rem; text-align:center; }
.hlp-directory .hlp-empty :is(i,svg.hlp-icon) { color:var(–hlp-green); height:1.6rem; width:1.6rem; }
.hlp-directory .hlp-empty strong { color:var(–hlp-deep); }
.hlp-directory .hlp-research-note { border-top:1px solid var(–hlp-line); color:var(–hlp-muted); font-size:.82rem; margin-top:1.2rem; padding:1rem 0 0; }
.hlp-directory button:focus-visible, .hlp-directory a:focus-visible, .hlp-directory summary:focus-visible { outline:3px solid rgba(17,82,40,.24); outline-offset:2px; }
@container hlp-directory (max-width:980px) {
.hlp-directory .hlp-control-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.hlp-directory .hlp-control-search { grid-column:1/-1; }
.hlp-directory .hlp-reset { justify-self:start; }
.hlp-directory .hlp-weight-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@container hlp-directory (max-width:700px) {
.hlp-directory h1 { font-size:2.15rem; }
.hlp-directory .hlp-control-grid, .hlp-directory .hlp-profile-groups, .hlp-directory .hlp-review-list, .hlp-directory .hlp-fact-grid { grid-template-columns:minmax(0,1fr); }
.hlp-directory .hlp-card-header { align-items:flex-start; padding:.9rem .85rem .55rem; }
.hlp-directory .hlp-card-body { padding:.2rem .85rem .85rem; }
.hlp-directory .hlp-logo-wrap { flex-basis:62px; height:50px; }
.hlp-directory .hlp-logo-wrap.wide { flex-basis:86px; }
.hlp-directory .hlp-score-ring { flex-basis:58px; height:58px; width:58px; }
.hlp-directory .hlp-card-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); padding:.3rem; }
.hlp-directory .hlp-card-toggle { justify-content:flex-start; min-width:0; }
.hlp-directory .hlp-factor-head { grid-template-columns:minmax(0,1fr); }
.hlp-directory .hlp-panel { padding:.85rem; }
.hlp-directory .hlp-weight-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.hlp-directory .hlp-control-footer { align-items:flex-start; flex-direction:column; }
}
@container hlp-directory (max-width:430px) {
.hlp-directory .hlp-title-block { align-items:flex-start; gap:.55rem; }
.hlp-directory .hlp-logo-wrap.wide { flex-basis:70px; height:46px; }
.hlp-directory .hlp-logo-wrap { flex-basis:48px; height:46px; }
.hlp-directory .hlp-title-block h3 { font-size:1.05rem; }
.hlp-directory .hlp-score-ring { flex-basis:52px; height:52px; width:52px; }
.hlp-directory .hlp-score-ring strong { font-size:1rem; }
.hlp-directory .hlp-card-toggle { font-size:.74rem; padding:.42rem; }
.hlp-directory .hlp-card-toggle small { display:none; }
.hlp-directory .hlp-weight-grid { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
.hlp-directory *, .hlp-directory *::before, .hlp-directory *::after { scroll-behavior:auto !important; transition:none !important; }
}
@media print {
.hlp-directory .hlp-controls, .hlp-directory .hlp-card-actions, .hlp-directory .hlp-hero-actions { display:none !important; }
.hlp-directory .hlp-panel[hidden] { display:block !important; }
.hlp-directory .hlp-company-card { break-inside:avoid; }
}
.hlp-directory { container:hlp-directory / inline-size; min-width:0; max-width:100%; background:transparent; overflow-wrap:break-word; -webkit-text-size-adjust:100%; }
.hlp-directory [hidden] { display:none !important; }
.hlp-directory :is(button,input,select) { font-family:inherit; letter-spacing:normal; text-transform:none; }
.hlp-directory button { margin:0; }
.hlp-directory svg.hlp-icon { display:inline-block; flex-shrink:0; width:1em; height:1em; max-width:none; vertical-align:middle; }
.hlp-directory .hlp-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.hlp-directory :is(.hlp-control,.hlp-input-wrap,.hlp-title-block div,.hlp-score-block,.hlp-factor,.hlp-review,.hlp-profile-group,.hlp-switch-row) { min-width:0; }
.hlp-directory .hlp-control-grid { align-items:end; }
.hlp-directory .hlp-control-search { grid-column:1/-1; }
.hlp-directory input[type=”search”], .hlp-directory select { display:block; box-sizing:border-box; min-height:44px; height:auto; line-height:1.4; font-size:16px; max-width:100%; }
.hlp-directory input[type=”search”] { padding:10px 44px 10px 36px; text-overflow:ellipsis; }
.hlp-directory input[type=”search”]::placeholder { color:#596960; opacity:1; font:inherit; letter-spacing:normal; text-transform:none; }
.hlp-directory input[type=”search”]::-webkit-search-cancel-button { -webkit-appearance:none; }
.hlp-directory select { padding:10px 30px 10px 10px; background-position:calc(100% – 15px) 19px,calc(100% – 10px) 19px; text-overflow:ellipsis; }
.hlp-directory .hlp-input-wrap svg.hlp-icon { position:absolute; width:16px; height:16px; left:11px; top:50%; transform:translateY(-50%); pointer-events:none; }
.hlp-directory .hlp-clear-search { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; right:0; border-radius:4px; }
.hlp-directory .hlp-clear-search svg.hlp-icon { position:static; width:16px; height:16px; transform:none; }
.hlp-directory .hlp-reset { height:auto; min-height:44px; }
.hlp-directory .hlp-switch-row { min-height:44px; line-height:1.4; }
.hlp-directory .hlp-switch { flex:0 0 40px; }
.hlp-directory .hlp-switch-row input:indeterminate + .hlp-switch { background:var(–hlp-green); }
.hlp-directory .hlp-switch-row input:indeterminate + .hlp-switch::after { transform:translateX(9px); }
.hlp-directory .hlp-title-block { flex:1 1 auto; }
.hlp-directory .hlp-logo-wrap { flex-shrink:0; }
.hlp-directory .hlp-logo-wrap img { width:100%; height:100%; object-fit:contain; }
.hlp-directory .hlp-logo-wrap.mark img { width:100%; height:100%; }
.hlp-directory .hlp-logo-wrap.hlp-logo-reverse { background:#292d30; border-color:#292d30; }
.hlp-directory .hlp-logo-wrap.hlp-logo-shape img { width:120%; max-width:none; height:auto; flex-shrink:0; }
.hlp-directory .hlp-title-block h3 { word-break:normal; overflow-wrap:break-word; }
.hlp-directory .hlp-contact-row :is(span,a) { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.hlp-directory .hlp-rating { flex-wrap:wrap; }
.hlp-directory .hlp-card-toggle { min-height:44px; white-space:normal; text-align:left; }
.hlp-directory .hlp-card-toggle span { min-width:0; }
.hlp-directory .hlp-card-toggle small { flex-shrink:0; }
.hlp-directory .hlp-panel:not([hidden]) { border-top:1px solid var(–hlp-line); }
.hlp-directory .hlp-why summary { align-items:center; gap:.45rem; min-height:36px; list-style:none; }
.hlp-directory .hlp-why summary::-webkit-details-marker { display:none; }
.hlp-directory .hlp-why summary::before { content:’+’; font-size:1.1rem; line-height:1; }
.hlp-directory .hlp-why[open] summary::before { content:’−’; }
.hlp-directory :is(.hlp-source-link,.hlp-review-link) { min-height:32px; max-width:100%; overflow-wrap:anywhere; }
.hlp-directory .hlp-theme-row span { max-width:100%; overflow-wrap:anywhere; }
.hlp-directory :is(.hlp-hero-actions a,.hlp-website-button,.hlp-map-link) { min-height:44px; }
@container hlp-directory (min-width:1100px) {
.hlp-directory .hlp-control-grid { grid-template-columns:minmax(230px,1.4fr) repeat(4,minmax(0,1fr)) auto; }
.hlp-directory .hlp-control-search { grid-column:auto; }
}
@container hlp-directory (max-width:980px) {
.hlp-directory .hlp-control-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container hlp-directory (max-width:700px) {
.hlp-directory .hlp-control-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hlp-directory .hlp-card-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hlp-directory .hlp-control-footer { flex-direction:row; }
.hlp-directory .hlp-card-header { gap:.65rem; }
}
@container hlp-directory (max-width:480px) {
.hlp-directory .hlp-card-header { display:grid; grid-template-columns:minmax(0,1fr) 48px; padding:.85rem .7rem .5rem; }
.hlp-directory .hlp-title-block { gap:.5rem; }
.hlp-directory .hlp-title-block div { flex:1; }
.hlp-directory .hlp-logo-wrap, .hlp-directory .hlp-logo-wrap.wide { flex-basis:60px; height:48px; padding:.2rem; }
.hlp-directory .hlp-title-block h3 { font-size:1.08rem; line-height:1.25; }
.hlp-directory .hlp-score-ring { width:48px; height:48px; }
.hlp-directory .hlp-score-ring strong { font-size:.9rem; }
.hlp-directory .hlp-rank-line { font-size:.68rem; }
.hlp-directory .hlp-card-body, .hlp-directory .hlp-panel { padding:.65rem .7rem; }
.hlp-directory .hlp-card-toggle { font-size:.78rem; padding:.4rem; gap:.3rem; }
.hlp-directory .hlp-hero-actions a { flex:1 1 100%; }
.hlp-directory .hlp-control-footer { align-items:flex-start; flex-direction:column; gap:.3rem; }
}
@container hlp-directory (max-width:359px) {
.hlp-directory .hlp-control-grid { grid-template-columns:minmax(0,1fr); }
.hlp-directory .hlp-logo-wrap, .hlp-directory .hlp-logo-wrap.wide { flex-basis:48px; }
.hlp-directory .hlp-card-header { column-gap:.45rem; }
}
@media print {
.hlp-directory [data-company-card][hidden], .hlp-directory .hlp-panel[hidden] { display:block !important; }
.hlp-directory .hlp-company-card { break-inside:auto; }
.hlp-directory .hlp-card-header { break-after:avoid; }
}
A practical comparison of local fit, customer feedback, operating proof, residential services and published pricing.