.tnsmgt-media{
	--brand:#004097;
	--brand-2:#0a5bd6;
	--ink:#0b1220;
	--muted:#5b6476;
	--bg:#f6f9ff;
	--line:rgba(0,64,151,.12);
	--shadow:0 16px 40px rgba(12,24,54,.12);
	--shadow-2:0 26px 60px rgba(0,64,151,.18);
	--radius:22px;

	font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
	color:var(--ink);
	background:
		radial-gradient(1200px 800px at 10% 10%, rgba(0,64,151,.10), transparent 55%),
		radial-gradient(900px 600px at 90% 25%, rgba(10,91,214,.10), transparent 55%),
		linear-gradient(180deg, #ffffff 0%, var(--bg) 60%, #ffffff 100%);
	border-radius:clamp(18px, 3vw, 28px);
	padding:clamp(18px, 4vw, 34px);
	overflow:hidden;
}

.tnsmgt-media .tm-head{
	margin-bottom:20px;
}

.tnsmgt-media .tm-kicker{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:8px 12px;
	border-radius:999px;
	background:rgba(0,64,151,.08);
	color:var(--brand);
	font-weight:600;
	border:1px solid rgba(0,64,151,.14);
}

.tnsmgt-media .tm-dot{
	width:10px;
	height:10px;
	border-radius:999px;
	background:conic-gradient(from 180deg, var(--brand), var(--brand-2));
	box-shadow:0 0 0 4px rgba(0,64,151,.12);
}

.tnsmgt-media .tm-title{
	margin:10px 0 0;
	font-size:clamp(24px, 3vw, 40px);
	line-height:1.08;
	letter-spacing:-.5px;
}

.tnsmgt-media .tm-sub{
	margin:10px 0 0;
	color:var(--muted);
	line-height:1.7;
}

.tnsmgt-media .tm-tabs{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	margin:22px 0 18px;
}

.tnsmgt-media .tm-tab{
	appearance:none;
	border:1px solid rgba(0,64,151,.14);
	background:rgba(255,255,255,.7);
	color:var(--brand);
	padding:11px 16px;
	border-radius:999px;
	font-weight:700;
	cursor:pointer;
	transition:all .25s ease;
	box-shadow:0 10px 22px rgba(12,24,54,.06);
}

.tnsmgt-media .tm-tab:hover,
.tnsmgt-media .tm-tab.is-active{
	background:linear-gradient(135deg, var(--brand), var(--brand-2));
	color:#fff;
	border-color:transparent;
	box-shadow:0 14px 30px rgba(0,64,151,.22);
	transform:translateY(-2px);
}

.tnsmgt-media .tm-panels{
	position:relative;
}

.tnsmgt-media .tm-panel{
	display:none;
	animation: tmFade .45s ease;
}

.tnsmgt-media .tm-panel.is-active{
	display:block;
}

@keyframes tmFade{
	from{opacity:0; transform:translateY(10px);}
	to{opacity:1; transform:translateY(0);}
}

.tnsmgt-media .tm-slider{
	position:relative;
	border-radius:var(--radius);
	overflow:hidden;
	background:#fff;
	border:1px solid var(--line);
	box-shadow:var(--shadow);
}

.tnsmgt-media .tm-track{
	display:flex;
	transition:transform .55s cubic-bezier(.22,.61,.36,1);
	will-change:transform;
}

.tnsmgt-media .tm-slide{
	min-width:100%;
	position:relative;
	background:#edf4ff;
}

.tnsmgt-media .tm-slide img{
	display:block;
	width:100%;
	height:min(68vh, 560px);
	object-fit:cover;
}

.tnsmgt-media .tm-caption{
	position:absolute;
	left:18px;
	right:18px;
	bottom:18px;
	padding:14px 16px;
	border-radius:16px;
	background:rgba(7,16,36,.42);
	backdrop-filter:blur(10px);
	color:#fff;
	font-size:14px;
	line-height:1.5;
}

.tnsmgt-media .tm-video-wrap{
	position:relative;
	width:100%;
	padding-top:56.25%;
	background:#000;
	border-radius:var(--radius);
	overflow:hidden;
	box-shadow:var(--shadow);
}

.tnsmgt-media .tm-video-wrap iframe{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	border:0;
}

.tnsmgt-media .tm-nav{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:46px;
	height:46px;
	border:none;
	border-radius:999px;
	cursor:pointer;
	z-index:3;
	display:grid;
	place-items:center;
	background:rgba(255,255,255,.86);
	color:var(--brand);
	box-shadow:0 12px 24px rgba(12,24,54,.12);
	transition:all .25s ease;
}

.tnsmgt-media .tm-nav:hover{
	background:#fff;
	transform:translateY(-50%) scale(1.05);
	box-shadow:0 14px 30px rgba(0,64,151,.18);
}

.tnsmgt-media .tm-prev{ left:16px; }
.tnsmgt-media .tm-next{ right:16px; }

.tnsmgt-media .tm-dots{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:8px;
	padding:16px 12px 8px;
	flex-wrap:wrap;
}

.tnsmgt-media .tm-dot-btn{
	width:10px;
	height:10px;
	border-radius:999px;
	border:none;
	background:rgba(0,64,151,.18);
	cursor:pointer;
	transition:all .25s ease;
}

.tnsmgt-media .tm-dot-btn.is-active{
	width:28px;
	background:linear-gradient(90deg, var(--brand), var(--brand-2));
}

.tnsmgt-media .tm-empty{
	padding:36px 20px;
	text-align:center;
	border:1px dashed rgba(0,64,151,.2);
	border-radius:18px;
	color:var(--muted);
	background:rgba(255,255,255,.75);
}

.tnsmgt-media .tm-reveal{
	opacity:0;
	transform:translateY(26px);
}

.tnsmgt-media .tm-reveal.is-visible{
	opacity:1;
	transform:translateY(0);
	transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
}

@media (max-width: 767px){
	.tnsmgt-media .tm-slide img{
		height:320px;
	}

	.tnsmgt-media .tm-nav{
		width:40px;
		height:40px;
	}

	.tnsmgt-media .tm-caption{
		left:12px;
		right:12px;
		bottom:12px;
		font-size:13px;
	}
}

@media (prefers-reduced-motion: reduce){
	.tnsmgt-media .tm-track,
	.tnsmgt-media .tm-panel,
	.tnsmgt-media .tm-tab,
	.tnsmgt-media .tm-nav,
	.tnsmgt-media .tm-dot-btn,
	.tnsmgt-media .tm-reveal{
		transition:none !important;
		animation:none !important;
	}
}