/* ==========================================================================
   NFCR timeline  [nfcr_timeline]  (0.9.22, Home)
   ========================================================================== */
.nfcr-timeline { max-width: 860px; margin: 0 auto; font-family: var(--nfcr-font); }
.nfcr-timeline .nfcr-timeline__list { margin: 0; padding: 0; list-style: none; }
.nfcr-timeline .nfcr-timeline__item {
	position: relative;
	margin: 0;
	padding: 0 0 36px 34px;
	list-style: none;
	border-left: 2px solid var(--nfcr-track);
}
.nfcr-timeline .nfcr-timeline__item::before {
	content: "";
	position: absolute;
	left: -8px;
	top: 8px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--nfcr-navy);
}
.nfcr-timeline .nfcr-timeline__item.is-first::before { background: var(--nfcr-accent); box-shadow: 0 0 0 5px var(--nfcr-accent-wash); }
.nfcr-timeline .nfcr-timeline__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	cursor: pointer;
	list-style: none;
}
.nfcr-timeline .nfcr-timeline__summary::-webkit-details-marker { display: none; }
.nfcr-timeline .nfcr-timeline__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; min-width: 0; }
.nfcr-timeline .nfcr-timeline__pill {
	display: inline-block;
	padding: 5px 13px;
	border-radius: var(--nfcr-r-chip);
	background: var(--nfcr-surface);
	font-size: var(--nfcr-fs-label);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--nfcr-navy);
}
.nfcr-timeline .nfcr-timeline__title {
	margin: 0;
	padding: 0;
	font-family: var(--nfcr-font);
	font-size: var(--nfcr-fs-h3-xl);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.02em;
	color: var(--nfcr-navy);
	text-transform: none;
}
.nfcr-timeline .nfcr-timeline__sign {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1.5px solid var(--nfcr-line-soft);
	border-radius: 50%;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	color: var(--nfcr-navy);
}
.nfcr-timeline .nfcr-timeline__sign::before { content: "+"; }
.nfcr-timeline details[open] > .nfcr-timeline__summary .nfcr-timeline__sign::before { content: "\2212"; }
.nfcr-timeline .nfcr-timeline__summary:hover .nfcr-timeline__title { color: var(--nfcr-orange); }
.nfcr-timeline .nfcr-timeline__summary:focus-visible { outline: var(--nfcr-focus); outline-offset: 4px; border-radius: var(--nfcr-r-callout); }
.nfcr-timeline .nfcr-timeline__body {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 14px;
	padding: 24px 28px;
	border-radius: var(--nfcr-r-card);
	background: var(--nfcr-surface);
}
.nfcr-timeline .nfcr-timeline__photo { position: relative; flex-shrink: 0; width: 150px; height: 110px; overflow: hidden; border-radius: var(--nfcr-r-callout); background: var(--nfcr-line-chip); }
.nfcr-timeline .nfcr-timeline__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.nfcr-timeline .nfcr-timeline__copy { min-width: 0; }
.nfcr-timeline .nfcr-timeline__text { margin: 0 0 8px; font-size: var(--nfcr-fs-body); line-height: 1.7; color: var(--nfcr-text-2); }
.nfcr-timeline .nfcr-timeline__item--end { padding-bottom: 6px; border-left-style: dashed; }
.nfcr-timeline .nfcr-timeline__item--end::before { top: 4px; background: #fff; border: 2px solid var(--nfcr-line-soft); box-sizing: border-box; }
.nfcr-timeline .nfcr-timeline__item--end .nfcr-link { font-size: var(--nfcr-fs-ui); font-weight: 600; }
@media (max-width: 767px) {
	.nfcr-timeline .nfcr-timeline__item { padding-left: 24px; }
	.nfcr-timeline .nfcr-timeline__title { font-size: var(--nfcr-fs-h3-lg); }
	.nfcr-timeline .nfcr-timeline__body { flex-direction: column; align-items: flex-start; padding: 20px; }
	.nfcr-timeline .nfcr-timeline__photo { width: 100%; height: 160px; }
}
