/* Braviosys prose styles — for rendered markdown bodies (case studies, blog posts, legal).
   OiTech has no prose system, so this gives article content theme-consistent typography
   built on OiTech's CSS variables (Space Grotesk titles, DM Sans body, orange accent). */

.bvs-prose {
	font-family: var(--text-font, "Space Grotesk", sans-serif);
	font-size: 18px;
	line-height: 1.8;
	color: #44474d;
}

.bvs-prose > *:first-child {
	margin-top: 0;
}

.bvs-prose h1,
.bvs-prose h2,
.bvs-prose h3,
.bvs-prose h4,
.bvs-prose h5,
.bvs-prose h6 {
	font-family: var(--title-font, "Space Grotesk", sans-serif);
	color: var(--theme-color1, #222429);
	font-weight: 700;
	line-height: 1.25;
	margin: 1.8em 0 0.6em;
}

/* Two heading sizes max: 24px for h2/h3, body size for h4 (bold) */
.bvs-prose h2,
.bvs-prose h3 { font-size: 24px; }
.bvs-prose h4 { font-size: 18px; }

/* Body, lists and quotes all share one size (override the theme's 16px p rule) */
.bvs-prose p,
.bvs-prose li { font-size: 18px; }
.bvs-prose p { margin: 0 0 1.4em; }

.bvs-prose a {
	color: var(--theme-color2, #ffaa17);
	text-decoration: underline;
	font-weight: 500;
	transition: color 0.3s ease;
}
.bvs-prose a:hover { color: var(--theme-color1, #222429); }

.bvs-prose ul,
.bvs-prose ol {
	margin: 0 0 1.4em;
	padding-left: 1.4em;
}
.bvs-prose li { margin-bottom: 0.6em; }
.bvs-prose ul li { list-style: disc; }
.bvs-prose ol li { list-style: decimal; }

.bvs-prose strong { color: var(--theme-color1, #222429); font-weight: 700; }

.bvs-prose blockquote {
	border-left: 3px solid var(--theme-color2, #ffaa17);
	padding: 0.5em 0 0.5em 1.5em;
	margin: 1.6em 0;
	font-style: italic;
	color: var(--theme-color1, #222429);
	font-size: 18px;
}

.bvs-prose code {
	background: var(--theme-color3, #f4f5f8);
	border: 1px solid #e6e8ee;
	border-radius: 4px;
	padding: 0.12em 0.4em;
	font-size: 0.9em;
	font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
	color: var(--theme-color1, #222429);
}

.bvs-prose pre {
	background: var(--theme-color1, #222429);
	color: #f4f5f8;
	border-radius: 8px;
	padding: 1.2em 1.4em;
	overflow-x: auto;
	margin: 0 0 1.6em;
	font-size: 15px;
	line-height: 1.6;
}
.bvs-prose pre code {
	background: none;
	border: none;
	padding: 0;
	color: inherit;
}

.bvs-prose img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 1.6em 0;
}

.bvs-prose hr {
	border: 0;
	border-top: 1px solid #e6e8ee;
	margin: 2.4em 0;
}

.bvs-prose table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.6em;
	font-size: 15px;
}
.bvs-prose th,
.bvs-prose td {
	border: 1px solid #e6e8ee;
	padding: 0.7em 1em;
	text-align: left;
}
.bvs-prose th {
	background: var(--theme-color3, #f4f5f8);
	color: var(--theme-color1, #222429);
	font-family: var(--title-font, "Space Grotesk", sans-serif);
}

.bvs-prose .footnotes {
	margin-top: 3rem;
	border-top: 1px solid #e6e8ee;
	padding-top: 1.5rem;
	font-size: 0.9em;
}
