/* BestLinks storefront landing chrome.
   Filled in Stage 4 from the Google Ads reference. Later landings reuse these classes.
   Stage 5 adds the Facebook feed mock, the Instagram feed mock, the inclusion pack,
   the icon-step grid, and the sale-note list. Those blocks are not on Google Ads.
   Stage 6 adds the GEO-AEO chat mock, evolution cards, reason panel, method
   timeline, advantage bento, result box, and final call to action. Those
   blocks are not on Google, Facebook, or Instagram Ads.
   Stage 7 adds the SEO rank chart, package tiers, comparison table,
   point-service quantity controls, and explainer rows. Those blocks are
   only used under .sfl-seo.
   Stage 8 adds the website-building browser mock, must-have list,
   design-versus-content cards, WordPress panel, security band, and
   examples carousel skin. Those blocks are only used under .sfl-web.
   Stage 9 adds the reputation name mock, hook, examples, process road,
   mistakes, criteria, trio, and final call to action. Those blocks are
   only used under .sfl-rep.
   Stage 10 adds the Google Reviews profile mock, flow, stacked benefits,
   info pair, dark advantage cards, five-point bento, checklist, next band,
   platform cards, final call to action, and sale-card skin. Those blocks
   are only used under .sfl-rv.
   Stage 11 adds the affiliate dashboard mock, money flow, win cards,
   vertical benefit cards, and dark stages band. Those blocks are only
   used under .sfl-af.
   Stage 12 adds the PR deals search, chips, sort, sale cards, content
   package card, and catalog call to action. Those blocks are only used
   under .sfl-pr-deals.
   Stage 13 adds the PR newspaper mock, benefit cards, steps band, AI
   cards, examples rail, article, and lightbox skin. Those blocks are
   only used under .sfl-pr. The deals grid stays .sfl-pr-deals.
   TikTok Ads adds the phone mock, who cards, audience cards, cost bars,
   sale-icon tone, and the why summary. Those blocks are only used under .sfl-tk.
   Scope is .sfl-page, which also carries .bl-storefront.
   Tokens and shared buttons stay in storefrontDesign.css. Do not add tokens on :root.
   Google Ads hero art (.sfl-ga-*) is only used by that page.
   Facebook feed art (.sfl-fb-*) and Instagram feed art (.sfl-ig-*) are only used by those pages. */

.sfl-page,
.sfl-page *,
.sfl-page *::before,
.sfl-page *::after {
    box-sizing: border-box;
}

.sfl-page {
    position: relative;
    overflow-x: clip;
    text-align: start;
    background:
        radial-gradient(ellipse 880px 500px at 84% 0%, rgba(108, 53, 217, 0.12), transparent 62%),
        radial-gradient(ellipse 700px 460px at 5% 5%, rgba(246, 139, 31, 0.08), transparent 64%),
        radial-gradient(rgba(101, 53, 201, 0.035) 1px, transparent 1.4px) 0 0 / 26px 26px,
        linear-gradient(180deg, #FFFFFF 0%, #FAF7FE 20%, #FBFAFE 100%);
}

.sfl-page section {
    padding: 0;
}

.sfl-page section[id] {
    scroll-margin-top: 110px;
}

.sfl-page h1 {
    font-size: clamp(2.1rem, 4.2vw, 3.4rem);
    letter-spacing: -1.3px;
    line-height: 1.14;
    color: var(--sfd-ink);
}

.sfl-page h2 {
    font-size: clamp(1.5rem, 2.8vw, 2.1rem);
    letter-spacing: -0.9px;
    line-height: 1.3;
    color: var(--sfd-ink);
}

.sfl-page h3 {
    font-size: 1rem;
    font-weight: 800;
    color: var(--sfd-ink);
}

.sfl-page .sfl-wrap {
    width: 100%;
    max-width: 1320px;
    margin-inline: auto;
    padding-inline: 22px;
}

.sfl-page .sfl-icn {
    display: block;
    flex: none;
    width: 24px;
    height: 24px;
}

.sfl-page .sfl-icn-line {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sfl-page .sfl-icn-solid {
    fill: currentColor;
    stroke: none;
}

.sfl-page .sfd-btn .icn {
    fill: currentColor;
}

.sfl-page .sfl-rule {
    display: block;
    width: 56px;
    height: 4px;
    border-radius: 3px;
    background: linear-gradient(90deg, #6535C9, #D34BB5);
}

.sfl-page .sfl-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
}

.sfl-page .sfl-ctas .sfl-cta-wa {
    display: inline-flex;
    text-decoration: none;
    color: inherit;
}

/* Hero */

.sfl-page .sfl-hero {
    position: relative;
    padding-top: 46px;
    padding-bottom: 86px;
}

.sfl-page .sfl-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 48px;
    align-items: center;
}

.sfl-page .sfl-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 6px 15px 6px 7px;
    border: 1px solid rgba(101, 53, 201, 0.2);
    border-radius: 999px;
    background: rgba(101, 53, 201, 0.07);
    color: var(--sfd-purple-deep);
    font-size: 0.79rem;
    font-weight: 800;
}

.sfl-page .sfl-eyebrow-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    color: #fff;
}

.sfl-page .sfl-eyebrow-ic .sfl-icn {
    width: 13px;
    height: 13px;
}

.sfl-page .sfl-sub {
    display: block;
    margin-top: 8px;
    color: var(--sfd-ink-soft);
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    font-weight: 800;
    letter-spacing: -0.5px;
    line-height: 1.35;
}

.sfl-page .sfl-hero .sfl-rule {
    width: 64px;
    margin-top: 16px;
    background: linear-gradient(90deg, #6535C9, #B62AE6 46%, #FF7A18);
}

.sfl-page .sfl-lead {
    max-width: 58ch;
    margin-top: 15px;
    color: var(--sfd-ink-soft);
    font-size: 1.02rem;
    font-weight: 500;
    line-height: 1.8;
}

.sfl-page .sfl-lead b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page .sfl-hero .sfl-ctas {
    margin-top: 24px;
}

.sfl-page .sfl-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 20px;
}

.sfl-page .sfl-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--sfd-ink-soft);
    font-size: 0.84rem;
    font-weight: 700;
}

.sfl-page .sfl-trust-ck {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3ACB88, #22A86C);
    box-shadow: 0 6px 12px -6px rgba(47, 163, 108, 0.9);
    color: #fff;
}

.sfl-page .sfl-trust-ck .sfl-icn {
    width: 12px;
    height: 12px;
}

/* Google Ads search mock */

.sfl-page .sfl-ga-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
}

.sfl-page .sfl-ga-glow {
    position: absolute;
    inset: -8% -14%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 40%, rgba(40, 116, 255, 0.2), transparent 55%),
        radial-gradient(circle at 65% 65%, rgba(58, 203, 136, 0.16), transparent 55%),
        radial-gradient(circle, rgba(153, 72, 245, 0.16), transparent 72%);
    filter: blur(36px);
    pointer-events: none;
}

.sfl-page .sfl-serp {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 420px;
    overflow: hidden;
    border: 1.5px solid #EAE3F7;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 46px 84px -38px rgba(52, 26, 110, 0.62), 0 0 0 9px rgba(255, 255, 255, 0.62);
}

.sfl-page .sfl-serp-top {
    padding: 14px 14px 10px;
    border-bottom: 1px solid #F0ECF7;
}

.sfl-page .sfl-serp-q {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 14px;
    border: 1.5px solid #E6E0F2;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 8px 18px -14px rgba(64, 42, 120, 0.7);
    color: var(--sfd-ink);
    font-size: 0.8rem;
    font-weight: 700;
}

.sfl-page .sfl-serp-q .sfl-icn {
    width: 15px;
    height: 15px;
    color: #9C90BC;
}

.sfl-page .sfl-serp-cur {
    width: 1.5px;
    height: 15px;
    background: var(--sfd-purple);
    animation: sfl-blink 1s steps(1) infinite;
}

.sfl-page .sfl-serp-tabs {
    display: flex;
    gap: 14px;
    margin-top: 10px;
    padding-inline: 6px;
    color: #A9A0C2;
    font-size: 0.66rem;
    font-weight: 800;
}

.sfl-page .sfl-serp-tabs b {
    position: relative;
    color: var(--sfd-blue);
}

.sfl-page .sfl-serp-tabs b::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -11px;
    left: 0;
    height: 2.5px;
    border-radius: 2px;
    background: var(--sfd-blue);
}

.sfl-page .sfl-serp-body {
    display: grid;
    gap: 10px;
    padding: 12px 14px 14px;
}

.sfl-page .sfl-res {
    padding: 10px 12px;
    border-radius: 14px;
}

.sfl-page .sfl-res-sp {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--sfd-ink);
    font-size: 0.62rem;
    font-weight: 800;
}

.sfl-page .sfl-res-sp::before {
    content: "";
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #E9E4F3;
}

.sfl-page .sfl-res-url {
    display: block;
    margin-top: 1px;
    direction: ltr;
    color: #9C90BC;
    font-size: 0.6rem;
    font-weight: 700;
    text-align: right;
}

.sfl-page .sfl-res-ttl {
    display: block;
    margin-top: 5px;
    color: #1A56DB;
    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1.35;
}

.sfl-page .sfl-res-dsc {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--sfd-muted);
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sfl-page .sfl-res-ln {
    display: block;
    height: 6px;
    margin-top: 6px;
    border-radius: 4px;
    background: #EEEAF5;
}

.sfl-page .sfl-res-ln-s {
    width: 70%;
}

.sfl-page .sfl-res-ad {
    border: 1.5px solid transparent;
    background:
        linear-gradient(135deg, #F5F8FF, #FBF6FF) padding-box,
        linear-gradient(120deg, #2874FF, #9948F5 55%, #3ACB88) border-box;
    box-shadow: 0 18px 34px -22px rgba(40, 116, 255, 0.7);
    animation: sfl-ad-glow 3.2s ease-in-out infinite;
}

.sfl-page .sfl-res-ad .sfl-res-sp::before {
    background: linear-gradient(135deg, #6535C9, #2874FF);
}

.sfl-page .sfl-res-ad .sfl-res-sp em {
    padding: 1px 6px;
    border-radius: 5px;
    background: var(--sfd-ink);
    color: #fff;
    font-size: 0.56rem;
    font-style: normal;
}

.sfl-page .sfl-res-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.sfl-page .sfl-res-links span {
    padding: 3px 9px;
    border: 1px solid #DCE6FF;
    border-radius: 999px;
    background: #fff;
    color: #1A56DB;
    font-size: 0.6rem;
    font-weight: 800;
}

.sfl-page .sfl-res-org {
    opacity: 0.6;
}

.sfl-page .sfl-res-org .sfl-res-ttl {
    color: #7C8FC7;
}

.sfl-page .sfl-ga-float {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 44px -22px rgba(64, 42, 120, 0.82);
}

.sfl-page .sfl-ga-av {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: linear-gradient(135deg, #3ACB88, #22A86C);
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.5), 0 10px 16px -9px rgba(30, 12, 60, 0.6);
    color: #fff;
}

.sfl-page .sfl-ga-av .sfl-icn {
    width: 17px;
    height: 17px;
}

.sfl-page .sfl-ga-float b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.25;
}

.sfl-page .sfl-ga-sub {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.3;
}

.sfl-page .sfl-ga-f1 {
    top: 44%;
    inset-inline-start: -9%;
    animation: sfl-float-y 5s ease-in-out infinite;
}

.sfl-page .sfl-ga-f2 {
    bottom: 2%;
    inset-inline-end: -8%;
    animation: sfl-float-y 5.6s ease-in-out 0.8s infinite;
}

.sfl-page .sfl-ga-f2 .sfl-ga-av {
    background: linear-gradient(135deg, #6535C9, #2874FF);
}

.sfl-page .sfl-ga-cursor {
    position: absolute;
    z-index: 4;
    top: 22%;
    left: 34%;
    width: 26px;
    height: 26px;
    pointer-events: none;
    animation: sfl-click 3.2s ease-in-out infinite;
}

.sfl-page .sfl-icn-cursor {
    width: 26px;
    height: 26px;
    fill: #1B1630;
    stroke: #fff;
    stroke-width: 1.4;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3));
}

/* Sale section */

.sfl-page .sfl-after {
    position: relative;
    z-index: 1;
    padding-top: 30px;
    padding-bottom: 44px;
    background: linear-gradient(180deg, #F2EAFC 0%, #F7F2FD 38%, rgba(251, 250, 254, 0) 100%);
}

.sfl-page .sfl-wave {
    position: absolute;
    top: -95px;
    right: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 96px;
    overflow: visible;
    pointer-events: none;
}

.sfl-page .sfl-wave-fill {
    fill: #F2EAFC;
}

.sfl-page .sfl-wave-line {
    fill: none;
    stroke: url(#sflHeroWaveLine);
    stroke-width: 2.4;
    opacity: 0.95;
    filter: drop-shadow(0 0 6px rgba(182, 42, 230, 0.35));
}

.sfl-page .sfl-wave-dot {
    position: absolute;
    top: -18px;
    left: 50%;
    z-index: 2;
    width: 11px;
    height: 11px;
    margin-left: -5.5px;
    border-radius: 50%;
    background: #E5479A;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.9), 0 0 12px rgba(229, 71, 154, 0.75);
    pointer-events: none;
}

.sfl-page .sfl-after .sfl-wrap {
    position: relative;
    z-index: 2;
}

.sfl-page .sfl-sale-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 440px;
    gap: 44px;
    align-items: center;
}

.sfl-page .sfl-over {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--sfd-purple-deep);
    font-size: 0.86rem;
    font-weight: 800;
}

.sfl-page .sfl-over::before {
    content: "";
    width: 22px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
}

.sfl-page .sfl-sale-intro h2 {
    margin-top: 10px;
    font-size: clamp(1.55rem, 2.9vw, 2.2rem);
    letter-spacing: -0.9px;
    line-height: 1.25;
}

.sfl-page .sfl-sale-intro > p {
    margin-top: 12px;
    color: var(--sfd-ink-soft);
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.8;
}

.sfl-page .sfl-pts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.sfl-page .sfl-pt {
    padding: 14px 14px 13px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 30px -24px rgba(64, 42, 120, 0.7);
}

.sfl-page .sfl-pt-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: var(--sfl-g);
    box-shadow: 0 12px 20px -10px rgba(30, 12, 60, 0.55), inset 0 2px 3px rgba(255, 255, 255, 0.5);
    color: #fff;
}

.sfl-page .sfl-pt-ic .sfl-icn {
    width: 18px;
    height: 18px;
}

.sfl-page .sfl-pt b {
    display: block;
    margin-top: 9px;
    color: var(--sfd-ink);
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.35;
}

.sfl-page .sfl-pt-sub {
    display: block;
    margin-top: 2px;
    color: var(--sfd-muted);
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.5;
}

.sfl-page .sfl-pt-1 { --sfl-g: linear-gradient(135deg, #2874FF, #6535C9); }
.sfl-page .sfl-pt-2 { --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A); }
.sfl-page .sfl-pt-3 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); }

.sfl-page .sfl-sale {
    position: relative;
    padding: 26px 26px 24px;
    border: 1.5px solid transparent;
    border-radius: 28px;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(140deg, #6535C9, #B62AE6 40%, #FE2C55 70%, #FF7A18) border-box;
    box-shadow: 0 34px 70px -34px rgba(101, 53, 201, 0.7);
    text-align: start;
}

.sfl-page .sfl-sale-head {
    display: flex;
    align-items: center;
    gap: 13px;
}

.sfl-page .sfl-sale-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 52px;
    height: 52px;
    border-radius: 17px;
    background: linear-gradient(135deg, #2874FF, #6535C9);
    box-shadow: 0 18px 28px -14px rgba(40, 116, 255, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.25);
    color: #fff;
}

.sfl-page .sfl-sale-ic .sfl-icn {
    width: 24px;
    height: 24px;
}

.sfl-page .sfl-sale .productName {
    color: var(--sfd-ink);
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.4px;
    line-height: 1.3;
}

.sfl-page .sfl-sale-sub {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.sfl-page .sfl-sale-feat {
    display: grid;
    gap: 10px;
    margin: 18px 0 0;
    padding: 16px 0;
    border-top: 1px dashed var(--sfd-line-purple);
    border-bottom: 1px dashed var(--sfd-line-purple);
    list-style: none;
}

.sfl-page .sfl-sale-feat li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--sfd-ink-soft);
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.5;
}

.sfl-page .sfl-sale-ok {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 22px;
    height: 22px;
    border-radius: 8px;
    background: linear-gradient(135deg, #2874FF, #6535C9);
    box-shadow: 0 8px 14px -8px rgba(40, 116, 255, 0.9);
    color: #fff;
}

.sfl-page .sfl-sale-ok .sfl-icn {
    width: 14px;
    height: 14px;
}

.sfl-page .sfl-sale-note {
    color: var(--sfd-muted);
    font-size: 0.82rem;
    font-weight: 600;
}

.sfl-page .sfl-sale-note .sfl-sale-ok {
    background: #F1EDF8;
    box-shadow: none;
    color: var(--sfd-muted);
}

.sfl-page .sfl-sale-note .sfl-sale-ok .sfl-icn {
    width: 13px;
    height: 13px;
}

.sfl-page .sfl-sale .priceDiv {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.sfl-page .sfl-sale .price {
    direction: ltr;
    unicode-bidi: isolate;
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: -1.5px;
    line-height: 1;
}

.sfl-page .sfl-sale .extra,
.sfl-page .sfl-sale .priceLabel {
    color: var(--sfd-ink-soft);
    font-size: 0.86rem;
    font-weight: 800;
}

.sfl-page .sfl-sale .extraDetails > div:first-child:not(:empty) {
    margin-top: 8px;
    padding: 10px 12px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 12px;
    background: #FBF9FE;
    color: var(--sfd-ink-soft);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.6;
}

.sfl-page .sfl-sale .extraDetails > div:nth-child(2) {
    display: none;
}

.sfl-page .sfl-sale-remark {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 4px 11px;
    border: 1px solid rgba(58, 203, 136, 0.32);
    border-radius: 999px;
    background: rgba(58, 203, 136, 0.1);
    color: #1F7A4D;
    font-size: 0.76rem;
    font-weight: 800;
}

.sfl-page .sfl-sale-remark .sfl-icn {
    width: 13px;
    height: 13px;
}

.sfl-page .sfl-sale .priceOptionsWrap {
    margin-top: 10px;
}

.sfl-page .sfl-sale .priceOptionsToggleBtn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 12px;
    background: #fff;
    color: var(--sfd-purple-deep);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
}

.sfl-page .sfl-sale .priceOptionsToggleBtn:hover {
    border-color: #DCCFF7;
    background: #FBF9FE;
}

.sfl-page .sfl-sale .priceOptionsToggleBtn .sign {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(101, 53, 201, 0.08);
    font-size: 1rem;
    line-height: 1;
}

.sfl-page .sfl-sale .priceOptionsToggleBtn[aria-expanded="true"] .sign {
    background: var(--sfd-grad-accent);
    color: #fff;
}

.sfl-page .sfl-sale .priceOptionsPanel {
    display: grid;
    gap: 8px;
    max-height: 0;
    margin-top: 8px;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.3s ease;
}

.sfl-page .sfl-sale .priceOptionsPanel[hidden] {
    display: none;
}

.sfl-page .sfl-sale .priceOptionsPanel.open {
    max-height: 1200px;
    opacity: 1;
}

.sfl-page .sfl-sale .priceOption {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 10px 12px;
    border: 1px dashed #DCCFF7;
    border-radius: 12px;
    background: #FDFCFE;
    color: var(--sfd-ink-soft);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.55;
    animation: sfl-opt-in 0.25s ease both;
}

.sfl-page .sfl-sale .priceOption::before {
    content: "";
    flex: none;
    width: 8px;
    height: 8px;
    margin-top: 6px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
}

.sfl-page .sfl-sale .classErrorMessage {
    margin-top: 12px;
    color: #D93A5C;
    font-size: 0.86rem;
    font-weight: 700;
}

.sfl-page .sfl-sale .pleaseWait {
    justify-content: flex-start;
    margin-top: 16px;
    background: transparent;
}

.sfl-page .sfl-sale .pleaseWait h2 {
    color: var(--sfd-ink-soft);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
}

.sfl-page .sfl-sale .pleaseWaitImg {
    width: 28px;
    margin-right: 10px;
}

.sfl-page .sfl-sale .productButtonMain {
    width: 100%;
    margin-top: 16px;
    padding: 15px 22px;
    font-size: 0.98rem;
}

.sfl-page .sfl-sale-safe {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-top: 12px;
    color: var(--sfd-muted);
    font-size: 0.74rem;
    font-weight: 700;
}

.sfl-page .sfl-sale-safe span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.sfl-page .sfl-sale-safe .sfl-icn {
    width: 13px;
    height: 13px;
    color: #2FA36C;
}

/* Section head, split, video */

.sfl-page .sfl-sec {
    position: relative;
    padding-top: 44px;
    padding-bottom: 44px;
}

.sfl-page .sfl-sec-tint {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #F8F4FD 26%, #F8F4FD 74%, rgba(255, 255, 255, 0));
}

.sfl-page .sfl-sec-tight {
    padding-top: 8px;
}

.sfl-page .sfl-faq {
    padding-bottom: 64px;
}

.sfl-page .sfl-head {
    max-width: 66ch;
    margin: 0 auto 28px;
    text-align: center;
}

.sfl-page .sfl-head .sfl-rule {
    margin: 13px auto 0;
}

.sfl-page .sfl-head p {
    margin-top: 12px;
    color: var(--sfd-muted);
    font-size: 0.96rem;
    font-weight: 600;
    line-height: 1.8;
}

.sfl-page .sfl-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 40px;
    align-items: center;
}

.sfl-page .sfl-prose h2 {
    font-size: clamp(1.42rem, 2.5vw, 1.95rem);
    letter-spacing: -0.8px;
    line-height: 1.3;
}

.sfl-page .sfl-prose .sfl-rule {
    margin-top: 13px;
}

.sfl-page .sfl-prose p {
    margin-top: 13px;
    color: var(--sfd-ink-soft);
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.9;
}

.sfl-page .sfl-prose p b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page .sfl-pitch {
    position: relative;
    overflow: hidden;
    margin-top: 18px;
    padding: 20px 22px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(101, 53, 201, 0.06), rgba(254, 44, 85, 0.06));
}

.sfl-page .sfl-pitch::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 0;
    bottom: 18px;
    width: 4px;
    border-radius: 4px;
    background: linear-gradient(180deg, #6535C9, #FE2C55, #FF7A18);
}

.sfl-page .sfl-pitch p {
    margin: 0;
    color: var(--sfd-ink);
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.75;
}

.sfl-page .sfl-prose .sfl-ctas {
    margin-top: 22px;
}

.sfl-page .sfl-vid .player {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    margin: 0;
    border: 1.5px solid #fff;
    border-radius: 18px;
    background: #150E2A;
    box-shadow: 0 34px 70px -32px rgba(36, 20, 66, 0.7), 0 0 0 8px rgba(101, 53, 201, 0.06);
}

.sfl-page .sfl-vid .player .plcholder {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.sfl-page .sfl-vid .player:hover .plcholder {
    transform: scale(1.05);
}

.sfl-page .sfl-vid .player::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(21, 14, 42, 0.06), rgba(21, 14, 42, 0.45));
    pointer-events: none;
}

.sfl-page .sfl-vid .player .playerButton {
    top: 50%;
    left: 50%;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--sfd-grad-accent);
    box-shadow: 0 18px 32px -12px rgba(182, 42, 230, 0.9), inset 0 2px 3px rgba(255, 255, 255, 0.5), 0 0 0 7px rgba(255, 255, 255, 0.22);
    transform: translate(-50%, -50%);
    transition: transform 0.24s cubic-bezier(0.2, 0.9, 0.3, 1.35);
}

.sfl-page .sfl-vid .player:hover .playerButton {
    transform: translate(-50%, -50%) scale(1.09);
}

.sfl-page .sfl-vid .player .playerButton .icn {
    width: 22px;
    height: 22px;
    fill: #fff;
    transform: scaleX(-1);
}

.sfl-page .sfl-vid .player iframe {
    position: absolute;
    inset: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    border: 0;
}

.sfl-page .sfl-vid-cap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    color: var(--sfd-muted);
    font-size: 0.8rem;
    font-weight: 700;
}

.sfl-page .sfl-vid-cap .sfl-icn {
    width: 15px;
    height: 15px;
    color: var(--sfd-pink);
}

/* Benefit cards */

.sfl-page .sfl-bens {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.sfl-page .sfl-ben {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    overflow: hidden;
    padding: 22px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, box-shadow 0.24s, border-color 0.24s;
}

.sfl-page .sfl-ben::before {
    content: "";
    position: absolute;
    top: -90px;
    inset-inline-end: -60px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--sfl-glow), transparent 70%);
    filter: blur(24px);
    opacity: 0.45;
    pointer-events: none;
}

.sfl-page .sfl-ben:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-6px);
}

.sfl-page .sfl-ben-ic {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 17px;
    background: var(--sfl-g);
    box-shadow: 0 18px 28px -14px var(--sfl-glow), inset 0 2px 3px rgba(255, 255, 255, 0.6), inset 0 -7px 14px rgba(0, 0, 0, 0.18);
    color: #fff;
}

.sfl-page .sfl-ben-ic::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.1));
}

.sfl-page .sfl-ben-ic .sfl-icn {
    position: relative;
    z-index: 2;
    width: 25px;
    height: 25px;
}

.sfl-page .sfl-ben h3,
.sfl-page .sfl-ben p {
    position: relative;
}

.sfl-page .sfl-ben h3 {
    margin-top: 3px;
    font-size: 1.03rem;
    line-height: 1.4;
}

.sfl-page .sfl-ben p {
    margin-top: 5px;
    color: var(--sfd-muted);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page .sfl-ben-1 { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); --sfl-glow: rgba(255, 122, 24, 0.6); }
.sfl-page .sfl-ben-2 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); --sfl-glow: rgba(58, 203, 136, 0.6); }
.sfl-page .sfl-ben-3 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); --sfl-glow: rgba(101, 53, 201, 0.6); }
.sfl-page .sfl-ben-4 { --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A); --sfl-glow: rgba(182, 42, 230, 0.6); }
.sfl-page .sfl-ben-5 { --sfl-g: linear-gradient(135deg, #2874FF, #25C9E6); --sfl-glow: rgba(40, 116, 255, 0.6); }
.sfl-page .sfl-ben-6 { --sfl-g: linear-gradient(135deg, #E5479A, #FF7A18); --sfl-glow: rgba(229, 71, 154, 0.6); }
.sfl-page .sfl-ben-7 { --sfl-g: linear-gradient(135deg, #9948F5, #6535C9); --sfl-glow: rgba(153, 72, 245, 0.6); }
.sfl-page .sfl-ben-8 { --sfl-g: linear-gradient(135deg, #25C9E6, #3ACB88); --sfl-glow: rgba(37, 201, 230, 0.6); }
.sfl-page .sfl-ben-9 { --sfl-g: linear-gradient(135deg, #6535C9, #B62AE6); --sfl-glow: rgba(101, 53, 201, 0.6); }

/* Steps */

.sfl-page .sfl-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.sfl-page .sfl-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, box-shadow 0.24s, border-color 0.24s;
}

.sfl-page .sfl-step:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-5px);
}

.sfl-page .sfl-step-n {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: var(--sfl-g);
    box-shadow: 0 14px 24px -12px rgba(182, 42, 230, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.5);
    color: #fff;
    direction: ltr;
    font-size: 1.05rem;
    font-weight: 800;
}

.sfl-page .sfl-step h3 {
    margin-top: 2px;
    font-size: 1.02rem;
    line-height: 1.4;
}

.sfl-page .sfl-step p {
    margin-top: 5px;
    color: var(--sfd-muted);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page .sfl-step-1 { --sfl-g: linear-gradient(135deg, #FE2C55, #FF7A18); }
.sfl-page .sfl-step-2 { --sfl-g: linear-gradient(135deg, #E5479A, #B62AE6); }
.sfl-page .sfl-step-3 { --sfl-g: linear-gradient(135deg, #B62AE6, #6535C9); }
.sfl-page .sfl-step-4 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); }
.sfl-page .sfl-step-5 { --sfl-g: linear-gradient(135deg, #2874FF, #25C9E6); }
.sfl-page .sfl-step-6 { --sfl-g: linear-gradient(135deg, #25C9E6, #3ACB88); }

.sfl-page .sfl-result {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    margin-top: 22px;
    padding: 20px 24px;
    border: 1.5px solid transparent;
    border-radius: 22px;
    background:
        linear-gradient(135deg, #FBF7FF, #F3FBF7) padding-box,
        linear-gradient(120deg, #6535C9, #B62AE6 45%, #3ACB88) border-box;
    box-shadow: 0 22px 44px -30px rgba(101, 53, 201, 0.6);
}

.sfl-page .sfl-result-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 17px;
    background: linear-gradient(135deg, #3ACB88, #2874FF);
    box-shadow: 0 16px 26px -12px rgba(58, 203, 136, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.5);
    color: #fff;
}

.sfl-page .sfl-result-ic .sfl-icn {
    width: 25px;
    height: 25px;
}

.sfl-page .sfl-result small {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page .sfl-result p {
    margin-top: 2px;
    color: var(--sfd-ink);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.6;
}

/* Why BestLinks */

.sfl-page .sfl-why {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 34px 44px;
    align-items: center;
    overflow: hidden;
    padding: 42px 40px;
    border-radius: 30px;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    box-shadow: 0 34px 70px -34px rgba(36, 20, 66, 0.95);
    color: #fff;
}

.sfl-page .sfl-why-wide {
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
}

.sfl-page .sfl-why::before,
.sfl-page .sfl-why::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(42px);
    pointer-events: none;
}

.sfl-page .sfl-why::before {
    top: -240px;
    inset-inline-start: -100px;
    width: 440px;
    height: 440px;
    background: radial-gradient(circle, rgba(182, 42, 230, 0.42), transparent 70%);
}

.sfl-page .sfl-why::after {
    bottom: -220px;
    inset-inline-end: -80px;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, rgba(37, 244, 238, 0.2), transparent 70%);
}

.sfl-page .sfl-why > * {
    position: relative;
    z-index: 1;
}

.sfl-page .sfl-why-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page .sfl-why-badge b {
    direction: ltr;
    background: linear-gradient(90deg, #C98BFF, #FF9A4D);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 0.95rem;
}

.sfl-page .sfl-why h2 {
    margin-top: 14px;
    color: #fff;
    font-size: clamp(1.5rem, 2.8vw, 2.1rem);
    letter-spacing: -0.9px;
    line-height: 1.25;
}

.sfl-page .sfl-why h2 .sfd-gradient-text {
    background: linear-gradient(90deg, #C98BFF, #FF9A4D);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page .sfl-why-intro {
    margin-top: 12px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.8;
}

.sfl-page .sfl-why .sfl-ctas {
    margin-top: 20px;
}

.sfl-page .sfl-why .sfd-btn-ghost {
    color: #fff;
    background:
        linear-gradient(#33195A, #33195A) padding-box,
        linear-gradient(120deg, #C98BFF, #FF9A4D) border-box;
}

.sfl-page .sfl-why-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
}

.sfl-page .sfl-why-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.04));
    transition: transform 0.22s, border-color 0.22s;
}

.sfl-page .sfl-why-item:hover {
    border-color: rgba(255, 255, 255, 0.26);
    transform: translateX(-4px);
}

.sfl-page .sfl-why-ok {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 32px;
    height: 32px;
    border-radius: 11px;
    background: var(--sfl-g);
    box-shadow: 0 10px 18px -8px rgba(0, 0, 0, 0.6), inset 0 2px 3px rgba(255, 255, 255, 0.4);
    color: #fff;
}

.sfl-page .sfl-why-ok .sfl-icn {
    width: 16px;
    height: 16px;
}

.sfl-page .sfl-why-item b {
    display: block;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.4;
}

.sfl-page .sfl-why-sub {
    display: block;
    margin-top: 2px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.6;
}

.sfl-page .sfl-why-1 { --sfl-g: linear-gradient(135deg, #FE2C55, #FF7A18); }
.sfl-page .sfl-why-2 { --sfl-g: linear-gradient(135deg, #2874FF, #25C9E6); }
.sfl-page .sfl-why-3 { --sfl-g: linear-gradient(135deg, #25C9E6, #3ACB88); }
.sfl-page .sfl-why-4 { --sfl-g: linear-gradient(135deg, #E5479A, #B62AE6); }
.sfl-page .sfl-why-5 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); }
.sfl-page .sfl-why-6 { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); }
.sfl-page .sfl-why-7 { --sfl-g: linear-gradient(135deg, #B62AE6, #6535C9); }
.sfl-page .sfl-why-8 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); }

/* FAQ skin. Questions stay in faq.js. Do not restyle /faq. */

.sfl-page .faqDiv {
    max-width: 900px;
    margin-inline: auto;
    gap: 11px;
    text-align: start;
}

.sfl-page .faqTopicDiv {
    gap: 11px;
}

.sfl-page .faqDiv .faqTopicHeader {
    display: block;
    margin: 0 auto 28px;
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: clamp(1.5rem, 2.8vw, 2.1rem);
    font-weight: 800;
    letter-spacing: -0.9px;
    line-height: 1.3;
    text-align: center;
}

.sfl-page .faqDiv .faqTopicHeader::after {
    content: "";
    display: block;
    width: 56px;
    height: 4px;
    margin: 13px auto 0;
    border-radius: 3px;
    background: linear-gradient(90deg, #6535C9, #D34BB5);
    -webkit-background-clip: border-box;
    background-clip: border-box;
}

.sfl-page .faqDiv .questionDiv {
    margin-bottom: 0;
    border: 1px solid var(--sfd-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 30px -26px rgba(64, 42, 120, 0.7);
    color: var(--sfd-ink);
}

.sfl-page .faqDiv .questionDiv:hover {
    border-color: #DCCFF7;
}

.sfl-page .faqDiv .questionDiv.open {
    background: #fff;
    box-shadow: 0 12px 30px -26px rgba(64, 42, 120, 0.7);
    color: var(--sfd-ink);
}

.sfl-page .questionDiv .questionHeader {
    gap: 14px;
    padding: 17px 20px;
    color: var(--sfd-ink);
    font-size: 0.98rem;
    font-weight: 800;
}

.sfl-page .questionDiv .questionText {
    line-height: 1.45;
}

.sfl-page .questionDiv .openArrow,
.sfl-page .questionDiv .plus {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #F8F7FC;
    color: var(--sfd-purple-deep);
}

.sfl-page .questionDiv .openArrow i {
    color: var(--sfd-purple-deep);
    font-size: 18px;
}

.sfl-page .questionDiv.open .openArrow,
.sfl-page .questionDiv.open .plus {
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    color: #fff;
}

.sfl-page .questionDiv.open .openArrow i {
    color: #fff;
}

.sfl-page .questionDiv .answerDiv {
    background: #fff;
    color: var(--sfd-muted);
    font-size: 0.9rem;
    font-weight: 600;
}

.sfl-page .questionDiv.open .answerDiv {
    padding: 0 20px 18px;
}

.sfl-page .faqDiv .answer p {
    color: var(--sfd-muted);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.85;
}

.sfl-page .faqDiv .answer p + p {
    margin-top: 9px;
}

.sfl-page .faqDiv .answer ul {
    display: grid;
    gap: 8px;
    margin-top: 10px;
    padding: 0;
    list-style: none;
}

.sfl-page .faqDiv .answer ul li {
    position: relative;
    padding-right: 22px;
    padding-left: 0;
    color: var(--sfd-muted);
    font-size: 0.89rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page .faqDiv .answer ul li::before {
    content: "";
    position: absolute;
    top: 9px;
    right: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
}

.sfl-page .faqDiv .answer a {
    color: var(--sfd-purple);
    text-decoration: underline;
}

.sfl-page .faqDiv .boldText {
    color: var(--sfd-ink-soft);
    font-weight: 700;
}

.sfl-page .faqDiv .pleaseWait {
    background: transparent;
}

.sfl-page .faqDiv .pleaseWait h2 {
    color: var(--sfd-ink-soft);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
}

/* Stage 5. Facebook feed, Instagram feed, inclusion pack, icon steps, sale notes.
   Google Ads does not use these classes. */

.sfl-page .sfl-prose a {
    color: var(--sfd-purple-deep);
    font-weight: 800;
    border-bottom: 1.5px solid rgba(101, 53, 201, 0.3);
}

.sfl-page a.sfd-btn.sfd-btn-accent {
    color: #fff;
    border-bottom: 0;
    text-decoration: none;
}

.sfl-page .sfl-pt-fb {
    --sfl-g: linear-gradient(135deg, #1877F2, #6535C9);
}

.sfl-page .sfl-sale-ic-fb {
    background: linear-gradient(135deg, #1877F2, #6535C9);
    box-shadow: 0 18px 28px -14px rgba(24, 119, 242, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.25);
}

.sfl-page .sfl-sale-ic-ig {
    background: linear-gradient(45deg, #FA7E1E, #D62976 50%, #962FBF);
    box-shadow: 0 18px 28px -14px rgba(214, 41, 118, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.25);
}

.sfl-page .sfl-sale-feat-long {
    gap: 8px;
}

.sfl-page .sfl-sale-feat-long li {
    font-size: 0.88rem;
}

.sfl-page .sfl-sale-notes {
    display: grid;
    gap: 5px;
    margin: 8px 0 0;
    padding: 10px 12px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 12px;
    background: #FBF9FE;
    list-style: none;
}

.sfl-page .sfl-sale-notes li {
    position: relative;
    padding-right: 14px;
    color: var(--sfd-muted);
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.55;
}

.sfl-page .sfl-sale-notes li::before {
    content: "";
    position: absolute;
    top: 8px;
    right: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
}

.sfl-page .sfl-ben-fb {
    --sfl-g: linear-gradient(135deg, #1877F2, #6535C9);
    --sfl-glow: rgba(24, 119, 242, 0.6);
}

.sfl-page .sfl-bens-ig .sfl-ben-1 { --sfl-g: linear-gradient(135deg, #4F5BD5, #962FBF); --sfl-glow: rgba(79, 91, 213, 0.6); }
.sfl-page .sfl-bens-ig .sfl-ben-2 { --sfl-g: linear-gradient(135deg, #D62976, #FA7E1E); --sfl-glow: rgba(214, 41, 118, 0.6); }
.sfl-page .sfl-bens-ig .sfl-ben-3 { --sfl-g: linear-gradient(135deg, #FA7E1E, #E5479A); --sfl-glow: rgba(250, 126, 30, 0.6); }
.sfl-page .sfl-bens-ig .sfl-ben-4 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); --sfl-glow: rgba(58, 203, 136, 0.6); }
.sfl-page .sfl-bens-ig .sfl-ben-5 { --sfl-g: linear-gradient(135deg, #962FBF, #D62976); --sfl-glow: rgba(150, 47, 191, 0.6); }
.sfl-page .sfl-bens-ig .sfl-ben-6 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); --sfl-glow: rgba(101, 53, 201, 0.6); }

.sfl-page .sfl-steps-ig .sfl-step-1 { --sfl-g: linear-gradient(135deg, #FA7E1E, #D62976); }
.sfl-page .sfl-steps-ig .sfl-step-2 { --sfl-g: linear-gradient(135deg, #D62976, #962FBF); }
.sfl-page .sfl-steps-ig .sfl-step-3 { --sfl-g: linear-gradient(135deg, #962FBF, #6535C9); }
.sfl-page .sfl-steps-ig .sfl-step-4 { --sfl-g: linear-gradient(135deg, #6535C9, #4F5BD5); }
.sfl-page .sfl-steps-ig .sfl-step-5 { --sfl-g: linear-gradient(135deg, #4F5BD5, #25C9E6); }
.sfl-page .sfl-steps-ig .sfl-step-6 { --sfl-g: linear-gradient(135deg, #25C9E6, #3ACB88); }

.sfl-page .sfl-step-7 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); }
.sfl-page .sfl-step-8 { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); }

.sfl-page .sfl-steps-icons {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sfl-page .sfl-steps-icons .sfl-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 22px 20px;
}

.sfl-page .sfl-steps-icons .sfl-step-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 15px;
    background: var(--sfl-g);
    box-shadow: 0 14px 24px -12px rgba(30, 12, 60, 0.55), inset 0 2px 3px rgba(255, 255, 255, 0.5);
    color: #fff;
}

.sfl-page .sfl-steps-icons .sfl-step-ic .sfl-icn {
    width: 22px;
    height: 22px;
}

.sfl-page .sfl-steps-icons .sfl-step-mark {
    position: absolute;
    top: 16px;
    left: 18px;
    direction: ltr;
    background: linear-gradient(135deg, rgba(101, 53, 201, 0.28), rgba(255, 122, 24, 0.28));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
}

.sfl-page .sfl-steps-icons h3 {
    margin: 0;
}

.sfl-page .sfl-pack {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 24px;
    align-items: start;
}

.sfl-page .sfl-incs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.sfl-page .sfl-inc {
    position: relative;
    overflow: hidden;
    padding: 22px 20px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, box-shadow 0.24s, border-color 0.24s;
}

.sfl-page .sfl-inc::before {
    content: "";
    position: absolute;
    top: -120px;
    inset-inline-end: -70px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--sfl-glow), transparent 70%);
    filter: blur(26px);
    opacity: 0.5;
    pointer-events: none;
}

.sfl-page .sfl-inc:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.5);
    transform: translateY(-5px);
}

.sfl-page .sfl-inc-h {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
}

.sfl-page .sfl-inc-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 50px;
    height: 50px;
    border-radius: 16px;
    background: var(--sfl-g);
    box-shadow: 0 18px 26px -12px var(--sfl-glow), inset 0 2px 3px rgba(255, 255, 255, 0.6), inset 0 -7px 14px rgba(0, 0, 0, 0.18);
    color: #fff;
}

.sfl-page .sfl-inc-ic .sfl-icn {
    width: 24px;
    height: 24px;
}

.sfl-page .sfl-inc h3 {
    font-size: 1.06rem;
    line-height: 1.3;
}

.sfl-page .sfl-inc-sub {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.sfl-page .sfl-inc ul {
    position: relative;
    display: grid;
    gap: 8px;
    margin: 14px 0 0;
    padding: 14px 0 0;
    border-top: 1px dashed var(--sfd-line-purple);
    list-style: none;
}

.sfl-page .sfl-inc li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: var(--sfd-ink-soft);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.55;
}

.sfl-page .sfl-inc-ck {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    border-radius: 7px;
    background: var(--sfl-g);
    color: #fff;
}

.sfl-page .sfl-inc-ck .sfl-icn {
    width: 13px;
    height: 13px;
}

.sfl-page .sfl-inc-extra {
    color: var(--sfd-muted);
    font-weight: 600;
}

.sfl-page .sfl-inc-extra .sfl-inc-ck {
    border: 1.5px dashed #CFC4E6;
    background: #fff;
    color: var(--sfd-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page .sfl-inc-1 { --sfl-g: linear-gradient(135deg, #FA7E1E, #D62976); --sfl-glow: rgba(214, 41, 118, 0.55); }
.sfl-page .sfl-inc-2 { --sfl-g: linear-gradient(135deg, #962FBF, #4F5BD5); --sfl-glow: rgba(150, 47, 191, 0.55); }
.sfl-page .sfl-inc-3 { --sfl-g: linear-gradient(135deg, #D62976, #FA7E1E); --sfl-glow: rgba(250, 126, 30, 0.55); }
.sfl-page .sfl-inc-4 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); --sfl-glow: rgba(58, 203, 136, 0.55); }

.sfl-page .sfl-sale-sticky {
    position: sticky;
    top: 110px;
}

.sfl-page .sfl-inc-sum {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-top: 16px;
    padding: 14px 0;
    border-top: 1px dashed var(--sfd-line-purple);
    border-bottom: 1px dashed var(--sfd-line-purple);
}

.sfl-page .sfl-inc-sum span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--sfd-ink-soft);
    font-size: 0.82rem;
    font-weight: 800;
}

.sfl-page .sfl-inc-sum .sfl-icn {
    width: 18px;
    height: 18px;
    padding: 3px;
    border-radius: 6px;
    background: linear-gradient(135deg, #2874FF, #6535C9);
    color: #fff;
}

.sfl-page .sfl-fb-art,
.sfl-page .sfl-ig-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
}

.sfl-page .sfl-fb-glow,
.sfl-page .sfl-ig-glow {
    position: absolute;
    inset: -8% -14%;
    border-radius: 50%;
    filter: blur(36px);
    pointer-events: none;
}

.sfl-page .sfl-fb-glow {
    background:
        radial-gradient(circle at 35% 40%, rgba(24, 119, 242, 0.22), transparent 55%),
        radial-gradient(circle at 65% 65%, rgba(229, 71, 154, 0.16), transparent 55%),
        radial-gradient(circle, rgba(153, 72, 245, 0.16), transparent 72%);
}

.sfl-page .sfl-ig-glow {
    background:
        radial-gradient(circle at 35% 40%, rgba(214, 41, 118, 0.22), transparent 55%),
        radial-gradient(circle at 65% 65%, rgba(250, 126, 30, 0.18), transparent 55%),
        radial-gradient(circle, rgba(150, 47, 191, 0.18), transparent 72%);
}

.sfl-page .sfl-fb-post {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 380px;
    overflow: hidden;
    border: 1.5px solid #EAE3F7;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 46px 84px -38px rgba(52, 26, 110, 0.62), 0 0 0 9px rgba(255, 255, 255, 0.62);
}

.sfl-page .sfl-fb-h {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 14px 10px;
}

.sfl-page .sfl-fb-avatar {
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(24, 119, 242, 0.35);
}

.sfl-page .sfl-fb-h b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.84rem;
    font-weight: 800;
}

.sfl-page .sfl-fb-h small {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--sfd-muted);
    font-size: 0.66rem;
    font-weight: 700;
}

.sfl-page .sfl-fb-tag {
    padding: 1px 6px;
    border-radius: 5px;
    background: rgba(24, 119, 242, 0.1);
    color: #1877F2;
    font-weight: 800;
}

.sfl-page .sfl-fb-dots,
.sfl-page .sfl-ig-dots {
    display: flex;
    gap: 3px;
    margin-inline-start: auto;
}

.sfl-page .sfl-fb-dots span,
.sfl-page .sfl-ig-dots span {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #C9C1DC;
}

.sfl-page .sfl-fb-t {
    padding: 0 14px 10px;
    color: var(--sfd-ink-soft);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.55;
}

.sfl-page .sfl-fb-img {
    position: relative;
    height: 170px;
    overflow: hidden;
    background: linear-gradient(140deg, #1877F2 0%, #6535C9 45%, #E5479A 85%);
}

.sfl-page .sfl-fb-img::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
}

.sfl-page .sfl-fb-img::after {
    content: "";
    position: absolute;
    right: 50%;
    bottom: 24px;
    width: 120px;
    height: 120px;
    margin-right: -60px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.18);
    transform: rotate(-8deg);
    backdrop-filter: blur(4px);
}

.sfl-page .sfl-fb-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    padding: 5px 11px;
    border-radius: 999px;
    background: #fff;
    color: var(--sfd-ink);
    font-size: 0.68rem;
    font-weight: 800;
    box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.4);
}

.sfl-page .sfl-fb-bag {
    position: absolute;
    right: 50%;
    bottom: 52px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-right: -22px;
    color: #fff;
}

.sfl-page .sfl-fb-bag .sfl-icn {
    width: 40px;
    height: 40px;
    stroke-width: 1.6;
}

.sfl-page .sfl-fb-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid #EFEAF7;
    background: #F6F4FA;
}

.sfl-page .sfl-fb-cta small {
    display: block;
    direction: ltr;
    color: #9C90BC;
    font-size: 0.6rem;
    font-weight: 700;
    text-align: right;
}

.sfl-page .sfl-fb-cta b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.78rem;
    font-weight: 800;
}

.sfl-page .sfl-fb-cta > span {
    flex: none;
    padding: 7px 12px;
    border-radius: 9px;
    background: #E6E0F2;
    color: var(--sfd-ink);
    font-size: 0.72rem;
    font-weight: 800;
}

.sfl-page .sfl-fb-r {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 14px 12px;
    color: var(--sfd-muted);
    font-size: 0.68rem;
    font-weight: 700;
}

.sfl-page .sfl-fb-rx {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.sfl-page .sfl-fb-rx b {
    direction: ltr;
    color: var(--sfd-ink-soft);
}

.sfl-page .sfl-fb-lk,
.sfl-page .sfl-fb-lv {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-inline-start: -6px;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
}

.sfl-page .sfl-fb-lk {
    margin-inline-start: 0;
    background: #1877F2;
}

.sfl-page .sfl-fb-lv {
    background: #E5479A;
}

.sfl-page .sfl-fb-lk .sfl-icn,
.sfl-page .sfl-fb-lv .sfl-icn {
    width: 10px;
    height: 10px;
}

.sfl-page .sfl-fb-float,
.sfl-page .sfl-ig-float {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 44px -22px rgba(64, 42, 120, 0.82);
}

.sfl-page .sfl-fb-av,
.sfl-page .sfl-ig-av {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: var(--sfl-g, linear-gradient(135deg, #3ACB88, #22A86C));
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.5), 0 10px 16px -9px rgba(30, 12, 60, 0.6);
    color: #fff;
}

.sfl-page .sfl-fb-av .sfl-icn,
.sfl-page .sfl-ig-av .sfl-icn {
    width: 17px;
    height: 17px;
}

.sfl-page .sfl-fb-float b,
.sfl-page .sfl-ig-float b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.25;
}

.sfl-page .sfl-fb-sub,
.sfl-page .sfl-ig-sub {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.3;
}

.sfl-page .sfl-fb-f1 {
    top: 47%;
    inset-inline-start: -10%;
    --sfl-g: linear-gradient(135deg, #1877F2, #6535C9);
    animation: sfl-float-y 5s ease-in-out infinite;
}

.sfl-page .sfl-fb-f2 {
    bottom: 18%;
    inset-inline-end: -9%;
    animation: sfl-float-y 5.6s ease-in-out 0.8s infinite;
}

.sfl-page .sfl-ig-post {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 350px;
    overflow: hidden;
    border: 1.5px solid #EAE3F7;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 46px 84px -38px rgba(52, 26, 110, 0.62), 0 0 0 9px rgba(255, 255, 255, 0.62);
}

.sfl-page .sfl-ig-stories {
    display: flex;
    gap: 10px;
    padding: 12px 12px 10px;
    overflow: hidden;
    border-bottom: 1px solid #F1ECF8;
}

.sfl-page .sfl-ig-stories span {
    flex: none;
    width: 42px;
    height: 42px;
    padding: 2px;
    border-radius: 50%;
    background: linear-gradient(45deg, #FEDA75 0%, #FA7E1E 25%, #D62976 50%, #962FBF 75%, #4F5BD5 100%);
}

.sfl-page .sfl-ig-stories span::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 2px solid #fff;
    border-radius: 50%;
    background: linear-gradient(135deg, #EDE7F8, #FBF9FE);
}

.sfl-page .sfl-ig-stories .sfl-ig-me::after {
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
}

.sfl-page .sfl-ig-stories .sfl-ig-seen {
    background: #E2DCEE;
}

.sfl-page .sfl-ig-h {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
}

.sfl-page .sfl-ig-avatar {
    flex: none;
    width: 32px;
    height: 32px;
    padding: 2px;
    border-radius: 50%;
    background: linear-gradient(45deg, #FEDA75 0%, #FA7E1E 25%, #D62976 50%, #962FBF 75%, #4F5BD5 100%);
}

.sfl-page .sfl-ig-avatar::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 2px solid #fff;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
}

.sfl-page .sfl-ig-h b {
    display: block;
    direction: ltr;
    color: var(--sfd-ink);
    font-size: 0.78rem;
    font-weight: 800;
    text-align: right;
}

.sfl-page .sfl-ig-h small {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.62rem;
    font-weight: 700;
}

.sfl-page .sfl-ig-img {
    position: relative;
    aspect-ratio: 5 / 4;
    overflow: hidden;
    background: linear-gradient(150deg, #962FBF 0%, #D62976 45%, #FA7E1E 85%, #FEDA75 115%);
}

.sfl-page .sfl-ig-img::before {
    content: "";
    position: absolute;
    top: -70px;
    left: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
}

.sfl-page .sfl-ig-prod {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    margin: -60px 0 0 -60px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.18);
    box-shadow: 0 26px 40px -18px rgba(0, 0, 0, 0.4);
    color: #fff;
    backdrop-filter: blur(4px);
    animation: sfl-bob 4s ease-in-out infinite;
}

.sfl-page .sfl-ig-prod .sfl-icn {
    width: 52px;
    height: 52px;
    stroke-width: 1.6;
}

.sfl-page .sfl-ig-nav {
    position: absolute;
    bottom: 10px;
    left: 50%;
    display: flex;
    gap: 4px;
    transform: translateX(-50%);
}

.sfl-page .sfl-ig-nav span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
}

.sfl-page .sfl-ig-nav span:first-child {
    background: #fff;
}

.sfl-page .sfl-ig-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 12px;
    background: linear-gradient(90deg, #4F5BD5, #962FBF);
    color: #fff;
    font-size: 0.74rem;
    font-weight: 800;
}

.sfl-page .sfl-ig-cta .sfl-icn {
    width: 12px;
    height: 12px;
    transform: scaleX(-1);
}

.sfl-page .sfl-ig-act {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 10px 12px 4px;
    color: var(--sfd-ink);
}

.sfl-page .sfl-ig-act .sfl-icn {
    width: 21px;
    height: 21px;
}

.sfl-page .sfl-ig-like {
    color: #ED4956;
    animation: sfl-beat 1.6s ease-in-out infinite;
}

.sfl-page .sfl-ig-bm {
    margin-inline-start: auto;
}

.sfl-page .sfl-ig-cap {
    padding: 2px 12px 12px;
    color: var(--sfd-ink-soft);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.5;
}

.sfl-page .sfl-ig-cap b {
    color: var(--sfd-ink);
}

.sfl-page .sfl-ig-f1 {
    top: 40%;
    inset-inline-start: -12%;
    --sfl-g: linear-gradient(45deg, #FA7E1E, #D62976 55%, #962FBF);
    animation: sfl-float-y 5s ease-in-out infinite;
}

.sfl-page .sfl-ig-f2 {
    bottom: 8%;
    inset-inline-end: -10%;
    animation: sfl-float-y 5.6s ease-in-out 0.8s infinite;
}

@keyframes sfl-bob {
    0%, 100% { transform: rotate(-6deg) translateY(0); }
    50% { transform: rotate(-3deg) translateY(-8px); }
}

@keyframes sfl-beat {
    0%, 100% { transform: scale(1); }
    15% { transform: scale(1.22); }
    30% { transform: scale(1); }
}

@keyframes sfl-blink {
    50% { opacity: 0; }
}

@keyframes sfl-ad-glow {
    50% { box-shadow: 0 22px 40px -18px rgba(40, 116, 255, 0.85); }
}

@keyframes sfl-float-y {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes sfl-click {
    0%, 100% { transform: translate(18px, 14px); }
    40%, 60% { transform: translate(0, 0); }
    50% { transform: translate(0, 0) scale(0.88); }
}

@keyframes sfl-opt-in {
    from { opacity: 0; transform: translateY(-6px); }
}

@media (min-width: 1280px) {
    .sfl-page .sfl-vid .player {
        width: 100%;
        height: auto;
    }

    .sfl-page .sfl-vid .player .playerButton {
        top: 50%;
        left: 50%;
    }
}

@media (max-width: 1279px) {
    .sfl-page .sfl-hero {
        padding-top: 92px;
    }
}

@media (max-width: 1160px) {
    .sfl-page .sfl-hero-grid {
        grid-template-columns: minmax(0, 1fr) 380px;
        gap: 34px;
    }

    .sfl-page .sfl-sale-wrap {
        grid-template-columns: minmax(0, 1fr) 400px;
        gap: 30px;
    }

    .sfl-page .sfl-pts {
        grid-template-columns: 1fr;
    }

    .sfl-page .sfl-pt {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 2px 12px;
        align-items: center;
    }

    .sfl-page .sfl-pt-ic {
        grid-row: span 2;
    }

    .sfl-page .sfl-pt b {
        margin-top: 0;
    }

    .sfl-page .sfl-bens {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfl-page .sfl-bens .sfl-ben:last-child {
        grid-column: 1 / -1;
    }

    .sfl-page .sfl-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfl-page .sfl-why,
    .sfl-page .sfl-why-wide {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .sfl-page .sfl-hero-grid,
    .sfl-page .sfl-split,
    .sfl-page .sfl-sale-wrap {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
    }

    .sfl-page .sfl-hero {
        padding-bottom: 70px;
    }

    .sfl-page .sfl-ga-art {
        width: 100%;
        max-width: 420px;
        margin-inline: auto;
    }

    .sfl-page .sfl-sale {
        width: 100%;
        max-width: 520px;
        margin-inline: auto;
    }

    .sfl-page .sfl-pts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sfl-page .sfl-pt {
        display: block;
    }

    .sfl-page .sfl-pt b {
        margin-top: 9px;
    }

    .sfl-page .sfl-wave {
        top: -71px;
        height: 72px;
    }

    .sfl-page .sfl-wave-dot {
        top: -15px;
    }
}

@media (max-width: 720px) {
    .sfl-page .sfl-wrap {
        padding-inline: 16px;
    }

    .sfl-page .sfl-sec {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .sfl-page .sfl-after {
        padding-top: 22px;
        padding-bottom: 32px;
    }

    .sfl-page .sfl-hero {
        padding-bottom: 54px;
    }

    .sfl-page .sfl-faq {
        padding-bottom: 48px;
    }

    .sfl-page .sfl-hero .sfl-ctas .sfd-btn,
    .sfl-page .sfl-hero .sfl-ctas .sfl-cta-wa,
    .sfl-page .sfl-prose .sfl-ctas .sfd-btn,
    .sfl-page .sfl-why .sfl-ctas .sfd-btn,
    .sfl-page .sfl-why .sfl-ctas .sfl-cta-wa {
        width: 100%;
    }

    .sfl-page .sfl-ctas .sfl-cta-wa .sfd-btn {
        width: 100%;
    }

    .sfl-page .sfl-pts {
        display: none;
    }

    .sfl-page .sfl-sale {
        padding: 24px 18px 20px;
        border-radius: 24px;
    }

    .sfl-page .sfl-bens,
    .sfl-page .sfl-steps,
    .sfl-page .sfl-why-list {
        grid-template-columns: 1fr;
    }

    .sfl-page .sfl-bens .sfl-ben:last-child {
        grid-column: auto;
    }

    .sfl-page .sfl-result {
        grid-template-columns: 1fr;
        justify-items: center;
        padding: 18px;
        text-align: center;
    }

    .sfl-page .sfl-why {
        padding: 28px 18px;
        border-radius: 24px;
    }

    .sfl-page .sfl-wave {
        top: -51px;
        height: 52px;
    }

    .sfl-page .sfl-wave-dot {
        top: -12px;
        width: 9px;
        height: 9px;
        margin-left: -4.5px;
    }

    .sfl-page .sfl-ga-f1 {
        top: 58%;
        inset-inline-start: -2%;
    }

    .sfl-page .sfl-ga-f2 {
        bottom: -2%;
        inset-inline-end: -2%;
    }

    .sfl-page .sfl-ga-cursor {
        display: none;
    }
}

@media (max-width: 420px) {
    .sfl-page .sfl-ga-float {
        padding: 8px 11px;
    }

    .sfl-page .sfl-ga-float b {
        font-size: 0.76rem;
    }

    .sfl-page .sfl-ga-f1 {
        inset-inline-start: 0;
    }

    .sfl-page .sfl-ga-f2 {
        inset-inline-end: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sfl-page .sfl-serp-cur,
    .sfl-page .sfl-res-ad,
    .sfl-page .sfl-ga-f1,
    .sfl-page .sfl-ga-f2,
    .sfl-page .sfl-ga-cursor,
    .sfl-page .sfl-fb-f1,
    .sfl-page .sfl-fb-f2,
    .sfl-page .sfl-ig-f1,
    .sfl-page .sfl-ig-f2,
    .sfl-page .sfl-ig-prod,
    .sfl-page .sfl-ig-like,
    .sfl-page .sfl-sale .priceOption,
    .sfl-page .sfl-ben,
    .sfl-page .sfl-step,
    .sfl-page .sfl-inc,
    .sfl-page .sfl-why-item,
    .sfl-page .sfl-vid .player .plcholder,
    .sfl-page .sfl-vid .player .playerButton {
        animation: none;
        transition: none;
    }

    .sfl-page .sfl-ben:hover,
    .sfl-page .sfl-step:hover,
    .sfl-page .sfl-inc:hover,
    .sfl-page .sfl-why-item:hover,
    .sfl-page .sfl-vid .player:hover .plcholder {
        transform: none;
    }

    .sfl-page .sfl-vid .player:hover .playerButton {
        transform: translate(-50%, -50%);
    }
}

@media (max-width: 1160px) {
    .sfl-page .sfl-bens.sfl-bens-even .sfl-ben:last-child {
        grid-column: auto;
    }

    .sfl-page .sfl-steps-icons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfl-page .sfl-pack {
        grid-template-columns: minmax(0, 1fr) 340px;
    }

    .sfl-page .sfl-incs {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .sfl-page .sfl-fb-art,
    .sfl-page .sfl-ig-art {
        width: 100%;
        max-width: 400px;
        margin-inline: auto;
    }

    .sfl-page .sfl-pack {
        grid-template-columns: 1fr;
    }

    .sfl-page .sfl-sale-sticky {
        position: relative;
        top: auto;
        order: -1;
    }

    .sfl-page .sfl-incs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .sfl-page .sfl-steps-icons {
        grid-template-columns: 1fr;
    }

    .sfl-page .sfl-steps-icons .sfl-step {
        flex-direction: row;
        align-items: center;
    }

    .sfl-page .sfl-incs {
        grid-template-columns: 1fr;
    }

    .sfl-page .sfl-fb-f1 {
        top: 38%;
        inset-inline-start: -2%;
    }

    .sfl-page .sfl-fb-f2 {
        bottom: 14%;
        inset-inline-end: -2%;
    }

    .sfl-page .sfl-ig-f1 {
        inset-inline-start: -2%;
    }

    .sfl-page .sfl-ig-f2 {
        bottom: 6%;
        inset-inline-end: -2%;
    }
}

@media (max-width: 420px) {
    .sfl-page .sfl-fb-float,
    .sfl-page .sfl-ig-float {
        padding: 8px 11px;
    }

    .sfl-page .sfl-fb-float b,
    .sfl-page .sfl-ig-float b {
        font-size: 0.76rem;
    }

    .sfl-page .sfl-fb-f1,
    .sfl-page .sfl-ig-f1 {
        inset-inline-start: 0;
    }

    .sfl-page .sfl-fb-f2,
    .sfl-page .sfl-ig-f2 {
        inset-inline-end: 0;
    }
}

/* Stage 6. GEO-AEO chat mock, evolution, reasons, method, bento, result, final CTA.
   Google, Facebook, and Instagram Ads do not use these classes. */

.sfl-page .sfl-pt-geo {
    --sfl-g: linear-gradient(135deg, #6535C9, #25C9E6);
}

.sfl-page .sfl-sale-ic-geo {
    background: linear-gradient(135deg, #6535C9, #25C9E6);
    box-shadow: 0 18px 28px -14px rgba(101, 53, 201, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.25);
}

.sfl-page .sfl-nw {
    white-space: nowrap;
    font-style: normal;
}

.sfl-page .sfl-geo-mint,
.sfl-page .sfl-geo-mint .sfl-nw {
    background: linear-gradient(90deg, #8CF5E4, #C98BFF);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page .sfl-geo-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
}

.sfl-page .sfl-geo-glow {
    position: absolute;
    inset: -8% -14%;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(36px);
    background:
        radial-gradient(circle at 35% 40%, rgba(153, 72, 245, 0.24), transparent 55%),
        radial-gradient(circle at 65% 65%, rgba(37, 201, 230, 0.16), transparent 55%);
}

.sfl-page .sfl-geo-chat {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 400px;
    overflow: hidden;
    border: 1.5px solid #EAE3F7;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 46px 84px -38px rgba(52, 26, 110, 0.62), 0 0 0 9px rgba(255, 255, 255, 0.62);
}

.sfl-page .sfl-geo-chat-top {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 14px;
    border-bottom: 1px solid #EFE9FA;
    background: linear-gradient(180deg, #FBF9FE, #F4EFFC);
}

.sfl-page .sfl-geo-bot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    background: linear-gradient(135deg, #6535C9, #25C9E6);
    color: #fff;
}

.sfl-page .sfl-geo-bot .sfl-icn {
    width: 16px;
    height: 16px;
}

.sfl-page .sfl-geo-chat-top b {
    color: var(--sfd-ink);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page .sfl-geo-pills {
    display: flex;
    gap: 5px;
    margin-inline-start: auto;
}

.sfl-page .sfl-geo-pills span {
    padding: 2px 7px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 6px;
    background: #fff;
    color: var(--sfd-muted);
    direction: ltr;
    font-size: 0.58rem;
    font-weight: 800;
}

.sfl-page .sfl-geo-body {
    display: grid;
    gap: 10px;
    padding: 14px;
}

.sfl-page .sfl-geo-user {
    justify-self: start;
    max-width: 84%;
    padding: 9px 13px;
    border-radius: 14px 14px 4px 14px;
    background: linear-gradient(135deg, #6535C9, #9948F5);
    box-shadow: 0 12px 22px -14px rgba(101, 53, 201, 0.9);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.5;
}

.sfl-page .sfl-geo-ai {
    justify-self: end;
    max-width: 92%;
    padding: 11px 13px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 14px 14px 14px 4px;
    background: #F7F4FC;
    color: var(--sfd-ink-soft);
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.6;
}

.sfl-page .sfl-geo-ai b,
.sfl-page .sfl-geo-ai mark {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page .sfl-geo-ai mark {
    padding: 0 4px;
    border-radius: 5px;
    background: linear-gradient(120deg, rgba(58, 203, 136, 0.22), rgba(40, 116, 255, 0.18));
}

.sfl-page .sfl-geo-typing {
    display: inline-flex;
    gap: 3px;
    margin-inline-start: 4px;
    vertical-align: middle;
}

.sfl-page .sfl-geo-typing span {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #B9AED3;
    animation: sfl-tdot 1.2s infinite;
}

.sfl-page .sfl-geo-typing span:nth-child(2) {
    animation-delay: 0.2s;
}

.sfl-page .sfl-geo-typing span:nth-child(3) {
    animation-delay: 0.4s;
}

.sfl-page .sfl-geo-srcs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.sfl-page .sfl-geo-src {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 999px;
    background: #fff;
    color: var(--sfd-muted);
    direction: ltr;
    font-size: 0.62rem;
    font-weight: 800;
}

.sfl-page .sfl-geo-src-me {
    border-color: transparent;
    background: linear-gradient(135deg, #3ACB88, #2874FF);
    box-shadow: 0 8px 16px -8px rgba(40, 116, 255, 0.8);
    color: #fff;
}

.sfl-page .sfl-geo-in {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 14px 14px;
    padding: 8px 10px 8px 12px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 12px;
    color: #B0A7C6;
    font-size: 0.72rem;
    font-weight: 700;
}

.sfl-page .sfl-geo-send {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-inline-start: auto;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: linear-gradient(135deg, #B62AE6, #FF7A18);
    color: #fff;
}

.sfl-page .sfl-geo-send .sfl-icn {
    width: 13px;
    height: 13px;
}

.sfl-page .sfl-geo-float {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 44px -22px rgba(64, 42, 120, 0.82);
}

.sfl-page .sfl-geo-av {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: var(--sfl-g, linear-gradient(135deg, #3ACB88, #22A86C));
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.5), 0 10px 16px -9px rgba(30, 12, 60, 0.6);
    color: #fff;
}

.sfl-page .sfl-geo-av .sfl-icn {
    width: 17px;
    height: 17px;
}

.sfl-page .sfl-geo-float b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.25;
}

.sfl-page .sfl-geo-sub {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.3;
}

.sfl-page .sfl-geo-f1 {
    bottom: 12%;
    inset-inline-start: -11%;
    animation: sfl-float-y 5s ease-in-out infinite;
}

.sfl-page .sfl-geo-f2 {
    top: -2%;
    inset-inline-end: -8%;
    --sfl-g: linear-gradient(135deg, #6535C9, #25C9E6);
    animation: sfl-float-y 5.6s ease-in-out 0.8s infinite;
}

.sfl-page .sfl-evo {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    position: relative;
}

.sfl-page .sfl-evo-card {
    position: relative;
    padding: 26px 24px 24px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: 0.24s;
}

.sfl-page .sfl-evo-card:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-6px);
}

.sfl-page .sfl-evo-card:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 26px;
    height: 26px;
    margin-top: -13px;
    inset-inline-end: -18px;
    border: 1.5px solid #EDE4FA;
    border-radius: 50%;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 6l-6 6 6 6' fill='none' stroke='%23B62AE6' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
    box-shadow: 0 8px 16px -8px rgba(101, 53, 201, 0.6);
}

.sfl-page .sfl-evo-gen {
    display: inline-flex;
    padding: 4px 11px;
    border: 1px solid rgba(101, 53, 201, 0.18);
    border-radius: 999px;
    background: rgba(101, 53, 201, 0.07);
    color: var(--sfd-purple-deep);
    font-size: 0.72rem;
    font-weight: 800;
}

.sfl-page .sfl-evo-ac {
    display: block;
    margin-top: 12px;
    background: var(--sfl-g);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    direction: ltr;
    font-size: 2.6rem;
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1;
    text-align: right;
}

.sfl-page .sfl-evo-full {
    display: block;
    margin-top: 6px;
    color: var(--sfd-muted);
    direction: ltr;
    font-size: 0.84rem;
    font-weight: 800;
    text-align: right;
}

.sfl-page .sfl-evo-card p {
    margin-top: 12px;
    color: var(--sfd-ink-soft);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.75;
}

.sfl-page .sfl-evo-card p b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page .sfl-evo-now {
    border-color: transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #6535C9, #B62AE6 50%, #25C9E6) border-box;
    box-shadow: 0 30px 56px -28px rgba(101, 53, 201, 0.6);
}

.sfl-page .sfl-evo-now .sfl-evo-gen {
    border: 0;
    background: linear-gradient(135deg, #B62AE6, #FF7A18);
    color: #fff;
}

.sfl-page .sfl-evo-1 { --sfl-g: linear-gradient(135deg, #2874FF, #6535C9); }
.sfl-page .sfl-evo-2 { --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A); }
.sfl-page .sfl-evo-3 { --sfl-g: linear-gradient(135deg, #6535C9, #25C9E6); }

.sfl-page .sfl-geo-now {
    position: relative;
    overflow: hidden;
    padding: 40px 36px;
    border-radius: 30px;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    box-shadow: 0 34px 70px -34px rgba(36, 20, 66, 0.95);
    color: #fff;
}

.sfl-page .sfl-geo-now::before,
.sfl-page .sfl-geo-now::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(42px);
    pointer-events: none;
}

.sfl-page .sfl-geo-now::before {
    top: -240px;
    inset-inline-start: -90px;
    width: 440px;
    height: 440px;
    background: radial-gradient(circle, rgba(37, 201, 230, 0.25), transparent 70%);
}

.sfl-page .sfl-geo-now::after {
    bottom: -220px;
    inset-inline-end: -80px;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, rgba(182, 42, 230, 0.4), transparent 70%);
}

.sfl-page .sfl-geo-now > * {
    position: relative;
    z-index: 1;
}

.sfl-page .sfl-geo-now .sfl-head h2 {
    color: #fff;
}

.sfl-page .sfl-geo-now .sfl-rule {
    background: linear-gradient(90deg, #8CF5E4, #C98BFF);
}

.sfl-page .sfl-rsn {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.sfl-page .sfl-rsn-item {
    padding: 22px 20px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
    transition: 0.22s;
}

.sfl-page .sfl-rsn-item:hover {
    border-color: rgba(255, 255, 255, 0.28);
    transform: translateY(-5px);
}

.sfl-page .sfl-rsn-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 15px;
    background: var(--sfl-g);
    box-shadow: 0 14px 24px -10px rgba(0, 0, 0, 0.6), inset 0 2px 3px rgba(255, 255, 255, 0.4);
    color: #fff;
}

.sfl-page .sfl-rsn-ic .sfl-icn {
    width: 22px;
    height: 22px;
}

.sfl-page .sfl-rsn-item small {
    display: block;
    margin-top: 14px;
    color: #8CF5E4;
    font-size: 0.76rem;
    font-weight: 800;
}

.sfl-page .sfl-rsn-item p {
    margin-top: 4px;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.65;
}

.sfl-page .sfl-rsn-1 { --sfl-g: linear-gradient(135deg, #25C9E6, #6535C9); }
.sfl-page .sfl-rsn-2 { --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A); }
.sfl-page .sfl-rsn-3 { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); }

.sfl-page .sfl-method {
    position: relative;
    display: grid;
    gap: 14px;
    max-width: 900px;
    margin: 0 auto;
}

.sfl-page .sfl-method::before {
    content: "";
    position: absolute;
    top: 26px;
    bottom: 26px;
    right: 27px;
    width: 2px;
    background: linear-gradient(180deg, #6535C9, #B62AE6 40%, #E5479A 70%, #25C9E6);
}

.sfl-page .sfl-mstep {
    position: relative;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.sfl-page .sfl-mstep-n {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: var(--sfl-g);
    box-shadow: 0 0 0 6px #fff, 0 16px 26px -12px rgba(101, 53, 201, 0.7);
    color: #fff;
    direction: ltr;
    font-size: 1.2rem;
    font-weight: 800;
}

.sfl-page .sfl-mstep-box {
    padding: 18px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: 0.22s;
}

.sfl-page .sfl-mstep:hover .sfl-mstep-box {
    border-color: #DCCFF7;
    transform: translateX(-4px);
}

.sfl-page .sfl-mstep h3 {
    color: var(--sfd-ink);
    font-size: 1.06rem;
}

.sfl-page .sfl-mstep p {
    margin-top: 5px;
    color: var(--sfd-muted);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.75;
}

.sfl-page .sfl-mstep-qs,
.sfl-page .sfl-mstep-pubs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.sfl-page .sfl-mstep-qs span {
    padding: 5px 11px;
    border: 1px dashed #DCCFF7;
    border-radius: 999px;
    background: #FBF9FE;
    color: var(--sfd-purple-deep);
    font-size: 0.78rem;
    font-weight: 800;
}

.sfl-page .sfl-mstep-pubs span {
    padding: 4px 10px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 9px;
    background: #fff;
    color: var(--sfd-ink-soft);
    font-size: 0.76rem;
    font-weight: 800;
}

.sfl-page .sfl-mstep-1 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); }
.sfl-page .sfl-mstep-2 { --sfl-g: linear-gradient(135deg, #9948F5, #B62AE6); }
.sfl-page .sfl-mstep-3 { --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A); }
.sfl-page .sfl-mstep-4 { --sfl-g: linear-gradient(135deg, #E5479A, #FF7A18); }
.sfl-page .sfl-mstep-5 { --sfl-g: linear-gradient(135deg, #25C9E6, #3ACB88); }

.sfl-page .sfl-bento {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.sfl-page .sfl-bcard {
    position: relative;
    padding: 24px 22px 22px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: 0.24s;
}

.sfl-page .sfl-bcard:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-5px);
}

.sfl-page .sfl-bcard-n {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 13px;
    background: linear-gradient(135deg, #B62AE6, #FF7A18);
    box-shadow: 0 14px 24px -12px rgba(182, 42, 230, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.5);
    color: #fff;
    direction: ltr;
    font-size: 1rem;
    font-weight: 800;
}

.sfl-page .sfl-bcard-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--sfl-g);
    box-shadow: 0 14px 24px -12px rgba(182, 42, 230, 0.7), inset 0 2px 3px rgba(255, 255, 255, 0.5);
    color: #fff;
}

.sfl-page .sfl-bcard-ic .sfl-icn {
    width: 21px;
    height: 21px;
}

.sfl-page .sfl-bcard h3 {
    margin-top: 14px;
    font-size: 1.05rem;
    line-height: 1.4;
}

.sfl-page .sfl-bcard p {
    margin-top: 8px;
    color: var(--sfd-muted);
    font-size: 0.89rem;
    font-weight: 600;
    line-height: 1.8;
}

.sfl-page .sfl-bcard em {
    color: var(--sfd-purple-deep);
    font-style: normal;
    font-weight: 800;
}

.sfl-page .sfl-bcard-feat {
    display: flex;
    flex-direction: column;
    grid-row: span 2;
    overflow: hidden;
    border: 0;
    background: linear-gradient(160deg, #14101F 0%, #3C1B63 45%, #7B2FC9 85%, #E5479A 130%);
    box-shadow: 0 30px 60px -28px rgba(101, 53, 201, 0.85);
    color: #fff;
}

.sfl-page .sfl-bcard-feat::before,
.sfl-page .sfl-bcard-feat::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(34px);
    pointer-events: none;
}

.sfl-page .sfl-bcard-feat::before {
    top: -120px;
    inset-inline-start: -80px;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(37, 244, 238, 0.28), transparent 70%);
}

.sfl-page .sfl-bcard-feat::after {
    bottom: -170px;
    inset-inline-end: -90px;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(255, 122, 24, 0.45), transparent 70%);
}

.sfl-page .sfl-bcard-feat > * {
    position: relative;
    z-index: 1;
}

.sfl-page .sfl-bcard-feat .sfl-bcard-n {
    background: #fff;
    box-shadow: 0 14px 24px -12px rgba(0, 0, 0, 0.5);
    color: var(--sfd-purple-deep);
}

.sfl-page .sfl-bcard-feat h3 {
    color: #fff;
    font-size: 1.3rem;
    letter-spacing: -0.4px;
}

.sfl-page .sfl-bcard-feat p {
    color: rgba(255, 255, 255, 0.82);
}

.sfl-page .sfl-bcard-big {
    display: block;
    margin-top: auto;
    padding-top: 20px;
    background: linear-gradient(90deg, #fff, #FFD3A8);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    direction: ltr;
    font-size: 3rem;
    font-weight: 800;
    letter-spacing: -2px;
    line-height: 1;
    text-align: right;
}

.sfl-page .sfl-bcard-feat small {
    display: block;
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.84rem;
    font-weight: 700;
}

.sfl-page .sfl-bcard-1 { --sfl-g: linear-gradient(135deg, #E5479A, #FF7A18); }
.sfl-page .sfl-bcard-2 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); }
.sfl-page .sfl-bcard-3 { --sfl-g: linear-gradient(135deg, #B62AE6, #9948F5); }
.sfl-page .sfl-bcard-4 { --sfl-g: linear-gradient(135deg, #25C9E6, #3ACB88); }

.sfl-page .sfl-geo-res {
    position: relative;
    overflow: hidden;
    padding: 30px 32px;
    border: 1.5px solid transparent;
    border-radius: 26px;
    background:
        linear-gradient(135deg, #FBF7FF, #F1FBFB) padding-box,
        linear-gradient(120deg, #6535C9, #B62AE6 45%, #25C9E6) border-box;
    box-shadow: 0 26px 54px -32px rgba(101, 53, 201, 0.6);
    text-align: center;
}

.sfl-page .sfl-geo-res small {
    display: inline-flex;
    padding: 5px 13px;
    border-radius: 999px;
    background: linear-gradient(135deg, #B62AE6, #FF7A18);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
}

.sfl-page .sfl-geo-res h2 {
    margin-top: 12px;
    font-size: clamp(1.35rem, 2.6vw, 1.9rem);
    letter-spacing: -0.8px;
    line-height: 1.3;
}

.sfl-page .sfl-geo-res p {
    max-width: 66ch;
    margin: 10px auto 0;
    color: var(--sfd-ink-soft);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.8;
}

.sfl-page .sfl-geo-truth {
    display: inline-block;
    margin-top: 14px;
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 1.15rem;
    font-weight: 800;
}

.sfl-page .sfl-geo-final {
    position: relative;
    overflow: hidden;
    padding: 44px 40px;
    border-radius: 30px;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    box-shadow: 0 34px 70px -34px rgba(36, 20, 66, 0.95);
    color: #fff;
    text-align: center;
}

.sfl-page .sfl-geo-final::before,
.sfl-page .sfl-geo-final::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(40px);
    pointer-events: none;
}

.sfl-page .sfl-geo-final::before {
    top: -230px;
    inset-inline-start: -80px;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, rgba(182, 42, 230, 0.45), transparent 70%);
}

.sfl-page .sfl-geo-final::after {
    bottom: -220px;
    inset-inline-end: -60px;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(37, 201, 230, 0.28), transparent 70%);
}

.sfl-page .sfl-geo-final > * {
    position: relative;
    z-index: 1;
}

.sfl-page .sfl-geo-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page .sfl-geo-tag .sfl-icn {
    width: 14px;
    height: 14px;
    color: #8CF5E4;
}

.sfl-page .sfl-geo-final h2 {
    margin-top: 14px;
    color: #fff;
    font-size: clamp(1.5rem, 3vw, 2.3rem);
    letter-spacing: -1px;
    line-height: 1.25;
}

.sfl-page .sfl-geo-final p {
    max-width: 62ch;
    margin: 12px auto 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.8;
}

.sfl-page .sfl-geo-final p b {
    color: #fff;
}

.sfl-page .sfl-geo-final .sfl-ctas {
    justify-content: center;
    margin-top: 24px;
}

.sfl-page .sfl-geo-final .sfd-btn-ghost {
    color: #fff;
    background:
        linear-gradient(#33195A, #33195A) padding-box,
        linear-gradient(120deg, #8CF5E4, #C98BFF) border-box;
}

@keyframes sfl-tdot {
    0%, 60%, 100% { opacity: 0.3; transform: translateY(0); }
    30% { opacity: 1; transform: translateY(-3px); }
}

@media (max-width: 1160px) {
    .sfl-page .sfl-rsn {
        grid-template-columns: 1fr;
    }

    .sfl-page .sfl-bento {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfl-page .sfl-bcard-feat {
        grid-row: auto;
        grid-column: 1 / -1;
    }
}

@media (max-width: 980px) {
    .sfl-page .sfl-geo-art {
        width: 100%;
        max-width: 400px;
        margin-inline: auto;
    }

    .sfl-page .sfl-evo {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .sfl-page .sfl-evo-card:not(:last-child)::after {
        top: auto;
        bottom: -24px;
        left: 50%;
        margin-top: 0;
        margin-left: -13px;
        inset-inline-end: auto;
        transform: rotate(-90deg);
    }
}

@media (max-width: 720px) {
    .sfl-page .sfl-geo-now {
        padding: 28px 18px;
        border-radius: 24px;
    }

    .sfl-page .sfl-method::before {
        right: 21px;
    }

    .sfl-page .sfl-mstep {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 12px;
    }

    .sfl-page .sfl-mstep-n {
        width: 44px;
        height: 44px;
        border-radius: 14px;
        font-size: 1rem;
    }

    .sfl-page .sfl-mstep-box {
        padding: 15px 16px;
    }

    .sfl-page .sfl-bento {
        grid-template-columns: 1fr;
    }

    .sfl-page .sfl-geo-res {
        padding: 24px 18px;
    }

    .sfl-page .sfl-geo-final {
        padding: 32px 18px;
        border-radius: 24px;
    }

    .sfl-page .sfl-geo-final .sfl-ctas .sfd-btn,
    .sfl-page .sfl-geo-final .sfl-ctas .sfl-cta-wa {
        width: 100%;
    }

    .sfl-page .sfl-geo-f1 {
        inset-inline-start: -2%;
    }

    .sfl-page .sfl-geo-f2 {
        top: -6%;
        inset-inline-end: -2%;
    }
}

@media (max-width: 420px) {
    .sfl-page .sfl-geo-float {
        padding: 8px 11px;
    }

    .sfl-page .sfl-geo-float b {
        font-size: 0.76rem;
    }

    .sfl-page .sfl-geo-f1 {
        inset-inline-start: 0;
    }

    .sfl-page .sfl-geo-f2 {
        inset-inline-end: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sfl-page .sfl-geo-f1,
    .sfl-page .sfl-geo-f2,
    .sfl-page .sfl-geo-typing span,
    .sfl-page .sfl-evo-card,
    .sfl-page .sfl-rsn-item,
    .sfl-page .sfl-mstep-box,
    .sfl-page .sfl-bcard {
        animation: none;
        transition: none;
    }

    .sfl-page .sfl-evo-card:hover,
    .sfl-page .sfl-rsn-item:hover,
    .sfl-page .sfl-mstep:hover .sfl-mstep-box,
    .sfl-page .sfl-bcard:hover {
        transform: none;
    }
}

/* Stage 7 - SEO optimization. Only .sfl-seo uses these rules. */

.sfl-page .sfl-seo-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    padding: 16px 0;
}

.sfl-page .sfl-seo-glow {
    position: absolute;
    inset: -8% -14%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 40%, rgba(58, 203, 136, 0.2), transparent 55%),
        radial-gradient(circle at 65% 65%, rgba(101, 53, 201, 0.2), transparent 55%);
    filter: blur(36px);
    pointer-events: none;
}

.sfl-page .sfl-seo-rank {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 410px;
    overflow: hidden;
    border: 1.5px solid #EAE3F7;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 46px 84px -38px rgba(52, 26, 110, 0.62), 0 0 0 9px rgba(255, 255, 255, 0.62);
}

.sfl-page .sfl-seo-rank-top {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 1px solid #EFE9FA;
    background: linear-gradient(180deg, #FBF9FE, #F4EFFC);
}

.sfl-page .sfl-seo-rank-top b {
    color: var(--sfd-ink);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page .sfl-seo-rank-top span {
    margin-inline-start: auto;
    padding: 3px 9px;
    border: 1px solid rgba(58, 203, 136, 0.3);
    border-radius: 999px;
    background: rgba(58, 203, 136, 0.12);
    color: #1F7A4D;
    font-size: 0.64rem;
    font-weight: 800;
}

.sfl-page .sfl-seo-chart {
    position: relative;
    height: 120px;
    margin: 14px 16px 4px;
    overflow: hidden;
    border: 1px solid #F0EBF8;
    border-radius: 14px;
    background: linear-gradient(#F3EFFA 1px, transparent 1px) 0 0 / 100% 30px, #FDFCFF;
}

.sfl-page .sfl-seo-chart svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.sfl-page .sfl-seo-area {
    fill: url(#sflSeoChartArea);
}

.sfl-page .sfl-seo-ln {
    fill: none;
    stroke: url(#sflSeoChartLine);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 640;
    stroke-dashoffset: 640;
    animation: sfl-seo-draw 2.2s ease forwards 0.3s;
}

.sfl-page .sfl-seo-pt {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 3px 8px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    color: #fff;
    font-size: 0.66rem;
    font-weight: 800;
    direction: ltr;
}

.sfl-page .sfl-seo-kws {
    display: grid;
    gap: 7px;
    padding: 10px 16px 16px;
}

.sfl-page .sfl-seo-kw {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    padding: 8px 11px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 12px;
    background: #FBF9FE;
    color: var(--sfd-ink-soft);
    font-size: 0.74rem;
    font-weight: 800;
}

.sfl-page .sfl-seo-bar {
    position: relative;
    display: block;
    height: 6px;
    margin-top: 5px;
    overflow: hidden;
    border-radius: 4px;
    background: #ECE6F6;
}

.sfl-page .sfl-seo-bar::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    inset-inline-start: 0;
    width: var(--sfl-w, 0);
    border-radius: inherit;
    background: linear-gradient(90deg, #6535C9, #3ACB88);
}

.sfl-page .sfl-seo-from {
    color: #B0A7C6;
    font-size: 0.68rem;
    direction: ltr;
    text-decoration: line-through;
}

.sfl-page .sfl-seo-to {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 8px;
    border-radius: 8px;
    background: rgba(58, 203, 136, 0.14);
    color: #1F7A4D;
    font-size: 0.72rem;
    direction: ltr;
}

.sfl-page .sfl-seo-to .sfl-icn {
    width: 11px;
    height: 11px;
}

.sfl-page .sfl-seo-float {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 44px -22px rgba(64, 42, 120, 0.82);
}

.sfl-page .sfl-seo-av {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: var(--sfl-g, linear-gradient(135deg, #3ACB88, #22A86C));
    color: #fff;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.5), 0 10px 16px -9px rgba(30, 12, 60, 0.6);
}

.sfl-page .sfl-seo-av .sfl-icn {
    width: 17px;
    height: 17px;
}

.sfl-page .sfl-seo-float b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.25;
}

.sfl-page .sfl-seo-sub {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.3;
}

.sfl-page .sfl-seo-f1 {
    top: 18%;
    inset-inline-end: -6%;
    animation: sfl-seo-float 5s ease-in-out infinite;
}

.sfl-page .sfl-seo-f2 {
    bottom: -4%;
    inset-inline-start: -4%;
    --sfl-g: linear-gradient(135deg, #6535C9, #2874FF);
    animation: sfl-seo-float 5.6s ease-in-out 0.8s infinite;
}

.sfl-page .sfl-seo-plans-head h2 {
    margin-top: 8px;
}

.sfl-page .sfl-seo-perks {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}

.sfl-page .sfl-seo-perks span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 999px;
    background: #fff;
    color: var(--sfd-ink-soft);
    font-size: 0.82rem;
    font-weight: 800;
    box-shadow: 0 10px 22px -18px rgba(64, 42, 120, 0.8);
}

.sfl-page .sfl-seo-perks .sfl-icn {
    width: 16px;
    height: 16px;
    padding: 2px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3ACB88, #22A86C);
    color: #fff;
}

.sfl-page .sfl-seo .productContainer {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.sfl-page .sfl-seo-tiers {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
    max-width: 1180px;
    margin: 34px auto 0;
}

.sfl-page .sfl-seo-tier {
    --sfl-g: var(--sfd-grad-primary);
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 28px 26px 22px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 24px 50px -34px rgba(64, 42, 120, 0.7);
    text-align: start;
}

.sfl-page .sfl-seo-tier::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: var(--sfl-g) top / 100% 4px no-repeat;
    pointer-events: none;
}

.sfl-page .sfl-seo-tier-1 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); }
.sfl-page .sfl-seo-tier-3 { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); }
.sfl-page .sfl-seo-tier-hot { --sfl-g: linear-gradient(135deg, #9948F5, #E5479A); }

.sfl-page .sfl-seo-tier-hot {
    border: 0;
    color: #fff;
    background: linear-gradient(165deg, #241442 0%, #2E1856 35%, #3C1B63 70%, #4A1D6E 100%);
    box-shadow: 0 46px 90px -36px rgba(36, 20, 66, 0.95);
    transform: translateY(-14px);
}

.sfl-page .sfl-seo-tier-hot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(circle at 85% 0%, rgba(229, 71, 154, 0.35), transparent 45%),
        radial-gradient(circle at 10% 100%, rgba(153, 72, 245, 0.35), transparent 50%);
    pointer-events: none;
}

.sfl-page .sfl-seo-tier-hot > * {
    position: relative;
    z-index: 1;
}

.sfl-page .sfl-seo-ribbon {
    position: absolute;
    top: -15px;
    left: 50%;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, #FF7A18, #E5479A);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 800;
    white-space: nowrap;
    box-shadow: 0 14px 26px -10px rgba(229, 71, 154, 0.95);
    transform: translateX(-50%);
}

.sfl-page .sfl-seo-ribbon .sfl-icn {
    width: 13px;
    height: 13px;
}

.sfl-page .sfl-seo-thead {
    display: flex;
    align-items: center;
    gap: 13px;
}

.sfl-page .sfl-seo-tic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: var(--sfl-g);
    color: #fff;
    box-shadow: 0 18px 28px -12px rgba(101, 53, 201, 0.6), inset 0 2px 3px rgba(255, 255, 255, 0.55), inset 0 -7px 14px rgba(0, 0, 0, 0.18);
}

.sfl-page .sfl-seo-tic .sfl-icn {
    width: 26px;
    height: 26px;
}

.sfl-page .sfl-seo-tier h3,
.sfl-page .sfl-seo-ai h3 {
    color: var(--sfd-ink);
    font-size: 1.32rem;
    font-weight: 800;
    letter-spacing: -0.3px;
    line-height: 1.3;
    direction: ltr;
    text-align: right;
}

.sfl-page .sfl-seo-thead small,
.sfl-page .sfl-seo-fit,
.sfl-page .sfl-seo-tnote {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.5;
}

.sfl-page .sfl-seo-fit {
    margin-top: 10px;
    color: var(--sfd-ink-soft);
    font-size: 0.9rem;
}

.sfl-page .sfl-seo-meters {
    display: grid;
    gap: 12px;
    margin-top: 16px;
    padding: 16px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 18px;
    background: #FBF9FE;
}

.sfl-page .sfl-seo-mt-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--sfd-muted);
    font-size: 0.8rem;
    font-weight: 700;
}

.sfl-page .sfl-seo-mt-top span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.sfl-page .sfl-seo-mt-top .sfl-icn {
    width: 15px;
    height: 15px;
    color: var(--sfd-purple-bright);
}

.sfl-page .sfl-seo-mt-top b {
    color: var(--sfd-ink);
    font-size: 0.9rem;
    font-weight: 800;
}

.sfl-page .sfl-seo-mt-bar {
    display: block;
    height: 8px;
    margin-top: 7px;
    overflow: hidden;
    border-radius: 6px;
    background: #ECE6F6;
}

.sfl-page .sfl-seo-mt-bar i {
    display: block;
    height: 100%;
    width: var(--sfl-w, 0);
    border-radius: inherit;
    background: var(--sfl-g);
    font-size: 0;
    transform-origin: right;
}

.sfl-page .sfl-seo-tlist {
    display: grid;
    gap: 10px;
    margin: 18px 0 20px;
    padding: 0;
    list-style: none;
}

.sfl-page .sfl-seo-tlist li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: var(--sfd-ink-soft);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.55;
}

.sfl-page .sfl-seo-tlist .sfl-icn,
.sfl-page .sfl-seo-yes .sfl-icn {
    width: 20px;
    height: 20px;
    margin-top: 1px;
    padding: 3px;
    border-radius: 7px;
    background: var(--sfl-g, linear-gradient(135deg, #2874FF, #6535C9));
    color: #fff;
}

.sfl-page .sfl-seo-tlist b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page .sfl-seo-tier-foot {
    margin-top: auto;
}

.sfl-page .sfl-seo-tier-btn {
    width: 100%;
    margin-top: 14px;
}

.sfl-page .sfl-seo-tnote {
    margin-top: 10px;
    font-size: 0.74rem;
    text-align: center;
}

.sfl-page .sfl-seo-tier-hot .productName,
.sfl-page .sfl-seo-tier-hot .sfl-seo-mt-top b,
.sfl-page .sfl-seo-tier-hot .sfl-seo-tlist b {
    color: #fff;
}

.sfl-page .sfl-seo-tier-hot .sfl-seo-thead small,
.sfl-page .sfl-seo-tier-hot .sfl-seo-tnote,
.sfl-page .sfl-seo-tier-hot .extra {
    color: rgba(255, 255, 255, 0.66);
}

.sfl-page .sfl-seo-tier-hot .sfl-seo-fit,
.sfl-page .sfl-seo-tier-hot .sfl-seo-tlist li,
.sfl-page .sfl-seo-tier-hot .sfl-seo-mt-top {
    color: rgba(255, 255, 255, 0.86);
}

.sfl-page .sfl-seo-tier-hot .sfl-seo-meters {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.14);
}

.sfl-page .sfl-seo-tier-hot .sfl-seo-mt-bar {
    background: rgba(255, 255, 255, 0.14);
}

.sfl-page .sfl-seo-tier-hot .sfl-seo-mt-top .sfl-icn {
    color: #FFB0D6;
}

.sfl-page .sfl-seo-tier-hot .price {
    background: linear-gradient(90deg, #fff, #FFC9E3 50%, #FFB06B);
    -webkit-background-clip: text;
    background-clip: text;
}

.sfl-page .sfl-seo-ai {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 24px 34px;
    align-items: center;
    max-width: 1180px;
    margin: 26px auto 0;
    padding: 26px 30px;
    border: 1.5px solid transparent;
    border-radius: 26px;
    background:
        linear-gradient(135deg, #F3FBFF, #F8F4FF) padding-box,
        linear-gradient(120deg, #25C9E6, #6535C9 55%, #B62AE6) border-box;
    box-shadow: 0 26px 54px -32px rgba(40, 116, 255, 0.55);
    text-align: start;
}

.sfl-page .sfl-seo-ai-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 13px;
    border-radius: 999px;
    background: linear-gradient(135deg, #25C9E6, #6535C9);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 800;
}

.sfl-page .sfl-seo-ai-tag .sfl-icn {
    width: 14px;
    height: 14px;
}

.sfl-page .sfl-seo-ai-copy p {
    margin-top: 6px;
    color: var(--sfd-ink-soft);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page .sfl-seo-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}

.sfl-page .sfl-seo-chips span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid #D7E6FB;
    border-radius: 999px;
    background: #fff;
    color: var(--sfd-ink-soft);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page .sfl-seo-chips .sfl-icn {
    width: 14px;
    height: 14px;
    color: var(--sfd-blue);
}

.sfl-page .sfl-seo-ai-buy {
    padding: 20px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 36px -26px rgba(64, 42, 120, 0.7);
    text-align: center;
}

.sfl-page .sfl-seo-ai .price {
    background: linear-gradient(90deg, #2874FF, #6535C9 50%, #B62AE6);
    -webkit-background-clip: text;
    background-clip: text;
}

.sfl-page .sfl-seo .priceContainer .priceDiv {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
    gap: 8px;
    margin-top: 16px;
}

.sfl-page .sfl-seo-ai-buy .priceDiv {
    justify-content: center;
}

.sfl-page .sfl-seo .priceContainer .price {
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: -1.5px;
    line-height: 1;
    direction: ltr;
    unicode-bidi: isolate;
}

.sfl-page .sfl-seo .priceContainer .extra {
    color: var(--sfd-ink-soft);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.25;
}

.sfl-page .sfl-seo .priceContainer .extraDetails > div:first-child:not(:empty) {
    margin-top: 8px;
    padding: 10px 12px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 12px;
    background: #FBF9FE;
    color: var(--sfd-ink-soft);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.6;
}

.sfl-page .sfl-seo .priceContainer .extraDetails > div:nth-child(2) {
    display: none;
}

.sfl-page .sfl-seo-tier-hot .extraDetails > div:first-child:not(:empty) {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.86);
}

.sfl-page .sfl-seo .priceContainer .priceOptionsWrap {
    margin-top: 10px;
}

.sfl-page .sfl-seo .priceContainer .priceOptionsToggleBtn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 12px;
    background: #fff;
    color: var(--sfd-purple-deep);
    font-size: 0.82rem;
    font-weight: 800;
    cursor: pointer;
}

.sfl-page .sfl-seo .priceContainer .priceOptionsToggleBtn .sign {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(101, 53, 201, 0.08);
    font-size: 1rem;
    line-height: 1;
}

.sfl-page .sfl-seo .priceContainer .priceOptionsPanel {
    display: grid;
    gap: 8px;
    max-height: 0;
    margin-top: 8px;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.3s ease;
}

.sfl-page .sfl-seo .priceContainer .priceOptionsPanel[hidden] {
    display: none;
}

.sfl-page .sfl-seo .priceContainer .priceOptionsPanel.open {
    max-height: 1200px;
    opacity: 1;
}

.sfl-page .sfl-seo .priceContainer .priceOption {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 10px 12px;
    border: 1px dashed #DCCFF7;
    border-radius: 12px;
    background: #FDFCFE;
    color: var(--sfd-ink-soft);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.55;
    text-align: start;
}

.sfl-page .sfl-seo .priceContainer .priceOption::before {
    content: "";
    flex: none;
    width: 8px;
    height: 8px;
    margin-top: 6px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
}

.sfl-page .sfl-seo .priceContainer .classErrorMessage {
    margin-top: 12px;
    color: #D93A5C;
    font-size: 0.86rem;
    font-weight: 700;
}

.sfl-page .sfl-seo .priceContainer .pleaseWait {
    justify-content: flex-start;
    margin-top: 12px;
    background: transparent;
}

.sfl-page .sfl-seo .priceContainer .pleaseWait h2 {
    color: var(--sfd-ink-soft);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
}

.sfl-page .sfl-seo .priceContainer .pleaseWaitImg {
    width: 28px;
    margin-right: 10px;
}

.sfl-page .sfl-seo-cmp-wrap {
    max-width: 900px;
    margin: 24px auto 0;
    text-align: center;
}

.sfl-page .sfl-seo-cmp-toggle {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 12px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 14px;
    background: #fff;
    color: var(--sfd-purple-deep);
    font-size: 0.92rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 26px -20px rgba(64, 42, 120, 0.8);
}

.sfl-page .sfl-seo-cmp-toggle .sfl-icn {
    width: 18px;
    height: 18px;
}

.sfl-page .sfl-seo-chev {
    transition: transform 0.22s;
}

.sfl-page .sfl-seo-cmp-toggle[aria-expanded="true"] .sfl-seo-chev {
    transform: rotate(180deg);
}

.sfl-page .sfl-seo-cmp[hidden] {
    display: none;
}

.sfl-page .sfl-seo-cmp {
    margin-top: 14px;
    overflow: hidden;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
}

.sfl-page .sfl-seo-cmp-scroll {
    overflow-x: auto;
}

.sfl-page .sfl-seo-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.sfl-page .sfl-seo-table th,
.sfl-page .sfl-seo-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #F1ECF8;
    text-align: center;
}

.sfl-page .sfl-seo-table tr:last-child td {
    border-bottom: 0;
}

.sfl-page .sfl-seo-table th {
    background: #FBF9FE;
    color: var(--sfd-ink);
    font-size: 0.92rem;
    font-weight: 800;
    direction: ltr;
}

.sfl-page .sfl-seo-table td:first-child {
    padding-inline-start: 18px;
    color: var(--sfd-ink-soft);
    font-weight: 800;
    text-align: start;
}

.sfl-page .sfl-seo-table td {
    color: var(--sfd-ink-soft);
    font-weight: 700;
}

.sfl-page .sfl-seo-table .sfl-seo-hot {
    background: rgba(153, 72, 245, 0.06);
    color: var(--sfd-purple-deep);
    font-weight: 800;
}

.sfl-page .sfl-seo-table th.sfl-seo-hot {
    background: linear-gradient(135deg, #6535C9, #B62AE6);
    color: #fff;
}

.sfl-page .sfl-seo-ops {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.sfl-page .sfl-seo-op.sfl-sale {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.sfl-page .sfl-seo-ic-1 { background: linear-gradient(135deg, #6535C9, #2874FF); }
.sfl-page .sfl-seo-ic-2 { background: linear-gradient(135deg, #B62AE6, #E5479A); }
.sfl-page .sfl-seo-ic-3 { background: linear-gradient(135deg, #FF7A18, #E5479A); }

.sfl-page .sfl-seo-op h3 {
    color: var(--sfd-ink);
    font-size: 1.12rem;
    line-height: 1.35;
}

.sfl-page .sfl-seo-op-desc {
    margin-top: 12px;
    color: var(--sfd-muted);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page .sfl-seo-op-note {
    margin-top: 8px;
    color: var(--sfd-purple-deep);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.6;
}

.sfl-page .sfl-seo-qty {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px dashed var(--sfd-line-purple);
}

.sfl-page .sfl-seo-qty-lb {
    margin-bottom: 8px;
    color: var(--sfd-ink-soft);
    font-size: 0.78rem;
    font-weight: 800;
}

.sfl-page .sfl-seo-qty-btns {
    display: flex;
    gap: 6px;
    color: var(--sfd-muted);
    font-size: 0.8rem;
    font-weight: 700;
}

.sfl-page .sfl-seo-qty-btn {
    flex: 1;
    margin: 0;
    padding: 9px 0;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 11px;
    background: #FDFCFE;
    color: var(--sfd-ink-soft);
    font-size: 0.86rem;
    font-weight: 800;
    direction: ltr;
    cursor: pointer;
}

.sfl-page .sfl-seo-qty-btn.active {
    border-color: transparent;
    background: linear-gradient(135deg, #6535C9, #B62AE6);
    color: #fff;
    box-shadow: 0 12px 22px -12px rgba(101, 53, 201, 0.85);
}

.sfl-page .sfl-seo-step {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sfl-page .sfl-seo-step-btn {
    flex: none;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 11px;
    background: #FDFCFE;
    color: var(--sfd-purple-deep);
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}

.sfl-page .sfl-seo-step input {
    flex: 1;
    width: auto;
    min-width: 0;
    height: 40px;
    margin: 0;
    padding: 0 8px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 11px;
    background: #fff;
    color: var(--sfd-ink);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
    direction: ltr;
}

.sfl-page .sfl-seo-step input:focus {
    border-color: var(--sfd-purple-bright);
    outline: 0;
    box-shadow: 0 0 0 4px rgba(153, 72, 245, 0.14);
}

.sfl-page .sfl-seo-op .priceDiv {
    display: block;
    margin-top: auto;
    padding-top: 16px;
}

.sfl-page .sfl-seo-op .sale {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 6px;
}

.sfl-page .sfl-seo-op .salePercent {
    color: var(--sfd-pink);
    font-size: 0.78rem;
    font-weight: 800;
}

.sfl-page .sfl-seo-op .oldPrice {
    color: #B3ABC7;
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: line-through;
}

.sfl-page .sfl-seo-op .newPrice,
.sfl-page .sfl-seo-op .newPrice span {
    margin: 0;
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: -1px;
    line-height: 1.1;
}

.sfl-page .sfl-seo-op > .addToCart {
    width: 100%;
    margin-top: 12px;
}

.sfl-page .sfl-seo-op .newPrice .newPriceText {
    font-size: 0.86rem;
    font-weight: 700;
}

.sfl-page .sfl-seo-tier-hot .priceContainer .price {
    background: linear-gradient(90deg, #fff, #FFC9E3 50%, #FFB06B);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page .sfl-seo-tier-hot .priceContainer .extra {
    color: rgba(255, 255, 255, 0.66);
}

.sfl-page .sfl-seo-ai .priceContainer .price {
    background: linear-gradient(90deg, #2874FF, #6535C9 50%, #B62AE6);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page .sfl-seo-op .vat {
    display: block;
    margin-top: 3px;
    color: var(--sfd-muted);
    font-size: 0.74rem;
    font-weight: 700;
}

.sfl-page .sfl-seo-op .totalPrice:empty {
    display: none;
}

.sfl-page .sfl-seo-rep {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    max-width: 1040px;
    margin: 0 auto 22px;
    padding: 18px 22px;
    border: 1.5px solid transparent;
    border-radius: 20px;
    background:
        linear-gradient(135deg, #FBF7FF, #FFF6F0) padding-box,
        linear-gradient(120deg, #6535C9, #B62AE6 46%, #FF7A18) border-box;
}

.sfl-page .sfl-seo-rep-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 15px;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    color: #fff;
    box-shadow: 0 14px 22px -12px rgba(182, 42, 230, 0.8);
}

.sfl-page .sfl-seo-rep-ic .sfl-icn {
    width: 22px;
    height: 22px;
}

.sfl-page .sfl-seo-rep p {
    margin: 0;
    color: var(--sfd-ink-soft);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.75;
}

.sfl-page .sfl-seo-rep p a,
.sfl-page .sfl-seo .sfl-step a {
    color: var(--sfd-purple-deep);
    font-weight: 800;
    border-bottom: 1.5px solid rgba(101, 53, 201, 0.3);
}

.sfl-page .sfl-seo-exs {
    display: grid;
    gap: 18px;
    max-width: 1040px;
    margin: 0 auto;
}

.sfl-page .sfl-seo-ex {
    --sfl-g: var(--sfd-grad-primary);
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 26px;
    align-items: start;
    padding: 26px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
}

.sfl-page .sfl-seo-ex-1 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); }
.sfl-page .sfl-seo-ex-2 { --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A); }
.sfl-page .sfl-seo-ex-3 { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); }

.sfl-page .sfl-seo-ex-art {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 150px;
    border-radius: 30px;
    background: var(--sfl-g);
    color: #fff;
    box-shadow: 0 26px 40px -18px rgba(101, 53, 201, 0.6), inset 0 2px 3px rgba(255, 255, 255, 0.55), inset 0 -12px 24px rgba(0, 0, 0, 0.18);
}

.sfl-page .sfl-seo-ex-art .sfl-icn {
    width: 62px;
    height: 62px;
}

.sfl-page .sfl-seo-ex h2 {
    font-size: clamp(1.25rem, 2.2vw, 1.55rem);
    letter-spacing: -0.6px;
}

.sfl-page .sfl-seo-ex p {
    margin-top: 10px;
    color: var(--sfd-ink-soft);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.9;
}

.sfl-page .sfl-seo-ex-lead {
    color: var(--sfd-purple-deep);
    font-weight: 800;
}

.sfl-page .sfl-seo-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.sfl-page .sfl-seo-tags span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 999px;
    background: #FBF9FE;
    color: var(--sfd-ink-soft);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page .sfl-seo-tags .sfl-icn {
    width: 14px;
    height: 14px;
    color: var(--sfd-purple-bright);
}

.sfl-page .sfl-seo-cmpair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 14px;
}

.sfl-page .sfl-seo-cmpair div {
    padding: 12px 14px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 14px;
    background: #FBF9FE;
}

.sfl-page .sfl-seo-cmpair small {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.sfl-page .sfl-seo-cmpair b {
    display: block;
    margin-top: 3px;
    color: var(--sfd-ink);
    font-size: 0.92rem;
    font-weight: 800;
}

.sfl-page .sfl-seo-cmpair div.sfl-seo-cmpair-g {
    border-color: #C6EED9;
    background: linear-gradient(135deg, #F4FBF7, #F1F6FF);
}

.sfl-page .sfl-seo-cmpair-g b {
    color: #1F7A4D;
}

.sfl-page .sfl-seo-center {
    max-width: 70ch;
    margin-inline: auto;
    text-align: center;
}

.sfl-page .sfl-seo-split {
    margin-top: 36px;
}

.sfl-page .sfl-seo-example {
    margin-top: 22px;
}

.sfl-page .sfl-seo-example p + p {
    margin-top: 8px;
}

.sfl-page .sfl-seo-w20 { --sfl-w: 20%; }
.sfl-page .sfl-seo-w40 { --sfl-w: 40%; }
.sfl-page .sfl-seo-w50 { --sfl-w: 50%; }
.sfl-page .sfl-seo-w53 { --sfl-w: 53%; }
.sfl-page .sfl-seo-w60 { --sfl-w: 60%; }
.sfl-page .sfl-seo-w64 { --sfl-w: 64%; }
.sfl-page .sfl-seo-w78 { --sfl-w: 78%; }
.sfl-page .sfl-seo-w83 { --sfl-w: 83%; }
.sfl-page .sfl-seo-w92 { --sfl-w: 92%; }
.sfl-page .sfl-seo-w100 { --sfl-w: 100%; }

@keyframes sfl-seo-draw {
    to { stroke-dashoffset: 0; }
}

@keyframes sfl-seo-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@media (max-width: 1160px) {
    .sfl-page .sfl-seo-tiers {
        grid-template-columns: 1fr;
        max-width: 560px;
        gap: 28px;
    }

    .sfl-page .sfl-seo-tier-hot {
        order: -1;
        transform: none;
    }

    .sfl-page .sfl-seo-ai {
        grid-template-columns: 1fr;
        max-width: 560px;
    }

    .sfl-page .sfl-seo-ops {
        grid-template-columns: 1fr 1fr;
    }

    .sfl-page .sfl-seo-ops .sfl-seo-op:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 980px) {
    .sfl-page .sfl-seo-art {
        width: 100%;
        max-width: 410px;
        margin-inline: auto;
    }

    .sfl-page .sfl-seo-rep {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .sfl-page .sfl-seo-rep .sfd-btn {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .sfl-page .sfl-seo-tiers,
    .sfl-page .sfl-seo-ops {
        grid-template-columns: 1fr;
    }

    .sfl-page .sfl-seo-ops .sfl-seo-op:last-child {
        grid-column: auto;
    }

    .sfl-page .sfl-seo-tier {
        padding: 24px 18px 20px;
        border-radius: 24px;
    }

    .sfl-page .sfl-seo-ex {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 20px 18px;
    }

    .sfl-page .sfl-seo-ex-art {
        width: 72px;
        height: 72px;
        border-radius: 22px;
    }

    .sfl-page .sfl-seo-ex-art .sfl-icn {
        width: 34px;
        height: 34px;
    }

    .sfl-page .sfl-seo-cmpair,
    .sfl-page .sfl-seo-rep {
        grid-template-columns: 1fr;
    }

    .sfl-page .sfl-seo-rep {
        justify-items: center;
        padding: 18px;
        text-align: center;
    }

    .sfl-page .sfl-seo-f1 {
        inset-inline-end: 0;
    }

    .sfl-page .sfl-seo-f2 {
        inset-inline-start: 0;
    }

    .sfl-page .sfl-seo-table {
        font-size: 0.78rem;
    }

    .sfl-page .sfl-seo-table th,
    .sfl-page .sfl-seo-table td {
        padding: 10px 4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sfl-page .sfl-seo-ln {
        stroke-dashoffset: 0;
        animation: none;
    }

    .sfl-page .sfl-seo-f1,
    .sfl-page .sfl-seo-f2 {
        animation: none;
    }
}

/* Stage 8 - website building. Only .sfl-web uses these rules. */

.sfl-page .sfl-web .sfl-hero-grid {
    grid-template-columns: minmax(0, 1fr) 470px;
    gap: 46px;
}

.sfl-page .sfl-web .sfl-pt-1 {
    --sfl-g: linear-gradient(135deg, #6535C9, #2874FF);
}

.sfl-page .sfl-web .sfl-pt-3 {
    --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A);
}

.sfl-page .sfl-sale-ic-web {
    background: linear-gradient(135deg, #6535C9, #2874FF);
    box-shadow: 0 18px 28px -14px rgba(101, 53, 201, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.25);
}

.sfl-page .sfl-web .sfl-web-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 0 34px;
}

.sfl-page .sfl-web .sfl-web-glow {
    position: absolute;
    inset: -8% -12%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(153, 72, 245, 0.22), rgba(40, 116, 255, 0.1) 52%, transparent 72%);
    filter: blur(36px);
    pointer-events: none;
}

.sfl-page .sfl-web .sfl-web-brw {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 420px;
    overflow: hidden;
    border: 1.5px solid #EAE3F7;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 46px 84px -38px rgba(52, 26, 110, 0.62), 0 0 0 9px rgba(255, 255, 255, 0.62);
}

.sfl-page .sfl-web .sfl-web-bar {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 10px 12px;
    border-bottom: 1px solid #EFE9FA;
    background: linear-gradient(180deg, #FBF9FE, #F4EFFC);
    direction: ltr;
}

.sfl-page .sfl-web .sfl-web-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.sfl-page .sfl-web .sfl-web-dot-r { background: #FF5F57; }
.sfl-page .sfl-web .sfl-web-dot-y { background: #FEBC2E; }
.sfl-page .sfl-web .sfl-web-dot-g { background: #28C840; }

.sfl-page .sfl-web .sfl-web-url {
    display: flex;
    align-items: center;
    flex: 1;
    gap: 6px;
    margin-left: 8px;
    padding: 4px 10px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 8px;
    background: #fff;
    color: var(--sfd-muted);
    font-size: 0.66rem;
    font-weight: 800;
}

.sfl-page .sfl-web .sfl-web-url .sfl-icn {
    width: 11px;
    height: 11px;
    color: #2FA36C;
}

.sfl-page .sfl-web .sfl-web-body {
    padding: 12px;
}

.sfl-page .sfl-web .sfl-web-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.sfl-page .sfl-web .sfl-web-logo {
    width: 56px;
    height: 12px;
    border-radius: 6px;
    background: var(--sfd-grad-text);
}

.sfl-page .sfl-web .sfl-web-links {
    display: flex;
    gap: 6px;
}

.sfl-page .sfl-web .sfl-web-links i {
    width: 26px;
    height: 6px;
    border-radius: 4px;
    background: #ECE6F6;
}

.sfl-page .sfl-web .sfl-web-cta {
    width: 44px;
    height: 16px;
    border-radius: 6px;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
}

.sfl-page .sfl-web .sfl-web-mock {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
    padding: 16px 14px;
    overflow: hidden;
    border-radius: 14px;
    background: linear-gradient(135deg, #5B34AC, #9948F5 55%, #E5479A);
}

.sfl-page .sfl-web .sfl-web-copy i {
    display: block;
    height: 8px;
    margin-top: 6px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.55);
}

.sfl-page .sfl-web .sfl-web-copy i:first-child {
    width: 90%;
    height: 12px;
    margin-top: 0;
    background: rgba(255, 255, 255, 0.9);
}

.sfl-page .sfl-web .sfl-web-copy i:nth-child(2) { width: 70%; }
.sfl-page .sfl-web .sfl-web-copy i:nth-child(3) { width: 55%; }

.sfl-page .sfl-web .sfl-web-copy b {
    display: inline-block;
    width: 58px;
    height: 16px;
    margin-top: 10px;
    border-radius: 6px;
    background: #fff;
}

.sfl-page .sfl-web .sfl-web-shot {
    position: relative;
    height: 64px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.18);
}

.sfl-page .sfl-web .sfl-web-shot::after {
    content: "";
    position: absolute;
    right: 18%;
    bottom: 10px;
    left: 18%;
    height: 26px;
    border-radius: 50% 50% 6px 6px;
    background: rgba(255, 255, 255, 0.35);
}

.sfl-page .sfl-web .sfl-web-tone-1 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); }
.sfl-page .sfl-web .sfl-web-tone-2 { --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A); }
.sfl-page .sfl-web .sfl-web-tone-3 { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); }

.sfl-page .sfl-web .sfl-web-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.sfl-page .sfl-web .sfl-web-cards > div {
    padding: 9px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 11px;
    background: #FBF9FE;
}

.sfl-page .sfl-web .sfl-web-cards > div::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 6px;
    background: var(--sfl-g, linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange)));
}

.sfl-page .sfl-web .sfl-web-cards i {
    display: block;
    height: 5px;
    margin-top: 6px;
    border-radius: 3px;
    background: #E6DFF3;
}

.sfl-page .sfl-web .sfl-web-cards i + i {
    width: 70%;
}

.sfl-page .sfl-web .sfl-web-mini {
    position: absolute;
    z-index: 3;
    bottom: 0;
    inset-inline-start: -4%;
    width: 108px;
    aspect-ratio: 9 / 18;
    padding: 5px;
    border-radius: 20px;
    background: #14101F;
    box-shadow: 0 30px 50px -22px rgba(30, 12, 60, 0.85);
    transform: rotate(4deg);
}

.sfl-page .sfl-web .sfl-web-phone {
    width: 100%;
    height: 100%;
    padding: 8px 6px;
    overflow: hidden;
    border-radius: 15px;
    background: #fff;
}

.sfl-page .sfl-web .sfl-web-phone-h {
    height: 44px;
    border-radius: 9px;
    background: linear-gradient(135deg, #5B34AC, #E5479A);
}

.sfl-page .sfl-web .sfl-web-phone i {
    display: block;
    height: 5px;
    margin-top: 6px;
    border-radius: 3px;
    background: #E6DFF3;
}

.sfl-page .sfl-web .sfl-web-phone i:nth-of-type(2) {
    width: 70%;
}

.sfl-page .sfl-web .sfl-web-phone b {
    display: block;
    height: 12px;
    margin-top: 8px;
    border-radius: 5px;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
}

.sfl-page .sfl-web .sfl-web-phone-c {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    margin-top: 8px;
}

.sfl-page .sfl-web .sfl-web-phone-c span {
    height: 26px;
    border-radius: 6px;
    background: #F3EEFB;
}

.sfl-page .sfl-web .sfl-web-float {
    position: absolute;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 44px -22px rgba(64, 42, 120, 0.82);
}

.sfl-page .sfl-web .sfl-web-av {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: linear-gradient(135deg, #3ACB88, #22A86C);
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.5), 0 10px 16px -9px rgba(30, 12, 60, 0.6);
    color: #fff;
}

.sfl-page .sfl-web .sfl-web-av .sfl-icn {
    width: 17px;
    height: 17px;
}

.sfl-page .sfl-web .sfl-web-float b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.25;
}

.sfl-page .sfl-web .sfl-web-float div > span {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.3;
}

.sfl-page .sfl-web .sfl-web-f1 {
    top: -7%;
    inset-inline-start: -4%;
    animation: sfl-float-y 5s ease-in-out infinite;
}

.sfl-page .sfl-web .sfl-web-f2 {
    bottom: 4%;
    inset-inline-end: -4%;
    animation: sfl-float-y 5.6s ease-in-out 0.8s infinite;
}

.sfl-page .sfl-web .sfl-web-f2 .sfl-web-av {
    background: linear-gradient(135deg, #6535C9, #2874FF);
}

.sfl-page .sfl-web .sfl-web-fit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding: 8px 14px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 12px;
    background: #fff;
    color: var(--sfd-ink-soft);
    font-size: 0.88rem;
    font-weight: 700;
    box-shadow: 0 12px 26px -22px rgba(64, 42, 120, 0.8);
}

.sfl-page .sfl-web .sfl-web-fit b {
    color: var(--sfd-purple-deep);
    font-weight: 800;
}

.sfl-page .sfl-web .sfl-web-flag {
    position: absolute;
    top: -13px;
    inset-inline-start: 24px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 13px;
    border-radius: 999px;
    background: linear-gradient(135deg, #FF7A18, #E5479A);
    color: #fff;
    font-size: 0.74rem;
    font-weight: 800;
    box-shadow: 0 10px 18px -8px rgba(229, 71, 154, 0.9);
}

.sfl-page .sfl-web .sfl-web-flag .sfl-icn {
    width: 12px;
    height: 12px;
    color: #fff;
}

.sfl-page .sfl-web .sfl-sale-head h3 {
    color: var(--sfd-ink);
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.4px;
    line-height: 1.3;
}

.sfl-page .sfl-web .sfl-web-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.sfl-page .sfl-web .priceCell {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    direction: ltr;
    unicode-bidi: isolate;
    color: var(--sfd-purple);
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: -1.5px;
    line-height: 1;
}

.sfl-page .sfl-web .priceWrapper {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
}

.sfl-page .sfl-web .salePrice,
.sfl-page .sfl-web .salePrice .priceHighlight,
.sfl-page .sfl-web .priceCell > .priceHighlight:not(:has(img)) {
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page .sfl-web .oldPrice,
.sfl-page .sfl-web .oldPriceValue {
    background: none;
    color: #B3ABC7;
    -webkit-text-fill-color: #B3ABC7;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0;
    text-decoration: line-through;
}

.sfl-page .sfl-web .priceCell .priceHighlight img {
    display: block;
    width: 42px;
    height: 42px;
}

.sfl-page .sfl-web .sfl-web-per {
    color: var(--sfd-ink-soft);
    font-size: 0.86rem;
    font-weight: 800;
}

.sfl-page .sfl-web #websiteBuildingAddToCartButton {
    width: 100%;
    margin-top: 16px;
    padding: 15px 22px;
    font-size: 0.98rem;
}

.sfl-page .sfl-web .sfl-web-why {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 40px;
    align-items: start;
}

.sfl-page .sfl-web .sfl-prose p.sfl-web-lead {
    color: var(--sfd-ink);
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.7;
}

.sfl-page .sfl-web .sfl-web-call {
    position: relative;
    display: grid;
    gap: 4px;
    margin-top: 20px;
    padding: 18px 20px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(101, 53, 201, 0.06), rgba(255, 122, 24, 0.06));
}

.sfl-page .sfl-web .sfl-web-call::before {
    content: "";
    position: absolute;
    top: 16px;
    right: 0;
    bottom: 16px;
    width: 4px;
    border-radius: 4px;
    background: linear-gradient(180deg, #6535C9, #B62AE6, #FF7A18);
}

.sfl-page .sfl-web .sfl-web-call span {
    color: var(--sfd-purple-deep);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.6;
}

.sfl-page .sfl-web .sfl-web-call b,
.sfl-page .sfl-web .sfl-web-call em {
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.6;
}

.sfl-page .sfl-web .sfl-web-call b {
    color: var(--sfd-ink);
}

.sfl-page .sfl-web .sfl-web-call em {
    font-style: normal;
}

.sfl-page .sfl-web .sfl-web-must {
    padding: 24px 22px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 26px 54px -32px rgba(64, 42, 120, 0.6);
}

.sfl-page .sfl-web .sfl-web-must h3 {
    color: var(--sfd-ink);
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.4px;
}

.sfl-page .sfl-web .sfl-web-must .sfl-rule {
    width: 44px;
    margin-top: 10px;
}

.sfl-page .sfl-web .sfl-web-mlist {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.sfl-page .sfl-web .sfl-web-mh {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 11px 13px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #FBF9FE;
    transition: 0.22s;
}

.sfl-page .sfl-web .sfl-web-mh:hover {
    border-color: #DCCFF7;
    background: #fff;
    transform: translateX(-4px);
}

.sfl-page .sfl-web .sfl-web-mh-1 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); }
.sfl-page .sfl-web .sfl-web-mh-2 { --sfl-g: linear-gradient(135deg, #2874FF, #25C9E6); }
.sfl-page .sfl-web .sfl-web-mh-3 { --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A); }
.sfl-page .sfl-web .sfl-web-mh-4 { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); }
.sfl-page .sfl-web .sfl-web-mh-5 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); }

.sfl-page .sfl-web .sfl-web-mh-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--sfl-g);
    color: #fff;
    box-shadow: 0 12px 20px -10px rgba(30, 12, 60, 0.55), inset 0 2px 3px rgba(255, 255, 255, 0.5);
}

.sfl-page .sfl-web .sfl-web-mh-ic .sfl-icn {
    width: 20px;
    height: 20px;
}

.sfl-page .sfl-web .sfl-web-mh b {
    color: var(--sfd-ink);
    font-size: 0.96rem;
    font-weight: 800;
}

.sfl-page .sfl-web .sfl-web-ck {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 22px;
    height: 22px;
    margin-inline-start: auto;
    border-radius: 50%;
    background: rgba(58, 203, 136, 0.14);
    color: #2FA36C;
}

.sfl-page .sfl-web .sfl-web-ck .sfl-icn {
    width: 14px;
    height: 14px;
}

.sfl-page .sfl-web .sfl-web-vs {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

.sfl-page .sfl-web .sfl-web-vs-card {
    padding: 26px 24px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
}

.sfl-page .sfl-web .sfl-web-vs-seo {
    border-color: transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #6535C9, #B62AE6 50%, #FF7A18) border-box;
    box-shadow: 0 30px 56px -28px rgba(101, 53, 201, 0.6);
}

.sfl-page .sfl-web .sfl-web-vs-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: var(--sfl-g);
    color: #fff;
    box-shadow: 0 18px 28px -14px rgba(30, 12, 60, 0.55), inset 0 2px 3px rgba(255, 255, 255, 0.55), inset 0 -6px 12px rgba(0, 0, 0, 0.16);
}

.sfl-page .sfl-web .sfl-web-vs-ic .sfl-icn {
    width: 26px;
    height: 26px;
}

.sfl-page .sfl-web .sfl-web-vs-card small {
    display: block;
    margin-top: 14px;
    color: var(--sfd-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page .sfl-web .sfl-web-vs-card h3 {
    margin-top: 2px;
    color: var(--sfd-ink);
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: -0.4px;
}

.sfl-page .sfl-web .sfl-web-vs-card p {
    margin-top: 8px;
    color: var(--sfd-muted);
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1.75;
}

.sfl-page .sfl-web .sfl-web-to {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding: 7px 13px;
    border: 1px solid rgba(101, 53, 201, 0.18);
    border-radius: 999px;
    background: rgba(101, 53, 201, 0.07);
    color: var(--sfd-purple-deep);
    font-size: 0.84rem;
    font-weight: 800;
}

.sfl-page .sfl-web .sfl-web-to .sfl-icn {
    width: 14px;
    height: 14px;
    transform: scaleX(-1);
}

.sfl-page .sfl-web .sfl-web-vs-seo .sfl-web-to {
    border: 0;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    color: #fff;
    box-shadow: 0 12px 22px -12px rgba(182, 42, 230, 0.8);
}

.sfl-page .sfl-web .sfl-web-vs-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin: -27px 0 0 -27px;
    border: 4px solid #fff;
    border-radius: 50%;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    direction: ltr;
    box-shadow: 0 14px 26px -12px rgba(36, 20, 66, 0.9);
}

.sfl-page .sfl-web .sfl-web-foot {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 18px;
    margin-top: 24px;
}

.sfl-page .sfl-web .sfl-web-foot p {
    color: var(--sfd-ink-soft);
    font-size: 1.02rem;
    font-weight: 700;
    text-align: center;
}

.sfl-page .sfl-web .sfl-web-foot p b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page .sfl-web .sfl-web-plat {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: 18px;
    align-items: stretch;
}

.sfl-page .sfl-web .sfl-web-wp {
    position: relative;
    overflow: hidden;
    padding: 28px 28px 26px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
}

.sfl-page .sfl-web .sfl-web-wp::before {
    content: "";
    position: absolute;
    top: -170px;
    inset-inline-end: -100px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(40, 116, 255, 0.14), transparent 70%);
    filter: blur(34px);
    pointer-events: none;
}

.sfl-page .sfl-web .sfl-web-wp-top,
.sfl-page .sfl-web .sfl-web-q,
.sfl-page .sfl-web .sfl-web-a,
.sfl-page .sfl-web .sfl-web-chips {
    position: relative;
}

.sfl-page .sfl-web .sfl-web-wp-top {
    display: flex;
    align-items: center;
    gap: 14px;
}

.sfl-page .sfl-web .sfl-web-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #21759B, #2874FF);
    color: #fff;
    font-family: Georgia, serif;
    font-size: 1.6rem;
    font-weight: 800;
    direction: ltr;
    box-shadow: 0 18px 28px -14px rgba(33, 117, 155, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.45);
}

.sfl-page .sfl-web .sfl-web-wp h3 {
    color: var(--sfd-ink);
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: -0.4px;
}

.sfl-page .sfl-web .sfl-web-wp small {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.sfl-page .sfl-web .sfl-web-q {
    margin-top: 18px;
    color: var(--sfd-ink);
    font-size: 1rem;
    font-weight: 800;
}

.sfl-page .sfl-web .sfl-web-a {
    margin-top: 6px;
    color: var(--sfd-purple-deep);
    font-size: 0.96rem;
    font-weight: 700;
    line-height: 1.8;
}

.sfl-page .sfl-web .sfl-web-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.sfl-page .sfl-web .sfl-web-chips span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 999px;
    background: #FBF9FE;
    color: var(--sfd-ink-soft);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page .sfl-web .sfl-web-chips .sfl-icn {
    width: 13px;
    height: 13px;
    color: #2FA36C;
}

.sfl-page .sfl-web .sfl-web-stat {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 28px 26px 24px;
    border-radius: 26px;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    color: #fff;
    box-shadow: 0 30px 60px -30px rgba(36, 20, 66, 0.95);
}

.sfl-page .sfl-web .sfl-web-stat::before {
    content: "";
    position: absolute;
    top: -160px;
    inset-inline-start: -80px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(182, 42, 230, 0.45), transparent 70%);
    filter: blur(36px);
    pointer-events: none;
}

.sfl-page .sfl-web .sfl-web-stat > * {
    position: relative;
    z-index: 1;
}

.sfl-page .sfl-web .sfl-web-stat-big {
    background: linear-gradient(90deg, #C98BFF, #FF9A4D);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 4.2rem;
    font-weight: 800;
    letter-spacing: -3px;
    line-height: 1;
    direction: ltr;
    text-align: right;
}

.sfl-page .sfl-web .sfl-web-ring {
    height: 10px;
    margin-top: 14px;
    overflow: hidden;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.12);
}

.sfl-page .sfl-web .sfl-web-ring i {
    display: block;
    width: 43%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #C98BFF, #FF9A4D);
}

.sfl-page .sfl-web .sfl-web-stat p {
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.96rem;
    font-weight: 600;
    line-height: 1.75;
}

.sfl-page .sfl-web .sfl-web-stat p b {
    color: #fff;
    font-weight: 800;
}

.sfl-page .sfl-web .sfl-web-go {
    margin-top: auto;
    padding-top: 18px;
}

.sfl-page .sfl-web .sfl-web-go .sfd-btn {
    width: 100%;
}

.sfl-page .sfl-web .sfl-web-band {
    position: relative;
    overflow: hidden;
    padding: 42px 38px 36px;
    border-radius: 30px;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    color: #fff;
    box-shadow: 0 34px 70px -34px rgba(36, 20, 66, 0.95);
}

.sfl-page .sfl-web .sfl-web-band::before,
.sfl-page .sfl-web .sfl-web-band::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(42px);
    pointer-events: none;
}

.sfl-page .sfl-web .sfl-web-band::before {
    top: -240px;
    inset-inline-start: -90px;
    width: 440px;
    height: 440px;
    background: radial-gradient(circle, rgba(58, 203, 136, 0.25), transparent 70%);
}

.sfl-page .sfl-web .sfl-web-band::after {
    right: auto;
    bottom: -220px;
    inset-inline-end: -80px;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, rgba(182, 42, 230, 0.35), transparent 70%);
}

.sfl-page .sfl-web .sfl-web-band > * {
    position: relative;
    z-index: 1;
}

.sfl-page .sfl-web .sfl-web-band-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    max-width: 820px;
    margin: 0 auto;
    text-align: start;
}

.sfl-page .sfl-web .sfl-web-shield {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    border-radius: 26px;
    background: linear-gradient(135deg, #3ACB88, #2874FF);
    color: #fff;
    box-shadow: 0 24px 40px -16px rgba(58, 203, 136, 0.7), inset 0 2px 3px rgba(255, 255, 255, 0.5), inset 0 -8px 16px rgba(0, 0, 0, 0.18);
}

.sfl-page .sfl-web .sfl-web-shield .sfl-icn {
    width: 40px;
    height: 40px;
}

.sfl-page .sfl-web .sfl-web-band h2 {
    color: #fff;
    font-size: clamp(1.45rem, 2.7vw, 2rem);
    letter-spacing: -0.8px;
    line-height: 1.3;
}

.sfl-page .sfl-web .sfl-web-mint {
    background: linear-gradient(90deg, #8CF5C4, #5AB0FF);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page .sfl-web .sfl-web-band-top p {
    margin-top: 8px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.75;
}

.sfl-page .sfl-web .sfl-web-band-lbl {
    margin: 28px 0 14px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    font-weight: 800;
    text-align: center;
}

.sfl-page .sfl-web .sfl-web-sec-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.sfl-page .sfl-web .sfl-web-sec {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
    transition: 0.22s;
}

.sfl-page .sfl-web .sfl-web-sec:hover {
    border-color: rgba(255, 255, 255, 0.28);
    transform: translateY(-4px);
}

.sfl-page .sfl-web .sfl-web-sec-1 { --sfl-g: linear-gradient(135deg, #3ACB88, #22A86C); }
.sfl-page .sfl-web .sfl-web-sec-2 { --sfl-g: linear-gradient(135deg, #2874FF, #25C9E6); }
.sfl-page .sfl-web .sfl-web-sec-3 { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); }
.sfl-page .sfl-web .sfl-web-sec-4 { --sfl-g: linear-gradient(135deg, #6535C9, #B62AE6); }

.sfl-page .sfl-web .sfl-web-sec-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--sfl-g);
    color: #fff;
    box-shadow: 0 12px 20px -10px rgba(0, 0, 0, 0.6), inset 0 2px 3px rgba(255, 255, 255, 0.4);
}

.sfl-page .sfl-web .sfl-web-sec-ic .sfl-icn {
    width: 20px;
    height: 20px;
}

.sfl-page .sfl-web .sfl-web-sec b {
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.35;
}

.sfl-page .sfl-web .sfl-web-qbox {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    margin-top: 20px;
    padding: 16px 18px;
    border: 1px dashed rgba(255, 255, 255, 0.24);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.07);
}

.sfl-page .sfl-web .sfl-web-qm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    color: #fff;
    font-size: 1.1rem;
    font-weight: 800;
    box-shadow: 0 10px 18px -8px rgba(182, 42, 230, 0.8);
}

.sfl-page .sfl-web .sfl-web-qbox small {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.78rem;
    font-weight: 800;
}

.sfl-page .sfl-web .sfl-web-qbox b {
    display: block;
    color: #fff;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.5;
}

.sfl-page .sfl-web .sfl-web-qbox p {
    margin-top: 3px;
    color: #8CF5C4;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.6;
}

.sfl-page .sfl-web .sfl-web-owl {
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.sfl-page .sfl-web .wb-carousel .wb-item img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: top;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 36px -26px rgba(64, 42, 120, 0.75);
    cursor: zoom-in;
    transition: transform 0.24s, box-shadow 0.24s, border-color 0.24s;
}

.sfl-page .sfl-web .wb-carousel .wb-item:hover img {
    border-color: #DCCFF7;
    box-shadow: 0 28px 50px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-5px);
}

.sfl-page .sfl-web .sfl-web-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
    padding-inline: 22px;
    color: var(--sfd-muted);
    font-size: 0.8rem;
    font-weight: 700;
    text-align: center;
}

.sfl-page .sfl-web .sfl-web-hint .sfl-icn {
    width: 15px;
    height: 15px;
    color: var(--sfd-purple-bright);
}

#wb-lightbox.bl-storefront,
#wb-lightbox.bl-storefront * {
    box-sizing: border-box;
}

#wb-lightbox.bl-storefront {
    z-index: 9999;
    background: rgba(27, 22, 48, 0.84);
    backdrop-filter: blur(6px);
}

#wb-lightbox.bl-storefront[hidden] {
    display: none;
}

#wb-lightbox.bl-storefront .wb-lightbox__backdrop {
    background: transparent;
}

#wb-lightbox.bl-storefront .wb-lightbox__content img {
    max-width: min(1000px, 92vw);
    max-height: 86vh;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 44px 90px -30px rgba(0, 0, 0, 0.8);
}

#wb-lightbox.bl-storefront .wb-lightbox__close,
#wb-lightbox.bl-storefront .wb-lightbox__nav {
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    box-shadow: none;
}

#wb-lightbox.bl-storefront .wb-lightbox__close:hover,
#wb-lightbox.bl-storefront .wb-lightbox__nav:hover {
    background: rgba(255, 255, 255, 0.28);
    color: #fff;
}

#wb-lightbox.bl-storefront .wb-lightbox__nav {
    display: none;
}

#wb-lightbox.bl-storefront.gallery-enabled .wb-lightbox__nav {
    display: flex;
}

@media (max-width: 1160px) {
    .sfl-page .sfl-web .sfl-hero-grid {
        grid-template-columns: minmax(0, 1fr) 400px;
        gap: 34px;
    }

    .sfl-page .sfl-web .sfl-web-sec-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .sfl-page .sfl-web .sfl-hero-grid,
    .sfl-page .sfl-web .sfl-web-why,
    .sfl-page .sfl-web .sfl-web-plat,
    .sfl-page .sfl-web .sfl-web-vs {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .sfl-page .sfl-web .sfl-web-art {
        width: 100%;
        max-width: 440px;
        margin-inline: auto;
    }
}

@media (max-width: 720px) {
    .sfl-page .sfl-web .sfl-web-foot .sfd-btn {
        width: 100%;
    }

    .sfl-page .sfl-web .sfl-web-band {
        padding: 30px 18px 24px;
        border-radius: 24px;
    }

    .sfl-page .sfl-web .sfl-web-band-top {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .sfl-page .sfl-web .sfl-web-shield {
        width: 68px;
        height: 68px;
        border-radius: 22px;
    }

    .sfl-page .sfl-web .sfl-web-sec-grid {
        grid-template-columns: 1fr;
    }

    .sfl-page .sfl-web .sfl-web-stat-big {
        font-size: 3.4rem;
    }

    .sfl-page .sfl-web .sfl-web-mini {
        width: 88px;
        inset-inline-start: 2%;
    }

    .sfl-page .sfl-web .sfl-web-f1 {
        inset-inline-start: -1%;
    }

    .sfl-page .sfl-web .sfl-web-f2 {
        bottom: 0;
        inset-inline-end: -1%;
    }
}

@media (max-width: 420px) {
    .sfl-page .sfl-web .sfl-web-float {
        padding: 8px 11px;
    }

    .sfl-page .sfl-web .sfl-web-float b {
        font-size: 0.76rem;
    }

    .sfl-page .sfl-web .sfl-web-f1 {
        inset-inline-start: 0;
    }

    .sfl-page .sfl-web .sfl-web-f2 {
        inset-inline-end: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sfl-page .sfl-web .sfl-web-f1,
    .sfl-page .sfl-web .sfl-web-f2 {
        animation: none;
    }
}

/* Stage 9. Reputation only. Do not change the shared tone classes. */

.sfl-page.sfl-rep .sfl-rep-ben-5 {
    --sfl-g: linear-gradient(135deg, #25C9E6, #6535C9);
    --sfl-glow: rgba(37, 201, 230, 0.6);
}

.sfl-page.sfl-rep .sfl-rep-why-2 {
    --sfl-g: linear-gradient(135deg, #25C9E6, #6535C9);
}

.sfl-page.sfl-rep .sfl-rep-g-mute {
    --sfl-g: linear-gradient(135deg, #C9C1DC, #B0A7C6);
}

.sfl-page.sfl-rep .sfl-why-list {
    grid-template-columns: 1fr;
}

.sfl-page.sfl-rep .sfl-rep-hook {
    position: relative;
    margin-top: 18px;
    padding: 16px 18px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(101, 53, 201, 0.06), rgba(255, 122, 24, 0.06));
}

.sfl-page.sfl-rep .sfl-rep-hook::before {
    content: "";
    position: absolute;
    top: 14px;
    right: 0;
    bottom: 14px;
    width: 4px;
    border-radius: 4px;
    background: linear-gradient(180deg, #6535C9, #B62AE6, #FF7A18);
}

.sfl-page.sfl-rep .sfl-rep-hook p {
    color: var(--sfd-ink-soft);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.7;
}

.sfl-page.sfl-rep .sfl-rep-hook p b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-hook p.sfd-gradient-text {
    margin-top: 4px;
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-pitch p .sfd-gradient-text {
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page.sfl-rep .sfl-rep-cta-center {
    justify-content: center;
    margin-top: 22px;
}

.sfl-page.sfl-rep .sfl-step a,
.sfl-page.sfl-rep .sfl-rep-quote a {
    color: var(--sfd-purple-deep);
    font-weight: 800;
    border-bottom: 1.5px solid rgba(101, 53, 201, 0.3);
}

.sfl-page.sfl-rep .sfl-rep-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
}

.sfl-page.sfl-rep .sfl-rep-glow {
    position: absolute;
    inset: -8% -14%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 40%, rgba(58, 203, 136, 0.2), transparent 55%),
        radial-gradient(circle at 65% 65%, rgba(101, 53, 201, 0.2), transparent 55%);
    filter: blur(36px);
    pointer-events: none;
}

.sfl-page.sfl-rep .sfl-rep-nm {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 410px;
    overflow: hidden;
    border: 1.5px solid #EAE3F7;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 46px 84px -38px rgba(52, 26, 110, 0.62), 0 0 0 9px rgba(255, 255, 255, 0.62);
}

.sfl-page.sfl-rep .sfl-rep-q {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 14px 14px 4px;
    padding: 9px 14px;
    border: 1.5px solid #E6E0F2;
    border-radius: 999px;
    color: var(--sfd-ink);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-q .sfl-icn {
    width: 15px;
    height: 15px;
    color: #9C90BC;
    stroke-width: 2.2;
}

.sfl-page.sfl-rep .sfl-rep-body {
    display: grid;
    gap: 8px;
    padding: 10px 14px 14px;
}

.sfl-page.sfl-rep .sfl-rep-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 9px 11px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 13px;
    background: #FBF9FE;
}

.sfl-page.sfl-rep .sfl-rep-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    background: var(--sfl-g);
    color: #fff;
}

.sfl-page.sfl-rep .sfl-rep-row .sfl-rep-ic {
    width: 30px;
    height: 30px;
    border-radius: 10px;
}

.sfl-page.sfl-rep .sfl-rep-row .sfl-icn {
    width: 15px;
    height: 15px;
    stroke-width: 2.2;
}

.sfl-page.sfl-rep .sfl-rep-row b {
    display: block;
    color: #1A56DB;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.3;
}

.sfl-page.sfl-rep .sfl-rep-row small {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.64rem;
    font-weight: 700;
}

.sfl-page.sfl-rep .sfl-rep-row-pos {
    border-color: #CDEFDD;
    background: linear-gradient(135deg, #F4FBF7, #F8F6FE);
}

.sfl-page.sfl-rep .sfl-rep-row-neg {
    border-color: #F6D5D5;
    background: #FFF6F6;
    opacity: 0.55;
    filter: grayscale(0.4);
    animation: sfl-rep-sink 3.6s ease-in-out infinite;
}

.sfl-page.sfl-rep .sfl-rep-row-neg b {
    color: #B54848;
    text-decoration: line-through;
}

.sfl-page.sfl-rep .sfl-rep-foot {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    border-top: 1px solid #F6D5D5;
    background: #FFF6F6;
    color: #B54848;
    font-size: 0.7rem;
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-foot .sfl-icn {
    width: 13px;
    height: 13px;
    stroke-width: 2.4;
}

.sfl-page.sfl-rep .sfl-rep-float {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 44px -22px rgba(64, 42, 120, 0.82);
}

.sfl-page.sfl-rep .sfl-rep-av {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: var(--sfl-g, linear-gradient(135deg, #3ACB88, #22A86C));
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.5), 0 10px 16px -9px rgba(30, 12, 60, 0.6);
    color: #fff;
}

.sfl-page.sfl-rep .sfl-rep-av .sfl-icn {
    width: 17px;
    height: 17px;
}

.sfl-page.sfl-rep .sfl-rep-float b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.25;
}

.sfl-page.sfl-rep .sfl-rep-float i {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.7rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
}

.sfl-page.sfl-rep .sfl-rep-f1 {
    top: -4%;
    inset-inline-end: -8%;
    --sfl-g: linear-gradient(135deg, #6535C9, #2874FF);
    animation: sfl-float-y 5s ease-in-out infinite;
}

.sfl-page.sfl-rep .sfl-rep-f2 {
    bottom: -7%;
    inset-inline-start: -6%;
    animation: sfl-float-y 5.6s ease-in-out 0.8s infinite;
}

.sfl-page.sfl-rep .sfl-rep-ex {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.sfl-page.sfl-rep .sfl-rep-case {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    padding: 22px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, border-color 0.24s;
}

.sfl-page.sfl-rep .sfl-rep-case:hover {
    border-color: #DCCFF7;
    transform: translateY(-5px);
}

.sfl-page.sfl-rep .sfl-rep-case .sfl-rep-ic {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    box-shadow: 0 16px 24px -12px rgba(30, 12, 60, 0.55), inset 0 2px 3px rgba(255, 255, 255, 0.5);
}

.sfl-page.sfl-rep .sfl-rep-case .sfl-rep-ic .sfl-icn {
    width: 24px;
    height: 24px;
}

.sfl-page.sfl-rep .sfl-rep-case h3 {
    font-size: 1.04rem;
}

.sfl-page.sfl-rep .sfl-rep-before {
    margin-top: 6px;
    color: var(--sfd-muted);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.65;
}

.sfl-page.sfl-rep .sfl-rep-after {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin-top: 9px;
    padding: 9px 11px;
    border: 1px solid #CDEFDD;
    border-radius: 12px;
    background: linear-gradient(135deg, #F2FBF6, #F4F7FF);
    color: #1F7A4D;
    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1.55;
}

.sfl-page.sfl-rep .sfl-rep-after .sfl-icn {
    flex: none;
    width: 16px;
    height: 16px;
    margin-top: 2px;
}

.sfl-page.sfl-rep .sfl-rep-quote {
    grid-column: 1 / -1;
    padding: 22px 26px;
    border: 1.5px dashed #DCCFF7;
    border-radius: 22px;
    background: #FDFCFF;
    color: var(--sfd-ink-soft);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.85;
    text-align: center;
}

.sfl-page.sfl-rep .sfl-rep-quote b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-quote .sfd-gradient-text {
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-road {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 0;
}

.sfl-page.sfl-rep .sfl-rep-rs {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 12px;
}

.sfl-page.sfl-rep .sfl-rep-node {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 64px;
}

.sfl-page.sfl-rep .sfl-rep-node::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -12px;
    left: -12px;
    height: 3px;
    margin-top: -1.5px;
    border-radius: 3px;
    background: linear-gradient(90deg, #E9E1F7, #D9CCF3 50%, #E9E1F7);
}

.sfl-page.sfl-rep .sfl-rep-rs:nth-child(3n+1) .sfl-rep-node::before {
    right: 50%;
}

.sfl-page.sfl-rep .sfl-rep-rs:nth-child(3n) .sfl-rep-node::before {
    left: 50%;
}

.sfl-page.sfl-rep .sfl-rep-dot {
    position: relative;
    z-index: 1;
    width: 60px;
    height: 60px;
    padding: 3px;
    border-radius: 50%;
    background: var(--sfl-g);
    box-shadow: 0 16px 28px -12px rgba(101, 53, 201, 0.65);
    transition: transform 0.25s;
}

.sfl-page.sfl-rep .sfl-rep-dot b {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #fff;
    color: var(--sfd-purple-deep);
    direction: ltr;
    font-size: 1.35rem;
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-dot::after {
    content: "";
    position: absolute;
    inset: -8px;
    border: 2px dashed rgba(153, 72, 245, 0.25);
    border-radius: 50%;
    animation: sfl-rep-spin 14s linear infinite;
}

.sfl-page.sfl-rep .sfl-rep-rs:hover .sfl-rep-dot {
    transform: scale(1.08);
}

.sfl-page.sfl-rep .sfl-rep-card {
    position: relative;
    width: 100%;
    margin-top: 18px;
    padding: 22px 20px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    text-align: center;
    transition: transform 0.24s, border-color 0.24s, box-shadow 0.24s;
}

.sfl-page.sfl-rep .sfl-rep-card::before {
    content: "";
    position: absolute;
    top: -9px;
    left: 50%;
    width: 16px;
    height: 16px;
    margin-left: -8px;
    border-top: 1.5px solid var(--sfd-line-purple);
    border-left: 1.5px solid var(--sfd-line-purple);
    background: #fff;
    transform: rotate(45deg);
}

.sfl-page.sfl-rep .sfl-rep-rs:hover .sfl-rep-card {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.5);
    transform: translateY(-4px);
}

.sfl-page.sfl-rep .sfl-rep-dur {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 999px;
    background: var(--sfl-g);
    box-shadow: 0 10px 18px -10px rgba(101, 53, 201, 0.8);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-dur .sfl-icn {
    width: 13px;
    height: 13px;
    stroke-width: 2.2;
}

.sfl-page.sfl-rep .sfl-rep-card small {
    display: block;
    margin-top: 12px;
    color: var(--sfd-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.3px;
}

.sfl-page.sfl-rep .sfl-rep-card h3 {
    margin-top: 2px;
    font-size: 1.1rem;
}

.sfl-page.sfl-rep .sfl-rep-card p {
    margin-top: 7px;
    color: var(--sfd-muted);
    font-size: 0.89rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page.sfl-rep .sfl-rep-mistakes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    max-width: 1000px;
    margin: 0 auto;
}

.sfl-page.sfl-rep .sfl-rep-mk {
    overflow: hidden;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
}

.sfl-page.sfl-rep .sfl-rep-no,
.sfl-page.sfl-rep .sfl-rep-yes {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px 16px;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.55;
}

.sfl-page.sfl-rep .sfl-rep-no {
    background: #FFF6F6;
    color: #B54848;
}

.sfl-page.sfl-rep .sfl-rep-yes {
    background: linear-gradient(135deg, #F2FBF6, #F7FBFF);
    color: #1F7A4D;
}

.sfl-page.sfl-rep .sfl-rep-no .sfl-icn,
.sfl-page.sfl-rep .sfl-rep-yes .sfl-icn {
    flex: none;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    padding: 3px;
    border-radius: 50%;
    color: #fff;
}

.sfl-page.sfl-rep .sfl-rep-no .sfl-icn {
    background: #E5577A;
    stroke-width: 2.6;
}

.sfl-page.sfl-rep .sfl-rep-yes .sfl-icn {
    background: #2FA36C;
}

.sfl-page.sfl-rep .sfl-rep-crit {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.sfl-page.sfl-rep .sfl-rep-cr {
    padding: 22px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, border-color 0.24s;
}

.sfl-page.sfl-rep .sfl-rep-cr:hover {
    border-color: #DCCFF7;
    transform: translateY(-5px);
}

.sfl-page.sfl-rep .sfl-rep-n {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    box-shadow: 0 12px 22px -12px rgba(182, 42, 230, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.5);
    color: #fff;
    direction: ltr;
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-cr h3 {
    margin-top: 12px;
    font-size: 1.02rem;
}

.sfl-page.sfl-rep .sfl-rep-cr p {
    margin-top: 6px;
    color: var(--sfd-muted);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page.sfl-rep .sfl-rep-cr ul,
.sfl-page.sfl-rep .sfl-rep-warn ul,
.sfl-page.sfl-rep .sfl-rep-fit ul {
    display: grid;
    gap: 7px;
    margin: 9px 0 0;
    padding: 0;
    list-style: none;
}

.sfl-page.sfl-rep .sfl-rep-cr li {
    position: relative;
    padding-right: 16px;
    color: var(--sfd-muted);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.65;
}

.sfl-page.sfl-rep .sfl-rep-cr li::before {
    content: "";
    position: absolute;
    top: 8px;
    right: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
}

.sfl-page.sfl-rep .sfl-rep-cr b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-duo {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 20px;
}

.sfl-page.sfl-rep .sfl-rep-warn,
.sfl-page.sfl-rep .sfl-rep-fit {
    padding: 22px;
    border-radius: 22px;
}

.sfl-page.sfl-rep .sfl-rep-warn {
    border: 1.5px solid #FAD7C4;
    background: linear-gradient(135deg, #FFF7F2, #FFF3F6);
}

.sfl-page.sfl-rep .sfl-rep-fit {
    border: 1.5px solid var(--sfd-line-purple);
    background: linear-gradient(135deg, #F7F3FE, #F2F8FF);
}

.sfl-page.sfl-rep .sfl-rep-warn h3,
.sfl-page.sfl-rep .sfl-rep-fit h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 1.06rem;
}

.sfl-page.sfl-rep .sfl-rep-warn h3 .sfl-rep-ic,
.sfl-page.sfl-rep .sfl-rep-fit h3 .sfl-rep-ic {
    width: 36px;
    height: 36px;
    border-radius: 12px;
}

.sfl-page.sfl-rep .sfl-rep-warn h3 .sfl-icn,
.sfl-page.sfl-rep .sfl-rep-fit h3 .sfl-icn {
    width: 18px;
    height: 18px;
    stroke-width: 2.2;
}

.sfl-page.sfl-rep .sfl-rep-warn ul,
.sfl-page.sfl-rep .sfl-rep-fit ul {
    gap: 9px;
    margin-top: 12px;
}

.sfl-page.sfl-rep .sfl-rep-warn li {
    position: relative;
    padding-right: 22px;
    color: #8A4A2E;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.6;
}

.sfl-page.sfl-rep .sfl-rep-warn li::before {
    content: "!";
    position: absolute;
    top: 2px;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #FF7A18;
    color: #fff;
    font-size: 0.66rem;
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-fit li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--sfd-ink-soft);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.6;
}

.sfl-page.sfl-rep .sfl-rep-e {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 28px;
    height: 28px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 9px;
    background: #fff;
    font-size: 0.95rem;
}

.sfl-page.sfl-rep .sfl-rep-fit b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-trio {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.sfl-page.sfl-rep .sfl-rep-tri {
    position: relative;
    overflow: hidden;
    padding: 24px 22px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
}

.sfl-page.sfl-rep .sfl-rep-tri::before {
    content: "";
    position: absolute;
    top: -130px;
    inset-inline-end: -80px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--sfl-glow), transparent 70%);
    filter: blur(28px);
    opacity: 0.5;
    pointer-events: none;
}

.sfl-page.sfl-rep .sfl-rep-tri .sfl-rep-ic {
    position: relative;
    width: 52px;
    height: 52px;
    border-radius: 17px;
    box-shadow: 0 18px 28px -14px var(--sfl-glow), inset 0 2px 3px rgba(255, 255, 255, 0.6), inset 0 -7px 14px rgba(0, 0, 0, 0.18);
}

.sfl-page.sfl-rep .sfl-rep-tri .sfl-rep-ic .sfl-icn {
    width: 25px;
    height: 25px;
}

.sfl-page.sfl-rep .sfl-rep-tri h3,
.sfl-page.sfl-rep .sfl-rep-tri p,
.sfl-page.sfl-rep .sfl-rep-pubs {
    position: relative;
}

.sfl-page.sfl-rep .sfl-rep-tri h3 {
    margin-top: 14px;
    font-size: 1.08rem;
    line-height: 1.4;
}

.sfl-page.sfl-rep .sfl-rep-tri p {
    margin-top: 8px;
    color: var(--sfd-ink-soft);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.85;
}

.sfl-page.sfl-rep .sfl-rep-tri p b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-pubs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.sfl-page.sfl-rep .sfl-rep-pubs span {
    padding: 3px 10px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 9px;
    background: #FBF9FE;
    color: var(--sfd-ink-soft);
    font-size: 0.74rem;
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-final {
    position: relative;
    overflow: hidden;
    padding: 44px 40px;
    border-radius: 30px;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    box-shadow: 0 34px 70px -34px rgba(36, 20, 66, 0.95);
    color: #fff;
    text-align: center;
}

.sfl-page.sfl-rep .sfl-rep-final::before,
.sfl-page.sfl-rep .sfl-rep-final::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(40px);
    pointer-events: none;
}

.sfl-page.sfl-rep .sfl-rep-final::before {
    top: -230px;
    inset-inline-start: -80px;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, rgba(182, 42, 230, 0.45), transparent 70%);
}

.sfl-page.sfl-rep .sfl-rep-final::after {
    right: auto;
    bottom: -220px;
    inset-inline-end: -60px;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(37, 201, 230, 0.28), transparent 70%);
}

.sfl-page.sfl-rep .sfl-rep-final > * {
    position: relative;
    z-index: 1;
}

.sfl-page.sfl-rep .sfl-rep-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page.sfl-rep .sfl-rep-tag .sfl-icn {
    width: 14px;
    height: 14px;
    color: #8CF5E4;
}

.sfl-page.sfl-rep .sfl-rep-final h2 {
    margin-top: 14px;
    color: #fff;
    font-size: clamp(1.5rem, 3vw, 2.3rem);
    letter-spacing: -1px;
    line-height: 1.25;
}

.sfl-page.sfl-rep .sfl-rep-mint {
    background: linear-gradient(90deg, #8CF5E4, #C98BFF);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page.sfl-rep .sfl-rep-final p {
    max-width: 62ch;
    margin: 12px auto 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.8;
}

.sfl-page.sfl-rep .sfl-rep-final p b {
    color: #fff;
}

.sfl-page.sfl-rep .sfl-rep-final .sfl-ctas {
    justify-content: center;
    margin-top: 24px;
}

.sfl-page.sfl-rep .sfl-rep-final .sfd-btn-ghost {
    color: #fff;
    background:
        linear-gradient(#33195A, #33195A) padding-box,
        linear-gradient(120deg, #8CF5E4, #C98BFF) border-box;
}

@keyframes sfl-rep-sink {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(5px); }
}

@keyframes sfl-rep-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 1160px) {
    .sfl-page.sfl-rep .sfl-rep-crit {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfl-page.sfl-rep .sfl-rep-trio {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .sfl-page.sfl-rep .sfl-rep-art {
        width: 100%;
        max-width: 410px;
        margin-inline: auto;
    }

    .sfl-page.sfl-rep .sfl-rep-ex,
    .sfl-page.sfl-rep .sfl-rep-mistakes,
    .sfl-page.sfl-rep .sfl-rep-duo {
        grid-template-columns: 1fr;
    }

    .sfl-page.sfl-rep .sfl-rep-road {
        grid-template-columns: 1fr;
        gap: 0;
        max-width: 560px;
        margin: 0 auto;
    }

    .sfl-page.sfl-rep .sfl-rep-rs {
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 16px;
        align-items: start;
        padding: 0 0 18px;
    }

    .sfl-page.sfl-rep .sfl-rep-node {
        align-self: stretch;
        width: 64px;
        height: auto;
        justify-content: flex-start;
    }

    .sfl-page.sfl-rep .sfl-rep-node::before,
    .sfl-page.sfl-rep .sfl-rep-rs:nth-child(3n+1) .sfl-rep-node::before,
    .sfl-page.sfl-rep .sfl-rep-rs:nth-child(3n) .sfl-rep-node::before {
        top: 30px;
        right: auto;
        bottom: -18px;
        left: 50%;
        width: 3px;
        height: auto;
        margin: 0 0 0 -1.5px;
        background: linear-gradient(180deg, #D9CCF3, #E9E1F7);
    }

    .sfl-page.sfl-rep .sfl-rep-rs:last-child .sfl-rep-node::before {
        display: none;
    }

    .sfl-page.sfl-rep .sfl-rep-dot {
        width: 54px;
        height: 54px;
    }

    .sfl-page.sfl-rep .sfl-rep-card {
        margin-top: 0;
        text-align: start;
    }

    .sfl-page.sfl-rep .sfl-rep-card::before {
        top: 20px;
        right: -9px;
        left: auto;
        margin: 0;
        transform: rotate(135deg);
    }
}

@media (max-width: 720px) {
    .sfl-page.sfl-rep .sfl-rep-crit {
        grid-template-columns: 1fr;
    }

    .sfl-page.sfl-rep .sfl-rep-case {
        padding: 18px;
    }

    .sfl-page.sfl-rep .sfl-rep-f1 {
        inset-inline-end: -2%;
    }

    .sfl-page.sfl-rep .sfl-rep-f2 {
        bottom: -6%;
        inset-inline-start: -2%;
    }

    .sfl-page.sfl-rep .sfl-rep-final {
        padding: 32px 18px;
        border-radius: 24px;
    }

    .sfl-page.sfl-rep .sfl-ctas .sfd-btn,
    .sfl-page.sfl-rep .sfl-ctas .sfl-cta-wa {
        width: 100%;
    }

    .sfl-page.sfl-rep .sfl-rep-rs {
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 12px;
    }

    .sfl-page.sfl-rep .sfl-rep-node {
        width: 56px;
    }

    .sfl-page.sfl-rep .sfl-rep-dot {
        width: 48px;
        height: 48px;
    }

    .sfl-page.sfl-rep .sfl-rep-dot b {
        font-size: 1.1rem;
    }

    .sfl-page.sfl-rep .sfl-rep-card {
        padding: 18px 16px;
    }
}

@media (max-width: 420px) {
    .sfl-page.sfl-rep .sfl-rep-float {
        padding: 8px 11px;
    }

    .sfl-page.sfl-rep .sfl-rep-float b {
        font-size: 0.76rem;
    }

    .sfl-page.sfl-rep .sfl-rep-f1 {
        inset-inline-end: 0;
    }

    .sfl-page.sfl-rep .sfl-rep-f2 {
        inset-inline-start: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sfl-page.sfl-rep .sfl-rep-float,
    .sfl-page.sfl-rep .sfl-rep-row-neg,
    .sfl-page.sfl-rep .sfl-rep-dot::after {
        animation: none;
    }
}

/* Stage 10 - Google Reviews. Only .sfl-rv. Do not change .sfl-sale, .sfl-ben, or .sfl-step. */

.sfl-page.sfl-rv h1 {
    font-size: clamp(1.95rem, 3.7vw, 3rem);
}

.sfl-page.sfl-rv .sfl-rv-offer {
    margin-top: 10px;
    font-size: clamp(1.05rem, 1.6vw, 1.28rem);
    letter-spacing: -0.3px;
}

.sfl-page.sfl-rv .googleReviews-uniqueClaim--hero {
    max-width: 42ch;
    margin-top: 8px;
    color: var(--sfd-purple-deep);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.5;
}

.sfl-page.sfl-rv .sfl-rv-kicker {
    max-width: 34ch;
    margin-top: 16px;
    color: var(--sfd-ink);
    font-size: clamp(1.12rem, 1.7vw, 1.32rem);
    font-weight: 800;
    letter-spacing: -0.4px;
    line-height: 1.5;
}

.sfl-page.sfl-rv .sfl-rv-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 0;
}

.sfl-page.sfl-rv .sfl-rv-glow {
    position: absolute;
    inset: -10% -14%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(153, 72, 245, 0.22), rgba(255, 122, 24, 0.1) 52%, transparent 72%);
    filter: blur(34px);
    pointer-events: none;
}

.sfl-page.sfl-rv .sfl-rv-gbp {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 360px;
    overflow: hidden;
    border: 1.5px solid #EAE3F7;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 46px 84px -38px rgba(52, 26, 110, 0.62), 0 0 0 9px rgba(255, 255, 255, 0.62);
}

.sfl-page.sfl-rv .sfl-rv-map {
    position: relative;
    height: 96px;
    overflow: hidden;
    background:
        linear-gradient(90deg, transparent 46%, rgba(255, 255, 255, 0.95) 46% 50%, transparent 50%),
        linear-gradient(0deg, transparent 56%, rgba(255, 255, 255, 0.95) 56% 60%, transparent 60%),
        linear-gradient(28deg, transparent 30%, rgba(255, 255, 255, 0.8) 30% 33%, transparent 33%),
        radial-gradient(circle at 20% 30%, #D8F0E2 0 18%, transparent 19%),
        radial-gradient(circle at 82% 78%, #D8F0E2 0 14%, transparent 15%),
        linear-gradient(160deg, #EEF3FB, #E6EDF9);
}

.sfl-page.sfl-rv .sfl-rv-pin {
    position: absolute;
    top: 24px;
    left: 50%;
    width: 34px;
    height: 34px;
    margin-left: -17px;
    border-radius: 50% 50% 50% 0;
    background: linear-gradient(135deg, #E5479A, #FF7A18);
    box-shadow: 0 12px 20px -8px rgba(229, 71, 154, 0.9);
    transform: rotate(-45deg);
    animation: sfl-rv-pin 2.6s ease-in-out infinite;
}

.sfl-page.sfl-rv .sfl-rv-pin::after {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 50%;
    background: #fff;
}

.sfl-page.sfl-rv .sfl-rv-gbp-body {
    padding: 16px 18px 18px;
}

.sfl-page.sfl-rv .sfl-rv-name {
    display: flex;
    align-items: center;
    gap: 9px;
}

.sfl-page.sfl-rv .sfl-rv-name b {
    color: var(--sfd-ink);
    font-size: 1.06rem;
    font-weight: 800;
}

.sfl-page.sfl-rv .sfl-rv-vf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #2874FF;
    color: #fff;
}

.sfl-page.sfl-rv .sfl-rv-vf .sfl-icn {
    width: 12px;
    height: 12px;
}

.sfl-page.sfl-rv .sfl-rv-cat {
    margin-top: 1px;
    color: var(--sfd-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

.sfl-page.sfl-rv .sfl-rv-score {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 13px;
    padding: 12px 14px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: linear-gradient(135deg, #FBF9FE, #FFF8F1);
}

.sfl-page.sfl-rv .sfl-rv-big {
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 2.3rem;
    font-weight: 800;
    letter-spacing: -1.5px;
    line-height: 1;
    direction: ltr;
}

.sfl-page.sfl-rv .sfl-rv-stars {
    display: inline-flex;
    gap: 2px;
    direction: ltr;
}

.sfl-page.sfl-rv .sfl-rv-stars .sfl-icn {
    width: 15px;
    height: 15px;
    fill: #FFB400;
}

.sfl-page.sfl-rv .sfl-rv-score small {
    display: block;
    margin-top: 3px;
    color: var(--sfd-muted);
    font-size: 0.72rem;
    font-weight: 700;
}

.sfl-page.sfl-rv .sfl-rv-bars {
    display: grid;
    gap: 5px;
    margin-top: 12px;
}

.sfl-page.sfl-rv .sfl-rv-bar {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    color: var(--sfd-muted);
    font-size: 0.68rem;
    font-weight: 800;
    direction: ltr;
}

.sfl-page.sfl-rv .sfl-rv-bar i {
    position: relative;
    display: block;
    height: 7px;
    overflow: hidden;
    border-radius: 5px;
    background: #F1EDF8;
}

.sfl-page.sfl-rv .sfl-rv-bar i::after {
    content: "";
    position: absolute;
    inset: 0;
    width: var(--sfl-w);
    border-radius: inherit;
    background: linear-gradient(90deg, #FFB400, #FF7A18);
    animation: sfl-rv-bar 1.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.sfl-page.sfl-rv .sfl-rv-w92 { --sfl-w: 92%; }
.sfl-page.sfl-rv .sfl-rv-w18 { --sfl-w: 18%; }
.sfl-page.sfl-rv .sfl-rv-w6 { --sfl-w: 6%; }
.sfl-page.sfl-rv .sfl-rv-w3 { --sfl-w: 3%; }
.sfl-page.sfl-rv .sfl-rv-w2 { --sfl-w: 2%; }

.sfl-page.sfl-rv .sfl-rv-gbp-cta {
    display: flex;
    gap: 7px;
    margin-top: 13px;
}

.sfl-page.sfl-rv .sfl-rv-gbp-cta span {
    flex: 1;
    padding: 8px 6px;
    border: 1px solid rgba(101, 53, 201, 0.18);
    border-radius: 11px;
    background: rgba(101, 53, 201, 0.07);
    color: var(--sfd-purple-deep);
    font-size: 0.72rem;
    font-weight: 800;
    text-align: center;
}

.sfl-page.sfl-rv .sfl-rv-float {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 44px -22px rgba(64, 42, 120, 0.82);
}

.sfl-page.sfl-rv .sfl-rv-av {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: var(--sfl-g, linear-gradient(135deg, #3ACB88, #2874FF));
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.5), 0 10px 16px -9px rgba(30, 12, 60, 0.6);
    color: #fff;
}

.sfl-page.sfl-rv .sfl-rv-av .sfl-icn {
    width: 17px;
    height: 17px;
}

.sfl-page.sfl-rv .sfl-rv-float b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.25;
}

.sfl-page.sfl-rv .sfl-rv-float i {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.7rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
}

.sfl-page.sfl-rv .sfl-rv-float .sfl-rv-stars .sfl-icn {
    width: 12px;
    height: 12px;
}

.sfl-page.sfl-rv .sfl-rv-f1 {
    top: 6%;
    inset-inline-end: -9%;
    animation: sfl-float-y 5s ease-in-out infinite;
}

.sfl-page.sfl-rv .sfl-rv-f2 {
    bottom: 9%;
    inset-inline-start: -10%;
    --sfl-g: linear-gradient(135deg, #6535C9, #B62AE6);
    animation: sfl-float-y 5.6s ease-in-out 0.8s infinite;
}

.sfl-page.sfl-rv .sfl-rv-purchase {
    margin: 0 0 28px;
    padding: 8px 0 8px;
    background: none;
    color: var(--sfd-ink);
    text-align: start;
}

.sfl-page.sfl-rv .productHeader {
    max-width: 72ch;
    margin: 0 auto;
    color: var(--sfd-ink);
    text-align: center;
}

.sfl-page.sfl-rv .productHeader h3 {
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    line-height: 1.35;
}

.sfl-page.sfl-rv .productHeader h3.accent {
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page.sfl-rv .productHeader p,
.sfl-page.sfl-rv .productHeader .googleReviews-uniqueClaim--product {
    margin-top: 8px;
    color: var(--sfd-ink-soft);
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page.sfl-rv .productSubHeader h4 {
    margin-top: 16px;
    color: var(--sfd-purple-deep);
    font-size: 1.05rem;
    font-weight: 800;
}

.sfl-page.sfl-rv .googleReviews-indexWhatsappBlock {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    text-align: center;
}

.sfl-page.sfl-rv .googleReviews-indexWhatsappText {
    max-width: 52ch;
    margin: 0;
    color: var(--sfd-ink-soft);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page.sfl-rv .googleReviews-indexWhatsappCta {
    display: inline-flex;
    text-decoration: none;
}

.sfl-page.sfl-rv .googleReviews-indexWhatsappCta .whatsappSupport {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 14px;
    background: var(--sfd-grad-primary);
    color: #fff;
}

.sfl-page.sfl-rv .googleReviews-indexWhatsappCta .whatsappSupport button {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 0.92rem;
    font-weight: 800;
    cursor: pointer;
}

.sfl-page.sfl-rv .googleReviews-indexWhatsappCta .image img {
    display: block;
    width: 22px;
    height: 22px;
}

.sfl-page.sfl-rv .productSubTypeSelectorContainer {
    max-width: 420px;
    margin: 22px auto 0;
}

.sfl-page.sfl-rv .productSubTypeSelectorContainer .inputDiv {
    width: 100%;
}

.sfl-page.sfl-rv label {
    width: auto;
    margin: 0 0 6px;
    color: var(--sfd-muted);
    font-size: 0.8rem;
    font-weight: 700;
    text-align: start;
}

.sfl-page.sfl-rv input,
.sfl-page.sfl-rv select {
    width: 100%;
    margin: 0;
    padding: 12px 14px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 14px;
    background: #fff;
    color: var(--sfd-ink);
    font-size: 1rem;
    font-weight: 700;
    box-shadow: none;
}

.sfl-page.sfl-rv .customQtyInput {
    direction: ltr;
    text-align: right;
}

.sfl-page.sfl-rv #productMain {
    display: grid;
    gap: 18px;
    margin-top: 22px;
    scroll-margin-top: 110px;
}

.sfl-page.sfl-rv .qtyAndPriceOptionsCardsRow,
.sfl-page.sfl-rv .qtyAndPriceOptionsCardsWrap {
    width: 100%;
}

.sfl-page.sfl-rv .qtyAndPriceOptionsCardsWrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 18px;
}

.sfl-page.sfl-rv #qtyAndPriceSingleCardTarget .sfl-sale {
    max-width: 520px;
    margin-inline: auto;
}

.sfl-page.sfl-rv .sfl-sale {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}

.sfl-page.sfl-rv .sfl-sale .productCard,
.sfl-page.sfl-rv .sfl-sale .productCardHeader,
.sfl-page.sfl-rv .sfl-sale .productCardMain {
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.sfl-page.sfl-rv .sfl-sale .details {
    width: auto;
    margin: 14px 0 0;
    color: var(--sfd-ink-soft);
    font-size: 0.9rem;
    font-weight: 700;
    text-align: start;
}

.sfl-page.sfl-rv .sfl-sale .priceDiv {
    margin: 16px 0 0;
    text-align: start;
}

.sfl-page.sfl-rv .sfl-sale .price {
    direction: rtl;
    font-size: 1.85rem;
    letter-spacing: -0.8px;
}

.sfl-page.sfl-rv .sfl-sale .originalPrice {
    background: none;
    -webkit-text-fill-color: var(--sfd-muted);
    color: var(--sfd-muted);
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: line-through;
}

.sfl-page.sfl-rv .unitPriceOrigWrap[hidden] {
    display: none;
}

.sfl-page.sfl-rv .sfl-sale .specialUnitPriceNote {
    margin-top: 8px;
    color: var(--sfd-muted);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: start;
}

.sfl-page.sfl-rv .sfl-rv-sale-ic {
    background: linear-gradient(135deg, #FFB400, #FF7A18);
}

.sfl-page.sfl-rv .sfl-sale .productButtonMain {
    margin-bottom: 0;
}

.sfl-page.sfl-rv .sfl-rv-buy-label {
    position: relative;
    z-index: 2;
    line-height: 1.35;
}

.sfl-page.sfl-rv .sfl-sale .productButtonMain .productName {
    color: inherit;
    font-size: inherit;
    font-weight: 800;
    letter-spacing: inherit;
    line-height: inherit;
}

.sfl-page.sfl-rv .loadingProductOptions,
.sfl-page.sfl-rv .pleaseWait {
    justify-content: flex-start;
    margin-top: 12px;
    background: transparent;
    color: var(--sfd-ink-soft);
    font-weight: 700;
}

.sfl-page.sfl-rv .pleaseWait h2 {
    color: var(--sfd-ink-soft);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
}

.sfl-page.sfl-rv .sfl-rv-band {
    position: relative;
    overflow: hidden;
    padding: 32px 28px 30px;
    border: 1px solid #EDE4FA;
    border-radius: 26px;
    background: linear-gradient(135deg, #F7F2FE 0%, #FCF3F8 52%, #FFF7EF 100%);
    box-shadow: 0 20px 44px -34px rgba(64, 42, 120, 0.55);
}

.sfl-page.sfl-rv .sfl-rv-band::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(101, 53, 201, 0), #B62AE6 32%, #E5479A 58%, #FF7A18 84%, rgba(255, 122, 24, 0));
    opacity: 0.8;
}

.sfl-page.sfl-rv .sfl-rv-flow {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 18px;
}

.sfl-page.sfl-rv .sfl-rv-flow-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 24px 22px 22px;
    border: 1px solid #EDE7F8;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.22s, border-color 0.22s, box-shadow 0.22s;
}

.sfl-page.sfl-rv .sfl-rv-flow-card:hover {
    border-color: #DCCFF7;
    box-shadow: 0 26px 48px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-5px);
}

.sfl-page.sfl-rv .sfl-rv-n {
    position: absolute;
    top: 16px;
    left: 20px;
    background: linear-gradient(135deg, rgba(101, 53, 201, 0.26), rgba(255, 122, 24, 0.26));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1;
    direction: ltr;
}

.sfl-page.sfl-rv .sfl-rv-ic {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 52px;
    height: 52px;
    border-radius: 17px;
    background: var(--sfl-g, linear-gradient(135deg, #6535C9, #2874FF));
    box-shadow: 0 16px 26px -13px rgba(30, 12, 60, 0.5), inset 0 2px 3px rgba(255, 255, 255, 0.55), inset 0 -6px 12px rgba(0, 0, 0, 0.16);
    color: #fff;
}

.sfl-page.sfl-rv .sfl-rv-ic::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.1));
}

.sfl-page.sfl-rv .sfl-rv-ic .sfl-icn {
    position: relative;
    z-index: 2;
    width: 25px;
    height: 25px;
}

.sfl-page.sfl-rv .sfl-rv-ic-1 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); }
.sfl-page.sfl-rv .sfl-rv-ic-2 { --sfl-g: linear-gradient(135deg, #6535C9, #B62AE6); }
.sfl-page.sfl-rv .sfl-rv-ic-3 { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); }

.sfl-page.sfl-rv .sfl-rv-flow-card h3 {
    margin-top: 14px;
    font-size: 1.08rem;
}

.sfl-page.sfl-rv .sfl-rv-flow-card p {
    margin-top: 7px;
    color: var(--sfd-muted);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.75;
}

.sfl-page.sfl-rv .sfl-rv-flow-card:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    inset-inline-end: -15px;
    z-index: 3;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    border: 1.5px solid #EDE4FA;
    border-radius: 50%;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 6l-6 6 6 6' fill='none' stroke='%23B62AE6' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
    box-shadow: 0 8px 16px -8px rgba(101, 53, 201, 0.6);
}

.sfl-page.sfl-rv .sfl-rv-chat,
.sfl-page.sfl-rv .sfl-rv-route {
    margin-top: auto;
    padding-top: 16px;
}

.sfl-page.sfl-rv .sfl-rv-bub {
    padding: 10px 13px;
    border: 1px solid #C9F0DA;
    border-radius: 14px 14px 14px 4px;
    background: #E7FBEF;
    color: #24563C;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.55;
}

.sfl-page.sfl-rv .sfl-rv-bub small {
    display: block;
    margin-top: 4px;
    color: #5FA27E;
    font-size: 0.66rem;
    font-weight: 700;
    text-align: end;
    direction: ltr;
}

.sfl-page.sfl-rv .sfl-rv-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 9px;
    padding: 9px 12px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 12px;
    background: #FBF9FE;
    color: var(--sfd-ink-soft);
    font-size: 0.76rem;
    font-weight: 800;
}

.sfl-page.sfl-rv .sfl-rv-q .sfl-rv-stars .sfl-icn {
    width: 14px;
    height: 14px;
}

.sfl-page.sfl-rv .sfl-rv-route {
    display: grid;
    gap: 9px;
}

.sfl-page.sfl-rv .sfl-rv-path {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 11px 13px;
    border: 1px solid;
    border-radius: 14px;
}

.sfl-page.sfl-rv .sfl-rv-path-good {
    border-color: #C6EED9;
    background: linear-gradient(135deg, #EEFBF4, #F5FDF9);
}

.sfl-page.sfl-rv .sfl-rv-path-bad {
    border-color: #FFDDBF;
    background: linear-gradient(135deg, #FFF5EC, #FFF9F4);
}

.sfl-page.sfl-rv .sfl-rv-tag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    flex: none;
    margin-top: 1px;
    padding: 3px 8px;
    border-radius: 999px;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 800;
    direction: ltr;
}

.sfl-page.sfl-rv .sfl-rv-path-good .sfl-rv-tag {
    background: linear-gradient(135deg, #3ACB88, #22A86C);
}

.sfl-page.sfl-rv .sfl-rv-path-bad .sfl-rv-tag {
    background: linear-gradient(135deg, #FF9A4D, #FF7A18);
}

.sfl-page.sfl-rv .sfl-rv-tag .sfl-icn {
    width: 11px;
    height: 11px;
    fill: #fff;
}

.sfl-page.sfl-rv .sfl-rv-path b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.35;
}

.sfl-page.sfl-rv .sfl-rv-path i {
    display: block;
    margin-top: 2px;
    color: var(--sfd-muted);
    font-size: 0.76rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1.5;
}

.sfl-page.sfl-rv .sfl-rv-plats {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 6px;
}

.sfl-page.sfl-rv .sfl-rv-plats span {
    padding: 2px 9px;
    border: 1px solid #C6EED9;
    border-radius: 999px;
    background: #fff;
    color: #23794F;
    font-size: 0.68rem;
    font-weight: 800;
}

.sfl-page.sfl-rv .sfl-rv-flow-cta {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px 18px;
    margin-top: 24px;
}

.sfl-page.sfl-rv .sfl-rv-flow-cta p {
    color: var(--sfd-ink);
    font-size: 1rem;
    font-weight: 800;
}

.sfl-page.sfl-rv .sfl-rv-bens,
.sfl-page.sfl-rv .sfl-rv-advs,
.sfl-page.sfl-rv .sfl-rv-plats-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.sfl-page.sfl-rv .sfl-rv-ben {
    padding: 26px 24px 24px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, border-color 0.24s, box-shadow 0.24s;
}

.sfl-page.sfl-rv .sfl-rv-ben:hover,
.sfl-page.sfl-rv .sfl-rv-info:hover,
.sfl-page.sfl-rv .sfl-rv-bcard:hover,
.sfl-page.sfl-rv .sfl-rv-plat:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-5px);
}

.sfl-page.sfl-rv .sfl-rv-ben h3,
.sfl-page.sfl-rv .sfl-rv-info h3 {
    margin-top: 14px;
    font-size: 1.08rem;
    line-height: 1.4;
}

.sfl-page.sfl-rv .sfl-rv-ben p {
    margin-top: 7px;
    color: var(--sfd-muted);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page.sfl-rv .sfl-rv-ben-1 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); --sfl-glow: rgba(58, 203, 136, 0.6); }
.sfl-page.sfl-rv .sfl-rv-ben-2 { --sfl-g: linear-gradient(135deg, #6535C9, #9948F5); --sfl-glow: rgba(101, 53, 201, 0.6); }
.sfl-page.sfl-rv .sfl-rv-ben-3 { --sfl-g: linear-gradient(135deg, #E5479A, #FF7A18); --sfl-glow: rgba(229, 71, 154, 0.6); }

.sfl-page.sfl-rv .sfl-rv-ben .sfl-rv-ic {
    box-shadow: 0 20px 30px -14px var(--sfl-glow), inset 0 2px 3px rgba(255, 255, 255, 0.62), inset 0 -7px 14px rgba(0, 0, 0, 0.18);
}

.sfl-page.sfl-rv .sfl-rv-buy {
    margin-top: 18px;
}

.sfl-page.sfl-rv .sfl-rv-duo {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.sfl-page.sfl-rv .sfl-rv-info {
    position: relative;
    overflow: hidden;
    padding: 28px 28px 26px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, border-color 0.24s;
}

.sfl-page.sfl-rv .sfl-rv-info::before {
    content: "";
    position: absolute;
    top: -150px;
    inset-inline-end: -90px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--sfl-glow), transparent 70%);
    filter: blur(30px);
    pointer-events: none;
}

.sfl-page.sfl-rv .sfl-rv-info-1 { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); --sfl-glow: rgba(255, 122, 24, 0.14); }
.sfl-page.sfl-rv .sfl-rv-info-2 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); --sfl-glow: rgba(101, 53, 201, 0.14); }

.sfl-page.sfl-rv .sfl-rv-info-top {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
}

.sfl-page.sfl-rv .sfl-rv-info-top h3 {
    margin-top: 0;
    font-size: 1.22rem;
    letter-spacing: -0.4px;
}

.sfl-page.sfl-rv .sfl-rv-info .sfl-rv-ic {
    width: 56px;
    height: 56px;
    border-radius: 18px;
}

.sfl-page.sfl-rv .sfl-rv-info p {
    position: relative;
    margin-top: 14px;
    color: var(--sfd-ink-soft);
    font-size: 0.94rem;
    font-weight: 500;
    line-height: 1.9;
}

.sfl-page.sfl-rv .sfl-rv-info p b,
.sfl-page.sfl-rv .sfl-prose p b,
.sfl-page.sfl-rv .sfl-rv-next p b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page.sfl-rv .sfl-rv-adv {
    position: relative;
    overflow: hidden;
    padding: 26px 24px 24px;
    border-radius: 24px;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    box-shadow: 0 26px 50px -28px rgba(36, 20, 66, 0.95);
    color: #fff;
    transition: transform 0.24s;
}

.sfl-page.sfl-rv .sfl-rv-adv:hover {
    transform: translateY(-6px);
}

.sfl-page.sfl-rv .sfl-rv-adv::before {
    content: "";
    position: absolute;
    top: -130px;
    inset-inline-start: -60px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--sfl-glow, rgba(182, 42, 230, 0.45)), transparent 70%);
    filter: blur(30px);
    pointer-events: none;
}

.sfl-page.sfl-rv .sfl-rv-adv > * {
    position: relative;
    z-index: 1;
}

.sfl-page.sfl-rv .sfl-rv-adv-blue { --sfl-glow: rgba(40, 116, 255, 0.45); }
.sfl-page.sfl-rv .sfl-rv-adv-hot { --sfl-glow: rgba(255, 122, 24, 0.42); }

.sfl-page.sfl-rv .sfl-rv-adv-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
    color: #F1E4FF;
}

.sfl-page.sfl-rv .sfl-rv-adv-ic .sfl-icn {
    width: 24px;
    height: 24px;
}

.sfl-page.sfl-rv .sfl-rv-adv h3 {
    margin-top: 16px;
    color: #fff;
    font-size: 1.12rem;
    letter-spacing: -0.3px;
}

.sfl-page.sfl-rv .sfl-rv-adv p {
    margin-top: 8px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.89rem;
    font-weight: 600;
    line-height: 1.8;
}

.sfl-page.sfl-rv .sfl-rv-bento {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.sfl-page.sfl-rv .sfl-rv-bcard {
    padding: 24px 22px 22px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, border-color 0.24s, box-shadow 0.24s;
}

.sfl-page.sfl-rv .sfl-rv-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 13px;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    box-shadow: 0 14px 24px -12px rgba(182, 42, 230, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.5);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    direction: ltr;
}

.sfl-page.sfl-rv .sfl-rv-bcard h3 {
    margin-top: 14px;
    font-size: 1.05rem;
    line-height: 1.4;
}

.sfl-page.sfl-rv .sfl-rv-bcard p {
    margin-top: 8px;
    color: var(--sfd-muted);
    font-size: 0.89rem;
    font-weight: 600;
    line-height: 1.8;
}

.sfl-page.sfl-rv .sfl-rv-bcard-feat {
    position: relative;
    display: flex;
    flex-direction: column;
    grid-row: span 2;
    overflow: hidden;
    border: 0;
    background: linear-gradient(160deg, #5B34AC 0%, #7B2FC9 45%, #B62AE6 80%, #E5479A 120%);
    box-shadow: 0 30px 60px -28px rgba(101, 53, 201, 0.85);
    color: #fff;
}

.sfl-page.sfl-rv .sfl-rv-bcard-feat::before {
    content: "";
    position: absolute;
    bottom: -170px;
    inset-inline-end: -90px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 122, 24, 0.45), transparent 70%);
    filter: blur(36px);
    pointer-events: none;
}

.sfl-page.sfl-rv .sfl-rv-bcard-feat > * {
    position: relative;
    z-index: 1;
}

.sfl-page.sfl-rv .sfl-rv-bcard-feat .sfl-rv-num {
    background: #fff;
    box-shadow: 0 14px 24px -12px rgba(0, 0, 0, 0.5);
    color: var(--sfd-purple-deep);
}

.sfl-page.sfl-rv .sfl-rv-bcard-feat h3,
.sfl-page.sfl-rv .sfl-rv-bcard-feat p,
.sfl-page.sfl-rv .sfl-rv-bcard-feat li {
    color: #fff;
}

.sfl-page.sfl-rv .sfl-rv-bcard-feat h3 {
    font-size: 1.3rem;
    letter-spacing: -0.4px;
}

.sfl-page.sfl-rv .sfl-rv-bcard-feat p {
    color: rgba(255, 255, 255, 0.82);
}

.sfl-page.sfl-rv .sfl-rv-bcard-feat ul {
    display: grid;
    gap: 9px;
    margin-top: 14px;
    padding: 0;
    list-style: none;
}

.sfl-page.sfl-rv .sfl-rv-bcard-feat li {
    position: relative;
    padding-right: 30px;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.6;
}

.sfl-page.sfl-rv .sfl-rv-bcard-feat li::before {
    content: "";
    position: absolute;
    top: 2px;
    right: 0;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.55 17.6 4.4 12.4l1.4-1.4 3.75 3.75 8.25-8.25 1.4 1.4z' fill='%23fff'/%3E%3C/svg%3E") center / 13px no-repeat;
}

.sfl-page.sfl-rv .sfl-rv-mapack {
    margin-top: auto;
    padding-top: 20px;
}

.sfl-page.sfl-rv .sfl-rv-pack {
    display: grid;
    gap: 7px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
}

.sfl-page.sfl-rv .sfl-rv-row {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.78rem;
    font-weight: 800;
}

.sfl-page.sfl-rv .sfl-rv-row-top {
    background: #fff;
    box-shadow: 0 12px 22px -12px rgba(0, 0, 0, 0.5);
    color: var(--sfd-ink);
}

.sfl-page.sfl-rv .sfl-rv-pos {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 22px;
    height: 22px;
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 0.72rem;
    direction: ltr;
}

.sfl-page.sfl-rv .sfl-rv-row-top .sfl-rv-pos {
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    color: #fff;
}

.sfl-page.sfl-rv .sfl-rv-row .sfl-rv-stars {
    margin-inline-start: auto;
}

.sfl-page.sfl-rv .sfl-rv-row .sfl-rv-stars .sfl-icn {
    width: 11px;
    height: 11px;
}

.sfl-page.sfl-rv .sfl-rv-row i {
    flex: 1;
    height: 6px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.22);
}

.sfl-page.sfl-rv .sfl-rv-right {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 36px;
    align-items: start;
}

.sfl-page.sfl-rv .sfl-rv-aside {
    position: sticky;
    top: 110px;
}

.sfl-page.sfl-rv .sfl-rv-shield {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    padding: 16px 18px;
    border: 1px solid rgba(58, 203, 136, 0.32);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(58, 203, 136, 0.1), rgba(40, 116, 255, 0.07));
}

.sfl-page.sfl-rv .sfl-rv-shield .sfl-rv-ic {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF);
}

.sfl-page.sfl-rv .sfl-rv-shield b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.92rem;
    font-weight: 800;
}

.sfl-page.sfl-rv .sfl-rv-shield div > span {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.5;
}

.sfl-page.sfl-rv .sfl-rv-checks {
    display: grid;
    gap: 12px;
}

.sfl-page.sfl-rv .sfl-rv-check {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 18px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.22s, border-color 0.22s;
}

.sfl-page.sfl-rv .sfl-rv-check:hover {
    border-color: #DCCFF7;
    transform: translateX(-4px);
}

.sfl-page.sfl-rv .sfl-rv-ok {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 13px;
    background: linear-gradient(135deg, #3ACB88, #22A86C);
    box-shadow: 0 14px 22px -12px rgba(47, 163, 108, 0.9), inset 0 2px 3px rgba(255, 255, 255, 0.5);
    color: #fff;
}

.sfl-page.sfl-rv .sfl-rv-ok .sfl-icn {
    width: 21px;
    height: 21px;
}

.sfl-page.sfl-rv .sfl-rv-check h3 {
    font-size: 1.02rem;
    line-height: 1.4;
}

.sfl-page.sfl-rv .sfl-rv-check p {
    margin-top: 4px;
    color: var(--sfd-muted);
    font-size: 0.89rem;
    font-weight: 600;
    line-height: 1.75;
}

.sfl-page.sfl-rv .sfl-rv-next {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px 40px;
    align-items: center;
    overflow: hidden;
    padding: 36px 40px;
    border: 1.5px solid transparent;
    border-radius: 28px;
    background:
        linear-gradient(135deg, #FBF7FF, #FFF6F0) padding-box,
        linear-gradient(120deg, #6535C9, #B62AE6 46%, #FF7A18) border-box;
    box-shadow: 0 26px 54px -32px rgba(101, 53, 201, 0.6);
}

.sfl-page.sfl-rv .sfl-rv-next::before {
    content: "";
    position: absolute;
    top: -190px;
    inset-inline-start: -90px;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(153, 72, 245, 0.18), transparent 70%);
    filter: blur(36px);
    pointer-events: none;
}

.sfl-page.sfl-rv .sfl-rv-next > * {
    position: relative;
    z-index: 1;
}

.sfl-page.sfl-rv .sfl-rv-next h2 {
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    letter-spacing: -0.8px;
    line-height: 1.3;
}

.sfl-page.sfl-rv .sfl-rv-next p {
    max-width: 62ch;
    margin-top: 10px;
    color: var(--sfd-ink-soft);
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.85;
}

.sfl-page.sfl-rv .sfl-rv-hl {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.sfl-page.sfl-rv .sfl-rv-hl span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 13px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 10px 20px -16px rgba(64, 42, 120, 0.8);
    color: var(--sfd-purple-deep);
    font-size: 0.82rem;
    font-weight: 800;
}

.sfl-page.sfl-rv .sfl-rv-hl .sfl-icn {
    width: 14px;
    height: 14px;
    fill: var(--sfd-magenta);
}

.sfl-page.sfl-rv .sfl-rv-next-btns {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 240px;
}

.sfl-page.sfl-rv .sfl-rv-next-btns .sfd-btn,
.sfl-page.sfl-rv .sfl-rv-next-btns .sfl-cta-wa,
.sfl-page.sfl-rv .sfl-rv-next-btns .sfl-cta-wa .sfd-btn {
    width: 100%;
}

.sfl-page.sfl-rv .sfl-rv-next-btns .sfl-cta-wa {
    display: flex;
}

.sfl-page.sfl-rv .sfl-rv-plat {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 24px 22px 22px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, border-color 0.24s, box-shadow 0.24s;
}

.sfl-page.sfl-rv .sfl-rv-plat::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: var(--sfl-bc);
}

.sfl-page.sfl-rv .sfl-rv-plat-fb { --sfl-bc: linear-gradient(135deg, #1877F2, #3B8DFF); --sfl-bs: rgba(24, 119, 242, 0.7); }
.sfl-page.sfl-rv .sfl-rv-plat-easy { --sfl-bc: linear-gradient(135deg, #FF7A18, #FFA24D); --sfl-bs: rgba(255, 122, 24, 0.7); }
.sfl-page.sfl-rv .sfl-rv-plat-zap { --sfl-bc: linear-gradient(135deg, #6535C9, #B62AE6); --sfl-bs: rgba(101, 53, 201, 0.7); }

.sfl-page.sfl-rv .sfl-rv-plat-top {
    display: flex;
    align-items: center;
    gap: 13px;
}

.sfl-page.sfl-rv .sfl-rv-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 54px;
    height: 54px;
    border-radius: 17px;
    background: var(--sfl-bc);
    box-shadow: 0 18px 28px -14px var(--sfl-bs), inset 0 2px 3px rgba(255, 255, 255, 0.45), inset 0 -6px 12px rgba(0, 0, 0, 0.15);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: -0.3px;
    direction: ltr;
}

.sfl-page.sfl-rv .sfl-rv-plat-top h3 {
    font-size: 1.1rem;
    line-height: 1.3;
}

.sfl-page.sfl-rv .sfl-rv-plat-top small {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

.sfl-page.sfl-rv .sfl-rv-plat > p {
    margin-top: 14px;
    color: var(--sfd-muted);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.8;
}

.sfl-page.sfl-rv .sfl-rv-plat ul {
    display: grid;
    gap: 9px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed var(--sfd-line-purple);
    list-style: none;
}

.sfl-page.sfl-rv .sfl-rv-plat li {
    position: relative;
    padding-right: 28px;
    color: var(--sfd-ink-soft);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.6;
}

.sfl-page.sfl-rv .sfl-rv-plat li::before {
    content: "";
    position: absolute;
    top: 2px;
    right: 0;
    width: 19px;
    height: 19px;
    border-radius: 7px;
    background: var(--sfl-bc);
}

.sfl-page.sfl-rv .sfl-rv-plat li::after {
    content: "";
    position: absolute;
    top: 6px;
    right: 5px;
    width: 9px;
    height: 5px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(-45deg);
}

.sfl-page.sfl-rv .sfl-rv-plat-more {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

.sfl-page.sfl-rv .sfl-rv-final {
    position: relative;
    overflow: hidden;
    padding: 46px 40px;
    border-radius: 30px;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    box-shadow: 0 34px 70px -34px rgba(36, 20, 66, 0.95);
    color: #fff;
    text-align: center;
}

.sfl-page.sfl-rv .sfl-rv-final::before,
.sfl-page.sfl-rv .sfl-rv-final::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(40px);
    pointer-events: none;
}

.sfl-page.sfl-rv .sfl-rv-final::before {
    top: -230px;
    inset-inline-start: -80px;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, rgba(182, 42, 230, 0.45), transparent 70%);
}

.sfl-page.sfl-rv .sfl-rv-final::after {
    right: auto;
    bottom: -220px;
    inset-inline-end: -60px;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(255, 122, 24, 0.32), transparent 70%);
}

.sfl-page.sfl-rv .sfl-rv-final > * {
    position: relative;
    z-index: 1;
}

.sfl-page.sfl-rv .sfl-rv-big-stars {
    display: inline-flex;
    gap: 5px;
    padding: 9px 16px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    direction: ltr;
}

.sfl-page.sfl-rv .sfl-rv-big-stars .sfl-icn {
    width: 20px;
    height: 20px;
    fill: #FFB400;
    filter: drop-shadow(0 4px 8px rgba(255, 180, 0, 0.45));
}

.sfl-page.sfl-rv .sfl-rv-final h2 {
    margin-top: 16px;
    color: #fff;
    font-size: clamp(1.5rem, 3vw, 2.3rem);
    letter-spacing: -1px;
    line-height: 1.25;
}

.sfl-page.sfl-rv .sfl-rv-em {
    background: linear-gradient(90deg, #C98BFF, #FF9A4D);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page.sfl-rv .sfl-rv-final p {
    max-width: 60ch;
    margin: 12px auto 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.8;
}

.sfl-page.sfl-rv .sfl-rv-final .sfl-ctas {
    justify-content: center;
    margin-top: 24px;
}

.sfl-page.sfl-rv .sfl-rv-final .sfd-btn .icn {
    transform: scaleX(-1);
}

@keyframes sfl-rv-pin {
    0%, 100% { transform: rotate(-45deg) translate(0, 0); }
    50% { transform: rotate(-45deg) translate(3px, -3px); }
}

@keyframes sfl-rv-bar {
    from { width: 0; }
}

@media (max-width: 1160px) {
    .sfl-page.sfl-rv .sfl-rv-bento {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfl-page.sfl-rv .sfl-rv-bcard-feat {
        grid-row: auto;
        grid-column: 1 / -1;
    }

    .sfl-page.sfl-rv .sfl-rv-mapack {
        max-width: 420px;
    }
}

@media (max-width: 980px) {
    .sfl-page.sfl-rv .sfl-rv-art {
        width: 100%;
        max-width: 380px;
        margin-inline: auto;
    }

    .sfl-page.sfl-rv .sfl-rv-flow,
    .sfl-page.sfl-rv .sfl-rv-duo,
    .sfl-page.sfl-rv .sfl-rv-advs,
    .sfl-page.sfl-rv .sfl-rv-plats-grid,
    .sfl-page.sfl-rv .sfl-rv-bens,
    .sfl-page.sfl-rv .sfl-rv-right,
    .sfl-page.sfl-rv .sfl-rv-next {
        grid-template-columns: minmax(0, 1fr);
    }

    .sfl-page.sfl-rv .sfl-rv-flow {
        gap: 22px;
    }

    .sfl-page.sfl-rv .sfl-rv-flow-card:not(:last-child)::after {
        top: auto;
        bottom: -23px;
        left: 50%;
        inset-inline-end: auto;
        margin-top: 0;
        margin-left: -12px;
        transform: rotate(-90deg);
    }

    .sfl-page.sfl-rv .sfl-rv-aside {
        position: static;
    }

    .sfl-page.sfl-rv .sfl-rv-next {
        padding: 28px 24px;
    }

    .sfl-page.sfl-rv .sfl-rv-next-btns {
        min-width: 0;
    }
}

@media (max-width: 720px) {
    .sfl-page.sfl-rv .sfl-rv-band {
        padding: 22px 16px 20px;
        border-radius: 22px;
    }

    .sfl-page.sfl-rv .sfl-rv-bento {
        grid-template-columns: minmax(0, 1fr);
    }

    .sfl-page.sfl-rv .sfl-rv-bcard-feat {
        order: 1;
    }

    .sfl-page.sfl-rv .sfl-rv-bento .sfl-rv-bcard:last-child {
        order: 2;
    }

    .sfl-page.sfl-rv .sfl-rv-f1 {
        top: 2%;
        inset-inline-end: -2%;
    }

    .sfl-page.sfl-rv .sfl-rv-f2 {
        bottom: -3%;
        inset-inline-start: -2%;
    }

    .sfl-page.sfl-rv .sfl-rv-info {
        padding: 22px 20px;
    }

    .sfl-page.sfl-rv .sfl-rv-final {
        padding: 34px 20px;
        border-radius: 24px;
    }

    .sfl-page.sfl-rv .sfl-rv-final .sfl-ctas .sfd-btn,
    .sfl-page.sfl-rv .sfl-rv-final .sfl-ctas .sfl-cta-wa,
    .sfl-page.sfl-rv .sfl-rv-flow-cta .sfd-btn,
    .sfl-page.sfl-rv .sfl-rv-buy .sfd-btn {
        width: 100%;
    }

    .sfl-page.sfl-rv .sfl-rv-next {
        padding: 24px 18px;
        border-radius: 22px;
    }

    .sfl-page.sfl-rv .sfl-rv-check {
        gap: 13px;
        padding: 15px 16px;
    }
}

@media (max-width: 420px) {
    .sfl-page.sfl-rv .sfl-rv-float {
        padding: 8px 11px;
    }

    .sfl-page.sfl-rv .sfl-rv-float b {
        font-size: 0.76rem;
    }

    .sfl-page.sfl-rv .sfl-rv-f1 {
        inset-inline-end: 0;
    }

    .sfl-page.sfl-rv .sfl-rv-f2 {
        inset-inline-start: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sfl-page.sfl-rv .sfl-rv-pin,
    .sfl-page.sfl-rv .sfl-rv-float,
    .sfl-page.sfl-rv .sfl-rv-bar i::after {
        animation: none;
    }
}

/* Stage 11 affiliate landing. Only .sfl-af. Do not change earlier landing rules. */

.sfl-page.sfl-af .sfl-hero h1 {
    font-size: clamp(2rem, 4vw, 3.25rem);
}

.sfl-page.sfl-af .sfl-hero-grid {
    grid-template-columns: minmax(0, 1fr) 440px;
    gap: 48px;
}

.sfl-page.sfl-af .sfd-gradient-text {
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page.sfl-af .sfl-prose h2 {
    font-size: clamp(1.5rem, 2.7vw, 2.05rem);
}

.sfl-page.sfl-af .sfl-af-g-pb { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); }
.sfl-page.sfl-af .sfl-af-g-pink { --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A); }
.sfl-page.sfl-af .sfl-af-g-green { --sfl-g: linear-gradient(135deg, #3ACB88, #22A86C); }
.sfl-page.sfl-af .sfl-af-g-orange { --sfl-g: linear-gradient(135deg, #FF7A18, #E5479A); }
.sfl-page.sfl-af .sfl-af-g-mag { --sfl-g: linear-gradient(135deg, #B62AE6, #9948F5); }
.sfl-page.sfl-af .sfl-af-g-bp { --sfl-g: linear-gradient(135deg, #2874FF, #6535C9); }
.sfl-page.sfl-af .sfl-af-g-bg { --sfl-g: linear-gradient(135deg, #2874FF, #3ACB88); }
.sfl-page.sfl-af .sfl-af-g-gb { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); }
.sfl-page.sfl-af .sfl-af-g-violet { --sfl-g: linear-gradient(135deg, #6535C9, #B62AE6); }

.sfl-page.sfl-af .sfl-af-mic,
.sfl-page.sfl-af .sfl-af-wic,
.sfl-page.sfl-af .sfl-af-bic,
.sfl-page.sfl-af .sfl-af-sic,
.sfl-page.sfl-af .sfl-af-av {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    background: var(--sfl-g);
    color: #fff;
}

.sfl-page.sfl-af .sfl-af-mic::before,
.sfl-page.sfl-af .sfl-af-wic::before,
.sfl-page.sfl-af .sfl-af-bic::before,
.sfl-page.sfl-af .sfl-af-sic::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.1));
}

.sfl-page.sfl-af .sfl-af-mic .sfl-icn,
.sfl-page.sfl-af .sfl-af-wic .sfl-icn,
.sfl-page.sfl-af .sfl-af-bic .sfl-icn,
.sfl-page.sfl-af .sfl-af-sic .sfl-icn,
.sfl-page.sfl-af .sfl-af-av .sfl-icn {
    position: relative;
    z-index: 2;
}

/* Dashboard mock */

.sfl-page.sfl-af .sfl-af-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
}

.sfl-page.sfl-af .sfl-af-glow {
    position: absolute;
    inset: -10% -14%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(153, 72, 245, 0.22), rgba(255, 122, 24, 0.1) 52%, transparent 72%);
    filter: blur(34px);
    pointer-events: none;
}

.sfl-page.sfl-af .sfl-af-dash {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 380px;
    overflow: hidden;
    border: 1.5px solid #EAE3F7;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 46px 84px -38px rgba(52, 26, 110, 0.62), 0 0 0 9px rgba(255, 255, 255, 0.62);
}

.sfl-page.sfl-af .sfl-af-top {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 1px solid #EFE9FA;
    background: linear-gradient(180deg, #FBF9FE, #F4EFFC);
}

.sfl-page.sfl-af .sfl-af-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.sfl-page.sfl-af .sfl-af-dot:nth-child(1) { background: #FF7A18; }
.sfl-page.sfl-af .sfl-af-dot:nth-child(2) { background: #E5479A; }
.sfl-page.sfl-af .sfl-af-dot:nth-child(3) { background: #3ACB88; }

.sfl-page.sfl-af .sfl-af-top b {
    margin-inline-start: auto;
    color: #9C90BC;
    font-size: 0.7rem;
    font-weight: 800;
}

.sfl-page.sfl-af .sfl-af-body {
    padding: 16px 16px 18px;
}

.sfl-page.sfl-af .sfl-af-earn {
    position: relative;
    overflow: hidden;
    padding: 16px 16px 14px;
    border-radius: 18px;
    background: linear-gradient(135deg, #5B34AC, #9948F5 55%, #E5479A);
    box-shadow: 0 20px 34px -18px rgba(101, 53, 201, 0.85);
    color: #fff;
}

.sfl-page.sfl-af .sfl-af-earn::after {
    content: "";
    position: absolute;
    bottom: -90px;
    left: -40px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 122, 24, 0.55), transparent 70%);
    filter: blur(24px);
}

.sfl-page.sfl-af .sfl-af-earn-l,
.sfl-page.sfl-af .sfl-af-amt,
.sfl-page.sfl-af .sfl-af-live {
    position: relative;
    z-index: 1;
}

.sfl-page.sfl-af .sfl-af-earn-l {
    display: block;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.72rem;
    font-weight: 700;
}

.sfl-page.sfl-af .sfl-af-amt {
    display: block;
    margin-top: 2px;
    direction: ltr;
    color: #fff;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -1px;
    line-height: 1.15;
    text-align: right;
}

.sfl-page.sfl-af .sfl-af-live {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 0.66rem;
    font-weight: 800;
}

.sfl-page.sfl-af .sfl-af-pulse {
    display: block;
    flex: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #3ACB88;
    box-shadow: 0 0 0 0 rgba(58, 203, 136, 0.8);
    animation: sfl-af-pulse 1.8s infinite;
}

.sfl-page.sfl-af .sfl-af-coin .sfl-af-pulse {
    width: 8px;
    height: 8px;
}

.sfl-page.sfl-af .sfl-af-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.sfl-page.sfl-af .sfl-af-kpis div {
    padding: 9px 10px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 13px;
    background: #FBF9FE;
}

.sfl-page.sfl-af .sfl-af-kpi-n {
    display: block;
    direction: ltr;
    color: var(--sfd-ink);
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: right;
}

.sfl-page.sfl-af .sfl-af-kpi-l {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.64rem;
    font-style: normal;
    font-weight: 700;
}

.sfl-page.sfl-af .sfl-af-chart {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 64px;
    margin-top: 12px;
    padding: 0 2px;
    direction: ltr;
}

.sfl-page.sfl-af .sfl-af-bar {
    flex: 1;
    height: var(--sfl-h);
    border-radius: 6px 6px 3px 3px;
    background: linear-gradient(180deg, #B62AE6, #6535C9);
    opacity: 0.85;
    animation: sfl-af-bar-up 1.2s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.sfl-page.sfl-af .sfl-af-bar-1 { --sfl-h: 28%; }
.sfl-page.sfl-af .sfl-af-bar-2 { --sfl-h: 42%; }
.sfl-page.sfl-af .sfl-af-bar-3 { --sfl-h: 36%; }
.sfl-page.sfl-af .sfl-af-bar-4 { --sfl-h: 58%; }
.sfl-page.sfl-af .sfl-af-bar-5 { --sfl-h: 52%; }
.sfl-page.sfl-af .sfl-af-bar-6 { --sfl-h: 74%; }
.sfl-page.sfl-af .sfl-af-bar-7 {
    --sfl-h: 96%;
    background: linear-gradient(180deg, #FF7A18, #E5479A);
    opacity: 1;
}

.sfl-page.sfl-af .sfl-af-link {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 8px 8px 8px 12px;
    border: 1.5px dashed #DCCFF7;
    border-radius: 12px;
    background: #fff;
}

.sfl-page.sfl-af .sfl-af-link code {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    direction: ltr;
    color: var(--sfd-purple-deep);
    font-family: inherit;
    font-size: 0.72rem;
    font-weight: 800;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sfl-page.sfl-af .sfl-af-link span {
    flex: none;
    padding: 5px 10px;
    border-radius: 9px;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
}

.sfl-page.sfl-af .sfl-af-float {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 44px -22px rgba(64, 42, 120, 0.82);
}

.sfl-page.sfl-af .sfl-af-av {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.5), 0 10px 16px -9px rgba(30, 12, 60, 0.6);
}

.sfl-page.sfl-af .sfl-af-av .sfl-icn {
    width: 17px;
    height: 17px;
}

.sfl-page.sfl-af .sfl-af-float b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.25;
}

.sfl-page.sfl-af .sfl-af-float div > span {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.3;
}

.sfl-page.sfl-af .sfl-af-f1 {
    top: 4%;
    inset-inline-end: -9%;
    animation: sfl-af-float-y 5s ease-in-out infinite;
}

.sfl-page.sfl-af .sfl-af-f2 {
    bottom: -5%;
    inset-inline-start: -10%;
    animation: sfl-af-float-y 5.6s ease-in-out 0.8s infinite;
}

.sfl-page.sfl-af .sfl-af-note {
    position: absolute;
    bottom: -6px;
    left: 10px;
    color: #A99DC6;
    font-size: 0.68rem;
    font-weight: 700;
    text-align: left;
}

/* About and money flow */

.sfl-page.sfl-af .sfl-af-about {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 44px;
    align-items: center;
}

.sfl-page.sfl-af .sfl-af-hl {
    position: relative;
    margin-top: 18px;
    padding: 18px 20px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(101, 53, 201, 0.06), rgba(255, 122, 24, 0.06));
}

.sfl-page.sfl-af .sfl-af-hl::before {
    content: "";
    position: absolute;
    top: 16px;
    right: 0;
    bottom: 16px;
    width: 4px;
    border-radius: 4px;
    background: linear-gradient(180deg, #6535C9, #B62AE6, #FF7A18);
}

.sfl-page.sfl-af .sfl-af-hl p {
    margin: 0;
    color: var(--sfd-ink-soft);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.85;
}

.sfl-page.sfl-af .sfl-af-hl .sfd-gradient-text {
    display: block;
    margin-top: 6px;
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 1.04rem;
    font-weight: 800;
    line-height: 1.7;
}

.sfl-page.sfl-af .sfl-af-flow {
    position: relative;
    display: grid;
    gap: 14px;
    padding: 26px 24px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 26px 54px -32px rgba(64, 42, 120, 0.6);
}

.sfl-page.sfl-af .sfl-af-flow::before {
    content: "";
    position: absolute;
    top: 58px;
    right: 49px;
    bottom: 58px;
    width: 2px;
    background: repeating-linear-gradient(180deg, #DCCFF7 0 6px, transparent 6px 12px);
}

.sfl-page.sfl-af .sfl-af-mstep {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 18px;
    background: #FBF9FE;
    transition: transform 0.22s, border-color 0.22s;
}

.sfl-page.sfl-af .sfl-af-mstep:hover {
    border-color: #DCCFF7;
    transform: translateX(-4px);
}

.sfl-page.sfl-af .sfl-af-mic {
    z-index: 1;
    width: 50px;
    height: 50px;
    border-radius: 16px;
    box-shadow: 0 16px 24px -12px rgba(30, 12, 60, 0.55), inset 0 2px 3px rgba(255, 255, 255, 0.55), inset 0 -6px 12px rgba(0, 0, 0, 0.16);
}

.sfl-page.sfl-af .sfl-af-mic .sfl-icn {
    width: 24px;
    height: 24px;
}

.sfl-page.sfl-af .sfl-af-mstep b {
    display: block;
    color: var(--sfd-ink);
    font-size: 1rem;
    font-weight: 800;
}

.sfl-page.sfl-af .sfl-af-mstep div > span {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.5;
}

.sfl-page.sfl-af .sfl-af-mstep-win {
    border-color: #C6EED9;
    background: linear-gradient(135deg, #EEFBF4, #F5FDF9);
}

.sfl-page.sfl-af .sfl-af-mstep-win b {
    color: #1F7A4D;
}

/* Win cards */

.sfl-page.sfl-af .sfl-af-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding: 6px 14px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 10px 22px -16px rgba(64, 42, 120, 0.8);
    color: var(--sfd-purple-deep);
    direction: ltr;
    font-size: 0.78rem;
    font-weight: 800;
}

.sfl-page.sfl-af .sfl-af-wins {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.sfl-page.sfl-af .sfl-af-wins::before {
    content: "";
    position: absolute;
    top: 66px;
    right: 16%;
    left: 16%;
    z-index: 0;
    height: 2px;
    background: linear-gradient(90deg, #FF7A18, #B62AE6 50%, #2874FF);
    opacity: 0.35;
}

.sfl-page.sfl-af .sfl-af-win {
    position: relative;
    z-index: 1;
    padding: 28px 24px 26px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    text-align: center;
    transition: transform 0.24s, box-shadow 0.24s, border-color 0.24s;
}

.sfl-page.sfl-af .sfl-af-win:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-6px);
}

.sfl-page.sfl-af .sfl-af-win-1 { --sfl-glow: rgba(255, 122, 24, 0.7); }
.sfl-page.sfl-af .sfl-af-win-2 { --sfl-glow: rgba(182, 42, 230, 0.7); }
.sfl-page.sfl-af .sfl-af-win-3 { --sfl-glow: rgba(40, 116, 255, 0.7); }

.sfl-page.sfl-af .sfl-af-wic {
    width: 76px;
    height: 76px;
    margin: 0 auto;
    border-radius: 24px;
    box-shadow: 0 22px 34px -14px var(--sfl-glow), inset 0 2px 3px rgba(255, 255, 255, 0.6), inset 0 -8px 16px rgba(0, 0, 0, 0.18), 0 0 0 7px #fff, 0 0 0 8px var(--sfd-line-purple);
}

.sfl-page.sfl-af .sfl-af-wic .sfl-icn {
    width: 34px;
    height: 34px;
}

.sfl-page.sfl-af .sfl-af-who {
    display: inline-block;
    margin-top: 18px;
    padding: 4px 13px;
    border: 1px solid rgba(101, 53, 201, 0.18);
    border-radius: 999px;
    background: rgba(101, 53, 201, 0.07);
    color: var(--sfd-purple-deep);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page.sfl-af .sfl-af-win h3 {
    margin-top: 12px;
    font-size: 1.18rem;
    letter-spacing: -0.3px;
    line-height: 1.45;
}

.sfl-page.sfl-af .sfl-af-center {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

.sfl-page.sfl-af .sfl-af-center-band {
    margin-top: 30px;
}

/* What you get */

.sfl-page.sfl-af .sfl-af-bens {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.sfl-page.sfl-af .sfl-af-ben {
    padding: 22px 20px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, box-shadow 0.24s, border-color 0.24s;
}

.sfl-page.sfl-af .sfl-af-ben:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-6px);
}

.sfl-page.sfl-af .sfl-af-ben-1 { --sfl-glow: rgba(255, 122, 24, 0.6); }
.sfl-page.sfl-af .sfl-af-ben-2 { --sfl-glow: rgba(182, 42, 230, 0.6); }
.sfl-page.sfl-af .sfl-af-ben-3 { --sfl-glow: rgba(101, 53, 201, 0.6); }
.sfl-page.sfl-af .sfl-af-ben-4 { --sfl-glow: rgba(58, 203, 136, 0.6); }

.sfl-page.sfl-af .sfl-af-bic {
    width: 52px;
    height: 52px;
    border-radius: 17px;
    box-shadow: 0 20px 30px -14px var(--sfl-glow), 0 6px 12px -6px rgba(20, 10, 50, 0.3), inset 0 2px 3px rgba(255, 255, 255, 0.62), inset 0 -7px 14px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(255, 255, 255, 0.4);
}

.sfl-page.sfl-af .sfl-af-bic .sfl-icn {
    width: 25px;
    height: 25px;
}

.sfl-page.sfl-af .sfl-af-ben h3 {
    margin-top: 14px;
    font-size: 1rem;
    line-height: 1.4;
}

.sfl-page.sfl-af .sfl-af-ben p {
    margin-top: 7px;
    color: var(--sfd-muted);
    font-size: 0.855rem;
    font-weight: 600;
    line-height: 1.7;
}

/* How it works */

.sfl-page.sfl-af .sfl-af-band {
    position: relative;
    overflow: hidden;
    padding: 44px 34px 38px;
    border-radius: 30px;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    box-shadow: 0 34px 70px -34px rgba(36, 20, 66, 0.95);
    color: #fff;
}

.sfl-page.sfl-af .sfl-af-band::before,
.sfl-page.sfl-af .sfl-af-band::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(44px);
    pointer-events: none;
}

.sfl-page.sfl-af .sfl-af-band::before {
    top: -250px;
    inset-inline-start: -100px;
    width: 460px;
    height: 460px;
    background: radial-gradient(circle, rgba(182, 42, 230, 0.42), transparent 70%);
}

.sfl-page.sfl-af .sfl-af-band::after {
    bottom: -240px;
    inset-inline-end: -80px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255, 122, 24, 0.3), transparent 70%);
}

.sfl-page.sfl-af .sfl-af-band > * {
    position: relative;
    z-index: 1;
}

.sfl-page.sfl-af .sfl-af-band .sfl-head h2 {
    color: #fff;
}

.sfl-page.sfl-af .sfl-af-light {
    background: linear-gradient(90deg, #C98BFF, #FF9A4D);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-page.sfl-af .sfl-af-band .sfl-head .sfl-rule {
    background: linear-gradient(90deg, #C98BFF, #FF9A4D);
}

.sfl-page.sfl-af .sfl-af-band .sfl-head p {
    color: rgba(255, 255, 255, 0.7);
}

.sfl-page.sfl-af .sfl-af-stages {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.sfl-page.sfl-af .sfl-af-stage {
    position: relative;
    padding: 24px 20px 22px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
    transition: transform 0.24s, background 0.24s, border-color 0.24s;
}

.sfl-page.sfl-af .sfl-af-stage:hover {
    border-color: rgba(255, 255, 255, 0.26);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.06));
    transform: translateY(-6px);
}

.sfl-page.sfl-af .sfl-af-n {
    position: absolute;
    top: 16px;
    left: 18px;
    direction: ltr;
    background: linear-gradient(135deg, rgba(201, 139, 255, 0.45), rgba(255, 154, 77, 0.45));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1;
}

.sfl-page.sfl-af .sfl-af-sic {
    width: 52px;
    height: 52px;
    border-radius: 17px;
    box-shadow: 0 18px 28px -12px rgba(0, 0, 0, 0.6), inset 0 2px 3px rgba(255, 255, 255, 0.5), inset 0 -6px 12px rgba(0, 0, 0, 0.18);
}

.sfl-page.sfl-af .sfl-af-sic .sfl-icn {
    width: 25px;
    height: 25px;
}

.sfl-page.sfl-af .sfl-af-stage h3 {
    margin-top: 16px;
    color: #fff;
    font-size: 1.12rem;
}

.sfl-page.sfl-af .sfl-af-stage p {
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page.sfl-af .sfl-af-stage:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    z-index: 3;
    inset-inline-end: -16px;
    width: 26px;
    height: 26px;
    margin-top: -13px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    background: #2E1856 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 6l-6 6 6 6' fill='none' stroke='%23FF9A4D' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}

.sfl-page.sfl-af .sfl-af-stage.sfl-af-reward {
    border: 1.5px solid transparent;
    background:
        linear-gradient(180deg, rgba(60, 27, 99, 0.92), rgba(46, 24, 86, 0.92)) padding-box,
        linear-gradient(135deg, #C98BFF, #FF9A4D) border-box;
    box-shadow: 0 24px 44px -22px rgba(255, 122, 24, 0.55);
}

.sfl-page.sfl-af .sfl-af-coin {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding: 9px 11px;
    border: 1px solid rgba(58, 203, 136, 0.35);
    border-radius: 13px;
    background: rgba(58, 203, 136, 0.14);
    color: #9BF0C6;
    font-size: 0.78rem;
    font-weight: 800;
}

@keyframes sfl-af-pulse {
    70% { box-shadow: 0 0 0 7px rgba(58, 203, 136, 0); }
    100% { box-shadow: 0 0 0 0 rgba(58, 203, 136, 0); }
}

@keyframes sfl-af-float-y {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes sfl-af-bar-up {
    from { height: 0; }
}

@media (max-width: 1160px) {
    .sfl-page.sfl-af .sfl-hero-grid {
        grid-template-columns: minmax(0, 1fr) 390px;
        gap: 36px;
    }

    .sfl-page.sfl-af .sfl-af-bens,
    .sfl-page.sfl-af .sfl-af-stages {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfl-page.sfl-af .sfl-af-stages {
        gap: 22px;
    }

    .sfl-page.sfl-af .sfl-af-stage:nth-child(2)::after {
        display: none;
    }
}

@media (max-width: 980px) {
    .sfl-page.sfl-af .sfl-hero-grid,
    .sfl-page.sfl-af .sfl-af-about {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .sfl-page.sfl-af .sfl-af-art {
        width: 100%;
        max-width: 390px;
        margin-inline: auto;
    }

    .sfl-page.sfl-af .sfl-af-wins {
        grid-template-columns: 1fr;
        max-width: 520px;
        margin-inline: auto;
    }

    .sfl-page.sfl-af .sfl-af-wins::before {
        display: none;
    }
}

@media (max-width: 720px) {
    .sfl-page.sfl-af .sfl-af-art {
        padding-bottom: 40px;
    }

    .sfl-page.sfl-af .sfl-af-note {
        bottom: 4px;
    }

    .sfl-page.sfl-af .sfl-af-center .sfd-btn {
        width: 100%;
    }

    .sfl-page.sfl-af .sfl-af-band {
        padding: 32px 18px 28px;
        border-radius: 24px;
    }

    .sfl-page.sfl-af .sfl-af-bens,
    .sfl-page.sfl-af .sfl-af-stages {
        grid-template-columns: 1fr;
    }

    .sfl-page.sfl-af .sfl-af-stages {
        gap: 24px;
    }

    .sfl-page.sfl-af .sfl-af-stage:nth-child(2)::after {
        display: block;
    }

    .sfl-page.sfl-af .sfl-af-stage:not(:last-child)::after {
        top: auto;
        bottom: -25px;
        left: 50%;
        inset-inline-end: auto;
        margin-top: 0;
        margin-left: -13px;
        transform: rotate(-90deg);
    }

    .sfl-page.sfl-af .sfl-af-flow {
        padding: 18px 16px;
    }

    .sfl-page.sfl-af .sfl-af-flow::before {
        right: 40px;
    }

    .sfl-page.sfl-af .sfl-af-f1 {
        inset-inline-end: -2%;
    }

    .sfl-page.sfl-af .sfl-af-f2 {
        bottom: -4%;
        inset-inline-start: -2%;
    }
}

@media (max-width: 420px) {
    .sfl-page.sfl-af .sfl-af-float {
        padding: 8px 11px;
    }

    .sfl-page.sfl-af .sfl-af-float b {
        font-size: 0.76rem;
    }

    .sfl-page.sfl-af .sfl-af-f1 {
        inset-inline-end: 0;
    }

    .sfl-page.sfl-af .sfl-af-f2 {
        inset-inline-start: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sfl-page.sfl-af .sfl-af-bar,
    .sfl-page.sfl-af .sfl-af-pulse,
    .sfl-page.sfl-af .sfl-af-float {
        animation: none;
    }

    .sfl-page.sfl-af .sfl-af-mstep,
    .sfl-page.sfl-af .sfl-af-win,
    .sfl-page.sfl-af .sfl-af-ben,
    .sfl-page.sfl-af .sfl-af-stage {
        transition: none;
    }

    .sfl-page.sfl-af .sfl-af-mstep:hover,
    .sfl-page.sfl-af .sfl-af-win:hover,
    .sfl-page.sfl-af .sfl-af-ben:hover,
    .sfl-page.sfl-af .sfl-af-stage:hover {
        transform: none;
    }
}

/* Stage 12: PR deals only. Scope is .sfl-pr-deals, which also carries .sfl-page and .bl-storefront.
   Stage 13 puts .sfl-page on the page root as well. Keep it on this wrapper so these selectors still match. */

.sfl-page.sfl-pr-deals {
    background: transparent;
    overflow: visible;
    padding: 28px 0 8px;
    scroll-margin-top: 110px;
}

.sfl-pr-deals input,
.sfl-pr-deals select,
.sfl-pr-deals textarea,
.sfl-pr-deals button {
    font-family: inherit;
}

.sfl-pr-deals label {
    width: auto;
    text-align: inherit;
}

.sfl-pr-deals .sfl-pr-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.sfl-pr-deals .sfl-pr-head h2 .sfd-gradient-text,
.sfl-pr-deals .sfl-pr-pkg h3 .sfd-gradient-text {
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sfl-pr-deals .sfl-pr-tools {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    margin-bottom: 20px;
}

.sfl-pr-deals .sfl-pr-search {
    position: relative;
    flex: 1 1 260px;
    min-width: 0;
}

.sfl-pr-deals .sfl-pr-search .sfl-icn {
    position: absolute;
    inset-inline-start: 14px;
    top: 50%;
    width: 17px;
    height: 17px;
    color: #A99DC6;
    transform: translateY(-50%);
    pointer-events: none;
}

.sfl-pr-deals .sfl-pr-search input {
    width: 100%;
    margin: 0;
    padding-block: 13px;
    padding-inline: 44px 16px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 14px;
    background: #fff;
    color: var(--sfd-ink);
    font-size: 0.9rem;
    font-weight: 600;
    direction: rtl;
    text-align: right;
    box-shadow: 0 12px 28px -24px rgba(64, 42, 120, 0.8);
}

.sfl-pr-deals .sfl-pr-search input::placeholder {
    color: #B0A7C6;
    font-weight: 600;
}

.sfl-pr-deals .sfl-pr-search input:focus,
.sfl-pr-deals .sfl-pr-sort:focus {
    outline: 0;
    border-color: var(--sfd-purple-bright);
    box-shadow: 0 0 0 4px rgba(153, 72, 245, 0.14);
}

.sfl-pr-deals .sfl-pr-filt {
    display: contents;
}

.sfl-pr-deals .sfl-pr-filt-toggle {
    display: none;
}

.sfl-pr-deals .sfl-pr-chips {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.sfl-pr-deals .sfl-pr-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 10px 15px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 12px;
    background: #fff;
    color: var(--sfd-ink-soft);
    font-size: 0.83rem;
    font-weight: 800;
    cursor: pointer;
    transition: 0.18s;
}

.sfl-pr-deals .sfl-pr-chip-n {
    padding: 1px 7px;
    border-radius: 999px;
    background: #F4F0FB;
    color: #A297C2;
    font-size: 0.7rem;
    direction: ltr;
}

.sfl-pr-deals .sfl-pr-chip:hover {
    border-color: #DCCFF7;
    color: var(--sfd-purple-deep);
    transform: translateY(-2px);
}

.sfl-pr-deals .sfl-pr-chip.on {
    border-color: transparent;
    background: linear-gradient(135deg, #6535C9, #B62AE6);
    color: #fff;
    box-shadow: 0 14px 26px -14px rgba(101, 53, 201, 0.85);
}

.sfl-pr-deals .sfl-pr-chip.on .sfl-pr-chip-n {
    background: rgba(255, 255, 255, 0.24);
    color: #fff;
}

.sfl-pr-deals .sfl-pr-sort {
    margin: 0;
    padding: 12px 14px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 12px;
    background: #fff;
    color: var(--sfd-ink-soft);
    font-size: 0.83rem;
    font-weight: 800;
    cursor: pointer;
}

.prPage .sfl-pr-deals .prProducts {
    display: block;
    margin-top: 0;
}

.prPage .sfl-pr-deals .prSales {
    width: 100%;
    margin: 0;
    overflow: visible;
}

.sfl-pr-deals #salePRCarousel.owl-carousel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
    position: static;
    z-index: auto;
}

.prPage .sfl-pr-deals #salePRCarousel.flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    min-height: 80px;
}

.prPage .sfl-pr-deals #salePRCarousel.flex .websiteItemContainer {
    width: 64px;
    box-shadow: none;
    background: transparent;
}

.sfl-pr-deals #salePRCarousel .websiteItemContainer {
    width: auto;
    height: 100%;
    display: flex;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.sfl-pr-deals #salePRCarousel .websiteItem {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 18px 18px 16px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    overflow-wrap: anywhere;
    animation: sflPrIn 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
    transition: transform 0.24s, box-shadow 0.24s, border-color 0.24s;
}

.sfl-pr-deals #salePRCarousel .websiteItem:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-6px);
}

@keyframes sflPrIn {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: none; }
}

.sfl-pr-deals .sfl-pr-empty {
    grid-column: 1 / -1;
    padding: 40px 20px;
    color: var(--sfd-muted);
    font-weight: 700;
    text-align: center;
}

.sfl-pr-deals .websiteItem .rightColumn {
    position: static;
    display: flex;
    flex-direction: column;
    padding: 0;
}

.sfl-pr-deals .sfl-pr-top {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sfl-pr-deals .sfl-pr-logos {
    display: flex;
    align-items: center;
    flex: none;
    gap: 6px;
}

.sfl-pr-deals .sfl-pr-logos .websiteImage,
.sfl-pr-deals .sfl-pr-logos .prSaleProductImg {
    width: 52px;
    height: 52px;
    max-width: 52px;
    object-fit: contain;
    padding: 6px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 10px 20px -14px rgba(64, 42, 120, 0.7);
}

.sfl-pr-deals .sfl-pr-logos .prSaleProductImg {
    width: 40px;
    height: 40px;
    max-width: 40px;
}

.sfl-pr-deals .sfl-pr-plus {
    color: var(--sfd-muted);
    font-size: 0.9rem;
    font-weight: 800;
}

.sfl-pr-deals .sfl-pr-id {
    min-width: 0;
}

.sfl-pr-deals .websiteItem .rightColumn .websitename {
    margin: 0;
    color: var(--sfd-ink);
    font-size: 0.97rem;
    font-weight: 800;
    line-height: 1.35;
    direction: ltr;
    unicode-bidi: isolate;
    text-align: start;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sfl-pr-deals .websiteLink button {
    margin: 2px 0 0;
    padding: 0;
    border: 0;
    background: none;
    color: var(--sfd-muted);
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    direction: ltr;
    unicode-bidi: isolate;
}

.sfl-pr-deals .sfl-pr-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.sfl-pr-deals .websiteItem .rightColumn .websiteTag {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    width: auto;
    margin: 0;
    padding: 4px 10px;
    border: 1px solid rgba(101, 53, 201, 0.18);
    border-radius: 999px;
    background: rgba(101, 53, 201, 0.07);
    color: var(--sfd-purple-deep);
    font-size: 0.71rem;
    font-weight: 800;
    white-space: normal;
}

.sfl-pr-deals .websiteItem .rightColumn .websiteTag.prSaleTag {
    border-color: rgba(255, 122, 24, 0.28);
    background: rgba(255, 122, 24, 0.08);
    color: #C2570E;
}

.sfl-pr-deals .websiteItem .rightColumn .websiteRate {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 13px;
}

.sfl-pr-deals .websiteItem .rightColumn .websiteRate div {
    display: block;
    margin: 0;
    color: inherit;
    font-weight: inherit;
}

.sfl-pr-deals .websiteItem .rightColumn .websiteRate .sfl-pr-metric {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 11px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 13px;
    background: #FBF9FE;
}

.sfl-pr-deals .sfl-pr-metric-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    background: var(--sfl-g, linear-gradient(135deg, #6535C9, #2874FF));
    box-shadow: 0 10px 16px -9px rgba(30, 12, 60, 0.55), inset 0 1px 2px rgba(255, 255, 255, 0.5);
}

.sfl-pr-deals .sfl-pr-metric-ic .sfl-icn {
    width: 14px;
    height: 14px;
    color: #fff;
}

.sfl-pr-deals .sfl-pr-metric-dr {
    --sfl-g: linear-gradient(135deg, #6535C9, #2874FF);
}

.sfl-pr-deals .sfl-pr-metric-ur {
    --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A);
}

.sfl-pr-deals .sfl-pr-metric-n {
    display: block;
    color: var(--sfd-ink);
    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.1;
    direction: ltr;
    unicode-bidi: isolate;
}

.sfl-pr-deals .sfl-pr-metric-l {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.68rem;
    font-weight: 700;
    font-style: normal;
    line-height: 1.2;
}

.sfl-pr-deals .websiteItem .rightColumn .websiteTopcis {
    margin-top: 11px;
    color: var(--sfd-muted);
    font-size: 0.755rem;
    font-weight: 600;
    line-height: 1.6;
    white-space: normal;
    overflow: visible;
}

.sfl-pr-deals .comments {
    display: -webkit-box;
    margin-top: 11px;
    overflow: hidden;
    color: var(--sfd-muted);
    font-size: 0.755rem;
    font-weight: 600;
    line-height: 1.6;
    white-space: pre-line;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.sfl-pr-deals .comments.open {
    display: block;
    -webkit-line-clamp: unset;
}

.sfl-pr-deals .sfl-pr-note-btn {
    margin-top: 3px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--sfd-purple-deep);
    font-size: 0.73rem;
    font-weight: 800;
    cursor: pointer;
}

.sfl-pr-deals .bottom {
    margin-top: auto;
    padding: 14px 0 0;
}

.sfl-pr-deals .priceAndCheckout {
    display: block;
    height: auto;
}

.sfl-pr-deals .websiteItem .bottom .priceDiv {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 9px;
    height: auto;
}

.sfl-pr-deals .websiteItem .bottom .priceDiv .sfl-pr-now,
.sfl-pr-deals .websiteItem .bottom .priceDiv .sfl-pr-was {
    direction: ltr;
    unicode-bidi: isolate;
}

.sfl-pr-deals .websiteItem .bottom .priceDiv .sfl-pr-now {
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.9px;
    -webkit-text-fill-color: transparent;
}

.sfl-pr-deals .websiteItem .bottom .priceDiv .sfl-pr-was {
    color: #B3ABC7;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: line-through;
    -webkit-text-fill-color: #B3ABC7;
}

.sfl-pr-deals .websiteItem .bottom .priceDiv .sfl-pr-off {
    width: auto;
    padding: 2px 9px;
    border: 1px solid rgba(58, 203, 136, 0.38);
    border-radius: 999px;
    background: rgba(58, 203, 136, 0.12);
    color: #2FA36C;
    font-size: 0.69rem;
    font-weight: 800;
    direction: ltr;
    unicode-bidi: isolate;
}

.sfl-pr-deals .websiteItem .bottom .priceDiv .sfl-pr-gift {
    width: auto;
    padding: 2px 9px;
    border-radius: 999px;
    background: rgba(101, 53, 201, 0.07);
    color: var(--sfd-purple-deep);
    font-size: 0.69rem;
    font-weight: 800;
}

.sfl-pr-deals .websiteItem .bottom .priceDiv .sfl-pr-vat {
    flex-basis: 100%;
    margin-top: 3px;
    color: var(--sfd-muted);
    font-size: 0.72rem;
    font-weight: 700;
}

.sfl-pr-deals .websiteItem .bottom .buttonsDiv {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 12px 0 0;
}

.sfl-pr-deals .leftColumn,
.sfl-pr-deals .extradetails {
    display: contents;
}

.sfl-pr-deals .websiteItem .bottom .buttonsDiv .addToCart {
    flex: 1 1 140px;
    width: auto;
    padding: 10px 17px;
}

.sfl-pr-deals .websiteItem .checkoutButton {
    width: auto;
    padding: 10px 14px;
    border: 1.6px solid transparent;
    border-radius: 12px;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(120deg, #6535C9, #B62AE6 46%, #FF7A18) border-box;
    color: var(--sfd-purple-deep);
    font-size: 0.83rem;
    font-weight: 800;
}

.sfl-pr-deals .addToCart .tooltip {
    display: none;
}

.sfl-pr-deals .websiteItem .exampleLink {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 13px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 12px;
    background: #fff;
    color: var(--sfd-ink-soft);
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: 0.18s;
}

.sfl-pr-deals .exampleLink:hover {
    border-color: #DCCFF7;
    background: #FBF9FE;
    color: var(--sfd-purple-deep);
    transform: translateY(-2px);
}

.sfl-pr-deals .exampleLink .sfl-icn {
    width: 13px;
    height: 13px;
    color: var(--sfd-purple-bright);
}

.prPage .sfl-pr-deals .packagesDiv {
    width: 100%;
}

.prPage .sfl-pr-deals .packagesDiv .packageItem.content {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px 26px;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 20px 0 0;
    padding: 22px 26px;
    overflow: hidden;
    border: 1.5px solid transparent;
    border-bottom: 1.5px solid transparent;
    border-radius: 24px;
    background:
        linear-gradient(#fff, #FDFCFE) padding-box,
        linear-gradient(120deg, #6535C9, #B62AE6 46%, #FF7A18) border-box;
    color: var(--sfd-ink);
    box-shadow: 0 22px 48px -30px rgba(101, 53, 201, 0.6);
    flex-basis: auto;
}

.prPage .sfl-pr-deals .packagesDiv .packageItem.content::before {
    content: "";
    position: absolute;
    top: -170px;
    inset-inline-start: -80px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(153, 72, 245, 0.14), transparent 70%);
    filter: blur(32px);
    pointer-events: none;
}

.prPage .sfl-pr-deals .packageHeader {
    display: contents;
}

.prPage .sfl-pr-deals .packageHeader .image {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    margin: 0;
    padding: 10px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 22px 34px -14px rgba(182, 42, 230, 0.45);
}

.prPage .sfl-pr-deals .packageHeader .image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.prPage .sfl-pr-deals .packageHeader .text {
    position: relative;
    z-index: 1;
    min-width: 0;
    text-align: start;
}

.prPage .sfl-pr-deals .prProducts h3,
.prPage .sfl-pr-deals .packageHeader h3 {
    height: auto;
    margin: 0;
    color: var(--sfd-ink);
    font-size: 1.1rem;
    font-weight: 800;
    text-align: start;
}

.prPage .sfl-pr-deals .packageItem .description,
.prPage .sfl-pr-deals .packageItem .description p {
    min-height: 0;
    margin: 6px 0 0;
    color: var(--sfd-muted);
    font-size: 0.87rem;
    font-weight: 600;
    line-height: 1.7;
    text-align: start;
}

.prPage .sfl-pr-deals .packageItem h4 {
    margin: 12px 0 0;
    color: var(--sfd-ink-soft);
    font-size: 0.78rem;
    font-weight: 800;
}

.prPage .sfl-pr-deals .packageItem .selectButtons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 7px;
    margin: 8px 0 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.prPage .sfl-pr-deals .packageItem .selectButtons button {
    margin: 0;
    padding: 8px 15px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 11px;
    background: #FDFCFE;
    color: var(--sfd-ink-soft);
    font-size: 0.82rem;
    font-weight: 800;
    direction: ltr;
}

.prPage .sfl-pr-deals .packageItem .selectButtons button:hover {
    border-color: #DCCFF7;
    color: var(--sfd-purple-deep);
}

.prPage .sfl-pr-deals .packageItem .selectButtons button.active {
    border-color: transparent;
    background: linear-gradient(135deg, #6535C9, #B62AE6);
    color: #fff;
    box-shadow: 0 12px 22px -12px rgba(101, 53, 201, 0.85);
}

.prPage .sfl-pr-deals .sfl-pr-pkg-buy {
    position: relative;
    z-index: 1;
    min-width: 210px;
    text-align: start;
}

.prPage .sfl-pr-deals .packageItem .priceDiv {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    margin: 0;
}

.prPage .sfl-pr-deals .packageItem .priceDiv .sale {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 4px;
}

.prPage .sfl-pr-deals .packageItem .salePercent {
    padding: 2px 9px;
    border-radius: 999px;
    background: rgba(58, 203, 136, 0.12);
    color: #2FA36C;
    font-size: 0.69rem;
    font-weight: 800;
}

.prPage .sfl-pr-deals .packageItem .priceDiv .sale .oldPrice {
    color: #B3ABC7;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: line-through;
    -webkit-text-fill-color: #B3ABC7;
}

.prPage .sfl-pr-deals .packageItem .priceDiv p.newPrice,
.prPage .sfl-pr-deals .packageItem .priceDiv p.newPrice span {
    margin: 0;
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 1.85rem;
    font-weight: 800;
    letter-spacing: -1px;
    line-height: 1.1;
    direction: ltr;
    unicode-bidi: isolate;
    -webkit-text-fill-color: transparent;
}

.prPage .sfl-pr-deals .packageItem .pricePerUnit,
.prPage .sfl-pr-deals .packageItem .vat {
    margin: 2px 0 0;
    color: var(--sfd-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.prPage .sfl-pr-deals .packageItem .addToCart.mainButton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    margin-top: 11px;
    padding: 13px 25px;
    border: 0;
    border-radius: 14px;
    background-image: var(--sfd-grad-primary);
    background-size: 210% 100%;
    color: #fff;
    font-size: 0.92rem;
    font-weight: 800;
    box-shadow: 0 16px 32px -14px rgba(40, 116, 255, 0.62), inset 0 1px 0 rgba(255, 255, 255, 0.32);
}

.prPage .sfl-pr-deals .packageItem .addToCart i {
    margin: 0;
    color: #fff;
    font-size: 16px;
    transform: none;
}

.prPage .sfl-pr-deals .catalogButtons {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px 34px;
    width: 100%;
    margin: 24px 0 0;
    padding: 24px 28px;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    color: #fff;
    text-align: start;
    box-shadow: 0 26px 50px -28px rgba(36, 20, 66, 0.95);
}

.prPage .sfl-pr-deals .catalogButtons::before,
.prPage .sfl-pr-deals .catalogButtons::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(34px);
    pointer-events: none;
}

.prPage .sfl-pr-deals .catalogButtons::before {
    top: -190px;
    inset-inline-start: -80px;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(182, 42, 230, 0.4), transparent 70%);
}

.prPage .sfl-pr-deals .catalogButtons::after {
    bottom: -190px;
    inset-inline-end: -60px;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle, rgba(255, 122, 24, 0.3), transparent 70%);
}

.prPage .sfl-pr-deals .catalogButtons > * {
    position: relative;
    z-index: 1;
}

.prPage .sfl-pr-deals .catalogButtons h3 {
    height: auto;
    margin: 0;
    color: #fff;
    font-size: 1.24rem;
    font-weight: 800;
    letter-spacing: -0.6px;
    line-height: 1.35;
    text-align: start;
}

.prPage .sfl-pr-deals .catalogButtons h3.bold {
    font-weight: 800;
}

.prPage .sfl-pr-deals .catalogButtons h3 + h3 {
    margin-top: 9px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.75;
}

.prPage .sfl-pr-deals .sfl-pr-catalog-em {
    background: linear-gradient(90deg, #C98BFF, #FF9A4D);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.prPage .sfl-pr-deals .catalogButtons .buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 238px;
    margin-top: 0;
}

.prPage .sfl-pr-deals .catalogButtons .buttons a {
    display: block;
    text-decoration: none;
}

.prPage .sfl-pr-deals .catalogButtons .buttons button {
    width: 100%;
    margin: 0;
    padding: 13px 25px;
    font-size: 0.92rem;
    font-weight: 800;
}

.prPage .sfl-pr-deals .catalogButtons .sfd-btn-ghost {
    color: #fff;
    background:
        linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)) padding-box,
        linear-gradient(120deg, #C98BFF, #FF9A4D) border-box;
}

@media (max-width: 1160px) {
    .sfl-pr-deals #salePRCarousel.owl-carousel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .prPage .sfl-pr-deals .packagesDiv .packageItem.content,
    .prPage .sfl-pr-deals .catalogButtons {
        grid-template-columns: 1fr;
    }

    .prPage .sfl-pr-deals .sfl-pr-pkg-buy,
    .prPage .sfl-pr-deals .catalogButtons .buttons {
        min-width: 0;
    }
}

@media (max-width: 720px) {
    .sfl-pr-deals .sfl-wrap {
        padding-inline: 16px;
    }

    .sfl-pr-deals .sfl-pr-search {
        flex-basis: 100%;
    }

    .sfl-pr-deals #salePRCarousel.owl-carousel {
        grid-template-columns: 1fr;
    }

    .sfl-pr-deals .sfl-pr-filt-toggle {
        display: flex;
        align-items: center;
        gap: 9px;
        width: 100%;
        margin: 0;
        padding: 12px 15px;
        border: 1.5px solid var(--sfd-line-purple);
        border-radius: 14px;
        background: #fff;
        color: var(--sfd-ink-soft);
        font-size: 0.88rem;
        font-weight: 800;
        box-shadow: 0 12px 28px -24px rgba(64, 42, 120, 0.8);
        cursor: pointer;
    }

    .sfl-pr-deals .sfl-pr-filt-ic {
        width: 17px;
        height: 17px;
        color: var(--sfd-purple-bright);
    }

    .sfl-pr-deals .sfl-pr-filt-chev {
        width: 16px;
        height: 16px;
        margin-inline-start: auto;
        color: var(--sfd-muted);
        transition: transform 0.22s;
    }

    .sfl-pr-deals .sfl-pr-filt-toggle[aria-expanded="true"] {
        border-color: transparent;
        background: linear-gradient(135deg, #6535C9, #B62AE6);
        color: #fff;
        box-shadow: 0 14px 26px -14px rgba(101, 53, 201, 0.85);
    }

    .sfl-pr-deals .sfl-pr-filt-toggle[aria-expanded="true"] .sfl-pr-filt-ic,
    .sfl-pr-deals .sfl-pr-filt-toggle[aria-expanded="true"] .sfl-pr-filt-chev {
        color: #fff;
    }

    .sfl-pr-deals .sfl-pr-filt-toggle[aria-expanded="true"] .sfl-pr-filt-chev {
        transform: rotate(180deg);
    }

    .sfl-pr-deals .sfl-pr-filt {
        display: none;
        flex-direction: column;
        gap: 9px;
        width: 100%;
        padding: 13px;
        border: 1.5px solid var(--sfd-line-purple);
        border-radius: 16px;
        background: #FBF9FE;
    }

    .sfl-pr-deals .sfl-pr-filt.open {
        display: flex;
    }

    .sfl-pr-deals .sfl-pr-chips {
        width: 100%;
        gap: 8px;
    }

    .sfl-pr-deals .sfl-pr-chip {
        flex: 1 1 calc(50% - 4px);
        justify-content: center;
        padding: 11px 12px;
    }

    .sfl-pr-deals .sfl-pr-sort {
        width: 100%;
    }

    .prPage .sfl-pr-deals .catalogButtons {
        padding: 20px 18px;
        border-radius: 20px;
        text-align: center;
    }

    .prPage .sfl-pr-deals .catalogButtons h3,
    .prPage .sfl-pr-deals .catalogButtons h3 + h3 {
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sfl-pr-deals #salePRCarousel .websiteItem,
    .sfl-pr-deals .sfl-pr-chip,
    .sfl-pr-deals .exampleLink,
    .sfl-pr-deals .sfl-pr-filt-chev {
        animation: none;
        transition: none;
    }

    .sfl-pr-deals #salePRCarousel .websiteItem:hover,
    .sfl-pr-deals .sfl-pr-chip:hover,
    .sfl-pr-deals .exampleLink:hover {
        transform: none;
    }
}

/* Stage 13: PR page chrome. Scope is .sfl-pr, which also carries .sfl-page and .bl-storefront.
   Do not restyle .sfl-pr-deals here. Do not change .sfl-ben or .sfl-step. */

.sfl-page.sfl-pr .sfl-hero {
    padding-bottom: 34px;
}

.sfl-page.sfl-pr .sfl-hero-grid {
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 40px;
}

.sfl-page.sfl-pr .sfl-hero h1 {
    font-size: clamp(1.95rem, 3.7vw, 3rem);
}

.sfl-page.sfl-pr .sfl-pr-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sfl-page.sfl-pr .sfl-pr-glow {
    position: absolute;
    inset: -8% -12%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(153, 72, 245, 0.2), rgba(255, 122, 24, 0.09) 52%, transparent 72%);
    filter: blur(32px);
    pointer-events: none;
}

.sfl-page.sfl-pr .sfl-pr-paper {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 340px;
    overflow: hidden;
    border: 1.5px solid #EAE3F7;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 44px 80px -36px rgba(52, 26, 110, 0.6), 0 0 0 9px rgba(255, 255, 255, 0.62);
    transform: rotate(-2deg);
}

.sfl-page.sfl-pr .sfl-pr-paper-top {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    border-bottom: 1px solid #EFE9FA;
    background: linear-gradient(180deg, #FBF9FE, #F4EFFC);
}

.sfl-page.sfl-pr .sfl-pr-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #E2D9F4;
}

.sfl-page.sfl-pr .sfl-pr-dot-1 { background: #FF7A18; }
.sfl-page.sfl-pr .sfl-pr-dot-2 { background: #E5479A; }
.sfl-page.sfl-pr .sfl-pr-dot-3 { background: #3ACB88; }

.sfl-page.sfl-pr .sfl-pr-paper-top b {
    margin-inline-start: auto;
    color: #9C90BC;
    font-size: 0.67rem;
    font-weight: 800;
}

.sfl-page.sfl-pr .sfl-pr-paper-body {
    padding: 16px 16px 18px;
}

.sfl-page.sfl-pr .sfl-pr-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    color: #fff;
    font-size: 0.65rem;
    font-weight: 800;
}

.sfl-page.sfl-pr .sfl-pr-kicker .sfl-icn {
    width: 10px;
    height: 10px;
    fill: #fff;
}

.sfl-page.sfl-pr .sfl-pr-paper-h {
    margin-top: 10px;
    color: var(--sfd-ink);
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: -0.4px;
    line-height: 1.4;
}

.sfl-page.sfl-pr .sfl-pr-paper-img {
    position: relative;
    height: 82px;
    margin-top: 11px;
    overflow: hidden;
    border-radius: 12px;
    background: linear-gradient(140deg, #6535C9, #B62AE6 45%, #FF7A18);
}

.sfl-page.sfl-pr .sfl-pr-paper-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.22), transparent 55%);
}

.sfl-page.sfl-pr .sfl-pr-rows {
    display: grid;
    gap: 7px;
    margin-top: 12px;
}

.sfl-page.sfl-pr .sfl-pr-rows i {
    height: 8px;
    border-radius: 5px;
    background: linear-gradient(90deg, #EFE9FA, #F7F3FD);
}

.sfl-page.sfl-pr .sfl-pr-row-88 { width: 88%; }
.sfl-page.sfl-pr .sfl-pr-row-64 { width: 64%; }

.sfl-page.sfl-pr .sfl-pr-paper-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 13px;
    padding: 5px 10px;
    border: 1px solid rgba(101, 53, 201, 0.2);
    border-radius: 9px;
    background: rgba(101, 53, 201, 0.07);
    color: var(--sfd-purple-deep);
    font-size: 0.73rem;
    font-weight: 800;
}

.sfl-page.sfl-pr .sfl-pr-paper-link .sfl-icn {
    width: 12px;
    height: 12px;
}

.sfl-page.sfl-pr .sfl-pr-float {
    position: absolute;
    z-index: 3;
    padding: 9px 13px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 22px 40px -22px rgba(64, 42, 120, 0.8);
}

.sfl-page.sfl-pr .sfl-pr-float b.sfd-gradient-text {
    display: block;
    background: var(--sfd-grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    direction: ltr;
    font-size: 0.95rem;
    unicode-bidi: isolate;
}

.sfl-page.sfl-pr .sfl-pr-float i {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.2;
}

.sfl-page.sfl-pr .sfl-pr-f1 {
    top: 2%;
    inset-inline-end: -5%;
}

.sfl-page.sfl-pr .sfl-pr-f2 {
    bottom: 5%;
    inset-inline-start: -7%;
}

.sfl-page.sfl-pr .sfl-pr-g1 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); --sfl-glow: rgba(101, 53, 201, 0.6); }
.sfl-page.sfl-pr .sfl-pr-g2 { --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A); --sfl-glow: rgba(182, 42, 230, 0.6); }
.sfl-page.sfl-pr .sfl-pr-g3 { --sfl-g: linear-gradient(135deg, #FF7A18, #F5487A); --sfl-glow: rgba(255, 122, 24, 0.6); }
.sfl-page.sfl-pr .sfl-pr-g4 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); --sfl-glow: rgba(58, 203, 136, 0.6); }

.sfl-page.sfl-pr .sfl-pr-bens {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.sfl-page.sfl-pr .sfl-pr-ben {
    padding: 22px 20px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, box-shadow 0.24s, border-color 0.24s;
}

.sfl-page.sfl-pr .sfl-pr-ben:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-6px);
}

.sfl-page.sfl-pr .sfl-pr-bic,
.sfl-page.sfl-pr .sfl-pr-sic {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--sfl-g);
    color: #fff;
}

.sfl-page.sfl-pr .sfl-pr-bic {
    width: 52px;
    height: 52px;
    border-radius: 17px;
    box-shadow: 0 20px 30px -14px var(--sfl-glow, rgba(101, 53, 201, 0.6)), inset 0 2px 3px rgba(255, 255, 255, 0.62), inset 0 -7px 14px rgba(0, 0, 0, 0.18);
}

.sfl-page.sfl-pr .sfl-pr-bic::before,
.sfl-page.sfl-pr .sfl-pr-sic::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.1));
}

.sfl-page.sfl-pr .sfl-pr-bic .sfl-icn,
.sfl-page.sfl-pr .sfl-pr-sic .sfl-icn {
    position: relative;
    z-index: 2;
    width: 25px;
    height: 25px;
}

.sfl-page.sfl-pr .sfl-pr-ben h3 {
    margin-top: 14px;
    font-size: 1rem;
    line-height: 1.4;
}

.sfl-page.sfl-pr .sfl-pr-ben p {
    margin-top: 7px;
    color: var(--sfd-muted);
    font-size: 0.855rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page.sfl-pr .sfl-pr-band {
    position: relative;
    overflow: hidden;
    padding: 32px 28px 30px;
    border: 1px solid #EDE4FA;
    border-radius: 26px;
    background: linear-gradient(135deg, #F7F2FE 0%, #FCF3F8 52%, #FFF7EF 100%);
    box-shadow: 0 20px 44px -34px rgba(64, 42, 120, 0.55);
}

.sfl-page.sfl-pr .sfl-pr-band::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(101, 53, 201, 0), #B62AE6 32%, #E5479A 58%, #FF7A18 84%, rgba(255, 122, 24, 0));
    opacity: 0.8;
}

.sfl-page.sfl-pr .sfl-pr-band .sfl-head {
    position: relative;
    z-index: 1;
    margin-bottom: 22px;
}

.sfl-page.sfl-pr .sfl-pr-steps {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.sfl-page.sfl-pr .sfl-pr-step {
    position: relative;
    padding: 24px 20px 20px;
    border: 1px solid #EDE7F8;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 38px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.22s, box-shadow 0.22s, border-color 0.22s;
}

.sfl-page.sfl-pr .sfl-pr-step:hover {
    border-color: #DCCFF7;
    box-shadow: 0 26px 48px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-5px);
}

.sfl-page.sfl-pr .sfl-pr-n {
    position: absolute;
    top: 15px;
    inset-inline-start: 18px;
    background: linear-gradient(135deg, rgba(101, 53, 201, 0.26), rgba(255, 122, 24, 0.26));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    direction: ltr;
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1;
}

.sfl-page.sfl-pr .sfl-pr-sic {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    box-shadow: 0 16px 26px -13px rgba(30, 12, 60, 0.5);
}

.sfl-page.sfl-pr .sfl-pr-sic .sfl-icn {
    width: 24px;
    height: 24px;
}

.sfl-page.sfl-pr .sfl-pr-step h3 {
    margin-top: 14px;
    font-size: 1rem;
}

.sfl-page.sfl-pr .sfl-pr-step p {
    margin-top: 7px;
    color: var(--sfd-muted);
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page.sfl-pr .sfl-pr-ai {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.sfl-page.sfl-pr .sfl-pr-ai-card {
    padding: 24px 22px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, border-color 0.24s;
}

.sfl-page.sfl-pr .sfl-pr-ai-card:hover {
    border-color: #DCCFF7;
    transform: translateY(-5px);
}

.sfl-page.sfl-pr .sfl-pr-ai-n {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
    box-shadow: 0 14px 24px -12px rgba(182, 42, 230, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.5);
    color: #fff;
    direction: ltr;
    font-size: 0.95rem;
    font-weight: 800;
}

.sfl-page.sfl-pr .sfl-pr-ai-card h3 {
    margin-top: 13px;
    font-size: 1rem;
    line-height: 1.4;
}

.sfl-page.sfl-pr .sfl-pr-ai-card p {
    margin-top: 8px;
    color: var(--sfd-muted);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.75;
}

.sfl-page.sfl-pr #prExamplesCarousel.sfl-pr-rail {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    margin: 0;
    padding: 6px 2px 16px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.sfl-page.sfl-pr #prExamplesCarousel.sfl-pr-rail::-webkit-scrollbar {
    display: none;
}

.sfl-page.sfl-pr #prExamplesCarousel .prExampleItem {
    flex: 0 0 clamp(240px, 30%, 340px);
    height: auto;
    margin: 0;
    overflow: hidden;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    cursor: zoom-in;
    scroll-snap-align: center;
    transition: transform 0.24s, box-shadow 0.24s, border-color 0.24s;
}

.sfl-page.sfl-pr #prExamplesCarousel .prExampleItem:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-5px);
}

.sfl-page.sfl-pr #prExamplesCarousel .prExampleItem img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: top;
    background: linear-gradient(160deg, #F4EFFC, #FBF9FE);
    cursor: zoom-in;
}

.sfl-page.sfl-pr .prExamplesEmpty {
    width: 100%;
    margin: 0;
    padding: 40px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 20px;
    background: #fff;
    color: var(--sfd-muted);
    font-weight: 700;
    text-align: center;
}

.sfl-page.sfl-pr .sfl-pr-ex-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 4px;
}

.sfl-page.sfl-pr .sfl-pr-ex-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 50%;
    background: #fff;
    color: var(--sfd-purple-deep);
    cursor: pointer;
    transition: transform 0.18s, background 0.18s, border-color 0.18s, color 0.18s, box-shadow 0.18s;
}

.sfl-page.sfl-pr .sfl-pr-ex-btn:hover {
    border-color: transparent;
    background: linear-gradient(135deg, #6535C9, #B62AE6);
    box-shadow: 0 14px 26px -12px rgba(101, 53, 201, 0.85);
    color: #fff;
    transform: translateY(-2px);
}

.sfl-page.sfl-pr .sfl-pr-ex-btn .sfl-icn {
    width: 16px;
    height: 16px;
}

.sfl-page.sfl-pr .sfl-pr-ex-next .sfl-icn {
    transform: scaleX(-1);
}

#prLightbox.bl-storefront {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 26px;
    background: rgba(27, 22, 48, 0.82);
    backdrop-filter: blur(6px);
}

#prLightbox.bl-storefront.open {
    display: flex;
}

#prLightbox.bl-storefront img {
    max-width: min(860px, 92vw);
    max-height: 86vh;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 44px 90px -30px rgba(0, 0, 0, 0.8);
}

#prLightbox.bl-storefront .lbBtn {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    direction: ltr;
    font-size: 1.3rem;
    font-weight: 800;
    cursor: pointer;
    unicode-bidi: isolate;
}

#prLightbox.bl-storefront .lbBtn:hover {
    background: rgba(255, 255, 255, 0.28);
}

#prLightbox.bl-storefront .close {
    top: 20px;
    inset-inline-end: 20px;
    right: auto;
    font-size: 1.3rem;
}

#prLightbox.bl-storefront .prev {
    top: 50%;
    inset-inline-end: 20px;
    transform: translateY(-50%);
}

#prLightbox.bl-storefront .next {
    top: 50%;
    inset-inline-start: 20px;
    transform: translateY(-50%);
}

.sfl-page.sfl-pr .sfl-pr-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.sfl-page.sfl-pr .sfl-pr-toc {
    position: sticky;
    top: 110px;
    max-height: calc(100vh - 130px);
    overflow-y: auto;
    padding: 18px 16px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
}

.sfl-page.sfl-pr .sfl-pr-toc-head {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    margin: 0 0 10px;
    padding: 2px 0 11px;
    border: 0;
    border-bottom: 1px solid var(--sfd-line-purple);
    background: #fff;
    color: var(--sfd-ink);
    font-size: 0.88rem;
    font-weight: 800;
    text-align: start;
    cursor: default;
}

.sfl-page.sfl-pr .sfl-pr-toc-head .sfl-icn {
    width: 16px;
    height: 16px;
    color: var(--sfd-purple-bright);
}

.sfl-page.sfl-pr .sfl-pr-toc-chev {
    display: none;
    margin-inline-start: auto;
    color: var(--sfd-muted);
    transition: transform 0.22s;
}

.sfl-page.sfl-pr .sfl-pr-toc a {
    display: block;
    padding: 7px 11px;
    border-inline-start: 2px solid transparent;
    border-radius: 10px;
    color: var(--sfd-muted);
    font-size: 0.805rem;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
}

.sfl-page.sfl-pr .sfl-pr-toc a:hover {
    background: #FBF9FE;
    color: var(--sfd-purple-deep);
}

.sfl-page.sfl-pr .sfl-pr-toc a.on {
    border-inline-start-color: var(--sfd-magenta);
    background: linear-gradient(135deg, rgba(101, 53, 201, 0.08), rgba(255, 122, 24, 0.08));
    color: var(--sfd-purple-deep);
}

.sfl-page.sfl-pr .sfl-pr-article {
    padding: 30px 34px 28px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
}

.sfl-page.sfl-pr .sfl-pr-article h2 {
    position: relative;
    margin-top: 30px;
    font-size: clamp(1.18rem, 2.1vw, 1.46rem);
    letter-spacing: -0.6px;
    line-height: 1.35;
    scroll-margin-top: 110px;
}

.sfl-page.sfl-pr .sfl-pr-article h2::before {
    content: "";
    display: block;
    width: 46px;
    height: 4px;
    margin-bottom: 11px;
    border-radius: 3px;
    background: linear-gradient(90deg, #6535C9, #D34BB5);
}

.sfl-page.sfl-pr .sfl-pr-article p,
.sfl-page.sfl-pr .sfl-pr-article li {
    color: var(--sfd-ink-soft);
    font-weight: 500;
    line-height: 1.95;
}

.sfl-page.sfl-pr .sfl-pr-article p {
    margin-top: 12px;
    font-size: 0.955rem;
}

.sfl-page.sfl-pr .sfl-pr-lead {
    margin-top: 0;
    padding: 18px 20px;
    border: 1px solid var(--sfd-line-purple);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(101, 53, 201, 0.055), rgba(255, 122, 24, 0.055));
}

.sfl-page.sfl-pr .sfl-pr-lead p {
    margin-top: 0;
    font-weight: 600;
}

.sfl-page.sfl-pr .sfl-pr-lead p + p {
    margin-top: 10px;
}

.sfl-page.sfl-pr .sfl-pr-article .boldText,
.sfl-page.sfl-pr .sfl-pr-article strong,
.sfl-page.sfl-pr .sfl-pr-article b {
    color: var(--sfd-ink);
    font-weight: 800;
}

.sfl-page.sfl-pr .sfl-pr-article a {
    border-bottom: 1.5px solid rgba(101, 53, 201, 0.26);
    color: var(--sfd-purple-deep);
    font-weight: 800;
    text-decoration: none;
}

.sfl-page.sfl-pr .sfl-pr-article a:hover {
    border-bottom-color: var(--sfd-purple-bright);
}

.sfl-page.sfl-pr .sfl-pr-article ul,
.sfl-page.sfl-pr .sfl-pr-article ol {
    display: grid;
    gap: 10px;
    margin-top: 13px;
    padding: 0;
    list-style: none;
}

.sfl-page.sfl-pr .sfl-pr-article ul li,
.sfl-page.sfl-pr .sfl-pr-article ol li {
    position: relative;
    font-size: 0.93rem;
    line-height: 1.85;
}

.sfl-page.sfl-pr .sfl-pr-article ul li {
    padding-right: 26px;
    padding-left: 0;
}

.sfl-page.sfl-pr .sfl-pr-article ul li::before {
    content: "";
    position: absolute;
    top: 11px;
    right: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sfd-magenta), var(--sfd-orange));
}

.sfl-page.sfl-pr .sfl-pr-article ol {
    counter-reset: sfl-pr-ol;
}

.sfl-page.sfl-pr .sfl-pr-article ol li {
    padding-right: 40px;
    padding-left: 0;
    counter-increment: sfl-pr-ol;
}

.sfl-page.sfl-pr .sfl-pr-article ol li::before {
    content: counter(sfl-pr-ol);
    position: absolute;
    top: 2px;
    right: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    background: linear-gradient(135deg, #6535C9, #B62AE6);
    box-shadow: 0 10px 18px -10px rgba(101, 53, 201, 0.85);
    color: #fff;
    direction: ltr;
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page.sfl-pr .sfl-pr-pull {
    position: relative;
    overflow: hidden;
    margin-top: 20px;
    padding: 20px 22px;
    border-radius: 20px;
    background: linear-gradient(165deg, #241442 0%, #2E1856 32%, #3C1B63 62%, #26143F 100%);
    box-shadow: 0 22px 44px -26px rgba(36, 20, 66, 0.95);
}

.sfl-page.sfl-pr .sfl-pr-pull::before {
    content: "";
    position: absolute;
    top: -140px;
    inset-inline-start: -50px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(182, 42, 230, 0.42), transparent 70%);
    filter: blur(28px);
}

.sfl-page.sfl-pr .sfl-pr-pull p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #fff;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.75;
}

.sfl-page.sfl-pr .sfl-pr-pull b {
    color: #FFB06B;
}

.sfl-page.sfl-pr .sfl-pr-vid {
    margin-top: 22px;
}

.sfl-page.sfl-pr .sfl-pr-more {
    position: relative;
    max-height: 1400px;
    overflow: hidden;
    transition: max-height 0.5s ease;
}

.sfl-page.sfl-pr .sfl-pr-more.open {
    max-height: none;
}

.sfl-page.sfl-pr .sfl-pr-more:not(.open)::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 200px;
    background: linear-gradient(to top, #fff 12%, rgba(255, 255, 255, 0.85) 48%, rgba(255, 255, 255, 0));
    pointer-events: none;
}

.sfl-page.sfl-pr .sfl-pr-more-btn {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    margin-top: -16px;
}

.sfl-page.sfl-pr .sfl-pr-more-btn.sfl-pr-art-done {
    display: none;
}

@media (max-width: 1160px) {
    .sfl-page.sfl-pr .sfl-pr-bens {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfl-page.sfl-pr .sfl-pr-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .sfl-page.sfl-pr .sfl-pr-toc {
        position: static;
        max-height: none;
        overflow: visible;
        padding: 14px;
    }

    .sfl-page.sfl-pr .sfl-pr-toc-head {
        margin-bottom: 0;
        padding: 0;
        border-bottom: 0;
        cursor: pointer;
    }

    .sfl-page.sfl-pr .sfl-pr-toc-chev {
        display: block;
    }

    .sfl-page.sfl-pr .sfl-pr-toc-head[aria-expanded="true"] {
        margin-bottom: 10px;
        padding-bottom: 11px;
        border-bottom: 1px solid var(--sfd-line-purple);
    }

    .sfl-page.sfl-pr .sfl-pr-toc-head[aria-expanded="true"] .sfl-pr-toc-chev {
        transform: rotate(180deg);
    }

    .sfl-page.sfl-pr .sfl-pr-toc-list {
        display: none;
        flex-wrap: wrap;
        gap: 6px;
    }

    .sfl-page.sfl-pr .sfl-pr-toc-list.open {
        display: flex;
    }

    .sfl-page.sfl-pr .sfl-pr-toc a {
        padding: 6px 13px;
        border: 1.5px solid var(--sfd-line-purple);
        border-inline-start: 1.5px solid var(--sfd-line-purple);
        border-radius: 999px;
        font-size: 0.78rem;
    }

    .sfl-page.sfl-pr .sfl-pr-toc a.on {
        border-color: transparent;
        background: linear-gradient(135deg, #6535C9, #B62AE6);
        color: #fff;
    }
}

@media (max-width: 980px) {
    .sfl-page.sfl-pr .sfl-hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .sfl-page.sfl-pr .sfl-pr-art {
        max-width: 340px;
        margin-top: 6px;
        margin-inline: auto;
    }

    .sfl-page.sfl-pr .sfl-pr-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfl-page.sfl-pr .sfl-pr-ai {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 720px) {
    .sfl-page.sfl-pr .sfl-hero {
        padding-bottom: 22px;
    }

    .sfl-page.sfl-pr .sfl-pr-bens,
    .sfl-page.sfl-pr .sfl-pr-steps {
        grid-template-columns: minmax(0, 1fr);
    }

    .sfl-page.sfl-pr .sfl-pr-band {
        padding: 22px 16px 20px;
        border-radius: 22px;
    }

    .sfl-page.sfl-pr .sfl-pr-article {
        padding: 22px 18px 20px;
        border-radius: 20px;
    }

    .sfl-page.sfl-pr .sfl-pr-f1,
    .sfl-page.sfl-pr .sfl-pr-f2 {
        display: none;
    }

    .sfl-page.sfl-pr #prExamplesCarousel .prExampleItem {
        flex-basis: 78%;
    }

    .sfl-page.sfl-pr .sfl-pr-more:not(.open) {
        max-height: 900px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sfl-page.sfl-pr .sfl-pr-ben,
    .sfl-page.sfl-pr .sfl-pr-step,
    .sfl-page.sfl-pr .sfl-pr-ai-card,
    .sfl-page.sfl-pr #prExamplesCarousel .prExampleItem,
    .sfl-page.sfl-pr .sfl-pr-ex-btn,
    .sfl-page.sfl-pr .sfl-pr-more,
    .sfl-page.sfl-pr .sfl-pr-toc-chev {
        transition: none;
    }

    .sfl-page.sfl-pr .sfl-pr-ben:hover,
    .sfl-page.sfl-pr .sfl-pr-step:hover,
    .sfl-page.sfl-pr .sfl-pr-ai-card:hover,
    .sfl-page.sfl-pr #prExamplesCarousel .prExampleItem:hover,
    .sfl-page.sfl-pr .sfl-pr-ex-btn:hover {
        transform: none;
    }
}

/* TikTok Ads. Only .sfl-tk uses these rules. Do not recolor shared tones. */

.sfl-page.sfl-tk .sfl-pt-1 {
    --sfl-g: linear-gradient(135deg, #6535C9, #2874FF);
}

.sfl-page.sfl-tk .sfl-pt-2 {
    --sfl-g: linear-gradient(135deg, #B62AE6, #FE2C55);
}

.sfl-page.sfl-tk .sfl-pt-3 {
    --sfl-g: linear-gradient(135deg, #25C9E6, #3ACB88);
}

.sfl-page.sfl-tk .sfl-sale-ic-tk {
    background: linear-gradient(135deg, #14101F, #3C1B63);
    box-shadow: 0 18px 28px -14px rgba(20, 16, 31, 0.8), inset 0 2px 3px rgba(255, 255, 255, 0.25);
}

.sfl-page.sfl-tk .sfl-sale-ic-tk .sfl-icn {
    filter: drop-shadow(-1.5px -1px 0 #25F4EE) drop-shadow(1.5px 1px 0 #FE2C55);
}

.sfl-page.sfl-tk .sfl-prose a.sfd-btn.sfd-btn-accent {
    color: #fff;
    font-weight: 800;
    border-bottom: 0;
    text-decoration: none;
}

.sfl-page.sfl-tk .sfl-tk-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 0;
}

.sfl-page.sfl-tk .sfl-tk-glow {
    position: absolute;
    inset: -8% -16%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 40%, rgba(37, 244, 238, 0.22), transparent 55%),
        radial-gradient(circle at 65% 60%, rgba(254, 44, 85, 0.2), transparent 55%),
        radial-gradient(circle, rgba(153, 72, 245, 0.18), transparent 72%);
    filter: blur(36px);
    pointer-events: none;
}

.sfl-page.sfl-tk .sfl-tk-phone {
    position: relative;
    z-index: 2;
    width: 250px;
    aspect-ratio: 9 / 18.5;
    padding: 9px;
    border-radius: 38px;
    background: #14101F;
    box-shadow: 0 50px 90px -40px rgba(30, 12, 60, 0.85), 0 0 0 2px #2A2340, inset 0 0 0 2px #2A2340;
    transform: rotate(-3deg);
}

.sfl-page.sfl-tk .sfl-tk-phone::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 50%;
    z-index: 3;
    width: 70px;
    height: 18px;
    margin-left: -35px;
    border-radius: 12px;
    background: #14101F;
}

.sfl-page.sfl-tk .sfl-tk-screen {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 30px;
    background: linear-gradient(170deg, #3C1B63 0%, #7B2FC9 38%, #E5479A 72%, #FF7A18 110%);
}

.sfl-page.sfl-tk .sfl-tk-screen::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.22), transparent 40%),
        linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.55));
}

.sfl-page.sfl-tk .sfl-tk-tabs,
.sfl-page.sfl-tk .sfl-tk-prod,
.sfl-page.sfl-tk .sfl-tk-side,
.sfl-page.sfl-tk .sfl-tk-cap,
.sfl-page.sfl-tk .sfl-tk-cta {
    position: absolute;
    z-index: 2;
}

.sfl-page.sfl-tk .sfl-tk-tabs {
    top: 46px;
    right: 0;
    left: 0;
    display: flex;
    justify-content: center;
    gap: 14px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.72rem;
    font-weight: 800;
}

.sfl-page.sfl-tk .sfl-tk-tabs b {
    position: relative;
    color: #fff;
}

.sfl-page.sfl-tk .sfl-tk-tabs b::after {
    content: "";
    position: absolute;
    right: 30%;
    bottom: -5px;
    left: 30%;
    height: 2px;
    border-radius: 2px;
    background: #fff;
}

.sfl-page.sfl-tk .sfl-tk-prod {
    top: 31%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 104px;
    height: 104px;
    margin-left: -52px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.16);
    box-shadow: 0 24px 40px -18px rgba(0, 0, 0, 0.5);
    color: #fff;
    animation: sfl-tk-bob 4s ease-in-out infinite;
}

.sfl-page.sfl-tk .sfl-tk-prod .sfl-icn {
    width: 48px;
    height: 48px;
}

.sfl-page.sfl-tk .sfl-tk-side {
    bottom: 96px;
    left: 10px;
    display: grid;
    gap: 13px;
    justify-items: center;
}

.sfl-page.sfl-tk .sfl-tk-side > span {
    display: grid;
    justify-items: center;
    gap: 2px;
    direction: ltr;
    color: #fff;
    font-size: 0.58rem;
    font-weight: 800;
}

.sfl-page.sfl-tk .sfl-tk-ib {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
}

.sfl-page.sfl-tk .sfl-tk-ib .sfl-icn {
    width: 18px;
    height: 18px;
}

.sfl-page.sfl-tk .sfl-tk-heart .sfl-icn {
    fill: #FE2C55;
    animation: sfl-tk-beat 1.6s ease-in-out infinite;
}

.sfl-page.sfl-tk .sfl-tk-cap {
    right: 14px;
    bottom: 56px;
    left: 56px;
    color: #fff;
}

.sfl-page.sfl-tk .sfl-tk-cap b {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
}

.sfl-page.sfl-tk .sfl-tk-cap span {
    display: block;
    font-size: 0.66rem;
    font-weight: 600;
    line-height: 1.4;
    opacity: 0.85;
}

.sfl-page.sfl-tk .sfl-tk-cap em {
    display: inline-block;
    margin-top: 4px;
    padding: 1px 7px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 0.58rem;
    font-style: normal;
    font-weight: 800;
}

.sfl-page.sfl-tk .sfl-tk-cta {
    right: 12px;
    bottom: 14px;
    left: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-radius: 10px;
    background: #FE2C55;
    box-shadow: 0 10px 20px -10px rgba(254, 44, 85, 0.9);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
}

.sfl-page.sfl-tk .sfl-tk-cta .sfl-icn {
    width: 12px;
    height: 12px;
    fill: #fff;
    transform: scaleX(-1);
}

.sfl-page.sfl-tk .sfl-tk-float {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 44px -22px rgba(64, 42, 120, 0.82);
    animation: sfl-tk-float 5s ease-in-out infinite;
}

.sfl-page.sfl-tk .sfl-tk-av {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: var(--sfl-g, linear-gradient(135deg, #3ACB88, #22A86C));
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.5), 0 10px 16px -9px rgba(30, 12, 60, 0.6);
    color: #fff;
}

.sfl-page.sfl-tk .sfl-tk-av .sfl-icn {
    width: 17px;
    height: 17px;
}

.sfl-page.sfl-tk .sfl-tk-float b {
    display: block;
    color: var(--sfd-ink);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.25;
}

.sfl-page.sfl-tk .sfl-tk-float div > span {
    display: block;
    color: var(--sfd-muted);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.3;
}

.sfl-page.sfl-tk .sfl-tk-f1 {
    top: 10%;
    inset-inline-end: -4%;
}

.sfl-page.sfl-tk .sfl-tk-f2 {
    bottom: 12%;
    inset-inline-start: -6%;
    --sfl-g: linear-gradient(135deg, #FE2C55, #FF7A18);
    animation-duration: 5.6s;
    animation-delay: 0.8s;
}

.sfl-page.sfl-tk .sfl-tk-f3 {
    top: 46%;
    inset-inline-start: -10%;
    --sfl-g: linear-gradient(135deg, #25C9E6, #2874FF);
    animation-duration: 6s;
    animation-delay: 0.4s;
}

.sfl-page.sfl-tk .sfl-tk-who {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.sfl-page.sfl-tk .sfl-tk-who-card {
    position: relative;
    grid-column: span 2;
    overflow: hidden;
    padding: 24px 22px 22px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, box-shadow 0.24s, border-color 0.24s;
}

.sfl-page.sfl-tk .sfl-tk-who-card:nth-child(4) {
    grid-column: 2 / span 2;
}

.sfl-page.sfl-tk .sfl-tk-who-card:hover {
    border-color: #DCCFF7;
    box-shadow: 0 30px 56px -26px rgba(101, 53, 201, 0.55);
    transform: translateY(-6px);
}

.sfl-page.sfl-tk .sfl-tk-who-card::before {
    content: "";
    position: absolute;
    top: -110px;
    inset-inline-end: -70px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--sfl-glow), transparent 70%);
    filter: blur(26px);
    opacity: 0.55;
    pointer-events: none;
}

.sfl-page.sfl-tk .sfl-tk-wic {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 19px;
    background: var(--sfl-g);
    box-shadow: 0 20px 30px -14px var(--sfl-glow), inset 0 2px 3px rgba(255, 255, 255, 0.6), inset 0 -7px 14px rgba(0, 0, 0, 0.18);
    color: #fff;
}

.sfl-page.sfl-tk .sfl-tk-wic::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.1));
}

.sfl-page.sfl-tk .sfl-tk-wic .sfl-icn {
    position: relative;
    z-index: 2;
    width: 27px;
    height: 27px;
}

.sfl-page.sfl-tk .sfl-tk-who-card h3,
.sfl-page.sfl-tk .sfl-tk-who-card p {
    position: relative;
}

.sfl-page.sfl-tk .sfl-tk-who-card h3 {
    margin-top: 15px;
    font-size: 1.08rem;
    line-height: 1.4;
}

.sfl-page.sfl-tk .sfl-tk-who-card p {
    margin-top: 7px;
    color: var(--sfd-muted);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.75;
}

.sfl-page.sfl-tk .sfl-tk-w1 { --sfl-g: linear-gradient(135deg, #E5479A, #B62AE6); --sfl-glow: rgba(229, 71, 154, 0.6); }
.sfl-page.sfl-tk .sfl-tk-w2 { --sfl-g: linear-gradient(135deg, #FF7A18, #FE2C55); --sfl-glow: rgba(255, 122, 24, 0.6); }
.sfl-page.sfl-tk .sfl-tk-w3 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); --sfl-glow: rgba(101, 53, 201, 0.6); }
.sfl-page.sfl-tk .sfl-tk-w4 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); --sfl-glow: rgba(58, 203, 136, 0.6); }
.sfl-page.sfl-tk .sfl-tk-w5 { --sfl-g: linear-gradient(135deg, #25C9E6, #6535C9); --sfl-glow: rgba(37, 201, 230, 0.6); }

.sfl-page.sfl-tk .sfl-tk-aud {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.sfl-page.sfl-tk .sfl-tk-aud-card {
    padding: 22px 20px 20px;
    border: 1.5px solid var(--sfd-line-purple);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px -28px rgba(64, 42, 120, 0.6);
    transition: transform 0.24s, border-color 0.24s;
}

.sfl-page.sfl-tk .sfl-tk-aud-card:hover {
    border-color: #DCCFF7;
    transform: translateY(-5px);
}

.sfl-page.sfl-tk .sfl-tk-age {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    background: var(--sfl-g, var(--sfd-grad-text));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    direction: ltr;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -1px;
    line-height: 1;
}

.sfl-page.sfl-tk .sfl-tk-age .sfl-icn {
    align-self: center;
    width: 30px;
    height: 30px;
    background: none;
    color: var(--sfd-purple-bright);
    -webkit-text-fill-color: var(--sfd-purple-bright);
}

.sfl-page.sfl-tk .sfl-tk-aud-card h3 {
    margin-top: 10px;
}

.sfl-page.sfl-tk .sfl-tk-aud-card p {
    margin-top: 6px;
    color: var(--sfd-muted);
    font-size: 0.87rem;
    font-weight: 600;
    line-height: 1.7;
}

.sfl-page.sfl-tk .sfl-tk-a1 { --sfl-g: linear-gradient(135deg, #FE2C55, #FF7A18); }
.sfl-page.sfl-tk .sfl-tk-a2 { --sfl-g: linear-gradient(135deg, #B62AE6, #E5479A); }
.sfl-page.sfl-tk .sfl-tk-a3 { --sfl-g: linear-gradient(135deg, #6535C9, #2874FF); }
.sfl-page.sfl-tk .sfl-tk-a4 { --sfl-g: linear-gradient(135deg, #25C9E6, #3ACB88); }

.sfl-page.sfl-tk .sfl-tk-bars {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    height: 150px;
    margin-top: auto;
    padding-top: 22px;
}

.sfl-page.sfl-tk .sfl-tk-bars span {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex: 1;
    height: var(--sfl-h);
    padding-bottom: 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 10px 10px 4px 4px;
    background: rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.72rem;
    font-weight: 800;
}

.sfl-page.sfl-tk .sfl-tk-bars .sfl-tk-me {
    border: 0;
    background: linear-gradient(180deg, #25F4EE, #2874FF);
    box-shadow: 0 14px 24px -10px rgba(37, 244, 238, 0.6);
    color: #0B1E3A;
}

.sfl-page.sfl-tk .sfl-tk-h38 { --sfl-h: 38%; }
.sfl-page.sfl-tk .sfl-tk-h72 { --sfl-h: 72%; }
.sfl-page.sfl-tk .sfl-tk-h94 { --sfl-h: 94%; }

.sfl-page.sfl-tk .sfl-tk-bars-cap {
    margin-top: 8px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.72rem;
    font-weight: 700;
    text-align: center;
}

.sfl-page.sfl-tk .sfl-tk-b1 { --sfl-g: linear-gradient(135deg, #FE2C55, #FF7A18); }
.sfl-page.sfl-tk .sfl-tk-b2 { --sfl-g: linear-gradient(135deg, #B62AE6, #6535C9); }
.sfl-page.sfl-tk .sfl-tk-b3 { --sfl-g: linear-gradient(135deg, #2874FF, #25C9E6); }
.sfl-page.sfl-tk .sfl-tk-b4 { --sfl-g: linear-gradient(135deg, #3ACB88, #2874FF); }

.sfl-page.sfl-tk .sfl-why-list {
    grid-template-columns: minmax(0, 1fr);
}

.sfl-page.sfl-tk .sfl-tk-sum {
    margin-top: 20px;
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.07);
}

.sfl-page.sfl-tk .sfl-tk-sum small {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.8rem;
    font-weight: 800;
}

.sfl-page.sfl-tk .sfl-tk-sum p {
    margin-top: 4px;
    color: #fff;
    font-size: 1.06rem;
    font-weight: 800;
    line-height: 1.65;
}

.sfl-page.sfl-tk .sfl-tk-sum span {
    color: #FFB06B;
}

@keyframes sfl-tk-bob {
    0%, 100% { transform: translateY(0) rotate(0); }
    50% { transform: translateY(-8px) rotate(3deg); }
}

@keyframes sfl-tk-beat {
    0%, 100% { transform: scale(1); }
    15% { transform: scale(1.25); }
    30% { transform: scale(1); }
}

@keyframes sfl-tk-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@media (max-width: 1160px) {
    .sfl-page.sfl-tk .sfl-tk-who {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfl-page.sfl-tk .sfl-tk-who-card,
    .sfl-page.sfl-tk .sfl-tk-who-card:nth-child(4) {
        grid-column: auto;
    }

    .sfl-page.sfl-tk .sfl-tk-who-card:nth-child(5) {
        grid-column: 1 / -1;
    }

    .sfl-page.sfl-tk .sfl-tk-aud {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sfl-page.sfl-tk .sfl-tk-bars {
        max-width: 420px;
        height: 120px;
    }
}

@media (max-width: 980px) {
    .sfl-page.sfl-tk .sfl-tk-art {
        width: 100%;
        max-width: 380px;
        margin-inline: auto;
    }
}

@media (max-width: 720px) {
    .sfl-page.sfl-tk .sfl-tk-phone {
        width: 220px;
    }

    .sfl-page.sfl-tk .sfl-tk-f1 {
        inset-inline-end: -2%;
    }

    .sfl-page.sfl-tk .sfl-tk-f2 {
        bottom: -3%;
        inset-inline-start: -2%;
    }

    .sfl-page.sfl-tk .sfl-tk-f3 {
        display: none;
    }

    .sfl-page.sfl-tk .sfl-tk-who,
    .sfl-page.sfl-tk .sfl-tk-aud {
        grid-template-columns: minmax(0, 1fr);
    }

    .sfl-page.sfl-tk .sfl-tk-who-card,
    .sfl-page.sfl-tk .sfl-tk-who-card:nth-child(4),
    .sfl-page.sfl-tk .sfl-tk-who-card:nth-child(5) {
        grid-column: auto;
    }
}

@media (max-width: 420px) {
    .sfl-page.sfl-tk .sfl-tk-float {
        padding: 8px 11px;
    }

    .sfl-page.sfl-tk .sfl-tk-float b {
        font-size: 0.76rem;
    }

    .sfl-page.sfl-tk .sfl-tk-f1 {
        inset-inline-end: 0;
    }

    .sfl-page.sfl-tk .sfl-tk-f2 {
        inset-inline-start: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sfl-page.sfl-tk .sfl-tk-prod,
    .sfl-page.sfl-tk .sfl-tk-heart .sfl-icn,
    .sfl-page.sfl-tk .sfl-tk-float {
        animation: none;
    }
}
