/* Public-page resilience and phone layouts. */
.business-card>div,.business-head-grid>div,.business-layout>main{min-width:0}
.business-card h2,.business-card p,.business-card .eyebrow,.business-facts dd{overflow-wrap:anywhere}
.breadcrumbs{flex-wrap:wrap}
.chips{scrollbar-width:thin;overscroll-behavior-inline:contain}
.category-strip{overflow:hidden}

@media(max-width:650px){
  body{overflow-x:hidden}
  .page-hero{padding:48px 0}
  .page-hero h1{font-size:clamp(2.35rem,12vw,3.35rem);overflow-wrap:anywhere}
  .page-hero p{font-size:.98rem}
  .chips{width:100%;padding-block:12px;gap:8px}
  .chips>span{position:sticky;left:0;z-index:1;background:#fff;padding-right:5px}
  .section{padding-block:48px}
  .results-heading{gap:8px;margin-bottom:24px}
  .results-heading h2{font-size:2.35rem}
  .business-card{grid-template-columns:54px minmax(0,1fr);gap:14px;padding:18px;border-radius:17px}
  .business-card-logo,.business-placeholder{width:54px;height:54px;border-radius:14px}
  .business-placeholder{font-size:1.65rem}
  .business-card h2{font-size:1.42rem;line-height:1.15}
  .business-card p{font-size:.9rem;line-height:1.5}
  .business-card .eyebrow{font-size:.64rem;line-height:1.55}
  .business-hero{padding:40px 0}
  .business-hero h1{font-size:clamp(2.45rem,13vw,3.5rem);overflow-wrap:anywhere}
  .business-head-grid{gap:28px}
  .business-layout{gap:30px;padding-block:42px}
  .business-contact-card .button{width:100%}
  .business-facts{padding:20px}
  .breadcrumbs{margin-bottom:24px;line-height:1.4}
  .content-section h2{font-size:2rem;overflow-wrap:anywhere}
  .prose{font-size:1.03rem;overflow-wrap:anywhere}
  .prose table{display:block;max-width:100%;overflow-x:auto}
  .empty-state{padding:38px 20px}
}

/* Directory discovery: countries first, categories as a focused filter. */
.directory-nav{background:#fff;border-block:1px solid var(--line);padding:24px 0}
.country-nav{display:grid;gap:11px}
.country-nav>strong{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}
.country-nav>div{display:flex;flex-wrap:wrap;gap:8px}
.country-nav a{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.82rem;background:#fff}
.country-nav a:hover,.country-nav a.active{background:var(--green);border-color:var(--green);color:#fff}
.country-nav small{opacity:.72}
.directory-filters{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr) auto auto;gap:12px;align-items:end;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.directory-filters label{display:grid;gap:6px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.directory-filters select{width:100%;min-width:0;border:1px solid #c9cec9;border-radius:11px;padding:11px 38px 11px 12px;background:#fff;color:var(--ink)}
.directory-filters .button{min-height:47px}
.clear-filters{align-self:center;color:var(--green-2);font-weight:800;font-size:.86rem;padding:10px}

/* Business profiles use a quieter scale than long-form editorial articles. */
.business-layout .content-section>h2{font-size:clamp(1.65rem,2.6vw,2.2rem);line-height:1.15;margin-bottom:24px}
.business-layout .prose{font-size:1.02rem;line-height:1.72}
.business-layout .prose h1{font-size:clamp(1.65rem,2.7vw,2.25rem);line-height:1.16;margin:1.8em 0 .65em}
.business-layout .prose h2{font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.2;margin:1.7em 0 .6em;letter-spacing:-.025em}
.business-layout .prose h3{font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.25;margin:1.5em 0 .55em}
.business-layout .prose h4{font-size:1.05rem;font-family:var(--sans);font-weight:800;letter-spacing:0}

@media(max-width:800px){
  .directory-filters{grid-template-columns:1fr 1fr}
  .directory-filters .button{width:100%}
}
@media(max-width:650px){
  .directory-nav{padding:18px 0}
  .country-nav>div{flex-wrap:nowrap;overflow-x:auto;padding-bottom:7px;scrollbar-width:thin}
  .country-nav a{white-space:nowrap}
  .directory-filters{grid-template-columns:1fr;gap:10px;margin-top:14px;padding-top:14px}
  .clear-filters{text-align:center}
  .business-layout .content-section>h2{font-size:1.7rem}
  .business-layout .prose h1{font-size:1.65rem}
  .business-layout .prose h2{font-size:1.45rem}
  .business-layout .prose h3{font-size:1.25rem}
}
