/* Article-page frame is 1240px (reading column ~744 + 96 gap + 360 rail + 32 padding).
   Header and breadcrumb are pulled to the same 1240px on single posts (see style.css
   body.single-post rule) so the article title lines up with the logo (offset = 0).
   Homepage keeps the --wide-width (1200px). The reading column below fills the frame
   with the rail right after a fixed 96px gap, so there is no dead void. Width matches
   the ISPE peer container; ~91 chars/line at 18px (reviewed by codex + agy). */
.article-shell--v2 {
	max-width: 1240px;
	/* match .site-header__inner's 1rem side padding so the article title lines up
	   with the logo; the shared .article-shell rule in style.css uses 1.5rem */
	padding-left: 1rem;
	padding-right: 1rem;
}

/* Article typography (owner preference + peer norm, reviewed by codex + agy): keep the
   18px base body and instead open up the VERTICAL rhythm — paragraph spacing is ~60% of
   the "airy vs cramped" feel. 1.75rem (~30px) between blocks removes the wall-of-text
   density. On the 700px column this reads ~87 chars/line — above the AAA-80 soft target
   but within the 85–92 modern technical-blog range; airiness comes from spacing, not
   from shrinking type to 16px (too small for 40–55 y/o readers) or over-long lines. */
.single-article--v2 .entry-content--v2 > p,
.single-article--v2 .entry-content--v2 > ul,
.single-article--v2 .entry-content--v2 > ol {
	margin-bottom: 1.75rem;
}

.single-article--v2 {
	--article-v2-header-offset: 72px;
}

.single-article--v2 .pdpn-anchor-alias {
	display: block;
	height: 0;
	width: 0;
	overflow: hidden;
	visibility: hidden;
}

.single-article--v2 a:focus-visible,
.single-article--v2 button:focus-visible {
	outline: 2px solid var(--cyan);
	outline-offset: 2px;
}

.single-article--v2 .article-header--v2,
.single-article--v2 .entry-content--v2 {
	max-width: var(--content-width);
	margin-left: auto;
	margin-right: auto;
}

.single-article--v2 .article-header--v2 {
	padding-bottom: 1.5rem;
	max-width: var(--content-width);
}

.single-article--v2 .article-header--v2 h1 {
	font-size: clamp(2rem, 3.5vw, 2.8rem);
	line-height: 1.15;
	max-width: var(--content-width);
	text-wrap: balance;
}

.single-article--v2 .article-header--v2 .article-meta {
	max-width: var(--content-width);
}

.single-article--v2 .article-v2-mobile-toc {
	max-width: var(--content-width);
	margin: 1rem auto 1.5rem;
}

.single-article--v2 .article-v2-mobile-toc__button {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.72rem 1rem;
	min-height: 44px;
	background: #fff;
	border: 1px solid var(--border);
	border-left: 4px solid var(--cluster-accent, var(--cyan));
	border-radius: var(--radius);
	font-family: var(--font-heading);
	font-size: 0.88rem;
	font-weight: 800;
	color: var(--text-primary);
	cursor: pointer;
	text-align: left;
}

.single-article--v2 .article-v2-mobile-toc__button:hover {
	background: #f5fafc;
}

.single-article--v2 .article-v2-mobile-toc__chevron {
	font-style: normal;
	transition: transform 0.2s ease;
}

.single-article--v2 .article-v2-mobile-toc__panel {
	background: #fff;
	border: 1px solid var(--border);
	border-top: 0;
	border-radius: 0 0 var(--radius) var(--radius);
	padding: 0.65rem 0.9rem 0.95rem;
}

.single-article--v2 .article-v2-mobile-toc__list {
	margin: 0;
	padding-left: 1.15rem;
}

.single-article--v2 .article-v2-mobile-toc__list li + li {
	margin-top: 0.3rem;
}

.single-article--v2 .article-v2-mobile-toc__list a {
	color: var(--text-secondary);
	text-decoration: none;
	font-size: 0.88rem;
	line-height: 1.55;
}

.single-article--v2 .article-v2-mobile-toc__list a:hover {
	color: var(--cyan);
}

.single-article--v2 .article-v2-grid {
	position: relative;
}

.single-article--v2 .entry-content--v2 > * {
	margin-bottom: 1.15rem;
}

.single-article--v2 .entry-content--v2 > .inline-cta {
	margin-bottom: 2.5rem;
}

.single-article--v2 .entry-content--v2 h2 {
	font-size: clamp(1.15rem, 1.8vw + 0.8rem, 1.55rem);
	scroll-margin-top: var(--article-v2-header-offset);
}

.single-article--v2 .entry-content--v2 h3 {
	font-size: 1.2rem;
	scroll-margin-top: var(--article-v2-header-offset);
}

.single-article--v2 .entry-content--v2 h2 .anc,
.single-article--v2 .entry-content--v2 h3 .anc {
	opacity: 0;
	margin-left: 0.3rem;
	font-weight: 400;
	text-decoration: none;
}

.single-article--v2 .entry-content--v2 h2:hover .anc,
.single-article--v2 .entry-content--v2 h3:hover .anc,
.single-article--v2 .entry-content--v2 h2:focus-within .anc,
.single-article--v2 .entry-content--v2 h3:focus-within .anc {
	opacity: 1;
}

.single-article--v2 .entry-content--v2 .tldr-box {
	background: #f0f7ff;
	border: 1.5px solid #b8d4f0;
	border-radius: var(--radius);
	padding: 1rem 1.3rem;
	margin: 1.2rem 0 1.8rem;
}

.single-article--v2 .entry-content--v2 .tldr-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--cyan);
	margin-bottom: 0.6rem;
}

.single-article--v2 .entry-content--v2 .tldr-box ul {
	margin: 0;
	padding-left: 1.2rem;
}

.single-article--v2 .entry-content--v2 .tldr-box li {
	font-size: 0.9rem;
	color: var(--text-secondary);
	line-height: 1.6;
	margin-bottom: 0.35rem;
}

.single-article--v2 .entry-content--v2 .tldr-box li:last-child {
	margin-bottom: 0;
}

.single-article--v2 .entry-content--v2 .tbl-wrap,
.single-article--v2 .entry-content--v2 .table-responsive.table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 1.8rem 0;
	border-radius: var(--radius);
}

.single-article--v2 .entry-content--v2 .tbl-wrap table,
.single-article--v2 .entry-content--v2 .table-responsive.table-scroll table {
	width: 100%;
	min-width: clamp(720px, 86vw, 980px);
	border-collapse: collapse;
	table-layout: auto;
	font-size: 0.875rem;
	line-height: 1.6;
}

.single-article--v2 .entry-content--v2 .tbl-wrap thead th,
.single-article--v2 .entry-content--v2 .table-responsive.table-scroll thead th {
	background: #0d2b4e;
	color: #fff;
	padding: 11px 15px;
	text-align: left;
	font-size: 0.76rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border: 0;
}

.single-article--v2 .entry-content--v2 .tbl-wrap tbody tr:nth-child(odd),
.single-article--v2 .entry-content--v2 .table-responsive.table-scroll tbody tr:nth-child(odd) {
	background: #f7f9fc;
}

.single-article--v2 .entry-content--v2 .tbl-wrap tbody tr:nth-child(even),
.single-article--v2 .entry-content--v2 .table-responsive.table-scroll tbody tr:nth-child(even) {
	background: #fff;
}

.single-article--v2 .entry-content--v2 .tbl-wrap tbody tr:hover,
.single-article--v2 .entry-content--v2 .table-responsive.table-scroll tbody tr:hover {
	background: #eef8fb;
	transition: background 0.15s;
}

.single-article--v2 .entry-content--v2 .tbl-wrap td,
.single-article--v2 .entry-content--v2 .table-responsive.table-scroll td {
	padding: 10px 15px;
	border-bottom: 1px solid var(--border);
	vertical-align: top;
	word-break: normal;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.single-article--v2 .entry-content--v2 .tbl-wrap td:first-child,
.single-article--v2 .entry-content--v2 .table-responsive.table-scroll td:first-child {
	font-weight: 600;
	color: var(--navy);
	min-width: 7.5rem;
}

@media (max-width: 980px) {
	.single-article--v2 .entry-content--v2 .tbl-wrap table,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll table {
		min-width: 760px;
	}
}

.single-article--v2 .entry-content--v2 .callout,
.single-article--v2 .entry-content--v2 .regulatory-warning {
	border-radius: var(--radius);
	padding: 1rem 1.2rem;
	margin: 1.6rem 0;
	font-size: 0.92rem;
	line-height: 1.65;
}

.single-article--v2 .entry-content--v2 .callout-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 0.35rem;
}

.single-article--v2 .entry-content--v2 .callout p,
.single-article--v2 .entry-content--v2 .regulatory-warning p {
	margin: 0;
}

.single-article--v2 .entry-content--v2 .callout a,
.single-article--v2 .entry-content--v2 .regulatory-warning a {
	font-weight: 600;
}

.single-article--v2 .entry-content--v2 .callout-warn,
.single-article--v2 .entry-content--v2 .regulatory-warning {
	background: #fef3e2;
	border: 1px solid #f6c05e;
}

.single-article--v2 .entry-content--v2 .callout-warn .callout-label,
.single-article--v2 .entry-content--v2 .regulatory-warning h3 {
	color: #92400e;
}

.single-article--v2 .entry-content--v2 .callout-warn p,
.single-article--v2 .entry-content--v2 .regulatory-warning p {
	color: #78350f;
}

.single-article--v2 .entry-content--v2 .callout-info {
	background: #eef8fb;
	border: 1px solid rgba(8, 145, 178, 0.28);
}

.single-article--v2 .entry-content--v2 .callout-info .callout-label {
	color: var(--cyan);
}

.single-article--v2 .entry-content--v2 .callout-info p {
	color: #0c4a6e;
}

.single-article--v2 .entry-content--v2 .callout-ok {
	background: #f0faf4;
	border: 1px solid #86efac;
}

.single-article--v2 .entry-content--v2 .callout-ok .callout-label {
	color: #166534;
}

.single-article--v2 .entry-content--v2 .callout-ok p {
	color: #14532d;
}

.single-article--v2 .entry-content--v2 .inline-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
	background: var(--navy);
	color: #fff;
	border-radius: var(--radius);
	padding: 1.3rem 1.8rem;
	margin: 2.5rem 0;
}

.single-article--v2 .entry-content--v2 .inline-cta strong {
	display: block;
	font-size: 0.95rem;
	color: #fff;
	margin-bottom: 0.25rem;
}

.single-article--v2 .entry-content--v2 .inline-cta p {
	margin: 0;
	font-size: 0.82rem;
	color: #a8c0dc;
	line-height: 1.5;
}

.single-article--v2 .entry-content--v2 .inline-cta > a {
	background: #fff;
	color: var(--navy);
	font-weight: 700;
	font-size: 0.82rem;
	padding: 9px 20px;
	border-radius: 6px;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	transition: background 0.2s;
}

.single-article--v2 .entry-content--v2 .inline-cta > a:hover {
	background: #e0efff;
	color: var(--navy);
}

/* Nút và link-trong-câu là HAI hợp đồng khác nhau.
   Nút = <a> con trực tiếp. Link ngữ cảnh = <a> trong <p>, phải là link chữ.
   Đừng gộp lại bằng selector con-cháu — đó là lỗi đã làm vỡ 56/59 bài. */
.single-article--v2 .entry-content--v2 .inline-cta p a {
	background: none;
	color: #fff;
	padding: 0;
	border-radius: 0;
	white-space: normal;
	flex-shrink: 1;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.single-article--v2 .entry-content--v2 .inline-cta p a:hover {
	color: #e0efff;
	background: none;
}

.single-article--v2 .entry-content--v2 .faq-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 1rem 0;
}

.single-article--v2 .entry-content--v2 .faq-item {
	border: 1px solid var(--border);
	border-radius: 6px;
	overflow: hidden;
}

.single-article--v2 .entry-content--v2 .faq-q {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.8rem;
	padding: 0.85rem 1rem;
	background: var(--surface);
	border: 0;
	cursor: pointer;
	font-family: var(--font-heading);
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--text-primary);
	text-align: left;
	transition: background 0.15s;
}

.single-article--v2 .entry-content--v2 .faq-q:hover {
	background: #eef8fb;
}

.single-article--v2 .entry-content--v2 .faq-chev {
	flex-shrink: 0;
	font-style: normal;
	transition: transform 0.2s;
	color: var(--text-muted);
}

.single-article--v2 .entry-content--v2 .faq-q[aria-expanded="true"] .faq-chev {
	transform: rotate(180deg);
}

.single-article--v2 .entry-content--v2 .faq-a {
	padding: 0.85rem 1rem;
	font-size: 0.9rem;
	color: var(--text-secondary);
	line-height: 1.7;
	border-top: 1px solid var(--border);
	display: none;
}

.single-article--v2 .entry-content--v2 .faq-a.open {
	display: block;
}

.single-article--v2 .entry-content--v2 .faq-item > h3 {
	font-size: 0.9rem;
	padding: 0.85rem 1rem;
	margin: 0;
}

.single-article--v2 .entry-content--v2 .faq-item > h3 + div {
	padding: 0.85rem 1rem;
	border-top: 1px solid var(--border);
}

.single-article--v2 .entry-content--v2 .source-type-note {
	font-size: 0.84rem;
	color: var(--text-muted);
}

.single-article--v2 .entry-content--v2 .minh-bach,
.single-article--v2 .entry-content--v2 .transparency-note {
	background: var(--surface);
	border: 1px solid var(--border);
	border-left: 4px solid var(--text-muted);
	border-radius: 0 var(--radius) var(--radius) 0;
	padding: 1.1rem 1.3rem;
	margin: 2rem 0;
	font-size: 0.85rem;
	color: var(--text-secondary);
	line-height: 1.7;
}

.single-article--v2 .entry-content--v2 .transparency-note > .transparency-note,
.single-article--v2 .entry-content--v2 .minh-bach > .minh-bach {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.single-article--v2 .entry-content--v2 .transparency-note > .transparency-note > :first-child,
.single-article--v2 .entry-content--v2 .minh-bach > .minh-bach > :first-child {
	margin-top: 0;
}

.single-article--v2 .entry-content--v2 .transparency-note h2,
.single-article--v2 .entry-content--v2 .minh-bach h2 {
	font-size: clamp(1.45rem, 1.2vw + 1rem, 1.95rem);
	line-height: 1.28;
	margin-bottom: 0.65rem;
}

.single-article--v2 .entry-content--v2 .minh-bach h3,
.single-article--v2 .entry-content--v2 .transparency-note h3 {
	font-size: 0.82rem;
	color: var(--text-muted);
	margin: 0.8rem 0 0.3rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-weight: 700;
}

.single-article--v2 .entry-content--v2 .minh-bach h3:first-child,
.single-article--v2 .entry-content--v2 .transparency-note h3:first-child {
	margin-top: 0;
}

.single-article--v2 .entry-content--v2 .minh-bach ul,
.single-article--v2 .entry-content--v2 .transparency-note ul {
	padding-left: 1.2rem;
}

.single-article--v2 .entry-content--v2 .minh-bach li,
.single-article--v2 .entry-content--v2 .transparency-note li {
	margin-bottom: 0.25rem;
	font-size: 0.92rem;
}

.single-article--v2 .entry-content--v2 .decision {
	background: #fff;
	border: 1px solid var(--border);
	border-top: 3px solid var(--cluster-accent, var(--cyan));
	border-radius: var(--radius);
	padding: 1.3rem 1.5rem;
	margin: 2.2rem 0;
}

.single-article--v2 .entry-content--v2 .decision-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--cluster-accent, var(--cyan));
	margin-bottom: 0.8rem;
}

.single-article--v2 .entry-content--v2 .decision-qs {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin: 0 0 1rem;
	padding: 0;
}

.single-article--v2 .entry-content--v2 .decision-qs li {
	font-size: 0.92rem;
	color: var(--text-primary);
	padding-left: 1.3rem;
	position: relative;
}

.single-article--v2 .entry-content--v2 .decision-qs li::before {
	content: "?";
	position: absolute;
	left: 0;
	color: var(--text-muted);
	font-weight: 700;
}

.single-article--v2 .entry-content--v2 .decision-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--cyan);
	border: 1.5px solid var(--cyan);
	border-radius: 6px;
	padding: 0.45rem 0.9rem;
	text-decoration: none;
	transition: all 0.15s;
}

.single-article--v2 .entry-content--v2 .decision-cta:hover {
	background: var(--cyan);
	color: #fff;
}

.single-article--v2 .entry-content--v2 .share {
	display: flex;
	gap: 8px;
	margin: 1.5rem 0;
	flex-wrap: wrap;
}

.single-article--v2 .entry-content--v2 .share-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 0.8rem;
	font-weight: 600;
	padding: 6px 14px;
	border-radius: 6px;
	border: 1px solid var(--border);
	color: var(--text-muted);
	cursor: pointer;
	background: transparent;
	font-family: var(--font-heading);
	transition: all 0.15s;
}

.single-article--v2 .entry-content--v2 .share-btn:hover {
	border-color: var(--cyan);
	color: var(--cyan);
}

.single-article--v2 .cluster-nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	align-items: stretch;
}

.single-article--v2 .cluster-nav--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.single-article--v2 .cluster-nav--count-1 {
	grid-template-columns: minmax(0, 1fr);
	max-width: 34rem;
}

.single-article--v2 .cluster-nav__item {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	min-height: 140px;
	padding: 1.05rem 1.1rem;
	border-radius: var(--radius);
	border: 1px solid var(--border);
	border-top: 4px solid var(--cluster-accent);
	background: #fff;
	transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.single-article--v2 .cluster-nav__item--pillar {
	background: #eef6fb;
}

.single-article--v2 .cluster-nav__item:hover {
	transform: translateY(-1px);
	border-color: #bfd3e3;
	box-shadow: 0 6px 16px rgba(11, 31, 53, 0.06);
}

.single-article--v2 .cluster-nav__item span {
	display: block;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.single-article--v2 .cluster-nav__item strong {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	line-clamp: 3;
	font-size: 0.95rem;
	line-height: 1.4;
	color: var(--text-primary);
}

.single-article--v2 .article-v2-toc-sidebar {
	display: none;
}

.single-article--v2 .article-v2-toc-sidebar__header {
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-muted);
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--border);
	margin-bottom: 0.55rem;
}

.single-article--v2 .article-v2-toc-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-article--v2 .article-v2-toc-item + .article-v2-toc-item {
	margin-top: 0.1rem;
}

.single-article--v2 .article-v2-toc-link {
	display: block;
	padding: 0.35rem 0.55rem;
	border-radius: 4px;
	border-left: 3px solid transparent;
	font-size: 0.81rem;
	line-height: 1.45;
	color: var(--text-secondary);
	text-decoration: none;
}

.single-article--v2 .article-v2-toc-link:hover {
	color: var(--cyan);
	background: #eef8fb;
}

.single-article--v2 .article-v2-toc-link.on {
	color: var(--link);
	font-weight: 700;
	background: #eef8fb;
	border-left-color: var(--cyan);
}

#pdpn-article-progress {
	position: fixed;
	top: 0;
	left: 0;
	height: 3px;
	width: 0;
	background: var(--cyan);
	z-index: 9999;
	border-radius: 0 2px 2px 0;
	pointer-events: none;
	transition: width 0.08s linear;
}

@media (min-width: 1100px) {
	.single-article--v2 .article-v2-mobile-toc {
		display: none;
	}

	.single-article--v2 .article-v2-grid {
		display: grid;
		/* reading column flexes to fill the 1200px frame (~764px ≈ 77ch, under the WCAG-80
		   cap); TOC rail fixed at 340px with a 64px column gap. The two fill the frame so
		   there is no dead void and the side margins match a normal wide-content layout. */
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: 0 96px;
		align-items: start;
		width: 100%;
	}

	.single-article--v2 .entry-content--v2 {
		grid-column: 1;
		max-width: none;
		margin: 0;
		min-width: 0;
	}

	/* Header is capped to the 700px reading column so the title, kicker and meta share
	   the body text's left AND right edge, instead of the title spilling over the TOC rail. */
	.single-article--v2 .article-header--v2 {
		max-width: 744px;
		margin-left: 0;
		margin-right: 0;
	}

	.single-article--v2 .article-header--v2 h1,
	.single-article--v2 .article-header--v2 .article-meta {
		max-width: 744px;
	}

	.single-article--v2 .article-v2-toc-sidebar {
		display: block;
		grid-column: 2;
		/* rail fills its fixed 340px track; no justify-self:end anchoring, so there is no
		   dead void between the reading column and the rail. */
		justify-self: stretch;
		max-width: 360px;
		position: sticky;
		top: 200px;
		max-height: calc(100vh - 220px);
		overflow-y: auto;
		margin-top: 1rem;
		padding: 1rem 0 1rem 0.5rem;
		border-left: 1px solid var(--border);
	}
}

@media (max-width: 1099px) {
	.single-article--v2 .article-v2-toc-sidebar {
		display: none;
	}
}

@media (max-width: 980px) {
	.single-article--v2 .cluster-nav,
	.single-article--v2 .cluster-nav--count-2,
	.single-article--v2 .cluster-nav--count-1 {
		grid-template-columns: 1fr;
		max-width: none;
	}
}

@media (max-width: 640px) {
	.single-article--v2 .entry-content--v2 .inline-cta {
		flex-direction: column;
		align-items: stretch;
		padding: 1rem 1.2rem;
	}

	.single-article--v2 .entry-content--v2 .inline-cta strong,
	.single-article--v2 .entry-content--v2 .inline-cta p {
		overflow-wrap: anywhere;
	}

	.single-article--v2 .entry-content--v2 .inline-cta > a {
		display: block;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		flex-shrink: 1;
		text-align: center;
		padding: 11px 20px;
		white-space: normal !important;
		overflow-wrap: anywhere;
		word-break: break-word;
		line-height: 1.35;
		box-sizing: border-box;
	}

	.single-article--v2 .entry-content--v2 .table-scroll,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll {
		overflow: visible;
		margin: 1rem 0;
		box-shadow: none;
		border: 1px solid var(--border);
		border-radius: var(--radius);
		background: #fff;
	}

	.single-article--v2 .entry-content--v2 .table-scroll table,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll table {
		width: 100%;
		min-width: 0;
		border-collapse: separate;
		border-spacing: 0;
	}

	.single-article--v2 .entry-content--v2 .table-scroll thead,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		border: 0;
	}

	.single-article--v2 .entry-content--v2 .table-scroll tbody,
	.single-article--v2 .entry-content--v2 .table-scroll tr,
	.single-article--v2 .entry-content--v2 .table-scroll td,
	.single-article--v2 .entry-content--v2 .table-scroll th,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll tbody,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll tr,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll td,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll th {
		display: block;
		width: 100%;
	}

	.single-article--v2 .entry-content--v2 .table-scroll tr,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll tr {
		margin: 0 0 0.85rem;
		border: 1px solid var(--border);
		border-radius: var(--radius);
		overflow: hidden;
		background: #fff;
		box-shadow: 0 4px 12px rgba(11, 31, 53, 0.04);
	}

	.single-article--v2 .entry-content--v2 .table-scroll tr:last-child,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll tr:last-child {
		margin-bottom: 0;
	}

	.single-article--v2 .entry-content--v2 .table-scroll td,
	.single-article--v2 .entry-content--v2 .table-scroll th,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll td,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll th {
		display: grid;
		grid-template-columns: minmax(6.5rem, 38%) minmax(0, 1fr);
		gap: 0.65rem;
		align-items: start;
		padding: 0.78rem 0.9rem;
		border: 0;
		border-bottom: 1px solid var(--border);
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.single-article--v2 .entry-content--v2 .table-scroll td:last-child,
	.single-article--v2 .entry-content--v2 .table-scroll th:last-child,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll td:last-child,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll th:last-child {
		border-bottom: 0;
	}

	.single-article--v2 .entry-content--v2 .table-scroll td::before,
	.single-article--v2 .entry-content--v2 .table-scroll th::before,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll td::before,
	.single-article--v2 .entry-content--v2 .table-responsive.table-scroll th::before {
		content: attr(data-label);
		font-family: var(--font-heading);
		font-size: 0.68rem;
		font-weight: 800;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		line-height: 1.35;
		color: var(--text-muted);
	}

	.article-shell--v2 .hero-media--v2 .pdpn-figure {
		margin-left: 0;
		margin-right: 0;
		border-radius: var(--radius);
	}

	.article-shell--v2 .hero-media--v2 img {
		display: block;
		max-width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	#pdpn-article-progress,
	.single-article--v2 .article-v2-mobile-toc__chevron {
		transition: none;
	}
}
