.policy-role,
.insurer-directory {
  max-width: 1200px;
  margin: 0 auto;
  padding: 90px 0;
}

.policy-role .kicker,
.insurer-directory .kicker {
  color: var(--blue);
  letter-spacing: .13em;
  text-transform: uppercase;
  font-size: 9px;
  font-weight: 950;
}

.policy-role__lead {
  display: grid;
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
  gap: 24px 72px;
  align-items: start;
}

.policy-role__lead .kicker {
  grid-row: span 2;
  padding-top: 8px;
}

.policy-role__lead h2,
.insurer-directory__intro h2 {
  margin: 0;
  letter-spacing: -.06em;
  font-size: clamp(38px, 4.6vw, 60px);
  line-height: .98;
}

.policy-role__lead p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.72;
}

.policy-role__grid,
.insurer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 48px;
}

.policy-role__grid article,
.insurer-card {
  background: var(--white);
  border: 2px solid var(--ink);
  min-height: 250px;
  padding: 26px;
}

.policy-role__grid article > span,
.insurer-card__head span {
  color: var(--blue);
  font-size: 10px;
  font-weight: 950;
}

.policy-role__grid h3 {
  letter-spacing: -.045em;
  margin: 56px 0 14px;
  font-size: 25px;
}

.policy-role__grid p,
.insurer-card > p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.policy-role__notice {
  background: var(--lime);
  border: 2px solid var(--ink);
  display: grid;
  grid-template-columns: .7fr 1.3fr auto;
  gap: 28px;
  align-items: center;
  margin-top: 14px;
  padding: 26px 28px;
}

.policy-role__notice p {
  color: #44492f;
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
}

.policy-role__notice a {
  color: var(--blue-dark);
  font-size: 11px;
  font-weight: 950;
}

.insurer-directory {
  border-top: 2px solid var(--ink);
}

.insurer-directory__intro .kicker {
  display: block;
  margin-bottom: 18px;
}

.insurer-card {
  display: flex;
  flex-direction: column;
  min-height: 310px;
}

.insurer-card--wide {
  grid-column: span 2;
}

.insurer-card__head {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 10px;
}

.insurer-card h3 {
  letter-spacing: -.05em;
  margin: 0;
  font-size: 25px;
  line-height: 1.05;
}

.insurer-card > p {
  min-height: 44px;
  margin: 20px 0 28px;
}

.insurer-card__phone {
  color: var(--blue);
  letter-spacing: -.04em;
  margin-top: auto;
  font-size: clamp(21px, 2vw, 27px);
  font-weight: 950;
}

.insurer-card > small {
  color: #74767b;
  margin-top: 7px;
  font-size: 11px;
}

.insurer-card__links {
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 24px;
  padding-top: 17px;
}

.insurer-card__links a {
  color: var(--blue);
  font-size: 11px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

/* Neutralize the older directory-card link rules used on another page. */
.insurer-grid .insurer-card a {
  background: transparent;
  border: 0;
  display: inline;
  flex-direction: initial;
  min-height: 0;
  padding: 0;
}

.insurer-grid .insurer-card__head span {
  color: var(--blue);
  letter-spacing: 0;
  text-transform: none;
}

@media (width <= 900px) {
  .policy-role__lead { grid-template-columns: 1fr; gap: 22px; }
  .policy-role__lead .kicker { grid-row: auto; }
  .policy-role__grid,
  .insurer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .policy-role__notice { grid-template-columns: 1fr; }
}

@media (width <= 760px) {
  .policy-role,
  .insurer-directory {
    margin: 0 20px;
    padding: 64px 0;
  }

  .policy-role__grid,
  .insurer-grid { grid-template-columns: 1fr; }
  .insurer-card--wide { grid-column: auto; }
  .policy-role__grid article,
  .insurer-card { min-height: 0; }
  .policy-role__grid h3 { margin-top: 34px; }
}
