:root{--hvt-ink:#263a43;--hvt-ink-deep:#1d333c;--hvt-teal:#3f778b;--hvt-teal-dark:#2f6272;--hvt-orange:#cb7043;--hvt-orange-dark:#af5730;--hvt-gold:#f4bf38;--hvt-paper:#f7f4f0;--hvt-white:#fff;--hvt-line:#d8dfe1;--hvt-muted:#60727a;--hvt-green:#2f7652}
.hvt-directory,.hvt-directory *{box-sizing:border-box}.hvt-directory{width:100%;max-width:1200px;margin-right:auto;margin-left:auto;color:var(--hvt-ink);font-family:Inter,sans-serif;font-size:15px;line-height:1.45}.hvt-directory button,.hvt-directory input,.hvt-directory select{font:inherit}.hvt-directory [hidden]{display:none!important}.hvt-directory a{color:inherit}.hvt-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.hvt-directory-admin-message{padding:16px;border-left:4px solid var(--hvt-orange);background:#fff4ed}
.hvt-directory-search{display:grid;grid-template-columns:minmax(0,1fr) 170px 155px;overflow:hidden;border:1px solid var(--hvt-line);border-radius:16px;background:var(--hvt-white);box-shadow:0 16px 38px rgba(25,42,49,.11)}.hvt-directory-search>div{min-width:0;padding:17px 19px}.hvt-directory-search>div+div{border-left:1px solid var(--hvt-line)}.hvt-directory-search label{display:block;margin-bottom:7px;color:var(--hvt-ink);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.hvt-directory-search input,.hvt-directory-search select{width:100%;height:42px;border:0;background:transparent;color:var(--hvt-ink);outline:0}.hvt-directory-search select{cursor:pointer}.hvt-field-control{display:flex;align-items:center;gap:10px}.hvt-search-icon{width:24px;height:42px;display:inline-flex;flex:0 0 24px;align-items:center;justify-content:center;color:var(--hvt-orange-dark)}.hvt-search-icon svg{width:21px;height:21px;display:block;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.hvt-field-control input{min-width:0}.hvt-detected-trade{min-height:17px;margin:2px 0 -7px 34px;color:var(--hvt-green);font-size:11px;font-weight:700}
.hvt-directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:35px 0 19px}.hvt-directory-heading h2{margin:5px 0 0;font-size:clamp(30px,3vw,43px);line-height:1.05;letter-spacing:-.045em}.hvt-eyebrow{color:var(--hvt-orange-dark);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.hvt-mobile-filter-button{display:none}.hvt-directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:11px 14px;border:1px solid var(--hvt-line);border-radius:12px;background:var(--hvt-white)}.hvt-result-count{margin:0;color:var(--hvt-muted)}.hvt-result-count strong{color:var(--hvt-ink)}.hvt-sort-control{display:flex;align-items:center;gap:9px;color:var(--hvt-muted);font-size:13px;font-weight:700;white-space:nowrap}.hvt-sort-control select{height:40px;min-width:250px;padding:0 34px 0 12px;border:1px solid #cfd6d8;border-radius:8px;background:var(--hvt-white);color:var(--hvt-ink);font-weight:700}.hvt-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-2px 0 14px;padding:10px 12px;border:1px solid #cbd8dc;border-radius:11px;background:#f7fafb}.hvt-active-filters>strong{margin-right:2px;color:var(--hvt-ink);font-size:12px}.hvt-active-filter-list{display:flex;flex:1;flex-wrap:wrap;gap:7px}.hvt-active-filter{display:inline-flex;align-items:center;gap:7px;min-height:31px;padding:5px 9px 5px 11px;border:1px solid #b9cfd6;border-radius:999px;background:#fff;color:#285b6c;font-size:11px;font-weight:800;cursor:pointer}.hvt-active-filter:hover{border-color:var(--hvt-teal);background:#edf4f6}.hvt-active-filter span{font-size:16px;line-height:1}.hvt-active-filter-clear{margin-left:auto;white-space:nowrap}
.hvt-directory-layout{display:grid;grid-template-columns:286px minmax(0,1fr);align-items:start;gap:22px}.hvt-filter-panel{position:sticky;top:20px;overflow:hidden;border:1px solid var(--hvt-line);border-radius:15px;background:var(--hvt-white);box-shadow:0 9px 25px rgba(25,42,49,.06)}.hvt-filter-title{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--hvt-line)}.hvt-filter-title strong{font-size:17px}.hvt-filter-clear,.hvt-compare-clear{padding:0;border:0;background:transparent;color:var(--hvt-orange-dark);font-size:12px;font-weight:800;cursor:pointer}.hvt-filter-panel details{border-bottom:1px solid var(--hvt-line)}.hvt-filter-panel summary{position:relative;padding:16px 40px 16px 18px;list-style:none;font-weight:800;cursor:pointer}.hvt-filter-panel summary::-webkit-details-marker{display:none}.hvt-filter-panel summary:after{content:'+';position:absolute;right:18px;color:var(--hvt-orange-dark)}.hvt-filter-panel details[open] summary:after{content:'−'}.hvt-filter-content{display:grid;gap:10px;padding:0 18px 17px}.hvt-filter-content select{width:100%;height:42px;padding:0 32px 0 11px;border:1px solid #cfd6d8;border-radius:8px;background:var(--hvt-white);color:var(--hvt-ink);font-weight:650}.hvt-filter-label{margin:3px 0 -4px;color:var(--hvt-muted);font-size:11px;font-weight:750}.hvt-check{display:flex;align-items:flex-start;gap:9px;cursor:pointer}.hvt-check input{width:17px;height:17px;margin-top:2px;accent-color:var(--hvt-teal)}.hvt-check span{font-weight:700}.hvt-check small{display:block;margin-top:2px;color:var(--hvt-muted);font-size:10px;font-weight:500}.hvt-check-compact span{font-size:13px}.hvt-filter-check-grid{gap:9px}.hvt-filter-actions{display:grid;grid-template-columns:1fr auto;gap:7px;padding:14px}
.hvt-results-column{min-width:0}.hvt-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px}.hvt-card-grid[aria-busy=true]{opacity:.58;pointer-events:none}.hvt-contractor-card{min-width:0;height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--hvt-line);border-radius:15px;background:var(--hvt-white);box-shadow:0 11px 28px rgba(25,42,49,.08);transition:border-color .18s,box-shadow .18s,transform .18s}.hvt-contractor-card:hover{border-color:#b8c7cb;box-shadow:0 16px 38px rgba(25,42,49,.12);transform:translateY(-2px)}
.hvt-card-gallery{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--hvt-line);background:#e7ecee}.hvt-gallery-track{width:100%;height:100%;display:flex;transition:transform .26s ease}.hvt-gallery-slide{width:100%;height:100%;flex:0 0 100%;display:grid;place-items:center;overflow:hidden}.hvt-gallery-slide>img{width:100%;height:100%;display:block;object-fit:cover}.hvt-logo-slide{width:100%;height:100%;display:grid;place-items:center;padding:18px 24px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.98),rgba(255,255,255,.35) 55%,transparent 82%)}.hvt-logo-slide>img{width:auto;height:auto;max-width:82%;max-height:76%;display:block;object-fit:contain;padding:12px;border:1px solid rgba(38,57,66,.1);border-radius:18px;background:#fff;box-shadow:0 16px 34px rgba(25,42,49,.15)}.hvt-logo-fallback{width:72%;height:66%;display:grid;place-items:center;border:1px solid hsla(var(--hvt-placeholder-hue),36%,35%,.22);border-radius:22px;background:linear-gradient(145deg,hsl(var(--hvt-placeholder-hue),36%,92%),hsl(var(--hvt-placeholder-hue),42%,80%));color:hsl(var(--hvt-placeholder-hue),42%,28%);font-size:clamp(34px,4vw,58px);font-weight:850;letter-spacing:.05em;box-shadow:0 16px 34px rgba(25,42,49,.15),inset 0 0 0 9px rgba(255,255,255,.42)}
.hvt-featured-pill{position:absolute;z-index:5;top:12px;left:12px;min-height:27px;display:inline-flex;align-items:center;padding:5px 10px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(35,80,95,.95);color:#fff;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 12px rgba(20,42,50,.16)}.hvt-card-corner-actions{position:absolute;z-index:6;top:11px;right:11px;display:flex;align-items:center;gap:8px}.hvt-founding-seal{width:34px;height:34px;display:grid;place-items:center;border:2px solid #d0ad3c;border-radius:50%;background:var(--hvt-ink-deep);color:#ffe17a;font-family:Georgia,serif;font-size:14px;font-weight:800;box-shadow:0 0 0 2px rgba(208,173,60,.32),0 4px 12px rgba(20,42,50,.2)}.hvt-favorite{width:42px;height:42px;display:grid;place-items:center;padding:0 0 2px;border:1px solid #c8d0d2;border-radius:50%;background:#fff;color:var(--hvt-ink);font-size:25px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(25,42,49,.12)}.hvt-favorite:hover{border-color:var(--hvt-orange);color:var(--hvt-orange-dark)}.hvt-favorite.is-saved{border-color:var(--hvt-orange);background:#fff1e8;color:var(--hvt-orange-dark)}.hvt-gallery-arrow{position:absolute;z-index:4;top:50%;width:34px;height:42px;display:grid;place-items:center;padding:0 0 3px;border:1px solid rgba(38,57,66,.15);border-radius:9px;background:rgba(255,255,255,.92);color:var(--hvt-ink);font-size:28px;line-height:1;cursor:pointer;opacity:0;transform:translateY(-50%);box-shadow:0 5px 14px rgba(25,42,49,.14)}.hvt-gallery-prev{left:10px}.hvt-gallery-next{right:10px}.hvt-card-gallery:hover .hvt-gallery-arrow,.hvt-gallery-arrow:focus-visible{opacity:1}.hvt-gallery-dots{position:absolute;z-index:4;left:50%;bottom:10px;display:flex;gap:5px;padding:5px 7px;border-radius:999px;background:rgba(27,44,51,.62);transform:translateX(-50%)}.hvt-gallery-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.56);cursor:pointer}.hvt-gallery-dots button.is-active{width:18px;border-radius:99px;background:#fff}
.hvt-card-main{flex:1;padding:11px 14px 10px}.hvt-card-status{min-height:29px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.hvt-verified-pill{min-height:25px;display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #c2d6dc;border-radius:999px;background:#edf4f6;color:#285b6c;font-size:9px;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.hvt-compare-control{display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid var(--hvt-line);border-radius:7px;background:var(--hvt-paper);color:var(--hvt-muted);font-size:11px;font-weight:700;cursor:pointer}.hvt-compare-control input{width:16px;height:16px;margin:0;accent-color:var(--hvt-teal)}.hvt-trade-label{margin:0 0 3px;color:var(--hvt-teal);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.hvt-card-main h3{min-height:44px;margin:0;font-size:23px;font-weight:780;line-height:1.12;letter-spacing:-.035em}.hvt-card-main h3 a{text-decoration:none}.hvt-card-meta{min-height:18px;display:flex;flex-wrap:wrap;gap:4px 12px;margin:5px 0;color:var(--hvt-muted);font-size:12px}.hvt-rating-line{min-height:21px;display:flex;align-items:center;gap:6px;color:var(--hvt-muted);font-size:12px}.hvt-rating-line strong{color:var(--hvt-ink);font-size:15px}.hvt-stars{color:#f4b82f;letter-spacing:.03em}.hvt-card-summary{min-height:41px;display:-webkit-box;margin:5px 0 7px;overflow:hidden;color:#4a5b62;font-size:14px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.hvt-card-chips{min-height:27px;display:flex;align-content:flex-start;flex-wrap:wrap;gap:5px}.hvt-card-chips span{padding:5px 8px;border:1px solid #cbe0d3;border-radius:999px;background:#f0f8f3;color:#285d42;font-size:10px;font-weight:750}.hvt-card-actions{padding:9px 10px;border-top:1px solid var(--hvt-line);background:#fbfaf8}.hvt-card-actions>div{display:grid;grid-template-columns:.86fr 1.14fr;gap:6px}
.hvt-button{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid transparent;border-radius:9px;font-size:12px;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}.hvt-button-primary{border-color:var(--hvt-orange);background:var(--hvt-orange);color:#fff!important}.hvt-button-primary:hover{border-color:var(--hvt-orange-dark);background:var(--hvt-orange-dark)}.hvt-button-secondary{border-color:#bdc7ca;background:#fff;color:var(--hvt-ink)}.hvt-load-more{display:flex;margin:22px auto 0;padding-inline:23px}.hvt-empty-state{padding:60px 25px;border:1px dashed #bdc7ca;border-radius:15px;background:#fff;text-align:center}.hvt-empty-state h3{margin:0 0 7px}.hvt-empty-state p{margin:0;color:var(--hvt-muted)}.hvt-geo-notice{margin:0 0 12px;padding:10px 13px;border-radius:8px;background:#fff6e4;color:#76530c;font-size:12px}
.hvt-overlay{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:22px;overflow-y:auto;background:rgba(19,35,42,.78);backdrop-filter:blur(4px)}.hvt-modal{position:relative;width:min(660px,100%);max-height:calc(100vh - 44px);overflow-y:auto;padding:32px;border:1px solid rgba(255,255,255,.4);border-radius:20px;background:#fff;box-shadow:0 30px 80px rgba(10,24,30,.4)}.hvt-modal-wide{width:min(1040px,100%)}.hvt-modal-close{position:absolute;top:15px;right:15px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid var(--hvt-line);border-radius:50%;background:var(--hvt-paper);color:var(--hvt-ink);font-size:25px;cursor:pointer}.hvt-modal h2{margin:7px 48px 10px 0;font-size:32px;letter-spacing:-.04em}.hvt-quick-meta{color:var(--hvt-muted)}.hvt-quick-rating{display:flex;gap:8px;margin:18px 0;padding:12px 14px;border:1px solid var(--hvt-line);border-radius:9px;background:var(--hvt-paper)}.hvt-quick-summary{font-size:15px;line-height:1.65}.hvt-quick-facts{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--hvt-line);border-radius:10px;background:var(--hvt-line)}.hvt-quick-facts>div{padding:12px 14px;background:#fff}.hvt-quick-facts dt{color:var(--hvt-muted);font-size:10px;font-weight:800;text-transform:uppercase}.hvt-quick-facts dd{margin:3px 0 0;font-weight:700}.hvt-modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:20px}.hvt-compare-tray{position:fixed;z-index:99990;left:50%;bottom:20px;width:min(720px,calc(100% - 36px));min-height:68px;display:flex;align-items:center;gap:14px;padding:10px 11px 10px 19px;border-radius:14px;background:var(--hvt-ink);color:#fff;box-shadow:0 18px 50px rgba(11,26,32,.36);transform:translateX(-50%)}.hvt-compare-tray>div{display:grid;flex:1}.hvt-compare-tray small{color:#b8c8ce}.hvt-compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hvt-compare-card{padding:17px;border:1px solid var(--hvt-line);border-radius:12px;background:var(--hvt-paper)}.hvt-compare-card h3{margin:0 0 12px;font-size:19px}.hvt-compare-card dl{margin:0 0 16px}.hvt-compare-card dl>div{padding:9px 0;border-top:1px solid var(--hvt-line)}.hvt-compare-card dt{color:var(--hvt-muted);font-size:10px;font-weight:800;text-transform:uppercase}.hvt-compare-card dd{margin:2px 0 0;font-weight:700}.hvt-card-data{display:none}
.hvt-card-gallery.is-slide-1 .hvt-gallery-track{transform:translateX(-100%)}.hvt-card-gallery.is-slide-2 .hvt-gallery-track{transform:translateX(-200%)}.hvt-overlay-open{overflow:hidden}
@media(max-width:1120px) and (min-width:961px){.hvt-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.hvt-directory-layout{grid-template-columns:1fr}.hvt-filter-panel{position:fixed;z-index:99980;inset:0 auto 0 0;width:min(360px,92vw);overflow-y:auto;border-radius:0;transform:translateX(-102%);transition:transform .22s}.hvt-filter-panel.is-open{transform:none}.hvt-mobile-filter-button{display:inline-flex;padding:9px 14px;border:1px solid #bdc7ca;border-radius:8px;background:#fff;font-weight:800}.hvt-gallery-arrow{opacity:1}.hvt-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.hvt-directory-search{grid-template-columns:1fr 1fr}.hvt-search-keyword{grid-column:1/-1}.hvt-directory-search>div+div{border-left:0;border-top:1px solid var(--hvt-line)}.hvt-search-radius{border-left:1px solid var(--hvt-line)!important}.hvt-directory-heading{align-items:center}.hvt-directory-toolbar{align-items:stretch;flex-direction:column}.hvt-sort-control{justify-content:space-between}.hvt-sort-control select{min-width:0;flex:1}.hvt-active-filters{align-items:flex-start}.hvt-active-filter-list{flex-basis:100%;order:3}.hvt-active-filter-clear{margin-left:0}.hvt-card-grid{grid-template-columns:1fr}.hvt-compare-grid{grid-template-columns:1fr}.hvt-modal{padding:26px 18px}.hvt-quick-facts{grid-template-columns:1fr}.hvt-modal-actions{display:grid;grid-template-columns:1fr}.hvt-compare-tray{align-items:stretch;flex-wrap:wrap}.hvt-compare-tray>div{width:100%;flex-basis:100%}}

/* v1.2: roomier contractor branding, cleaner filters, and expanded Quick View. */
.hvt-active-filters{padding:9px 12px;background:#fff}.hvt-active-filters>strong{padding-right:2px}.hvt-filter-title{min-height:64px;padding:16px 18px;background:#f7f8f8}.hvt-filter-title strong{font-size:18px;letter-spacing:-.02em}.hvt-filter-title .hvt-filter-clear{font-size:14px;text-decoration:underline;text-underline-offset:2px}.hvt-filter-panel summary{padding-top:18px;padding-bottom:18px}.hvt-filter-content{gap:12px;padding-bottom:20px}.hvt-filter-label{margin:4px 0 -5px}.hvt-check{min-height:30px;align-items:center;gap:10px;padding:3px 0}.hvt-check input{width:18px;height:18px;flex:0 0 18px;margin:0}.hvt-check span{min-width:0;line-height:1.3}.hvt-filter-actions{grid-template-columns:1fr;padding:14px 18px 18px}.hvt-filter-actions .hvt-button{min-height:46px}
.hvt-card-gallery{aspect-ratio:3/2}.hvt-logo-slide{padding:6px 14px 10px}.hvt-logo-slide>img{max-width:92%;max-height:90%;padding:5px;border-radius:14px}.hvt-logo-fallback{width:80%;height:76%}.hvt-card-main h3{min-height:0}.hvt-card-meta{min-height:0;margin:5px 0}.hvt-rating-line{margin-top:7px}
.hvt-quick-modal{width:min(820px,100%);padding:30px}.hvt-quick-header{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:20px;margin:0 50px 20px 0}.hvt-quick-header h2{margin:5px 0 0}.hvt-quick-logo{width:118px;height:96px;display:grid;place-items:center;overflow:hidden;padding:7px;border:1px solid var(--hvt-line);border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(25,42,49,.09)}.hvt-quick-logo img{width:100%;height:100%;display:block;object-fit:contain}.hvt-quick-logo span{width:100%;height:100%;display:grid;place-items:center;border-radius:8px;background:#eaf0f2;color:var(--hvt-teal-dark);font-size:30px;font-weight:850}.hvt-quick-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px}.hvt-quick-gallery img{width:100%;height:118px;display:block;object-fit:cover;border-radius:10px;background:#e7ecee}.hvt-quick-rating{align-items:center;margin:0 0 17px}.hvt-quick-summary{margin:0 0 18px}.hvt-quick-facts{grid-template-columns:1fr 1fr;margin:0}.hvt-quick-facts .hvt-quick-location{grid-column:1/-1}.hvt-quick-contact{margin-top:18px;padding:20px;border-radius:15px;background:var(--hvt-ink-deep);color:#fff}.hvt-quick-contact-label{display:block;color:var(--hvt-gold);font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.hvt-quick-phone{display:inline-block;margin:4px 0 14px;color:#fff!important;font-size:27px;font-weight:850;line-height:1.15;text-decoration:none}.hvt-quick-cta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hvt-quick-contact .hvt-button-secondary{border-color:#fff}.hvt-quick-contact [hidden]{display:none!important}
@media(max-width:680px){.hvt-filter-title{min-height:60px}.hvt-quick-modal{padding:24px 17px}.hvt-quick-header{grid-template-columns:82px minmax(0,1fr);gap:13px;margin-right:42px}.hvt-quick-header h2{font-size:25px}.hvt-quick-logo{width:82px;height:72px}.hvt-quick-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hvt-quick-gallery img{height:105px}.hvt-quick-cta-grid{grid-template-columns:1fr}.hvt-quick-phone{font-size:23px}.hvt-card-gallery{aspect-ratio:16/10}}

/* v1.2.1: fully contained branding, expandable trades, visible CTAs, and Title Case filters. */
.hvt-card-gallery{aspect-ratio:5/4}.hvt-logo-slide{padding:4px 10px 7px}.hvt-logo-slide>img{width:100%;height:100%;max-width:96%;max-height:96%;padding:3px;object-fit:contain}.hvt-quick-header{grid-template-columns:146px minmax(0,1fr);gap:22px}.hvt-quick-logo{width:146px;height:120px;padding:6px}.hvt-quick-logo img{object-fit:contain}.hvt-quick-contact{margin-top:0;margin-bottom:18px}.hvt-quick-contact .hvt-button{color:var(--hvt-ink)!important}.hvt-quick-contact .hvt-button-primary{color:#fff!important}.hvt-secondary-trades-list{margin:0;padding-left:18px}.hvt-secondary-trades-list li+li{margin-top:3px}.hvt-secondary-trades-toggle{margin-top:8px;padding:0;border:0;background:transparent;color:var(--hvt-orange-dark);font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.hvt-filter-panel summary,.hvt-filter-title,.hvt-filter-content{letter-spacing:0}
@media(max-width:680px){.hvt-quick-header{grid-template-columns:100px minmax(0,1fr)}.hvt-quick-logo{width:100px;height:88px}.hvt-card-gallery{aspect-ratio:4/3}}

/* v1.2.2: larger Quick View logo with reviews and location grouped beneath the company name. */

/* v1.2.3: normalize theme-inherited label spacing and center the Sort By control. */
.hvt-directory-toolbar .hvt-sort-control{align-self:center;min-height:40px;margin:0!important;padding:0!important;line-height:1!important}
.hvt-directory-toolbar .hvt-sort-control>span{display:inline-flex;align-items:center;align-self:stretch;margin:0;padding:0;line-height:1.2}
.hvt-directory-toolbar .hvt-sort-control select{align-self:center;margin:0!important;vertical-align:middle}
@media(max-width:680px){.hvt-directory-toolbar .hvt-sort-control{width:100%;align-self:stretch}}
.hvt-quick-header{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:24px;margin-bottom:18px}.hvt-quick-logo{width:180px;height:160px;padding:5px}.hvt-quick-logo img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.hvt-quick-identity{min-width:0;padding-top:4px}.hvt-quick-identity h2{margin:0 44px 10px 0}.hvt-quick-identity .hvt-quick-rating{margin:0 0 10px}.hvt-quick-header-location{display:grid;gap:2px;padding:0 2px}.hvt-quick-header-location span{color:var(--hvt-muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.hvt-quick-header-location strong{font-size:14px;line-height:1.45}.hvt-quick-gallery{margin-top:0}.hvt-quick-contact{margin-top:0}
@media(max-width:680px){.hvt-quick-header{grid-template-columns:112px minmax(0,1fr);gap:14px}.hvt-quick-logo{width:112px;height:108px;padding:4px}.hvt-quick-identity{padding-top:0}.hvt-quick-identity h2{margin-right:28px;font-size:24px}.hvt-quick-identity .hvt-quick-rating{flex-wrap:wrap;gap:5px 7px;padding:9px 10px}.hvt-quick-header-location strong{font-size:13px}}

/* v1.2.4: compact search and location controls within layered navigation. */
.hvt-directory-heading{margin-top:8px}
.hvt-filter-search{padding:14px 16px 16px;border-bottom:1px solid var(--hvt-line);background:#fff}
.hvt-filter-search>label{display:block;margin:0 0 7px;color:var(--hvt-ink);font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.hvt-filter-search-control{min-width:0;height:44px;display:flex;align-items:center;gap:7px;padding:0 11px;border:2px solid var(--hvt-teal);border-radius:999px;background:#fff;box-shadow:0 3px 10px rgba(25,42,49,.06);transition:border-color .18s,box-shadow .18s}
.hvt-filter-search-control:focus-within{border-color:var(--hvt-orange-dark);box-shadow:0 0 0 3px rgba(203,112,67,.14)}
.hvt-filter-search-control .hvt-search-icon{width:20px;height:40px;flex-basis:20px}
.hvt-filter-search-control .hvt-search-icon svg{width:18px;height:18px}
.hvt-filter-search-control input{min-width:0;width:100%;height:40px;margin:0!important;padding:0;border:0!important;background:transparent!important;color:var(--hvt-ink);font-size:13px;outline:0!important;box-shadow:none!important}
.hvt-filter-search-control input::placeholder{color:#77878d;opacity:1}
.hvt-filter-search .hvt-detected-trade{min-height:0;margin:6px 3px 0;font-size:10px}
.hvt-filter-search .hvt-detected-trade:empty{display:none}
.hvt-filter-label{display:block}
.hvt-service-area-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}
.hvt-service-area-grid>div{min-width:0}
.hvt-service-area-grid .hvt-filter-label{margin:0 0 5px}
.hvt-service-area-grid input,.hvt-service-area-grid select{width:100%;height:42px;margin:0!important;border:1px solid #cfd6d8!important;border-radius:8px;background:#fff;color:var(--hvt-ink);font-weight:650;outline:0}
.hvt-service-area-grid input{padding:0 10px}
.hvt-service-area-grid select{padding:0 26px 0 9px}
.hvt-service-area-grid input:focus,.hvt-service-area-grid select:focus{border-color:var(--hvt-teal)!important;box-shadow:0 0 0 2px rgba(63,119,139,.12)}
@media(max-width:960px){.hvt-filter-search{padding-top:13px}.hvt-directory-heading{margin-top:8px}}

/* v1.2.5: contextual Trade filtering and equal-height ZIP/Distance controls. */
.hvt-service-area-grid input,.hvt-service-area-grid select{box-sizing:border-box!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important;padding-top:0!important;padding-bottom:0!important;line-height:40px!important;vertical-align:top}
.hvt-service-area-grid select{line-height:normal!important}

/* v1.2.6 mobile experience: clearer spacing, compact branding, and an accessible filter drawer. */
.hvt-filter-close,.hvt-filter-backdrop{display:none}
@media(max-width:960px){
  .hvt-directory-heading{padding-right:16px;padding-left:16px;margin-bottom:14px}
  .hvt-directory-heading>div{min-width:0;width:100%}
  .hvt-directory-heading h2{margin-top:7px}
  .hvt-directory-toolbar{margin-right:0;margin-left:0}
  .hvt-mobile-filter-button{order:-1;width:100%;min-height:46px;align-items:center;justify-content:center;gap:9px;padding:10px 16px;border:1px solid var(--hvt-orange-dark);border-radius:9px;background:var(--hvt-orange);color:#fff!important;font-size:14px;font-weight:850;box-shadow:0 5px 14px rgba(175,87,48,.2)}
  .hvt-mobile-filter-button:hover,.hvt-mobile-filter-button:focus-visible{border-color:#944622;background:var(--hvt-orange-dark)}
  .hvt-mobile-filter-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
  .hvt-filter-panel{z-index:100001;width:min(360px,calc(100vw - 46px));box-shadow:16px 0 48px rgba(4,13,17,.34)}
  .hvt-filter-title{position:sticky;z-index:5;top:0;gap:12px;padding:11px 10px 11px 18px;background:#fff}
  .hvt-filter-close{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid #cbd3d6;border-radius:50%;background:#fff;color:var(--hvt-ink);font-size:29px;font-weight:400;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(25,42,49,.09)}
  .hvt-filter-close span{display:block;margin-top:-3px}
  .hvt-filter-backdrop{position:fixed;z-index:100000;inset:0;display:block;visibility:hidden;background:rgba(7,17,21,.84);opacity:0;transition:opacity .22s,visibility .22s;backdrop-filter:blur(2px)}
  .hvt-filter-backdrop.is-open{visibility:visible;opacity:1}
  html.hvt-filter-open{overflow:hidden}
}
@media(max-width:680px){
  .hvt-directory-heading{padding-right:16px;padding-left:16px}
  .hvt-directory-heading h2{font-size:30px;line-height:1.02}
  .hvt-eyebrow{display:block;line-height:1.65}
  .hvt-card-gallery{aspect-ratio:16/9}
  .hvt-logo-slide{padding:15px 24px}
  .hvt-logo-slide>img{width:auto;height:auto;max-width:76%;max-height:76%;padding:2px}
  .hvt-logo-fallback{width:64%;height:68%;font-size:42px}
}

/* v1.2.7: mobile Quick View hierarchy, Inter typography, and clearer filter grouping. */
.hvt-directory,.hvt-directory *,.hvt-directory button,.hvt-directory input,.hvt-directory select{font-family:Inter,sans-serif}
.hvt-service-area-grid{grid-template-columns:1fr;gap:12px}
.hvt-founding-filter{align-items:center}
.hvt-directory .hvt-founding-filter-seal{width:25px;height:25px;flex:0 0 25px;border-width:1px;font-family:Inter,sans-serif;font-size:11px;box-shadow:0 0 0 1px rgba(208,173,60,.3),0 3px 8px rgba(20,42,50,.16)}
@media(max-width:680px){
  .hvt-quick-modal{padding:20px 17px}
  .hvt-quick-header{display:grid;grid-template-columns:1fr;align-items:start;gap:10px;margin:0 0 15px}
  .hvt-quick-logo{width:136px;height:108px;margin:0;padding:4px}
  .hvt-quick-identity{width:100%;padding:0}
  .hvt-quick-identity h2{margin:0 42px 8px 0;font-size:24px;line-height:1.08;letter-spacing:-.035em}
  .hvt-quick-identity .hvt-quick-rating{width:fit-content;max-width:100%;flex-wrap:wrap;gap:4px 7px;margin:0 0 9px;padding:8px 10px}
  .hvt-quick-header-location{padding:0}
  .hvt-quick-header-location strong{font-size:13px;line-height:1.35}
}

/* v1.2.8: uncropped mobile Quick View logos and a compact filter/count toolbar. */
@media(max-width:680px){
  .hvt-directory-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 10px;padding:10px 14px}
  .hvt-result-count{grid-column:1;grid-row:1;min-width:0;white-space:nowrap}
  .hvt-mobile-filter-button{grid-column:2;grid-row:1;order:initial;width:auto;min-width:0;min-height:36px;gap:6px;padding:7px 12px;border-radius:8px;font-size:12px;box-shadow:0 3px 9px rgba(175,87,48,.18)}
  .hvt-mobile-filter-button svg{width:16px;height:16px}
  .hvt-sort-control{grid-column:1/-1;grid-row:2;width:100%;margin:0;padding:0}
  .hvt-quick-logo{width:140px;height:112px;overflow:hidden;padding:8px}
  .hvt-quick-logo img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:center!important;transform:none!important}
}

/* v1.2.9: guarantee visible breathing room around the complete mobile Quick View logo. */
@media(max-width:680px){
  .hvt-quick-logo{
    width:140px;
    height:132px;
    box-sizing:border-box;
    place-items:center;
    overflow:hidden;
    padding:10px;
  }
  .hvt-quick-logo img{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    align-self:center!important;
    justify-self:center!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}

/* v1.2.10: keep mobile Quick View inside the live browser viewport. */
@media(max-width:680px){
  .hvt-quick-view-overlay{
    top:var(--hvt-visual-viewport-top,0);
    right:auto;
    bottom:auto;
    left:var(--hvt-visual-viewport-left,0);
    width:var(--hvt-visual-viewport-width,100vw);
    height:var(--hvt-visual-viewport-height,100dvh);
    max-height:var(--hvt-visual-viewport-height,100dvh);
    grid-template-rows:minmax(0,1fr);
    align-items:start;
    justify-items:center;
    overflow:hidden;
    padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));
  }
  .hvt-quick-modal{
    width:100%;
    max-height:100%;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scroll-padding-top:50px;
  }
  .hvt-quick-modal>.hvt-modal-close{
    position:sticky;
    z-index:20;
    top:0;
    right:auto;
    margin:0 0 -40px auto;
    box-shadow:0 3px 12px rgba(25,42,49,.2);
  }
  html.hvt-overlay-open,
  html.hvt-overlay-open body{overflow:hidden!important}
}

/* v1.2.11: prevent theme button effects from drawing white inset lines on card CTAs. */
.hvt-directory .hvt-card-actions a.hvt-button-primary{
  -webkit-appearance:none!important;
  appearance:none!important;
  background-color:var(--hvt-orange)!important;
  background-image:none!important;
  background-clip:border-box!important;
  border-color:var(--hvt-orange)!important;
  box-shadow:none!important;
  filter:none!important;
  outline:0;
  text-shadow:none!important;
}
.hvt-directory .hvt-card-actions a.hvt-button-primary:hover,
.hvt-directory .hvt-card-actions a.hvt-button-primary:focus-visible{
  background-color:var(--hvt-orange-dark)!important;
  background-image:none!important;
  border-color:var(--hvt-orange-dark)!important;
  box-shadow:none!important;
}
.hvt-directory .hvt-card-actions a.hvt-button-primary::before,
.hvt-directory .hvt-card-actions a.hvt-button-primary::after{
  content:none!important;
  display:none!important;
}

/* v1.2.12: paint the card CTA as one borderless layer to eliminate subpixel edge seams. */
.hvt-directory .hvt-card-actions a.hvt-button-primary{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  border:0!important;
  background:#cb7043!important;
  background-clip:border-box!important;
  -webkit-box-shadow:none!important;
  box-shadow:none!important;
  transform:translateZ(0);
}
.hvt-directory .hvt-card-actions a.hvt-button-primary::before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  inset:-2px!important;
  display:block!important;
  border:0!important;
  border-radius:inherit!important;
  background:#cb7043!important;
  background-image:none!important;
  -webkit-box-shadow:none!important;
  box-shadow:none!important;
  pointer-events:none!important;
}
.hvt-directory .hvt-card-actions a.hvt-button-primary:hover,
.hvt-directory .hvt-card-actions a.hvt-button-primary:focus-visible{
  border:0!important;
  background:#af5730!important;
}
.hvt-directory .hvt-card-actions a.hvt-button-primary:hover::before,
.hvt-directory .hvt-card-actions a.hvt-button-primary:focus-visible::before{
  background:#af5730!important;
}
/* Keep directory title presentation identical when its semantic tag changes by page context. */
.hvt-directory-heading .hvt-directory-title{margin:5px 0 0;font-size:clamp(30px,3vw,43px);line-height:1.05;letter-spacing:-.045em}
@media(max-width:680px){.hvt-directory-heading .hvt-directory-title{margin-top:7px}}
@media(max-width:520px){.hvt-directory-heading .hvt-directory-title{font-size:30px;line-height:1.02}}
