:root{color-scheme:light;--bg: #f7f8f6;--surface: #ffffff;--surface-alt: #eef4f1;--ink: #18211f;--muted: #5d6863;--line: #d9e1dd;--accent: #b4232a;--accent-strong: #89171d;--cedar: #0f6b4f;--blue: #245c8f;--shadow: 0 14px 40px rgba(24, 33, 31, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);line-height:1.55}a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--accent)}main{min-height:70vh}.site-header,.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1180px,calc(100% - 32px));margin:0 auto}.site-header{padding:18px 0}.site-footer{align-items:flex-start;border-top:1px solid var(--line);color:var(--muted);font-size:.94rem;margin-top:56px;padding:24px 0 34px}.site-brand{align-items:center;color:var(--ink);display:inline-flex;font-weight:800;gap:.65rem;text-decoration:none}.brand-mark{align-items:center;background:var(--accent);border-radius:8px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:900;height:34px;justify-content:center;letter-spacing:0;width:34px}.site-nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.site-nav a{color:var(--ink);font-size:.95rem;font-weight:650;text-decoration:none}.site-nav a:hover{color:var(--accent)}.page-band{border-top:1px solid var(--line);padding:48px 0}.page-band:first-child{border-top:0}.page-band.alt{background:var(--surface-alt)}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.directory-hero{display:grid;gap:28px;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;padding-top:26px}.eyebrow{color:var(--cedar);font-size:.84rem;font-weight:800;letter-spacing:0;margin:0 0 10px;text-transform:uppercase}h1,h2,h3{letter-spacing:0;line-height:1.1;margin:0}h1{font-size:clamp(2.25rem,3.4rem,4rem);max-width:820px}h2{font-size:1.75rem}h3{font-size:1.12rem}.lede{color:var(--muted);font-size:1.1rem;max-width:700px}.stats-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px}.stat{border-left:3px solid var(--cedar);padding:4px 0 4px 12px}.stat strong{display:block;font-size:1.35rem;line-height:1.1}.stat span{color:var(--muted);font-size:.86rem}.search-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px}.search-form label{display:block;font-weight:800;margin-bottom:10px}.search-row{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}input[type=search]{border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;min-height:46px;min-width:0;padding:0 13px;width:100%}button,.button-link{align-items:center;background:var(--accent);border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-weight:800;justify-content:center;min-height:46px;padding:0 18px;text-decoration:none}button:hover,.button-link:hover{background:var(--accent-strong);color:#fff}.search-status{color:var(--muted);font-size:.9rem;min-height:24px;padding-top:10px}.search-results{display:grid;gap:8px;list-style:none;margin:0;max-height:420px;overflow:auto;padding:0}.search-result{border-top:1px solid var(--line);display:grid;gap:3px;padding:10px 0 0}.search-result a{font-weight:800}.search-result span,.search-result small{color:var(--muted)}.section-heading{align-items:end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:22px}.section-heading p{color:var(--muted);margin:0;max-width:620px}.facet-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.facet-card,.business-card{background:var(--surface);border:1px solid var(--line);border-radius:8px}.facet-card{color:var(--ink);display:flex;flex-direction:column;gap:8px;min-height:118px;padding:16px;text-decoration:none}.facet-card:hover{border-color:color-mix(in srgb,var(--accent),var(--line) 40%);color:var(--ink)}.facet-card strong{font-size:1.05rem}.facet-card span{color:var(--muted)}.business-list{display:grid;gap:12px;list-style:none;margin:0;padding:0}.business-card{display:grid;gap:10px;padding:16px}.business-card p{margin:0}.related-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0}.related-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:9px;padding:16px}.related-card p{margin:0}.business-name{color:var(--ink);font-size:1.08rem;font-weight:850}.business-meta,.contact-strip,.crumbs{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;gap:.35rem .55rem;font-size:.93rem}.contact-strip a{overflow-wrap:anywhere}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:28px}.pagination a,.pagination span{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:inline-flex;font-weight:700;justify-content:center;min-height:38px;min-width:38px;padding:0 12px;text-decoration:none}.pagination .current-page{background:var(--cedar);border-color:var(--cedar);color:#fff}.detail-layout{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 360px}.detail-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px}.detail-list{display:grid;gap:14px;margin:0}.detail-list div{display:grid;gap:3px}.detail-list dt{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.detail-list dd{margin:0;overflow-wrap:anywhere}.combo-list{columns:2 260px;list-style:none;margin:0;padding:0}.combo-list li{break-inside:avoid;margin-bottom:9px}.faq-list{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.faq-item p{color:var(--muted);margin:10px 0 0}@media (max-width: 820px){.site-header,.site-footer,.section-heading{align-items:flex-start;flex-direction:column}.directory-hero,.detail-layout,.faq-list,.related-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.page-band{padding:34px 0}.search-row,.stats-grid{grid-template-columns:1fr}}
