/* First article only: this stylesheet is loaded by its editorial page. */
body {
  background: #faf6ee;
  color: #48424a;
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", sans-serif;
  font-size: 18px;
  line-height: 1.85;
}
.site-header, .site-footer { max-width: 808px; padding-left: 36px; padding-right: 36px; }
.site-header { padding-top: 24px; padding-bottom: 24px; }
.site-header .brand { font-family: inherit; font-size: 23px; letter-spacing: -.04em; }
.site-header nav { font-size: 14px; gap: 24px; }
.site-footer { font-size: 13px; color: #75624f; }
.visual-main { max-width: 808px; margin: 32px auto 80px; padding: 0 36px; }
.preview-ribbon { margin: 0 0 32px; font-size: 13px; line-height: 1.7; color: #75624f; }
.editorial-hero { display: block; margin-bottom: 36px; }
.hero-copy { padding: 0; }
.editorial-kicker { margin: 0 0 16px; font-size: 14px; font-weight: 600; letter-spacing: .02em; color: #a5322a; }
.editorial-title {
  margin: 0 0 20px;
  color: #202026;
  font-family: inherit;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -.035em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.editorial-deck { margin: 0; color: #75624f; font-size: 19px; line-height: 1.8; }
.editorial-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; }
.editorial-tags span { padding: 4px 12px; background: #eee4d6; border-radius: 6px; font-size: 13px; color: #82654b; }
.hero-read-link { display: inline-flex; gap: 24px; margin: 16px 0 22px; padding: 5px 0; font-size: 14px; color: #a5322a; text-decoration-thickness: 1px; }



.editorial-reading-grid { display: block; scroll-margin-top: 24px; }
.editorial-rail { position: static; margin: 0 0 40px; }
.editorial-rail .article-toc { display: block; margin: 0; padding: 24px 28px; border: 1px solid #d9cebc; border-radius: 10px; background: #f2ebdf; }
.editorial-rail .article-toc p { margin: 0 0 12px; font-size: 16px; font-weight: 700; color: #29241f; }
.editorial-rail .article-toc ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 32px; margin: 0; padding-left: 21px; }
.editorial-rail .article-toc li { margin: 0; padding-left: 2px; font-size: 15px; line-height: 1.7; }
.editorial-rail .article-toc a:hover { text-decoration: underline; }
.article-copy { max-width: none; font-size: 18px; line-height: 1.9; letter-spacing: normal; }
.article-copy p, .article-copy > p:first-child { margin: 0 0 25px; font-size: inherit; line-height: inherit; color: #48424a; }
.article-copy strong { font-weight: 700; }
.article-copy h2 { margin: 52px 0 22px; padding-top: 30px; border-top: 1px solid #d9cebc; font-size: 27px; font-weight: 700; line-height: 1.6; letter-spacing: -.025em; scroll-margin-top: 24px; color: #202026; }
.article-copy h3 { font-size: 22px; font-weight: 700; line-height: 1.65; letter-spacing: -.02em; }
.article-copy ul, .article-copy ol { margin: 24px 0; padding-left: 25px; }
.article-copy li { margin-bottom: 12px; }
.article-copy a { color: #a5322a; text-decoration-thickness: 1px; }
.reading-summary { margin: 32px 0 42px; padding: 26px 28px; border-left: 3px solid #a5322a; background: #ede4d6; border-radius: 0 10px 10px 0; }
.reading-summary .editorial-kicker { margin: 0 0 12px; font-size: 16px; font-weight: 700; }
.reading-summary ul { margin: 0; padding-left: 22px; }
.reading-summary li { margin-bottom: 9px; font-size: 16px; line-height: 1.85; }
.reading-summary li:last-child { margin-bottom: 0; }
.editorial-figure { margin: 26px 0 30px; padding: 26px 28px; border: 1px solid #d9cebc; border-radius: 12px; background: #fffdf8; }
.figure-heading > span { font-size: 13px; color: #75624f; }
.figure-heading h3 { margin: 6px 0 24px; font-size: 21px; color: #29241f; }
.editorial-figure svg { display: block; width: 100%; max-width: 440px; margin: auto; font-family: inherit; }
.basis-figure svg text { font-size: 22px; fill: #48424a; }
.mapping-figure svg text { fill: #48424a; }
.mapping-figure svg text[font-size="18"] { font-size: 22px; }
.editorial-figure figcaption { margin-top: 20px; padding-top: 16px; border-top: 1px solid #d9cebc; font-size: 14px; line-height: 1.8; color: #75624f; }
.mapping-text-grid { list-style: none; padding: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mapping-text-grid li { margin: 0; padding: 16px 18px; background: #f2ebdf; border-radius: 7px; font-size: 16px; line-height: 1.85; }
.article-copy .table-wrap { margin: 24px 0 30px; overflow-x: auto; }
.article-copy table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.8; font-variant-numeric: tabular-nums; }
.article-copy th, .article-copy td { padding: 13px 15px; border-bottom: 1px solid #d9cebc; text-align: left; }
.article-copy th { background: #eee4d6; font-weight: 700; }
.article-copy tbody tr:last-child { background: #f2ebdf; font-weight: 700; }
.visual-cta { margin: 52px 0 36px; padding: 30px; border: 1px solid #d9cebc; border-radius: 12px; background: #ede4d6; color: #48424a; }
.visual-cta h2 { font-size: 24px; line-height: 1.6; color: #202026; }
.visual-cta p, .visual-cta .eyebrow { font-size: 16px; line-height: 1.8; color: #75624f; }
.visual-cta .button { margin-top: 22px; }
.visual-main > .related { margin: 42px 0 0; }
.visual-main > .related h2 { font-size: 22px; }
.visual-main > .related a { font-size: 16px; line-height: 1.75; }
@media (max-width: 600px) {
  body { font-size: 17px; }
  .site-header, .site-footer { padding-left: 20px; padding-right: 20px; }
  .site-header { padding-top: 20px; padding-bottom: 20px; gap: 16px; flex-wrap: wrap; }
  .site-header .brand { font-size: 22px; }
  .site-header nav { gap: 18px; font-size: 13px; }
  .site-footer { flex-wrap: wrap; font-size: 12px; }
  .visual-main { margin: 24px auto 56px; padding: 0 20px; }
  .preview-ribbon { font-size: 12px; margin-bottom: 26px; }
  .editorial-kicker { font-size: 13px; margin-bottom: 12px; }
  .editorial-title { font-size: 30px; line-height: 1.5; letter-spacing: -.03em; margin-bottom: 16px; }
  .editorial-deck { font-size: 17px; }
  .hero-read-link { margin-bottom: 20px; }
  
  
  .editorial-hero { margin-bottom: 30px; }
  .editorial-rail { margin-bottom: 32px; }
  .editorial-rail .article-toc { padding: 20px; }
  .editorial-rail .article-toc ol { grid-template-columns: 1fr; gap: 10px; }
  .editorial-rail .article-toc li { font-size: 15px; }
  .article-copy { font-size: 17px; line-height: 1.9; }
  .article-copy p { margin-bottom: 24px; }
  .article-copy h2 { margin-top: 42px; padding-top: 28px; font-size: 24px; }
  .article-copy h3 { font-size: 20px; }
  .reading-summary { padding: 22px 20px; }
  .reading-summary li { font-size: 16px; }
  .editorial-figure { margin: 24px 0 28px; padding: 22px 16px; }
  .figure-heading h3 { font-size: 20px; margin-bottom: 20px; }
  .editorial-figure figcaption { font-size: 14px; }
  .mapping-text-grid { grid-template-columns: 1fr; }
  .article-copy table { font-size: 15px; }
  .article-copy th, .article-copy td { padding: 11px 8px; }
  .visual-cta { padding: 24px 22px; }
  .visual-cta h2 { font-size: 23px; }
}

/* Apply the latest rebuild canvas while keeping the editorial reading flow. */
body{background:#faf6ee;font-size:17px;line-height:1.9}
.site-header{max-width:480px;height:57px;min-height:57px;padding:6px 16px;gap:12px;flex-wrap:nowrap;background:#f4eee2}
.site-header .brand{flex:0 0 108px;min-height:44px}.site-header .brand img{width:108px;height:auto}.site-header nav{gap:12px;font-size:13px;line-height:1.6}
.site-footer{max-width:480px;padding-left:24px;padding-right:24px}
.visual-main{max-width:480px;margin:28px auto 56px;padding:0 24px}
.editorial-title{font-size:32px;font-weight:780;line-height:1.45;letter-spacing:-.04em}
.editorial-kicker{color:#a5322a;font-weight:700}.editorial-deck{font-size:17px}

.editorial-rail .article-toc{padding:22px;border-radius:2px}.editorial-rail .article-toc ol{grid-template-columns:1fr;gap:10px}
.article-copy{font-size:17px;line-height:1.9;letter-spacing:-.015em}.article-copy h2{font-size:26px;font-weight:740;letter-spacing:-.035em;line-height:1.5}
.reading-summary,.editorial-figure,.mapping-text-grid li,.visual-cta{border-radius:2px}.mapping-text-grid{grid-template-columns:1fr}
.article-copy table{font-size:15px}.article-copy th,.article-copy td{padding:11px 8px}
.basis-figure svg text,.mapping-figure svg text{fill:#48424a}
@media(max-width:600px){.site-header{padding:6px 16px}.visual-main{padding:0 20px}.editorial-title{font-size:30px}.article-copy h2{font-size:24px}}
@media(max-width:350px){.site-header nav{font-size:12px;gap:10px}}

.editorial-title{text-wrap:balance}
