/* News Shorts & Timeline */
.nst-wrap {
	--nst-accent: #e8392b;
	--nst-line: 36px;
	grid-column: 1 / -1;
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
	clear: both;
	margin: 28px 0;
	box-sizing: border-box;
}
.nst-wrap *, .nst-wrap *::before, .nst-wrap *::after { box-sizing: border-box; }
.nst-section { margin: 0 0 36px; }
.nst-wrap a { text-decoration: none; box-shadow: none; }

/* Headings */
.nst-wrap .nst-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	padding: 0;
	font: 800 22px/1.1 "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #111;
}
.nst-wrap .nst-head::before {
	content: "";
	flex: none;
	width: 8px;
	height: 30px;
	background: #111;
}
.nst-live {
	width: 9px;
	height: 9px;
	margin-left: 2px;
	border-radius: 50%;
	background: var(--nst-accent);
	animation: nst-pulse 1.8s ease-in-out infinite;
}
@keyframes nst-pulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.8); } }

/* Shorts carousel */
.nst-carousel { position: relative; }
.nst-track {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.nst-track::-webkit-scrollbar { display: none; }
.nst-short {
	position: relative;
	display: block;
	flex: 0 0 min(250px, 68vw);
	aspect-ratio: 9 / 16;
	border-radius: 10px;
	overflow: hidden;
	background: #1c1c1c;
	scroll-snap-align: start;
	color: #fff;
}
.nst-short img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}
.nst-short:hover img { transform: scale(1.04); }
.nst-short-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.55) 28%, rgba(0,0,0,0) 58%);
}
.nst-short-body {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
}
.nst-short-title {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font: 800 18px/1.3 "Helvetica Neue", Arial, sans-serif;
	color: #fff;
}
.nst-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 13px 6px 10px;
	border-radius: 999px;
	background: rgba(0,0,0,.62);
	font: 700 14px/1 "Helvetica Neue", Arial, sans-serif;
	color: #fff;
}
.nst-badge:not(:has(svg)) { padding-left: 13px; }
.nst-play { flex: none; }

.nst-arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: none;
	width: 42px;
	height: 42px;
	margin-top: -21px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0,0,0,.7);
	color: #fff;
	font: 400 28px/40px Arial, sans-serif;
	text-align: center;
	cursor: pointer;
}
.nst-arrow:hover { background: #000; }
.nst-prev { left: 8px; }
.nst-next { right: 8px; }
@media (hover: hover) and (min-width: 700px) {
	.nst-arrow { display: block; opacity: 0; transition: opacity .2s; }
	.nst-carousel:hover .nst-arrow { opacity: 1; }
}

/* Timeline */
.nst-tl-list {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}
.nst-tl-list::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	left: var(--nst-line);
	width: 3px;
	margin-left: -1px;
	background: #f6dedb;
	border-radius: 2px;
}
.nst-tl-item { position: relative; margin: 0; padding: 0; list-style: none; }
.nst-tl-time {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 0 14px calc(var(--nst-line) - 6px);
	font: 700 17px/1 "Helvetica Neue", Arial, sans-serif;
	color: var(--nst-accent);
}
.nst-dot {
	flex: none;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: var(--nst-accent);
	margin-left: -1px;
}
.nst-tl-time time { color: var(--nst-accent); }

.nst-card {
	position: relative;
	display: flex;
	align-items: stretch;
	min-height: 96px;
	margin-right: 0;
	border: 2px solid #f4f0ee;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
	color: #111;
	transition: box-shadow .2s ease;
}
.nst-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.nst-thumb {
	flex: none;
	width: 96px;
	background: #e9e6e4;
}
.nst-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 96px;
	object-fit: cover;
}
.nst-card-title {
	flex: 1;
	align-self: center;
	padding: 12px 16px;
	font: 700 18px/1.35 Georgia, "Times New Roman", serif;
	color: #1a1a1a;
}

.nst-faded .nst-tl-list {
	-webkit-mask-image: linear-gradient(to bottom, #000 78%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 78%, transparent 100%);
}
.nst-more {
	display: block;
	margin: 12px auto 0;
	padding: 11px 28px;
	border: 2px solid var(--nst-accent);
	border-radius: 999px;
	background: #fff;
	color: var(--nst-accent);
	font: 700 15px/1 "Helvetica Neue", Arial, sans-serif;
	cursor: pointer;
}
.nst-more:hover { background: var(--nst-accent); color: #fff; }
.nst-more[hidden] { display: none; }
.nst-more.is-loading { opacity: .6; cursor: wait; }

.nst-new { animation: nst-in .6s ease; }
@keyframes nst-in { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }

@media (min-width: 700px) {
	.nst-thumb { width: 150px; }
	.nst-card { min-height: 112px; }
	.nst-card-title { font-size: 21px; padding: 14px 22px; }
	.nst-short { flex-basis: 260px; }
}
@media (prefers-reduced-motion: reduce) {
	.nst-live, .nst-new { animation: none; }
}

/* Placement helpers */
.nst-slot { list-style: none; grid-column: 1 / -1; flex: 0 0 100%; width: 100%; margin: 0; padding: 0; }
.nst-slot::marker { content: ""; }
