
.njf-btn,
.lc-btn,
.pl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  background: #1a5999;
  color: #ffffff;
  text-decoration: none;
  border-radius: 0;
  border: 0;
  line-height: 1.1;
  font-weight: 700;
  transition: background-color 160ms ease-in-out, color 160ms ease-in-out;
  margin: 12px 0;
}

.njf-btn:hover,
.njf-btn:focus,
.lc-btn:hover,
.lc-btn:focus,
.pl-btn:hover,
.pl-btn:focus {
  background: #000000;
  color: #ffffff;
  outline: none;
}

.njf-btn:focus-visible,
.lc-btn:focus-visible,
.pl-btn:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 3px;
}

.njf-btn-primary,
.njf-btn-secondary,
.lc-btn-primary,
.lc-btn-secondary,
.pl-btn-primary,
.pl-btn-secondary {
  background: #1a5999;
  color: #ffffff;
  border: 0;
}

.njf-cta-actions,
.lc-actions,
.pl-actions,
.njf-section .njf-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}

.lc-section { margin: 2.25rem 0; }
.lc-section h2 { margin: 0 0 .6rem; line-height: 1.2; }

.lc-deck { margin: 0 0 1rem; max-width: 78ch; line-height: 1.55; color: #333; }

.lc-block {
  padding: 1rem 0;
  border-top: 1px solid rgba(0,0,0,.10);
}
.lc-block:last-of-type { border-bottom: 1px solid rgba(0,0,0,.10); }
.lc-block h3 { margin: 0 0 .35rem; line-height: 1.25; font-size: 1.15rem; }
.lc-block p { margin: 0 0 .65rem; max-width: 85ch; line-height: 1.55; color: #333; }

.lc-check { margin: 0; padding-left: 1.1rem; }
.lc-check li { margin: .28rem 0; line-height: 1.45; color: #333; }

.lc-cta {
  margin-top: 1.1rem;
  padding: 1.05rem;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  background: #fff;
}
.lc-cta h3 { margin: 0 0 .35rem; line-height: 1.25; }
.lc-cta p { margin: 0 0 .75rem; max-width: 85ch; line-height: 1.55; color: #333; }

.lc-micro { margin: .65rem 0 0; font-size: .92rem; color: #555; line-height: 1.45; }

@media (max-width: 768px) {
  .lc-block { padding: .9rem 0; }
  .lc-cta { padding: .9rem; }
}

.pl-section { margin: 2.25rem 0; }
.pl-section h2 { margin: 0 0 .6rem; line-height: 1.2; }

.pl-deck { margin: 0 0 .6rem; max-width: 78ch; line-height: 1.55; color: #333; }
.pl-meta { margin: 0 0 1rem; font-size: .95rem; color: #555; }

.pl-entries { border-top: 1px solid rgba(0,0,0,.10); }
.pl-entry { padding: 1.1rem 0; border-bottom: 1px solid rgba(0,0,0,.10); }

.pl-entry-head h3 { margin: 0 0 .25rem; line-height: 1.25; font-size: 1.15rem; }
.pl-entry-sub { margin: 0; color: #555; line-height: 1.45; max-width: 90ch; }

.pl-points { margin: .7rem 0 .85rem; padding-left: 1.1rem; }
.pl-points li { margin: .28rem 0; line-height: 1.45; color: #333; }

.pl-contact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem 1rem;
  margin: 0 0 .9rem;
}
.pl-contact div { display: grid; grid-template-columns: 90px 1fr; gap: .5rem; align-items: baseline; }
.pl-contact dt { font-weight: 700; color: #111; margin: 0; }
.pl-contact dd { margin: 0; color: #333; }
.pl-contact a { text-decoration: none; border-bottom: 1px solid rgba(0,0,0,.18); }
.pl-contact a:hover { border-bottom-color: rgba(0,0,0,.45); }

.pl-footer { margin-top: .9rem; }
.pl-micro { margin: 0; font-size: .92rem; color: #555; line-height: 1.45; }

@media (max-width: 768px) {
  .pl-contact { grid-template-columns: 1fr; }
  .pl-contact div { grid-template-columns: 88px 1fr; }
}

/* =========================================================
   NJ approval factors (njf)
   ========================================================= */

.njf-section { margin: 2.25rem 0; }
.njf-section h2 { margin: 0 0 .6rem; line-height: 1.2; }
.njf-deck { margin: 0 0 1.1rem; max-width: 68ch; font-size: 1.05rem; line-height: 1.55; color: #333; }

.njf-steps {
  counter-reset: njf;
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(0,0,0,.10);
}
.njf-step {
  counter-increment: njf;
  padding: 1.05rem 0 1.05rem;
  border-bottom: 1px solid rgba(0,0,0,.10);
}
.njf-step h3 {
  margin: 0 0 .35rem;
  line-height: 1.25;
  font-size: 1.15rem;
}
.njf-step h3::before {
  content: counter(njf) ". ";
  font-weight: 700;
}
.njf-step p { margin: 0 0 .55rem; max-width: 75ch; line-height: 1.55; color: #333; }

.njf-bullets { margin: 0; padding-left: 1.1rem; }
.njf-bullets li { margin: .28rem 0; line-height: 1.45; color: #333; }

.njf-cta {
  margin-top: 1.25rem;
  padding: 1.05rem 1.05rem;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  background: #fff;
}

.njf-cta h3 { margin: 0 0 .35rem; line-height: 1.25; }
.njf-cta p { margin: 0 0 .75rem; max-width: 78ch; line-height: 1.55; color: #333; }

.njf-micro { margin: 0; font-size: .92rem; color: #555; }

@media (max-width: 768px) {
  .njf-deck { font-size: 1rem; }
  .njf-step { padding: .9rem 0; }
  .njf-cta { padding: .9rem; }
}

.adoption-card h3 {
  font-weight: 700;
  font-size: 1.25rem !important;
}
h3 { font-weight: 700; }