/* Investor pitch styling */
.toc-link { font-size:.75rem; }
.toc-link.btn { line-height:1.2; }
/* Ensure consistent height & vertical alignment for TOC buttons and print button */
.toc .btn.btn-sm { 
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:.35rem .6rem;
	line-height:1.1; /* tighter so text visually centers */
}
.toc-link.active, .toc-link:focus { box-shadow:0 0 0 .15rem rgba(var(--bs-primary-rgb), .35); }
.section-block { scroll-margin-top: 90px; }
.metric-tile { background: var(--bs-light); border:1px solid var(--bs-border-color); border-radius:.5rem; padding:.6rem .75rem; height:100%; }
.metric-value { font-size:1.2rem; font-weight:600; }
.problem-list strong, .solution-list strong { color: var(--bs-primary); }
.columns-2 { columns: 2; -webkit-columns:2; -moz-columns:2; }
@media (max-width: 767.98px){ .columns-2 { columns:1; } }
#backToTop { opacity:0; transition:opacity .25s; }
#backToTop.visible { opacity:1; }
/* Sticky toolbar */
.pitch-toolbar { position:sticky; top:0; z-index:1030; background: var(--bs-body-bg); border-bottom:1px solid var(--bs-border-color); }
.pitch-toolbar .btn { white-space:nowrap; }
@media (max-width: 767.98px){ .pitch-toolbar { overflow-x:auto; } }
@media print { 
	/* Hide interactive / navigation elements */
	nav, #expandAll, #collapseAll, #printPageBtn, #printBtn, #backToTop, .toc-link, .btn, .alert button { display:none !important; }
	/* Ensure informational alerts print (override global calendar.css that hides .alert) */
	.alert { display:block !important; border:1px solid #999 !important; background:#f8f9fa !important; }
	/* Show URL targets after links for paper context */
	a[href]:after { content:" (" attr(href) ")"; font-size:0.75em; }
	body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.section-block { page-break-inside: avoid; }
	table { page-break-inside: auto; }
	tr, td, th { page-break-inside: avoid; page-break-after: auto; }
	.card { box-shadow:none !important; border:1px solid #ccc; }
	.accordion-button { background:#fff !important; box-shadow:none !important; }
	/* Force all collapsible sections open for print */
	.accordion-collapse, .collapse { display:block !important; height:auto !important; visibility:visible !important; }
}

/* Problem table category rows */
.problem-solution-table .problem-category-row td { background: var(--bs-secondary-bg); letter-spacing:.5px; }
.problem-solution-table td { vertical-align: top; }
/* Equal column widths for problem/solution table */
.problem-solution-table.equal-cols { table-layout: fixed; width:100%; }
.problem-solution-table.equal-cols th, .problem-solution-table.equal-cols td { word-wrap:break-word; }

/* Section header separators */
.section-block > h2 {
	position: relative;
	padding-top: .9rem;
	margin-top: 2.25rem;
}
.section-block > h2:before,
.section-block > h2:after {
	content: "";
	display: block;
	height: 1px;
	background: var(--bs-border-color);
	width: 100%;
	position: relative;
}
.section-block > h2:before { margin-bottom: .65rem; }
.section-block > h2:after { margin-top: .65rem; }

/* First section (hero or first h2) avoid double top line if immediately following page start */
section#hero h1 { margin-bottom: 1.75rem; }

