.tsss-dashboard,
.tsss-dashboard * {
	box-sizing: border-box;
}

.tsss-dashboard {
	--tsss-navy: #0e3554;
	--tsss-navy-deep: #09263e;
	--tsss-burgundy: #8e1f45;
	--tsss-green: #2f6b4f;
	--tsss-teal: #1c86a8;
	--tsss-orange: #c65d2e;
	--tsss-ink: #172331;
	--tsss-muted: #66717f;
	--tsss-line: #dce3e8;
	--tsss-soft: #f4f7f9;
	--tsss-white: #fff;
	--tsss-theme-accent: var(--tsss-burgundy);
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(14px, 2.4vw, 32px);
	font-family: Inter, Lato, "Segoe UI", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--tsss-ink);
	background:
		radial-gradient(circle at 96% 2%, rgba(14, 53, 84, .06), transparent 24%),
		linear-gradient(180deg, #fff 0%, #f9fbfc 100%);
	border: 1px solid rgba(14, 53, 84, .12);
	border-radius: 28px;
	box-shadow: 0 22px 60px rgba(14, 53, 84, .11);
	overflow: hidden;
	isolation: isolate;
}

.tsss-dashboard h2,
.tsss-dashboard h3,
.tsss-dashboard h4,
.tsss-dashboard p,
.tsss-dashboard ol,
.tsss-dashboard ul {
	margin-top: 0;
}

.tsss-dashboard h2,
.tsss-dashboard h3,
.tsss-dashboard h4 {
	font-family: Inter, Lato, "Segoe UI", Arial, sans-serif;
	line-height: 1.2;
}

.tsss-dashboard a {
	color: inherit;
}

.tsss-hero {
	--tsss-hero-accent: var(--tsss-burgundy);
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(18px, 3vw, 36px);
	min-height: 218px;
	padding: clamp(26px, 4.5vw, 56px);
	color: #fff;
	background:
		linear-gradient(126deg, rgba(14, 53, 84, .99), rgba(9, 38, 62, .98) 58%, color-mix(in srgb, var(--tsss-hero-accent) 92%, #000 8%));
	border-radius: 22px;
	box-shadow: 0 20px 44px rgba(9, 38, 62, .22);
	overflow: hidden;
}

@supports not (background: color-mix(in srgb, #000 50%, #fff)) {
	.tsss-hero {
		background: linear-gradient(126deg, #0e3554, #09263e 58%, #8e1f45);
	}
}

.tsss-hero::before,
.tsss-hero::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 50%;
	pointer-events: none;
}

.tsss-hero::before {
	width: 330px;
	height: 330px;
	right: -110px;
	top: -200px;
}

.tsss-hero::after {
	width: 185px;
	height: 185px;
	right: 76px;
	bottom: -136px;
}

.tsss-hero__glow {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 75% 18%, rgba(255, 255, 255, .14), transparent 27%),
		linear-gradient(90deg, transparent, rgba(255, 255, 255, .035));
	pointer-events: none;
}

.tsss-hero__logo,
.tsss-hero__content,
.tsss-hero__score {
	position: relative;
	z-index: 1;
}

.tsss-hero__logo {
	display: grid;
	place-items: center;
	width: clamp(82px, 9vw, 112px);
	aspect-ratio: 1;
	padding: 8px;
	background: rgba(255, 255, 255, .98);
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 50%;
	box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
}

.tsss-hero__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 50%;
}

.tsss-hero__logo > span {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: var(--tsss-navy);
	font-size: clamp(15px, 2vw, 22px);
	font-weight: 900;
	letter-spacing: -.04em;
}

.tsss-eyebrow,
.tsss-section-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 9px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.tsss-eyebrow {
	color: rgba(255, 255, 255, .72);
}

.tsss-eyebrow::before,
.tsss-section-label::before {
	content: "";
	width: 22px;
	height: 3px;
	background: currentColor;
	border-radius: 99px;
}

.tsss-hero h2 {
	margin-bottom: 10px;
	color: #fff !important;
	font-size: clamp(30px, 4vw, 52px);
	font-weight: 850;
	letter-spacing: -.045em;
}

.tsss-hero h2 span {
	color: #fff;
	font-weight: 400;
	opacity: .72;
}

.tsss-hero__content > p:last-child {
	max-width: 680px;
	margin-bottom: 0;
	color: rgba(255, 255, 255, .8);
	font-size: clamp(14px, 1.5vw, 18px);
}

.tsss-hero__score {
	display: grid;
	min-width: 244px;
	padding: 23px 25px;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 18px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
	backdrop-filter: blur(12px);
}

.tsss-hero__score > span {
	color: rgba(255, 255, 255, .72);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.tsss-hero__score > strong {
	margin-top: 4px;
	color: #fff;
	font-size: clamp(29px, 3.1vw, 43px);
	font-weight: 850;
	letter-spacing: -.045em;
	line-height: 1.05;
}

.tsss-hero__score > i {
	display: block;
	height: 1px;
	margin: 15px 0 12px;
	background: rgba(255, 255, 255, .17);
}

.tsss-hero__score small {
	color: rgba(255, 255, 255, .76);
	font-size: 12px;
}

.tsss-hero__score small b {
	color: #fff;
	font-size: 13px;
}

.tsss-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 22px 0;
}

.tsss-kpi {
	--tsss-kpi-accent: var(--tsss-navy);
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	min-height: 145px;
	padding: 22px;
	background: rgba(255, 255, 255, .94);
	border: 1px solid var(--tsss-line);
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(14, 53, 84, .07);
	overflow: hidden;
}

.tsss-kpi::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 72px;
	height: 4px;
	background: var(--tsss-kpi-accent);
	border-radius: 0 0 0 99px;
}

.tsss-dashboard--full .tsss-kpi--recommandation {
	--tsss-kpi-accent: var(--tsss-green);
}

.tsss-dashboard--full .tsss-kpi--maitrise {
	--tsss-kpi-accent: var(--tsss-teal);
}

.tsss-dashboard--full .tsss-kpi--programme {
	--tsss-kpi-accent: var(--tsss-burgundy);
}

.tsss-kpi__icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	color: #fff;
	background: var(--tsss-kpi-accent);
	border-radius: 14px;
	box-shadow: 0 8px 20px color-mix(in srgb, var(--tsss-kpi-accent) 28%, transparent);
}

@supports not (box-shadow: 0 0 0 color-mix(in srgb, #000 50%, transparent)) {
	.tsss-kpi__icon {
		box-shadow: 0 8px 20px rgba(14, 53, 84, .2);
	}
}

.tsss-kpi__icon svg,
.tsss-insight-card header > span svg,
.tsss-insight-single__icon svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tsss-kpi span {
	display: block;
	margin-bottom: 2px;
	color: var(--tsss-muted);
	font-size: 13px;
	font-weight: 700;
}

.tsss-kpi strong {
	display: block;
	margin: 4px 0 3px;
	color: var(--tsss-navy);
	font-size: clamp(27px, 3vw, 40px);
	font-weight: 850;
	line-height: 1;
	letter-spacing: -.045em;
}

.tsss-kpi small {
	display: block;
	color: #7c8793;
	font-size: 12px;
}

.tsss-theme-context {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 22px 0 0;
	padding: 16px;
	background: linear-gradient(135deg, #eef4f7, #f8fafb);
	border: 1px solid var(--tsss-line);
	border-radius: 18px;
}

.tsss-theme-context__item {
	padding: 14px 16px;
	background: rgba(255, 255, 255, .86);
	border: 1px solid rgba(14, 53, 84, .09);
	border-radius: 13px;
}

.tsss-theme-context__item > span,
.tsss-theme-context__item > small {
	display: block;
}

.tsss-theme-context__item > span {
	color: var(--tsss-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.tsss-theme-context__item > strong {
	display: block;
	margin: 3px 0;
	color: var(--tsss-navy);
	font-size: 25px;
	font-weight: 850;
	letter-spacing: -.03em;
}

.tsss-theme-context__item > small {
	color: #7a8691;
	font-size: 11px;
}

.tsss-section {
	margin-top: 22px;
	padding: clamp(22px, 3.2vw, 38px);
	background: #fff;
	border: 1px solid var(--tsss-line);
	border-radius: 20px;
	box-shadow: 0 12px 32px rgba(14, 53, 84, .055);
}

.tsss-section--soft {
	background: linear-gradient(135deg, #eef4f7 0%, #f8fafb 100%);
}

.tsss-section--table {
	padding: clamp(16px, 2.6vw, 30px);
}

.tsss-section__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}

.tsss-section-label {
	margin-bottom: 7px !important;
	color: var(--tsss-burgundy);
}

.tsss-dashboard--theme .tsss-section-label {
	color: var(--tsss-theme-accent);
}

.tsss-section__head h3 {
	margin: 0 0 7px;
	color: var(--tsss-navy) !important;
	font-size: clamp(23px, 2.6vw, 34px);
	font-weight: 830;
	letter-spacing: -.035em;
}

.tsss-section__head > div > p:last-child {
	max-width: 760px;
	margin-bottom: 0;
	color: var(--tsss-muted);
	font-size: 14px;
}

.tsss-section__meta {
	flex: 0 0 auto;
	padding: 9px 12px;
	color: var(--tsss-navy);
	background: #eef3f6;
	border: 1px solid #d9e3e9;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 750;
	white-space: nowrap;
}

.tsss-criteria-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.tsss-criteria-group {
	position: relative;
	padding: 20px;
	background: linear-gradient(180deg, #fff, #fbfcfd);
	border: 1px solid var(--tsss-line);
	border-radius: 17px;
	overflow: hidden;
}

.tsss-criteria-group::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 84px;
	height: 4px;
	background: var(--tsss-group-accent);
	border-radius: 0 0 0 99px;
}

.tsss-criteria-group--trainer,
.tsss-criteria-group--animation {
	grid-column: span 1;
}

.tsss-criteria-group--summary {
	grid-column: span 1;
}

.tsss-criteria-group > header {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e7ecef;
}

.tsss-criteria-group > header > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	color: #fff;
	background: var(--tsss-group-accent);
	border-radius: 12px;
	font-size: 12px;
	font-weight: 850;
}

.tsss-criteria-group h4 {
	margin: 0 0 3px;
	color: var(--tsss-navy) !important;
	font-size: 18px;
	font-weight: 820;
}

.tsss-criteria-group header p {
	margin: 0;
	color: #7b8792;
	font-size: 12px;
}

.tsss-score-list {
	display: grid;
	gap: 13px;
}

.tsss-score-row {
	display: grid;
	grid-template-columns: minmax(145px, .75fr) minmax(180px, 1.25fr) 82px;
	align-items: center;
	gap: 13px;
}

.tsss-score-row--comparison {
	grid-template-columns: minmax(160px, .85fr) minmax(180px, 1.25fr) 82px 78px;
}

.tsss-score-row__label > span {
	display: block;
	color: #314252;
	font-size: 12px;
	font-weight: 720;
	line-height: 1.3;
}

.tsss-score-row__label > small {
	display: block;
	margin-top: 2px;
	color: #87919a;
	font-size: 10px;
}

.tsss-score-row__visual {
	min-width: 0;
}

.tsss-score-track {
	position: relative;
	height: 10px;
	background:
		linear-gradient(90deg, rgba(142, 31, 69, .11) 0 60%, rgba(196, 133, 34, .11) 60% 80%, rgba(47, 107, 79, .11) 80% 100%);
	border: 1px solid rgba(14, 53, 84, .1);
	border-radius: 999px;
	overflow: visible;
}

.tsss-score-fill {
	position: absolute;
	inset: -1px auto -1px -1px;
	width: var(--tsss-progress);
	background: linear-gradient(90deg, color-mix(in srgb, var(--tsss-score-color) 72%, #fff 28%), var(--tsss-score-color));
	border-radius: 999px;
	box-shadow: 0 4px 11px color-mix(in srgb, var(--tsss-score-color) 22%, transparent);
}

@supports not (background: color-mix(in srgb, #000 50%, #fff)) {
	.tsss-score-fill {
		background: var(--tsss-score-color);
		box-shadow: 0 4px 11px rgba(14, 53, 84, .16);
	}
}

.tsss-score-benchmark {
	position: absolute;
	z-index: 3;
	top: -5px;
	left: var(--tsss-benchmark);
	width: 3px;
	height: 20px;
	margin-left: -1.5px;
	background: var(--tsss-navy-deep);
	border: 2px solid #fff;
	border-radius: 999px;
	box-shadow: 0 0 0 1px rgba(9, 38, 62, .35);
}

.tsss-score-scale {
	display: flex;
	justify-content: space-between;
	margin-top: 4px;
	color: #9aa3ab;
	font-size: 8px;
	line-height: 1;
}

.tsss-score-row > strong {
	color: var(--tsss-navy);
	font-size: 14px;
	font-weight: 850;
	text-align: right;
	white-space: nowrap;
}

.tsss-score-row > em {
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
	text-align: right;
	white-space: nowrap;
}

.tsss-delta-positive {
	color: #24704c !important;
}

.tsss-delta-negative {
	color: #9a244d !important;
}

.tsss-delta-neutral {
	color: #6c7781 !important;
}

.tsss-theme-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.tsss-theme-card {
	position: relative;
	padding: 19px;
	background: rgba(255, 255, 255, .94);
	border: 1px solid rgba(14, 53, 84, .12);
	border-radius: 16px;
	box-shadow: 0 9px 22px rgba(14, 53, 84, .055);
	overflow: hidden;
}

.tsss-theme-card::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--tsss-card-accent);
}

.tsss-theme-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.tsss-theme-card__rank {
	color: #95a0a9;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .08em;
}

.tsss-theme-card__top i {
	width: 10px;
	height: 10px;
	background: var(--tsss-card-accent);
	border-radius: 50%;
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--tsss-card-accent) 12%, transparent);
}

.tsss-theme-card h4 {
	min-height: 42px;
	margin: 10px 0 6px;
	color: var(--tsss-navy) !important;
	font-size: 16px;
	font-weight: 800;
}

.tsss-theme-card > strong {
	display: block;
	color: var(--tsss-card-accent);
	font-size: 28px;
	font-weight: 850;
	letter-spacing: -.04em;
}

.tsss-theme-card__track {
	height: 7px;
	margin: 9px 0 13px;
	background: #e7edf0;
	border-radius: 999px;
	overflow: hidden;
}

.tsss-theme-card__track span {
	display: block;
	width: var(--tsss-card-progress);
	height: 100%;
	background: var(--tsss-card-accent);
	border-radius: inherit;
}

.tsss-theme-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 10px;
	border-top: 1px solid #edf0f2;
}

.tsss-theme-card__meta span {
	color: var(--tsss-muted);
	font-size: 11px;
}

.tsss-theme-card__meta b {
	color: var(--tsss-navy);
	font-size: 12px;
}

.tsss-table-disclosure {
	background: #fff;
	border: 1px solid var(--tsss-line);
	border-radius: 16px;
	overflow: hidden;
}

.tsss-table-disclosure > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 20px 22px;
	color: var(--tsss-navy);
	background: linear-gradient(135deg, #f7f9fa, #eef3f6);
	cursor: pointer;
	list-style: none;
}

.tsss-table-disclosure > summary::-webkit-details-marker {
	display: none;
}

.tsss-table-disclosure > summary span {
	display: grid;
	gap: 3px;
}

.tsss-table-disclosure > summary b {
	font-size: 18px;
	font-weight: 830;
}

.tsss-table-disclosure > summary small {
	color: var(--tsss-muted);
	font-size: 11px;
}

.tsss-table-disclosure > summary > i {
	position: relative;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	background: var(--tsss-navy);
	border-radius: 10px;
}

.tsss-table-disclosure > summary > i::before,
.tsss-table-disclosure > summary > i::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	background: #fff;
	border-radius: 99px;
	transform: translate(-50%, -50%);
}

.tsss-table-disclosure > summary > i::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: transform .2s ease;
}

.tsss-table-disclosure[open] > summary > i::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.tsss-table-intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 14px 18px;
	background: #fbfcfd;
	border-top: 1px solid #e2e8ec;
	border-bottom: 1px solid #e2e8ec;
}

.tsss-table-intro p {
	margin: 0;
	color: var(--tsss-muted);
	font-size: 11px;
}

.tsss-score-legend {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 6px;
}

.tsss-score-legend span {
	padding: 5px 8px;
	border-radius: 6px;
	font-size: 9px;
	font-weight: 800;
}

.tsss-table-wrap {
	width: 100%;
	overflow: auto;
	outline: none;
}

.tsss-table-wrap:focus-visible {
	box-shadow: inset 0 0 0 3px rgba(28, 134, 168, .28);
}

.tsss-comparison-table {
	width: max-content;
	min-width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 11px;
}

.tsss-comparison-table th,
.tsss-comparison-table td {
	padding: 10px 9px;
	border-right: 1px solid #e1e7eb;
	border-bottom: 1px solid #e1e7eb;
	text-align: center;
	white-space: nowrap;
}

.tsss-comparison-table thead th {
	position: sticky;
	top: 0;
	z-index: 4;
	color: #fff;
	background: var(--tsss-navy);
	font-weight: 800;
}

.tsss-comparison-table thead tr:nth-child(2) th {
	top: 38px;
	background: #164968;
	font-size: 10px;
}

.tsss-comparison-table thead abbr {
	color: inherit;
	text-decoration: none;
	cursor: help;
}

.tsss-comparison-table__groups th {
	padding-top: 11px;
	padding-bottom: 11px;
	font-size: 10px;
	letter-spacing: .02em;
}

.tsss-comparison-table th:first-child {
	position: sticky;
	left: 0;
	z-index: 5;
	min-width: 210px;
	max-width: 260px;
	text-align: left;
}

.tsss-comparison-table tbody th {
	color: var(--tsss-navy);
	background: #fff;
	font-weight: 780;
}

.tsss-comparison-table tbody th span {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 8px;
	background: var(--tsss-row-accent);
	border-radius: 50%;
}

.tsss-comparison-table tbody tr:nth-child(even) th {
	background: #f7f9fa;
}

.tsss-comparison-table tbody tr:hover th,
.tsss-comparison-table tbody tr:hover td {
	filter: brightness(.975);
}

.tsss-comparison-table__total th {
	color: #fff !important;
	background: var(--tsss-navy) !important;
	font-weight: 850 !important;
}

.tsss-score-perfect {
	color: #fff !important;
	background: var(--tsss-navy) !important;
}

.tsss-score-high {
	color: #1e5d42 !important;
	background: #dceee5 !important;
}

.tsss-score-good {
	color: #1d6073 !important;
	background: #e1f0f4 !important;
}

.tsss-score-medium {
	color: #81500c !important;
	background: #fff0d7 !important;
}

.tsss-score-watch {
	color: #fff !important;
	background: var(--tsss-burgundy) !important;
}

.tsss-insights {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.tsss-insight-card {
	padding: 22px;
	background: rgba(255, 255, 255, .94);
	border: 1px solid rgba(14, 53, 84, .12);
	border-radius: 17px;
}

.tsss-insight-card header {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 13px;
	align-items: center;
	margin-bottom: 17px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e7ecef;
}

.tsss-insight-card header > span,
.tsss-insight-single__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	color: #fff;
	background: var(--tsss-theme-accent);
	border-radius: 13px;
}

.tsss-insight-card--attention header > span {
	background: var(--tsss-burgundy);
}

.tsss-insight-card h4,
.tsss-insight-single h4 {
	margin: 0 0 3px;
	color: var(--tsss-navy) !important;
	font-size: 18px;
	font-weight: 820;
}

.tsss-insight-card header p,
.tsss-insight-single p {
	margin: 0;
	color: var(--tsss-muted);
	font-size: 12px;
}

.tsss-insight-card ol {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: insight;
}

.tsss-insight-card li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	background: #f6f8fa;
	border-radius: 10px;
	counter-increment: insight;
}

.tsss-insight-card li::before {
	content: counter(insight, decimal-leading-zero);
	color: #98a2aa;
	font-size: 10px;
	font-weight: 850;
}

.tsss-insight-card li span {
	color: #344553;
	font-size: 12px;
	font-weight: 700;
}

.tsss-insight-card li strong {
	color: var(--tsss-navy);
	font-size: 12px;
}

.tsss-insight-card__note {
	margin: 12px 0 0 !important;
	color: #7b8790 !important;
	font-size: 10px !important;
}

.tsss-insight-single {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 16px;
	padding: 22px;
	background: rgba(255, 255, 255, .94);
	border: 1px solid rgba(14, 53, 84, .12);
	border-radius: 17px;
}

.tsss-footer {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	margin-top: 22px;
	padding: 15px 18px;
	color: #687581;
	background: #eef3f6;
	border: 1px solid var(--tsss-line);
	border-radius: 14px;
	font-size: 11px;
}

.tsss-footer > span {
	color: var(--tsss-navy);
	font-weight: 900;
	letter-spacing: -.04em;
}

.tsss-footer p {
	margin: 0;
	text-align: center;
}

.tsss-footer a {
	color: var(--tsss-burgundy);
	font-weight: 750;
	text-decoration: none;
}

.tsss-footer a:hover,
.tsss-footer a:focus {
	text-decoration: underline;
}

@media (prefers-reduced-motion: no-preference) {
	.tsss-dashboard[data-animation="1"] .tsss-kpi,
	.tsss-dashboard[data-animation="1"] .tsss-section,
	.tsss-dashboard[data-animation="1"] .tsss-theme-context {
		opacity: 0;
		transform: translateY(12px);
		transition: opacity .55s ease, transform .55s ease;
	}

	.tsss-dashboard[data-animation="1"].is-visible .tsss-kpi,
	.tsss-dashboard[data-animation="1"].is-visible .tsss-section,
	.tsss-dashboard[data-animation="1"].is-visible .tsss-theme-context {
		opacity: 1;
		transform: none;
	}

	.tsss-dashboard[data-animation="1"].is-visible .tsss-kpi:nth-child(2) { transition-delay: .05s; }
	.tsss-dashboard[data-animation="1"].is-visible .tsss-kpi:nth-child(3) { transition-delay: .1s; }
	.tsss-dashboard[data-animation="1"].is-visible .tsss-kpi:nth-child(4) { transition-delay: .15s; }
}

@media (max-width: 1120px) {
	.tsss-hero {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.tsss-hero__score {
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		min-width: 0;
	}

	.tsss-hero__score > strong {
		grid-row: 1 / span 2;
		grid-column: 2;
	}

	.tsss-hero__score > i {
		display: none;
	}

	.tsss-hero__score small {
		grid-column: 1;
	}

	.tsss-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tsss-theme-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tsss-score-row,
	.tsss-score-row--comparison {
		grid-template-columns: minmax(135px, .8fr) minmax(150px, 1.2fr) 78px;
	}

	.tsss-score-row--comparison > em {
		grid-column: 2 / 4;
		text-align: right;
	}
}

@media (max-width: 820px) {
	.tsss-dashboard {
		padding: 12px;
		border-radius: 20px;
	}

	.tsss-hero {
		grid-template-columns: 1fr;
		padding: 26px;
		border-radius: 17px;
		text-align: center;
	}

	.tsss-hero__logo {
		margin: 0 auto;
	}

	.tsss-eyebrow {
		justify-content: center;
	}

	.tsss-hero__score {
		grid-column: auto;
		grid-template-columns: 1fr;
		text-align: left;
	}

	.tsss-hero__score > strong {
		grid-row: auto;
		grid-column: auto;
	}

	.tsss-hero__score small {
		grid-column: auto;
	}

	.tsss-theme-context,
	.tsss-criteria-grid,
	.tsss-insights {
		grid-template-columns: 1fr;
	}

	.tsss-criteria-group--trainer,
	.tsss-criteria-group--animation,
	.tsss-criteria-group--summary {
		grid-column: auto;
	}

	.tsss-section__head,
	.tsss-table-intro {
		align-items: flex-start;
		flex-direction: column;
	}

	.tsss-section__meta {
		white-space: normal;
	}

	.tsss-score-legend {
		justify-content: flex-start;
	}
}

@media (max-width: 620px) {
	.tsss-kpis,
	.tsss-theme-grid {
		grid-template-columns: 1fr;
	}

	.tsss-kpi {
		min-height: 125px;
	}

	.tsss-score-row,
	.tsss-score-row--comparison {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 7px 12px;
		padding-bottom: 12px;
		border-bottom: 1px solid #edf0f2;
	}

	.tsss-score-row:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.tsss-score-row__label {
		grid-column: 1;
	}

	.tsss-score-row__visual {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.tsss-score-row > strong {
		grid-column: 2;
		grid-row: 1;
	}

	.tsss-score-row--comparison > em {
		grid-column: 1 / -1;
		grid-row: 3;
		text-align: right;
	}

	.tsss-footer {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.tsss-footer p {
		text-align: center;
	}
}
