/* Component "legal" (site-polish R5 Step B): a legal document set like a book's contents, faq_hub's grammar. Head (label,
   serif title, line, date + other language, the four legal pages as chips), then an "In short" box and numbered parts; from
   900 px the contents sit in a sticky left column. Reading measure ~68ch. px only (html is 10px). */
:is(#rmh-landing, .rmh-lc) .rmh-l-legal { padding-block: clamp(48px, 7vw, 104px) var(--l-band); background: var(--l-white); }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__head { max-width: 880px; padding-bottom: clamp(24px, 3.4vw, 40px); border-bottom: 1px solid var(--l-sand); }
:is(#rmh-landing, .rmh-lc) h1.rmh-l-legal__title:not(#_) { font-size: clamp(40px, 22px + 3.6vw, 80px); margin-bottom: 20px; }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__head .rmh-l__line { max-width: 56ch; }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__meta {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; margin-top: 20px;
	font: 500 13px/1.5 var(--l-sans); letter-spacing: .04em; color: var(--l-ink-soft);
}
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__meta a {
	display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--l-ink);
	text-decoration: underline; text-decoration-color: var(--l-taupe-deep); text-underline-offset: 5px; transition: color .2s;
}
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__meta a:hover { color: var(--l-taupe-deep); }

/* the four legal pages: chips that scroll sideways on phones, this one filled */
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__docs { margin-top: 20px; margin-inline: calc(-1 * var(--l-gutter)); padding-inline: var(--l-gutter); }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__docs ul { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-block: 2px; }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__docs ul::-webkit-scrollbar { display: none; }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__doc {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid #CFC4B8; border-radius: 999px;
	font: 500 15px/1 var(--l-sans); color: var(--l-ink); text-decoration: none; white-space: nowrap; background: var(--l-white);
	transition: background-color .2s, color .2s, border-color .2s;
}
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__doc:hover { border-color: var(--l-ink); }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__doc[aria-current="page"] { background: var(--l-ink); border-color: var(--l-ink); color: var(--l-white); }
:is(#rmh-landing, .rmh-lc) :is(.rmh-l-legal__doc, .rmh-l-legal__meta a, .rmh-l-legal__topic, .rmh-l-legal__body a):focus-visible {
	outline: 2px solid var(--l-taupe-deep); outline-offset: 3px;
}

/* contents: hidden on phones (the parts are short and numbered); a sticky column from 900 px */
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__index { display: none; }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__index-h {
	margin-bottom: 8px; font: 600 12px/1.4 var(--l-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--l-taupe-deep);
}
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__index ol { display: grid; gap: 0; counter-reset: rmh-legal; }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__topic {
	display: flex; gap: 14px; min-height: 44px; padding: 10px 0; border-bottom: 1px solid var(--l-sand); counter-increment: rmh-legal;
	font: 400 15px/1.35 var(--l-sans); color: var(--l-ink); text-decoration: none; transition: color .2s, border-color .2s;
}
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__topic::before {
	content: counter(rmh-legal, decimal-leading-zero); flex: none; font: 400 15px/1.35 var(--l-serif); color: var(--l-taupe-deep);
}
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__topic:hover, :is(#rmh-landing, .rmh-lc) .rmh-l-legal__topic[aria-current="true"] {
	color: var(--l-taupe-deep); border-bottom-color: var(--l-taupe-deep);
}

/* the body: one readable column */
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__body { max-width: 68ch; }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__body p { margin-top: 14px; color: var(--l-ink-soft); }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__body strong { font-weight: 600; color: var(--l-ink); }
/* :not(#_): the theme sets links to 16 px on phones; a link takes its sentence's size */
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__body a:not(#_) {
	font-size: inherit; line-height: inherit; color: var(--l-ink); text-decoration: underline; text-decoration-color: var(--l-taupe-deep); text-underline-offset: 4px; overflow-wrap: anywhere;
}
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__body a:hover { color: var(--l-taupe-deep); }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__list:not(#_) { margin: 14px 0 0; padding: 0; list-style: none; }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__list li { position: relative; margin-top: 8px; padding-left: 22px; color: var(--l-ink-soft); }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__list li::before {
	content: ""; position: absolute; left: 2px; top: .72em; width: 8px; height: 1px; background: var(--l-taupe-deep);
}

/* "In short": the page in five lines, on cream, before the parts */
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__short {
	margin-top: clamp(32px, 4vw, 48px); padding: clamp(22px, 3vw, 32px); background: var(--l-cream); border-left: 2px solid var(--l-taupe-deep);
}
:is(#rmh-landing, .rmh-lc) h2.rmh-l-legal__short-h:not(#_) {
	margin: 0; font-family: var(--l-serif) !important; font-size: clamp(24px, 18px + .8vw, 30px); font-weight: 400;
	line-height: 1.2; letter-spacing: 0; text-transform: none; color: var(--l-ink);
}
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__short .rmh-l-legal__list li { color: var(--l-ink); }

:is(#rmh-landing, .rmh-lc) .rmh-l-legal__part { padding-top: clamp(36px, 4.4vw, 56px); scroll-margin-top: 96px; }
:is(#rmh-landing, .rmh-lc) h2.rmh-l-legal__h:not(#_) {
	display: flex; gap: 16px; align-items: baseline; margin: 0;
	font-family: var(--l-serif) !important; font-size: clamp(24px, 18px + 1vw, 32px); font-weight: 400;
	line-height: 1.2; letter-spacing: 0; text-transform: none; color: var(--l-ink);
}
:is(#rmh-landing, .rmh-lc) h2.rmh-l-legal__h span { flex: none; font-size: .62em; color: var(--l-taupe-deep); }

:is(#rmh-landing, .rmh-lc) .rmh-l-legal__contact { margin-top: clamp(48px, 6vw, 72px); padding-top: 28px; border-top: 1px solid var(--l-sand); }
:is(#rmh-landing, .rmh-lc) .rmh-l-legal__contact p:not(.rmh-l__label) { margin-top: 6px; color: var(--l-ink); }

@media (min-width: 900px) {
	:is(#rmh-landing, .rmh-lc) .rmh-l-legal__grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 72px; align-items: start; }
	:is(#rmh-landing, .rmh-lc) .rmh-l-legal__index { display: block; position: sticky; top: 120px; padding-top: clamp(32px, 4vw, 48px); }
	:is(#rmh-landing, .rmh-lc) .rmh-l-legal__part { scroll-margin-top: 120px; }
}

@media (prefers-reduced-motion: reduce) {
	:is(#rmh-landing, .rmh-lc) :is(.rmh-l-legal__doc, .rmh-l-legal__topic, .rmh-l-legal__meta a) { transition: none; }
}
