:root {
	--pil-ink: #202a33;
	--pil-muted: #697580;
	--pil-subtle: #8a949d;
	--pil-paper: #f5f6f7;
	--pil-surface: #ffffff;
	--pil-tint: #eef1f3;
	--pil-line: #dce1e5;
	--pil-line-strong: #c8d0d6;
	--pil-accent: #344f68;
	--pil-accent-dark: #253b4f;
	--pil-radius: 8px;
}

html { scroll-behavior: smooth; }
body.zmt-pil-shell { margin: 0; background: var(--pil-paper); color: var(--pil-ink); }
.zmt-pil {
	min-height: 60vh;
	background: var(--pil-paper);
	color: var(--pil-ink);
	font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
	font-size: 14px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.zmt-pil * { box-sizing: border-box; }
.zmt-pil a { color: inherit; text-decoration: none; }
.zmt-pil img { display: block; max-width: 100%; }
.zmt-pil-container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.zmt-pil a:focus-visible,
.zmt-pil button:focus-visible,
.zmt-pil input:focus-visible,
.zmt-pil select:focus-visible { outline: 2px solid #587893; outline-offset: 2px; }

.zmt-pil-library-head { padding: 34px 0 28px; border-bottom: 1px solid var(--pil-line); background: var(--pil-surface); }
.zmt-pil-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; color: var(--pil-subtle); font-size: 12px; }
.zmt-pil-breadcrumbs a { color: #4c6478; }
.zmt-pil-breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.zmt-pil-breadcrumbs span[aria-current="page"] { color: var(--pil-muted); }
.zmt-pil-library-head__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(350px, 430px); align-items: end; gap: 64px; }
.zmt-pil-library-intro { min-width: 0; }
.zmt-pil-kicker { display: block; color: #607486; font-size: 10px; font-weight: 700; letter-spacing: .13em; line-height: 1.4; text-transform: uppercase; }
.zmt-pil-library-intro h1 { margin: 9px 0 12px; color: #18242e; font-size: clamp(30px, 4vw, 40px); font-weight: 650; letter-spacing: -.025em; line-height: 1.22; }
.zmt-pil-library-intro > p { max-width: 720px; margin: 0; color: #53616d; font-size: 15px; line-height: 1.8; text-wrap: pretty; }
.zmt-pil-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; overflow: hidden; border: 1px solid var(--pil-line); border-radius: var(--pil-radius); background: #f8f9fa; }
.zmt-pil-metrics--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.zmt-pil-metrics > div { min-width: 0; padding: 16px 17px; border-left: 1px solid var(--pil-line); }
.zmt-pil-metrics > div:first-child { border-left: 0; }
.zmt-pil-metrics dt { margin: 0 0 6px; color: var(--pil-subtle); font-size: 10px; font-weight: 650; letter-spacing: .06em; }
.zmt-pil-metrics dd { margin: 0; color: #263746; font-size: 18px; font-weight: 650; line-height: 1.35; font-variant-numeric: tabular-nums; white-space: nowrap; }
.zmt-pil-method-note { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; margin-top: 25px; padding: 11px 14px; border-left: 3px solid #6b8295; background: #f4f6f8; color: #5f6b75; font-size: 12px; line-height: 1.7; }
.zmt-pil-method-note strong { color: #33495c; font-weight: 650; }

.zmt-pil-search-panel { margin-top: 28px; padding: 22px 22px 20px; border: 1px solid var(--pil-line); border-radius: var(--pil-radius); background: var(--pil-surface); }
.zmt-pil-panel-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.zmt-pil-panel-head h2,
.zmt-pil-section__head h2 { margin: 5px 0 0; color: #24323e; font-size: 20px; font-weight: 650; letter-spacing: -.015em; line-height: 1.35; }
.zmt-pil-panel-head p,
.zmt-pil-section__head > p { max-width: 470px; margin: 0; color: var(--pil-muted); font-size: 12px; line-height: 1.65; text-align: right; }
.zmt-pil-filters { display: grid; grid-template-columns: minmax(240px, 1.6fr) repeat(3, minmax(125px, .62fr)) auto; gap: 9px; margin: 0; }
.zmt-pil-search { position: relative; min-width: 0; }
.zmt-pil-search svg { position: absolute; left: 13px; top: 50%; width: 17px; transform: translateY(-50%); fill: none; stroke: #70808e; stroke-width: 1.8; pointer-events: none; }
.zmt-pil-filters input,
.zmt-pil-filters select,
.zmt-pil-filters button { width: 100%; min-height: 42px; border: 1px solid var(--pil-line-strong); border-radius: 5px; background: #fff; color: var(--pil-ink); font: inherit; font-size: 13px; }
.zmt-pil-filters input { padding: 0 12px 0 39px; }
.zmt-pil-filters input::placeholder { color: #949da5; }
.zmt-pil-filters select { padding-inline: 11px 30px; }
.zmt-pil-filters button { width: auto; min-width: 78px; padding-inline: 18px; border-color: var(--pil-accent); background: var(--pil-accent); color: #fff; cursor: pointer; font-weight: 650; transition: background-color .16s ease, border-color .16s ease; }
.zmt-pil-filters button:hover { border-color: var(--pil-accent-dark); background: var(--pil-accent-dark); }

.zmt-pil-section { padding-block: 42px; }
.zmt-pil-section--tint { border-block: 1px solid var(--pil-line); background: var(--pil-tint); }
.zmt-pil-section__head { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 19px; }
.zmt-pil-section__head--filters { padding-bottom: 13px; border-bottom: 1px solid var(--pil-line); }
.zmt-pil-result-count { color: var(--pil-muted); font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }

.zmt-pil-industries { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.zmt-pil-industry-card { position: relative; display: grid; grid-template-columns: 40px minmax(0, 1fr) 18px; align-items: center; gap: 10px; min-height: 82px; padding: 14px 14px 14px 16px; border: 1px solid var(--pil-line); border-radius: 6px; background: var(--pil-surface); box-shadow: inset 3px 0 var(--sector); transition: border-color .16s ease, background-color .16s ease; }
.zmt-pil-industry-card:hover { border-color: #9daab4; background: #f9fafb; }
.zmt-pil-industry-card__code { color: #7c8790; font: 650 10px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .05em; }
.zmt-pil-industry-card__info { min-width: 0; }
.zmt-pil-industry-card strong { display: block; color: #26343f; font-size: 14px; font-weight: 650; line-height: 1.4; }
.zmt-pil-industry-card small { display: block; margin-top: 4px; overflow: hidden; color: var(--pil-subtle); font-size: 10px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.zmt-pil-industry-card i { color: #8a959e; font-size: 15px; font-style: normal; text-align: right; }

.zmt-pil-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.zmt-pil-card { display: grid; grid-template-columns: 118px minmax(0, 1fr); min-height: 166px; overflow: hidden; border: 1px solid var(--pil-line); border-radius: var(--pil-radius); background: var(--pil-surface); transition: border-color .16s ease, box-shadow .16s ease; }
.zmt-pil-card:hover { border-color: #aeb8c0; box-shadow: 0 5px 16px rgba(31,45,56,.06); }
.zmt-pil-card__media { position: relative; display: grid; place-items: center; min-height: 100%; overflow: hidden; border-right: 1px solid var(--pil-line); background: #edf1f3; }
.zmt-pil-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .22s ease; }
.zmt-pil-card:hover .zmt-pil-card__media img { transform: scale(1.015); }
.zmt-pil-card__media > span { color: var(--sector); font-size: 34px; font-weight: 650; }
.zmt-pil-card__media > small { position: absolute; right: 9px; bottom: 8px; color: #697781; font: 650 9px/1 ui-monospace, monospace; letter-spacing: .06em; }
.zmt-pil-card__body { display: flex; min-width: 0; flex-direction: column; padding: 15px 17px 13px; }
.zmt-pil-card__meta { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; color: var(--pil-subtle); font-size: 10px; }
.zmt-pil-card__meta a { color: #49647a; font-weight: 650; }
.zmt-pil-card__meta span::before { content: "·"; margin-right: 7px; }
.zmt-pil-card h3 { margin: 0; color: #25333f; font-size: 16px; font-weight: 650; line-height: 1.5; letter-spacing: -.01em; }
.zmt-pil-card h3 a:hover { color: #355a78; text-decoration: underline; text-underline-offset: 3px; }
.zmt-pil-card__body > p { margin: 7px 0 12px; overflow: hidden; color: #626f79; font-size: 12px; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-wrap: pretty; }
.zmt-pil-card__foot { display: flex; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 9px; border-top: 1px solid #edf0f2; color: var(--pil-subtle); font-size: 10px; }
.zmt-pil-card__foot strong { color: #45545f; font-weight: 600; }
.zmt-pil-card__foot span { color: #607486; }

.zmt-pil-pagination { display: flex; justify-content: center; gap: 5px; margin-top: 26px; }
.zmt-pil-pagination .page-numbers { display: grid; place-items: center; min-width: 36px; height: 36px; padding: 0 9px; border: 1px solid var(--pil-line); border-radius: 4px; background: #fff; color: var(--pil-muted); font-size: 12px; }
.zmt-pil-pagination .page-numbers:hover,
.zmt-pil-pagination .current { border-color: var(--pil-accent); background: var(--pil-accent); color: #fff; }
.zmt-pil-empty { padding: 48px 24px; border: 1px solid var(--pil-line); border-radius: var(--pil-radius); background: var(--pil-surface); text-align: center; }
.zmt-pil-empty h3 { margin: 0 0 7px; color: #35434e; font-size: 16px; font-weight: 650; }
.zmt-pil-empty p { margin: 0; color: var(--pil-muted); font-size: 12px; }

.zmt-pil-industry-head { border-top: 3px solid var(--sector); }
.zmt-pil-previewbar { position: sticky; z-index: 100; top: 0; padding: 9px 20px; border-bottom: 1px solid #8e7045; background: #fff6dd; color: #6f5227; font: 650 12px/1.4 Inter, sans-serif; text-align: center; }
.zmt-pil-case-hero { padding: 30px 0 34px; border-bottom: 1px solid var(--pil-line); background: var(--pil-surface); }
.zmt-pil-case-hero .zmt-pil-breadcrumbs { margin-bottom: 22px; }
.zmt-pil-case-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 220px; align-items: start; gap: 52px; }
.zmt-pil-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 13px; }
.zmt-pil-badges span { padding: 4px 7px; border: 1px solid var(--pil-line); border-radius: 4px; background: #f7f8f9; color: #556a7b; font-size: 10px; font-weight: 600; }
.zmt-pil-case-hero h1 { max-width: 820px; margin: 0; color: #1f2b35; font-size: clamp(30px, 4.2vw, 44px); font-weight: 650; letter-spacing: -.025em; line-height: 1.28; text-wrap: balance; }
.zmt-pil-case-summary { max-width: 800px; margin: 15px 0 0; color: #596772; font-size: 15px; line-height: 1.8; text-wrap: pretty; }
.zmt-pil-report-meta { display: flex; flex-wrap: wrap; gap: 14px 34px; margin: 23px 0 0; padding-top: 16px; border-top: 1px solid var(--pil-line); }
.zmt-pil-report-meta div { display: grid; grid-template-columns: auto auto; gap: 8px; }
.zmt-pil-report-meta dt { color: var(--pil-subtle); font-size: 11px; }
.zmt-pil-report-meta dd { margin: 0; color: #3d4c58; font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.zmt-pil-case-cover,
.zmt-pil-case-monogram { overflow: hidden; margin: 0; border: 1px solid var(--pil-line-strong); border-radius: 6px; background: #edf1f3; box-shadow: 0 4px 14px rgba(30,43,54,.07); }
.zmt-pil-case-cover { aspect-ratio: 4 / 5; }
.zmt-pil-case-cover img { width: 100%; height: 100%; object-fit: cover; }
.zmt-pil-case-monogram { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 5; }
.zmt-pil-case-monogram span { color: var(--sector); font-size: 64px; font-weight: 600; }
.zmt-pil-case-monogram small { position: absolute; right: 13px; bottom: 12px; color: #66747f; font: 650 10px/1 ui-monospace, monospace; letter-spacing: .08em; }

.zmt-pil-case-layout { display: grid; grid-template-columns: 220px minmax(0, 780px); justify-content: center; align-items: start; gap: 36px; padding-block: 38px 64px; }
.zmt-pil-toc { position: sticky; top: 82px; padding: 16px; border: 1px solid var(--pil-line); border-radius: var(--pil-radius); background: var(--pil-surface); }
.zmt-pil-toc > strong { display: block; margin-bottom: 11px; color: #354652; font-size: 11px; font-weight: 650; letter-spacing: .06em; }
.zmt-pil-toc nav { display: grid; }
.zmt-pil-toc a { display: grid; grid-template-columns: 24px 1fr; gap: 7px; margin-left: -16px; padding: 7px 5px 7px 14px; border-left: 2px solid transparent; color: #697681; font-size: 11px; line-height: 1.45; }
.zmt-pil-toc a span { color: #9aa3aa; font: 9px/1.8 ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.zmt-pil-toc a:hover,
.zmt-pil-toc a.is-active { border-left-color: var(--sector); color: #314d64; background: #f6f8f9; }
.zmt-pil-article { padding: 34px 38px 42px; border: 1px solid var(--pil-line); border-radius: var(--pil-radius); background: var(--pil-surface); }
.zmt-pil-takeaways { margin-bottom: 44px; padding: 22px 24px; border: 1px solid var(--pil-line); border-left: 3px solid var(--sector); border-radius: 5px; background: #f6f8f9; }
.zmt-pil-takeaways h2 { margin: 5px 0 17px; color: #2e3c47; font-size: 20px; font-weight: 650; letter-spacing: -.015em; }
.zmt-pil-takeaways ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: takeaway; }
.zmt-pil-takeaways li { display: grid; grid-template-columns: 25px 1fr; gap: 9px; color: #4e5d68; font-size: 13px; line-height: 1.7; counter-increment: takeaway; }
.zmt-pil-takeaways li::before { content: counter(takeaway); display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #cbd3d9; border-radius: 50%; background: #fff; color: #526a7d; font: 650 9px/1 ui-monospace, monospace; }
.zmt-pil-prose { scroll-margin-top: 90px; margin-bottom: 48px; }
.zmt-pil-prose > h2,
.zmt-pil-sources h2 { margin: 0 0 18px; padding-bottom: 10px; border-bottom: 1px solid var(--pil-line); color: #283640; font-size: 24px; font-weight: 650; letter-spacing: -.018em; line-height: 1.35; }
.zmt-pil-prose h3 { margin: 28px 0 10px; color: #34444f; font-size: 17px; font-weight: 650; }
.zmt-pil-prose p,
.zmt-pil-prose li,
.zmt-pil-sources li { color: #45535e; font-family: "Noto Serif SC", "Songti SC", Georgia, serif; font-size: 16px; line-height: 1.9; text-wrap: pretty; }
.zmt-pil-prose ul,
.zmt-pil-prose ol { padding-left: 1.35em; }
.zmt-pil-prose li { margin-bottom: 7px; }
.zmt-pil-prose blockquote { margin: 23px 0; padding: 14px 17px; border-left: 3px solid var(--sector); background: #f3f5f6; color: #4a5964; font-family: "Noto Serif SC", "Songti SC", Georgia, serif; font-size: 15px; line-height: 1.8; }
.zmt-pil-prose code { padding: 2px 5px; border: 1px solid #dde2e6; border-radius: 3px; background: #f4f6f7; font: .84em/1.4 ui-monospace, monospace; }
.zmt-pil-preview-copy { position: relative; max-height: 470px; overflow: hidden; }
.zmt-pil-preview-copy::after { content: ""; position: absolute; inset: auto 0 0; height: 120px; background: linear-gradient(transparent, #fff); }
.zmt-pil-sources { margin-top: 55px; padding-top: 27px; border-top: 2px solid var(--pil-line-strong); }
.zmt-pil-sources ul { padding-left: 18px; }
.zmt-pil-sources p { margin-top: 20px; color: var(--pil-muted); font-size: 11px; line-height: 1.7; }

.zmt-pil-gate { margin-top: 16px; padding: 27px 28px; border: 1px solid var(--pil-line-strong); border-radius: var(--pil-radius); background: #f3f5f6; color: var(--pil-ink); text-align: left; }
.zmt-pil-gate h2 { margin: 6px 0 9px; color: #2d3c48; font-size: 19px; font-weight: 650; }
.zmt-pil-gate > p { max-width: 680px; margin: 0 0 19px; color: #64717b; font-size: 12px; line-height: 1.7; }
.zmt-pil-gate > div:last-child { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.zmt-pil-button { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid var(--pil-accent); border-radius: 5px; background: var(--pil-accent); color: #fff !important; font-size: 12px; font-weight: 650; transition: background-color .16s ease, border-color .16s ease; }
.zmt-pil-button:hover { border-color: var(--pil-accent-dark); background: var(--pil-accent-dark); }
.zmt-pil-textlink { min-height: 40px; display: inline-flex; align-items: center; color: #48677f !important; font-size: 12px; }
.zmt-pil-textlink:hover { text-decoration: underline; text-underline-offset: 3px; }

.zmt-pil-not-found { min-height: 55vh; display: grid; place-items: center; align-content: center; text-align: center; }
.zmt-pil-not-found > span { color: #71808c; font: 650 11px/1 ui-monospace, monospace; letter-spacing: .16em; }
.zmt-pil-not-found h1 { margin: 13px 0 7px; color: #2e3d48; font-size: 26px; font-weight: 650; }
.zmt-pil-not-found p { margin: 0 0 21px; color: var(--pil-muted); font-size: 13px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 980px) {
	.zmt-pil-library-head__grid { grid-template-columns: 1fr; gap: 24px; }
	.zmt-pil-metrics { max-width: 620px; }
	.zmt-pil-filters { grid-template-columns: 1fr 1fr; }
	.zmt-pil-filters .zmt-pil-search { grid-column: 1 / -1; }
	.zmt-pil-industries { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.zmt-pil-case-hero__grid { grid-template-columns: minmax(0, 1fr) 190px; gap: 34px; }
	.zmt-pil-case-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 24px; }
	.zmt-pil-article { padding: 30px; }
}

@media (max-width: 760px) {
	.zmt-pil-container { width: min(100% - 28px, 1160px); }
	.zmt-pil-library-head { padding: 26px 0 22px; }
	.zmt-pil-breadcrumbs { margin-bottom: 18px; }
	.zmt-pil-library-intro h1 { font-size: 29px; }
	.zmt-pil-library-intro > p { font-size: 14px; }
	.zmt-pil-method-note { grid-template-columns: 1fr; gap: 3px; }
	.zmt-pil-search-panel { margin-top: 18px; padding: 17px; }
	.zmt-pil-panel-head,
	.zmt-pil-section__head { display: block; }
	.zmt-pil-panel-head p,
	.zmt-pil-section__head > p { margin-top: 6px; text-align: left; }
	.zmt-pil-section { padding-block: 32px; }
	.zmt-pil-industries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zmt-pil-cards { grid-template-columns: 1fr; }
	.zmt-pil-case-hero { padding-block: 23px 28px; }
	.zmt-pil-case-hero__grid { grid-template-columns: minmax(0, 1fr) 150px; gap: 22px; }
	.zmt-pil-case-hero h1 { font-size: 29px; }
	.zmt-pil-case-summary { font-size: 14px; }
	.zmt-pil-report-meta { gap: 10px 20px; }
	.zmt-pil-case-layout { display: block; padding-block: 28px 48px; }
	.zmt-pil-toc { display: none; }
	.zmt-pil-article { padding: 24px 22px 30px; }
	.zmt-pil-prose p,
	.zmt-pil-prose li { font-size: 15.5px; }
}

@media (max-width: 520px) {
	.zmt-pil-metrics { grid-template-columns: 1fr; }
	.zmt-pil-metrics > div { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px; padding: 11px 13px; border-top: 1px solid var(--pil-line); border-left: 0; }
	.zmt-pil-metrics > div:first-child { border-top: 0; }
	.zmt-pil-metrics dt { margin: 0; }
	.zmt-pil-metrics dd { font-size: 15px; }
	.zmt-pil-filters { grid-template-columns: 1fr; }
	.zmt-pil-filters .zmt-pil-search { grid-column: auto; }
	.zmt-pil-filters button { width: 100%; }
	.zmt-pil-industries { grid-template-columns: 1fr; }
	.zmt-pil-industry-card { min-height: 72px; }
	.zmt-pil-card { grid-template-columns: 94px minmax(0, 1fr); min-height: 154px; }
	.zmt-pil-case-hero__grid { grid-template-columns: 1fr; }
	.zmt-pil-case-cover,
	.zmt-pil-case-monogram { display: none; }
	.zmt-pil-report-meta { display: grid; gap: 7px; }
	.zmt-pil-article { padding: 20px 16px 26px; }
	.zmt-pil-takeaways { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.zmt-pil * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
