.timeline-block {
    padding-top: 100px;
}

.timeline-block .timeline-container {
	position:relative;
	padding:100px 0;
	max-width:1200px;
	margin: 0 auto;
}

/* Keskiviiva */
.timeline-block .timeline-line {
	position:absolute;
	left:50%;
	top:0;
	bottom:0;
	width:2px;
	background:rgba(0,0,0,0.3);
	transform:translateX(-50%);
	z-index: 1;
}

/* Rivi ja limitys */
.timeline-block .timeline-row {
	display:flex;
	position:relative;
	/*z-index:2;*/ 
	margin-top:-160px;
}

.timeline-block .timeline-row:first-child {
	margin-top:0;
}

.timeline-block .timeline-col {
	width:50%;
	padding:0 60px;
	z-index:1;
}

.timeline-block .timeline-col.d-none.d-lg-block {
	z-index: 0;
}

/* Pallura ja vuosi janalla */
.timeline-block .marker-point {
	position:absolute;
	left:50%;
	top:40px;
	transform:translateX(-50%);
	z-index:10;
	text-align:center;
	transform-origin:center center;
}

[data-aos="zoom-in"].marker-point {
	transform:translateX(-50%) scale(0);
	opacity:0;
}

[data-aos="zoom-in"].marker-point.aos-animate {
	transform:translateX(-50%) scale(1);
	opacity:1;
}

.timeline-block .marker-year {
	background:var(--dark);
	color:var(--white);
	font-size:10px;
	font-weight:900;
	padding:3px 12px;
	border-radius:20px;
	display:block;
	margin-bottom:5px;
	text-transform:uppercase;
	box-shadow:0 4px 10px rgba(0,0,0,0.1);
}

.timeline-block .marker-dot {
	width:22px;
	height:22px;
	background:var(--primary);
	border:4px solid var(--white);
	border-radius:50%;
	box-shadow:0 0 0 4px rgba(0,0,0,0.2);
	margin: 0 auto;
}

/* Kortin tyyli */
.timeline-block .node-card {
	background:var(--white);
	border-radius:24px;
	padding:28px;
	box-shadow:0 12px 40px rgba(0,0,0,0.06);
	border:1px solid #eef2f6;
	transition:transform 0.3s ease;
}

.timeline-block .node-card:hover {
	transform:translateY(-5px);
	z-index:20;
}

.timeline-block .card-label {
	color:var(--primary);
	font-weight:800;
	font-size:11px;
	text-transform:uppercase;
	display:block;
	margin-bottom:10px;
	letter-spacing:1px;
}

.timeline-block .node-img {
	width:100%;
	height:200px;
	object-fit:cover;
	border-radius:16px;
	margin-bottom:20px;
}

.timeline-block .h4 {
	font-weight:800;
	font-size:1.2rem;
	margin-bottom:12px;
	letter-spacing:-0.5px;
}

.timeline-block .snippet {
	font-size:0.88rem;
	line-height:1.6;
	margin-bottom: 15px;
}

/* Tagit */
/*.subtext {
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-bottom:20px;
}*/

.timeline-block .subtext a {
	background:#f8fafc;
	color:#64748b;
	font-size:9px;
	font-weight:800;
	padding:4px 10px;
	border-radius:50px;
	text-transform:uppercase;
	border: 1px solid #e2e8f0;
}

/* Lue lisää -haitari */
.timeline-block .btn-read-more {
	background:none;
	border:none;
	color:var(--primary);
	font-weight:700;
	font-size:0.85rem;
	padding:0;
	cursor:pointer;
	display:flex;
	align-items:center;
	outline:none !important;
}

.timeline-block .btn-read-more i {
	margin-left:8px;
	transition:transform 0.3s;
}

.timeline-block .btn-read-more[aria-expanded="true"] i {
	transform:rotate(180deg);
}

.timeline-block .extended-text {
	font-size:0.85rem;
	line-height:1.7;
	border-top:1px dashed rgba(0,0,0,0.2);
	padding-top:15px;
	margin-top: 15px;
}

/* Mobiili */
@media (max-width:991px) {
	.timeline-block {
		padding-top: 0;
	}
	.timeline-block .timeline-line {
		left:30px;
	}
	.timeline-block .timeline-row {
		flex-direction:column;
		margin-top:0 !important;
		margin-bottom:40px;
	}
	.timeline-block .timeline-col {
		width:100%;
		padding-left:70px;
		padding-right:20px;
	}
	.timeline-block .marker-point {
		left:30px;
		top:20px;
		transform:none !important;
	}
	[data-aos="zoom-in"].marker-point,[data-aos="zoom-in"].marker-point.aos-animate {
		transform:none !important;
		opacity: 1 !important;
	}
}