/* S11 / SAN 与存储虚拟化 — scoped editorial system */
.s11-san-cn {
	--s11-bg: #03050a;
	--s11-bg-soft: #060a14;
	--s11-panel: #0a1322;
	--s11-panel-hi: #0d1828;
	--s11-surface: #07101d;
	--s11-ink: #e9eff7;
	--s11-muted: #a3b6ca;
	--s11-faint: #647a90;
	--s11-accent: #5fd3e6;
	--s11-cta: #69c2cf;
	--s11-cta-ink: #09232d;
	--s11-line: rgba(163, 182, 202, .2);
	--s11-line-strong: rgba(95, 211, 230, .48);
	--s11-ease: cubic-bezier(.2, .7, .2, 1);
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	overflow: clip;
	background: var(--s11-bg);
	color: var(--s11-ink);
	font-family: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

.s11-san-cn *,
.s11-san-cn *::before,
.s11-san-cn *::after {
	box-sizing: border-box;
}

.s11-san-cn h1,
.s11-san-cn h2,
.s11-san-cn h3,
.s11-san-cn p,
.s11-san-cn figure,
.s11-san-cn ol,
.s11-san-cn ul {
	margin: 0;
}

.s11-san-cn img {
	display: block;
	max-width: 100%;
}

.s11-san-cn a {
	color: inherit;
}

.s11-san-cn a:focus-visible,
.s11-san-cn button:focus-visible,
.s11-san-cn summary:focus-visible {
	outline: 2px solid var(--s11-accent);
	outline-offset: 4px;
}

.s11-san-cn button,
.s11-san-cn a {
	-webkit-tap-highlight-color: transparent;
}

.s11-san-cn .s11-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.s11-san-cn .s11-shell {
	width: min(1360px, calc(100% - 80px));
	margin-inline: auto;
}

.s11-san-cn .s11-main {
	width: min(1240px, calc(100% - 80px));
	margin-inline: auto;
}

.s11-san-cn .s11-page {
	background: var(--s11-bg);
}

.s11-san-cn .s11-section {
	padding: 72px 0;
}

.s11-san-cn .s11-section-head {
	max-width: 620px;
}

.s11-san-cn .s11-section-head--wide {
	max-width: 780px;
}

.s11-san-cn .s11-eyebrow {
	display: flex;
	align-items: center;
	gap: 11px;
	color: var(--s11-accent);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .11em;
	line-height: 1.4;
	text-transform: uppercase;
}

.s11-san-cn .s11-eyebrow > span:first-child {
	display: inline-block;
	flex: 0 0 auto;
	width: 28px;
	height: 1px;
	background: currentColor;
}

.s11-san-cn .s11-eyebrow .s11-eyebrow-no {
	display: inline-flex;
	width: auto;
	height: auto;
	color: var(--s11-faint);
	font-size: 11px;
}

.s11-san-cn h1,
.s11-san-cn h2,
.s11-san-cn h3 {
	font-weight: 620;
	letter-spacing: -.045em;
}

.s11-san-cn h2 {
	max-width: 760px;
	margin-top: 18px;
	font-size: clamp(32px, 3.1vw, 42px);
	line-height: 1.1;
}

.s11-san-cn .s11-section-head > p:last-child {
	margin-top: 24px;
	color: var(--s11-muted);
	font-size: 17px;
	line-height: 1.82;
}

/* Hero: full first screen on desktop, content-led on mobile. */
.s11-san-cn .s11-hero {
	position: relative;
	display: flex;
	min-height: calc(100svh - var(--f-header-height, 72px));
	isolation: isolate;
	overflow: hidden;
	background: var(--s11-bg);
}

.s11-san-cn .s11-hero-media,
.s11-san-cn .s11-hero-scrim {
	position: absolute;
	inset: 0;
}

.s11-san-cn .s11-hero-media {
	z-index: -2;
}

.s11-san-cn .s11-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 64% center;
	filter: brightness(.57) saturate(.78) contrast(1.04);
}

.s11-san-cn .s11-hero-scrim {
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(3, 5, 10, .96) 0%, rgba(3, 5, 10, .78) 35%, rgba(3, 5, 10, .2) 74%, rgba(3, 5, 10, .3) 100%),
		linear-gradient(0deg, rgba(3, 5, 10, .9) 0%, rgba(3, 5, 10, .12) 58%, rgba(3, 5, 10, .16) 100%);
}

.s11-san-cn .s11-hero-inner {
	position: relative;
	display: flex;
	min-height: inherit;
	align-items: flex-end;
	justify-content: space-between;
	gap: 56px;
	padding-top: 148px;
	padding-bottom: 58px;
}

.s11-san-cn .s11-hero-copy {
	max-width: 780px;
}

.s11-san-cn .s11-hero-copy .s11-eyebrow {
	margin-bottom: 31px;
	font-size: 11px !important;
	letter-spacing: .14em !important;
	line-height: 1.6 !important;
}

.s11-san-cn h1 {
	max-width: 880px;
	font-size: clamp(58px, 6.8vw, 92px);
	line-height: 1.04;
}

.s11-san-cn .s11-h1-mark {
	color: var(--s11-accent);
}

.s11-san-cn .s11-hero-lead {
	max-width: 740px;
	margin-top: 28px;
	color: #d2deea;
	font-size: clamp(17px, 1.35vw, 20px);
	line-height: 1.8;
}

.s11-san-cn .s11-actions,
.s11-san-cn .s11-contact-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 28px;
}

.s11-san-cn .s11-button {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	padding: 13px 20px;
	border: 1px solid transparent;
	border-radius: 2px;
	font-size: 14px;
	font-weight: 680;
	line-height: 1.2;
	text-decoration: none;
	transition: border-color .24s ease, background-color .24s ease, color .24s ease, transform .24s ease;
}

.s11-san-cn .s11-button--primary {
	background: var(--s11-cta);
	color: var(--s11-cta-ink) !important;
}

.s11-san-cn .s11-button--primary:hover,
.s11-san-cn .s11-button--primary:focus-visible {
	background: #8ddce6;
	transform: translateY(-2px);
}

.s11-san-cn .s11-button--quiet {
	border-color: rgba(233, 239, 247, .42);
	color: var(--s11-ink);
}

.s11-san-cn .s11-button--quiet:hover,
.s11-san-cn .s11-button--quiet:focus-visible {
	border-color: var(--s11-accent);
	color: var(--s11-accent);
}

.s11-san-cn .s11-hero .s11-hero-copy p.s11-hero-meta {
	margin-top: 20px;
	color: #8da7ba;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 11px !important;
	letter-spacing: .12em !important;
	line-height: 1.7 !important;
}

.s11-san-cn .s11-hero-caption {
	flex: 0 0 min(250px, 23%);
	align-self: flex-end;
	padding-top: 12px;
	border-top: 1px solid rgba(95, 211, 230, .65);
	color: #a6b9ca;
	font-size: 12px;
	line-height: 1.6;
}

/* Purpose */
.s11-san-cn .s11-purpose {
	background: var(--s11-bg-soft);
}

.s11-san-cn .s11-purpose-grid {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	gap: clamp(48px, 7vw, 96px);
	align-items: start;
}

.s11-san-cn .s11-layer-rail {
	padding: 20px 24px 6px;
	border: 1px solid var(--s11-line);
	background: linear-gradient(135deg, rgba(13, 24, 40, .84), rgba(7, 16, 29, .8));
}

.s11-san-cn .s11-rail-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 17px;
	border-bottom: 1px solid var(--s11-line);
}

.s11-san-cn .s11-rail-heading strong {
	font-size: 14px;
	font-weight: 650;
}

.s11-san-cn .s11-rail-heading span {
	color: var(--s11-faint);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 10px;
	letter-spacing: .08em;
}

.s11-san-cn .s11-layer {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 14px;
	padding: 22px 0 24px;
	border-bottom: 1px solid var(--s11-line);
}

.s11-san-cn .s11-layer:last-child {
	border-bottom: 0;
}

.s11-san-cn .s11-item-no {
	color: var(--s11-accent);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 18px;
	line-height: 1.2;
}

.s11-san-cn .s11-layer strong {
	display: block;
	color: var(--s11-faint);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.s11-san-cn .s11-layer h3 {
	margin-top: 7px;
	font-size: 20px;
	line-height: 1.22;
}

.s11-san-cn .s11-layer p {
	margin-top: 9px;
	color: var(--s11-muted);
	font-size: 14px;
	line-height: 1.72;
}

/* Architecture / animated signature diagram */
.s11-san-cn .s11-path {
	background: var(--s11-bg);
}

.s11-san-cn .s11-section-head--split {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, .78fr);
	gap: clamp(40px, 8vw, 120px);
	align-items: end;
	max-width: none;
}

.s11-san-cn .s11-section-head--split > p {
	max-width: 520px;
	margin-top: 0;
	justify-self: end;
}

.s11-san-cn .s11-flow {
	margin-top: 44px;
	padding: 18px 20px 20px;
	border: 1px solid var(--s11-line);
	background: linear-gradient(155deg, rgba(10, 19, 34, .94), rgba(3, 5, 10, .94));
}

.s11-san-cn .s11-flow-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--s11-line);
}

.s11-san-cn .s11-flow-toolbar p {
	display: flex;
	align-items: center;
	gap: 9px;
	color: #bad0de;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 11px;
	letter-spacing: .03em;
}

.s11-san-cn .s11-flow-toolbar p span {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--s11-accent);
	box-shadow: 0 0 0 5px rgba(95, 211, 230, .1);
}

.s11-san-cn .s11-flow-toolbar button {
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid rgba(95, 211, 230, .45);
	border-radius: 2px;
	background: transparent;
	color: var(--s11-accent);
	font: 11px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	cursor: pointer;
	transition: background-color .22s ease, color .22s ease;
}

.s11-san-cn .s11-flow-toolbar button:hover,
.s11-san-cn .s11-flow-toolbar button:focus-visible {
	background: var(--s11-accent);
	color: var(--s11-cta-ink);
}

.s11-san-cn .s11-flow-toolbar button:disabled {
	cursor: not-allowed;
	opacity: .6;
}

.s11-san-cn .s11-flow-graphic {
	position: relative;
	min-height: 368px;
	margin-top: 12px;
}

.s11-san-cn .s11-flow-lines {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}

.s11-san-cn .s11-flow-lines path {
	fill: none;
	stroke: var(--s11-accent);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.5;
	filter: drop-shadow(0 0 4px rgba(95, 211, 230, .24));
}

.s11-san-cn .s11-flow-lines marker path {
	fill: var(--s11-accent);
	stroke: none;
	filter: none;
}

.s11-san-cn .s11-flow-nodes {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1.12fr .82fr 1.25fr .9fr;
	grid-template-rows: repeat(2, minmax(150px, 1fr));
	gap: 12px;
	align-items: center;
	min-height: 368px;
	padding: 30px 2px;
	list-style: none;
}

.s11-san-cn .s11-flow-node {
	display: flex;
	min-height: 188px;
	flex-direction: column;
	justify-content: center;
	padding: 20px 17px;
	border: 1px solid rgba(163, 182, 202, .24);
	background: rgba(7, 16, 29, .94);
}

.s11-san-cn .s11-flow-node--host,
.s11-san-cn .s11-flow-node--array {
	border-color: rgba(95, 211, 230, .56);
	background: rgba(9, 27, 40, .95);
}

.s11-san-cn .s11-flow-node--backup {
	border-style: dashed;
	border-color: rgba(163, 182, 202, .46);
	background: rgba(6, 10, 20, .9);
}

.s11-san-cn .s11-flow-node--host,
.s11-san-cn .s11-flow-node--array,
.s11-san-cn .s11-flow-node--backup {
	grid-row: 1 / -1;
}

.s11-san-cn .s11-flow-node--host { grid-column: 1; }
.s11-san-cn .s11-flow-node--fabric-a { grid-column: 2; grid-row: 1; }
.s11-san-cn .s11-flow-node--fabric-b { grid-column: 2; grid-row: 2; }
.s11-san-cn .s11-flow-node--array { grid-column: 3; }
.s11-san-cn .s11-flow-node--backup { grid-column: 4; }

.s11-san-cn .s11-flow-node__index {
	color: var(--s11-accent);
	font: 10px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
}

.s11-san-cn .s11-flow-node > strong {
	margin-top: 16px;
	font-size: 18px;
	line-height: 1.2;
}

.s11-san-cn .s11-flow-node > small {
	margin-top: 11px;
	color: var(--s11-muted);
	font-size: 12px;
	line-height: 1.5;
}

.s11-san-cn .s11-port-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
	margin-top: 22px;
}

.s11-san-cn .s11-port-pair > span,
.s11-san-cn .s11-array-stack > span {
	display: flex;
	min-height: 48px;
	flex-direction: column;
	justify-content: center;
	padding: 8px 9px;
	border: 1px solid rgba(95, 211, 230, .3);
	background: rgba(3, 5, 10, .44);
}

.s11-san-cn .s11-port-pair b,
.s11-san-cn .s11-array-stack b {
	color: #d7f2f5;
	font: 10px/1.25 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.s11-san-cn .s11-port-pair small,
.s11-san-cn .s11-array-stack small {
	margin-top: 4px;
	color: var(--s11-faint);
	font-size: 10px;
	line-height: 1.25;
}

.s11-san-cn .s11-array-stack {
	display: grid;
	gap: 7px;
	margin-top: 18px;
}

.s11-san-cn .s11-array-stack .s11-lun {
	border-color: rgba(95, 211, 230, .68);
	background: rgba(95, 211, 230, .08);
}

.s11-san-cn .s11-flow-note {
	max-width: 880px;
	margin: 9px 0 0 auto;
	color: var(--s11-muted);
	font-size: 13px;
	line-height: 1.65;
}

.s11-san-cn .s11-flow-note strong {
	color: var(--s11-accent);
	font-weight: 650;
}

/* Services: editorial work list rather than a repeated card grid. */
.s11-san-cn .s11-services {
	background: var(--s11-bg-soft);
}

.s11-san-cn .s11-work-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 56px;
	margin-top: 46px;
	padding: 0;
	list-style: none;
}

.s11-san-cn .s11-work-item {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 18px;
	min-width: 0;
	min-height: 153px;
	padding: 23px 0 25px;
	border-top: 1px solid var(--s11-line);
	transition: border-color .25s ease, transform .25s ease;
}

.s11-san-cn .s11-work-item:hover {
	border-top-color: var(--s11-line-strong);
	transform: translateY(-2px);
}

.s11-san-cn .s11-work-no {
	color: var(--s11-accent);
	font: 12px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .08em;
}

.s11-san-cn .s11-work-item h3 {
	font-size: 20px;
	line-height: 1.25;
}

.s11-san-cn .s11-work-item p {
	margin-top: 10px;
	color: var(--s11-muted);
	font-size: 14px;
	line-height: 1.72;
}

/* Delivery */
.s11-san-cn .s11-delivery {
	background: var(--s11-bg);
}

.s11-san-cn .s11-delivery-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
	gap: clamp(44px, 7vw, 96px);
	align-items: start;
}

.s11-san-cn .s11-delivery-copy > p:not(.s11-eyebrow) {
	max-width: 590px;
	margin-top: 24px;
	color: var(--s11-muted);
	font-size: 17px;
	line-height: 1.82;
}

.s11-san-cn .s11-detail-media {
	margin-top: 34px;
}

.s11-san-cn .s11-detail-media img {
	width: 100%;
	max-height: 400px;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border: 1px solid var(--s11-line);
	filter: saturate(.78) contrast(1.05);
}

.s11-san-cn .s11-detail-media figcaption {
	margin-top: 10px;
	color: var(--s11-faint);
	font-size: 11px;
	line-height: 1.6;
}

.s11-san-cn .s11-delivery-panel {
	padding: 23px 24px 10px;
	border: 1px solid var(--s11-line);
	background: linear-gradient(145deg, rgba(10, 19, 34, .9), rgba(7, 16, 29, .72));
}

.s11-san-cn .s11-panel-label {
	color: var(--s11-accent);
	font: 11px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.s11-san-cn .s11-delivery-list {
	margin-top: 10px;
	padding: 0;
	list-style: none;
}

.s11-san-cn .s11-delivery-list li {
	display: grid;
	grid-template-columns: 43px minmax(0, 1fr);
	gap: 13px;
	padding: 21px 0 23px;
	border-top: 1px solid var(--s11-line);
}

.s11-san-cn .s11-delivery-list li > span {
	color: var(--s11-accent);
	font: 11px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.s11-san-cn .s11-delivery-list h3 {
	font-size: 18px;
	line-height: 1.3;
}

.s11-san-cn .s11-delivery-list p {
	margin-top: 8px;
	color: var(--s11-muted);
	font-size: 14px;
	line-height: 1.7;
}

/* FAQ */
.s11-san-cn .s11-faq {
	background: var(--s11-bg-soft);
}

.s11-san-cn .s11-faq-grid {
	display: grid;
	grid-template-columns: minmax(0, .73fr) minmax(0, 1.27fr);
	gap: clamp(48px, 8vw, 112px);
	align-items: start;
}

.s11-san-cn .s11-faq-list {
	border-top: 1px solid var(--s11-line);
}

.s11-san-cn .s11-faq-list details {
	border-bottom: 1px solid var(--s11-line);
}

.s11-san-cn .s11-faq-list summary {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr) 24px;
	gap: 12px;
	min-height: 64px;
	align-items: center;
	padding: 13px 0;
	color: var(--s11-ink);
	font-size: 16px;
	font-weight: 620;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}

.s11-san-cn .s11-faq-list summary::-webkit-details-marker {
	display: none;
}

.s11-san-cn .s11-faq-list summary > span {
	color: var(--s11-accent);
	font: 11px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.s11-san-cn .s11-faq-list summary > b {
	color: var(--s11-accent);
	font-size: 21px;
	font-weight: 400;
	text-align: right;
	transition: transform .25s ease;
}

.s11-san-cn .s11-faq-list details[open] summary > b {
	transform: rotate(45deg);
}

.s11-san-cn .s11-faq-list details > p {
	max-width: 680px;
	padding: 0 36px 21px 52px;
	color: var(--s11-muted);
	font-size: 14px;
	line-height: 1.75;
}

/* Final CTA */
.s11-san-cn .s11-contact {
	padding: 72px 0 88px;
	background: linear-gradient(135deg, #0a1b2a, #07101d 62%, #03050a);
}

.s11-san-cn .s11-contact-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 56px;
	align-items: end;
}

.s11-san-cn .s11-contact h2 {
	max-width: 700px;
}

.s11-san-cn .s11-contact-inner > div:first-child > p:last-child {
	max-width: 680px;
	margin-top: 22px;
	color: var(--s11-muted);
	font-size: 16px;
	line-height: 1.8;
}

.s11-san-cn .s11-contact-actions {
	margin-top: 0;
}

.s11-san-cn .s11-contact-actions .s11-button {
	white-space: nowrap;
}

/* Progressive reveal: without JS this block is fully visible. */
.s11-san-cn.s11-motion-ready [data-s11-reveal] {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .72s ease, transform .72s var(--s11-ease);
}

.s11-san-cn.s11-motion-ready [data-s11-reveal].is-visible {
	opacity: 1;
	transform: none;
}

.s11-san-cn.s11-motion-ready .s11-hero-copy [data-s11-reveal],
.s11-san-cn.s11-motion-ready .s11-hero-caption {
	opacity: 0;
	transform: translateY(15px);
}

.s11-san-cn.s11-motion-ready .s11-hero-copy.is-visible [data-s11-reveal],
.s11-san-cn.s11-motion-ready .s11-hero-caption.is-visible {
	opacity: 1;
	transform: none;
	transition-delay: 0ms;
}

.s11-san-cn.s11-motion-ready .s11-flow-node {
	opacity: 0;
	transform: translateY(15px);
}

.s11-san-cn.s11-motion-ready .s11-flow.is-active .s11-flow-node {
	animation: s11-node-in .65s var(--s11-ease) forwards;
}

.s11-san-cn.s11-motion-ready .s11-flow.is-active .s11-flow-node:nth-child(2) {
	animation-delay: 80ms;
}

.s11-san-cn.s11-motion-ready .s11-flow.is-active .s11-flow-node:nth-child(3) {
	animation-delay: 130ms;
}

.s11-san-cn.s11-motion-ready .s11-flow.is-active .s11-flow-node:nth-child(4) {
	animation-delay: 180ms;
}

.s11-san-cn.s11-motion-ready .s11-flow.is-active .s11-flow-node:nth-child(5) {
	animation-delay: 230ms;
}

.s11-san-cn.s11-motion-ready .s11-flow-lines path {
	stroke-dasharray: 1000;
	stroke-dashoffset: 1000;
}

.s11-san-cn.s11-motion-ready .s11-flow.is-looping .s11-flow-lines path {
	animation: s11-path-loop 8.4s ease-in-out infinite;
	animation-play-state: paused;
}

.s11-san-cn.s11-motion-ready .s11-flow.is-looping.is-flow-running .s11-flow-lines path {
	animation-play-state: running;
}

/* Keep the two Fabric lanes parallel; the two controller lanes follow them
 * together, then the independent backup boundary completes the cycle. */
.s11-san-cn.s11-motion-ready .s11-flow.is-looping .s11-flow-lines path:nth-of-type(1),
.s11-san-cn.s11-motion-ready .s11-flow.is-looping .s11-flow-lines path:nth-of-type(2) {
	animation-delay: 0s;
}

.s11-san-cn.s11-motion-ready .s11-flow.is-looping .s11-flow-lines path:nth-of-type(3),
.s11-san-cn.s11-motion-ready .s11-flow.is-looping .s11-flow-lines path:nth-of-type(4) {
	animation-delay: .12s;
}

.s11-san-cn.s11-motion-ready .s11-flow.is-looping .s11-flow-lines path:nth-of-type(5) {
	animation-delay: .24s;
}

@keyframes s11-node-in {
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes s11-path-loop {
	0%, 8% {
		stroke-dashoffset: 1000;
		opacity: .35;
	}
	34%, 68% {
		stroke-dashoffset: 0;
		opacity: 1;
	}
	88%, 100% {
		stroke-dashoffset: 1000;
		opacity: .35;
	}
}

@media (prefers-reduced-motion: reduce) {
	.s11-san-cn.s11-motion-ready [data-s11-reveal],
	.s11-san-cn.s11-motion-ready .s11-hero-copy [data-s11-reveal],
	.s11-san-cn.s11-motion-ready .s11-hero-caption,
	.s11-san-cn.s11-motion-ready .s11-flow-node {
		opacity: 1;
		transform: none;
		animation: none !important;
		transition: none !important;
	}

	.s11-san-cn.s11-motion-ready .s11-flow-lines path,
	.s11-san-cn.s11-motion-ready .s11-flow.is-active .s11-flow-lines path {
		stroke-dasharray: none;
		stroke-dashoffset: 0;
		animation: none !important;
	}

	.s11-san-cn .s11-button,
	.s11-san-cn .s11-work-item,
	.s11-san-cn .s11-faq-list summary > b {
		transition: none;
	}
}

@media (max-width: 800px) {
	.s11-san-cn .s11-shell,
	.s11-san-cn .s11-main {
		width: calc(100% - 40px);
	}

	.s11-san-cn .s11-section {
		padding: 48px 0;
	}

	.s11-san-cn .s11-hero {
		min-height: 0;
	}

	.s11-san-cn .s11-hero-media img {
		object-position: 62% center;
	}

	.s11-san-cn .s11-hero-inner {
		display: block;
		min-height: 0;
		padding-top: 112px;
		padding-bottom: 56px;
	}

	.s11-san-cn .s11-hero-copy {
		max-width: none;
	}

	.s11-san-cn .s11-hero-copy .s11-eyebrow {
		margin-bottom: 31px;
	}

	.s11-san-cn h1 {
		font-size: clamp(40px, 10.25vw, 46px);
		line-height: 1.06;
	}

	.s11-san-cn .s11-h1-break { display: block; }

	.s11-san-cn .s11-hero-lead {
		margin-top: 22px;
		font-size: 17px;
		line-height: 1.78;
	}

	.s11-san-cn .s11-actions,
	.s11-san-cn .s11-contact-actions {
		align-items: stretch;
		flex-direction: column;
		margin-top: 25px;
	}

	.s11-san-cn .s11-button {
		width: 100%;
		min-height: 50px;
	}

	.s11-san-cn .s11-hero .s11-hero-copy p.s11-hero-meta {
		font-size: 10px !important;
		line-height: 1.8 !important;
		margin-top: 20px;
	}

	.s11-san-cn .s11-hero-caption {
		max-width: 280px;
		margin-top: 48px;
	}

	.s11-san-cn .s11-section-head > p:last-child,
	.s11-san-cn .s11-delivery-copy > p:not(.s11-eyebrow) {
		font-size: 16px;
		line-height: 1.8;
	}

	.s11-san-cn .s11-purpose-grid,
	.s11-san-cn .s11-section-head--split,
	.s11-san-cn .s11-delivery-grid,
	.s11-san-cn .s11-faq-grid,
	.s11-san-cn .s11-contact-inner {
		display: grid;
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.s11-san-cn .s11-layer-rail {
		padding: 18px 16px 4px;
	}

	.s11-san-cn .s11-rail-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
	}

	.s11-san-cn .s11-layer {
		grid-template-columns: 23px minmax(0, 1fr);
		gap: 11px;
		padding: 18px 0 20px;
	}

	.s11-san-cn .s11-layer h3 {
		font-size: 18px;
	}

	.s11-san-cn .s11-layer p,
	.s11-san-cn .s11-work-item p,
	.s11-san-cn .s11-delivery-list p,
	.s11-san-cn .s11-faq-list details > p {
		font-size: 14px;
	}

	.s11-san-cn .s11-section-head--split > p {
		justify-self: start;
		margin-top: 0;
	}

	.s11-san-cn .s11-flow {
		margin-top: 32px;
		padding: 15px 12px 16px;
	}

	.s11-san-cn .s11-flow-toolbar {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
	}

	.s11-san-cn .s11-flow-toolbar p {
		align-items: flex-start;
		font-size: 10px;
		line-height: 1.6;
	}

	.s11-san-cn .s11-flow-toolbar button {
		width: 100%;
	}

	.s11-san-cn .s11-flow-graphic {
		min-height: 680px;
	}

	.s11-san-cn .s11-flow-nodes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto auto auto;
		gap: 10px;
		min-height: 680px;
		padding: 25px 0;
	}

	.s11-san-cn .s11-flow-node {
		min-height: 148px;
		padding: 16px 13px;
	}

	.s11-san-cn .s11-flow-node--host,
	.s11-san-cn .s11-flow-node--array,
	.s11-san-cn .s11-flow-node--backup {
		grid-column: 1 / -1;
	}

	.s11-san-cn .s11-flow-node--host {
		grid-row: 1;
	}

	.s11-san-cn .s11-flow-node--fabric-a {
		grid-column: 1;
		grid-row: 2;
	}

	.s11-san-cn .s11-flow-node--fabric-b {
		grid-column: 2;
		grid-row: 2;
	}

	.s11-san-cn .s11-flow-node--array {
		grid-row: 3;
	}

	.s11-san-cn .s11-flow-node--backup {
		grid-row: 4;
	}

	.s11-san-cn .s11-flow-node > strong {
		margin-top: 11px;
		font-size: 17px;
	}

	.s11-san-cn .s11-port-pair {
		margin-top: 15px;
	}

	.s11-san-cn .s11-array-stack {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 13px;
	}

	.s11-san-cn .s11-array-stack .s11-lun {
		grid-column: 1 / -1;
	}

	.s11-san-cn .s11-flow-note {
		margin-top: 2px;
		font-size: 12px;
		line-height: 1.7;
	}

	.s11-san-cn .s11-work-list {
		grid-template-columns: 1fr;
		margin-top: 32px;
	}

	.s11-san-cn .s11-work-item {
		grid-template-columns: 42px minmax(0, 1fr);
		gap: 13px;
		min-height: 0;
		padding: 20px 0 22px;
	}

	.s11-san-cn .s11-work-item h3 {
		font-size: 18px;
	}

	.s11-san-cn .s11-delivery-copy > p:not(.s11-eyebrow) {
		margin-top: 20px;
	}

	.s11-san-cn .s11-detail-media {
		margin-top: 26px;
	}

	.s11-san-cn .s11-delivery-panel {
		padding: 18px 16px 5px;
	}

	.s11-san-cn .s11-delivery-list li {
		grid-template-columns: 35px minmax(0, 1fr);
		gap: 10px;
		padding: 18px 0 20px;
	}

	.s11-san-cn .s11-delivery-list h3 {
		font-size: 17px;
	}

	.s11-san-cn .s11-faq-grid {
		gap: 30px;
	}

	.s11-san-cn .s11-faq-list summary {
		grid-template-columns: 31px minmax(0, 1fr) 22px;
		gap: 9px;
		font-size: 15px;
	}

	.s11-san-cn .s11-faq-list details > p {
		padding: 0 22px 19px 40px;
	}

	.s11-san-cn .s11-contact {
		padding: 48px 0 56px;
	}

	.s11-san-cn .s11-contact-inner {
		gap: 28px;
	}

	.s11-san-cn .s11-contact-inner > div:first-child > p:last-child {
		font-size: 15px;
		line-height: 1.8;
	}

	.s11-san-cn .s11-contact-actions {
		gap: 10px;
	}
}

@media (max-width: 370px) {
	.s11-san-cn .s11-hero-inner {
		padding-top: 96px;
	}

}

.s11-san-cn .flow-batch-diagram[data-flow-diagram] {
	width: 100%;
	margin: 32px 0 0;
	border-radius: 16px;
	overflow: hidden;
}

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

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