/* Beauty of Joseon breakdown, v2 rich (2026-11-10) */
/* Diagrams: narrow viewBoxes, so text sizes are bumped to stay >= 12px at 375 */
.boj-fig svg .t { font-size: 19px; }
.boj-fig svg .t-s { font-size: 17px; }
.boj-fig svg .tb { font-weight: 600; }
.boj-fig svg .box { fill: var(--bg); stroke: var(--dark); stroke-width: 1; }
.boj-fig svg .open { fill: var(--light); stroke: var(--dark); stroke-width: 2; }
.boj-fig figcaption a { color: inherit; }
.pg-hero .bd-figure { color: var(--dark); }
.boj-figs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr)); gap: 16px; }
.boj-figs .bd-figure + .bd-figure { margin-top: 0; }
.boj-note { margin: 24px 0 0; font-size: 14px; line-height: 1.5; opacity: .75; max-width: 760px; }
.boj-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr)); gap: 24px; }
.boj-quotes figcaption a { color: inherit; }
.bd-checklist a { font-weight: 600; white-space: nowrap; }
.pg-hero-media .bd-figure figcaption { font-family: var(--font--body); font-size: 13px; letter-spacing: normal; text-transform: none; }
.boj-quotes figcaption { text-align: left; }

/* v4 screenshots + interactivity (2026-11-10) */
.bx-sub { margin: 64px 0 16px; font-family: var(--font--serif); font-weight: 400; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.1; }
.pg-head + .bx-sub, .pg-head + .bd-tabs { margin-top: 0; }
.bx-lead { margin: 0 0 24px; max-width: 760px; line-height: 1.55; }
.bx-hint { margin: 0 0 16px; font-family: var(--font--mono); font-size: 12px; opacity: .7; }
.bx-math { margin: 24px 0 0; font-family: var(--font--mono); font-size: 13px; line-height: 1.5; max-width: 760px; }
.bd-tabs + .bd-steal, .bx-math + .bd-steal { margin-top: 16px; max-width: 760px; }
.bd-hot-wrap + .bx-sub, .bd-hot-wrap + .bd-shots { margin-top: 48px; }
.bd-hot-wrap.bx-n { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); }
.bx-adtab { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 32px; align-items: start; }
.bx-adtab h3, .bx-adtab h4 { margin: 0 0 12px; font-family: var(--font--serif); font-weight: 400; font-size: 28px; line-height: 1.1; }
.bx-adtab p { margin: 0 0 12px; line-height: 1.55; max-width: 560px; }
.bx-adtab .bx-meta { font-family: var(--font--mono); font-size: 12px; line-height: 1.6; opacity: .8; }
.bx-adtab .bx-meta a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.bx-adtab .bd-shot { max-width: 300px; }
@media (max-width: 767px) {
  .bd-hot-wrap.bx-n { grid-template-columns: minmax(0, 1fr); }
  .bd-hot-wrap.bx-n .bd-hot { max-width: 340px; width: 100%; justify-self: center; }
  .bx-adtab { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .bx-adtab .bd-shot { max-width: 280px; }
}
