.shmc-carousel{
    --shmc-mobile-side-space: 18px;
    position:relative;
    width:var(--shmc-width-desktop);
    max-width:var(--shmc-max-width);
    height:var(--shmc-height);
    margin:var(--shmc-margin-desktop) auto;
    overflow:hidden;
    border-radius:var(--shmc-radius);
    background:var(--shmc-background);
    font-family:var(--shmc-font-family);
    font-style:var(--shmc-font-style);
    box-shadow:0 18px 55px rgba(0,0,0,.16);
    isolation:isolate;
    container-type:inline-size;
}
.shmc-track{position:relative;width:100%;height:100%;}
.shmc-slide{
    position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;
    opacity:0;visibility:hidden;transform:scale(1.02);
    transition:opacity .55s ease,transform .75s ease,visibility .55s;
    background:var(--shmc-slide-background,var(--shmc-background));
    overflow:hidden;
}
.shmc-slide.is-active{opacity:1;visibility:visible;transform:scale(1);}
.shmc-bg{
    position:absolute!important;inset:0!important;display:block!important;
    width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
    margin:0!important;padding:0!important;object-fit:cover!important;object-position:center center!important;
    z-index:0!important;
}
.shmc-overlay{
    position:absolute!important;inset:0!important;z-index:1!important;
    background:
      linear-gradient(90deg,rgba(0,0,0,var(--shmc-overlay)),rgba(0,0,0,calc(var(--shmc-overlay)*.65)) 38%,rgba(0,0,0,calc(var(--shmc-overlay)*.20)) 72%,rgba(0,0,0,.04)),
      linear-gradient(0deg,rgba(0,0,0,.15),transparent 55%);
}
.shmc-content{
    position:relative;z-index:2;width:min(66%,760px);box-sizing:border-box;
    padding:var(--shmc-padding-desktop);color:var(--shmc-slide-title,var(--shmc-title));
    text-align:var(--shmc-slide-align-desktop,var(--shmc-align-desktop));
}
.shmc-content h2{
    margin:0 0 16px;color:var(--shmc-slide-title,var(--shmc-title));
    font-family:var(--shmc-slide-font-family,var(--shmc-font-family));
    font-size:var(--shmc-slide-title-size-desktop,var(--shmc-title-size-desktop));
    line-height:1.08;letter-spacing:-1.5px;font-weight:var(--shmc-slide-font-weight,var(--shmc-font-weight));
    font-style:var(--shmc-slide-font-style,var(--shmc-font-style));
}
.shmc-content p{
    margin:0 0 26px;color:var(--shmc-slide-description,var(--shmc-description));
    font-size:var(--shmc-slide-description-size-desktop,var(--shmc-description-size-desktop));
    line-height:1.65;max-width:620px;
}
.shmc-cta{
    display:inline-flex;align-items:center;gap:10px;padding:13px 21px;border-radius:12px;
    background:var(--shmc-button-bg);color:var(--shmc-button-color)!important;text-decoration:none!important;
    font-weight:750;transition:transform .25s,box-shadow .25s;box-sizing:border-box;
}
.shmc-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.25);}
.shmc-cta span{font-size:19px;transition:transform .2s}.shmc-cta:hover span{transform:translateX(4px)}
.shmc-arrow{
    position:absolute;top:50%;z-index:6;width:48px;height:48px;transform:translateY(-50%);
    display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;
    background:var(--shmc-slide-arrow-bg,var(--shmc-arrow-bg));
    color:var(--shmc-slide-arrow-color,var(--shmc-arrow-color));
    font-size:30px;line-height:1;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    transition:all .22s ease;padding:0;
}
.shmc-arrow:hover{background:var(--shmc-slide-arrow-hover-bg,#fff);color:var(--shmc-slide-arrow-hover-color,#111827);transform:translateY(-50%) scale(1.07);}
.shmc-arrow[hidden]{display:none!important}.shmc-prev{left:20px}.shmc-next{right:20px}
.shmc-dots{position:absolute;left:50%;bottom:20px;z-index:7;transform:translateX(-50%);display:flex;gap:8px;align-items:center}
.shmc-dot{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.45);cursor:pointer;transition:width .3s ease,background .3s ease}
.shmc-dot.is-active{width:28px;background:var(--shmc-dot-color)}
.shmc-progress{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:8;background:rgba(255,255,255,.15)}
.shmc-progress span{display:block;width:0;height:100%;background:var(--shmc-dot-color)}
.shmc-slide-no-image{background:var(--shmc-slide-background,var(--shmc-background));}
.shmc-slide-no-image .shmc-content{width:100%;}
.shmc-width-full{max-width:100%}.shmc-width-contained{max-width:var(--shmc-max-width)}

/* Responsive composition: keep the same desktop-style full-bleed banner on mobile. */
@media (max-width:900px){
    .shmc-content{
        width:62%;
        max-width:62%;
        padding:clamp(28px,5vw,50px);
    }
    .shmc-content h2{font-size:clamp(34px,6vw,46px);}
    .shmc-content p{font-size:clamp(14px,2vw,16px);}
}

@media (max-width:600px){
    .shmc-carousel{
        width:var(--shmc-width-mobile)!important;
        max-width:100%!important;
        height:var(--shmc-mobile-height)!important;
        min-height:0!important;
        margin:var(--shmc-margin-mobile) auto!important;
        border-radius:var(--shmc-radius)!important;
        overflow:hidden!important;
        position:relative!important;
        box-shadow:0 12px 32px rgba(0,0,0,.14);
    }
    .shmc-track,.shmc-slide{width:100%!important;height:100%!important;min-height:0!important;}
    .shmc-slide{align-items:center!important;justify-content:flex-start!important;position:absolute!important;inset:0!important;}
    .shmc-slide .shmc-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;display:block!important;}
    .shmc-overlay{
        position:absolute!important;inset:0!important;z-index:1!important;
        background:linear-gradient(90deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.66) 38%,rgba(0,0,0,.30) 72%,rgba(0,0,0,.08) 100%)!important;
    }
    .shmc-content{
        position:relative!important;
        z-index:3!important;
        box-sizing:border-box!important;
        width:72%!important;
        max-width:72%!important;
        height:auto!important;
        max-height:calc(100% - 48px)!important;
        margin:0!important;
        padding:18px 16px 34px!important;
        display:flex!important;
        flex-direction:column!important;
        justify-content:center!important;
        align-items:flex-start!important;
        overflow:visible!important;
        text-align:var(--shmc-slide-align-mobile,var(--shmc-align-mobile));
    }
    .shmc-content h2{
        font-size:var(--shmc-slide-title-size-mobile,var(--shmc-title-size-mobile))!important;
        line-height:1.03!important;
        letter-spacing:-.35px!important;
        margin:0 0 9px!important;
        max-width:100%!important;
        overflow-wrap:anywhere!important;
        word-break:normal!important;
    }
    .shmc-content p{
        font-size:var(--shmc-slide-description-size-mobile,var(--shmc-description-size-mobile))!important;
        line-height:1.35!important;
        margin:0 0 13px!important;
        max-width:100%!important;
    }
    .shmc-cta{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:8px!important;
        max-width:100%!important;
        padding:9px 12px!important;
        font-size:12px!important;
        line-height:1.25!important;
        border-radius:9px!important;
        white-space:normal!important;
        flex:0 0 auto!important;
    }
    .shmc-cta span{font-size:16px!important;flex:0 0 auto;}
    .shmc-arrow{
        display:grid!important;
        position:absolute!important;
        top:50%!important;
        z-index:8!important;
        width:38px!important;
        height:38px!important;
        transform:translateY(-50%)!important;
        font-size:23px!important;
        line-height:1!important;
    }
    .shmc-arrow[hidden]{display:none!important;}
    .shmc-prev{left:9px!important}.shmc-next{right:9px!important}
    .shmc-dots{bottom:12px!important;z-index:9!important;gap:6px!important}
    .shmc-dot{width:7px!important;height:7px!important}.shmc-dot.is-active{width:24px!important}
    .shmc-progress{height:2px!important;z-index:10!important}
}

/* Very small phones: reduce only typography/spacing, never stack the composition. */
@media (max-width:420px){
    .shmc-content{width:74%!important;max-width:74%!important;padding:16px 14px 32px!important;}
    .shmc-content h2{font-size:clamp(21px,var(--shmc-slide-title-size-mobile,var(--shmc-title-size-mobile)),26px)!important;line-height:1.03!important;margin-bottom:8px!important;}
    .shmc-content p{font-size:clamp(11.5px,var(--shmc-slide-description-size-mobile,var(--shmc-description-size-mobile)),13px)!important;line-height:1.34!important;margin-bottom:11px!important;}
    .shmc-cta{font-size:11.5px!important;padding:8px 10px!important;}
    .shmc-arrow{width:34px!important;height:34px!important;font-size:20px!important;}
    .shmc-prev{left:7px!important}.shmc-next{right:7px!important}
}

@media (max-width:360px){
    .shmc-content{width:76%!important;max-width:76%!important;padding:14px 12px 30px!important;}
    .shmc-content h2{font-size:21px!important;}
    .shmc-content p{font-size:11.5px!important;}
    .shmc-cta{font-size:11px!important;padding:7px 9px!important;}
}
