  /* TPS Service Areas Grid */

.sag { padding: 3.5rem 0; }
.sag + .sag { border-top: 1px solid rgba(0,0,0,0.08); }

.sag__intro a{
	color: #555 !important;
	text-decoration: underline !important;
	
}

.sag__eyebrow {
  font-size: 16px;
  font-weight: 500;
  color: #666;
  text-transform: uppercase;
  margin: 0 0 15px;
  font-family: karla !important; 
}
.sag__title {
  font-size: 42px;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.05;
  margin: 0 0 12px;
  color: #111;
  font-family: karla;
  text-transform: uppercase;
}
.sag__intro {
  font-size: 18px;
  color: #555;
  max-width: 60ch;
  line-height: 1.55;
  font-weight: 400px !important;
  font-family: karla;
}

.sag__items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 14px;
  margin-top: 25px;
}
.sag--cols-2 .sag__items { grid-template-columns: repeat(2, 1fr); }
.sag--cols-3 .sag__items { grid-template-columns: repeat(3, 1fr); }
.sag--cols-4 .sag__items { grid-template-columns: repeat(4, 1fr); }

.sag__card {
  background: #fff;
  padding: 18px 16px;
  border: 0.5px solid rgba(0,0,0,0.06);
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: inherit;
  height: 100%;
  box-sizing: border-box;
}
.sag__item--detailed .sag__card {
  flex-direction: column;
  align-items: flex-start;
  padding: 22px 20px;
}

a.sag__card { transition: border-color 0.15s ease; }
a.sag__card:hover,
a.sag__card:focus-visible { border-color: rgba(0,0,0,0.25); }

.sag__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sag__item--detailed .sag__icon { width: 42px; height: 42px; }
.sag__icon img {
  width: 55%;
  height: 55%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.sag__item-title {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #111;
  margin: 0;
  line-height: 1.2;
  font-family: karla;
}
.sag__item--detailed .sag__item-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}


.sag__item-desc {
  font-size: 17px;
  color: #555;
  line-height: 1.55;
  margin: 6px 0 0;
  font-family: karla !important;
}


@media (max-width: 900px) {
  .sag--cols-3 .sag__items,
  .sag--cols-4 .sag__items { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .sag--cols-2 .sag__items,
  .sag--cols-3 .sag__items,
  .sag--cols-4 .sag__items { grid-template-columns: 1fr; }
}


/* ===== Sports Injuries & Conditions grid — third section only ===== */
#sports-injuries-we-treat .sag__card {
  background: #fff;
  padding: 28px;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
/* Title + divider inset to card padding */
#sports-injuries-we-treat .sag__item-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  align-self: stretch;
  box-sizing: border-box;
  margin: 0 0 10px;
  padding: 0 0 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
/* Description */
#sports-injuries-we-treat .sag__item-desc {
  font-size: 17px;
  line-height: 1.5;
  color: #555;
  margin: 0;
  font-family: karla !important;
}

#sports-injuries-we-treat .sag__intro {
  max-width: 90ch !important;
}