/* INDAM 2027 homepage slider. Keeps the existing hero layout and colours. */
.home-slider{
    isolation:isolate;
}

.home-slider .hero-bg-dots{
    z-index:1;
}

.home-slider-stage{
    position:relative;
    z-index:2;
    display:grid;
}

.home-slide{
    grid-area:1/1;
    min-width:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(24px,0,0);
    transition:opacity .65s ease,transform .65s ease,visibility .65s;
}

.home-slide.is-active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0);
}

.home-slide .hero-grid{
    min-height:520px;
}

.home-slide .hero-visual img,
.home-slide .hero-visual video{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:410px;
    object-fit:cover;
    border-radius:0 0 0 80px;
    background:#d9f0ff;
    filter:drop-shadow(0 20px 35px rgba(10,52,115,.16));
}

.home-slider-controls{
    position:absolute;
    z-index:6;
    right:max(22px,calc((100vw - 1180px)/2));
    bottom:112px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 10px;
    border:1px solid rgba(10,52,115,.12);
    border-radius:999px;
    background:rgba(255,255,255,.9);
    box-shadow:0 12px 30px rgba(10,52,115,.18);
    backdrop-filter:blur(8px);
}

.home-slider-controls>button{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#0a3473;
    color:#fff;
    font-size:27px;
    line-height:1;
    cursor:pointer;
}

.home-slider-controls>button:hover,
.home-slider-controls>button:focus-visible{
    background:#0d62c9;
}

.home-slider-dots{
    display:flex;
    align-items:center;
    gap:7px;
}

.home-slider-dots button{
    width:9px;
    height:9px;
    padding:0;
    border:0;
    border-radius:999px;
    background:#9fb8d1;
    cursor:pointer;
    transition:width .25s ease,background .25s ease;
}

.home-slider-dots button.is-active{
    width:24px;
    background:#f58220;
}

.home-slider .theme-wave{
    z-index:3;
    pointer-events:none;
}

@media(max-width:1180px){
    .home-slider-controls{
        right:22px;
    }
}

@media(max-width:768px){
    .home-slide .hero-grid{
        min-height:0;
    }
    .home-slide .hero-visual img,
    .home-slide .hero-visual video{
        height:330px;
        border-radius:18px 18px 18px 55px;
    }
    .home-slider-controls{
        right:50%;
        bottom:82px;
        transform:translateX(50%);
    }
}

@media(max-width:520px){
    .home-slide .hero-visual img,
    .home-slide .hero-visual video{
        height:260px;
    }
    .home-slider-controls{
        bottom:72px;
    }
}

@media(prefers-reduced-motion:reduce){
    .home-slide{
        transform:none;
        transition:none;
    }
}
