:root {
		--cp-primary: #EB6F46;
		--cp-primary-dark: #d85f36;
		--cp-secondary: #ffc107;
		--cp-secondary-dark: #e0a800;
		--cp-danger: #dc3545;
		--cp-danger-dark: #bb2d3b;
		--cp-dark: #331b17;
		--cp-text: #5a4038;
		--cp-muted: #8f736a;
		--cp-bg: #fffaf7;
		--cp-card: #ffffff;
		--cp-panel: #fff3ed;
		--cp-border: #f2ddd5;
		--cp-success: #2f9e44;
		--cp-success-soft: #eaf8ee;
		--cp-info: #7c4dff;
		--cp-info-soft: #f2edff;
		--cp-shadow: 0 16px 40px rgba(51, 27, 23, 0.08);
		--cp-radius: 20px;
	}

	body {
		background: var(--cp-bg);
		color: var(--cp-text);
	}

	.section-title {
		font-size: 2.3rem;
		font-weight: 800;
		color: var(--cp-dark);
		margin-bottom: 14px;
	}

	.section-subtitle {
		max-width: 860px;
		margin: 0 auto;
		color: var(--cp-muted);
		font-size: 1.04rem;
		line-height: 1.85;
	}

	.cp-badge {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 9px 16px;
		border-radius: 999px;
		background: rgba(235, 111, 70, 0.12);
		color: var(--cp-primary-dark);
		font-size: 13px;
		font-weight: 700;
		letter-spacing: .2px;
		margin-bottom: 18px;
		border: 1px solid rgba(235, 111, 70, 0.15);
	}

	.btn-cp-primary,
	.btn-cp-outline {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		border-radius: 999px;
		padding: 14px 28px;
		font-weight: 700;
		transition: all .3s ease;
	}

	.btn-cp-primary {
		background: #fff;
		color: var(--cp-primary);
		border: none;
		box-shadow: 0 10px 24px rgba(220, 53, 69, 0.12);
	}

	.btn-cp-primary:hover {
		color: var(--cp-primary-dark);
		transform: translateY(-2px);
	}

	.btn-cp-outline {
		border: 1px solid rgba(255, 255, 255, .35);
		color: #fff;
		background: rgba(255, 255, 255, .08);
	}

	.btn-cp-outline:hover {
		color: #fff;
		background: rgba(255, 255, 255, .16);
	}

	.cp-hero {
		position: relative;
		overflow: hidden;
		padding: 110px 0 90px;
		background:
			radial-gradient(circle at top right, rgba(255, 193, 7, .22), transparent 25%),
			radial-gradient(circle at left center, rgba(255, 255, 255, .08), transparent 30%),
			linear-gradient(135deg, #5a1d22 0%, #dc3545 36%, #EB6F46 70%, #ffc107 100%);
	}

	.cp-hero::before {
		content: '';
		position: absolute;
		inset: 0;
		background:
			linear-gradient(135deg, rgba(255, 255, 255, .05) 0%, transparent 42%),
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='1'%3E%3Cpath d='M0 90h180M90 0v180'/%3E%3Ccircle cx='90' cy='90' r='48'/%3E%3C/g%3E%3C/svg%3E");
		background-size: cover, 260px;
		pointer-events: none;
	}

	.hero-content,
	.hero-preview {
		position: relative;
		z-index: 2;
	}

	.hero-kicker {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		background: rgba(255, 255, 255, .12);
		border: 1px solid rgba(255, 255, 255, .18);
		color: #fff;
		border-radius: 999px;
		padding: 8px 16px;
		font-size: 13px;
		font-weight: 700;
		margin-bottom: 18px;
	}

	.hero-title {
		color: #fff;
		font-size: 3.15rem;
		font-weight: 800;
		line-height: 1.12;
		margin-bottom: 20px;
	}

	.hero-title span {
		color: #fff0a8;
	}

	.hero-text {
		max-width: 650px;
		color: rgba(255, 255, 255, .92);
		font-size: 1.08rem;
		line-height: 1.9;
		margin-bottom: 30px;
	}

	.hero-actions {
		display: flex;
		flex-wrap: wrap;
		gap: 14px;
		margin-bottom: 28px;
	}

	.hero-points {
		display: flex;
		flex-wrap: wrap;
		gap: 14px 24px;
	}

	.hero-points .item {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		color: rgba(255, 255, 255, .92);
		font-size: .95rem;
	}

	.hero-points .item i {
		color: #ffe082;
	}

	.hero-preview-shell {
		background: rgba(255, 255, 255, .14);
		border: 1px solid rgba(255, 255, 255, .18);
		border-radius: 28px;
		backdrop-filter: blur(14px);
		box-shadow: 0 25px 60px rgba(51, 27, 23, .24);
		padding: 18px;
	}

	.hero-topbar {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		background: rgba(255, 255, 255, .95);
		border-radius: 18px;
		padding: 14px;
		margin-bottom: 14px;
	}

	.hero-chip,
	.hero-control {
		background: #fff8f5;
		border: 1px solid #f2ddd5;
		border-radius: 999px;
		padding: 9px 14px;
		font-size: .83rem;
		color: var(--cp-text);
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-weight: 600;
	}

	.hero-control.primary {
		margin-left: auto;
		background: linear-gradient(135deg, var(--cp-primary), var(--cp-danger));
		color: #fff;
		border: none;
	}

	.hero-workspace {
		background: rgba(255, 255, 255, .97);
		border-radius: 24px;
		padding: 18px;
	}

	.hero-grid {
		display: grid;
		grid-template-columns: 1.1fr .9fr;
		gap: 16px;
	}

	.care-plan-card,
	.risk-card,
	.mini-card,
	.feature-card,
	.detail-card,
	.process-card,
	.value-card,
	.faq-card,
	.summary-card,
	.timeline-card {
		background: var(--cp-card);
		border: 1px solid var(--cp-border);
		border-radius: var(--cp-radius);
		padding: 28px;
		height: 100%;
		box-shadow: 0 8px 22px rgba(51, 27, 23, .04);
		transition: all .3s ease;
	}

	.care-plan-card:hover,
	.risk-card:hover,
	.feature-card:hover,
	.detail-card:hover,
	.process-card:hover,
	.value-card:hover,
	.timeline-card:hover {
		transform: translateY(-6px);
		box-shadow: var(--cp-shadow);
	}

	.plan-header {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 14px;
		margin-bottom: 18px;
	}

	.plan-avatar {
		display: flex;
		align-items: center;
		gap: 14px;
	}

	.plan-avatar .icon {
		width: 58px;
		height: 58px;
		border-radius: 18px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 24px;
		color: #fff;
		background: linear-gradient(135deg, var(--cp-primary), var(--cp-danger));
	}

	.plan-avatar h4,
	.side-heading,
	.summary-card h4,
	.timeline-card h4,
	.feature-card h4,
	.detail-card h4,
	.process-card h4,
	.value-card h4,
	.faq-card h5 {
		color: var(--cp-dark);
		font-weight: 700;
		margin-bottom: 8px;
	}

	.plan-avatar p,
	.feature-card p,
	.detail-card p,
	.process-card p,
	.value-card p,
	.faq-card p,
	.summary-card p,
	.timeline-card p,
	.mini-card p {
		color: var(--cp-muted);
		line-height: 1.8;
		margin-bottom: 0;
	}

	.plan-status {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		background: rgba(47, 158, 68, .12);
		color: var(--cp-success);
		padding: 8px 12px;
		border-radius: 999px;
		font-size: .78rem;
		font-weight: 700;
	}

	.section-list {
		list-style: none;
		padding: 0;
		margin: 0;
		display: grid;
		gap: 12px;
	}

	.section-list li {
		display: flex;
		align-items: flex-start;
		gap: 12px;
		background: #fffaf8;
		border: 1px solid var(--cp-border);
		border-radius: 16px;
		padding: 14px;
	}

	.section-list li i {
		width: 36px;
		height: 36px;
		border-radius: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgba(235, 111, 70, 0.12);
		color: var(--cp-primary);
		font-size: 16px;
		flex-shrink: 0;
	}

	.section-list strong {
		display: block;
		color: var(--cp-dark);
		font-size: .95rem;
		margin-bottom: 4px;
	}

	.side-stack {
		display: grid;
		gap: 16px;
	}

	.progress-group {
		display: grid;
		gap: 12px;
	}

	.progress-line {
		background: #fff8f4;
		border: 1px solid var(--cp-border);
		border-radius: 16px;
		padding: 12px 14px;
	}

	.progress-line .meta {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		font-size: .86rem;
		font-weight: 700;
		color: var(--cp-dark);
		margin-bottom: 10px;
	}

	.progress-track {
		height: 10px;
		border-radius: 999px;
		background: #fde6db;
		overflow: hidden;
	}

	.progress-fill {
		height: 100%;
		border-radius: 999px;
		background: linear-gradient(135deg, var(--cp-primary), var(--cp-danger));
	}

	.tag-row {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin-top: 14px;
	}

	.plan-tag {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 9px 12px;
		border-radius: 999px;
		background: #fff7f2;
		border: 1px solid var(--cp-border);
		color: var(--cp-text);
		font-size: .82rem;
		font-weight: 700;
	}

	.summary-band {
		position: relative;
		margin-top: -46px;
		z-index: 4;
	}

	.summary-panel {
		background: #fff;
		border: 1px solid var(--cp-border);
		border-radius: 24px;
		padding: 34px 24px;
		box-shadow: var(--cp-shadow);
	}

	.summary-item i {
		font-size: 30px;
		color: var(--cp-primary);
		margin-bottom: 14px;
	}

	.summary-item h3 {
		font-size: 1.08rem;
		color: var(--cp-dark);
		font-weight: 700;
		margin-bottom: 10px;
	}

	.summary-item p {
		color: var(--cp-muted);
		line-height: 1.8;
		margin: 0;
	}

	.trust-bar {
		background: linear-gradient(180deg, #fff9f6 0%, #fff4ee 100%);
		border-top: 1px solid var(--cp-border);
		border-bottom: 1px solid var(--cp-border);
	}

	.trust-chip {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 10px 16px;
		background: #fff;
		border: 1px solid var(--cp-border);
		border-radius: 999px;
		color: var(--cp-muted);
		font-size: .92rem;
		font-weight: 600;
	}

	.trust-chip i {
		color: var(--cp-primary);
	}

	.icon-wrap {
		width: 64px;
		height: 64px;
		border-radius: 18px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		font-size: 28px;
		margin-bottom: 18px;
	}

	.bg-primary-soft {
		background: linear-gradient(135deg, #EB6F46, #ff946d);
	}

	.bg-secondary-soft {
		background: linear-gradient(135deg, #ffc107, #ffd95f);
		color: #5c3b00 !important;
	}

	.bg-danger-soft {
		background: linear-gradient(135deg, #dc3545, #ef6874);
	}

	.bg-info-soft {
		background: linear-gradient(135deg, #7c4dff, #a985ff);
	}

	.bg-dark-soft {
		background: linear-gradient(135deg, #5a1d22, #8d2d37);
	}

	.check-list {
		list-style: none;
		padding: 0;
		margin: 0;
	}

	.check-list li {
		position: relative;
		padding-left: 34px;
		margin-bottom: 16px;
		color: var(--cp-text);
		line-height: 1.75;
	}

	.check-list li::before {
		content: "\e64c";
		font-family: 'themify';
		position: absolute;
		left: 0;
		top: 2px;
		color: var(--cp-danger);
		font-size: 16px;
	}

	.timeline-flow {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 18px;
	}

	.timeline-step {
		min-width: 140px;
		text-align: center;
	}

	.timeline-step .circle {
		width: 78px;
		height: 78px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		margin: 0 auto 12px;
		font-size: 28px;
		box-shadow: 0 12px 22px rgba(235, 111, 70, .16);
	}

	.timeline-line {
		width: 56px;
		border-top: 2px dashed #efb8a6;
		margin-top: -22px;
	}

	.stats-section {
		background: linear-gradient(180deg, #fff9f5 0%, #fff2e8 100%);
	}

	.stat-card {
		background: #fff;
		border: 1px solid var(--cp-border);
		border-radius: 18px;
		padding: 28px 18px;
		text-align: center;
		height: 100%;
		box-shadow: 0 10px 24px rgba(51, 27, 23, .05);
	}

	.stat-number {
		font-size: 2.5rem;
		color: var(--cp-primary);
		font-weight: 800;
		margin-bottom: 6px;
	}

	.stat-label {
		color: var(--cp-muted);
		font-size: .95rem;
		font-weight: 600;
	}

	.cta-section {
		background:
			radial-gradient(circle at top right, rgba(255, 255, 255, .08), transparent 20%),
			linear-gradient(135deg, #5a1d22 0%, #dc3545 42%, #EB6F46 78%, #ffc107 100%);
		color: #fff;
		padding: 82px 0;
	}

	.cta-section h2 {
		color: #fff;
		font-size: 2.35rem;
		font-weight: 800;
		margin-bottom: 14px;
	}

	.cta-section p {
		max-width: 760px;
		margin: 0 auto 25px;
		color: rgba(255, 255, 255, .88);
		line-height: 1.85;
	}

	@media (min-width: 1200px) {
		.container {
			max-width: 1140px;
		}
	}

	@media (max-width: 991px) {
		.hero-title {
			font-size: 2.45rem;
		}

		.summary-band {
			margin-top: -30px;
		}

		.hero-grid {
			grid-template-columns: 1fr;
		}
	}

	@media (max-width: 767px) {
		.cp-hero {
			padding: 82px 0 62px;
		}

		.hero-title {
			font-size: 2rem;
		}

		.hero-actions {
			flex-direction: column;
			align-items: stretch;
		}

		.btn-cp-primary,
		.btn-cp-outline {
			justify-content: center;
		}

		.summary-panel {
			padding: 24px 18px;
		}

		.section-title {
			font-size: 1.85rem;
		}

		.cta-section h2 {
			font-size: 1.85rem;
		}

		.timeline-line {
			display: none;
		}
	}

	@media (max-width: 575px) {
		.hero-title {
			font-size: 1.75rem;
		}

		.care-plan-card,
		.risk-card,
		.mini-card,
		.feature-card,
		.detail-card,
		.process-card,
		.value-card,
		.faq-card,
		.summary-card,
		.timeline-card {
			padding: 22px 18px;
		}

		.stat-number {
			font-size: 2rem;
		}

		.hero-topbar {
			padding: 12px;
		}

		.hero-control,
		.hero-chip {
			width: 100%;
			justify-content: center;
		}

		.hero-control.primary {
			margin-left: 0;
		}
	}

	@media print {

		.cp-hero,
		.cta-section,
		.hero-actions,
		.btn-cp-primary,
		.btn-cp-outline {
			display: none !important;
		}

		.care-plan-card,
		.risk-card,
		.mini-card,
		.feature-card,
		.detail-card,
		.process-card,
		.value-card,
		.faq-card,
		.summary-card,
		.timeline-card,
		.stat-card {
			box-shadow: none !important;
			break-inside: avoid;
		}
	}