/* Extracted styles from original monolithic template */
.scrolly-layout {
	display: grid;
	grid-template-columns: 1fr 340px;
	grid-template-rows: auto 1fr;
	gap: 1.5rem;
	min-height: calc(100vh - 70px);
	overflow-x: clip; /* Prevent horizontal scroll from child content */
}

/* Prevent grid/flex children from expanding beyond their container */
.scrolly-layout > * {
	min-width: 0;
}

@media (max-width:991.98px) {
	.scrolly-layout {
		grid-template-columns: 1fr;
	}
}

.ss-section {
	scroll-margin-top: 130px;
	margin-bottom: 3rem;
	background: var(--bg-light);
	border-radius: 1rem;
	padding: 1rem;
	box-shadow: var(--shadow-s);
	min-width: 0; /* Prevent flex/grid expansion */
	overflow-x: clip; /* Contain overflowing children */
}

/* Mobile: tighter section padding */
@media (max-width: 575.98px) {
	.ss-section {
		padding: 0.75rem;
		margin-bottom: 2rem;
		border-radius: 0.75rem;
	}
}


.cell[data-score] {
	color: #fff
}

/* Performance: skip rendering off-screen heavy sections until near viewport */
section#tradeoff-ledger,
section#moat-map,
section#engine-map,
section#fairvalue,
section#kpis,
section#highlights,
section#trends,
section#alerts,
section#filings,
section#benchmarks,
section#financials {
	content-visibility: auto;
	contain-intrinsic-size: auto 600px; /* Use auto width to prevent forced minimum */
}

/* Mobile: reduce section minimum heights */
@media (max-width: 575.98px) {
	section#tradeoff-ledger,
	section#moat-map,
	section#engine-map,
	section#fairvalue,
	section#kpis,
	section#highlights,
	section#trends,
	section#alerts,
	section#filings,
	section#benchmarks,
	section#financials {
		contain-intrinsic-size: auto 400px;
	}
}



@keyframes navPulse {
	0% {
		box-shadow: 0 0 0 0 rgba(var(--bs-primary-rgb), .5)
	}

	70% {
		box-shadow: 0 0 0 .6rem rgba(var(--bs-primary-rgb), 0)
	}

	100% {
		box-shadow: 0 0 0 0 rgba(var(--bs-primary-rgb), 0)
	}
}
