.finwave-story-latest,
.finwave-story-timeline {
	box-sizing: border-box;
	margin-block: 2rem;
	padding: 1.25rem;
	border: 1px solid #767676;
	border-radius: 0.5rem;
	background: #fff;
	color: #1d2327;
}

.finwave-story-latest__label,
.finwave-story-timeline h2 {
	margin-block: 0 0.75rem;
	font-weight: 700;
}

.finwave-story-latest a {
	display: grid;
	gap: 0.25rem;
}

.finwave-story-timeline ol {
	margin: 0;
	padding-inline-start: 0;
	list-style: none;
}

.finwave-story-timeline li {
	position: relative;
	padding: 0.75rem 0.25rem 0.75rem 1.75rem;
}

.finwave-story-timeline li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0.8125rem;
	width: 2px;
	background: #d0d3d4;
}

.finwave-story-timeline__title {
	position: relative;
}

.finwave-story-timeline__title::before {
	content: "";
	position: absolute;
	left: -1.1875rem;
	top: 0.3em;
	width: 0.625rem;
	height: 0.625rem;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #2271b1;
	box-sizing: border-box;
}

.finwave-story-timeline time {
	display: inline;
	font-size: 0.875rem;
	color: #50575e;
}

.finwave-story-latest time {
	display: block;
	font-size: 0.875rem;
	color: #50575e;
}

.finwave-story-timeline__badge {
	display: inline-block;
	margin-inline-start: 0.5rem;
	padding: 0.05rem 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.6;
	white-space: nowrap;
	border-radius: 999px;
	border: 1px solid #2271b1;
	color: #0b4a73;
	background: #eef4fa;
}

.finwave-story-timeline__badge--current {
	border-color: #1d2327;
	color: #1d2327;
	background: #f0f0f1;
}

.finwave-story-timeline__current {
	font-weight: 700;
}

.finwave-story-timeline__current .finwave-story-timeline__title::before {
	background: #2271b1;
}

.finwave-story-latest a:focus-visible,
.finwave-story-timeline a:focus-visible {
	outline: 3px solid #2271b1;
	outline-offset: 3px;
}

