/* Text follows each page's own content width, shared by its cards and charts. */

.tax-intro-panel {
  width: 100%;
  max-width: none;
  padding: 28px 32px;
  background: #fff;
  border: 1px solid #dce3ee;
  border-left: 6px solid #d8a400;
  border-radius: 15px;
  box-sizing: border-box;
}
.tf-intro .tax-intro-panel .lead,
.fire-intro .tax-intro-panel .fire-lead,
.budget-intro .tax-intro-panel .lead,
.transparency-intro .tax-intro-panel p {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  color: #263b62;
  font-size: 17px;
  line-height: 1.8;
}
.tax-intro-panel p + p { margin-top: 12px; }
.tf-intro .tax-intro-panel .tf-stamp,
.budget-intro .tax-intro-panel .source-stamp { margin-top: 16px; }

/* Section explanations sit below their headings and use the full content width. */
.section-head,
.fire-section-head { display: block; }
.section-head > p,
.fire-section-head > p {
  display: block;
  width: 100%;
  max-width: none;
  margin: 8px 0 0;
  line-height: 1.65;
}
.tf-section .tf-sub,
.intro .lead,
.hero .lead,
.section-intro,
.explainer p,
.layout main section > .lead {
  width: 100%;
  max-width: none;
}

@media (max-width: 700px) {
  .tax-intro-panel { padding: 18px 20px; }
  .tf-intro .tax-intro-panel .lead,
  .fire-intro .tax-intro-panel .fire-lead,
  .budget-intro .tax-intro-panel .lead,
  .transparency-intro .tax-intro-panel p { font-size: 16px; line-height: 1.65; }
}
