/* Legal pages — Contact layout + document panel (1/3 title · 2/3 content) */

.legal-page .contact-intro {
	min-height: clamp(760px, 70vw, 1100px);
}

.legal-page .legal-intro__container {
	grid-template-columns: minmax(220px, 1fr) minmax(420px, 2fr);
	align-items: start;
}

.legal-page .legal-intro__left .contact-intro__desc {
	max-width: none;
}

.legal-intro__panel {
	display: flex;
	flex-direction: column;
	max-height: min(78vh, 860px);
	overflow: hidden;
}

.legal-intro__scroll {
	margin-top: clamp(12px, 1.2vw, 18px);
	padding: 4px 16px 8px;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	flex: 1 1 auto;
	min-height: 0;
}

.legal-intro__scroll:focus-visible {
	outline: 2px solid #cfe664;
	outline-offset: 2px;
	border-radius: 8px;
}

.legal-doc {
	color: rgba(24, 24, 24, 0.88);
	font-size: clamp(14px, 0.95vw, 16px);
	line-height: 1.55;
}

.legal-doc__effective {
	margin: 0 0 16px;
	color: rgba(24, 24, 24, 0.62);
	font-size: 0.92em;
	font-weight: 500;
}

.legal-page .legal-intro__panel h2,
.legal-doc__h2 {
	margin: 28px 0 12px;
	color: rgba(24, 24, 24, 0.92);
	font-size: clamp(18px, 1.35vw, 22px);
	font-weight: 700;
	line-height: 1.25;
}

.legal-page .contact-intro__form-title {
	color: rgba(24, 24, 24, 0.92);
}

.legal-doc__h2:first-child {
	margin-top: 0;
}

.legal-doc__h3 {
	margin: 22px 0 10px;
	color: rgba(24, 24, 24, 0.92);
	font-size: clamp(16px, 1.1vw, 18px);
	font-weight: 600;
	line-height: 1.3;
}

.legal-doc__term {
	margin: 18px 0 6px;
	color: rgba(24, 24, 24, 0.95);
	font-size: 1em;
	font-weight: 600;
	line-height: 1.35;
}

.legal-doc__p {
	margin: 0 0 12px;
}

.legal-doc__list {
	margin: 0 0 14px;
	padding-left: 1.15em;
	list-style: disc;
}

.legal-doc__list li {
	margin: 0 0 6px;
	padding: 0;
	list-style: disc;
}

.legal-doc a {
	color: rgba(24, 24, 24, 0.92);
	text-decoration: underline;
	text-underline-offset: 2px;
	word-break: break-word;
}

.legal-doc a:hover {
	color: #cfe664;
}

@media (max-width: 1025px) {
	.legal-page .legal-intro__container {
		grid-template-columns: 1fr;
	}

	.legal-intro__panel {
		max-height: none;
	}

	.legal-intro__scroll {
		max-height: min(70vh, 640px);
	}
}

@media (max-width: 600px) {
	.legal-intro__scroll {
		padding-left: 12px;
		padding-right: 12px;
		max-height: min(65vh, 560px);
	}
}
