.legal-page {
	--legal-ink: #1b1b1b;
	--legal-muted: #68645f;
	--legal-line: #e7e1d8;
	--legal-soft: #faf8f4;
	--legal-accent: #f79400;
	--legal-accent-dark: #fb3702;
	background: #fff;
}

.legal-layout {
	width: min(920px, calc(100% - 40px));
	margin: 0 auto;
	padding: 82px 0 100px;
}

.legal-content {
	position: relative;
	padding: 46px 58px;
	border: 1px solid var(--legal-line);
	border-top: 4px solid var(--legal-accent);
	background: #fff;
	box-shadow: 0 18px 45px rgba(30, 24, 17, 0.08);
	color: var(--legal-muted);
}

.legal-content::before {
	position: absolute;
	top: 14px;
	right: 18px;
	width: 46px;
	height: 46px;
	border-top: 1px solid rgba(247, 148, 0, 0.5);
	border-right: 1px solid rgba(247, 148, 0, 0.5);
	content: '';
}

.legal-intro {
	margin: 0 0 38px;
	padding: 25px 28px;
	border-left: 4px solid var(--legal-accent);
	background: var(--legal-soft);
}

.legal-intro p {
	margin: 8px 0 0;
	color: var(--legal-ink);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 1px;
}

.legal-kicker {
	color: var(--legal-accent-dark);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: capitalize;
}

.legal-section {
	padding: 34px 0;
	border-top: 1px solid var(--legal-line);
}

.legal-section:first-of-type { padding-top: 0; border-top: 0; }

.legal-section h2 {
	position: relative;
	margin: 0 0 15px;
	padding-left: 19px;
	color: var(--legal-ink);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 1px;
}

.legal-section h2::before {
	position: absolute;
	top: 4px;
	left: 0;
	width: 5px;
	height: 24px;
	background: var(--legal-accent);
	content: '';
}

.legal-section h3 {
	margin: 24px 0 8px;
	color: var(--legal-ink);
	font-size: 19px;
	font-weight: 700;
}

.legal-section p {
	margin: 0 0 15px;
	font-size: 17px;
	line-height: 1.75;
	letter-spacing: 1px;
}

.legal-section p:last-child { margin-bottom: 0; }

.legal-section ul {
	margin: 12px 0 0;
	padding-left: 22px;
}

.legal-section li {
	margin-bottom: 10px;
	font-size: 17px;
	line-height: 1.65;
	letter-spacing: 1px;
	list-style: disc;
}

.legal-section li::marker { color: var(--legal-accent); }

.legal-highlight {
	margin: 22px 0;
	padding: 20px 23px;
	border: 1px solid #f0d2aa;
	border-left: 4px solid var(--legal-accent);
	background: #fffaf2;
	color: var(--legal-ink);
	font-size: 18px;
	line-height: 1.65;
	letter-spacing: 1px;
}

.legal-contact {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 22px;
}

.legal-contact_card {
	padding: 21px 22px;
	border: 1px solid var(--legal-line);
	background: #fff;
	transition: border-color 200ms ease, transform 200ms ease;
}

.legal-contact_card:hover {
	border-color: var(--legal-accent);
	transform: translateY(-3px);
}

.legal-contact_card span {
	display: block;
	margin-bottom: 7px;
	color: var(--legal-accent-dark);
	font-size: 18px;
	font-weight: 600;
	text-transform: capitalize;
	letter-spacing: 1px;
}

.legal-contact_card a {
	color: var(--legal-ink);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 1px;
}

.legal-contact_card a:hover { color: var(--legal-accent-dark); }

@media (max-width: 800px) {
	.legal-layout { padding: 65px 0 75px; }
	.legal-content { padding: 38px 34px; }
}

@media (max-width: 575px) {
	.legal-layout { width: min(100% - 30px, 560px); }
	.legal-content { padding: 30px 20px; }
	.legal-intro { padding: 21px 19px; }
	.legal-intro p { font-size: 19px; }
	.legal-section h2 { font-size: 25px; }
	.legal-contact { grid-template-columns: 1fr; }
}
