:root {
    --rsml-green: #16a34a;
    --rsml-green-dark: #0f7a38;
    --rsml-green-deep: #075f2b;
    --rsml-mint: #edf9f1;
    --rsml-ink: #101a14;
    --rsml-text: #34483b;
    --rsml-muted: #687970;
    --rsml-line: #dce9df;
    --rsml-surface: #f6faf7;
    --rsml-white: #fff;
}

html:has(.rsml-page) {
    scroll-behavior: smooth;
    background: #f7faf8;
}

body.rsml-page,
body.rockppt-membership-landing-page {
    min-width: 320px;
    margin: 0;
    overflow-x: hidden;
    color: var(--rsml-ink);
    background:
        radial-gradient(circle at 78% 2%, rgba(83, 203, 119, .13), transparent 28rem),
        radial-gradient(circle at 8% 20%, rgba(153, 226, 174, .12), transparent 24rem),
        #f8fbf9;
}

body.rsml-page * {
    box-sizing: border-box;
}

.rsml-page a,
.rsml-page button,
.rsml-page input,
.rsml-page summary {
    font: inherit;
}

.rsml-page a:focus-visible,
.rsml-page button:focus-visible,
.rsml-page input:focus-visible,
.rsml-page summary:focus-visible {
    outline: 3px solid rgba(22, 163, 74, .22);
    outline-offset: 3px;
}

.rsml-main {
    width: min(calc(100% - 48px), 1240px);
    margin: 0 auto;
    padding: 28px 0 34px;
}

.rsml-announcement {
    display: flex;
    width: fit-content;
    max-width: 100%;
    min-height: 34px;
    margin: 0 auto 28px;
    align-items: center;
    gap: 9px;
    padding: 6px 12px;
    border: 1px solid #cfe6d6;
    border-radius: 999px;
    color: #31513e;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 8px 24px rgba(14, 81, 40, .05);
    font-size: 12px;
    backdrop-filter: blur(12px);
}

.rsml-announcement-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--rsml-green);
    box-shadow: 0 0 0 5px rgba(22, 163, 74, .1);
}

.rsml-announcement strong {
    font-weight: 700;
}

.rsml-announcement a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--rsml-green-dark);
    font-weight: 800;
    text-decoration: none;
}

.rsml-hero {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
    min-height: 590px;
    align-items: center;
    gap: 70px;
    padding: 54px 12px 70px;
}

.rsml-hero-copy {
    position: relative;
    z-index: 2;
}

.rsml-eyebrow,
.rsml-section-heading > span,
.rsml-plugin-promo > div:first-child > span,
.rsml-faq-intro > span,
.rsml-modal-kicker {
    display: block;
    margin-bottom: 15px;
    color: var(--rsml-green-dark);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
}

.rsml-hero h1 {
    max-width: 650px;
    margin: 0;
    color: #0d1711;
    font-size: clamp(42px, 4.2vw, 66px);
    font-weight: 950;
    letter-spacing: -.045em;
    line-height: 1.08;
}

.rsml-hero-highlight {
    display: flex;
    margin: 24px 0 0;
    align-items: center;
    gap: 9px;
    color: var(--rsml-green-dark);
    font-size: 17px;
    font-weight: 850;
    line-height: 1.45;
}

.rsml-hero-highlight span {
    display: grid;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--rsml-green);
    font-size: 13px;
}

.rsml-hero-description {
    max-width: 620px;
    margin: 18px 0 0;
    color: var(--rsml-text);
    font-size: 16px;
    line-height: 1.82;
}

.rsml-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 30px;
}

.rsml-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 14px;
    font-weight: 850;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.rsml-button:hover {
    transform: translateY(-1px);
}

.rsml-button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rsml-button.is-primary {
    color: #fff;
    background: linear-gradient(135deg, #20ad50, #13823d);
    box-shadow: 0 12px 28px rgba(22, 163, 74, .2);
}

.rsml-button.is-primary:hover {
    box-shadow: 0 15px 32px rgba(22, 163, 74, .26);
}

.rsml-button.is-secondary {
    border-color: #cfdcd2;
    color: #26372c;
    background: rgba(255, 255, 255, .82);
}

.rsml-button.is-secondary:hover {
    border-color: #9ecdad;
    background: #fff;
}

.rsml-hero-assurances {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 22px;
    color: #687970;
    font-size: 11px;
    font-weight: 700;
}

.rsml-hero-assurances span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.rsml-hero-assurances svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: #3fa45e;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rsml-product-visual {
    position: relative;
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(133, 177, 146, .45);
    border-radius: 8px;
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 28px 70px rgba(18, 65, 34, .15), inset 0 1px 0 #fff;
}

.rsml-product-visual::before {
    position: absolute;
    z-index: -1;
    inset: -36px -40px -28px -32px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(70, 193, 106, .2), transparent 67%);
    content: '';
    filter: blur(6px);
}

.rsml-window-bar {
    display: flex;
    height: 34px;
    align-items: center;
    gap: 5px;
    padding: 0 11px;
    border-bottom: 1px solid #e4ece6;
    color: #6a776f;
    font-size: 10px;
}

.rsml-window-bar span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #c9d5cc;
}

.rsml-window-bar span:first-child { background: #f58e88; }
.rsml-window-bar span:nth-child(2) { background: #f3c96c; }
.rsml-window-bar span:nth-child(3) { background: #70c98a; }

.rsml-window-bar strong {
    margin-left: 8px;
    font-weight: 650;
}

.rsml-workspace {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 196px;
    min-height: 388px;
    overflow: hidden;
    border-radius: 0 0 5px 5px;
    background: #edf1ee;
}

.rsml-slide-rail {
    display: grid;
    align-content: start;
    gap: 11px;
    padding: 16px 9px;
    border-right: 1px solid #dde5df;
    background: #f9fbfa;
}

.rsml-slide-rail i {
    display: block;
    aspect-ratio: 16 / 9;
    border: 1px solid #d7e1da;
    border-radius: 2px;
    background: linear-gradient(145deg, #fff 60%, #dff1e4 60%);
}

.rsml-slide-rail i:first-child {
    border: 2px solid #30aa56;
}

.rsml-slide-canvas {
    position: relative;
    align-self: center;
    aspect-ratio: 16 / 9;
    margin: 22px;
    overflow: hidden;
    padding: 30px;
    border: 1px solid #dae3dc;
    border-radius: 3px;
    background:
        linear-gradient(115deg, rgba(22, 163, 74, .08), transparent 55%),
        #fff;
    box-shadow: 0 9px 24px rgba(38, 61, 46, .08);
}

.rsml-slide-canvas::after {
    position: absolute;
    width: 180px;
    height: 180px;
    right: -54px;
    bottom: -64px;
    border: 34px solid rgba(22, 163, 74, .1);
    border-radius: 50%;
    content: '';
}

.rsml-slide-canvas > span {
    color: #258d49;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .14em;
}

.rsml-slide-canvas > strong {
    display: block;
    margin-top: 18px;
    color: #122018;
    font-size: clamp(20px, 2.1vw, 33px);
    letter-spacing: -.04em;
    line-height: 1.1;
}

.rsml-slide-canvas > div {
    display: flex;
    gap: 7px;
    margin-top: 24px;
}

.rsml-slide-canvas > div i {
    display: block;
    width: 35px;
    height: 5px;
    border-radius: 3px;
    background: #d7e2da;
}

.rsml-slide-canvas > div i:first-child { width: 62px; background: #51b46e; }

.rsml-plugin-panel {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 17px 13px 12px;
    border-left: 1px solid #dce5df;
    background: #fff;
}

.rsml-plugin-brand {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rsml-plugin-brand b {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 6px;
    color: #fff;
    background: #16a34a;
    font-size: 13px;
}

.rsml-plugin-brand strong { font-size: 12px; }
.rsml-plugin-brand em { margin-left: auto; color: #169443; font-size: 7px; font-style: normal; font-weight: 900; }

.rsml-plugin-search {
    margin-top: 16px;
    padding: 9px;
    border: 1px solid #dfe8e1;
    border-radius: 5px;
    color: #8b9890;
    background: #f8faf8;
    font-size: 8px;
}

.rsml-plugin-tabs {
    display: flex;
    gap: 12px;
    margin-top: 15px;
    border-bottom: 1px solid #e8eee9;
    color: #7c8880;
    font-size: 8px;
}

.rsml-plugin-tabs span { padding-bottom: 7px; }
.rsml-plugin-tabs .is-active { border-bottom: 2px solid #21a64d; color: #16863e; font-weight: 800; }

.rsml-plugin-results {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 11px;
}

.rsml-plugin-results i {
    display: block;
    aspect-ratio: 16 / 10;
    border: 1px solid #e0e8e2;
    border-radius: 4px;
    background: linear-gradient(145deg, #eaf7ee 38%, #fff 38% 63%, #dcefe2 63%);
}

.rsml-plugin-results i:nth-child(2) { background: linear-gradient(30deg, #e3f2e7 45%, #fff 45%); }
.rsml-plugin-results i:nth-child(3) { background: linear-gradient(150deg, #fff 55%, #d5ebdc 55%); }

.rsml-plugin-status {
    display: flex;
    margin-top: auto;
    align-items: center;
    gap: 6px;
    padding: 8px;
    border-radius: 5px;
    color: #287242;
    background: #eff9f2;
    font-size: 8px;
    font-weight: 750;
}

.rsml-plugin-status span { width: 6px; height: 6px; border-radius: 50%; background: #25ad52; }

.rsml-floating-proof {
    position: absolute;
    display: grid;
    gap: 2px;
    min-width: 138px;
    padding: 10px 12px;
    border: 1px solid #d8e8dc;
    border-radius: 7px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 30px rgba(22, 71, 37, .12);
}

.rsml-floating-proof strong { font-size: 12px; }
.rsml-floating-proof span { color: var(--rsml-muted); font-size: 9px; }
.rsml-floating-proof.is-first { left: -28px; bottom: 52px; }
.rsml-floating-proof.is-second { top: 70px; right: -28px; }

.rsml-account-strip,
.rsml-guest-strip {
    display: flex;
    min-height: 92px;
    align-items: center;
    gap: 28px;
    margin: 0 0 52px;
    padding: 18px 22px;
    border: 1px solid var(--rsml-line);
    border-radius: 8px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 10px 32px rgba(29, 71, 43, .05);
}

.rsml-account-strip > div:not(.rsml-account-actions) {
    display: grid;
    min-width: 180px;
    gap: 2px;
    padding-right: 28px;
    border-right: 1px solid #e6ede8;
}

.rsml-account-strip span,
.rsml-account-strip small { color: var(--rsml-muted); font-size: 11px; }
.rsml-account-strip strong { font-size: 17px; }
.rsml-account-actions { display: flex; margin-left: auto; align-items: center; gap: 10px; }

.rsml-account-actions button,
.rsml-account-actions a,
.rsml-guest-strip a {
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #cadbcf;
    border-radius: 6px;
    color: #24402d;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.rsml-account-actions button,
.rsml-guest-strip a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rsml-account-actions button,
.rsml-guest-strip a.is-primary { border-color: #b8dfc3; color: var(--rsml-green-dark); background: #eff9f2; }

.rsml-guest-strip { justify-content: space-between; }
.rsml-guest-strip > div:first-child { display: grid; gap: 4px; }
.rsml-guest-strip > div:first-child strong { font-size: 15px; }
.rsml-guest-strip > div:first-child span { color: var(--rsml-muted); font-size: 12px; }
.rsml-guest-strip > div:last-child { display: flex; gap: 9px; }

.rsml-checkout-notice,
.rsml-purchase-message {
    display: none;
    margin: 0 0 28px;
    padding: 12px 14px;
    border: 1px solid #d6e6db;
    border-radius: 7px;
    color: #31513e;
    background: #f1faf4;
    font-size: 12px;
}

.rsml-checkout-notice { display: block; }
.rsml-checkout-notice.is-warning,
.rsml-purchase-message.is-error { border-color: #efd7a5; color: #825b13; background: #fffaf0; }
.rsml-purchase-message.is-visible { display: block; }

.rsml-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 0 0 104px;
    overflow: hidden;
    border: 1px solid var(--rsml-line);
    border-radius: 8px;
    background: var(--rsml-line);
}

.rsml-proof-grid article {
    min-width: 0;
    padding: 24px;
    background: #fff;
}

.rsml-proof-grid strong { display: block; color: var(--rsml-green-dark); font-size: 14px; }
.rsml-proof-grid span { display: block; margin-top: 7px; color: var(--rsml-ink); font-size: 14px; font-weight: 850; }
.rsml-proof-grid p { margin: 5px 0 0; color: var(--rsml-muted); font-size: 11px; line-height: 1.6; }

.rsml-section-heading { max-width: 650px; margin-bottom: 36px; }
.rsml-section-heading.is-centered { margin-right: auto; margin-left: auto; text-align: center; }
.rsml-section-heading > span { margin-bottom: 11px; }
.rsml-section-heading h2,
.rsml-faq-intro h2,
.rsml-plugin-promo h2 {
    margin: 0;
    color: var(--rsml-ink);
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 930;
    letter-spacing: -.035em;
    line-height: 1.15;
}

.rsml-section-heading p,
.rsml-faq-intro p {
    margin: 14px 0 0;
    color: var(--rsml-muted);
    font-size: 14px;
    line-height: 1.75;
}

.rsml-plans-section { scroll-margin-top: 86px; padding: 12px 0 108px; }
.rsml-plans-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }

.rsml-plan-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 520px;
    flex-direction: column;
    padding: 26px;
    border: 1px solid #dce6df;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(26, 68, 39, .055);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.rsml-plan-card:hover { transform: translateY(-3px); border-color: #b4d5be; box-shadow: 0 18px 44px rgba(26, 68, 39, .09); }
.rsml-plan-card.is-best-value { border-color: #70bf88; background: linear-gradient(180deg, #f3fbf5 0, #fff 30%); box-shadow: 0 18px 48px rgba(22, 163, 74, .11); }
.rsml-plan-card.is-popular { border-color: #c4ddca; }
.rsml-plan-card.is-current { box-shadow: inset 0 0 0 1px #16a34a; }

.rsml-plan-topline { display: flex; min-height: 25px; align-items: center; justify-content: space-between; gap: 8px; }
.rsml-plan-topline > span { color: var(--rsml-muted); font-size: 10px; font-weight: 850; letter-spacing: .11em; }
.rsml-plan-topline em { padding: 4px 8px; border-radius: 999px; color: #fff; background: #16a34a; font-size: 9px; font-style: normal; font-weight: 850; }
.rsml-plan-card.is-current .rsml-plan-topline em { color: #137a3a; background: #dcf4e3; }

.rsml-plan-card h3 { margin: 22px 0 0; color: var(--rsml-ink); font-size: 23px; font-weight: 900; }
.rsml-plan-price { display: flex; min-height: 58px; margin-top: 16px; align-items: baseline; color: var(--rsml-ink); }
.rsml-plan-price sup { margin-right: 2px; font-size: 18px; font-weight: 850; }
.rsml-plan-price strong { font-size: 42px; font-weight: 930; letter-spacing: -.045em; }
.rsml-plan-price span { margin-left: 7px; color: var(--rsml-muted); font-size: 11px; font-weight: 700; }
.rsml-plan-equivalent { margin: 2px 0 0; color: var(--rsml-green-dark); font-size: 11px; font-weight: 800; }
.rsml-plan-description { min-height: 44px; margin: 16px 0 0; color: var(--rsml-text); font-size: 12px; line-height: 1.65; }

.rsml-plan-card ul { display: grid; gap: 11px; margin: 22px 0 24px; padding: 20px 0 0; border-top: 1px solid #e8eee9; list-style: none; }
.rsml-plan-card li { display: flex; align-items: flex-start; gap: 8px; color: #3e5045; font-size: 12px; line-height: 1.5; }
.rsml-plan-card li span { display: grid; width: 17px; height: 17px; flex: 0 0 17px; place-items: center; border-radius: 50%; color: #14823c; background: #e6f6eb; font-size: 10px; font-weight: 900; }
.rsml-plan-action { display: grid; gap: 9px; margin-top: auto; }
.rsml-plan-action a,
.rsml-plan-action button { display: inline-flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; gap: 7px; border: 1px solid #bed7c5; border-radius: 6px; color: #166f37; background: #f2faf4; font-size: 13px; font-weight: 850; text-decoration: none; cursor: pointer; }
.rsml-plan-card.is-best-value .rsml-plan-action a,
.rsml-plan-card.is-best-value .rsml-plan-action button { border-color: #169243; color: #fff; background: linear-gradient(135deg, #20ac50, #13823d); }
.rsml-plan-action button:disabled { border-color: #dce5df; color: #78867d; background: #f5f7f5; cursor: default; }
.rsml-plan-action small { color: #8a978f; font-size: 9px; text-align: center; }
.rsml-purchase-message { margin-top: 18px; }

.rsml-workflow,
.rsml-features,
.rsml-faq { padding: 100px 0; border-top: 1px solid #e2ebe5; }

.rsml-workflow-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.rsml-workflow-grid article { display: flex; min-height: 170px; gap: 18px; padding: 25px; border: 1px solid var(--rsml-line); border-radius: 8px; background: rgba(255, 255, 255, .76); }
.rsml-workflow-grid b { color: #afd8bb; font-size: 27px; font-weight: 900; }
.rsml-workflow-grid strong { display: block; margin-top: 3px; font-size: 16px; }
.rsml-workflow-grid p { margin: 11px 0 0; color: var(--rsml-muted); font-size: 12px; line-height: 1.7; }

.rsml-feature-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 14px; }
.rsml-feature-grid article { position: relative; min-height: 255px; overflow: hidden; padding: 26px; border: 1px solid var(--rsml-line); border-radius: 8px; background: #fff; }
.rsml-feature-grid article.is-wide { display: grid; grid-column: span 3; grid-template-columns: 58px minmax(0, 1fr) auto; min-height: 190px; align-items: center; gap: 20px; background: linear-gradient(115deg, #eff9f2, #fff 62%); }
.rsml-feature-icon { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid #cbe4d2; border-radius: 8px; color: #168740; background: #eff9f2; }
.rsml-feature-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.rsml-feature-grid strong { display: block; margin-top: 24px; font-size: 16px; }
.rsml-feature-grid .is-wide strong { margin-top: 0; font-size: 21px; }
.rsml-feature-grid p { margin: 11px 0 0; color: var(--rsml-muted); font-size: 12px; line-height: 1.72; }
.rsml-feature-grid .is-wide p { max-width: 650px; }
.rsml-feature-grid .is-wide > span { color: #bfd9c6; font-size: 13px; font-weight: 900; letter-spacing: .15em; }

.rsml-plugin-promo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;
    align-items: center;
    gap: 50px;
    margin: 30px 0 28px;
    padding: 54px;
    overflow: hidden;
    border-radius: 8px;
    color: #fff;
    background:
        radial-gradient(circle at 85% 10%, rgba(111, 240, 147, .22), transparent 16rem),
        linear-gradient(125deg, #0b6c33, #159146 55%, #0c7136);
    box-shadow: 0 20px 54px rgba(7, 95, 43, .18);
}

.rsml-plugin-promo > div:first-child > span { color: #c8f4d5; }
.rsml-plugin-promo h2 { max-width: 700px; color: #fff; }
.rsml-plugin-promo p { max-width: 680px; margin: 15px 0 0; color: #d9f1e0; font-size: 13px; line-height: 1.75; }
.rsml-plugin-promo > div:first-child > div { display: flex; align-items: center; gap: 18px; margin-top: 25px; }
.rsml-button.is-light { color: #116f35; background: #fff; }
.rsml-plugin-promo > div:first-child > div > a:not(.rsml-button) { color: #e2f7e8; font-size: 12px; font-weight: 800; text-decoration: none; }

.rsml-plugin-promo-art { display: flex; min-height: 150px; align-items: center; justify-content: center; gap: 15px; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: rgba(255,255,255,.09); box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }
.rsml-plugin-promo-art i,
.rsml-plugin-promo-art strong { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 8px; color: #168740; background: #fff; font-size: 31px; font-style: normal; font-weight: 950; }
.rsml-plugin-promo-art strong { color: #c74336; }
.rsml-plugin-promo-art span { display: grid; gap: 3px; }
.rsml-plugin-promo-art b { font-size: 16px; }
.rsml-plugin-promo-art small { color: #cfead7; font-size: 9px; }
.rsml-plugin-promo-art em { color: #aee9bf; font-size: 24px; font-style: normal; }

.rsml-faq { display: grid; grid-template-columns: .62fr 1.38fr; gap: 80px; }
.rsml-faq-intro { align-self: start; }
.rsml-faq-intro > span { margin-bottom: 10px; }
.rsml-faq-intro a { display: inline-flex; align-items: center; gap: 7px; margin-top: 22px; color: var(--rsml-green-dark); font-size: 12px; font-weight: 850; text-decoration: none; }
.rsml-faq-list { border-top: 1px solid #dce6df; }
.rsml-faq-list details { border-bottom: 1px solid #dce6df; }
.rsml-faq-list summary { position: relative; padding: 21px 44px 21px 2px; color: #1d2e23; font-size: 14px; font-weight: 820; list-style: none; cursor: pointer; }
.rsml-faq-list summary::-webkit-details-marker { display: none; }
.rsml-faq-list summary span::before,
.rsml-faq-list summary span::after { position: absolute; top: 28px; right: 9px; width: 12px; height: 1.5px; background: #3d6e4d; content: ''; transition: transform .18s ease; }
.rsml-faq-list summary span::after { transform: rotate(90deg); }
.rsml-faq-list details[open] summary span::after { transform: rotate(0); }
.rsml-faq-list details p { margin: -5px 44px 20px 2px; color: var(--rsml-muted); font-size: 12px; line-height: 1.75; }

.rsml-footer { display: grid; grid-template-columns: 1fr auto auto; min-height: 110px; align-items: center; gap: 32px; margin-top: 22px; border-top: 1px solid #dde7e0; color: #7a8980; font-size: 11px; }
.rsml-footer > div { display: grid; gap: 3px; }
.rsml-footer > div strong { color: #1e3526; font-size: 15px; }
.rsml-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.rsml-footer a { color: #53645a; text-decoration: none; }

.rsml-modal[hidden] { display: none; }
.rsml-modal { position: fixed; z-index: 99999; inset: 0; display: grid; place-items: center; padding: 22px; }
.rsml-modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(6, 24, 14, .54); cursor: default; backdrop-filter: blur(5px); }
.rsml-modal-dialog { position: relative; z-index: 1; width: min(100%, 520px); max-height: calc(100vh - 44px); overflow-y: auto; padding: 30px; border: 1px solid #d7e6db; border-radius: 8px; background: #fff; box-shadow: 0 28px 80px rgba(5, 35, 16, .28); }
.rsml-modal-close { position: absolute; top: 15px; right: 15px; width: 34px; height: 34px; border: 1px solid #dbe5de; border-radius: 6px; color: #607067; background: #fff; font-size: 22px; cursor: pointer; }
.rsml-modal-kicker { margin-bottom: 8px; }
.rsml-modal h2 { margin: 0; font-size: 24px; }
.rsml-modal-dialog > p { margin: 10px 40px 22px 0; color: var(--rsml-muted); font-size: 12px; line-height: 1.7; }
.rsml-quick-amounts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.rsml-quick-amounts button { min-height: 38px; border: 1px solid #d7e3da; border-radius: 6px; color: #405047; background: #f8faf8; font-size: 12px; font-weight: 800; cursor: pointer; }
.rsml-quick-amounts button.is-active { border-color: #66ba7e; color: #147b39; background: #eef9f1; }
.rsml-amount-field { position: relative; display: grid; gap: 7px; margin-top: 18px; }
.rsml-amount-field > span,
.rsml-payment-methods legend { color: #435249; font-size: 11px; font-weight: 800; }
.rsml-amount-field input { width: 100%; height: 44px; padding: 0 36px 0 12px; border: 1px solid #d4e0d7; border-radius: 6px; color: var(--rsml-ink); background: #fff; }
.rsml-amount-field em { position: absolute; right: 13px; bottom: 13px; color: #6e7c73; font-size: 12px; font-style: normal; }
.rsml-payment-methods { margin: 18px 0 0; padding: 0; border: 0; }
.rsml-payment-methods legend { margin-bottom: 8px; }
.rsml-payment-methods > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.rsml-payment-methods label { display: flex; min-width: 0; align-items: center; gap: 9px; padding: 11px; border: 1px solid #d7e2da; border-radius: 6px; cursor: pointer; }
.rsml-payment-methods label:has(input:checked) { border-color: #58b774; background: #eff9f2; }
.rsml-payment-methods input { accent-color: #16a34a; }
.rsml-payment-methods label > span { display: grid; gap: 2px; }
.rsml-payment-methods strong { font-size: 12px; }
.rsml-payment-methods small { color: var(--rsml-muted); font-size: 9px; }
.rsml-payment-methods label > em { margin-left: auto; padding: 2px 5px; border-radius: 999px; color: #14793a; background: #d9f2e0; font-size: 8px; font-style: normal; }
.rsml-payment-empty { padding: 12px; border: 1px solid #eed7a8; border-radius: 6px; color: #865e13; background: #fffaf0; font-size: 11px; }
.rsml-modal-message { min-height: 18px; margin-top: 12px; color: #8a5f13; font-size: 11px; }
.rsml-modal-submit { width: 100%; min-height: 46px; margin-top: 4px; border: 0; border-radius: 6px; color: #fff; background: linear-gradient(135deg, #20ad50, #13823d); font-weight: 850; cursor: pointer; }
.rsml-modal-submit:disabled { color: #89958d; background: #e7ece8; cursor: not-allowed; }
.rsml-modal-legal { display: block; margin-top: 10px; color: #8b978f; font-size: 9px; line-height: 1.55; text-align: center; }
body.rsml-modal-open { overflow: hidden; }

@media (max-width: 1080px) {
    .rsml-hero { grid-template-columns: 1fr; min-height: 0; gap: 50px; padding-top: 44px; }
    .rsml-hero-copy { max-width: 760px; }
    .rsml-product-visual { width: min(100%, 760px); margin: 0 auto; }
    .rsml-proof-grid { margin-bottom: 82px; }
    .rsml-plugin-promo { grid-template-columns: 1fr 300px; padding: 42px; }
}

@media (max-width: 840px) {
    .rsml-main { width: min(calc(100% - 30px), 1240px); }
    .rsml-product-visual::before { inset: -28px 0 -22px; }
    .rsml-floating-proof.is-first { left: 10px; }
    .rsml-floating-proof.is-second { right: 10px; }
    .rsml-plans-grid,
    .rsml-workflow-grid { grid-template-columns: 1fr; }
    .rsml-plan-card { min-height: 0; }
    .rsml-plan-description { min-height: 0; }
    .rsml-proof-grid { grid-template-columns: 1fr; }
    .rsml-account-strip { align-items: stretch; flex-wrap: wrap; }
    .rsml-account-actions { width: 100%; margin-left: 0; }
    .rsml-feature-grid { grid-template-columns: repeat(2, 1fr); }
    .rsml-feature-grid article.is-wide { grid-column: span 2; grid-template-columns: 58px 1fr; }
    .rsml-feature-grid .is-wide > span { display: none; }
    .rsml-plugin-promo { grid-template-columns: 1fr; }
    .rsml-plugin-promo-art { min-height: 120px; }
    .rsml-faq { grid-template-columns: 1fr; gap: 38px; }
    .rsml-footer { grid-template-columns: 1fr; gap: 16px; padding: 28px 0; }
}

@media (max-width: 620px) {
    .rsml-main { width: min(calc(100% - 24px), 1240px); padding-top: 18px; }
    .rsml-announcement { justify-content: center; flex-wrap: wrap; border-radius: 7px; text-align: center; }
    .rsml-hero { gap: 36px; padding: 36px 0 48px; }
    .rsml-hero h1 { font-size: clamp(37px, 12vw, 52px); }
    .rsml-hero-description { font-size: 14px; }
    .rsml-hero-actions { display: grid; }
    .rsml-button { width: 100%; }
    .rsml-product-visual { overflow: hidden; padding: 6px; }
    .rsml-workspace { grid-template-columns: 39px minmax(0, 1fr) 120px; min-height: 260px; }
    .rsml-slide-canvas { margin: 11px; padding: 15px; }
    .rsml-plugin-panel { padding: 10px 7px 7px; }
    .rsml-plugin-brand b { width: 19px; height: 19px; font-size: 10px; }
    .rsml-plugin-brand strong { font-size: 8px; }
    .rsml-plugin-search { margin-top: 9px; padding: 6px; font-size: 6px; }
    .rsml-plugin-tabs { gap: 6px; margin-top: 9px; font-size: 6px; }
    .rsml-plugin-results { gap: 4px; margin-top: 7px; }
    .rsml-plugin-status { padding: 5px; font-size: 6px; }
    .rsml-floating-proof { display: none; }
    .rsml-account-strip > div:not(.rsml-account-actions) { min-width: 0; flex: 1 1 130px; padding-right: 12px; }
    .rsml-guest-strip { align-items: stretch; flex-direction: column; }
    .rsml-guest-strip > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
    .rsml-proof-grid { margin-bottom: 70px; }
    .rsml-plans-section { padding-bottom: 76px; }
    .rsml-plan-card { padding: 22px; }
    .rsml-plan-price strong { font-size: 38px; }
    .rsml-workflow,
    .rsml-features,
    .rsml-faq { padding: 72px 0; }
    .rsml-feature-grid { grid-template-columns: 1fr; }
    .rsml-feature-grid article.is-wide { grid-column: span 1; grid-template-columns: 48px 1fr; }
    .rsml-plugin-promo { gap: 28px; padding: 29px 22px; }
    .rsml-plugin-promo > div:first-child > div { align-items: stretch; flex-direction: column; }
    .rsml-plugin-promo-art { gap: 9px; }
    .rsml-plugin-promo-art i,
    .rsml-plugin-promo-art strong { width: 48px; height: 48px; font-size: 24px; }
    .rsml-plugin-promo-art span { display: none; }
    .rsml-quick-amounts { grid-template-columns: repeat(2, 1fr); }
    .rsml-payment-methods > div { grid-template-columns: 1fr; }
    .rsml-modal-dialog { padding: 25px 18px; }
}

@media (prefers-reduced-motion: reduce) {
    html:has(.rsml-page) { scroll-behavior: auto; }
    .rsml-button,
    .rsml-plan-card,
    .rsml-faq-list summary span::after { transition: none; }
}
