:root{
  --font-body:Arial,"Helvetica Neue",Helvetica,sans-serif;
  --font-display:Georgia,"Times New Roman",Times,serif;
}

html,body,button,input,select,textarea{
  font-family:var(--font-body)!important;
}

body{
  font-size:16px;
  line-height:1.5;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,
.home-v2 h1,.home-v2 h2,.home-v2 h3,
.directory-hero h1,.store-hero h1,.store-section h2,.directory-method h2,
.city-card h2,.regional-explorer h2,.directory-dialog-head h2,
.store-disclosure>summary,.store-prose h3,.feature-groups h3,.nearby-grid h3,
.finder-shell h1,.finder-shell h2,#compare-dialog h2,
#clstit h1,.news li h3,.blog li>div>a,#arc h1,#arc article h2,#one h1,#one h2{
  font-family:var(--font-display)!important;
}

.site-header,.site-footer,.primary-nav,.header-cta,.menu-toggle,
.eyebrow,.directory-breadcrumb,.directory-hero__actions,.store-actions,
.city-toolbar,.city-filters,.city-card__actions,.store-anchor-nav,
.directory-pagination,.card-actions,.compare-tray,.city-compare-tray{
  font-family:var(--font-body)!important;
}

/* The legacy base stylesheet gives direct header children a 70px line box.
   Reset it for the rebuilt header so inline badges and controls stay centered. */
.site-header>.site-header__inner{
  line-height:normal!important;
}
.primary-nav a{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  line-height:1.25!important;
  white-space:nowrap;
}
.primary-nav .nav-saved-count{
  display:inline-grid!important;
  place-items:center;
  min-width:1.45rem;
  width:auto;
  height:1.45rem;
  margin-left:.1rem;
  padding:0 .35rem;
  border-radius:999px;
  background:#d8ee72;
  color:#173d31;
  font-size:.72rem;
  font-weight:800;
  line-height:1!important;
  vertical-align:middle;
  box-sizing:border-box;
}
.primary-nav .nav-saved-count[hidden]{display:none!important}

/* Keep the decision steps readable at the same editorial rhythm as the intro. */
.decision-section{
  grid-template-columns:minmax(0,2fr) minmax(0,3fr)!important;
}
.decision-intro,.decision-steps,.decision-steps li,.decision-steps li>div{
  min-width:0;
}
.decision-steps li{padding:28px 0}
.decision-steps h3{font-size:24px;line-height:1.18;margin-bottom:8px}
.decision-steps p{font-size:15px;line-height:1.6;max-width:100%;overflow-wrap:anywhere}

/* Finder formerly used a separate compact 11–12px scale. Match the platform UI. */
.finder-search label,.radius-control{font-size:12px;line-height:1.35}
.finder-search input,.finder-search button,.location-button,.radius-control select{font-size:14px}
.finder-controls #location-status,.results-toolbar span,.filter-row,.map-help{font-size:13px;line-height:1.45}
.finder-card__top{font-size:13px}
.finder-card h2{font-size:22px;line-height:1.18}
.finder-card p{font-size:13px;line-height:1.45}
.card-actions a,.card-actions button{font-size:12px;line-height:1.2}

@media (min-width:901px){
  .finder-workspace{
    width:min(1240px,calc(100% - 48px));
    margin:0 auto 60px;
    grid-template-columns:minmax(0,1fr) minmax(0,2fr);
    border-left:1px solid #d8d1c2;
    border-right:1px solid #d8d1c2;
  }
}

@media (min-width:901px) and (max-width:1100px){
  .finder-card{grid-template-columns:110px minmax(0,1fr)}
  .finder-card__content{padding:12px}
  .finder-card h2{font-size:19px}
  .card-actions{gap:5px}
  .card-actions a,.card-actions button{padding:6px 7px}
}

@media (max-width:900px){
  .decision-section{grid-template-columns:1fr!important}
  .finder-workspace{width:100%;margin:0;grid-template-columns:1fr}
}
