/* v916: make article pages match the generated editorial/tool design as real HTML. */
body.polished-article {
  --article-bg: #fffefa;
  --article-deep: #073f2d;
  --article-accent: #f06400;
  --article-line: #dfe8e2;
  background: var(--article-bg);
}

body.polished-article .topbar {
  position: static;
  min-height: 76px;
  padding-block: 18px;
  border-bottom: 1px solid var(--article-line);
  box-shadow: 0 8px 22px rgba(7, 63, 45, .05);
}

body.polished-article .brand {
  color: #111;
  font-size: 24px;
}

body.polished-article .hero {
  background: linear-gradient(115deg, #fff 0%, #f4faf6 62%, #fff4ea 100%);
  border-bottom: 1px solid var(--article-line);
  padding: clamp(42px, 6vw, 78px) clamp(20px, 4vw, 58px) 32px;
}

body.polished-article .hero-inner {
  max-width: 1320px;
}

body.polished-article .badge {
  border: 0;
  background: #0b6b44;
  color: #fff;
  border-radius: 999px;
  padding: 9px 16px;
  font-size: 16px;
}

body.polished-article h1 {
  max-width: 1180px;
  color: #070d0a;
  font-size: clamp(48px, 5.5vw, 86px);
  letter-spacing: 0;
}

body.polished-article .lead {
  max-width: 1040px;
  color: #1d2822;
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.68;
  font-weight: 820;
}

.article-reader-map {
  max-width: 1320px;
  margin: 0 auto;
  padding: 30px clamp(18px, 4vw, 56px) 10px;
}

.article-reader-head {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 18px;
}

.article-reader-head span {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #0b6b44;
  color: #fff;
  font-size: 15px;
  font-weight: 950;
}

.article-reader-head h2 {
  margin: 0;
  color: #0b6b44;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.22;
}

.article-reader-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.article-reader-grid a {
  min-height: 146px;
  padding: 22px;
  border-radius: 8px;
  border: 1px solid var(--article-line);
  background: linear-gradient(180deg, #f2faf5, #fff);
  color: #1d2822;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(7, 63, 45, .07);
}

.article-reader-grid span {
  display: inline-flex;
  margin-bottom: 12px;
  color: #0b6b44;
  font-size: 15px;
  font-weight: 950;
}

.article-reader-grid strong {
  display: block;
  color: #0b6b44;
  font-size: 24px;
  line-height: 1.25;
}

.article-reader-grid p {
  margin: 10px 0 0;
  color: #33413b;
  font-size: 16px;
  line-height: 1.62;
  font-weight: 780;
}

body.polished-article .article-guide-board {
  padding-top: 30px;
}

body.polished-article .article-answer-card,
body.polished-article .article-flow-card,
body.polished-article .section,
body.polished-article .summary div {
  border-radius: 8px;
  border-color: var(--article-line);
  box-shadow: 0 16px 36px rgba(7, 63, 45, .06);
}

body.polished-article .article-answer-card {
  background: #fff;
}

body.polished-article .article-flow-card {
  background: linear-gradient(180deg, #fff, #f7fbf5);
}

body.polished-article .article-kicker,
body.polished-article .article-steps span {
  background: #0b6b44;
}

body.polished-article .article-answer-card h2,
body.polished-article .article-flow-card h2,
body.polished-article .section h2 {
  color: #07120e;
  letter-spacing: 0;
}

body.polished-article .article-source-strip {
  border-radius: 8px;
  box-shadow: 0 14px 32px rgba(7, 63, 45, .05);
}

body.polished-article .article-source-strip a,
body.polished-article .expert-source-grid a {
  min-height: 70px;
  border-radius: 8px;
  background: #fff;
}

body.polished-article .page {
  max-width: 1320px;
  padding-top: 26px;
}

body.polished-article .summary {
  gap: 18px;
}

body.polished-article .summary div {
  padding: 22px;
}

body.polished-article .section {
  margin: 26px 0;
  padding: clamp(26px, 4vw, 42px);
}

body.polished-article .section p,
body.polished-article .section li {
  color: #1d2822;
  font-size: 19px;
  line-height: 1.82;
  font-weight: 760;
}

body.polished-article .table th {
  background: #0b6b44;
  color: #fff;
}

body.polished-article .table td,
body.polished-article .table th {
  padding: 16px 18px;
}

body.polished-article .ad-slot {
  border-color: #cbd9d2;
  background: #fff;
  color: #64756c;
}

@media (max-width: 980px) {
  .article-reader-head,
  .article-reader-grid {
    grid-template-columns: 1fr;
  }

  body.polished-article h1 {
    font-size: 42px;
  }

  body.polished-article .lead {
    font-size: 20px;
  }
}
