@import url("https://fonts.googleapis.com/css2?family=Darker+Grotesque:wght@500;700;900&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&display=swap");

.rauscher-rich-text {
	--copy-background: oklch(0.9 0.17 95);
	--copy-colour: #16130f;
	--heading-colour: #16130f;
	--copy-size: 19px;
	overflow-wrap: anywhere;
	background: var(--copy-background);
	color: var(--copy-colour);
	font:
		400 var(--copy-size)/1.5 "DM Sans",
		system-ui,
		sans-serif;
}
.rauscher-rich-text.on-dark {
	--copy-background: #16130f;
	--copy-colour: #fffdf6;
	--heading-colour: oklch(0.9 0.17 95);
}
.rauscher-rich-text.on-paper {
	--copy-background: #fffdf6;
}
.rauscher-rich-text.copy-article {
	line-height: 1.7;
}
.rauscher-rich-text.copy-intro {
	--copy-size: 21px;
}
.rauscher-rich-text.copy-card {
	--copy-size: 15px;
}
.rauscher-rich-text .tiptap {
	background: var(--copy-background);
	color: var(--copy-colour);
	font: inherit;
	min-height: 120px;
	padding: 20px;
}
.rauscher-rich-text :is(h1, h2, h3, h4, h5, h6) {
	color: var(--heading-colour);
	font-family: "Darker Grotesque", sans-serif;
	font-weight: 900;
	line-height: 0.95;
	letter-spacing: -0.02em;
	margin: 0.7em 0 0.3em;
}
.rauscher-rich-text h1 {
	font-size: 80px;
}
.rauscher-rich-text h2 {
	font-size: 60px;
}
.rauscher-rich-text h3 {
	font-size: 40px;
}
.rauscher-rich-text h4 {
	font-size: 30px;
}
.rauscher-rich-text h5 {
	font-size: 24px;
}
.rauscher-rich-text h6 {
	font-size: 20px;
}
.rauscher-rich-text p {
	font: inherit;
	color: inherit;
	margin: 0 0 0.75em;
}
.rauscher-rich-text :is(ul, ol) {
	margin: 0 0 0.75em;
	padding-left: 1.4em;
}
.rauscher-rich-text ul {
	list-style: disc;
}
.rauscher-rich-text ol {
	list-style: decimal;
}
.rauscher-rich-text li {
	margin-block: 0.3em;
}
.rauscher-rich-text blockquote {
	border-left: 3px solid var(--heading-colour);
	padding-left: 1em;
	margin: 1em 0;
}
.rauscher-rich-text a {
	color: var(--heading-colour);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.rauscher-rich-text :is(strong, b) {
	font-weight: 700;
}
.rauscher-rich-text :is(em, i) {
	font-style: italic;
}
.rauscher-rich-text :is(code, pre) {
	font-family: monospace;
}
.rauscher-rich-text pre {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}
.rauscher-rich-text :first-child {
	margin-top: 0;
}
.rauscher-rich-text :last-child {
	margin-bottom: 0;
}
.rauscher-rich-text.editor-preview {
	border-radius: 8px;
	overflow: clip;
}
.rauscher-rich-text.editor-preview [data-emdash-editor-surface] {
	background: var(--copy-background);
}
