.sts-video-box {

	--sts-green: #25aaa7;
	--sts-dark: #172928;
	--sts-red: #e52a24;
	--sts-bg: #f2f8f7;
	--sts-border: rgba(23, 41, 40, 0.12);
	box-sizing: border-box;
	width: 100%;
	max-width: 920px;
	margin: 44px auto 52px;
	padding: clamp(22px, 4vw, 38px);
	background: var(--sts-bg);
	border: 1px solid var(--sts-border);
	border-radius: 18px;
	box-shadow: 0 15px 45px rgba(23, 41, 40, 0.08);
	clear: both;
	overflow: hidden;

}

.sts-video-box *,

.sts-video-box *::before,

.sts-video-box *::after {

	box-sizing: border-box;

}

.sts-video-box__header {

	max-width: 760px;
	margin: 0 auto 24px;
	text-align: center;

}

.sts-video-box__label {

	margin: 0 0 10px;
	color: var(--sts-green);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.11em;
	text-transform: uppercase;

}

.sts-video-box__title {

	margin: 0;
	color: var(--sts-dark);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(28px, 5vw, 43px);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.025em;

}

.sts-video-box__description {

	max-width: 650px;
	margin: 13px auto 0;
	color: #536260;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(16px, 2vw, 18px);
	line-height: 1.55;

}

.sts-video-box__media {

	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #111;
	border-radius: 13px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
	overflow: hidden;
	isolation: isolate;

}

.sts-video-box__play {

	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
	appearance: none;

}

.sts-video-box__cover {

	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition:
		transform 350ms ease,
		filter 350ms ease;

}

.sts-video-box__overlay {

	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			to top,
			rgba(0, 0, 0, 0.52) 0%,
			rgba(0, 0, 0, 0.08) 38%,
			rgba(0, 0, 0, 0) 65%
		);
	pointer-events: none;

}

.sts-video-box__button {

	position: absolute;
	left: 50%;
	bottom: clamp(17px, 4vw, 28px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	min-height: 54px;
	padding: 10px 23px 10px 12px;
	background: rgba(255, 255, 255, 0.96);
	color: #182322;
	border-radius: 999px;
	box-shadow: 0 8px 26px rgba(0, 0, 0, 0.3);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(15px, 2vw, 18px);
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
	transform: translateX(-50%);
	transition:
		transform 200ms ease,
		box-shadow 200ms ease;

}

.sts-video-box__icon {

	display: grid;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	place-items: center;
	padding-left: 3px;
	background: var(--sts-red);
	color: #fff;
	border-radius: 50%;
	font-size: 15px;

}

.sts-video-box__play:hover .sts-video-box__cover {

	transform: scale(1.018);
	filter: brightness(0.94);

}

.sts-video-box__play:hover .sts-video-box__button {

	box-shadow: 0 11px 32px rgba(0, 0, 0, 0.38);
	transform: translateX(-50%) translateY(-2px);

}

.sts-video-box__play:focus-visible {

	outline: 4px solid #fff;
	outline-offset: -7px;

}

.sts-video-box__duration {

	margin: 15px 0 0;
	color: #667370;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	line-height: 1.4;
	text-align: center;

}

.sts-video-box__iframe {

	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;

}

@media (max-width: 600px) {

	.sts-video-box {
		width: auto;
		margin: 34px -8px 44px;
		padding: 22px 14px 17px;
		border-radius: 14px;
	}
	.sts-video-box__header {
		margin-bottom: 18px;
		padding: 0 5px;
	}
	.sts-video-box__media {
		border-radius: 10px;
	}
	.sts-video-box__button {
		min-height: 48px;
		padding: 8px 18px 8px 9px;
	}
	.sts-video-box__icon {
		width: 33px;
		height: 33px;
		flex-basis: 33px;
		font-size: 13px;
	}

}

@media (prefers-reduced-motion: reduce) {

	.sts-video-box__cover,
	.sts-video-box__button {
		transition: none;
	}

}

/* ===== STS v2 ===== */

.sts-video-box__youtube {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid rgba(23,41,40,.10);

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.sts-video-box__youtube-copy{
    flex:1;
}

.sts-video-box__youtube-title{
    margin:0 0 6px;
    font-size:18px;
    font-weight:700;
    color:#172928;
}

.sts-video-box__youtube-text{
    margin:0;
    color:#61706d;
    line-height:1.55;
}

.sts-video-box__youtube-link{

    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:12px 18px;

    background:#e62117;
    color:#fff;
    text-decoration:none;

    border-radius:999px;

    font-weight:700;

    transition:.25s;
}

.sts-video-box__youtube-link:hover{

    background:#c81d15;

    color:#fff;

    transform:translateY(-1px);

}

@media(max-width:700px){

    .sts-video-box__youtube{

        flex-direction:column;

        align-items:flex-start;

    }

}

/* ===== Firma autore STS ===== */

.sts-video-box__author {

	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 0 auto 18px;

}

.sts-video-box__author-photo {

	display: block;
	width: 64px;
	height: 64px;
	flex: 0 0 64px;
	object-fit: cover;
	border-radius: 50%;
	border: 3px solid #ffffff;
	box-shadow:
		0 0 0 1px rgba(23, 41, 40, 0.12),
		0 8px 22px rgba(23, 41, 40, 0.14);

}

.sts-video-box__author-copy {

	text-align: left;

}

.sts-video-box__author-name {

	margin: 0 0 3px;
	color: #172928;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;

}

.sts-video-box__author-role {

	margin: 0;
	color: #25aaa7;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.11em;
	text-transform: uppercase;

}

@media (max-width: 600px) {

	.sts-video-box__author {
		gap: 11px;
		margin-bottom: 16px;
	}
	.sts-video-box__author-photo {
		width: 54px;
		height: 54px;
		flex-basis: 54px;
	}
	.sts-video-box__author-name {
		font-size: 15px;
	}

}
.sts-video-box__divider{

    width:72px;

    height:3px;

    margin:18px auto 22px;

    background:#25aaa7;

    border-radius:999px;

}