
:root{--ink:#173a32;--green:#185c46;--lime:#d8f078;--paper:#f5f5ef;--line:#dce2d9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,.button{border:0;border-radius:10px;padding:13px 20px;background:var(--green);color:white;cursor:pointer;font-weight:650}button:hover,.button:hover{filter:brightness(1.12)}header{max-width:1280px;padding:26px 36px;display:flex;align-items:center;gap:50px;margin:auto}.brand{font-size:26px;font-weight:800;letter-spacing:-1px}.brand span{font-weight:400}.brand i{font-size:13px;color:#e7a44a;margin-left:5px}nav{display:flex;gap:30px;margin-left:auto}.local,.tag{font-size:10px;letter-spacing:1px;background:#e7eddf;padding:6px 10px;border-radius:5px}.hero{background:var(--ink);border-radius:26px;color:#fff;padding:65px 60px;position:relative;overflow:hidden;min-height:380px}.hero:after{content:'✳';position:absolute;right:65px;top:15px;color:var(--lime);font-size:260px;line-height:1;transform:rotate(-15deg);opacity:.85}.hero>*{position:relative;z-index:1}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--lime)}h1{font-size:58px;letter-spacing:-2.5px;line-height:1.08;margin:18px 0 20px;max-width:720px}h1 em{color:var(--lime);font-style:normal}.hero p{color:#c0d4ca;font-size:17px}.search{background:white;padding:9px;border-radius:14px;display:flex;gap:6px;max-width:970px;margin-top:32px;box-shadow:0 12px 35px #0002}.search input,.search select{border:0;border-right:1px solid var(--line);padding:13px;min-width:0;flex:1;background:white;color:var(--ink)}.search button{background:var(--lime);color:var(--ink)}main{max-width:1280px;padding:12px 36px 60px;margin:auto}.section-head{display:flex;align-items:end;justify-content:space-between;margin:36px 0 20px}h2{font-size:28px;line-height:1.2;letter-spacing:-.7px;margin:4px 0}p.muted,.muted{color:#718076}.cats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.cat{background:#fff;border:1px solid var(--line);color:var(--ink);text-align:left;padding:20px}.cat span{display:block;font-size:26px;margin-bottom:14px}.cat.active{background:var(--lime);border-color:var(--green)}.layout{display:grid;grid-template-columns:210px 1fr;gap:25px}.filters{background:#eaf0e5;padding:22px;border-radius:14px;align-self:start}.filters select{width:100%;margin-bottom:14px;padding:9px;border:1px solid var(--line);border-radius:7px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .2s}.card:hover{transform:translateY(-4px)}.art{height:150px;background:#e6e9db;display:flex;align-items:center;justify-content:center;font-size:66px;position:relative}.card:nth-child(2n) .art{background:#f0e4d4}.card:nth-child(3n) .art{background:#dce7e6}.art small{position:absolute;bottom:9px;font-size:9px;letter-spacing:1px;color:#647467}.art img{width:100%;height:100%;object-fit:cover}.card-body{padding:20px}.card h3{font-size:20px;margin:8px 0}.card p{font-size:13px;color:#718076}.tag.demo{background:#fff0cb;color:#805515}.card-bottom{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;font-size:12px}.notice{padding:14px 20px;background:#edf0df;border-radius:10px;font-size:13px;margin:22px 0}.feature{margin-top:38px;background:#dee8d5;border-radius:18px;padding:32px;display:flex;justify-content:space-between;align-items:center}.feature h2{max-width:500px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:26px;margin:20px 0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.secondary{background:#e7eddf;color:var(--ink)}.danger{background:#a74435}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}label{font-size:12px;font-weight:600;display:block}label input,label select,label textarea{display:block;width:100%;padding:10px;border:1px solid #cdd7cc;border-radius:7px;margin-top:5px;background:white}.wide{grid-column:1/-1}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line)}.scroll{overflow:auto}pre{white-space:pre-wrap}.detail{display:grid;grid-template-columns:2fr 1fr;gap:25px}.detail h1{font-size:44px}.detail .art{height:260px;border-radius:15px}.detail dt{font-weight:700;margin-top:18px}.detail dd{margin:3px 0;color:#718076}.empty{padding:50px;text-align:center;background:white;border-radius:16px;grid-column:1/-1}footer{background:#e9ede3;padding:40px max(36px,calc((100vw - 1208px)/2));font-size:13px}footer small{color:#718076}#message{color:#8a3b1e}dialog{border:0;border-radius:18px;width:min(1000px,95vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#14352d99}@media(max-width:950px){.hero:after{right:0;opacity:.2}.cards{grid-template-columns:repeat(2,1fr)}.cats{grid-template-columns:repeat(3,1fr)}h1{font-size:44px}.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){header{padding:18px;gap:12px;flex-wrap:wrap}.brand{font-size:22px}nav{gap:12px;font-size:12px}.local{display:none}main{padding:8px 16px 35px}.hero{padding:30px 22px;border-radius:18px}h1{font-size:38px}.search{flex-direction:column}.search input,.search select{border:0;border-bottom:1px solid var(--line)}.cats{grid-template-columns:repeat(2,1fr)}.cat{padding:14px}.layout,.detail{grid-template-columns:1fr}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters select{width:auto;margin:0}.cards{grid-template-columns:1fr}.feature{display:block}.feature .button{display:inline-block;margin-top:15px}.form-grid{grid-template-columns:1fr}.section-head{align-items:start;gap:12px}h2{font-size:24px}}
:root{--ink:#332324;--green:#a50d17;--lime:#ffddbe;--paper:#faf7f4;--line:#e7ded8}.hero{background:linear-gradient(115deg,#3b171b,#8b101b)}.brand img{display:block;width:205px;height:75px;object-fit:contain}.brand-banner{display:block;width:100%;max-height:230px;object-fit:contain;margin-top:25px;border-radius:16px;background:#f5f4f2}.filters{background:#f0e9e3}.feature{background:#f1e4dc}.cat.active{background:#ffe5d0}.notice{background:#f4eade}@media(max-width:650px){.brand img{width:140px;height:56px}.brand-banner{max-height:150px}header{padding:10px 16px}}

header .brand-emblem{position:relative;display:block;overflow:hidden;width:100px;height:100px}header .brand-emblem img{position:absolute;width:354px;height:142px;max-width:none;left:-8px;top:-22px;object-fit:fill}@media(max-width:650px){header .brand-emblem{width:64px;height:64px}header .brand-emblem img{width:226.56px;height:90.88px;left:-5.12px;top:-14.08px}header nav{font-size:12px;gap:15px}}
header .brand-emblem{clip-path:polygon(32% 0,89% 0,89% 70%,100% 100%,0 100%,0 77%,25% 66%,25% 22%)}
.brand-full img{width:var(--logo-size,100px);height:auto;max-height:160px;object-fit:contain}header .brand-emblem{width:var(--logo-size,100px);height:var(--logo-size,100px)}header .brand-emblem img{width:calc(var(--logo-size,100px)*3.54);height:calc(var(--logo-size,100px)*1.42);left:calc(var(--logo-size,100px)*-.08);top:calc(var(--logo-size,100px)*-.22)}header.logo-center{flex-wrap:wrap;justify-content:center}header.logo-center .brand{width:100%;display:flex;justify-content:center}header.logo-center nav{margin:0}.managed-banner{display:block;width:100%;max-height:440px;object-fit:contain;margin:24px 0;border-radius:16px}.plain-text{white-space:pre-wrap;overflow-wrap:anywhere}.prose{max-width:900px}.prose h1{font-size:44px}footer nav{margin:15px 0;flex-wrap:wrap}@media(max-width:650px){header .brand{--logo-size:64px!important}.prose h1{font-size:32px}}
.location-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:13px;font-size:12px;color:#f7ddcd}.location-tools .location-link{background:transparent;border:1px solid #ffffff40;padding:6px 10px;font-size:12px;font-weight:400;color:inherit}.location-tools select{padding:6px;border-radius:6px;background:#fff;color:#342526;border:0}#location-message{display:block;max-width:900px;font-size:12px;color:#ffe5c9;margin-top:8px}#pagination{margin-top:20px}.search input[list]{flex:1}@media(max-width:650px){.location-tools{gap:8px}.location-tools #location-label{width:100%}}
.cards{grid-template-columns:repeat(4,minmax(0,1fr))}#sponsors .section-head{gap:20px}#sponsors .muted{font-size:12px}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.cards{grid-template-columns:1fr}#sponsors .section-head{display:block}}
.firm-logo{width:48px;height:48px;object-fit:contain;float:right;margin:5px 0 8px 8px}
.location-sticky{position:sticky;top:0;z-index:20;max-width:1208px;margin:0 auto;padding:9px 15px;background:#faf7f4f5;border:1px solid #e7ded8;border-radius:10px;display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:10px;backdrop-filter:blur(8px)}.location-sticky button{padding:5px 10px;margin-left:7px;background:#ede5df;color:#57222b;font-size:12px;font-weight:400}@media(max-width:650px){.location-sticky{margin:0 16px;flex-wrap:wrap}.location-sticky button{padding:5px 8px}}
.location-tools #location-label,.location-tools #change-location,.location-tools #clear-location{display:none}
.ad-preview{box-sizing:border-box;min-height:90px;max-height:300px;width:100%;margin:24px 0;border:1px dashed #cbbdb1;background:#f3eee9;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:12px;color:#7f7266;padding:16px}.ad-preview b{font-size:13px}.ad-preview.no-desktop{display:none}@media(max-width:650px){.ad-preview{min-height:90px}.ad-preview.no-desktop{display:flex}.ad-preview.no-mobile{display:none}}

.business-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.business-card{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;padding:16px;gap:14px;border-left:4px solid var(--red,#ae0524)}.business-card .art{width:76px;height:76px;min-height:0;font-size:32px;border-radius:14px;overflow:hidden}.business-card .art img{width:76px;height:76px;object-fit:cover}.business-card .art small{display:none}.business-card .card-body{padding:0;min-width:0}.business-card h3{font-size:19px;margin:7px 0}.business-card p{font-size:13px;margin:6px 0;overflow-wrap:anywhere}.business-card .tag{font-size:10px}.business-card .card-bottom{gap:8px;font-size:11px;margin-top:12px}.business-card .firm-logo{width:35px;height:35px;float:right}.geo-note{font-size:11px;line-height:1.5;max-width:760px}.geo-note a{text-decoration:underline}.cat[aria-pressed=true]{outline:2px solid var(--red,#ae0524)}.cat .cat-name{font-size:13px;line-height:1.4}.location-sticky{z-index:15}@media(max-width:900px){.business-cards{grid-template-columns:1fr}.business-card{grid-template-columns:64px minmax(0,1fr)}.business-card .art,.business-card .art img{width:64px;height:64px}.search input{min-width:0}.geo-note{font-size:10px}}

.detail-logo{max-width:210px;max-height:100px;object-fit:contain;margin:12px 0;padding:12px;background:#f2f0e9;border-radius:12px}.media-credit{font-size:12px;color:#666}.business-card{border-radius:16px;box-shadow:0 5px 22px #142c1b0b;border:1px solid #dbe3d9;transition:transform .2s,box-shadow .2s}.business-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #142c1b18}.business-card .firm-logo{background:#ecefe9;object-fit:contain;padding:5px;border-radius:8px}.business-card h3{line-height:1.25}.business-card .card-bottom{font-size:11px}.business-card .art small{font-size:8px}

.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.card-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 11px;border-radius:8px;background:#f1e9e4;color:#6e1730;font-size:12px;font-weight:700;border:1px solid #e9d5cf}.card-actions a:hover{background:#ead5cc}.card-art-link{display:block}.business-card .card-address{font-size:11px;color:#766a63;line-height:1.4}.directions{display:inline-block;margin:10px 0}.business-card{display:grid!important;grid-template-columns:76px minmax(0,1fr)}@media(max-width:900px){.business-card{grid-template-columns:64px minmax(0,1fr)}}
