/* Chinese identity-authentication page. Header, footer and SEO remain shared;
 * every visible selector below belongs to the exact post-1116 owner. */
.yuqi-hpc-hybrid.identity-platform-cn {
	--idp-bg: #03060b;
	--idp-bg-soft: #07111e;
	--idp-bg-deep: #050b14;
	--idp-surface: #0b1727;
	--idp-surface-2: #0e1d30;
	--idp-text: #eff5f8;
	--idp-muted: #a7bac9;
	--idp-faint: #6f8599;
	--idp-line: rgba(154, 184, 207, .16);
	--idp-line-strong: rgba(154, 184, 207, .34);
	--idp-accent: #66d3e5;
	--idp-accent-soft: rgba(102, 211, 229, .13);
	--idp-amber: #e7a15a;
	--idp-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--idp-sans: "PingFang SC", "Hiragino Sans GB", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", -apple-system, "Segoe UI", sans-serif;
	background: var(--idp-bg);
	color: var(--idp-text);
	font-family: var(--idp-sans);
	font-size: 16px;
	line-height: 1.7;
	overflow: hidden;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.identity-platform-cn *,
.identity-platform-cn *::before,
.identity-platform-cn *::after { box-sizing: border-box; }
.identity-platform-cn :where(h1, h2, h3, p, figure, ul, ol) { margin: 0; }
.identity-platform-cn :where(ul, ol) { padding: 0; }
.identity-platform-cn img { display: block; max-width: 100%; }
.identity-platform-cn a { color: inherit; text-decoration: none; }
.identity-platform-cn :focus-visible { outline: 2px solid #b9f1f6; outline-offset: 4px; border-radius: 2px; }
.identity-platform-cn ::selection { color: #fff; background: rgba(102, 211, 229, .3); }
.idp-shell { width: min(1280px, calc(100% - 160px)); margin-inline: auto; }
.idp-section { padding: 64px 0; }
.idp-section:nth-child(even) { background: var(--idp-bg-soft); }
.idp-section-head { max-width: 800px; }
.idp-section-head--wide { max-width: 960px; }
.idp-section-head--split { display: grid; grid-template-columns: minmax(0, .96fr) minmax(320px, 1.04fr); align-items: start; gap: 68px; max-width: none; }
.idp-section-head--split > p:last-child { margin-top: 0; padding-left: 24px; border-left: 1px solid var(--idp-line-strong); }
.idp-eyebrow { display: flex; align-items: center; gap: 11px; color: var(--idp-accent); font: 11px/1.6 var(--idp-mono); letter-spacing: .14em; text-transform: uppercase; }
.idp-eyebrow > span:first-child:not(.idp-eyebrow__no) { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--idp-accent); box-shadow: 0 0 0 5px rgba(102, 211, 229, .12); }
.idp-eyebrow__no { margin-right: 1px; color: #8faabd; }
.idp-section-head h2,
.idp-handover-copy h2,
.idp-cta h2 { margin-top: 20px; color: var(--idp-text); font-size: clamp(34px, 4vw, 54px); font-weight: 650; letter-spacing: -.045em; line-height: 1.16; }
.idp-section-head > p:last-child { margin-top: 22px; color: var(--idp-muted); font-size: 17px; line-height: 1.86; }
.identity-platform-cn :where(.idp-problem__body a, .idp-handover-copy a, .idp-cta a:not(.idp-button)) { color: var(--idp-accent); text-decoration: underline; text-decoration-color: rgba(102, 211, 229, .45); text-underline-offset: 4px; }

/* Hero: the photo is a neutral office-work scene, with text fixed low-left on
 * desktop and a natural document height on small screens. */
.idp-hero { position: relative; min-height: max(640px, calc(100svh - var(--f-header-height, 72px))); isolation: isolate; overflow: hidden; background: var(--idp-bg); }
.idp-hero__media,
.idp-hero__scrim { position: absolute; inset: 0; pointer-events: none; }
.idp-hero__media { z-index: -4; }
.idp-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 68% 50%; filter: brightness(.48) saturate(.74) contrast(1.08); }
.idp-hero__scrim { z-index: -3; background: linear-gradient(90deg, rgba(3, 6, 11, .99) 3%, rgba(3, 6, 11, .92) 32%, rgba(3, 6, 11, .48) 66%, rgba(3, 6, 11, .24)), linear-gradient(0deg, rgba(3, 6, 11, .98), transparent 70%); }
.idp-hero__inner { position: relative; z-index: 1; min-height: inherit; display: flex; align-items: flex-end; justify-content: space-between; gap: 58px; padding: 150px 0 58px; }
.idp-hero__copy { max-width: 800px; }
.idp-hero__copy .idp-eyebrow { margin-bottom: 26px; }
.idp-hero h1 { color: #f6fafc; font-size: clamp(52px, 6vw, 88px); font-weight: 700; letter-spacing: -.06em; line-height: 1.04; text-shadow: 0 4px 44px rgba(0, 0, 0, .44); }
.idp-hero__lead { max-width: 780px; margin-top: 28px !important; color: #c4d4df; font-size: 20px; line-height: 1.84; }
.idp-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.idp-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 21px; border: 1px solid transparent; border-radius: 6px; font-size: 14px; font-weight: 700; line-height: 1.3; transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease; }
.idp-button--primary { background: #6bc5d2; color: #08212b !important; box-shadow: 0 10px 28px rgba(102, 211, 229, .2); }
.idp-button--primary:hover,
.idp-button--primary:focus-visible { background: #8bdce5; transform: translateY(-2px); }
.idp-button--quiet { border-color: rgba(233, 239, 247, .34); color: #eef5fb; }
.idp-button--quiet:hover,
.idp-button--quiet:focus-visible { border-color: var(--idp-accent); color: var(--idp-accent); }
.idp-hero__meta { margin-top: 20px !important; color: #a2b9c8; font: 11px/1.7 var(--idp-mono); letter-spacing: .12em; }
.idp-hero__caption { width: min(310px, 25vw); flex: 0 0 auto; padding-top: 15px; border-top: 1px solid rgba(154, 184, 207, .46); }
.idp-hero__caption figcaption { color: #abc0ce; font: 11px/1.9 var(--idp-mono); letter-spacing: .08em; }

/* Problem statement */
.idp-problem { background: var(--idp-bg); }
.idp-problem__grid { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); align-items: start; gap: 84px; }
.idp-problem__copy { max-width: 680px; }
.idp-problem__lead { color: #d9e5ec; font-size: 22px; font-weight: 500; line-height: 1.78; }
.idp-problem__body { margin-top: 21px !important; color: var(--idp-muted); font-size: 16px; line-height: 1.9; }
.idp-problem__points { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 72px; border-top: 1px solid var(--idp-line); }
.idp-problem__points > article { min-height: 210px; padding: 24px 24px 20px 0; border-bottom: 1px solid var(--idp-line); }
.idp-problem__points > article + article { padding-left: 24px; border-left: 1px solid var(--idp-line); }
.idp-problem__points > article > span { color: var(--idp-accent); font: 11px/1 var(--idp-mono); letter-spacing: .12em; }
.idp-problem__points h3 { margin-top: 42px; color: var(--idp-text); font-size: 21px; font-weight: 600; line-height: 1.35; }
.idp-problem__points p { margin-top: 12px !important; color: var(--idp-muted); font-size: 15px; line-height: 1.82; }

/* Parallel identity architecture */
.idp-architecture { background: var(--idp-bg-deep) !important; }
.idp-flow { margin-top: 48px; padding: 20px; border: 1px solid var(--idp-line); background: rgba(6, 16, 29, .84); }
.idp-flow__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 17px; border-bottom: 1px solid var(--idp-line); }
.idp-flow__toolbar p { display: flex; align-items: center; gap: 10px; color: var(--idp-muted); font: 12px/1.6 var(--idp-mono); letter-spacing: .05em; }
.idp-flow__toolbar p span { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--idp-accent); box-shadow: 0 0 0 5px rgba(102, 211, 229, .12); }
.idp-flow__toolbar button { min-height: 34px; padding: 7px 12px; border: 1px solid rgba(102, 211, 229, .46); border-radius: 5px; background: transparent; color: var(--idp-text); font: 12px/1.4 var(--idp-sans); cursor: pointer; }
.idp-flow__toolbar button:hover,
.idp-flow__toolbar button:focus-visible { border-color: var(--idp-accent); color: var(--idp-accent); }
.idp-flow__graphic { position: relative; min-height: 590px; margin-top: 25px; padding: 28px 20px 20px; overflow: hidden; }
.idp-flow__lines { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.idp-flow__lines path { fill: none; stroke: var(--idp-accent); stroke-width: 1.8; stroke-dasharray: 4 7; stroke-dashoffset: 0; opacity: .72; }
.idp-flow__lines path[data-idp-path="policy-log"] { stroke: var(--idp-amber); stroke-dasharray: 3 7; opacity: .7; }
.idp-flow__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(180px, .82fr) minmax(300px, 1.45fr) minmax(190px, .9fr) minmax(180px, .85fr); align-items: start; gap: 28px; min-height: 500px; }
.idp-flow__column { min-width: 0; display: grid; align-content: start; gap: 18px; }
.idp-flow__column--decision { padding-top: 120px; }
.idp-flow__column--outputs { padding-top: 100px; }
.idp-flow__group { position: relative; display: grid; align-content: start; gap: 18px; min-width: 0; padding: 16px; border: 1px solid rgba(154, 184, 207, .28); background: rgba(7, 18, 31, .7); }
.idp-flow__group--source,
.idp-flow__group--entries { min-height: 332px; }
.idp-flow__group--decision { min-height: 214px; border-color: rgba(102, 211, 229, .38); }
.idp-flow__group--outputs { min-height: 258px; border-color: rgba(231, 161, 90, .28); }
.idp-flow__entry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.idp-flow__outputs-grid { display: grid; align-content: start; gap: 16px; }
.idp-flow__column-label { color: var(--idp-faint); font: 10px/1.4 var(--idp-mono); letter-spacing: .15em; }
.idp-flow__node { position: relative; border: 1px solid var(--idp-line-strong); background: rgba(11, 23, 39, .95); box-shadow: 0 14px 30px rgba(0, 0, 0, .2); }
.idp-flow__node--source,
.idp-flow__node--lifecycle { min-height: 128px; padding: 18px 17px; }
.idp-flow__node--entry { min-height: 116px; padding: 17px 15px; }
.idp-flow__node--decision { min-height: 164px; padding: 21px 18px; border-color: rgba(102, 211, 229, .5); background: rgba(10, 29, 43, .96); }
.idp-flow__node--output { min-height: 135px; padding: 19px 17px; border-color: rgba(231, 161, 90, .38); }
.idp-flow__node span { display: block; color: var(--idp-accent); font: 10px/1 var(--idp-mono); letter-spacing: .1em; }
.idp-flow__node strong { display: block; margin-top: 17px; color: var(--idp-text); font-size: 17px; font-weight: 650; line-height: 1.38; }
.idp-flow__node small { display: block; margin-top: 7px; color: var(--idp-muted); font-size: 12px; line-height: 1.55; }
.idp-flow__node--lifecycle span,
.idp-flow__node--output span { color: var(--idp-amber); }
.idp-flow__footer { position: relative; z-index: 1; display: flex; justify-content: center; gap: 28px; min-height: 36px; margin-top: 10px; color: var(--idp-muted); font: 11px/1.7 var(--idp-mono); }
.idp-legend-dot { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: var(--idp-accent); }
.idp-legend-dot--audit { margin-left: 12px; background: var(--idp-amber); }
.idp-flow__note { margin-top: 18px !important; color: var(--idp-muted); font-size: 14px; line-height: 1.78; }

/* Responsibility boundaries and work packages */
.idp-boundaries { background: var(--idp-bg); }
.idp-boundary-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 56px; border-top: 1px solid var(--idp-line); }
.idp-boundary { min-height: 225px; padding: 24px 24px 24px 0; border-bottom: 1px solid var(--idp-line); }
.idp-boundary + .idp-boundary { padding-left: 24px; border-left: 1px solid var(--idp-line); }
.idp-boundary__no,
.idp-service__no,
.idp-phase > span { color: var(--idp-accent); font: 11px/1 var(--idp-mono); letter-spacing: .12em; }
.idp-boundary h3 { margin-top: 38px; color: var(--idp-text); font-size: 21px; font-weight: 600; line-height: 1.4; }
.idp-boundary p { margin-top: 12px !important; color: var(--idp-muted); font-size: 15px; line-height: 1.82; }
.idp-services { background: var(--idp-bg-soft) !important; }
.idp-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 56px; border-top: 1px solid var(--idp-line); }
.idp-service { min-height: 226px; padding: 25px 24px 25px 0; border-bottom: 1px solid var(--idp-line); }
.idp-service:nth-child(3n + 2),
.idp-service:nth-child(3n + 3) { padding-left: 24px; border-left: 1px solid var(--idp-line); }
.idp-service h3 { margin-top: 37px; color: var(--idp-text); font-size: 19px; font-weight: 600; line-height: 1.4; }
.idp-service p { margin-top: 10px !important; color: var(--idp-muted); font-size: 15px; line-height: 1.82; }
.idp-delivery { background: var(--idp-bg) !important; }
.idp-phase-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 54px; border-top: 1px solid var(--idp-line); }
.idp-phase { min-height: 210px; padding: 24px 22px 20px 0; border-bottom: 1px solid var(--idp-line); }
.idp-phase + .idp-phase { padding-left: 22px; border-left: 1px solid var(--idp-line); }
.idp-phase h3 { margin-top: 35px; color: var(--idp-text); font-size: 18px; line-height: 1.4; }
.idp-phase p { margin-top: 10px !important; color: var(--idp-muted); font-size: 14px; line-height: 1.8; }
.idp-handover-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: start; gap: 78px; margin-top: 82px; }
.idp-handover-media { align-self: start; width: 100%; padding: 10px; border: 1px solid var(--idp-line); background: #07101d; }
.idp-handover-media img { width: 100%; height: auto; max-height: 420px; aspect-ratio: 16 / 10; object-fit: cover; object-position: center; }
.idp-handover-media figcaption { padding: 13px 5px 3px; color: var(--idp-muted); font-size: 13px; line-height: 1.7; }
.idp-handover-copy h2 { font-size: clamp(31px, 3.4vw, 48px); }
.idp-handover-copy > p:not(.idp-eyebrow) { margin-top: 22px !important; color: var(--idp-muted); font-size: 16px; line-height: 1.9; }
.idp-handover-copy ul { display: grid; gap: 12px; margin-top: 28px; list-style: none; }
.idp-handover-copy li { position: relative; padding-left: 21px; color: #c8d7e3; font-size: 15px; line-height: 1.7; }
.idp-handover-copy li::before { position: absolute; top: .78em; left: 0; width: 8px; height: 1px; background: var(--idp-accent); content: ""; }

/* FAQ and restrained contact close */
.idp-faq { background: var(--idp-bg-soft) !important; }
.idp-faq-list { margin-top: 40px; border-top: 1px solid var(--idp-line); }
.idp-faq-list details { border-bottom: 1px solid var(--idp-line); }
.idp-faq-list summary { position: relative; padding: 21px 42px 21px 0; color: var(--idp-text); font-size: 17px; font-weight: 600; cursor: pointer; list-style: none; }
.idp-faq-list summary::-webkit-details-marker { display: none; }
.idp-faq-list summary > span { position: absolute; top: 17px; right: 5px; color: var(--idp-accent); font: 24px/1 var(--idp-sans); }
.idp-faq-list details[open] summary > span { transform: rotate(45deg); }
.idp-faq-list details p { max-width: 900px; padding: 0 45px 22px 0; color: var(--idp-muted); font-size: 15px; line-height: 1.85; }
.idp-cta { padding: 86px 0 104px; border-top: 1px solid var(--idp-line); background: var(--idp-surface-2); }
.idp-cta__inner { display: flex; align-items: end; justify-content: space-between; gap: 52px; }
.idp-cta h2 { max-width: 780px; font-size: clamp(34px, 4vw, 56px); }
.idp-cta p:last-child { max-width: 700px; margin-top: 20px !important; color: var(--idp-muted); font-size: 16px; line-height: 1.86; }
.idp-cta__actions { display: flex; flex: 0 0 auto; align-items: center; }
.idp-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

/* Progressive enhancement: without JavaScript all copy, nodes and paths stay
 * visible. The reveal and 8.4-second path loop begin only after JS adds the
 * motion-ready class. */
.identity-platform-cn.idp-motion-ready [data-idp-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.identity-platform-cn.idp-motion-ready [data-idp-reveal].is-visible,
.identity-platform-cn.idp-motion-ready.idp-hero-visible .idp-hero [data-idp-reveal] { opacity: 1; transform: none; }
.identity-platform-cn.idp-motion-ready.idp-hero-visible .idp-hero [data-idp-reveal]:nth-child(2) { transition-delay: .08s; }
.identity-platform-cn.idp-motion-ready .idp-flow.is-looping .idp-flow__lines path { animation: idp-path-loop 8.4s ease-in-out infinite; animation-play-state: paused; }
.identity-platform-cn.idp-motion-ready .idp-flow.is-looping.is-flow-running .idp-flow__lines path { animation-play-state: running; }
.identity-platform-cn.idp-motion-ready .idp-flow.is-looping .idp-flow__lines path:nth-of-type(2n) { animation-delay: .1s; }
.identity-platform-cn.idp-motion-ready .idp-flow.is-looping .idp-flow__lines path:nth-of-type(n + 3) { animation-delay: .24s; }
@keyframes idp-path-loop {
	0%, 8% { stroke-dashoffset: 0; opacity: .56; }
	34%, 68% { stroke-dashoffset: -12; opacity: 1; }
	88%, 100% { stroke-dashoffset: 0; opacity: .56; }
}

@media (max-width: 940px) {
	.idp-shell { width: min(100% - 48px, 720px); }
	.idp-section { padding: 56px 0; }
	.idp-hero { min-height: 0; }
	.idp-hero__inner { min-height: 0; display: block; padding: 116px 0 54px; }
	.idp-hero__copy { max-width: none; }
	.idp-hero__caption { width: auto; max-width: 320px; margin: 50px 0 0 auto; }
	.idp-problem__grid,
	.idp-handover-grid { display: block; }
	.idp-problem__copy { max-width: none; margin-top: 35px; }
	.idp-problem__points { grid-template-columns: 1fr; margin-top: 48px; }
	.idp-problem__points > article,
	.idp-problem__points > article + article { min-height: 0; padding: 21px 0; border-left: 0; }
	.idp-problem__points h3 { margin-top: 24px; font-size: 19px; }
	.idp-section-head--split { display: block; }
	.idp-section-head--split > p:last-child { margin-top: 20px; padding-left: 0; padding-top: 18px; border-top: 1px solid var(--idp-line-strong); border-left: 0; }
	.idp-flow__graphic { min-height: 0; }
	.idp-flow__grid { display: block; min-height: 0; }
	.idp-flow__column { gap: 10px; }
	.idp-flow__column-label { margin-top: 10px; letter-spacing: .08em; }
	.idp-flow__group { min-height: 0; padding: 16px; }
	.idp-flow__group--source,
	.idp-flow__group--entries,
	.idp-flow__group--decision,
	.idp-flow__group--outputs { min-height: 0; }
	.idp-flow__column--entries { margin-top: 17px; }
	.idp-flow__entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.idp-flow__column--decision { padding-top: 17px; }
	.idp-flow__column--outputs { padding-top: 17px; }
	.idp-flow__outputs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.idp-flow__footer { margin-top: 18px; }
	.idp-boundary-grid { grid-template-columns: 1fr; margin-top: 40px; }
	.idp-boundary,
	.idp-boundary + .idp-boundary { min-height: 0; padding: 22px 0; border-left: 0; }
	.idp-boundary h3 { margin-top: 24px; }
	.idp-service-grid { grid-template-columns: 1fr 1fr; margin-top: 40px; }
	.idp-service,
	.idp-service:nth-child(3n + 2),
	.idp-service:nth-child(3n + 3) { min-height: 0; padding: 22px 18px 22px 0; }
	.idp-service:nth-child(2n + 2) { padding-left: 18px; border-left: 1px solid var(--idp-line); }
	.idp-service h3 { margin-top: 26px; font-size: 18px; }
	.idp-phase-grid { grid-template-columns: 1fr 1fr; margin-top: 40px; }
	.idp-phase { min-height: 0; padding: 22px 18px 22px 0; }
	.idp-phase:nth-child(2n + 2) { padding-left: 18px; border-left: 1px solid var(--idp-line); }
	.idp-phase h3 { margin-top: 26px; }
	.idp-handover-grid { margin-top: 56px; }
	.idp-handover-copy { margin-top: 38px; }
	.idp-cta__inner { display: block; }
	.idp-cta__actions { margin-top: 32px; }
}

@media (max-width: 560px) {
	.idp-shell { width: calc(100% - 32px); }
	.idp-section { padding: 44px 0; }
	.idp-hero__media img { object-position: 66% center; }
	.idp-hero__inner { padding: 92px 0 42px; }
	.idp-hero__copy .idp-eyebrow { margin-bottom: 23px; }
	.idp-hero h1 { font-size: clamp(43px, 12.5vw, 56px); letter-spacing: -.05em; }
	.idp-hero__lead { margin-top: 23px !important; font-size: 17px; line-height: 1.8; }
	.idp-actions { display: grid; gap: 10px; margin-top: 23px; }
	.idp-button { width: 100%; }
	.idp-hero__meta { margin-top: 20px !important; font-size: 10px; letter-spacing: .08em; }
	.idp-hero__caption { margin-top: 36px; }
	.idp-section-head h2,
	.idp-handover-copy h2,
	.idp-cta h2 { font-size: 32px; line-height: 1.2; }
	.idp-section-head > p:last-child,
	.idp-handover-copy > p:not(.idp-eyebrow),
	.idp-cta p:last-child { font-size: 15px; line-height: 1.82; }
	.idp-problem__lead { font-size: 19px; line-height: 1.75; }
	.idp-flow { margin-top: 32px; padding: 14px; }
	.idp-flow__toolbar { align-items: stretch; flex-direction: column; gap: 14px; }
	.idp-flow__toolbar p { font-size: 10px; }
	.idp-flow__toolbar button { width: 100%; }
	.idp-flow__graphic { padding: 18px 2px 20px; }
	.idp-flow__group { padding: 14px 12px; }
	.idp-flow__node--source,
	.idp-flow__node--lifecycle { min-height: 0; padding: 14px 12px; }
	.idp-flow__node--entry { min-height: 0; padding: 13px 10px; }
	.idp-flow__node--decision,
	.idp-flow__node--output { min-height: 0; padding: 15px 13px; }
	.idp-flow__node strong { margin-top: 12px; font-size: 14px; line-height: 1.4; }
	.idp-flow__node small { margin-top: 6px; font-size: 11px; line-height: 1.5; }
	.idp-flow__footer { display: grid; justify-content: stretch; gap: 4px; font-size: 10px; }
	.idp-flow__note { font-size: 13px; }
	.idp-service-grid,
	.idp-phase-grid { grid-template-columns: 1fr; }
	.idp-service,
	.idp-service:nth-child(2n + 2),
	.idp-service:nth-child(3n + 2),
	.idp-service:nth-child(3n + 3),
	.idp-phase,
	.idp-phase:nth-child(2n + 2) { padding: 21px 0; border-left: 0; }
	.idp-service h3,
	.idp-phase h3 { margin-top: 22px; }
	.idp-handover-media img { aspect-ratio: 4 / 3; }
	.idp-cta { padding: 60px 0 72px; }
	.idp-cta__actions { display: grid; align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
	.identity-platform-cn *,
	.identity-platform-cn *::before,
	.identity-platform-cn *::after { animation: none !important; transition: none !important; }
	.identity-platform-cn.idp-motion-ready [data-idp-reveal],
	.identity-platform-cn.idp-motion-ready.idp-hero-visible .idp-hero [data-idp-reveal] { opacity: 1; transform: none; }
	.idp-flow__lines path { stroke-dashoffset: 0; opacity: .78; }
}

.identity-platform-cn .flow-batch-diagram[data-flow-diagram] { width: 100%; margin: 32px 0 0; border-radius: 16px; overflow: hidden; }
.identity-platform-cn .flow-batch-diagram__link { display: block; border-radius: inherit; }
.identity-platform-cn .flow-batch-diagram img { display: block; width: 100%; height: auto; max-width: 100%; }
