/* Homepage-only product carousel. Every selector is contained by this section. */
.sl-product-showcase {
    --sl-showcase-purple: #6559df;
    --sl-showcase-pink: #ee79b9;
    --sl-showcase-teal: #36cdd4;
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: 0;
    padding: 92px 24px 78px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(ellipse at 15% 60%, rgba(101, 89, 223, .25), transparent 48%),
        radial-gradient(ellipse at 82% 34%, rgba(238, 121, 185, .15), transparent 44%),
        radial-gradient(ellipse at 73% 93%, rgba(54, 205, 212, .12), transparent 38%),
        linear-gradient(130deg, #141524, #211627 62%, #141d27);
}

.sl-product-showcase *,
.sl-product-showcase *::before,
.sl-product-showcase *::after { box-sizing: border-box; }

.sl-product-showcase::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image: radial-gradient(rgba(255, 255, 255, .12) .75px, transparent .75px);
    background-size: 26px 26px;
    -webkit-mask-image: linear-gradient(transparent, #000 45%, transparent);
    mask-image: linear-gradient(transparent, #000 45%, transparent);
    opacity: .38;
}

.sl-product-showcase .sl-showcase-shell { width: 100%; max-width: 1280px; margin: 0 auto; }
.sl-product-showcase .sl-showcase-heading { position: relative; max-width: 790px; margin: 0 auto 56px; text-align: center; }
.sl-product-showcase .sl-showcase-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    color: #f2b8d8;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.2px;
    line-height: 1.5;
    text-transform: uppercase;
}
.sl-product-showcase .sl-showcase-eyebrow::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--sl-showcase-teal);
    box-shadow: 0 0 18px rgba(54, 205, 212, .5);
}
.sl-product-showcase .sl-showcase-heading #slHomeProductsTitle {
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(30px, 3.6vw, 48px);
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: -1.4px;
    text-transform: none;
}
.sl-product-showcase .sl-showcase-heading p { max-width: 640px; margin: 0 auto; color: #cec9dc; font-size: 16px; line-height: 1.85; }
.sl-product-showcase .sl-showcase-stage { position: relative; touch-action: pan-y pinch-zoom; }
.sl-product-showcase .sl-showcase-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: start; }

.sl-product-showcase .sl-product-card {
    --sl-card-accent: #6559df;
    --sl-card-soft: #ece8ff;
    --sl-card-deep: #34295c;
    --sl-card-media: #d8cff3;
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 15px;
    color: #272333;
    background: #fffdfa;
    box-shadow: 0 24px 65px rgba(3, 3, 14, .28);
}
.sl-product-showcase .sl-product-card[data-product="wordpress"] {
    --sl-card-accent: #a54378;
    --sl-card-soft: #f9e4ef;
    --sl-card-deep: #592b45;
    --sl-card-media: #f0c4d8;
}
.sl-product-showcase .sl-product-card[data-product="hosting"] {
    --sl-card-accent: #167b7b;
    --sl-card-soft: #d9f4ef;
    --sl-card-deep: #164c52;
    --sl-card-media: #b8e8df;
}
.sl-product-showcase .sl-product-chrome {
    display: flex;
    align-items: center;
    gap: 14px;
    height: 44px;
    padding: 0 17px;
    border-bottom: 1px solid #eae7ee;
    background: #f7f5f7;
}
.sl-product-showcase .sl-product-window-dots { display: flex; flex: 0 0 auto; gap: 5px; }
.sl-product-showcase .sl-product-window-dots i { display: block; width: 7px; height: 7px; border-radius: 50%; background: #efb4be; }
.sl-product-showcase .sl-product-window-dots i:nth-child(2) { background: #ebd196; }
.sl-product-showcase .sl-product-window-dots i:nth-child(3) { background: #93c9bd; }
.sl-product-showcase .sl-product-address {
    display: block;
    flex: 1;
    min-width: 0;
    max-width: 365px;
    margin: 0 auto;
    padding: 4px 12px;
    overflow: hidden;
    border: 1px solid #ece9ee;
    border-radius: 5px;
    color: #797381;
    background: #fff;
    font-size: 10px;
    line-height: 1.4;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sl-product-showcase .sl-product-chrome-mark { flex: 0 0 auto; color: #a39aaa; font-size: 12px; }
.sl-product-showcase .sl-product-body { display: grid; grid-template-columns: minmax(0, 1fr); }
.sl-product-showcase .sl-product-copy { position: relative; z-index: 1; min-width: 0; padding: 28px; }
.sl-product-showcase .sl-product-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--sl-card-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 1.5;
    text-transform: uppercase;
}
.sl-product-showcase .sl-product-copy h3 {
    margin: 0 0 12px;
    color: #272333;
    font-size: 29px;
    font-weight: 600;
    letter-spacing: -.85px;
    line-height: 1.15;
    text-transform: none;
}
.sl-product-showcase .sl-product-description { margin: 0 0 20px; color: #706978; font-size: 13px; line-height: 1.8; }
.sl-product-showcase .sl-product-pricing { margin-bottom: 19px; }
.sl-product-showcase .sl-product-discount {
    display: inline-block;
    margin: 0 7px 7px 0;
    padding: 4px 7px;
    border-radius: 5px;
    color: #653150;
    background: #fbe4f0;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
}
.sl-product-showcase .sl-product-old-price { display: inline-block; color: #736a79; font-size: 12px; line-height: 1.5; text-decoration: line-through; }
.sl-product-showcase .sl-product-price { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 4px; margin: 0 0 2px; color: #272333; font-size: 23px; font-weight: 600; line-height: 1.15; letter-spacing: -1px; }
.sl-product-showcase .sl-product-amount { color: #272333; font-size: 39px; font-weight: 600; line-height: 1.15; }
.sl-product-showcase .sl-product-period { margin-left: 2px; color: #7b7381; font-size: 12px; font-weight: 400; letter-spacing: 0; }
.sl-product-showcase .sl-product-price-caption { display: block; margin-top: 5px; color: #736a79; font-size: 10px; line-height: 1.6; }
.sl-product-showcase .sl-product-cta {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 44px;
    max-width: 100%;
    padding: 12px 18px;
    border: 1px solid transparent;
    border-radius: 7px;
    color: #fff;
    background: #5b4bc7;
    box-shadow: 0 5px 12px rgba(101, 89, 223, .16);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
    text-decoration: none;
    transition: background-color .18s ease, box-shadow .18s ease;
}
.sl-product-showcase .sl-product-cta > span { flex: 0 0 auto; font-size: 18px; font-weight: 400; line-height: 1; }
.sl-product-showcase .sl-product-cta:hover { color: #fff; background: #493aaf; box-shadow: 0 6px 18px rgba(101, 89, 223, .3); }
.sl-product-showcase .sl-product-cta:focus-visible,
.sl-product-showcase .sl-showcase-arrow:focus-visible,
.sl-product-showcase .sl-showcase-dot:focus-visible,
.sl-product-showcase .sl-showcase-toggle:focus-visible { outline: 3px solid #36cdd4 !important; outline-offset: 4px; }

/* Configurable product images and videos keep their complete frame by default. */
.sl-product-showcase .sl-product-media {
    position: relative;
    display: flex;
    flex-direction: column;
    align-self: center;
    gap: 11px;
    min-width: 0;
    margin: 0 15px 15px;
    padding: 12px;
    border: 1px solid rgba(101, 89, 223, .09);
    border-radius: 12px;
    background:
        radial-gradient(ellipse at 90% 0%, rgba(255, 255, 255, .95), transparent 65%),
        linear-gradient(145deg, var(--sl-card-soft), var(--sl-card-media));
}
.sl-product-showcase .sl-product-media-frame {
    position: relative;
    width: 100%;
    min-width: 0;
    aspect-ratio: 8 / 5;
    overflow: hidden;
    border: 1px solid rgba(63, 52, 76, .09);
    border-radius: 8px;
    background: #fffdfb;
    box-shadow: 0 8px 24px rgba(43, 30, 67, .08);
}
.sl-product-showcase .sl-product-image,
.sl-product-showcase .sl-product-video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    object-fit: contain;
    object-position: center;
}
.sl-product-showcase .sl-product-video { background: #191521; touch-action: manipulation; }
.sl-product-showcase .sl-product-media[data-media-fit="cover"] .sl-product-image,
.sl-product-showcase .sl-product-media[data-media-fit="cover"] .sl-product-video { object-fit: cover; }
.sl-product-showcase .sl-product-media-frame:focus-within { outline: 3px solid #36cdd4; outline-offset: 3px; }
.sl-product-showcase .sl-product-media-caption {
    margin: 0;
    padding: 0 2px 1px;
    color: var(--sl-card-deep);
    font-size: 10px;
    font-weight: 500;
    line-height: 1.7;
    overflow-wrap: anywhere;
}
.sl-product-showcase .sl-product-media-empty {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 22px;
    color: var(--sl-card-deep);
    font-size: 12px;
    line-height: 1.65;
    text-align: center;
}
.sl-product-showcase .sl-product-media-empty [aria-hidden="true"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: var(--sl-card-accent);
    background: var(--sl-card-soft);
    font-size: 22px;
}
.sl-product-showcase .sl-product-media-empty p { margin: 0; }

/* Progressive enhancement: all complete cards remain visible without JS. */
.sl-product-showcase .sl-showcase-note { display: none; }
.sl-product-showcase.is-ready .sl-showcase-stage { padding: 14px 0 34px; }
.sl-product-showcase.is-ready .sl-showcase-cards { position: relative; display: block; width: 100%; min-height: 438px; }
.sl-product-showcase.is-ready .sl-product-card {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    width: 800px;
    max-width: calc(100% - 220px);
    transform: translateX(-50%);
    transform-origin: 50% 50%;
    transition: transform .65s cubic-bezier(.22, .68, .1, 1), filter .65s ease, opacity .65s ease, box-shadow .65s ease;
    will-change: transform;
}
.sl-product-showcase.is-ready .sl-product-body { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); min-height: 386px; }
.sl-product-showcase.is-ready .sl-product-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 32px 25px 28px 32px; }
.sl-product-showcase.is-ready .sl-product-copy h3 { font-size: 32px; }
.sl-product-showcase.is-ready .sl-product-pricing { margin-top: auto; }
.sl-product-showcase.is-ready .sl-product-media { margin: 24px 20px 24px 0; }
.sl-product-showcase.is-ready .sl-product-card[data-position="active"] {
    position: relative;
    z-index: 3;
    opacity: 1;
    filter: none;
    transform: translateX(-50%);
    box-shadow: 0 32px 80px rgba(3, 3, 14, .38), 0 0 0 1px rgba(255, 255, 255, .1);
}
.sl-product-showcase.is-ready .sl-product-card[data-position="previous"] {
    z-index: 1;
    pointer-events: none;
    opacity: .56;
    filter: blur(1px) saturate(.8);
    transform: translate(calc(-50% - 245px), 27px) rotate(-7deg) scale(.79);
}
.sl-product-showcase.is-ready .sl-product-card[data-position="next"] {
    z-index: 2;
    pointer-events: none;
    opacity: .65;
    filter: blur(.65px) saturate(.88);
    transform: translate(calc(-50% + 245px), 30px) rotate(7deg) scale(.79);
}
.sl-product-showcase.is-ready .sl-product-card[data-position="hidden"] {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}
.sl-product-showcase.is-ready .sl-showcase-note {
    position: relative;
    z-index: 4;
    display: block;
    width: 280px;
    max-width: 100%;
    margin: 28px 12px 0 auto;
    padding: 21px 20px 20px;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 12px;
    color: #3f344c;
    background: rgba(255, 248, 253, .96);
    box-shadow: 0 18px 44px rgba(8, 5, 23, .22);
    transform: rotate(2deg);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}
.sl-product-showcase .sl-showcase-note-icon { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; margin: 0 7px 12px 0; border-radius: 7px; color: #5b4bc7; background: #ece7fd; font-size: 19px; line-height: 1; vertical-align: middle; }
.sl-product-showcase .sl-showcase-note-label { display: inline; color: #826786; font-size: 9px; font-weight: 700; letter-spacing: 1.1px; line-height: 1.5; text-transform: uppercase; vertical-align: middle; }
.sl-product-showcase .sl-showcase-note h3 { margin: 0 0 9px; color: #3f344c; font-size: 18px; font-weight: 600; line-height: 1.25; letter-spacing: -.4px; text-transform: none; }
.sl-product-showcase .sl-showcase-note p { margin: 0; color: #75677c; font-size: 11px; line-height: 1.8; }

.sl-product-showcase .sl-showcase-controls { position: relative; z-index: 5; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 13px; margin-top: 23px; }
.sl-product-showcase .sl-showcase-controls[hidden] { display: none !important; }
.sl-product-showcase .sl-showcase-arrow,
.sl-product-showcase .sl-showcase-toggle,
.sl-product-showcase .sl-showcase-dot {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(220, 212, 239, .25);
    border-radius: 50%;
    color: #eee8f8;
    background: rgba(255, 255, 255, .045);
    box-shadow: none;
    font: inherit;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease;
    -webkit-appearance: none;
    appearance: none;
}
.sl-product-showcase .sl-showcase-arrow:hover,
.sl-product-showcase .sl-showcase-toggle:hover { color: #fff; border-color: #a396dc; background: rgba(101, 89, 223, .24); }
.sl-product-showcase .sl-showcase-dots { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; max-width: 100%; gap: 0; }
.sl-product-showcase .sl-showcase-dot { min-width: 32px; width: 32px; border-color: transparent; background: transparent; }
.sl-product-showcase .sl-showcase-dot::before { content: ""; display: block; width: 7px; height: 7px; border-radius: 8px; background: #91849d; transition: width .3s ease, background-color .3s ease; }
.sl-product-showcase .sl-showcase-dot[aria-current="true"]::before { width: 22px; background: linear-gradient(90deg, #aa99f0, #ee79b9); }
.sl-product-showcase .sl-showcase-dot:hover::before { background: #f2b8d8; }
.sl-product-showcase .sl-showcase-toggle { min-width: 74px; width: auto; height: 36px; margin-left: 8px; padding: 0 12px; border-radius: 24px; font-size: 11px; }
.sl-product-showcase .sl-showcase-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Only the widest layout has enough space for a note beside the media. */
@media (min-width: 1328px) {
    .sl-product-showcase.is-ready .sl-showcase-note { position: absolute; top: 206px; right: 12px; width: 212px; margin: 0; padding: 18px; }
}

@media (max-width: 1199px) {
    .sl-product-showcase.is-ready .sl-product-card { max-width: calc(100% - 150px); }
    .sl-product-showcase.is-ready .sl-product-card[data-position="previous"] { transform: translate(calc(-50% - 180px), 28px) rotate(-7deg) scale(.8); }
    .sl-product-showcase.is-ready .sl-product-card[data-position="next"] { transform: translate(calc(-50% + 180px), 30px) rotate(7deg) scale(.8); }
    .sl-product-showcase.is-ready .sl-showcase-note { margin-right: 0; padding: 18px; }
}

@media (max-width: 991px) {
    .sl-product-showcase { padding: 76px 22px 66px; }
    .sl-product-showcase .sl-showcase-heading { margin-bottom: 40px; }
    .sl-product-showcase .sl-showcase-cards { grid-template-columns: minmax(0, 1fr); max-width: 720px; margin: 0 auto; }
    .sl-product-showcase .sl-product-body { grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); }
    .sl-product-showcase .sl-product-media { margin: 20px 18px 20px 0; padding: 10px; }
    .sl-product-showcase.is-ready .sl-showcase-cards { max-width: none; }
    .sl-product-showcase.is-ready .sl-product-card { width: 720px; max-width: calc(100% - 62px); }
    .sl-product-showcase.is-ready .sl-product-copy { padding: 29px 22px 28px 28px; }
    .sl-product-showcase.is-ready .sl-product-copy h3 { font-size: 29px; }
    .sl-product-showcase.is-ready .sl-product-card[data-position="previous"] { transform: translate(calc(-50% - 105px), 22px) rotate(-6deg) scale(.82); }
    .sl-product-showcase.is-ready .sl-product-card[data-position="next"] { transform: translate(calc(-50% + 105px), 24px) rotate(6deg) scale(.82); }
    .sl-product-showcase.is-ready .sl-product-media { margin: 20px 18px 20px 0; }
    .sl-product-showcase.is-ready .sl-showcase-note { margin-top: 25px; }
    .sl-product-showcase.is-ready .sl-showcase-stage { padding-bottom: 12px; }
}

@media (max-width: 767px) {
    .sl-product-showcase { padding: 58px 18px 48px; }
    .sl-product-showcase .sl-showcase-heading { margin-bottom: 28px; }
    .sl-product-showcase .sl-showcase-eyebrow { margin-bottom: 13px; font-size: 9px; letter-spacing: 1.7px; }
    .sl-product-showcase .sl-showcase-heading #slHomeProductsTitle { margin-bottom: 14px; font-size: clamp(27px, 7vw, 36px); letter-spacing: -.9px; }
    .sl-product-showcase .sl-showcase-heading p { max-width: 440px; font-size: 13px; line-height: 1.8; }
    .sl-product-showcase .sl-showcase-cards { max-width: 440px; gap: 22px; }
    .sl-product-showcase .sl-product-card { border-radius: 12px; }
    .sl-product-showcase .sl-product-chrome { height: 37px; gap: 10px; padding: 0 12px; }
    .sl-product-showcase .sl-product-address { max-width: 250px; padding: 3px 6px; font-size: 8px; }
    .sl-product-showcase .sl-product-window-dots { gap: 4px; }
    .sl-product-showcase .sl-product-window-dots i { width: 5px; height: 5px; }
    .sl-product-showcase .sl-product-body,
    .sl-product-showcase.is-ready .sl-product-body { grid-template-columns: minmax(0, 1fr); min-height: 0; }
    .sl-product-showcase .sl-product-copy,
    .sl-product-showcase.is-ready .sl-product-copy { padding: 26px 24px 23px; }
    .sl-product-showcase .sl-product-copy h3,
    .sl-product-showcase.is-ready .sl-product-copy h3 { max-width: 320px; font-size: 29px; line-height: 1.15; }
    .sl-product-showcase .sl-product-kicker { font-size: 10px; }
    .sl-product-showcase .sl-product-description { max-width: 340px; margin-bottom: 17px; font-size: 13px; line-height: 1.75; }
    .sl-product-showcase .sl-product-pricing { margin-bottom: 16px; }
    .sl-product-showcase .sl-product-amount { font-size: 36px; }
    .sl-product-showcase .sl-product-cta { width: 100%; min-height: 45px; font-size: 12px; }
    .sl-product-showcase .sl-product-media,
    .sl-product-showcase.is-ready .sl-product-media { gap: 10px; margin: 0 12px 12px; padding: 10px; }
    .sl-product-showcase .sl-product-media-caption { font-size: 10px; line-height: 1.65; }
    .sl-product-showcase .sl-product-media-empty { gap: 9px; padding: 16px; font-size: 11px; }
    .sl-product-showcase.is-ready .sl-showcase-stage { padding: 9px 0 0; }
    .sl-product-showcase.is-ready .sl-showcase-cards { min-height: 0; max-width: 440px; }
    .sl-product-showcase.is-ready .sl-product-card { width: 100%; max-width: 100%; }
    .sl-product-showcase.is-ready .sl-product-card[data-position="previous"] { opacity: .35; filter: blur(.8px); transform: translate(calc(-50% - 12px), 6px) rotate(-3deg) scale(.94); }
    .sl-product-showcase.is-ready .sl-product-card[data-position="next"] { opacity: .4; filter: blur(.8px); transform: translate(calc(-50% + 12px), 7px) rotate(3deg) scale(.94); }
    .sl-product-showcase.is-ready .sl-showcase-note {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        width: 100%;
        max-width: 440px;
        margin: 20px auto 0;
        padding: 18px 20px;
        transform: none;
        text-align: left;
    }
    .sl-product-showcase .sl-showcase-note-icon { width: 24px; height: 24px; margin-bottom: 9px; font-size: 17px; }
    .sl-product-showcase .sl-showcase-note h3 { font-size: 17px; }
    .sl-product-showcase .sl-showcase-note p { font-size: 12px; line-height: 1.7; }
    .sl-product-showcase .sl-showcase-controls { gap: 9px; margin-top: 24px; }
}

@media (max-width: 359px) {
    .sl-product-showcase { padding-right: 15px; padding-left: 15px; }
    .sl-product-showcase .sl-product-copy,
    .sl-product-showcase.is-ready .sl-product-copy { padding: 24px 20px 21px; }
    .sl-product-showcase .sl-product-copy h3,
    .sl-product-showcase.is-ready .sl-product-copy h3 { font-size: 27px; }
    .sl-product-showcase .sl-product-description { font-size: 12px; }
    .sl-product-showcase .sl-showcase-controls { gap: 5px; }
    .sl-product-showcase .sl-showcase-toggle { margin-left: 4px; }
}

@media (prefers-reduced-motion: reduce) {
    .sl-product-showcase *,
    .sl-product-showcase *::before,
    .sl-product-showcase *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
