.wsm-hero-banner{
position:relative;
display:flex;
justify-content:center;
text-align:center;
background-size:cover;
background-repeat:no-repeat;
overflow:hidden;
}

.wsm-hero-banner.v-top{align-items:flex-start}
.wsm-hero-banner.v-center{align-items:center}
.wsm-hero-banner.v-bottom{align-items:flex-end}

.wsm-hero-video{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
z-index:0;
}

.wsm-hero-inner{
position:relative;
z-index:2;
max-width:900px;
margin:auto;
width:100%;
}

.wsm-hero-title{margin-bottom:20px; line-height:1.15;}
.wsm-hero-subtitle{margin-bottom:30px;font-size:18px;}
.wsm-hero-subtitle p:last-child{margin-bottom:0;}

.wsm-hero-btn{
display:inline-block;
padding:12px 28px;
border-radius:6px;
text-decoration:none;
font-weight:600;
transition:background-color .3s ease, color .3s ease, border-color .3s ease;
background-color:var(--btn-bg);
color:var(--btn-color);
}

.wsm-hero-btn:hover,
.wsm-hero-btn:focus{
background-color:var(--btn-hover);
color:var(--btn-color);
}

.wsm-hero-btn.size-small{padding:8px 18px;font-size:14px}
.wsm-hero-btn.size-medium{padding:12px 28px;font-size:16px}
.wsm-hero-btn.size-large{padding:16px 36px;font-size:18px}

.wsm-hero-btn-wrap.align-left{text-align:left}
.wsm-hero-btn-wrap.align-center{text-align:center}
.wsm-hero-btn-wrap.align-right{text-align:right}

.wsm-hero-inner.align-left{text-align:left}
.wsm-hero-inner.align-center{text-align:center}
.wsm-hero-inner.align-right{text-align:right}

@media(max-width:768px){
.wsm-hero-title{font-size:32px !important}
.wsm-hero-subtitle{font-size:16px}
.wsm-hero-inner{padding-left:20px !important; padding-right:20px !important;}
}
