/* Atlas of 4x4 businesses: real profiles, local discovery, direct contact. */
.is-public .business-directory-hero { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:35px; padding:34px 34px 46px; margin:18px 0 0; border-radius:16px; background:#233c2d; color:#fff; overflow:hidden; }
.is-public .business-directory-intro { min-width:0; }
.is-public .business-hero-kicker { display:flex; align-items:center; gap:8px; color:#d5e1cd; font-size:.61rem; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
.is-public .business-hero-kicker > span { width:6px; height:6px; border-radius:50%; background:#ffad64; box-shadow:0 0 0 4px rgb(255 173 100 / 10%); }
.is-public .business-directory-intro h1 { color:#fff; font-size:clamp(2rem,3.25vw,2.8rem); letter-spacing:-.055em; line-height:1.08; margin:17px 0; max-width:510px; }
.is-public .business-directory-intro > p { color:#dce5d5; font-size:.94rem; line-height:1.7; max-width:430px; margin:0; }
.is-public .directory-proof { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:26px; }
.is-public .directory-proof > span { color:#dce5d5; font-size:.65rem; line-height:1.5; }
.is-public .directory-proof strong { display:block; font-size:1.65rem; line-height:1.2; letter-spacing:-.04em; color:#ffad64; margin-bottom:2px; }
.is-public .directory-proof > a { color:#fff; font-size:.72rem; margin-left:3px; align-self:flex-end; padding-bottom:3px; text-decoration:underline; text-underline-offset:5px; }
.is-public .directory-proof > a > span { margin-left:9px; color:#ffad64; }
/* A regional mosaic, intentionally a list of regions rather than geographic boundaries. */
.is-public .region-atlas { background:#2c4937; border:1px solid #4c6651; border-radius:12px; min-width:0; padding:16px; }
.is-public .region-atlas > summary { display:flex; justify-content:space-between; align-items:center; gap:12px; list-style:none; cursor:pointer; min-height:30px; color:#f2f6ec; font-size:.75rem; font-weight:750; }
.is-public .region-atlas > summary::-webkit-details-marker { display:none; }
.is-public .region-atlas > summary > span:first-child { display:flex; align-items:center; gap:9px; }
.is-public .atlas-cross { color:#ffad64; font-size:1.1rem; font-weight:400; }
.is-public .atlas-summary-count { color:#c5d5bb; font-size:.58rem; font-weight:500; white-space:nowrap; }
.is-public .atlas-summary-count > span { color:#ffad64; margin-left:8px; }
.is-public .atlas-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:11px 0 12px; }
.is-public .atlas-tile { position:relative; display:flex; flex-direction:column; gap:4px; padding:10px 10px 8px; min-height:59px; border-radius:6px; background:#34533e; border:1px solid #4e6a53; color:#f4f7ef; text-decoration:none; transition:background .18s ease,border-color .18s ease; }
.is-public .atlas-tile > span { font-size:.57rem; line-height:1.35; overflow-wrap:anywhere; }
.is-public .atlas-tile > strong { font-size:1rem; line-height:1.1; font-weight:800; }
.is-public .atlas-tile > i { position:absolute; right:9px; bottom:8px; font-size:.7rem; font-style:normal; color:#abc39d; }
.is-public .atlas-tile:hover,.is-public .atlas-tile.is-selected { color:#24382b; background:#ffab60; border-color:#ffab60; }
.is-public .atlas-tile:hover > i,.is-public .atlas-tile.is-selected > i { color:#24382b; }
.is-public .atlas-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#bdceb4; font-size:.52rem; letter-spacing:.06em; text-transform:uppercase; }
/* Search sits on the edge of the atlas, then gives the floor to the profiles. */
.is-public .business-search { position:relative; z-index:2; display:grid; grid-template-columns:minmax(180px,1.65fr) minmax(150px,1fr) minmax(170px,1.15fr) auto; align-items:center; gap:0; margin:-23px 25px 20px; padding:10px; border:1px solid #d6dfcd; border-radius:11px; background:#fff; box-shadow:0 7px 22px rgb(28 47 33 / 9%); }
.is-public .business-search > label { display:grid; gap:3px; padding:4px 15px; border-right:1px solid #e3e9dd; min-width:0; }
.is-public .business-search > label > span { font-size:.62rem; font-weight:750; color:#5d6c54; }
.is-public .business-search input,.is-public .business-search select { width:100%; border:0; border-radius:0; padding:0; min-height:33px; background:#fff; box-shadow:none; font-size:.8rem; font-weight:550; }
.is-public .business-search input:focus,.is-public .business-search select:focus { outline:2px solid #d6e6cc; outline-offset:3px; }
.is-public .business-search .button { display:flex; align-items:center; gap:17px; font-size:.79rem; white-space:nowrap; margin-left:10px; padding:12px 18px; }
.is-public .business-search .button .portal-icon { width:19px; height:19px; }
.is-public .business-categories { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:19px 0 23px; }
.is-public .business-categories a { display:flex; align-items:center; gap:8px; padding:9px 13px; min-height:42px; border:1px solid var(--border); border-radius:7px; background:#fff; color:#41543a; font-size:.76rem; font-weight:750; text-decoration:none; }
.is-public .business-categories a .portal-icon { width:17px; height:17px; }
.is-public .business-categories a:hover { border-color:#9eb38f; background:#eef3e7; }
.is-public .business-categories a.is-selected { background:#253f2f; border-color:#253f2f; color:#fff; }
.is-public .business-categories a.is-selected .portal-icon { color:#ffad64; }
.is-public .business-results { margin-top:0; }
.is-public .business-results-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:17px; }
.is-public .business-results-heading h2 { font-size:clamp(1.5rem,2.5vw,2rem); line-height:1.15; letter-spacing:-.045em; margin:5px 0 7px; }
.is-public .business-results-heading p { margin:0; font-size:.77rem; color:var(--muted); }
.is-public .business-results-heading p > strong { color:var(--text); font-weight:800; }
.is-public .business-page-size { display:flex; align-items:center; gap:8px; }
.is-public .business-page-size label { font-size:.73rem; color:var(--muted); white-space:nowrap; }
.is-public .business-page-size select { min-height:39px; padding:8px 10px; border:1px solid #bdccb3; border-radius:6px; font-size:.75rem; }
.is-public .business-page-size.market-sort-enhanced .market-sort-submit { display:none; }
.is-public .business-active-filters { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:0 0 17px; }
.is-public .business-active-filters a { display:flex; align-items:center; gap:12px; padding:6px 9px; border:1px solid #cfdcc4; border-radius:5px; background:#e9efdf; color:#3b5731; font-size:.71rem; text-decoration:none; }
.is-public .business-active-filters a > span { font-size:1rem; }
.is-public .business-active-filters a.business-reset { background:transparent; border-color:transparent; text-decoration:underline; }
/* Monograms are neutral identity markers, not invented company logos. */
.is-public .business-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.is-public .business-card { --business-tone:#31543c; --business-tint:#e8eee1; display:flex; flex-direction:column; min-width:0; min-height:270px; padding:22px 22px 0; border:1px solid var(--border); border-radius:12px; background:#fff; box-shadow:0 3px 10px rgb(28 47 33 / 3%); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.is-public .business-tone-sand { --business-tone:#775624; --business-tint:#f2ead9; }
.is-public .business-tone-slate { --business-tone:#3d6170; --business-tint:#e4edf0; }
.is-public .business-tone-clay { --business-tone:#84543a; --business-tint:#f2e7df; }
.is-public .business-card:hover { transform:translateY(-2px); border-color:#9eb38f; box-shadow:0 8px 22px rgb(28 47 33 / 7%); }
.is-public .business-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:17px; }
.is-public .business-monogram { display:grid; place-items:center; flex:0 0 auto; width:51px; height:51px; border-radius:12px; background:var(--business-tint); color:var(--business-tone); font-size:1.1rem; line-height:1; font-weight:850; letter-spacing:-.06em; }
.is-public .business-card-badges { display:flex; align-items:flex-end; flex-direction:column; gap:5px; min-width:0; }
.is-public .business-label { display:inline-flex; align-items:center; gap:4px; border:1px solid #e0e6da; background:#f4f6f0; color:#5b6a52; padding:4px 7px; border-radius:4px; font-size:.56rem; line-height:1.5; }
.is-public .business-label-verified { border-color:#d2dfc7; background:#edf4e4; color:#3c612e; }
.is-public .business-label-promoted { background:#fff0df; border-color:#f2d3b1; color:#805025; }
.is-public .business-card-category { display:block; color:var(--business-tone); font-size:.61rem; letter-spacing:.07em; font-weight:750; text-transform:uppercase; }
.is-public .business-card-identity h2 { font-size:1.17rem; font-weight:800; line-height:1.27; letter-spacing:-.03em; margin:6px 0 9px; }
.is-public .business-card-identity h2 a { color:var(--text); text-decoration:none; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.is-public .business-card-identity h2 a:hover { color:#355b2d; text-decoration:underline; }
.is-public .business-card-place { display:flex; gap:5px; align-items:flex-start; color:var(--muted); font-size:.71rem; line-height:1.6; margin:0; }
.is-public .business-card-place .portal-icon { width:14px; height:17px; color:#607757; }
.is-public .business-card-summary { margin:13px 0 0; font-size:.79rem; line-height:1.65; color:var(--muted); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.is-public .business-card-tags { display:flex; flex-wrap:wrap; gap:5px; list-style:none; margin:12px 0 0; padding:0; }
.is-public .business-card-tags li { font-size:.61rem; line-height:1.5; padding:3px 6px; border-radius:4px; background:#f0f4e9; color:#4c6340; }
.is-public .business-card-context { display:flex; align-items:center; min-height:22px; margin-top:auto; padding:16px 0; }
.is-public .business-google-rating { display:flex; flex-wrap:wrap; align-items:center; gap:5px; font-size:.8rem; font-weight:750; color:#3c4f31; }
.is-public .business-google-rating > span { color:#89621e; }
.is-public .business-google-rating small { color:var(--muted); font-size:.64rem; font-weight:450; margin-left:2px; }
.is-public .business-card-site,.is-public .business-card-address { font-size:.71rem; color:var(--muted); overflow-wrap:anywhere; }
.is-public .business-card-actions { display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid #e5ebdd; margin:0 -22px; padding:12px 22px; }
.is-public .business-call-link { display:flex; align-items:center; gap:13px; font-size:.75rem; font-weight:750; color:#3b5e32; min-height:30px; }
.is-public .business-profile-link { display:flex; align-items:center; gap:12px; font-size:.73rem; font-weight:750; color:var(--text); min-height:30px; }
.is-public .business-profile-link > span { color:#c26d2b; }
.is-public .business-card-contact-hint { color:var(--muted); font-size:.69rem; }
.is-public .business-pagination { margin:25px 0 0; }
.is-public .business-pagination > span { padding:6px; color:var(--muted); }
.is-public .business-owner-invite { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:27px 30px; border:1px solid #d4dfca; border-radius:12px; background:#e8eee0; }
.is-public .business-owner-invite h2 { font-size:1.7rem; line-height:1.15; letter-spacing:-.04em; margin:7px 0 10px; }
.is-public .business-owner-invite p { color:#516348; font-size:.84rem; line-height:1.6; margin:0; }
.is-public .business-owner-invite .button { white-space:nowrap; display:flex; gap:20px; align-items:center; font-size:.8rem; }
.is-public .business-empty { grid-column:1/-1; display:flex; flex-direction:column; align-items:center; padding:45px 25px; text-align:center; background:#fff; border:1px solid var(--border); border-radius:12px; }
.is-public .business-empty-icon { width:70px; height:70px; display:grid; place-items:center; background:#e9f0e0; color:#4c6c3d; border-radius:18px; }
.is-public .business-empty-icon .portal-icon { width:43px; height:43px; }
.is-public .business-empty h3 { font-size:1.6rem; margin:18px 0 10px; letter-spacing:-.035em; }
.is-public .business-empty p { max-width:470px; font-size:.88rem; line-height:1.7; color:var(--muted); margin:0 0 22px; }
.is-public .business-empty > div { display:flex; align-items:center; flex-wrap:wrap; justify-content:center; gap:20px; font-size:.8rem; }
/* Company profile: distinct cover and one useful contact column. */
.is-public .company-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin:18px 0; color:#71806a; font-size:.73rem; }
.is-public .company-breadcrumb a { color:#4b6540; min-height:26px; display:inline-flex; align-items:center; }
.is-public .company-hero { position:relative; overflow:hidden; isolation:isolate; padding:34px; border-radius:15px; background:#253f30; color:#fff; }
.is-public .company-hero-art { position:absolute; inset:0 0 0 35%; z-index:-1; }
.is-public .company-hero-art svg { width:100%; height:100%; stroke:#739168; stroke-width:.7; opacity:.5; }
.is-public .company-hero-art > span { position:absolute; right:25px; bottom:24px; color:#b8cbae; font-size:.5rem; letter-spacing:.18em; }
.is-public .company-hero-main { display:flex; align-items:center; gap:25px; }
.is-public .company-hero-main > div { min-width:0; }
.is-public .company-monogram { flex:0 0 auto; width:98px; height:98px; border-radius:22px; display:grid; place-items:center; border:1px solid #759069; background:#e6eddc; color:#2d4c31; font-weight:900; font-size:2.5rem; letter-spacing:-.07em; line-height:1; }
.is-public .company-hero h1 { color:#fff; font-size:clamp(1.8rem,3vw,2.6rem); letter-spacing:-.05em; line-height:1.15; max-width:850px; margin:8px 0 12px; }
.is-public .company-hero-main p { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:0; color:#d4e0cb; font-size:.8rem; line-height:1.6; }
.is-public .company-hero-main p .portal-icon { width:17px; height:19px; }
.is-public .company-hero-labels { display:flex; align-items:center; flex-wrap:wrap; gap:10px 17px; margin:25px 0 0 123px; }
.is-public .company-profile-label { display:inline-flex; align-items:center; gap:6px; font-size:.65rem; line-height:1.5; padding:5px 8px; color:#e8efdf; border:1px solid #657b5a; background:#35513a; border-radius:4px; }
.is-public .company-profile-label > span { color:#c3e0a9; }
.is-public .company-rating { display:flex; flex-wrap:wrap; gap:5px; color:#e7eddf; font-size:.69rem; line-height:1.6; }
.is-public .company-rating > span:first-child { color:#ffb66e; }
.is-public .company-rating > strong { color:#fff; font-size:.83rem; }
.is-public .company-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:22px; margin-top:22px; }
.is-public .company-main,.is-public .company-contact-column { min-width:0; }
.is-public .company-main > section { margin:0 0 17px; }
.is-public .company-panel { border:1px solid var(--border); border-radius:12px; padding:25px 28px; background:#fff; }
.is-public .company-panel h2 { margin:5px 0 16px; font-size:1.45rem; line-height:1.2; letter-spacing:-.035em; }
.is-public .company-about p,.is-public .company-description { margin:0; font-size:.91rem; line-height:1.8; color:#43503a; white-space:pre-line; overflow-wrap:anywhere; }
.is-public .company-about p.company-status-note { padding:12px; margin-top:16px; border:1px solid #e9cfb5; background:#fff3e4; font-size:.8rem; }
.is-public .company-specialties { border-color:#d7e1ce; background:#edf2e6; }
.is-public .company-specialty-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; list-style:none; margin:0; padding:0; }
.is-public .company-specialty-list li { display:flex; gap:8px; align-items:center; font-size:.85rem; color:#35552e; }
.is-public .company-specialty-list .portal-icon { width:18px; height:18px; }
.is-public .company-specialties h3 { margin:23px 0 12px; font-size:.85rem; }
.is-public .company-brand-list { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.is-public .company-brand-list li { font-size:.75rem; background:#fff; color:#3f5c35; border:1px solid #d5dfc9; padding:5px 9px; border-radius:5px; }
.is-public .company-address-content { display:grid; grid-template-columns:155px minmax(0,1fr); align-items:center; gap:25px; }
.is-public .company-location-art { position:relative; min-height:150px; display:grid; place-items:center; border-radius:9px; overflow:hidden; background:repeating-linear-gradient(0deg,transparent,transparent 27px,#d5dfc8 28px,#d5dfc8 29px),repeating-linear-gradient(90deg,transparent,transparent 27px,#d5dfc8 28px,#d5dfc8 29px),#e8efde; }
.is-public .company-location-art > span { width:220px; height:20px; position:absolute; transform:rotate(-36deg); background:#f5f7ef; border-block:1px solid #c8d7b9; }
.is-public .company-location-art .portal-icon { position:relative; color:#a65218; width:43px; height:43px; fill:#ffb679; stroke-width:1.3; }
.is-public .company-address-content > div:last-child > strong { font-size:.95rem; line-height:1.5; }
.is-public .company-address address { color:var(--muted); font-style:normal; font-size:.86rem; line-height:1.8; margin:7px 0 13px; }
.is-public .company-map-link { display:inline-flex; align-items:center; gap:20px; font-size:.79rem; font-weight:750; min-height:32px; text-decoration:underline; }
.is-public .company-hours ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 25px; list-style:none; padding:0; margin:0; }
.is-public .company-hours li { font-size:.83rem; line-height:1.6; color:#3c5234; border-top:1px solid #e2e9da; padding:11px 0; }
.is-public .company-hours-note { color:var(--muted); font-size:.73rem; line-height:1.7; margin:13px 0 0; }
.is-public .company-profile-note { display:flex; gap:15px; padding:18px 3px; }
.is-public .company-note-icon .portal-icon { width:25px; height:25px; color:#5e7751; }
.is-public .company-profile-note h2 { margin:0 0 7px; font-size:.94rem; }
.is-public .company-profile-note p { font-size:.77rem; color:var(--muted); margin:0 0 9px; line-height:1.7; }
.is-public .company-profile-note a { font-size:.76rem; text-decoration:underline; }
.is-public .company-contact-column { position:sticky; top:18px; }
.is-public .company-contact-card { border:1px solid #d1dec5; border-top:3px solid #e78a3e; border-radius:12px; padding:24px; background:#fff; box-shadow:0 6px 20px rgb(28 47 33 / 5%); }
.is-public .company-contact-card h2 { font-size:1.65rem; line-height:1.15; letter-spacing:-.04em; margin:7px 0 10px; }
.is-public .company-contact-card > p { color:var(--muted); font-size:.8rem; line-height:1.7; margin:0 0 19px; }
.is-public .company-phone { display:block; color:#243c24; font-weight:850; font-size:1.5rem; line-height:1.2; letter-spacing:-.035em; margin:0 0 15px; overflow-wrap:anywhere; }
.is-public .company-call { display:flex; align-items:center; justify-content:space-between; font-size:.81rem; }
.is-public .company-contact-actions { margin-top:20px; }
.is-public .company-contact-row { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #e2eadb; padding:14px 0; text-decoration:none; }
.is-public .company-contact-row > span:first-child { min-width:0; }
.is-public .company-contact-row small { display:block; font-size:.63rem; color:var(--muted); margin-bottom:3px; }
.is-public .company-contact-row strong { display:block; font-size:.8rem; font-weight:650; line-height:1.5; color:#3b5d30; overflow-wrap:anywhere; }
.is-public .company-contact-row > span:last-child { color:#638054; font-size:1rem; }
.is-public .company-contact-caption { display:block; text-align:center; color:var(--muted); font-size:.66rem; border-top:1px solid #e2eadb; padding-top:15px; }
.is-public .company-region-link { padding:23px 3px 0; }
.is-public .company-region-link h3 { font-size:1.1rem; line-height:1.3; letter-spacing:-.025em; margin:8px 0 12px; }
.is-public .company-region-link a { display:flex; align-items:center; justify-content:space-between; color:#3b5d30; font-size:.8rem; font-weight:750; }
.is-public .company-nearby { margin-top:27px; }
.is-public .business-mobile-contact { display:none; }
@media(max-width:1050px) {
 .is-public .business-directory-hero { gap:25px; padding:28px 27px 43px; }
 .is-public .business-directory-intro h1 { font-size:2.1rem; }
 .is-public .directory-proof { gap:16px; }
 .is-public .directory-proof > a { margin-left:0; }
 .is-public .region-atlas { padding:12px; }
 .is-public .atlas-grid { gap:5px; }
 .is-public .atlas-tile { padding:8px; min-height:56px; }
 .is-public .atlas-tile > span { font-size:.53rem; }
 .is-public .atlas-summary-count { display:none; }
 .is-public .business-search { grid-template-columns:minmax(160px,1.4fr) minmax(130px,1fr) minmax(150px,1fr) auto; margin-inline:18px; }
 .is-public .business-search > label { padding-inline:10px; }
 .is-public .business-search .button { gap:10px; padding-inline:13px; }
 .is-public .business-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 .is-public .company-layout { grid-template-columns:minmax(0,1fr) 280px; gap:18px; }
 .is-public .company-hero { padding:28px; }
 .is-public .company-panel { padding:23px; }
 .is-public .company-contact-card { padding:21px; }
 .is-public .company-address-content { grid-template-columns:115px minmax(0,1fr); gap:18px; }
 .is-public .company-hero-labels { margin-left:0; }
}
@media(max-width:767px) {
 .is-public .business-directory-hero { grid-template-columns:minmax(0,1fr); gap:23px; padding:27px 21px 42px; margin-top:12px; border-radius:12px; }
 .is-public .business-directory-intro h1 { font-size:1.95rem; margin:13px 0; line-height:1.1; }
 .is-public .business-directory-intro > p { font-size:.83rem; line-height:1.7; }
 .is-public .business-hero-kicker { font-size:.53rem; }
 .is-public .directory-proof { gap:17px; margin-top:20px; }
 .is-public .directory-proof strong { font-size:1.4rem; }
 .is-public .directory-proof > span { font-size:.59rem; }
 .is-public .directory-proof > a { font-size:.64rem; }
 .is-public .region-atlas { padding:11px 12px; }
 .is-public .region-atlas > summary { font-size:.71rem; min-height:31px; }
 .is-public .region-atlas:not([open]) { border-color:#526e50; }
 .is-public .atlas-summary-count { display:block; font-size:.52rem; }
 .is-public .atlas-grid { gap:6px; }
 .is-public .atlas-tile { min-height:63px; padding:9px 7px; }
 .is-public .atlas-tile > span { font-size:.52rem; }
 .is-public .atlas-tile > strong { font-size:.96rem; }
 .is-public .atlas-caption { font-size:.47rem; }
 .is-public .business-search { grid-template-columns:repeat(2,minmax(0,1fr)); margin:-21px 12px 18px; padding:10px; gap:0; }
 .is-public .business-search-query { grid-column:1/-1; border-bottom:1px solid #e4ebde; margin-bottom:7px; }
 .is-public .business-search > label { padding:7px 9px; }
 .is-public .business-search > label:first-child,.is-public .business-search > label:nth-child(3) { border-right:0; }
 .is-public .business-search > label > span { font-size:.6rem; }
 .is-public .business-search input,.is-public .business-search select { font-size:.75rem; min-height:33px; }
 .is-public .business-search .button { grid-column:1/-1; justify-content:space-between; margin:8px 0 0; padding:11px 14px; font-size:.78rem; }
 .is-public .business-categories { flex-wrap:nowrap; overflow-x:auto; gap:7px; margin:17px 0 20px; padding:0 1px 6px; }
 .is-public .business-categories a { flex:0 0 auto; font-size:.7rem; padding:9px 11px; gap:7px; }
 .is-public .business-categories a .portal-icon { width:16px; height:16px; }
 .is-public .business-results-heading { align-items:flex-end; gap:12px; }
 .is-public .business-results-heading h2 { font-size:1.45rem; max-width:240px; }
 .is-public .business-results-heading p { font-size:.72rem; }
 .is-public .business-page-size { gap:5px; }
 .is-public .business-page-size label { font-size:.64rem; }
 .is-public .business-page-size select { padding:8px; font-size:.71rem; }
 .is-public .business-card-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
 .is-public .business-card { min-height:250px; padding:20px 20px 0; }
 .is-public .business-card-top { margin-bottom:14px; }
 .is-public .business-card-identity h2 { font-size:1.13rem; }
 .is-public .business-label { font-size:.58rem; }
 .is-public .business-card-place { font-size:.74rem; }
 .is-public .business-card-summary { font-size:.8rem; }
 .is-public .business-card-actions { margin-inline:-20px; padding:12px 20px; }
 .is-public .business-call-link,.is-public .business-profile-link { font-size:.76rem; }
 .is-public .business-owner-invite { flex-direction:column; align-items:flex-start; padding:23px; gap:20px; }
 .is-public .business-owner-invite h2 { font-size:1.55rem; }
 .is-public .business-owner-invite p { font-size:.81rem; }
 .is-public .business-empty { padding:35px 22px; }
 .is-public .business-empty h3 { font-size:1.4rem; }
 .is-public .business-empty p { font-size:.82rem; }
 .is-public .business-empty > div { flex-direction:column; gap:15px; }
 .is-public .company-breadcrumb { margin:12px 0 15px; font-size:.68rem; }
 .is-public .company-hero { padding:23px; border-radius:12px; }
 .is-public .company-hero-art { inset:0; opacity:.5; }
 .is-public .company-hero-art > span { display:none; }
 .is-public .company-hero-main { align-items:flex-start; flex-direction:column; gap:18px; }
 .is-public .company-monogram { width:70px; height:70px; border-radius:17px; font-size:1.9rem; }
 .is-public .company-hero h1 { font-size:1.8rem; line-height:1.15; margin:10px 0 12px; }
 .is-public .company-hero-main p { font-size:.75rem; }
 .is-public .company-hero-labels { margin-top:20px; gap:9px 13px; }
 .is-public .company-profile-label { font-size:.6rem; }
 .is-public .company-rating { font-size:.65rem; }
 .is-public .company-layout { display:flex; flex-direction:column; gap:0; margin-top:17px; }
 .is-public .company-main { display:contents; }
 .is-public .company-contact-column { order:1; position:static; width:100%; margin-bottom:16px; }
 .is-public .company-region-link { display:none; }
 .is-public .company-about { order:2; }
 .is-public .company-specialties { order:3; }
 .is-public .company-address { order:4; }
 .is-public .company-hours { order:5; }
 .is-public .company-profile-note { order:6; }
 .is-public .company-main > section { width:100%; margin:0 0 16px; }
 .is-public .company-panel { padding:22px; }
 .is-public .company-panel h2 { font-size:1.3rem; }
 .is-public .company-contact-card h2 { font-size:1.55rem; }
 .is-public .company-phone { font-size:1.5rem; }
 .is-public .company-about p,.is-public .company-description { font-size:.86rem; }
 .is-public .company-specialty-list { grid-template-columns:minmax(0,1fr); }
 .is-public .company-specialty-list li { font-size:.82rem; }
 .is-public .company-address-content { grid-template-columns:80px minmax(0,1fr); gap:15px; }
 .is-public .company-location-art { min-height:130px; }
 .is-public .company-location-art .portal-icon { width:35px; height:35px; }
 .is-public .company-address-content > div:last-child > strong { font-size:.83rem; }
 .is-public .company-address address { font-size:.79rem; }
 .is-public .company-map-link { font-size:.74rem; gap:10px; }
 .is-public .company-hours ul { grid-template-columns:minmax(0,1fr); }
 .is-public .company-hours li { font-size:.81rem; }
 .is-public .company-profile-note { gap:12px; padding:12px 2px; }
 .is-public .company-profile-note p { font-size:.75rem; }
 .is-public .company-profile-note a { font-size:.73rem; }
 .is-public .business-mobile-contact { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:30; align-items:center; justify-content:space-between; gap:20px; padding:11px 16px calc(11px + env(safe-area-inset-bottom,0px)); border-top:1px solid #d1ddc5; background:#fff; box-shadow:0 -5px 18px rgb(28 47 33 / 8%); }
 .is-public .business-mobile-contact > div { min-width:0; }
 .is-public .business-mobile-contact > div > span { display:block; font-size:.62rem; color:var(--muted); }
 .is-public .business-mobile-contact strong { display:block; font-size:.88rem; line-height:1.5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .is-public .business-mobile-contact .button { flex:0 0 auto; display:flex; justify-content:space-between; align-items:center; gap:25px; font-size:.78rem; }
 body.is-public:has(.business-mobile-contact) { padding-bottom:calc(82px + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:360px) {
 .is-public .business-directory-hero { padding-inline:19px; }
 .is-public .directory-proof { gap:14px; }
 .is-public .directory-proof > a { flex-basis:100%; margin-top:2px; }
 .is-public .atlas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .is-public .company-address-content { grid-template-columns:minmax(0,1fr); }
 .is-public .company-location-art { min-height:100px; }
 .is-public .business-page-size label { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .is-public .business-card,.is-public .atlas-tile { transition:none; }
 .is-public .business-card:hover { transform:none; }
}
.is-public .business-card-tags li,.is-public .company-brand-list li { max-width:100%; overflow-wrap:anywhere; }
.is-public .company-profile h1,.is-public .business-card h2,.is-public .company-address-content strong { overflow-wrap:anywhere; }
.is-public .region-atlas[open] .atlas-cross { transform:rotate(45deg); }

.is-public .company-hours li { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.is-public .company-hours li strong { flex:0 0 auto; font-size:.77rem; font-weight:700; }
.is-public .company-hours li span { text-align:right; overflow-wrap:anywhere; }
