/* Neogen hero: centered composition, clear typography and quiet motion. */
#mainSliderWrapper { overflow: hidden; background: #6c6b73; }
#mainSlider { height: clamp(520px, 42vw, 720px); margin: 0; }
#mainSlider .slick-list, #mainSlider .slick-track, #mainSlider .slide { height: 100%; }
#mainSlider .slide { overflow: hidden; }
#mainSlider .slide .img--holder {
    position: absolute;
    inset: -80px 0;
    height: calc(100% + 160px);
    background-position: center center;
    background-size: cover;
    animation: none !important;
    transform: translate3d(0, var(--hero-parallax, 0px), 0);
    will-change: transform;
}
#mainSlider .slide::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(35, 29, 40, .08), rgba(35, 29, 40, .3) 48%, rgba(35, 29, 40, .42));
}
#mainSlider .slide-content.center { text-align: center; }
#mainSlider .slide-content .vert-wrap { display: flex; align-items: center; height: 100%; padding-bottom: 0; }
#mainSlider .slide-content .vert { display: block; width: 100%; }
#mainSlider .slide-content .vert > .container { padding: 0; margin: 0; width: 100%; max-width: none; }
#mainSlider .slide-txt1 {
    max-width: 1040px;
    margin: 0 auto;
    font-size: clamp(44px, 4.2vw, 66px);
    line-height: 1.15;
    letter-spacing: .015em;
    font-weight: 400;
    animation: none !important;
    opacity: 1 !important;
}
#mainSlider .slide-txt1 p { margin: 18px 0 0; font-size: 20px; line-height: 1.6; font-weight: 400; letter-spacing: .01em; text-transform: lowercase; }
#mainSlider .slide-txt1 p::first-letter { text-transform: uppercase; }
#mainSlider .slide-btn { display: flex; justify-content: center; gap: 14px; margin-top: 32px; }
#mainSlider .slide-btn .btn,
#mainSlider .slide-btn .btn:focus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    margin: 0;
    min-height: 52px;
    padding: 14px 28px;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 500;
    border-radius: 7px;
    box-shadow: none;
    animation: none !important;
    opacity: 1 !important;
}
#mainSlider .slide-btn .btn::before, #mainSlider .slide-btn .btn::after { display: none; }
#mainSlider .slide-btn .btn i { display: none; }
#mainSlider .slide-btn .btn-white { background: #91449f; border: 1px solid #91449f; color: #fff; }
#mainSlider .slide-btn .btn-white:hover { background: #7e368c; border-color: #7e368c; }
#mainSlider .slide-btn .btn-gradient { background: transparent; border: 1px solid rgba(255,255,255,.75); color: #fff; }
#mainSlider .slide-btn .btn-gradient:hover { background: rgba(255,255,255,.12); }
#mainSlider .slide-btn a:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
#mainSlider .slick-prev, #mainSlider .slick-next { top: auto; bottom: 28px; width: 42px; height: 42px; margin: 0; border-radius: 50%; }
#mainSlider .slick-prev { left: auto; right: 84px; }
#mainSlider .slick-next { right: 30px; }
#mainSlider .slick-prev::before, #mainSlider .slick-next::before { line-height: 40px; font-size: 16px; }
@media (min-width: 1800px) {
    #mainSlider .slide-txt1 { max-width: 1100px; }
}
@media (max-width: 991px) {
    #mainSlider { height: 560px; }
    #mainSlider .slide-txt1 { max-width: 700px; font-size: 46px; }
    #mainSlider .slide .img--holder { background-position: center center; }
}
@media (max-width: 767px) {
    #mainSlider .slide-btn { flex-direction: row; gap: 12px; width: 100%; margin-top: 22px; }
    #mainSlider .slide-btn .btn, #mainSlider .slide-btn .btn:focus { flex: 1; min-width: 0; width: auto; min-height: 48px; padding: 12px 16px; font-size: 16px; }
}
@media (max-width: 575px) {
    #mainSlider { height: 420px; }
    #mainSlider .slide .img--holder { inset: -40px 0; height: calc(100% + 80px); background-position: center center; }
    #mainSlider .slide::after { background: linear-gradient(0deg, rgba(40,31,45,.8), rgba(40,31,45,.35) 58%, rgba(40,31,45,.05)); }
    #mainSlider .slide-content .vert-wrap { align-items: flex-end; padding: 0 24px 32px; }
    #mainSlider .slide-txt1 { max-width: 390px; font-size: clamp(28px, 6.5vw, 36px); line-height: 1.15; }
    #mainSlider .slide-txt1 p { margin-top: 18px; font-size: 17px; }
    #mainSlider .slick-dots { position: absolute; bottom: 20px; left: 0; right: 0; margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
    #mainSlider .slide .img--holder { transform: none; will-change: auto; }
}
