.bkbg-aps-wrap {
    width: 100%;
    box-sizing: border-box;
}
.bkbg-aps-inner {
    margin: 0 auto;
    box-sizing: border-box;
}
.bkbg-aps-header {
    text-align: center;
    margin-bottom: 48px;
}
.bkbg-aps-eyebrow {
    font-family: var(--bkbg-aps-eyebrow-font-family, inherit);
    font-size: var(--bkbg-aps-eyebrow-font-size-d, var(--bkbg-aps-eyebrow-font-size, var(--bkbg-aps-eyebrow-sz, 13px)));
    font-weight: var(--bkbg-aps-eyebrow-font-weight, 600);
    font-style: var(--bkbg-aps-eyebrow-font-style, normal);
    text-transform: var(--bkbg-aps-eyebrow-text-transform, uppercase);
    text-decoration: var(--bkbg-aps-eyebrow-text-decoration, none);
    letter-spacing: var(--bkbg-aps-eyebrow-letter-spacing-d, var(--bkbg-aps-eyebrow-letter-spacing, 0.1em));
    line-height: var(--bkbg-aps-eyebrow-line-height-d, var(--bkbg-aps-eyebrow-line-height, normal));
    word-spacing: var(--bkbg-aps-eyebrow-word-spacing-d, var(--bkbg-aps-eyebrow-word-spacing, normal));
    margin: 0 0 8px;
}
.bkbg-aps-heading {
    font-family: var(--bkbg-aps-heading-font-family, inherit);
    font-size: var(--bkbg-aps-heading-font-size-d, var(--bkbg-aps-heading-font-size, var(--bkbg-aps-heading-sz, 36px)));
    font-weight: var(--bkbg-aps-heading-font-weight, 700);
    font-style: var(--bkbg-aps-heading-font-style, normal);
    text-transform: var(--bkbg-aps-heading-text-transform, none);
    text-decoration: var(--bkbg-aps-heading-text-decoration, none);
    line-height: var(--bkbg-aps-heading-line-height-d, var(--bkbg-aps-heading-line-height, normal));
    letter-spacing: var(--bkbg-aps-heading-letter-spacing-d, var(--bkbg-aps-heading-letter-spacing, normal));
    word-spacing: var(--bkbg-aps-heading-word-spacing-d, var(--bkbg-aps-heading-word-spacing, normal));
    margin: 0 0 14px;
}
.bkbg-aps-sub {
    font-family: var(--bkbg-aps-sub-font-family, inherit);
    font-size: var(--bkbg-aps-sub-font-size-d, var(--bkbg-aps-sub-font-size, var(--bkbg-aps-sub-sz, 18px)));
    font-weight: var(--bkbg-aps-sub-font-weight, inherit);
    font-style: var(--bkbg-aps-sub-font-style, normal);
    text-transform: var(--bkbg-aps-sub-text-transform, none);
    text-decoration: var(--bkbg-aps-sub-text-decoration, none);
    line-height: var(--bkbg-aps-sub-line-height-d, var(--bkbg-aps-sub-line-height, 1.6));
    letter-spacing: var(--bkbg-aps-sub-letter-spacing-d, var(--bkbg-aps-sub-letter-spacing, normal));
    word-spacing: var(--bkbg-aps-sub-word-spacing-d, var(--bkbg-aps-sub-word-spacing, normal));
    max-width: 620px;
    margin: 0 auto 24px;
}

@media (max-width: 1024px) {
    .bkbg-aps-eyebrow {
        font-size: var(--bkbg-aps-eyebrow-font-size-t, var(--bkbg-aps-eyebrow-font-size-d, var(--bkbg-aps-eyebrow-font-size, var(--bkbg-aps-eyebrow-sz, 13px))));
        line-height: var(--bkbg-aps-eyebrow-line-height-t, var(--bkbg-aps-eyebrow-line-height-d, var(--bkbg-aps-eyebrow-line-height, normal)));
        letter-spacing: var(--bkbg-aps-eyebrow-letter-spacing-t, var(--bkbg-aps-eyebrow-letter-spacing-d, var(--bkbg-aps-eyebrow-letter-spacing, 0.1em)));
        word-spacing: var(--bkbg-aps-eyebrow-word-spacing-t, var(--bkbg-aps-eyebrow-word-spacing-d, var(--bkbg-aps-eyebrow-word-spacing, normal)));
    }
    .bkbg-aps-heading {
        font-size: var(--bkbg-aps-heading-font-size-t, var(--bkbg-aps-heading-font-size-d, var(--bkbg-aps-heading-font-size, var(--bkbg-aps-heading-sz, 36px))));
        line-height: var(--bkbg-aps-heading-line-height-t, var(--bkbg-aps-heading-line-height-d, var(--bkbg-aps-heading-line-height, normal)));
        letter-spacing: var(--bkbg-aps-heading-letter-spacing-t, var(--bkbg-aps-heading-letter-spacing-d, var(--bkbg-aps-heading-letter-spacing, normal)));
        word-spacing: var(--bkbg-aps-heading-word-spacing-t, var(--bkbg-aps-heading-word-spacing-d, var(--bkbg-aps-heading-word-spacing, normal)));
    }
    .bkbg-aps-sub {
        font-size: var(--bkbg-aps-sub-font-size-t, var(--bkbg-aps-sub-font-size-d, var(--bkbg-aps-sub-font-size, var(--bkbg-aps-sub-sz, 18px))));
        line-height: var(--bkbg-aps-sub-line-height-t, var(--bkbg-aps-sub-line-height-d, var(--bkbg-aps-sub-line-height, 1.6)));
        letter-spacing: var(--bkbg-aps-sub-letter-spacing-t, var(--bkbg-aps-sub-letter-spacing-d, var(--bkbg-aps-sub-letter-spacing, normal)));
        word-spacing: var(--bkbg-aps-sub-word-spacing-t, var(--bkbg-aps-sub-word-spacing-d, var(--bkbg-aps-sub-word-spacing, normal)));
    }
}

@media (max-width: 767px) {
    .bkbg-aps-eyebrow {
        font-size: var(--bkbg-aps-eyebrow-font-size-m, var(--bkbg-aps-eyebrow-font-size-t, var(--bkbg-aps-eyebrow-font-size-d, var(--bkbg-aps-eyebrow-font-size, var(--bkbg-aps-eyebrow-sz, 13px)))));
        line-height: var(--bkbg-aps-eyebrow-line-height-m, var(--bkbg-aps-eyebrow-line-height-t, var(--bkbg-aps-eyebrow-line-height-d, var(--bkbg-aps-eyebrow-line-height, normal))));
        letter-spacing: var(--bkbg-aps-eyebrow-letter-spacing-m, var(--bkbg-aps-eyebrow-letter-spacing-t, var(--bkbg-aps-eyebrow-letter-spacing-d, var(--bkbg-aps-eyebrow-letter-spacing, 0.1em))));
        word-spacing: var(--bkbg-aps-eyebrow-word-spacing-m, var(--bkbg-aps-eyebrow-word-spacing-t, var(--bkbg-aps-eyebrow-word-spacing-d, var(--bkbg-aps-eyebrow-word-spacing, normal))));
    }
    .bkbg-aps-heading {
        font-size: var(--bkbg-aps-heading-font-size-m, var(--bkbg-aps-heading-font-size-t, var(--bkbg-aps-heading-font-size-d, var(--bkbg-aps-heading-font-size, var(--bkbg-aps-heading-sz, 36px)))));
        line-height: var(--bkbg-aps-heading-line-height-m, var(--bkbg-aps-heading-line-height-t, var(--bkbg-aps-heading-line-height-d, var(--bkbg-aps-heading-line-height, normal))));
        letter-spacing: var(--bkbg-aps-heading-letter-spacing-m, var(--bkbg-aps-heading-letter-spacing-t, var(--bkbg-aps-heading-letter-spacing-d, var(--bkbg-aps-heading-letter-spacing, normal))));
        word-spacing: var(--bkbg-aps-heading-word-spacing-m, var(--bkbg-aps-heading-word-spacing-t, var(--bkbg-aps-heading-word-spacing-d, var(--bkbg-aps-heading-word-spacing, normal))));
    }
    .bkbg-aps-sub {
        font-size: var(--bkbg-aps-sub-font-size-m, var(--bkbg-aps-sub-font-size-t, var(--bkbg-aps-sub-font-size-d, var(--bkbg-aps-sub-font-size, var(--bkbg-aps-sub-sz, 18px)))));
        line-height: var(--bkbg-aps-sub-line-height-m, var(--bkbg-aps-sub-line-height-t, var(--bkbg-aps-sub-line-height-d, var(--bkbg-aps-sub-line-height, 1.6))));
        letter-spacing: var(--bkbg-aps-sub-letter-spacing-m, var(--bkbg-aps-sub-letter-spacing-t, var(--bkbg-aps-sub-letter-spacing-d, var(--bkbg-aps-sub-letter-spacing, normal))));
        word-spacing: var(--bkbg-aps-sub-word-spacing-m, var(--bkbg-aps-sub-word-spacing-t, var(--bkbg-aps-sub-word-spacing-d, var(--bkbg-aps-sub-word-spacing, normal))));
    }
}
.bkbg-aps-cta {
    display: inline-block;
    padding: 13px 32px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: opacity 0.2s;
}
.bkbg-aps-cta:hover {
    opacity: 0.9;
}
.bkbg-aps-frame-wrap {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
}
.bkbg-aps-frame-wrap.frame-browser,
.bkbg-aps-frame-wrap.frame-macbook {
    border-width: 4px;
    border-style: solid;
}
.bkbg-aps-browser-bar {
    padding: 12px 16px 0;
    display: flex;
    align-items: center;
    gap: 6px;
}
.bkbg-aps-browser-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}
.bkbg-aps-screenshot {
    width: 100%;
    display: block;
}
.bkbg-aps-callouts {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.bkbg-aps-callout {
    position: absolute;
    transform: translate(-50%, -50%);
    pointer-events: auto;
    text-align: center;
    z-index: 2;
}
.bkbg-aps-callout-label {
    border-radius: 8px;
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: 0 4px 16px rgba(0,0,0,0.22);
    cursor: pointer;
    position: relative;
}
.bkbg-aps-callout-tooltip {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    background: #1e293b;
    color: #f1f5f9;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 400;
    white-space: normal;
    min-width: 180px;
    max-width: 240px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.3);
    z-index: 10;
}
.bkbg-aps-callout:hover .bkbg-aps-callout-tooltip {
    display: block;
}
.bkbg-aps-callout-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    margin: 6px auto 0;
    position: relative;
}
.bkbg-aps-callout-dot::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid currentColor;
    opacity: 0.4;
    animation: bkbg-aps-pulse 2s ease-in-out infinite;
}
@keyframes bkbg-aps-pulse {
    0%, 100% { transform: scale(1); opacity: 0.4; }
    50% { transform: scale(1.4); opacity: 0.15; }
}
/* Split layout */
.bkbg-aps-split {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 60px;
    align-items: center;
}
@media (max-width: 900px) {
    .bkbg-aps-split {
        grid-template-columns: 1fr;
    }
}
.bkbg-aps-split .bkbg-aps-header {
    text-align: left;
    margin-bottom: 0;
}
.bkbg-aps-split .bkbg-aps-sub {
    margin-left: 0;
}
