:root {
	--primary-green: #2D5A3D;
	--primary-green-light: #3D7A52;
	--primary-green-dark: #1E3D29;
	--accent-gold: #B8860B;
	--accent-gold-light: #DAA520;
	--neutral-warm: #FAF8F5;
	--neutral-cream: #F5F1EB;
	--text-dark: #2C2C2C;
	--text-medium: #5A5A5A;
	--trust-blue: #1E3A5F;
	--trust-blue-light: #2E5A8F;
	--protection-teal: #0D5C63;
	--protection-teal-light: #1A8A94;
	--alert-red: #8B2635;
	--alert-red-light: #A63D4C;
	--confidential-purple: #4A3B5C;
	--confidential-purple-light: #6B5A7D;
}

.policy-section {
	background: linear-gradient(135deg, #ffffff 0%, var(--neutral-cream) 100%);
	border-radius: 16px;
	padding: 3rem;
	margin-bottom: 2.5rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
	border-left: 5px solid var(--primary-green);
}

.section-header {
	display: flex;
	align-items: center;
	margin-bottom: 1.5rem;
}

.section-icon {
	width: 56px;
	height: 56px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 1.25rem;
	flex-shrink: 0;
}

.section-icon svg {
	width: 28px;
	height: 28px;
}

.section-number {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--accent-gold);
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-bottom: 0.25rem;
}

.section-title {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--primary-green-dark);
	line-height: 1.3;
}

.policy-text {
	color: var(--text-medium);
	font-size: 1.05rem;
	line-height: 1.85;
	text-align: justify;
}

.policy-text p {
	margin-bottom: 1.25rem;
}

.highlight-box {
	background: linear-gradient(135deg, var(--primary-green) 0%, var(--primary-green-light) 100%);
	border-radius: 12px;
	padding: 2rem;
	margin: 2rem 0;
	color: white;
}

.highlight-box-trust {
	background: linear-gradient(135deg, var(--trust-blue) 0%, var(--trust-blue-light) 100%);
}

.highlight-box-protection {
	background: linear-gradient(135deg, var(--protection-teal) 0%, var(--protection-teal-light) 100%);
}

.highlight-box-alert {
	background: linear-gradient(135deg, var(--alert-red) 0%, var(--alert-red-light) 100%);
}

.highlight-box-confidential {
	background: linear-gradient(135deg, var(--confidential-purple) 0%, var(--confidential-purple-light) 100%);
}

.highlight-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
	display: flex;
	align-items: center;
}

.highlight-title svg {
	width: 24px;
	height: 24px;
	margin-right: 0.75rem;
}

.scope-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
	margin-top: 2rem;
}

.scope-card {
	background: white;
	border-radius: 12px;
	padding: 1.75rem;
	border: 2px solid transparent;
	transition: all 0.3s ease;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.scope-card:hover {
	border-color: var(--primary-green);
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(45, 90, 61, 0.12);
}

.scope-card-icon {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--primary-green) 0%, var(--primary-green-light) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
}

.scope-card-icon svg {
	width: 24px;
	height: 24px;
	color: white;
}

.scope-card-title {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--primary-green-dark);
	margin-bottom: 0.5rem;
}

.scope-card-text {
	color: var(--text-medium);
	font-size: 0.95rem;
	line-height: 1.6;
}

.concerns-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 1.25rem;
	margin-top: 2rem;
}

.concern-item {
	display: flex;
	align-items: flex-start;
	background: white;
	padding: 1.5rem;
	border-radius: 10px;
	border-left: 4px solid var(--accent-gold);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.concern-icon {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: linear-gradient(135deg, var(--accent-gold) 0%, var(--accent-gold-light) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 1rem;
	flex-shrink: 0;
}

.concern-icon svg {
	width: 20px;
	height: 20px;
	color: white;
}

.concern-content h4 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--primary-green-dark);
	margin-bottom: 0.35rem;
}

.concern-content p {
	font-size: 0.9rem;
	color: var(--text-medium);
	line-height: 1.5;
}

.reporting-channels {
	background: linear-gradient(135deg, var(--neutral-cream) 0%, #ffffff 100%);
	border-radius: 16px;
	padding: 2.5rem;
	margin: 2rem 0;
	border: 2px solid var(--primary-green);
}

.channel-header {
	text-align: center;
	margin-bottom: 2rem;
}

.channel-header h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--primary-green-dark);
	margin-bottom: 0.5rem;
}

.channel-header p {
	color: var(--text-medium);
	font-size: 1rem;
}

.channel-steps {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.channel-step {
	display: flex;
	align-items: flex-start;
	background: white;
	padding: 1.5rem;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.step-number {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--primary-green) 0%, var(--primary-green-light) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-weight: 700;
	font-size: 1.25rem;
	margin-right: 1.25rem;
	flex-shrink: 0;
}

.step-content h4 {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--primary-green-dark);
	margin-bottom: 0.5rem;
}

.step-content p {
	color: var(--text-medium);
	font-size: 0.95rem;
	line-height: 1.6;
}

.protection-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 1.5rem;
	margin-top: 2rem;
}

.protection-card {
	background: white;
	border-radius: 12px;
	padding: 1.75rem;
	text-align: center;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
	border-top: 4px solid var(--protection-teal);
}

.protection-card-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--protection-teal) 0%, var(--protection-teal-light) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.25rem;
}

.protection-card-icon svg {
	width: 32px;
	height: 32px;
	color: white;
}

.protection-card h4 {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--primary-green-dark);
	margin-bottom: 0.5rem;
}

.protection-card p {
	color: var(--text-medium);
	font-size: 0.9rem;
	line-height: 1.6;
}

.investigation-timeline {
	position: relative;
	padding-left: 2.5rem;
	margin: 2rem 0;
}

.investigation-timeline::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: linear-gradient(180deg, var(--primary-green) 0%, var(--primary-green-light) 50%, var(--accent-gold) 100%);
	border-radius: 2px;
}

.timeline-item {
	position: relative;
	padding: 1.5rem;
	background: white;
	border-radius: 12px;
	margin-bottom: 1.5rem;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.timeline-item::before {
	content: '';
	position: absolute;
	left: -2.5rem;
	top: 1.75rem;
	width: 16px;
	height: 16px;
	background: var(--primary-green);
	border-radius: 50%;
	border: 3px solid white;
	box-shadow: 0 0 0 3px var(--primary-green);
}

.timeline-item h4 {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--primary-green-dark);
	margin-bottom: 0.5rem;
}

.timeline-item p {
	color: var(--text-medium);
	font-size: 0.95rem;
	line-height: 1.6;
}

.confidentiality-features {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 1.5rem;
	margin-top: 2rem;
}

.confidentiality-item {
	display: flex;
	align-items: flex-start;
	padding: 1.5rem;
	background: white;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.confidentiality-icon {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--confidential-purple) 0%, var(--confidential-purple-light) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 1rem;
	flex-shrink: 0;
}

.confidentiality-icon svg {
	width: 24px;
	height: 24px;
	color: white;
}

.confidentiality-content h4 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--primary-green-dark);
	margin-bottom: 0.35rem;
}

.confidentiality-content p {
	font-size: 0.9rem;
	color: var(--text-medium);
	line-height: 1.55;
}

.commitment-banner {
	background: linear-gradient(135deg, var(--primary-green-dark) 0%, var(--primary-green) 50%, var(--primary-green-light) 100%);
	border-radius: 20px;
	padding: 3.5rem;
	text-align: center;
	color: white;
	margin: 3rem 0;
	position: relative;
	overflow: hidden;
}

.commitment-banner::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
	animation: shimmer 15s infinite linear;
}

@keyframes shimmer {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.commitment-banner h3 {
	font-size: 1.75rem;
	font-weight: 700;
	margin-bottom: 1rem;
	position: relative;
	z-index: 1;
}

.commitment-banner p {
	font-size: 1.1rem;
	line-height: 1.7;
	max-width: 800px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	opacity: 0.95;
}

.anonymous-notice {
	background: linear-gradient(135deg, #FFF8E7 0%, #FFF5D6 100%);
	border: 2px solid var(--accent-gold);
	border-radius: 12px;
	padding: 1.75rem;
	margin: 2rem 0;
	display: flex;
	align-items: flex-start;
}

.anonymous-notice-icon {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--accent-gold) 0%, var(--accent-gold-light) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 1.25rem;
	flex-shrink: 0;
}

.anonymous-notice-icon svg {
	width: 24px;
	height: 24px;
	color: white;
}

.anonymous-notice-content h4 {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--accent-gold);
	margin-bottom: 0.5rem;
}

.anonymous-notice-content p {
	color: var(--text-medium);
	font-size: 0.95rem;
	line-height: 1.6;
}

.principles-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.principle-item {
	display: flex;
	align-items: center;
	padding: 1rem 1.25rem;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 8px;
}

.principle-item svg {
	width: 24px;
	height: 24px;
	color: var(--primary-green);
	margin-right: 1rem;
	flex-shrink: 0;
}

.principle-item span {
	color: var(--text-dark);
	font-size: 0.95rem;
	font-weight: 500;
}

.document-info {
	background: var(--neutral-cream);
	border-radius: 12px;
	padding: 2rem;
	margin-top: 2rem;
	text-align: center;
}

.document-info p {
	color: var(--text-medium);
	font-size: 0.9rem;
	margin-bottom: 0.5rem;
}

.document-info p strong {
	color: var(--primary-green-dark);
}

@media (max-width: 768px) {
	.policy-section {
		padding: 2rem 1.5rem;
	}

	.section-icon {
		width: 48px;
		height: 48px;
	}

	.section-title {
		font-size: 1.4rem;
	}

	.commitment-banner {
		padding: 2.5rem 1.5rem;
	}

	.commitment-banner h3 {
		font-size: 1.4rem;
	}

	.investigation-timeline {
		padding-left: 2rem;
	}

	.timeline-item::before {
		left: -2rem;
	}
}