.dmfit-threads {
	--thread-ink: #173247;
	--thread-blue: #075b9b;
	--thread-line: #d6e0e8;
	max-width: 1100px;
	margin: 2rem auto;
	padding: clamp(1.25rem, 3vw, 2.5rem);
	border: 1px solid var(--thread-line);
	border-radius: 14px;
	background: #fff;
	color: var(--thread-ink);
	font-size: 1rem;
	line-height: 1.6;
	box-shadow: 0 14px 38px rgba(18, 50, 72, .07);
}
.dmfit-threads * { box-sizing: border-box; }
.dmfit-threads__intro { max-width: 780px; margin-bottom: 1.5rem; }
.dmfit-threads__eyebrow { margin: 0 0 .35rem; color: var(--thread-blue); font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.dmfit-threads__intro h2 { margin: .15rem 0 .6rem; color: var(--thread-ink); font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: 1.15; }
.dmfit-threads__intro p:last-child { margin-bottom: 0; }
.dmfit-threads__callout { display: grid; gap: .25rem; margin: 1.5rem 0 2rem; padding: 1rem 1.2rem; border-left: 4px solid var(--thread-blue); border-radius: 4px; background: #eef6fb; }
.dmfit-threads__section { margin: 2rem 0; }
.dmfit-threads__section h3 { margin: 0 0 .7rem; color: var(--thread-ink); font-size: 1.35rem; line-height: 1.25; }
.dmfit-threads__section h4 { margin: 0 0 .4rem; color: var(--thread-ink); font-size: 1.05rem; }
.dmfit-threads__section > p { margin: .5rem 0 1rem; }
.dmfit-threads__table-wrap { overflow-x: auto; margin: 1rem 0; border: 1px solid var(--thread-line); border-radius: 8px; }
.dmfit-threads table { width: 100%; min-width: 600px; border-collapse: collapse; background: #fff; }
.dmfit-threads caption { padding: .75rem 1rem; color: var(--thread-ink); font-weight: 700; text-align: left; background: #f3f7fa; }
.dmfit-threads th, .dmfit-threads td { padding: .68rem .85rem; border-top: 1px solid var(--thread-line); text-align: left; vertical-align: top; }
.dmfit-threads th { background: #f8fafc; color: #173247; font-size: .9rem; }
.dmfit-threads tbody tr:nth-child(even) { background: #fbfcfd; }
.dmfit-threads__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.dmfit-threads__cards article, .dmfit-threads__measure-grid article { padding: 1rem; border: 1px solid var(--thread-line); border-radius: 9px; background: #f8fafc; }
.dmfit-threads__diagram { display: block; width: 100%; height: auto; margin: .65rem 0 .8rem; }
.dmfit-threads__diagram-bg { fill: #eef4f8; stroke: #d6e0e8; }
.dmfit-threads__axis { fill: none; stroke: #9aabb6; stroke-width: 1; stroke-dasharray: 4 4; }
.dmfit-threads__profile { fill: none; stroke: #075b9b; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.dmfit-threads__dimension { fill: none; stroke: #657d8d; stroke-width: 1.5; stroke-linecap: round; }
.dmfit-threads__diagram-label { fill: #173247; font-family: inherit; font-size: 10px; font-weight: 600; }
.dmfit-threads__cards p { margin: 0; }
.dmfit-threads__measure-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.dmfit-threads__measure-grid ol { margin: .6rem 0 0; padding-left: 1.25rem; }
.dmfit-threads__measure-grid li { padding: .18rem 0 .18rem .15rem; }
.dmfit-threads__note { color: #526a7b; font-size: .9rem; }
.dmfit-threads__warning { margin: 2rem 0; padding: 1rem 1.2rem; border: 1px solid #edc58c; border-radius: 8px; background: #fff7eb; color: #543400; }
.dmfit-threads__warning strong { display: block; margin-bottom: .2rem; }
.dmfit-threads__sources { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--thread-line); font-size: .9rem; }
.dmfit-threads__sources ul { margin: .5rem 0; padding-left: 1.2rem; }
.dmfit-threads__sources a { color: var(--thread-blue); text-decoration: underline; text-underline-offset: 2px; }
.dmfit-threads__sources p { margin: .7rem 0 0; color: #526a7b; }
@media (max-width: 700px) {
	.dmfit-threads { margin: 1rem auto; padding: 1.1rem; border-radius: 9px; }
	.dmfit-threads__cards, .dmfit-threads__measure-grid { grid-template-columns: 1fr; }
}
