.s15-data-center-cn {
	--s15-bg: #03050a;
	--s15-bg-soft: #060a14;
	--s15-panel: #0a1322;
	--s15-panel-hi: #0e1a2b;
	--s15-text: #e9eff7;
	--s15-muted: #a3b6ca;
	--s15-accent: #5fd3e6;
	--s15-accent-soft: rgba(95, 211, 230, .11);
	--s15-line: rgba(140, 190, 204, .24);
	--s15-line-strong: rgba(140, 190, 204, .42);
	width: 100%;
	margin: 0;
	color: var(--s15-text);
	background: var(--s15-bg);
	overflow: clip;
}

.s15-data-center-cn *,
.s15-data-center-cn *::before,
.s15-data-center-cn *::after {
	box-sizing: border-box;
}

.s15-data-center-cn h1,
.s15-data-center-cn h2,
.s15-data-center-cn h3,
.s15-data-center-cn p,
.s15-data-center-cn ul,
.s15-data-center-cn ol,
.s15-data-center-cn figure {
	margin: 0;
}

.s15-data-center-cn ul,
.s15-data-center-cn ol {
	padding: 0;
}

.s15-data-center-cn a {
	color: inherit;
}

.s15-data-center-cn [id] {
	scroll-margin-top: 88px;
}

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

.s15-shell,
.s15-content {
	margin-inline: auto;
}

.s15-shell {
	width: min(1360px, calc(100% - 80px));
}

.s15-content {
	width: min(1240px, calc(100% - 80px));
}

/* A full first viewport on desktop; mobile content determines its own height. */
.s15-hero {
	position: relative;
	min-height: calc(100svh - var(--f-header-height, 72px));
	isolation: isolate;
	overflow: hidden;
}

.s15-hero-media,
.s15-hero-scrim {
	position: absolute;
	inset: 0;
}

.s15-hero-media {
	z-index: -2;
}

.s15-hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 72% center;
	filter: brightness(.42) saturate(.76);
}

.s15-hero-scrim {
	z-index: -1;
	background: linear-gradient(90deg, rgba(3, 5, 10, .97), rgba(3, 5, 10, .87) 42%, rgba(3, 5, 10, .24)), linear-gradient(0deg, rgba(3, 5, 10, .96), transparent 69%);
}

.s15-hero-inner {
	min-height: inherit;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 60px;
	padding: 140px 0 58px;
}

.s15-hero-copy {
	max-width: 800px;
}

.s15-eyebrow {
	color: var(--s15-accent);
	font: 11px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.s15-hero .s15-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
}

.s15-hero .s15-eyebrow > span:first-child {
	width: 8px;
	height: 8px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--s15-accent);
	box-shadow: 0 0 0 5px rgba(95, 211, 230, .13);
}

.s15-eyebrow-no {
	display: inline-block;
	margin-right: 11px;
	color: #8fa7ba;
}

.s15-hero h1 {
	display: grid;
	gap: 2px;
	margin-top: 28px;
	color: #f5f8fc;
	font-size: clamp(58px, 6.6vw, 92px);
	font-weight: 700;
	letter-spacing: -.055em;
	line-height: 1.02;
}

.s15-hero h1 span {
	display: block;
}

.s15-hero-lead {
	max-width: 720px;
	margin-top: 28px !important;
	color: #c4d2df;
	font-size: 20px;
	line-height: 1.82;
}

.s15-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 27px;
}

.s15-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;
	text-decoration: none;
	transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}

.s15-button--primary {
	background: #69c2cf !important;
	color: #09232d !important;
}

.s15-button--primary:hover {
	background: #8bdae4 !important;
	transform: translateY(-2px);
}

.s15-button--quiet {
	border-color: rgba(233, 239, 247, .32);
	color: #eef5fb;
}

.s15-button--quiet:hover {
	border-color: var(--s15-accent);
	color: var(--s15-accent);
}

.s15-hero-meta {
	margin-top: 20px !important;
	color: #9bb0c2;
	font: 11px/1.7 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .12em;
}

/* The theme's service readability guard raises generic paragraphs to 16px.
 * Keep only the hero's deliberate metadata scale compact. */
.s15-data-center-cn .s15-hero p.s15-eyebrow {
	font-size: 11px !important;
	line-height: 1.6 !important;
}

.s15-data-center-cn .s15-hero p.s15-hero-meta {
	font-size: 11px !important;
	line-height: 1.7 !important;
}

.s15-hero-note {
	max-width: 210px;
	padding-left: 16px;
	border-left: 1px solid rgba(95, 211, 230, .6);
	color: #a9becf;
	font-size: 13px;
	line-height: 1.7;
}

.s15-page {
	background: var(--s15-bg);
}

.s15-section {
	position: relative;
	padding: 80px 0;
}

.s15-section-head {
	max-width: 660px;
}

.s15-section-head h2,
.s15-contact h2 {
	margin-top: 22px;
	color: var(--s15-text);
	font-size: clamp(32px, 3.2vw, 42px);
	font-weight: 650;
	letter-spacing: -.04em;
	line-height: 1.15;
}

.s15-section-head > p:last-child,
.s15-contact p:last-child {
	margin-top: 22px;
	color: var(--s15-muted);
	font-size: 16px;
	line-height: 1.9;
}

.s15-two-column {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
	gap: 80px;
	align-items: end;
}

.s15-boundary,
.s15-operations-callout {
	padding: 25px 28px;
	border: 1px solid rgba(95, 211, 230, .26);
	background: linear-gradient(135deg, rgba(95, 211, 230, .1), rgba(10, 19, 34, .75));
}

.s15-boundary strong,
.s15-operations-callout strong {
	display: block;
	color: #dff7fb;
	font-size: 16px;
	line-height: 1.4;
}

.s15-boundary p,
.s15-operations-callout p {
	margin-top: 12px;
	color: var(--s15-muted);
	font-size: 14px;
	line-height: 1.8;
}

.s15-signal-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 54px;
}

.s15-signal {
	min-height: 210px;
	padding: 26px 25px 28px;
	border-top: 2px solid var(--s15-accent);
	background: var(--s15-panel);
}

.s15-signal > span,
.s15-step > span,
.s15-service-card > span {
	display: block;
	color: var(--s15-accent);
	font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .12em;
}

.s15-signal h3,
.s15-step h3,
.s15-service-card h3 {
	margin-top: 18px;
	color: #f1f6fb;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.4;
}

.s15-signal p,
.s15-step p,
.s15-service-card p {
	margin-top: 12px;
	color: var(--s15-muted);
	font-size: 14px;
	line-height: 1.85;
}

.s15-architecture {
	background: var(--s15-bg-soft);
}

.s15-section-head--split {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(320px, .7fr);
	gap: 80px;
	max-width: none;
	align-items: end;
}

.s15-section-head--split > p {
	max-width: 540px;
	margin-left: auto;
	color: var(--s15-muted);
	font-size: 15px;
	line-height: 1.9;
}

.s15-diagram {
	margin-top: 48px;
	padding: 17px 17px 21px;
	border: 1px solid rgba(140, 190, 204, .23);
	background: #07101c;
}

.s15-diagram-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 0 8px 17px;
	border-bottom: 1px solid rgba(140, 190, 204, .17);
}

.s15-diagram-bar p {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #d6e5ee;
	font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .07em;
}

.s15-diagram-bar p span {
	width: 8px;
	height: 8px;
	display: inline-block;
	border-radius: 50%;
	background: var(--s15-accent);
	box-shadow: 0 0 0 5px rgba(95, 211, 230, .1);
}

.s15-diagram-bar button {
	min-height: 38px;
	padding: 8px 13px;
	border: 1px solid rgba(95, 211, 230, .42);
	border-radius: 4px;
	background: transparent;
	color: #b9dce4;
	font: 11px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	cursor: pointer;
}

.s15-diagram-bar button:hover {
	border-color: var(--s15-accent);
	background: rgba(95, 211, 230, .1);
	color: #e8fbff;
}

.s15-flow-canvas {
	position: relative;
	min-height: 500px;
	margin-top: 18px;
	overflow: hidden;
}

.s15-flow-lines {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.s15-flow-lines path {
	fill: none;
	stroke: var(--s15-accent);
	stroke-width: 1.5;
	vector-effect: non-scaling-stroke;
	stroke-linecap: round;
	stroke-linejoin: round;
	marker-end: url(#s15-arrow);
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	transition: stroke-dashoffset 1.15s cubic-bezier(.22, .7, .18, 1);
}

.s15-flow-lines path[data-s15-path^="security-"] {
	stroke: rgba(95, 211, 230, .7);
	stroke-dasharray: 5 6;
	marker-end: none;
}

.s15-diagram.is-active .s15-flow-lines path {
	stroke-dashoffset: 0;
}

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

.s15-data-center-cn.s15-motion-ready .s15-diagram.is-looping.is-flow-running .s15-flow-lines path {
	animation-play-state: running;
}

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

.s15-flow-layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: auto auto;
	gap: 42px 16px;
	align-items: start;
	min-height: 482px;
	padding: 20px 25px 13px;
}

.s15-layer,
.s15-security {
	position: relative;
	padding: 22px 21px 24px;
	border: 1px solid rgba(140, 190, 204, .3);
	background: rgba(10, 19, 34, .94);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .18);
}

.s15-layer {
	min-height: 231px;
}

.s15-layer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 34%;
	height: 3px;
	background: var(--s15-accent);
}

.s15-layer-no {
	display: block;
	color: #8fa7ba;
	font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .12em;
}

.s15-layer strong {
	display: block;
	margin-top: 17px;
	color: #f1f6fb;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

.s15-layer > small {
	display: block;
	margin-top: 8px;
	color: var(--s15-accent);
	font: 11px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.s15-layer ul {
	display: grid;
	gap: 8px;
	margin-top: 24px;
	list-style: none;
}

.s15-layer li {
	position: relative;
	padding-left: 16px;
	color: var(--s15-muted);
	font-size: 13px;
	line-height: 1.55;
}

.s15-layer li::before {
	content: '';
	position: absolute;
	top: .58em;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--s15-accent);
}

.s15-security {
	grid-column: 1 / -1;
	grid-row: 1;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	max-width: 580px;
	margin: 0 auto;
	padding: 19px 23px;
	border-color: rgba(95, 211, 230, .42);
	background: rgba(95, 211, 230, .08);
}

.s15-security-dot {
	width: 10px;
	height: 10px;
	flex: 0 0 auto;
	margin-top: 5px;
	border-radius: 50%;
	background: var(--s15-accent);
	box-shadow: 0 0 0 6px rgba(95, 211, 230, .12);
}

.s15-security strong {
	display: block;
	color: #e0faff;
	font-size: 15px;
	line-height: 1.4;
}

.s15-security p {
	margin-top: 7px;
	color: #abc1d0;
	font-size: 13px;
	line-height: 1.65;
}

.s15-diagram-note {
	max-width: 820px;
	margin: 18px 8px 0;
	color: #90a7b8;
	font-size: 12px;
	line-height: 1.75;
}

.s15-diagram-note strong {
	color: #c5e6ec;
}

.s15-working {
	background: var(--s15-bg);
}

.s15-section-head--wide {
	max-width: 780px;
}

.s15-step-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin-top: 53px;
	list-style: none;
	border-top: 1px solid var(--s15-line);
	border-bottom: 1px solid var(--s15-line);
}

.s15-step {
	min-height: 214px;
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 12px;
	padding: 28px 25px 31px;
	border-right: 1px solid var(--s15-line);
}

.s15-step:first-child {
	padding-left: 0;
}

.s15-step:last-child {
	border-right: 0;
	padding-right: 0;
}

.s15-step h3 {
	margin-top: 0;
	font-size: 18px;
}

.s15-step p {
	font-size: 13px;
}

.s15-services {
	background: var(--s15-bg-soft);
}

.s15-service-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
	margin-top: 51px;
}

.s15-service-card {
	grid-column: span 2;
	min-height: 245px;
	padding: 24px 22px 25px;
	border: 1px solid rgba(140, 190, 204, .19);
	background: var(--s15-panel);
	transition: border-color .25s ease, transform .25s ease, background-color .25s ease;
}

.s15-service-card:nth-child(4) {
	grid-column: 2 / span 2;
}

.s15-service-card:nth-child(5) {
	grid-column: 4 / span 2;
}

.s15-service-card:hover {
	border-color: rgba(95, 211, 230, .54);
	background: var(--s15-panel-hi);
	transform: translateY(-3px);
}

.s15-service-card h3 {
	font-size: 17px;
}

.s15-service-card p {
	font-size: 13px;
}

.s15-delivery {
	background: #040810;
}

.s15-delivery-grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr);
	gap: 92px;
	align-items: center;
}

.s15-delivery-copy h2 {
	margin-top: 22px;
	color: var(--s15-text);
	font-size: clamp(32px, 3.2vw, 42px);
	font-weight: 650;
	letter-spacing: -.04em;
	line-height: 1.15;
}

.s15-delivery-copy > p:not(.s15-eyebrow) {
	margin-top: 22px;
	color: var(--s15-muted);
	font-size: 16px;
	line-height: 1.9;
}

.s15-delivery-copy ul {
	display: grid;
	gap: 12px;
	margin-top: 30px;
	list-style: none;
}

.s15-delivery-copy li {
	position: relative;
	padding: 0 0 12px 24px;
	border-bottom: 1px solid rgba(140, 190, 204, .14);
	color: #bfd0dc;
	font-size: 14px;
	line-height: 1.65;
}

.s15-delivery-copy li::before {
	content: '';
	position: absolute;
	top: .62em;
	left: 2px;
	width: 8px;
	height: 8px;
	border: 1px solid var(--s15-accent);
	background: rgba(95, 211, 230, .2);
	transform: rotate(45deg);
}

.s15-delivery-media {
	margin: 0;
}

.s15-delivery-media img {
	display: block;
	width: 100%;
	max-height: 400px;
	object-fit: cover;
	aspect-ratio: 16 / 10;
	filter: brightness(.7) saturate(.82);
}

.s15-delivery-media figcaption {
	margin-top: 12px;
	color: #8298aa;
	font-size: 12px;
	line-height: 1.6;
}

.s15-operations {
	min-height: 460px;
	display: flex;
	align-items: center;
	isolation: isolate;
	overflow: hidden;
}

.s15-operations-backdrop,
.s15-operations-scrim {
	position: absolute;
	inset: 0;
}

.s15-operations-backdrop {
	z-index: -2;
	background-image: url('../images/s15-data-center/data-center-background.webp');
	background-position: center;
	background-size: cover;
	filter: brightness(.45) saturate(.75);
}

.s15-operations-scrim {
	z-index: -1;
	background: linear-gradient(90deg, rgba(3, 5, 10, .98), rgba(3, 5, 10, .83) 56%, rgba(3, 5, 10, .56)), linear-gradient(0deg, rgba(3, 5, 10, .92), rgba(3, 5, 10, .32));
}

.s15-operations-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(270px, .6fr);
	gap: 90px;
	align-items: end;
}

.s15-operations-inner .s15-section-head {
	max-width: 700px;
}

.s15-operations-callout {
	background: rgba(5, 12, 21, .72);
}

.s15-related {
	padding: 45px 0;
	background: #02050b;
}

.s15-related .s15-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.s15-related nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.s15-related nav a {
	padding: 10px 14px;
	border: 1px solid rgba(140, 190, 204, .22);
	color: #b3c7d5;
	font-size: 13px;
	text-decoration: none;
	transition: border-color .25s ease, color .25s ease;
}

.s15-related nav a:hover {
	border-color: var(--s15-accent);
	color: var(--s15-accent);
}

.s15-faq {
	background: var(--s15-bg-soft);
}

.s15-faq-list {
	max-width: 920px;
	margin-top: 43px;
	border-top: 1px solid var(--s15-line);
}

.s15-faq details {
	border-bottom: 1px solid var(--s15-line);
}

.s15-faq summary {
	position: relative;
	padding: 22px 42px 22px 0;
	color: #e3edf5;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.5;
	cursor: pointer;
	list-style: none;
}

.s15-faq summary::-webkit-details-marker {
	display: none;
}

.s15-faq summary::after {
	content: '+';
	position: absolute;
	right: 4px;
	top: 18px;
	color: var(--s15-accent);
	font-size: 25px;
	font-weight: 300;
}

.s15-faq details[open] summary::after {
	content: '−';
}

.s15-faq details p {
	max-width: 780px;
	padding: 0 40px 23px 0;
	color: var(--s15-muted);
	font-size: 14px;
	line-height: 1.9;
}

.s15-contact {
	padding: 80px 0;
	background: #02050b;
}

.s15-contact-inner {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 60px;
	padding: 42px 0 0;
	border-top: 1px solid rgba(95, 211, 230, .35);
}

.s15-contact h2 {
	max-width: 650px;
}

.s15-contact p:last-child {
	max-width: 650px;
}

.s15-contact .s15-button {
	flex: 0 0 auto;
}

.s15-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;
}

/* JS progressively adds motion; the page remains fully readable without it. */
.s15-data-center-cn.s15-motion-ready [data-s15-reveal] {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity .65s ease, transform .65s cubic-bezier(.22, .7, .18, 1);
}

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

.s15-data-center-cn.s15-motion-ready .s15-hero-inner [data-s15-reveal] {
	opacity: 0;
	transform: translateY(18px);
}

.s15-data-center-cn.s15-motion-ready.s15-hero-visible .s15-hero-inner [data-s15-reveal] {
	opacity: 1;
	transform: none;
}

.s15-data-center-cn.s15-motion-ready.s15-hero-visible .s15-hero-inner [data-s15-reveal]:nth-child(2) {
	transition-delay: .08s;
}

.s15-data-center-cn.s15-motion-ready.s15-hero-visible .s15-hero-inner [data-s15-reveal]:nth-child(3) {
	transition-delay: .14s;
}

.s15-data-center-cn.s15-motion-ready.s15-hero-visible .s15-hero-inner [data-s15-reveal]:nth-child(4) {
	transition-delay: .2s;
}

.s15-data-center-cn.s15-motion-ready.s15-hero-visible .s15-hero-inner [data-s15-reveal]:nth-child(5) {
	transition-delay: .25s;
}

.s15-data-center-cn.s15-motion-ready.s15-hero-visible .s15-hero-note {
	transition-delay: .3s;
}

@media (prefers-reduced-motion: reduce) {
	.s15-data-center-cn.s15-motion-ready [data-s15-reveal],
	.s15-data-center-cn.s15-motion-ready.s15-hero-visible .s15-hero-inner [data-s15-reveal] {
		transition: none !important;
		transform: none !important;
		opacity: 1 !important;
	}

	.s15-flow-lines path {
		transition: none;
	}
}

@media (max-width: 900px) {
	.s15-shell,
	.s15-content {
		width: min(100% - 40px, 720px);
	}

	.s15-hero-inner {
		gap: 34px;
		padding-top: 116px;
	}

	.s15-hero-note {
		max-width: 180px;
	}

	.s15-two-column,
	.s15-section-head--split,
	.s15-operations-inner,
	.s15-delivery-grid {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.s15-section-head--split > p {
		margin-left: 0;
	}

	.s15-signal-grid {
		gap: 14px;
	}

	.s15-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.s15-service-card,
	.s15-service-card:nth-child(4),
	.s15-service-card:nth-child(5) {
		grid-column: auto;
	}

	.s15-delivery-grid {
		gap: 48px;
	}

	.s15-operations {
		min-height: 520px;
	}

	.s15-contact-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 32px;
	}
}

@media (max-width: 800px) {
	.s15-hero {
		min-height: 0;
	}

	.s15-hero-inner {
		min-height: 0;
		display: block;
		padding: 90px 0 44px;
	}

	.s15-hero-copy {
		max-width: none;
	}

	.s15-hero h1 {
		margin-top: 24px;
		font-size: 48px;
		line-height: 1.06;
	}

	.s15-hero-lead {
		margin-top: 22px !important;
		font-size: 17px;
		line-height: 1.78;
	}

	.s15-hero-note {
		display: none;
	}

	.s15-section {
		padding: 48px 0;
	}

	.s15-section-head h2,
	.s15-delivery-copy h2,
	.s15-contact h2 {
		margin-top: 18px;
		font-size: 32px;
	}

	.s15-section-head > p:last-child,
	.s15-delivery-copy > p:not(.s15-eyebrow),
	.s15-contact p:last-child {
		margin-top: 18px;
		font-size: 15px;
		line-height: 1.82;
	}

	.s15-two-column {
		gap: 28px;
	}

	.s15-boundary {
		padding: 22px 21px;
	}

	.s15-signal-grid {
		grid-template-columns: 1fr;
		gap: 12px;
		margin-top: 32px;
	}

	.s15-signal {
		min-height: 0;
		padding: 22px 21px 24px;
	}

	.s15-section-head--split {
		gap: 24px;
	}

	.s15-diagram {
		margin-top: 31px;
		padding: 13px 11px 17px;
	}

	.s15-diagram-bar {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
		padding: 0 5px 13px;
	}

	.s15-diagram-bar button {
		min-height: 36px;
	}

	.s15-flow-canvas {
		min-height: 0;
		margin-top: 13px;
	}

	.s15-flow-layout {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 27px;
		min-height: 0;
		padding: 21px 11px 16px;
	}

	.s15-security {
		grid-column: auto;
		grid-row: 1;
		max-width: none;
		padding: 18px 17px;
	}

	.s15-layer {
		min-height: 0;
		padding: 20px 18px 21px;
	}

	.s15-layer.s15-site {
		grid-row: 2;
	}

	.s15-layer.s15-it {
		grid-row: 3;
	}

	.s15-layer.s15-business {
		grid-row: 4;
	}

	.s15-layer strong {
		font-size: 20px;
	}

	.s15-layer ul {
		margin-top: 19px;
	}

	.s15-diagram-note {
		margin: 15px 5px 0;
		font-size: 12px;
	}

	.s15-step-list {
		grid-template-columns: 1fr;
		gap: 0;
		margin-top: 32px;
	}

	.s15-step,
	.s15-step:first-child,
	.s15-step:last-child {
		min-height: 0;
		grid-template-columns: 42px 1fr;
		padding: 23px 0;
		border-right: 0;
		border-bottom: 1px solid var(--s15-line);
	}

	.s15-step:last-child {
		border-bottom: 0;
	}

	.s15-service-grid {
		grid-template-columns: 1fr;
		gap: 11px;
		margin-top: 31px;
	}

	.s15-service-card,
	.s15-service-card:nth-child(4),
	.s15-service-card:nth-child(5) {
		min-height: 0;
		padding: 21px 19px 23px;
		grid-column: auto;
	}

	.s15-delivery-grid {
		gap: 34px;
	}

	.s15-delivery-copy ul {
		gap: 10px;
		margin-top: 24px;
	}

	.s15-delivery-media img {
		max-height: 300px;
	}

	.s15-operations {
		min-height: 0;
	}

	.s15-operations-inner {
		gap: 28px;
	}

	.s15-operations-callout {
		padding: 22px 21px;
	}

	.s15-related {
		padding: 34px 0;
	}

	.s15-related .s15-content {
		align-items: flex-start;
		flex-direction: column;
		gap: 18px;
	}

	.s15-related nav a {
		padding: 9px 11px;
		font-size: 12px;
	}

	.s15-faq-list {
		margin-top: 28px;
	}

	.s15-faq summary {
		padding: 19px 35px 19px 0;
		font-size: 16px;
	}

	.s15-faq summary::after {
		top: 14px;
	}

	.s15-faq details p {
		padding: 0 25px 20px 0;
		font-size: 14px;
	}

	.s15-contact {
		padding: 50px 0;
	}

	.s15-contact-inner {
		padding-top: 29px;
		gap: 24px;
	}

	.s15-contact .s15-button {
		width: 100%;
	}
}

@media (max-width: 360px) {
	.s15-shell,
	.s15-content {
		width: min(100% - 28px, 720px);
	}

	.s15-hero-inner {
		min-height: 0;
	}

	.s15-hero h1 {
		font-size: 44px;
	}
}

/* If JavaScript is unavailable, no opacity or transform gate is introduced. */
@media (scripting: none) {
	.s15-data-center-cn [data-s15-reveal] {
		opacity: 1 !important;
		transform: none !important;
	}
}
.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;
}
