/*
 * R04 / F07 data-protection presentation.
 *
 * The shared Factory core owns routing and machine-readable markers. This
 * file owns the visible recovery-chain treatment for the existing adapter
 * markup only; it deliberately does not create a second Hero or Contract UI.
 */

[data-renderer="service-data-protection"][data-family="F07"] {
	--r04-accent: #67d2cb;
	--r04-accent-strong: #9be8df;
	--r04-accent-soft: rgba(103, 210, 203, 0.12);
	--r04-blue: #7cb8f2;
	--r04-blue-soft: rgba(124, 184, 242, 0.13);
	--r04-ink: #eef8ff;
	--r04-muted: rgba(220, 235, 245, 0.72);
	--r04-faint: rgba(188, 211, 226, 0.58);
	--r04-line: rgba(142, 191, 211, 0.22);
	--r04-line-strong: rgba(103, 210, 203, 0.46);
	--r04-panel: rgba(11, 30, 45, 0.78);
	--r04-panel-deep: #071725;
	--r04-shadow: 0 24px 64px rgba(0, 0, 0, 0.22);
	isolation: isolate;
}

[data-renderer="service-data-protection"][data-family="F07"] .yuqi-factory-adapter {
	position: relative;
	min-width: 0;
	border-top: 1px solid var(--r04-line-strong);
	background: var(--r04-panel-deep);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-dp-page {
	position: relative;
	color: var(--r04-ink);
	background:
		radial-gradient(circle at 92% 5%, rgba(103, 210, 203, 0.12), transparent 23%),
		linear-gradient(180deg, #071725 0%, #091c2b 46%, #071522 100%);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--r04-line);
	background:
		linear-gradient(90deg, transparent 0 62%, rgba(103, 210, 203, 0.055) 62% 62.15%, transparent 62.15% 100%),
		repeating-linear-gradient(90deg, transparent 0 138px, rgba(124, 184, 242, 0.05) 139px, transparent 140px),
		radial-gradient(circle at 86% 18%, rgba(103, 210, 203, 0.18), transparent 29%),
		linear-gradient(135deg, #061521 0%, #0a1e2d 58%, #102b35 100%);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero::after {
	position: absolute;
	top: 0;
	right: clamp(24px, 7vw, 112px);
	bottom: 0;
	width: 1px;
	background: linear-gradient(180deg, transparent, var(--r04-line-strong) 28%, transparent 82%);
	content: '';
	opacity: 0.62;
	pointer-events: none;
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero-grid,
[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-main,
[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-related,
[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-cta {
	position: relative;
	z-index: 1;
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero-copy {
	max-width: 730px;
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero-copy .eyebrow,
[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-section .eyebrow,
[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-cta .eyebrow {
	color: var(--r04-accent-strong);
	letter-spacing: 0.15em;
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero h1 {
	max-width: 730px;
	color: var(--r04-ink);
	font-size: clamp(45px, 6.1vw, 82px);
	line-height: 1.04;
	letter-spacing: -0.045em;
	text-wrap: balance;
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero-summary {
	max-width: 670px;
	color: var(--r04-muted);
	line-height: 1.9;
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero-side {
	position: relative;
	gap: 16px;
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero-media,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-figure {
	border-color: var(--r04-line-strong);
	background: #0b1c2a;
	box-shadow: var(--r04-shadow);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero-media {
	position: relative;
	overflow: hidden;
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero-media::before,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-figure::before {
	position: absolute;
	inset: 12px;
	border: 1px solid rgba(155, 232, 223, 0.16);
	content: '';
	pointer-events: none;
	z-index: 1;
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero-media img {
	position: relative;
	filter: saturate(0.9) contrast(1.05) brightness(0.9);
	object-position: center;
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero-media figcaption,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-figure figcaption {
	position: relative;
	z-index: 2;
	border-top-color: var(--r04-line);
	background: rgba(5, 18, 29, 0.88);
	color: var(--r04-muted);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-hero-index {
	position: relative;
	border-color: var(--r04-line);
	border-left: 2px solid var(--r04-accent);
	background: rgba(6, 20, 31, 0.78);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-hero-index span,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-logic-note span,
[data-renderer="service-data-protection"][data-family="F07"] .data-protection-caption-label {
	color: var(--r04-accent-strong);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-hero-index strong,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-logic-note strong {
	color: var(--r04-ink);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-signals {
	position: relative;
	border-color: var(--r04-line);
	background: rgba(6, 20, 31, 0.84);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-signal {
	position: relative;
	min-height: 122px;
	border-color: var(--r04-line);
	background: linear-gradient(180deg, rgba(19, 48, 63, 0.42), rgba(9, 27, 42, 0.12));
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-signal::before {
	position: absolute;
	top: 20px;
	left: 25px;
	width: 7px;
	height: 7px;
	border: 1px solid var(--r04-accent-strong);
	border-radius: 50%;
	box-shadow: 0 0 0 5px rgba(103, 210, 203, 0.1);
	content: '';
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-signal strong {
	color: var(--r04-ink);
	font-size: 17px;
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-signal span {
	color: var(--r04-accent-strong);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-main {
	background: linear-gradient(180deg, rgba(5, 18, 29, 0.04), rgba(4, 15, 25, 0.24));
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-section {
	position: relative;
	border-top-color: var(--r04-line);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-section::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: max(20px, calc((100vw - 1200px) / 2));
	width: 1px;
	background: linear-gradient(180deg, var(--r04-line-strong), transparent 80%);
	content: '';
	opacity: 0.72;
	pointer-events: none;
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-section:nth-child(even) {
	background: linear-gradient(90deg, rgba(12, 42, 55, 0.26), transparent 58%);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-section:nth-child(odd) {
	background: linear-gradient(270deg, rgba(12, 37, 56, 0.24), transparent 60%);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-section .recovery-section-head h2,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-operations-copy h2 {
	color: var(--r04-ink);
	letter-spacing: -0.042em;
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-section .recovery-section-head--wide > p,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-lead-copy,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-section-head > p {
	color: var(--r04-muted);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-story-copy {
	position: relative;
	padding-left: clamp(0px, 2vw, 26px);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-item-list,
[data-renderer="service-data-protection"][data-family="F07"] .data-protection-facts,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-step-list,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-observation-list,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-continuity-track {
	border-color: var(--r04-line);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-item-list li,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-step-list li,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-observation-list li,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-continuity-track li {
	position: relative;
	border-color: var(--r04-line);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-item-list li > span,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-step-list li > span,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-observation-list li > span,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-continuity-track li > span {
	color: var(--r04-accent-strong);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-item-list li:not(:last-child)::after,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-step-list li:not(:last-child)::after,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-observation-list li:not(:last-child)::after,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-continuity-track li:not(:last-child)::after {
	position: absolute;
	bottom: -7px;
	left: 15px;
	width: 12px;
	height: 12px;
	border-right: 1px solid var(--r04-accent);
	border-bottom: 1px solid var(--r04-accent);
	background: var(--r04-panel-deep);
	content: '';
	transform: rotate(45deg);
	z-index: 1;
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-item-list strong,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-step-list strong,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-observation-list strong,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-continuity-track strong {
	color: var(--r04-ink);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-item-list p,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-step-list small,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-observation-list p,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-continuity-track p {
	color: var(--r04-faint);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-figure {
	position: relative;
	overflow: hidden;
	background: #0a1b2a;
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-figure img,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-figure img {
	filter: saturate(0.88) contrast(1.05) brightness(0.92);
	transition: filter 180ms ease, transform 300ms ease;
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-figure:hover img,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-figure:hover img {
	filter: saturate(0.96) contrast(1.05) brightness(0.97);
	transform: scale(1.015);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-facts {
	background: rgba(8, 24, 38, 0.56);
}

[data-renderer="service-data-protection"][data-family="F07"] .data-protection-facts span {
	border-color: var(--r04-line);
	color: var(--r04-accent-strong);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-objective-values,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-objective-check,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-evidence-panel {
	border-color: var(--r04-line);
	background: var(--r04-panel);
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.14);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-objective-check,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-evidence-panel {
	border-top-color: var(--r04-accent);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-objective-value,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-objective-check li,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-evidence-list article,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-condition-list article {
	border-color: var(--r04-line);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-objective-label,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-objective-mark,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-objective-check li span,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-evidence-list article > span,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-condition-list article > span {
	color: var(--r04-accent-strong);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-objective-value h3,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-objective-check strong,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-evidence-list strong,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-condition-list h3 {
	color: var(--r04-ink);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-objective-value p,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-evidence-list p,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-condition-list p {
	color: var(--r04-faint);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-validation,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-operations,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-continuity {
	border-top-color: var(--r04-line);
	background: linear-gradient(180deg, rgba(10, 30, 44, 0.58), rgba(6, 19, 31, 0.24));
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-bottom-note,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-delivery-note {
	border-top-color: var(--r04-line);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-bottom-note span,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-delivery-note span {
	color: var(--r04-accent-strong);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-bottom-note strong,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-delivery-note strong {
	color: var(--r04-ink);
}

[data-renderer="service-data-protection"][data-family="F07"] .recovery-bottom-note p,
[data-renderer="service-data-protection"][data-family="F07"] .recovery-delivery-note p {
	color: var(--r04-faint);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-related {
	border-top-color: var(--r04-line);
	background: rgba(6, 20, 31, 0.38);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-related-grid a {
	border-color: var(--r04-line);
	background: var(--r04-panel);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-related-grid a:hover,
[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-related-grid a:focus-visible {
	border-color: var(--r04-line-strong);
	background: rgba(18, 52, 65, 0.8);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-related-grid h3,
[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-related-grid strong {
	color: var(--r04-ink);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-related-grid span {
	color: var(--r04-accent-strong);
}

[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-cta {
	border-top: 1px solid var(--r04-line);
	background:
		radial-gradient(circle at 82% 22%, rgba(103, 210, 203, 0.13), transparent 26%),
		#071725;
}

@media (max-width: 900px) {
	[data-renderer="service-data-protection"][data-family="F07"] .data-protection-section::before {
		left: 24px;
	}

	[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero::after {
		right: 28px;
	}
}

@media (max-width: 700px) {
	[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero h1 {
		font-size: clamp(42px, 11.8vw, 66px);
	}

	[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-signal {
		min-height: 0;
		padding: 22px 20px 22px 42px;
	}

	[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-signal::before {
		top: 23px;
		left: 20px;
	}

	[data-renderer="service-data-protection"][data-family="F07"] .data-protection-section {
		padding-top: 68px;
		padding-bottom: 68px;
	}

	[data-renderer="service-data-protection"][data-family="F07"] .data-protection-section::before {
		left: 18px;
	}

	[data-renderer="service-data-protection"][data-family="F07"] .data-protection-story-copy {
		padding-left: 0;
	}

	[data-renderer="service-data-protection"][data-family="F07"] .data-protection-item-list li:not(:last-child)::after,
	[data-renderer="service-data-protection"][data-family="F07"] .recovery-step-list li:not(:last-child)::after,
	[data-renderer="service-data-protection"][data-family="F07"] .recovery-observation-list li:not(:last-child)::after,
	[data-renderer="service-data-protection"][data-family="F07"] .recovery-continuity-track li:not(:last-child)::after {
		left: 12px;
	}
}

@media (max-width: 560px) {
	[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero {
		padding-top: 54px;
	}

	[data-renderer="service-data-protection"][data-family="F07"] .service-pilot-hero::after {
		right: 18px;
	}

	[data-renderer="service-data-protection"][data-family="F07"] .data-protection-section::before {
		left: 14px;
	}

	[data-renderer="service-data-protection"][data-family="F07"] .data-protection-item-list li,
	[data-renderer="service-data-protection"][data-family="F07"] .recovery-step-list li,
	[data-renderer="service-data-protection"][data-family="F07"] .recovery-observation-list li,
	[data-renderer="service-data-protection"][data-family="F07"] .recovery-continuity-track li {
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 10px;
	}

	[data-renderer="service-data-protection"][data-family="F07"] .data-protection-figure::before,
	[data-renderer="service-data-protection"][data-family="F07"] .recovery-figure::before {
		inset: 8px;
	}
}

/* PHASE 12B.2: R04 is a restrained recovery chain; it is not another card deck. */
[data-renderer="service-data-protection"] .yuqi-factory-composition {
	width: 100%;
}

[data-renderer="service-data-protection"] .yuqi-family-composition--r04 {
	max-width: 1240px;
	margin: 0 auto;
	padding: 20px clamp(20px, 4vw, 56px) 22px;
	border-block: 1px solid var(--r04-line, rgba(155, 190, 205, .22));
	background: var(--r04-panel, rgba(10, 31, 45, .72));
}

[data-renderer="service-data-protection"] .yuqi-family-composition__intro {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 16px;
}

[data-renderer="service-data-protection"] .yuqi-family-composition__eyebrow {
	margin: 0;
	color: var(--r04-accent, #83d0d2);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

[data-renderer="service-data-protection"] .yuqi-family-composition__intro h2 {
	margin: 0;
	color: var(--r04-text, #f1f6f7);
	font-size: clamp(18px, 2vw, 25px);
	line-height: 1.25;
}

[data-renderer="service-data-protection"] .yuqi-composition-chain {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-block-start: 1px solid var(--r04-line, rgba(155, 190, 205, .22));
}

[data-renderer="service-data-protection"] .yuqi-composition-chain__item {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 10px;
	min-width: 0;
	padding: 16px 18px 8px;
	border-inline-start: 1px solid var(--r04-line, rgba(155, 190, 205, .22));
}

[data-renderer="service-data-protection"] .yuqi-composition-chain__item:first-child {
	border-inline-start: 0;
}

[data-renderer="service-data-protection"] .yuqi-composition-step {
	color: var(--r04-accent, #83d0d2);
	font-size: 11px;
	letter-spacing: .12em;
}

[data-renderer="service-data-protection"] .yuqi-composition-chain__item strong {
	color: var(--r04-text, #f1f6f7);
	font-size: 14px;
	line-height: 1.45;
}

@media (max-width: 680px) {
	[data-renderer="service-data-protection"] .yuqi-family-composition--r04 {
		padding: 18px 18px 20px;
	}

	[data-renderer="service-data-protection"] .yuqi-family-composition__intro {
		display: block;
		margin-bottom: 12px;
	}

	[data-renderer="service-data-protection"] .yuqi-family-composition__intro h2 {
		margin-top: 6px;
	}

	[data-renderer="service-data-protection"] .yuqi-composition-chain {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	[data-renderer="service-data-protection"] .yuqi-composition-chain__item:nth-child(odd) {
		border-inline-start: 0;
	}

	[data-renderer="service-data-protection"] .yuqi-composition-chain__item:nth-child(n + 3) {
		border-block-start: 1px solid var(--r04-line, rgba(155, 190, 205, .22));
	}
}
