.slider-1 { --slider-yellow:#ffc003; --slider-lagoon:#41c68d; position:relative; width:100%; height:100vh; min-height:700px; overflow:hidden; }
.s3m-slider-track, .s3m-slide { position:absolute; inset:0; }
.s3m-slide { display:flex; align-items:center; justify-content:center; z-index:1; color:#fff; text-decoration:none; background-position:center; background-size:cover; opacity:0; visibility:hidden; transition:opacity 1.5s ease, visibility 1.5s ease; }
.s3m-slide.is-active { opacity:1; visibility:visible; }
.slider-1 .s3m-slide-picture { position:absolute; inset:0; z-index:0; display:block; }
.slider-1 .s3m-slide-media { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; object-fit:cover; }
.s3m-slider-overlay { position:absolute; inset:0; z-index:2; pointer-events:none; }
/* Keep the white fade behind the text, inside each slide's stacking context. */
.s3m-slide::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(to top, #fff 0%, rgba(255,255,255,.92) 15%, rgba(255,255,255,.72) 32%, rgba(255,255,255,.3) 48%, rgba(255,255,255,0) 68%); }
.s3m-slide-content { position:relative; z-index:3; width:min(calc(100% - 60px), 1100px); text-align:left; }
.s3m-slide-title { max-width:100%; margin:0; color:#41c68d; font-family:'Nunito',sans-serif; font-size:clamp(52px,7vw,116px); font-weight:800; font-style:normal; line-height:1.05; text-shadow:1px 2px 1px rgba(0,0,0,.42); }
.s3m-slide-subtitle { display:table; margin:20px 0 0; padding:6px 14px 8px; border-radius:4px; background:var(--slider-yellow); color:#123c32; font-family:'Nunito Sans',sans-serif; font-size:clamp(34px,3.8vw,64px); font-weight:400; font-style:normal; line-height:1.2; text-shadow:none; }
.s3m-slider-nav { position:absolute; right:0; bottom:45px; left:0; z-index:4; display:flex; justify-content:center; gap:30px; }
.s3m-slider-nav button { width:90px; height:90px; margin:0; padding:0 0 8px; border:1px solid rgba(255,255,255,.75)!important; border-radius:24%!important; outline:none!important; background:rgba(0,0,0,.25)!important; box-shadow:none!important; color:#fff!important; font:700 68px/1 'Nunito',sans-serif; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.s3m-slider-nav button:hover, .s3m-slider-nav button:focus, .s3m-slider-nav button:active { border-color:rgba(255,255,255,.75)!important; border-radius:24%!important; background:rgba(0,0,0,.25)!important; color:#fff!important; }
.slider-1.has-one-slide .s3m-slider-nav { display:none; }
@media (max-width:992px) {
    .slider-1 { min-height:620px; }
    .s3m-slide-title { font-size:clamp(48px,13vw,76px); }
    .s3m-slide-subtitle { font-size:clamp(30px,6vw,52px); }
    .s3m-slider-nav { bottom:50px; gap:30px; }
    .s3m-slider-nav button { width:90px; height:90px; }
}
@media (prefers-reduced-motion:reduce) { .s3m-slide { transition:none; } }

.slider-1 .s3m-slide { align-items:flex-end; }
.slider-1 .s3m-slide-content { padding-bottom:120px; }

@media (min-width:993px) {
    .slider-1 .s3m-slide-content { text-align:center; }
    .slider-1 .s3m-slide-subtitle { margin-right:auto; margin-left:auto; }
}

@media (max-width:992px) {
    .slider-1 .s3m-slide-content { padding-bottom:100px; }
}

/* Featured-image thumbnail navigation. */
.s3m-slide-content { padding-bottom:150px; }
.s3m-slider-nav { top:50%; right:24px; bottom:auto; left:24px; z-index:5; justify-content:space-between; transform:translateY(-50%); pointer-events:none; }
.s3m-slider-nav button { pointer-events:auto; }
.s3m-slider-wave { position:absolute; right:0; bottom:-1px; left:0; z-index:4; height:110px; overflow:hidden; pointer-events:none; }
.s3m-slider-wave img { display:block; width:100%; height:100%; object-fit:fill; }
.s3m-slider-thumbnails { position:absolute; right:20px; bottom:24px; left:20px; z-index:5; display:flex; justify-content:center; gap:14px; padding:8px; overflow-x:auto; scrollbar-width:none; }
.s3m-slider-thumbnails::-webkit-scrollbar { display:none; }
.s3m-slider-thumbnail { position:relative; flex:0 0 138px; width:138px; height:92px; margin:0; padding:0; overflow:hidden; border:2px solid transparent!important; border-radius:10px!important; background:#111!important; box-shadow:0 6px 20px rgba(0,0,0,.45)!important; opacity:.68; cursor:pointer; transition:opacity .25s ease,transform .25s ease,border-color .25s ease; }
.s3m-slider-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; }
.s3m-slider-thumbnail span { position:absolute; right:0; bottom:0; left:0; padding:18px 7px 5px; overflow:hidden; background:linear-gradient(transparent,rgba(0,0,0,.9)); color:#fff; font:600 13px/1.2 Arial,sans-serif; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.s3m-slider-thumbnail:hover,.s3m-slider-thumbnail:focus-visible,.s3m-slider-thumbnail.is-active { border-color:#fff!important; opacity:1; transform:translateY(-4px); }

@media (max-width:992px) {
    .s3m-slide-content { padding-bottom:115px; }
    .s3m-slider-nav { right:10px; left:10px; }
    .s3m-slider-nav button { width:56px; height:56px; padding-bottom:5px; border-radius:12px!important; font-size:44px; }
    .s3m-slider-wave { height:80px; }
    .s3m-slider-thumbnails { right:0; bottom:12px; left:0; justify-content:flex-start; gap:10px; padding:8px 16px; }
    .s3m-slider-thumbnail { flex-basis:105px; width:105px; height:72px; }
    .s3m-slider-thumbnail span { font-size:11px; }
}
