/* S08 Chinese presentation owner. Every selector is scoped to the page root. */
.s08-automation-cn {
	--s08-bg: #03050a;
	--s08-bg-soft: #060a14;
	--s08-panel: #0a1322;
	--s08-panel-hi: #0d1a2b;
	--s08-text: #e9eff7;
	--s08-muted: #a3b6ca;
	--s08-faint: #71869b;
	--s08-accent: #69c2cf;
	--s08-accent-soft: rgba(105, 194, 207, .12);
	--s08-line: rgba(132, 164, 200, .19);
	--s08-line-strong: rgba(140, 190, 204, .43);
	width: 100%;
	background: var(--s08-bg);
	color: var(--s08-text);
	font-family: "PingFang SC", "Hiragino Sans GB", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.7;
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.s08-automation-cn *,
.s08-automation-cn *::before,
.s08-automation-cn *::after { box-sizing: border-box; }
.s08-automation-cn h1,
.s08-automation-cn h2,
.s08-automation-cn h3,
.s08-automation-cn p,
.s08-automation-cn figure,
.s08-automation-cn ol,
.s08-automation-cn ul { margin: 0; }
.s08-automation-cn ol,
.s08-automation-cn ul { padding: 0; }
.s08-automation-cn img { display: block; max-width: 100%; }
.s08-automation-cn a { color: inherit; }
.s08-automation-cn a:focus-visible,
.s08-automation-cn button:focus-visible {
	outline: 2px solid #b7f0f5;
	outline-offset: 4px;
	border-radius: 3px;
}
.s08-automation-cn [id] { scroll-margin-top: 88px; }

.s08-wrap {
	width: min(1360px, calc(100% - 80px));
	margin-inline: auto;
}
.s08-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 20px;
	color: var(--s08-accent);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.4;
}
.s08-eyebrow > span:first-child:not(.s08-eyebrow-no) {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--s08-accent);
	box-shadow: 0 0 0 5px rgba(105, 194, 207, .12);
}
.s08-eyebrow-no {
	color: var(--s08-accent);
	font-family: inherit;
}
.s08-section-head { max-width: 760px; }
.s08-section-head--wide { max-width: 830px; }
.s08-section-head--split {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
	gap: 64px;
	max-width: none;
	align-items: end;
}
.s08-section-head h2,
.s08-delivery h2,
.s08-handover h2 {
	color: var(--s08-text);
	font-size: clamp(32px, 3.2vw, 42px);
	font-weight: 600;
	letter-spacing: -.035em;
	line-height: 1.22;
}
.s08-section-head > p:last-child,
.s08-section-head--split > p,
.s08-delivery-intro,
.s08-handover-grid > div:first-child > p:last-child {
	margin-top: 24px;
	color: var(--s08-muted);
	font-size: 17px;
	line-height: 1.82;
}
.s08-section-head--split > p { margin-top: 0; }

/* Hero */
.s08-hero {
	position: relative;
	min-height: calc(100svh - var(--f-header-height, 72px));
	isolation: isolate;
	display: flex;
	background: var(--s08-bg);
	overflow: hidden;
}
.s08-hero-media,
.s08-hero-scrim {
	position: absolute;
	inset: 0;
}
.s08-hero-media { z-index: -2; }
.s08-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 72% center;
	filter: brightness(.72) contrast(1.07) saturate(.88);
}
.s08-hero-scrim {
	z-index: -1;
	background: linear-gradient(90deg, rgba(3, 5, 10, .98) 3%, rgba(3, 5, 10, .86) 34%, rgba(3, 5, 10, .46) 67%, rgba(3, 5, 10, .2)), linear-gradient(0deg, rgba(3, 5, 10, .94), transparent 65%);
}
.s08-hero-inner {
	min-height: inherit;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 64px;
	padding: 160px 0 60px;
}
.s08-hero-content { max-width: 780px; }
.s08-hero h1 {
	max-width: 780px;
	color: #f4f8fc;
	font-size: clamp(58px, 6.4vw, 92px);
	font-weight: 700;
	font-style: normal !important;
	letter-spacing: -.03em;
	line-height: 1.06;
	text-shadow: 0 2px 40px rgba(0, 0, 0, .52);
}
.s08-hero-lead {
	max-width: 660px;
	margin-top: 28px;
	color: #c4d2df;
	font-size: 20px;
	line-height: 1.86;
}
.s08-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 36px;
}
.s08-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 13px 21px;
	border: 1px solid transparent;
	border-radius: 7px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.s08-button:hover { transform: translateY(-2px); }
.s08-button--primary {
	background: var(--s08-accent);
	color: #09232d !important;
	box-shadow: 0 8px 28px rgba(105, 194, 207, .18);
}
.s08-button--primary:hover {
	background: #a5e1e7;
	color: #09232d !important;
}
.s08-button--quiet {
	border-color: rgba(233, 239, 247, .43);
	background: rgba(3, 5, 10, .14);
	color: var(--s08-text);
}
.s08-button--quiet:hover { border-color: var(--s08-accent); background: rgba(105, 194, 207, .1); }
.s08-automation-cn .s08-hero-meta {
	margin-top: 20px;
	color: var(--s08-faint);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 11px;
	letter-spacing: .12em;
}
.s08-hero-caption {
	width: min(300px, 100%);
	padding-top: 14px;
	border-top: 1px solid var(--s08-line-strong);
	text-align: right;
}
.s08-hero-caption figcaption {
	color: #9aafc2;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
	line-height: 1.8;
}

/* Purpose */
.s08-section { padding: 72px 0; }
.s08-purpose { background: var(--s08-bg-soft); }
.s08-purpose-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 96px;
	align-items: start;
}
.s08-purpose-body { padding-top: 4px; }
.s08-purpose-lead {
	color: #d9e3ee;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.82;
}
.s08-purpose-list {
	margin-top: 42px !important;
	border-top: 1px solid var(--s08-line);
	list-style: none;
}
.s08-purpose-list li {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 24px;
	padding: 20px 4px;
	border-bottom: 1px solid var(--s08-line);
}
.s08-purpose-list strong { font-size: 17px; font-weight: 600; }
.s08-purpose-list span { color: var(--s08-muted); font-size: 15px; line-height: 1.7; }

/* Service scope */
.s08-services { background: var(--s08-bg); }
.s08-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 48px;
	border-top: 1px solid var(--s08-line);
	border-left: 1px solid var(--s08-line);
}
.s08-service {
	min-height: 230px;
	padding: 25px 24px 28px;
	border-right: 1px solid var(--s08-line);
	border-bottom: 1px solid var(--s08-line);
	background: linear-gradient(145deg, rgba(13, 26, 43, .72), rgba(3, 5, 10, 0) 68%);
}
.s08-service-no {
	display: block;
	color: var(--s08-accent);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
}
.s08-service h3 {
	margin-top: 42px;
	color: var(--s08-text);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.35;
}
.s08-service p { margin-top: 10px; color: var(--s08-muted); font-size: 15px; line-height: 1.72; }
.s08-service:last-child {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 92px minmax(220px, .8fr) minmax(0, 1.2fr);
	gap: 18px;
	min-height: 150px;
	align-items: start;
	background: linear-gradient(90deg, rgba(105, 194, 207, .11), rgba(3, 5, 10, 0));
}
.s08-service:last-child h3 { margin-top: 0; }
.s08-service:last-child p { margin-top: 0; }

/* Automation DAG. The topology fans out after the decision gate and merges results. */
.s08-loop-section { background: var(--s08-panel); }
.s08-flow {
	position: relative;
	margin-top: 44px;
	padding: 20px;
	border: 1px solid var(--s08-line);
	background: #07101d;
}
.s08-flow-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--s08-line);
}
.s08-flow-toolbar p {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--s08-muted);
	font-size: 13px;
	line-height: 1.5;
}
.s08-flow-toolbar p span:first-child {
	width: 8px;
	height: 8px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--s08-accent);
	box-shadow: 0 0 0 5px rgba(105, 194, 207, .13);
}
.s08-flow-controls { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.s08-flow-toolbar button {
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid rgba(105, 194, 207, .48);
	border-radius: 5px;
	background: transparent;
	color: var(--s08-text);
	font: inherit;
	font-size: 13px;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease;
}
.s08-flow-toolbar button:hover { border-color: var(--s08-accent); background: var(--s08-accent-soft); }
.s08-flow-graphic { position: relative; min-height: 650px; margin-top: 22px; }
.s08-flow-lines {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}
.s08-dag-path {
	fill: none;
	stroke: var(--s08-accent);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}
.s08-dag-path--fanout { stroke: #80d9e7; opacity: .82; }
.s08-dag-path--merge { stroke: #70e3c0; opacity: .78; }
.s08-dag-path--return { stroke: #a0b8ff; opacity: .62; stroke-dasharray: 5 8; }
.s08-dag-path--failure { stroke: #f0717a; opacity: .58; stroke-dasharray: 7 6; }
.s08-dag-path--base { stroke-width: 1.25; opacity: .32; stroke-dasharray: none !important; stroke-dashoffset: 0; animation: none !important; }
.s08-dag-path--base.s08-dag-path--main { stroke: #69c2cf; opacity: .42; }
.s08-dag-path--base.s08-dag-path--fanout { stroke: #80d9e7; opacity: .48; }
.s08-dag-path--base.s08-dag-path--merge { stroke: #70e3c0; opacity: .46; }
.s08-dag-path--base.s08-dag-path--return { stroke: #a0b8ff; opacity: .42; }
.s08-dag-path--base.s08-dag-path--failure { stroke: #f0717a; opacity: .42; }
.s08-flow.is-playing .s08-dag-path--main:not(.s08-dag-path--base) { stroke-dasharray: 8 15; animation: s08-dag-packet 2.4s linear infinite; }
.s08-flow.is-playing .s08-dag-path--fanout:not(.s08-dag-path--base) { stroke-dasharray: 6 13; animation: s08-dag-fanout 2.1s linear infinite; }
.s08-flow.is-playing [data-s08-path="orchestrator-task-b"] { animation-delay: .22s; }
.s08-flow.is-playing [data-s08-path="orchestrator-task-c"] { animation-delay: .44s; }
.s08-flow.is-playing .s08-dag-path--merge:not(.s08-dag-path--base) { stroke-dasharray: 6 13; animation: s08-dag-merge 2.25s linear infinite; }
.s08-flow.is-playing [data-s08-path="task-b-result"] { animation-delay: .3s; }
.s08-flow.is-playing [data-s08-path="task-c-result"] { animation-delay: .6s; }
.s08-flow.is-playing .s08-dag-path--return:not(.s08-dag-path--base) { stroke-dasharray: 5 13; animation: s08-dag-return 3.4s linear infinite 1.2s; }
.s08-flow.is-playing[data-s08-outcome="failure"][data-s08-phase="human"] .s08-dag-path--failure:not(.s08-dag-path--base) { animation: s08-dag-failure .9s ease both; }
.s08-dag {
	position: relative;
	z-index: auto;
	display: grid;
	grid-template-columns: minmax(140px,.8fr) minmax(160px,.95fr) minmax(180px,1.05fr) minmax(260px,1.6fr) minmax(170px,.95fr);
	grid-template-rows: minmax(180px,1fr) minmax(130px,auto) auto;
	gap: 18px 12px;
	min-height: 650px;
	padding: 25px 8px 8px;
}
.s08-dag-node,
.s08-dag-execution {
	position: relative;
	min-width: 0;
	padding: 18px 16px;
	border: 1px solid rgba(140, 190, 204, .34);
	border-top: 2px solid rgba(105, 194, 207, .5);
	background: rgba(7, 19, 32, .94);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .12);
}
.s08-dag-node { z-index: 3; }
.s08-dag-execution>header,
.s08-task,
.s08-dag-caption { position: relative; z-index: 3; }
.s08-dag-node { align-self: center; min-height: 170px; }
.s08-dag-node--monitor { grid-column: 1; grid-row: 1; border-top-color: rgba(240, 173, 108, .78); }
.s08-dag-node--decision { grid-column: 2; grid-row: 1; border-top-color: rgba(240, 173, 108, .9); background: rgba(48, 32, 18, .7); }
.s08-dag-node--orchestrator { grid-column: 3; grid-row: 1; border-color: rgba(105, 194, 207, .72); background: #0d1d30; box-shadow: 0 0 34px rgba(105, 194, 207, .13); }
.s08-dag-node--result { grid-column: 5; grid-row: 1; border-top-color: rgba(112, 227, 192, .8); }
.s08-dag-node--human { grid-column: 5; grid-row: 2; align-self: start; min-height: 0; border-top-color: rgba(240, 113, 122, .8); background: rgba(47, 18, 29, .7); }
.s08-dag-index { display: inline-flex; align-items: center; justify-content: center; width: 29px; height: 29px; border: 1px solid rgba(105, 194, 207, .5); color: var(--s08-accent); font-size: 12px; letter-spacing: .1em; }
.s08-dag-kicker { display: block; margin-top: 18px; color: var(--s08-faint); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.s08-dag-node strong { display: block; margin-top: 12px; font-size: 19px; line-height: 1.4; }
.s08-dag-node small { display: block; margin-top: 8px; color: var(--s08-muted); font-size: 13px; line-height: 1.55; }
.s08-dag-execution { grid-column: 4; grid-row: 1 / 3; align-self: stretch; padding: 18px 30px; border-color: rgba(128, 217, 231, .56); background: linear-gradient(145deg, rgba(13, 29, 48, .98), rgba(7, 16, 29, .96)); }
.s08-dag-execution>header { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; padding-bottom: 14px; border-bottom: 1px solid rgba(105, 194, 207, .22); }
.s08-dag-execution>header>div .s08-dag-kicker { margin-top: 0; }
.s08-dag-execution>header strong { display: block; margin-top: 7px; font-size: 18px; line-height: 1.35; }
.s08-dag-execution>header>small { grid-column: 1 / -1; color: var(--s08-muted); font-size: 12px; line-height: 1.5; }
.s08-task-stack { display: grid; gap: 10px; margin-top: 18px; }
.s08-task { display: grid; grid-template-columns: 31px 1fr; gap: 10px; align-items: center; min-height: 66px; padding: 10px 12px; border: 1px solid rgba(128, 217, 231, .3); background: rgba(5, 12, 23, .72); transition: border-color .25s ease, background-color .25s ease, transform .25s ease; }
.s08-task>span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: rgba(128, 217, 231, .12); color: #80d9e7; font-size: 11px; font-weight: 700; }
.s08-task strong,.s08-task small { display: block; }
.s08-task strong { font-size: 14px; }
.s08-task small { margin-top: 4px; color: var(--s08-muted); font-size: 11px; }
.s08-flow.is-playing .s08-task { animation: s08-task-pulse 2.8s ease-in-out infinite; }
.s08-flow.is-playing .s08-task:nth-child(2) { animation-delay: .32s; }
.s08-flow.is-playing .s08-task:nth-child(3) { animation-delay: .64s; }
.s08-result-states { display: grid; gap: 7px; margin-top: 18px; }
.s08-result-states span { display: block; padding: 6px 8px; border-left: 2px solid rgba(112, 227, 192, .55); background: rgba(12, 39, 37, .5); color: #70e3c0; font-size: 11px; line-height: 1.4; }
.s08-result-states span[data-s08-result="failure"] { border-color: rgba(240, 113, 122, .55); background: rgba(47, 18, 29, .52); color: #f0a1a7; }
.s08-flow[data-s08-outcome="success"] [data-s08-result="success"],.s08-flow[data-s08-outcome="failure"] [data-s08-result="failure"] { border-color: currentColor; }
.s08-dag-caption { grid-column: 1 / -1; grid-row: 3; margin: 0; padding-top: 28px; color: var(--s08-muted); font-size: 13px; line-height: 1.55; }
.s08-flow-note {
	max-width: 850px;
	margin: 16px 0 0;
	color: var(--s08-muted);
	font-size: 14px;
	line-height: 1.75;
}
@keyframes s08-dag-packet { to { stroke-dashoffset: -46; } }
@keyframes s08-dag-fanout { to { stroke-dashoffset: -38; } }
@keyframes s08-dag-merge { to { stroke-dashoffset: -42; } }
@keyframes s08-dag-return { to { stroke-dashoffset: -36; } }
@keyframes s08-dag-failure { 0% { opacity: .42; stroke-width: 1.8; } 45% { opacity: 1; stroke-width: 3; } 100% { opacity: .58; stroke-width: 1.8; } }
@keyframes s08-task-pulse { 0%,100% { border-color: rgba(128,217,231,.3); background: rgba(5,12,23,.72); transform: translateY(0); } 45% { border-color: rgba(128,217,231,.85); background: rgba(13,34,50,.9); transform: translateY(-3px); } }

/* Interface and responsibility boundary */
.s08-boundary { background: var(--s08-bg-soft); }
.s08-boundary-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 44px;
}
.s08-boundary-item {
	min-height: 154px;
	padding: 22px 22px 24px;
	border-top: 2px solid var(--s08-accent);
	background: rgba(10, 19, 34, .72);
}
.s08-boundary-item strong { display: block; font-size: 18px; font-weight: 600; }
.s08-boundary-item p { margin-top: 12px; color: var(--s08-muted); font-size: 15px; line-height: 1.72; }
.s08-boundary-callout {
	max-width: 980px;
	margin-top: 28px;
	padding: 16px 18px;
	border-left: 2px solid var(--s08-accent);
	background: rgba(105, 194, 207, .08);
	color: #c3d4e2;
	font-size: 15px;
	line-height: 1.75;
}

/* Delivery */
.s08-delivery { background: var(--s08-bg); }
.s08-delivery-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
	gap: 76px;
	align-items: start;
}
.s08-delivery-intro { margin-top: 24px; }
.s08-stage-list {
	margin-top: 32px !important;
	border-top: 1px solid var(--s08-line);
	list-style: none;
}
.s08-stage-list li {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 16px;
	padding: 19px 0;
	border-bottom: 1px solid var(--s08-line);
}
.s08-stage-list li > span { color: var(--s08-accent); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; font-weight: 700; }
.s08-stage-list h3 { font-size: 19px; font-weight: 600; line-height: 1.4; }
.s08-stage-list p { margin-top: 5px; color: var(--s08-muted); font-size: 15px; line-height: 1.7; }
.s08-delivery-media { margin: 4px 0 0; }
.s08-delivery-media img {
	width: 100%;
	height: min(38vw, 470px);
	min-height: 300px;
	border: 1px solid var(--s08-line);
	border-radius: 9px;
	object-fit: cover;
	object-position: center;
	filter: brightness(.72) saturate(.86);
}
.s08-delivery-media figcaption { margin-top: 13px; color: var(--s08-muted); font-size: 13px; line-height: 1.65; }

/* Handover */
.s08-handover { background: var(--s08-panel-hi); }
.s08-handover-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
	gap: 72px;
	align-items: start;
}
.s08-artifacts {
	padding: 26px;
	border: 1px solid var(--s08-line);
	border-top: 2px solid var(--s08-accent);
	background: rgba(3, 5, 10, .3);
}
.s08-artifacts h3 { font-size: 20px; font-weight: 600; }
.s08-artifacts ul { margin-top: 17px !important; list-style: none; }
.s08-artifacts li {
	padding: 10px 0;
	border-bottom: 1px solid var(--s08-line);
	color: #d1deea;
	font-size: 15px;
	line-height: 1.55;
}
.s08-artifacts li::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin: 0 11px 1px 0;
	border-radius: 50%;
	background: var(--s08-accent);
}
.s08-artifacts-actions { margin-top: 24px; }
.s08-artifacts-actions .s08-button { width: 100%; }

/* The FAQ is part of the page's visible service boundary and stays scoped to S08. */
.s08-automation-cn .s08-faq { background: var(--s08-bg-soft); }
.s08-automation-cn .s08-faq-list { max-width: 920px; margin-top: 34px; border-top: 1px solid var(--s08-line); }
.s08-automation-cn .s08-faq-list details { padding: 22px 0; border-bottom: 1px solid var(--s08-line); }
.s08-automation-cn .s08-faq-list summary { display: grid; grid-template-columns: 42px 1fr 24px; gap: 16px; align-items: center; cursor: pointer; list-style: none; color: var(--s08-ink); }
.s08-automation-cn .s08-faq-list summary::-webkit-details-marker { display: none; }
.s08-automation-cn .s08-faq-list summary > span { color: var(--s08-accent); font: 600 12px/1 var(--font-mono, monospace); letter-spacing: .08em; }
.s08-automation-cn .s08-faq-list summary strong { font-size: 18px; font-weight: 600; line-height: 1.45; }
.s08-automation-cn .s08-faq-list summary i { color: var(--s08-accent); font-style: normal; font-size: 22px; text-align: right; }
.s08-automation-cn .s08-faq-list details[open] summary i { transform: rotate(45deg); }
.s08-automation-cn .s08-faq-list details > p { max-width: 760px; margin: 14px 40px 0 58px; color: var(--s08-muted); line-height: 1.75; }
.s08-directory-link {
	display: inline-block;
	margin-top: 17px;
	color: var(--s08-muted);
	font-size: 14px;
	text-decoration: none;
}
.s08-directory-link:hover { color: var(--s08-text); }
.s08-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Progressive enhancement: without JS all copy and the ordered flow remain visible. */
.s08-motion-ready [data-s08-reveal] {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity .7s ease, transform .7s ease;
}
.s08-motion-ready [data-s08-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 800px) {
	.s08-wrap { width: min(100% - 40px, 1360px); }
	.s08-hero { min-height: 0; }
	.s08-hero-media img { object-position: 70% center; }
	.s08-hero-scrim { background: linear-gradient(0deg, rgba(3, 5, 10, .98), rgba(3, 5, 10, .5) 84%), linear-gradient(90deg, rgba(3, 5, 10, .52), transparent); }
	.s08-hero-inner { display: block; padding: 118px 0 56px; }
	.s08-hero h1 { max-width: 100%; font-size: clamp(48px, 13vw, 64px); line-height: 1.08; }
	.s08-hero-lead { max-width: 100%; font-size: 18px; line-height: 1.8; }
	.s08-actions { flex-direction: column; gap: 10px; margin-top: 28px; }
	.s08-button { width: 100%; min-height: 50px; }
	.s08-automation-cn .s08-hero-meta { margin-top: 20px; font-size: 10px; line-height: 1.8; }
	.s08-hero-caption { width: 100%; margin-top: 48px; text-align: left; }
	.s08-section { padding: 48px 0; }
	.s08-section-head h2, .s08-delivery h2, .s08-handover h2 { font-size: 32px; line-height: 1.25; }
	.s08-section-head > p:last-child, .s08-section-head--split > p, .s08-delivery-intro, .s08-handover-grid > div:first-child > p:last-child { font-size: 16px; line-height: 1.78; }
	.s08-purpose-grid, .s08-section-head--split, .s08-delivery-grid, .s08-handover-grid { grid-template-columns: 1fr; gap: 34px; }
	.s08-purpose-lead { font-size: 20px; line-height: 1.75; }
	.s08-purpose-list { margin-top: 30px !important; }
	.s08-purpose-list li { display: block; padding: 17px 0; }
	.s08-purpose-list span { display: block; margin-top: 6px; }
	.s08-service-grid { grid-template-columns: 1fr; margin-top: 34px; }
	.s08-service { min-height: 0; padding: 22px 20px 24px; }
	.s08-service h3 { margin-top: 26px; font-size: 20px; }
	.s08-service:last-child { grid-column: auto; display: block; min-height: 0; }
	.s08-service:last-child h3 { margin-top: 26px; }
	.s08-service:last-child p { margin-top: 10px; }
	.s08-flow { margin-top: 32px; padding: 14px; }
	.s08-flow-toolbar { align-items: flex-start; }
	.s08-flow-toolbar p { max-width: 220px; font-size: 12px; line-height: 1.65; }
	.s08-flow-controls { width: 100%; justify-content: flex-start; }
	.s08-flow-toolbar button { flex: 0 0 auto; }
	.s08-flow-graphic { min-height: 0; }
	.s08-dag { grid-template-columns: 1fr; grid-template-rows: none; gap: 12px; min-height: 0; padding: 20px 4px; }
	.s08-dag-node,.s08-dag-execution,.s08-dag-caption { grid-column: 1; grid-row: auto; }
	.s08-dag-node--monitor { order: 1; }
	.s08-dag-node--decision { order: 2; }
	.s08-dag-node--orchestrator { order: 3; }
	.s08-dag-execution { order: 4; }
	.s08-dag-node--result { order: 5; }
	.s08-dag-node--human { order: 6; }
	.s08-dag-caption { order: 7; }
	.s08-dag-node { min-height: 0; padding: 18px 17px; }
	.s08-dag-node strong { margin-top: 12px; font-size: 18px; }
	.s08-dag-node small { max-width: 300px; font-size: 14px; }
	.s08-dag-execution { padding: 16px 28px; }
	.s08-task-stack { gap: 8px; }
	.s08-boundary-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 30px; }
	.s08-boundary-item { min-height: 0; padding: 19px 18px 21px; }
	.s08-delivery-media { margin-top: 0; }
	.s08-delivery-media img { height: auto; min-height: 0; aspect-ratio: 1.22; }
	.s08-artifacts { padding: 22px 19px; }
}

@media (prefers-reduced-motion: reduce) {
	.s08-automation-cn *, .s08-automation-cn *::before, .s08-automation-cn *::after { animation: none !important; transition: none !important; }
	.s08-motion-ready [data-s08-reveal] { opacity: 1; transform: none; }
	.s08-motion-ready .s08-dag-path { stroke-dasharray: none; stroke-dashoffset: 0; opacity: .78; }
}
.flow-batch-diagram[data-flow-diagram] {
	width: 100%;
	margin: 32px 0 0;
	border-radius: 16px;
	overflow: hidden;
}

.flow-batch-diagram__link {
	display: block;
	border-radius: inherit;
}

.flow-batch-diagram img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	border-radius: inherit;
}
