/* Media — Video Banner (ACTS "Summit Media": web 1440 × 800 / mobile 393 × 379) */
.cew-vbn{
	--vbn-shade:rgba(0,0,0,.6);
	--vbn-shade-start:30%;
	--vbn-flat:transparent;
	--vbn-ic:#12072D;
	--vbn-pop-w:1120px;
	position:relative;
	width:100%;
	height:800px;
	overflow:hidden;
	background:#0b0b0b;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	isolation:isolate;
}
.cew-vbn,.cew-vbn *,.cew-vbn *::before,.cew-vbn *::after{box-sizing:border-box}
.cew-vbn.is-all{cursor:pointer}
.cew-vbn-pic{position:absolute;inset:0;display:block;z-index:0}
.cew-vbn-bg{
	position:absolute;
	inset:0;
	display:block;
	width:100%;
	height:100%;
	max-width:none;
	object-fit:cover;
	object-position:center center;
	border:0;
	border-radius:0;
	transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.cew-vbn.is-all:hover .cew-vbn-bg{transform:scale(1.02)}
.cew-vbn-shade{
	position:absolute;
	inset:0;
	z-index:1;
	pointer-events:none;
	background:
		linear-gradient(var(--vbn-flat),var(--vbn-flat)),
		linear-gradient(180deg,rgba(0,0,0,0) var(--vbn-shade-start),var(--vbn-shade) 100%);
}
.cew-vbn-content{
	position:relative;
	z-index:2;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	height:100%;
	padding:0 64px;
	text-align:left;
}
.cew-vbn-title{
	max-width:720px;
	margin:0 0 21px;
	padding:0;
	font-family:inherit;
	font-size:36px;
	line-height:43px;
	font-weight:500;
	letter-spacing:0;
	color:#fff;
}
.cew-vbn .cew-vbn-btn{
	display:inline-flex!important;
	align-items:center;
	gap:8px;
	height:48px;
	min-height:0!important;
	margin:0!important;
	padding:0 20px 0 24px!important;
	border:0!important;
	border-radius:0;
	background-color:#fff;
	box-shadow:none!important;
	color:#000;
	font-family:inherit;
	font-size:16px;
	line-height:16px;
	font-weight:500;
	letter-spacing:0;
	text-transform:none!important;
	white-space:nowrap;
	cursor:pointer;
	transition:background-color .2s ease,color .2s ease;
}
.cew-vbn .cew-vbn-btn:hover,
.cew-vbn.is-all:hover .cew-vbn-btn{background-color:#023820;color:#fff;--vbn-ic:#fff}
.cew-vbn .cew-vbn-btn:focus{outline:0}
.cew-vbn .cew-vbn-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.cew-vbn .cew-vbn-btn:disabled{cursor:default;opacity:.85}
.cew-vbn-play{display:block;flex:0 0 12px;width:12px;height:12px;color:var(--vbn-ic);transition:color .2s ease}

/* inline player */
.cew-vbn-inline{position:absolute;inset:0;z-index:5;background:#000}
.cew-vbn-inline iframe,.cew-vbn-inline video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000;object-fit:contain}
.cew-vbn.is-playing{cursor:default}
.cew-vbn.is-playing .cew-vbn-content{visibility:hidden}

/* popup */
.cew-vbn-modal{
	position:fixed;
	inset:0;
	z-index:100000;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:64px 24px;
	background-color:rgba(0,0,0,.88);
	cursor:default;
	animation:cewVbnIn .25s ease both;
}
.cew-vbn-modal[hidden]{display:none}
@keyframes cewVbnIn{from{opacity:0}to{opacity:1}}
.cew-vbn-frame{
	position:relative;
	width:min(var(--vbn-pop-w), 100%, calc((100vh - 128px) * 16 / 9));
	aspect-ratio:16 / 9;
	background:#000;
	box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.cew-vbn-frame iframe,.cew-vbn-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
.cew-vbn .cew-vbn-close{
	position:absolute;
	top:16px;
	right:16px;
	display:flex!important;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	margin:0!important;
	padding:0!important;
	border:1px solid rgba(255,255,255,.35)!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:#fff!important;
	cursor:pointer;
	transition:background-color .2s ease;
}
.cew-vbn .cew-vbn-close:hover{background:rgba(255,255,255,.12)!important}
.cew-vbn .cew-vbn-close svg{width:16px;height:16px}
body.cew-vbn-open{overflow:hidden}
.cew-vbn-note{position:absolute;left:16px;bottom:16px;z-index:3;padding:6px 10px;background:#fff;color:#000;font-size:12px}

@media(prefers-reduced-motion:reduce){
	.cew-vbn-bg{transition:none}
	.cew-vbn.is-all:hover .cew-vbn-bg{transform:none}
	.cew-vbn-modal{animation:none}
}
@media(max-width:1024px){
	.cew-vbn{height:600px}
	.cew-vbn-content{padding:0 32px}
}
@media(max-width:767px){
	.cew-vbn{height:379px}
	.cew-vbn-content{padding:0 16px}
	.cew-vbn-title{margin-bottom:19px;font-size:20px;line-height:24px}
	.cew-vbn-modal{padding:56px 12px}
	.cew-vbn .cew-vbn-close{top:8px;right:8px}
}
