.dnagen-hc{
    --dnagen-hc-height:620px;
    --dnagen-hc-mobile-height:500px;
    --dnagen-hc-content-width:1180px;
    width:100%;
    position:relative;
    overflow:hidden;
    background:#111;
    font-family:inherit;
}
.dnagen-hc *{box-sizing:border-box}
.dnagen-hc__viewport{
    position:relative;
    width:100%;
    height:var(--dnagen-hc-height);
    overflow:hidden;
}
.dnagen-hc__track{
    position:relative;
    width:100%;
    height:100%;
}
.dnagen-hc__slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .7s ease, visibility .7s ease;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    color:var(--dnagen-hc-text,#fff);
}
.dnagen-hc__slide.is-active{
    opacity:1;
    visibility:visible;
    z-index:2;
}
.dnagen-hc__slide::before{
    content:"";
    position:absolute;
    inset:-2%;
    background:inherit;
    background-position:center;
    background-size:cover;
    transform:scale(1.02);
    transition:transform 7s ease;
}
.dnagen-hc__slide.is-active::before{transform:scale(1.07)}
.dnagen-hc__overlay{
    position:absolute;
    inset:0;
    background:var(--dnagen-hc-overlay,#000);
    opacity:var(--dnagen-hc-overlay-opacity,.42);
    z-index:1;
}
.dnagen-hc__content-wrap{
    position:relative;
    z-index:3;
    width:min(var(--dnagen-hc-content-width),calc(100% - 48px));
    height:100%;
    margin:0 auto;
    display:flex;
}
.dnagen-hc__content-wrap--top{align-items:flex-start;padding-top:70px}
.dnagen-hc__content-wrap--center{align-items:center}
.dnagen-hc__content-wrap--bottom{align-items:flex-end;padding-bottom:70px}
.dnagen-hc__content{
    width:min(720px,100%);
    color:var(--dnagen-hc-text,#fff);
    transform:translateY(22px);
    opacity:0;
    transition:transform .65s ease .15s, opacity .65s ease .15s;
}
.dnagen-hc__slide.is-active .dnagen-hc__content{
    transform:translateY(0);
    opacity:1;
}
.dnagen-hc__content--right{margin-left:auto;text-align:right}
.dnagen-hc__content--center{margin-inline:auto;text-align:center}
.dnagen-hc__content--left{margin-right:auto;text-align:left}
.dnagen-hc__title{
    color:inherit;
    font-size:clamp(34px,5vw,72px);
    line-height:1.15;
    margin:0 0 20px;
    font-weight:800;
}
.dnagen-hc__text{
    color:inherit;
    font-size:clamp(16px,1.7vw,22px);
    line-height:1.9;
    margin-bottom:28px;
}
.dnagen-hc__text p{margin:0 0 12px}
.dnagen-hc__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:12px 28px;
    border-radius:var(--dnagen-hc-button-radius,12px);
    background:var(--dnagen-hc-button-bg,#0f7abf);
    color:var(--dnagen-hc-button-text,#fff)!important;
    text-decoration:none!important;
    font-weight:700;
    transition:transform .2s ease,filter .2s ease;
}
.dnagen-hc__button:hover{transform:translateY(-2px);filter:brightness(1.08)}
.dnagen-hc__arrow{
    position:absolute;
    top:50%;
    z-index:5;
    width:48px;
    height:48px;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.32);
    border-radius:50%;
    background:rgba(0,0,0,.28);
    color:#fff;
    font-size:34px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    backdrop-filter:blur(5px);
}
.dnagen-hc__arrow--prev{right:20px}
.dnagen-hc__arrow--next{left:20px}
.dnagen-hc__dots{
    position:absolute;
    z-index:6;
    bottom:22px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
}
.dnagen-hc__dot{
    width:10px;
    height:10px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.5);
    cursor:pointer;
}
.dnagen-hc__dot.is-active{
    width:28px;
    border-radius:99px;
    background:#fff;
}
@media(max-width:767px){
    .dnagen-hc__viewport{height:var(--dnagen-hc-mobile-height)}
    .dnagen-hc__content-wrap{
        width:calc(100% - 30px);
    }
    .dnagen-hc__content-wrap--top{padding-top:46px}
    .dnagen-hc__content-wrap--bottom{padding-bottom:58px}
    .dnagen-hc__title{font-size:clamp(30px,10vw,48px)}
    .dnagen-hc__text{font-size:16px;line-height:1.8}
    .dnagen-hc__arrow{width:42px;height:42px;font-size:30px}
    .dnagen-hc__arrow--prev{right:10px}
    .dnagen-hc__arrow--next{left:10px}
}
@media(prefers-reduced-motion:reduce){
    .dnagen-hc__slide,
    .dnagen-hc__slide::before,
    .dnagen-hc__content,
    .dnagen-hc__button{transition:none!important}
}
