:root {
    --rv2-ink: #101828;
    --rv2-muted: #5f6b7a;
    --rv2-line: #dfe5ef;
    --rv2-soft: #f5f7fc;
    --rv2-blue: #6f92ff;
    --rv2-blue-dark: #4269e8;
    --rv2-teal: #073c3d;
    --rv2-white: #fff;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--rv2-ink);
    background: var(--rv2-white);
    font-family: "Segoe UI", Inter, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

[hidden] {
    display: none !important;
}

.rv2-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.rv2-shell {
    --rv2-accent: #6f92ff;
    --rv2-accent-dark: #4269e8;
    --rv2-accent-soft: #eef3ff;
    min-width: 320px;
    overflow: hidden;
}

.rv2-theme-navy {
    --rv2-accent: #5775dd;
    --rv2-accent-dark: #314ba6;
    --rv2-accent-soft: #edf0fb;
}

.rv2-theme-cyan {
    --rv2-accent: #22a8b5;
    --rv2-accent-dark: #0d7d88;
    --rv2-accent-soft: #eaf8f9;
}

.rv2-theme-violet {
    --rv2-accent: #8a72d8;
    --rv2-accent-dark: #684eb7;
    --rv2-accent-soft: #f1edfc;
}

.rv2-theme-teal {
    --rv2-accent: #26907d;
    --rv2-accent-dark: #126757;
    --rv2-accent-soft: #eaf6f2;
}

.rv2-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.rv2-header {
    position: relative;
    z-index: 20;
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid rgba(20, 36, 63, .08);
}

.rv2-header__inner {
    min-height: 72px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 32px;
}

.rv2-logo {
    display: inline-flex;
    align-items: center;
}

.rv2-logo img {
    width: 145px;
    height: auto;
    display: block;
}

.rv2-main-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
}

.rv2-main-nav a,
.rv2-work-nav a {
    color: var(--rv2-ink);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: color .2s ease;
}

.rv2-main-nav a:hover,
.rv2-work-nav a:hover {
    color: var(--rv2-accent-dark);
}

.rv2-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rv2-button {
    min-height: 44px;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--rv2-ink);
    background: transparent;
    text-decoration: none;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

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

.rv2-button--primary {
    color: #fff;
    background: var(--rv2-accent);
    box-shadow: 0 10px 24px rgba(75, 110, 220, .18);
}

.rv2-button--primary:hover {
    background: var(--rv2-accent-dark);
}

.rv2-button--ghost {
    color: var(--rv2-accent-dark);
    border-color: var(--rv2-accent);
    background: #fff;
}

.rv2-button--wide {
    width: 100%;
}

.rv2-button--light {
    min-height: 52px;
    color: var(--rv2-teal);
    background: #fff;
}

.rv2-menu-button {
    width: 44px;
    height: 44px;
    padding: 11px;
    border: 0;
    border-radius: 8px;
    display: none;
    background: var(--rv2-soft);
}

.rv2-menu-button span {
    height: 2px;
    display: block;
    margin: 4px 0;
    background: var(--rv2-ink);
}

.rv2-work-nav-wrap {
    position: relative;
    z-index: 10;
    background: #fff;
    border-bottom: 1px solid var(--rv2-line);
}

.rv2-work-nav {
    min-height: 48px;
    display: flex;
    align-items: stretch;
    overflow-x: auto;
    scrollbar-width: none;
}

.rv2-work-nav::-webkit-scrollbar {
    display: none;
}

.rv2-work-nav a {
    padding: 0 17px;
    border-bottom: 2px solid transparent;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    color: #566174;
}

.rv2-work-nav a:first-child {
    padding-left: 0;
}

.rv2-work-nav a.is-active {
    color: var(--rv2-accent-dark);
    border-bottom-color: var(--rv2-accent);
}

.rv2-hero {
    position: relative;
    padding: 28px 0 78px;
    overflow: hidden;
    background:
        radial-gradient(circle at 80% 16%, color-mix(in srgb, var(--rv2-accent) 14%, transparent), transparent 31%),
        linear-gradient(180deg, #fafbff 0%, #f5f7fc 100%);
}

.rv2-hero::before {
    content: "";
    position: absolute;
    top: 90px;
    right: -110px;
    width: 360px;
    height: 360px;
    border: 1px solid color-mix(in srgb, var(--rv2-accent) 20%, transparent);
    border-radius: 50%;
}

.rv2-breadcrumbs {
    min-height: 28px;
    margin-bottom: 44px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #718096;
    font-size: 13px;
    overflow: hidden;
}

.rv2-breadcrumbs a {
    color: var(--rv2-accent-dark);
    text-decoration: none;
}

.rv2-breadcrumbs > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rv2-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(430px, .82fr);
    gap: clamp(88px, 6vw, 112px);
    align-items: start;
}

.rv2-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--rv2-accent-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.rv2-kicker::before {
    content: "";
    width: 24px;
    height: 2px;
    background: currentColor;
}

.rv2-hero h1 {
    max-width: 100%;
    margin: 17px 0 20px;
    font-size: clamp(40px, 4.2vw, 64px);
    line-height: 1.02;
    letter-spacing: -.04em;
    overflow-wrap: break-word;
    text-wrap: balance;
}

.rv2-hero__lead {
    max-width: 670px;
    margin: 0;
    color: var(--rv2-muted);
    font-size: 18px;
    line-height: 1.62;
}

.rv2-hero__benefits {
    margin: 28px 0;
    padding: 0;
    display: grid;
    gap: 12px;
    list-style: none;
}

.rv2-hero__benefits li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #25324a;
    font-size: 15px;
    font-weight: 600;
}

.rv2-hero__benefits span {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--rv2-accent);
    font-size: 12px;
}

.rv2-price-row {
    max-width: 620px;
    padding: 18px 0;
    border-top: 1px solid var(--rv2-line);
    border-bottom: 1px solid var(--rv2-line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.rv2-price-row div {
    display: grid;
    gap: 4px;
}

.rv2-price-row small {
    color: var(--rv2-muted);
    font-size: 12px;
}

.rv2-price-row strong {
    font-size: 21px;
}

.rv2-price-row a,
.rv2-text-link {
    color: var(--rv2-accent-dark);
    text-decoration: none;
    font-weight: 750;
}

.rv2-visual {
    max-width: 620px;
    margin-top: 30px;
    padding: 22px;
    border: 1px solid color-mix(in srgb, var(--rv2-accent) 24%, #fff);
    border-radius: 14px;
    background: rgba(255, 255, 255, .75);
    box-shadow: 0 12px 38px rgba(31, 50, 92, .06);
}

.rv2-visual__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.rv2-visual__header span {
    color: var(--rv2-accent-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.rv2-visual__header strong {
    font-size: 16px;
}

.rv2-visual ol {
    margin: 18px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    list-style: none;
}

.rv2-visual li {
    min-height: 86px;
    padding: 14px;
    border-radius: 9px;
    display: grid;
    align-content: space-between;
    color: #243149;
    background: var(--rv2-accent-soft);
    font-size: 13px;
    font-weight: 650;
}

.rv2-visual li span {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--rv2-accent);
    font-size: 11px;
}

.rv2-order-card {
    position: sticky;
    top: 22px;
    min-height: 560px;
    padding: 30px;
    border: 1px solid rgba(83, 107, 158, .18);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(38, 58, 105, .15);
}

.rv2-order-overlay {
    --rv2-accent: #6f92ff;
    --rv2-accent-dark: #4269e8;
    --rv2-accent-soft: #eef3ff;
    position: fixed;
    inset: 0;
    z-index: 1000;
    padding: 24px;
    display: grid;
    place-items: center;
    background: rgba(8, 17, 35, .58);
    backdrop-filter: blur(8px);
}

.rv2-order-overlay[hidden] {
    display: none;
}

.rv2-order-modal {
    width: min(100%, 520px);
    max-height: calc(100dvh - 48px);
    border-radius: 16px;
    overflow: auto;
    background: #fff;
    box-shadow: 0 30px 90px rgba(8, 17, 35, .3);
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.rv2-order-modal__bar {
    position: sticky;
    top: 0;
    z-index: 12;
    min-height: 54px;
    padding: 0 18px 0 24px;
    border-bottom: 1px solid var(--rv2-line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--rv2-ink);
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(12px);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rv2-order-modal__bar button {
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--rv2-ink);
    background: var(--rv2-soft);
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
}

.rv2-order-modal .rv2-order-card {
    position: relative;
    top: auto;
    min-height: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.rv2-progress {
    margin-bottom: 25px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
}

.rv2-progress span {
    height: 4px;
    border-radius: 10px;
    background: #e5eaf3;
}

.rv2-progress span.is-active {
    background: var(--rv2-accent);
}

.rv2-order-heading > span {
    color: var(--rv2-accent-dark);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.rv2-order-heading h2 {
    margin: 8px 0 8px;
    font-size: 28px;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.rv2-order-heading p {
    margin: 0 0 22px;
    color: var(--rv2-muted);
    font-size: 14px;
    line-height: 1.5;
}

.rv2-field {
    margin-bottom: 16px;
    display: grid;
    gap: 8px;
}

.rv2-field > span {
    color: #28354e;
    font-size: 13px;
    font-weight: 700;
}

.rv2-field textarea,
.rv2-field input,
.rv2-field select {
    width: 100%;
    border: 1px solid #cfd7e6;
    border-radius: 8px;
    color: var(--rv2-ink);
    background: #fff;
    outline: none;
    transition: border .2s ease, box-shadow .2s ease;
}

.rv2-field textarea {
    min-height: 116px;
    padding: 14px;
    resize: vertical;
    line-height: 1.48;
}

.rv2-field input,
.rv2-field select {
    min-height: 48px;
    padding: 0 13px;
}

.rv2-field textarea:focus,
.rv2-field input:focus,
.rv2-field select:focus {
    border-color: var(--rv2-accent);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--rv2-accent) 13%, transparent);
}

.rv2-control-label,
.rv2-deadline legend {
    margin-bottom: 8px;
    color: #28354e;
    font-size: 13px;
    font-weight: 700;
}

.rv2-work-select {
    position: relative;
    margin-bottom: 16px;
}

.rv2-work-select.is-open {
    z-index: 40;
}

.rv2-work-select > select {
    width: 100%;
    min-height: 48px;
    padding: 0 13px;
    border: 1px solid #cfd7e6;
    border-radius: 8px;
    color: var(--rv2-ink);
    background: #fff;
    outline: none;
}

.rv2-work-select.is-enhanced > select {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.rv2-work-select__enhanced {
    position: relative;
}

.rv2-work-select__trigger {
    width: 100%;
    min-height: 48px;
    padding: 0 44px 0 14px;
    border: 1px solid #cfd7e6;
    border-radius: 8px;
    display: flex;
    align-items: center;
    color: var(--rv2-ink);
    background: #fff;
    text-align: left;
    cursor: pointer;
    transition: border .2s ease, box-shadow .2s ease, background .2s ease;
}

.rv2-work-select__trigger:hover {
    border-color: #aebbd2;
    background: #fcfdff;
}

.rv2-work-select__trigger:focus-visible,
.rv2-work-select.is-open .rv2-work-select__trigger {
    border-color: var(--rv2-accent);
    outline: none;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--rv2-accent) 13%, transparent);
}

.rv2-work-select__chevron {
    position: absolute;
    right: 17px;
    top: 50%;
    width: 9px;
    height: 9px;
    border-right: 1.5px solid #34425b;
    border-bottom: 1.5px solid #34425b;
    transform: translateY(-68%) rotate(45deg);
    transition: transform .18s ease;
    pointer-events: none;
}

.rv2-work-select.is-open .rv2-work-select__chevron {
    transform: translateY(-30%) rotate(225deg);
}

.rv2-work-select__panel {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    z-index: 32;
    padding: 8px;
    border: 1px solid #d8dfeb;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(38, 58, 105, .17);
}

.rv2-work-select__mobile-head,
.rv2-work-select__backdrop {
    display: none;
}

.rv2-work-select__search {
    display: block;
    margin-bottom: 7px;
}

.rv2-work-select__search input {
    width: 100%;
    height: 42px;
    padding: 0 12px;
    border: 1px solid #d8dfeb;
    border-radius: 7px;
    color: var(--rv2-ink);
    background: #f8faff;
    outline: none;
}

.rv2-work-select__search input:focus {
    border-color: var(--rv2-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--rv2-accent) 12%, transparent);
}

.rv2-work-select__options {
    max-height: 248px;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

.rv2-work-select__options button {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border: 0;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #243149;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.rv2-work-select__options button:hover,
.rv2-work-select__options button:focus-visible {
    outline: none;
    background: var(--rv2-accent-soft);
}

.rv2-work-select__options button.is-selected {
    color: var(--rv2-accent-dark);
    background: var(--rv2-accent-soft);
    font-weight: 750;
}

.rv2-work-select__options button b {
    visibility: hidden;
    color: var(--rv2-accent-dark);
}

.rv2-work-select__options button.is-selected b {
    visibility: visible;
}

.rv2-work-select__empty {
    margin: 4px 0 0;
    padding: 13px 10px;
    color: var(--rv2-muted);
    font-size: 13px;
    text-align: center;
}

.rv2-deadline {
    min-width: 0;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
}

.rv2-deadline legend {
    padding: 0;
}

.rv2-deadline__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
}

.rv2-deadline__grid label {
    min-width: 0;
    cursor: pointer;
}

.rv2-deadline__grid input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.rv2-deadline__grid span {
    min-height: 52px;
    padding: 8px 6px;
    border: 1px solid #d5ddea;
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: #34425b;
    background: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.22;
    text-align: center;
    transition: border .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.rv2-deadline__grid label:hover span {
    border-color: #aebbd2;
    background: #fcfdff;
}

.rv2-deadline__grid input:checked + span {
    border-color: var(--rv2-accent);
    color: var(--rv2-accent-dark);
    background: var(--rv2-accent-soft);
    box-shadow: inset 0 0 0 1px var(--rv2-accent);
}

.rv2-deadline__grid input:focus-visible + span {
    outline: none;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--rv2-accent) 13%, transparent);
}

.rv2-deadline__hint {
    min-height: 16px;
    margin: 7px 0 0;
    color: #788495;
    font-size: 11px;
    line-height: 1.45;
}

.rv2-deadline.has-error .rv2-deadline__grid span {
    border-color: #e2a6a1;
}

.rv2-deadline.has-error .rv2-deadline__hint {
    color: #b42318;
    font-weight: 650;
}

.rv2-order-summary {
    margin: -10px 0 18px;
    padding: 10px 12px;
    border-left: 3px solid var(--rv2-accent);
    color: var(--rv2-muted);
    background: var(--rv2-accent-soft);
    font-size: 12px;
}

.rv2-order-summary strong {
    color: var(--rv2-ink);
}

.rv2-form-legal,
.rv2-auth-note {
    margin: 12px 0 0;
    color: #818b9b;
    font-size: 11px;
    line-height: 1.45;
    text-align: center;
}

.rv2-back {
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    color: var(--rv2-accent-dark);
    background: none;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.rv2-auth-title {
    margin: 5px 0 10px;
    font-size: 13px;
    font-weight: 750;
}

.rv2-social-auth {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.rv2-social-auth a {
    min-height: 50px;
    padding: 0 12px;
    border: 1px solid #d8dfeb;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--rv2-ink);
    background: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
}

.rv2-social-auth a:hover {
    border-color: var(--rv2-accent);
    background: var(--rv2-accent-soft);
}

.rv2-social-auth img {
    display: block;
    object-fit: contain;
}

.rv2-divider {
    margin: 20px 0;
    display: flex;
    align-items: center;
    color: #8b95a4;
    font-size: 11px;
}

.rv2-divider::before,
.rv2-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: #e0e5ed;
}

.rv2-divider span {
    padding: 0 10px;
}

#fast_form_hidden {
    display: block;
}

#fast_form_hidden > .err {
    display: none;
    margin-top: 10px;
    color: #b42318;
    font-size: 12px;
    font-weight: 650;
    text-align: center;
}

#guest_offer {
    position: relative;
}

#guest_offer > .wite {
    position: absolute;
    inset: -8px;
    z-index: 8;
    border-radius: 12px;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .82);
    backdrop-filter: blur(3px);
}

#guest_offer > .wite img {
    width: 44px;
    height: 44px;
}

.rv2-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.rv2-trust {
    border-top: 1px solid var(--rv2-line);
    border-bottom: 1px solid var(--rv2-line);
    background: #fff;
}

.rv2-trust__grid {
    min-height: 108px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.rv2-trust__grid > div {
    padding: 24px 32px;
    border-right: 1px solid var(--rv2-line);
    display: grid;
    gap: 6px;
    align-content: center;
}

.rv2-trust__grid > div:first-child {
    padding-left: 0;
}

.rv2-trust__grid > div:last-child {
    border: 0;
}

.rv2-trust strong {
    font-size: 20px;
    letter-spacing: -.02em;
}

.rv2-trust span {
    color: var(--rv2-muted);
    font-size: 13px;
}

.rv2-section {
    padding: 96px 0;
}

.rv2-section-heading {
    margin-bottom: 42px;
}

.rv2-section-heading--split {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .7fr);
    gap: 70px;
    align-items: end;
}

.rv2-section-heading h2 {
    max-width: 750px;
    margin: 14px 0 0;
    font-size: clamp(36px, 4.2vw, 56px);
    line-height: 1.03;
    letter-spacing: -.04em;
}

.rv2-section-heading p {
    margin: 0;
    color: var(--rv2-muted);
    font-size: 16px;
    line-height: 1.65;
}

.rv2-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--rv2-line);
    border-bottom: 1px solid var(--rv2-line);
}

.rv2-steps article {
    min-height: 240px;
    padding: 28px 25px;
    border-right: 1px solid var(--rv2-line);
}

.rv2-steps article:last-child {
    border: 0;
}

.rv2-steps article > span {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--rv2-accent);
    font-size: 12px;
    font-weight: 800;
}

.rv2-steps h3 {
    margin: 42px 0 10px;
    font-size: 20px;
    line-height: 1.16;
}

.rv2-steps p,
.rv2-feature-grid p {
    margin: 0;
    color: var(--rv2-muted);
    font-size: 14px;
    line-height: 1.58;
}

.rv2-features {
    background: var(--rv2-soft);
}

.rv2-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.rv2-feature-grid article {
    min-height: 290px;
    padding: 28px;
    border: 1px solid #e0e5ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(35, 52, 94, .06);
}

.rv2-feature-grid article > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rv2-feature-grid article > div span {
    color: var(--rv2-accent-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
}

.rv2-feature-grid article > div b {
    color: #dfe4ed;
    font-size: 34px;
}

.rv2-feature-grid h3 {
    margin: 70px 0 12px;
    font-size: 24px;
    line-height: 1.14;
}

.rv2-author-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.rv2-author-grid > article {
    padding: 23px;
    border: 1px solid var(--rv2-line);
    border-radius: 12px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

.rv2-author-grid > article:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(37, 55, 99, .1);
}

.rv2-author__identity {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--rv2-ink);
    text-decoration: none;
}

.rv2-author__identity > img,
.rv2-author__identity > span {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    flex: 0 0 58px;
}

.rv2-author__identity > img {
    object-fit: cover;
}

.rv2-author__identity > span {
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(145deg, var(--rv2-accent), var(--rv2-accent-dark));
    font-weight: 800;
}

.rv2-author__identity h3 {
    margin: 0 0 4px;
    font-size: 17px;
}

.rv2-author__identity p {
    margin: 0;
    color: var(--rv2-muted);
    font-size: 12px;
}

.rv2-author-grid dl {
    margin: 22px 0;
    padding: 16px 0;
    border-top: 1px solid var(--rv2-line);
    border-bottom: 1px solid var(--rv2-line);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.rv2-author-grid dl div {
    min-width: 0;
}

.rv2-author-grid dt {
    color: var(--rv2-muted);
    font-size: 10px;
}

.rv2-author-grid dd {
    margin: 5px 0 0;
    font-size: 16px;
    font-weight: 800;
}

.rv2-text-link {
    font-size: 13px;
}

.rv2-reviews {
    color: #fff;
    background:
        radial-gradient(circle at 85% 10%, rgba(84, 156, 150, .2), transparent 28%),
        #073c3d;
}

.rv2-section-heading--light h2,
.rv2-section-heading--light p {
    color: #fff;
}

.rv2-section-heading--light .rv2-kicker {
    color: #8ee1d3;
}

.rv2-review-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.rv2-review-grid article {
    min-height: 300px;
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    background: rgba(255, 255, 255, .055);
}

.rv2-stars {
    color: #ffd76a;
    letter-spacing: .14em;
}

.rv2-review-grid blockquote {
    margin: 28px 0;
    flex: 1;
    font-size: 16px;
    line-height: 1.66;
}

.rv2-review-grid footer {
    display: flex;
    align-items: center;
    gap: 11px;
}

.rv2-review-grid footer > span {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--rv2-teal);
    background: #fff;
    font-weight: 800;
}

.rv2-review-grid footer div {
    display: grid;
    gap: 3px;
}

.rv2-review-grid footer small {
    color: #a8c5c3;
}

.rv2-reviews__note {
    margin: 22px 0 0;
    color: #a8c5c3;
    font-size: 12px;
}

.rv2-content-section {
    background: #fff;
}

.rv2-content-grid {
    display: grid;
    grid-template-columns: 300px minmax(0, 760px);
    gap: 82px;
    align-items: start;
}

.rv2-content-grid > aside {
    position: sticky;
    top: 24px;
    padding: 26px;
    border: 1px solid var(--rv2-line);
    border-radius: 12px;
    background: var(--rv2-soft);
}

.rv2-content-grid > aside h2 {
    margin: 15px 0 13px;
    font-size: 25px;
    line-height: 1.13;
    letter-spacing: -.025em;
}

.rv2-content-grid > aside p {
    margin: 0 0 22px;
    color: var(--rv2-muted);
    font-size: 13px;
    line-height: 1.58;
}

.rv2-article {
    min-width: 0;
    color: #26344b;
    font-size: 16px;
    line-height: 1.78;
}

.rv2-article > :first-child {
    margin-top: 0;
}

.rv2-article h2 {
    margin: 56px 0 18px;
    color: var(--rv2-ink);
    font-size: 34px;
    line-height: 1.16;
    letter-spacing: -.03em;
}

.rv2-article h3 {
    margin: 38px 0 13px;
    color: var(--rv2-ink);
    font-size: 24px;
    line-height: 1.2;
}

.rv2-article p {
    margin: 0 0 18px;
}

.rv2-article ul,
.rv2-article ol {
    margin: 0 0 24px;
    padding-left: 22px;
}

.rv2-article li {
    margin: 8px 0;
}

.rv2-article a {
    color: var(--rv2-accent-dark);
    text-underline-offset: 3px;
}

.rv2-article img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

.rv2-article blockquote {
    margin: 30px 0;
    padding: 22px 24px;
    border-left: 3px solid var(--rv2-accent);
    background: var(--rv2-accent-soft);
}

.rv2-faq {
    background: var(--rv2-soft);
}

.rv2-faq__grid {
    display: grid;
    grid-template-columns: .65fr 1fr;
    gap: 80px;
    align-items: start;
}

.rv2-faq__list {
    border-top: 1px solid #d7dee9;
}

.rv2-faq__list article {
    border-bottom: 1px solid #d7dee9;
}

.rv2-faq__list button {
    width: 100%;
    min-height: 76px;
    padding: 0;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: var(--rv2-ink);
    background: transparent;
    font-size: 17px;
    font-weight: 750;
    text-align: left;
    cursor: pointer;
}

.rv2-faq__list button b {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--rv2-accent);
}

.rv2-faq__list article > div {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .25s ease;
}

.rv2-faq__list article > div > p {
    min-height: 0;
    margin: 0;
    overflow: hidden;
    color: var(--rv2-muted);
    line-height: 1.65;
}

.rv2-faq__list article.is-open > div {
    grid-template-rows: 1fr;
}

.rv2-faq__list article.is-open > div > p {
    padding: 0 50px 24px 0;
}

.rv2-links {
    background: #fff;
}

.rv2-chip-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rv2-chip-links a {
    min-height: 46px;
    padding: 0 16px;
    border: 1px solid var(--rv2-line);
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 16px;
    color: #2c3951;
    background: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 650;
}

.rv2-chip-links a:hover {
    border-color: var(--rv2-accent);
    color: var(--rv2-accent-dark);
    background: var(--rv2-accent-soft);
}

.rv2-related {
    border-top: 1px solid var(--rv2-line);
    background: var(--rv2-soft);
}

.rv2-related__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}

.rv2-related__grid a {
    min-height: 126px;
    padding: 20px;
    border: 1px solid #dfe5ef;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: var(--rv2-ink);
    background: #fff;
    text-decoration: none;
    font-weight: 750;
}

.rv2-related__grid a b {
    color: var(--rv2-accent-dark);
    font-size: 20px;
}

.rv2-final {
    padding: 78px 0;
    color: #fff;
    background: var(--rv2-teal);
}

.rv2-final__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

.rv2-final .rv2-kicker {
    color: #8ee1d3;
}

.rv2-final h2 {
    max-width: 760px;
    margin: 14px 0 0;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.rv2-footer {
    padding: 64px 0 28px;
    color: #d7e4e4;
    background: #021f20;
}

.rv2-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr .65fr .85fr 1fr;
    gap: 48px;
}

.rv2-footer__grid > div p {
    max-width: 360px;
    color: #a8bebe;
    font-size: 13px;
    line-height: 1.6;
}

.rv2-footer__grid nav,
.rv2-footer__grid address {
    display: grid;
    align-content: start;
    gap: 11px;
    font-style: normal;
}

.rv2-footer__grid strong {
    margin-bottom: 7px;
    color: #fff;
}

.rv2-footer__grid a,
.rv2-footer__grid address span {
    color: #b9cbcb;
    text-decoration: none;
    font-size: 13px;
}

.rv2-footer__legal {
    margin-top: 44px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    color: #8fa8a8;
    font-size: 11px;
    line-height: 1.55;
}

@media (max-width: 1080px) {
    .rv2-main-nav {
        gap: 18px;
    }

    .rv2-hero__grid {
        gap: 56px;
        grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
    }

    .rv2-author-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rv2-related__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .rv2-header__inner {
        grid-template-columns: auto 1fr auto;
    }

    .rv2-main-nav,
    .rv2-header__actions {
        display: none;
    }

    .rv2-menu-button {
        display: block;
        justify-self: end;
    }

    .rv2-header.is-open .rv2-main-nav {
        position: absolute;
        top: 72px;
        left: 0;
        right: 0;
        padding: 20px;
        display: grid;
        gap: 16px;
        background: #fff;
        box-shadow: 0 18px 32px rgba(20, 36, 63, .12);
    }

    .rv2-hero__grid {
        grid-template-columns: 1fr;
    }

    .rv2-order-card {
        position: relative;
        top: auto;
        min-height: 0;
    }

    .rv2-section-heading--split,
    .rv2-faq__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .rv2-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .rv2-steps article:nth-child(2) {
        border-right: 0;
    }

    .rv2-steps article:nth-child(-n+2) {
        border-bottom: 1px solid var(--rv2-line);
    }

    .rv2-feature-grid,
    .rv2-review-grid {
        grid-template-columns: 1fr;
    }

    .rv2-feature-grid article {
        min-height: 230px;
    }

    .rv2-feature-grid h3 {
        margin-top: 42px;
    }

    .rv2-content-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .rv2-content-grid > aside {
        position: relative;
        top: auto;
    }

    .rv2-footer__grid {
        grid-template-columns: 1.2fr 1fr;
    }
}

@media (max-width: 620px) {
    .rv2-order-overlay {
        padding: 0;
        place-items: end stretch;
    }

    .rv2-order-modal {
        width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
    }

    .rv2-order-modal__bar {
        min-height: calc(56px + env(safe-area-inset-top));
        padding-top: env(safe-area-inset-top);
        padding-right: max(16px, env(safe-area-inset-right));
        padding-left: max(18px, env(safe-area-inset-left));
    }

    .rv2-order-modal .rv2-order-card {
        width: 100%;
        padding-bottom: calc(28px + env(safe-area-inset-bottom));
    }

    .rv2-container {
        width: min(100% - 28px, 1180px);
    }

    .rv2-header__inner {
        min-height: 64px;
    }

    .rv2-logo img {
        width: 124px;
    }

    .rv2-header.is-open .rv2-main-nav {
        top: 64px;
    }

    .rv2-work-nav {
        width: calc(100% - 14px);
        margin-left: 14px;
    }

    .rv2-breadcrumbs {
        margin-bottom: 28px;
    }

    .rv2-hero {
        padding-bottom: 52px;
    }

    .rv2-hero h1 {
        font-size: 42px;
    }

    .rv2-hero__lead {
        font-size: 16px;
    }

    .rv2-price-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .rv2-visual ol {
        grid-template-columns: 1fr;
    }

    .rv2-visual li {
        min-height: 64px;
        grid-template-columns: 28px 1fr;
        align-items: center;
        align-content: center;
        gap: 10px;
    }

    .rv2-order-card {
        padding: 22px 18px;
        border-radius: 12px;
    }

    .rv2-order-heading h2 {
        font-size: 24px;
    }

    body.rv2-select-open {
        overflow: hidden;
    }

    .rv2-work-select__backdrop {
        position: fixed;
        inset: 0;
        z-index: 50;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(8, 17, 35, .5);
        backdrop-filter: blur(4px);
    }

    .rv2-work-select.is-open .rv2-work-select__backdrop {
        display: block;
    }

    .rv2-work-select__panel {
        position: fixed;
        left: 0;
        right: 0;
        top: auto;
        bottom: 0;
        z-index: 51;
        max-height: min(78dvh, 650px);
        padding: 0 14px calc(14px + env(safe-area-inset-bottom));
        border: 0;
        border-radius: 18px 18px 0 0;
        box-shadow: 0 -24px 70px rgba(8, 17, 35, .22);
    }

    .rv2-work-select__mobile-head {
        min-height: 58px;
        border-bottom: 1px solid var(--rv2-line);
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .rv2-work-select__mobile-head strong {
        font-size: 16px;
    }

    .rv2-work-select__mobile-head button {
        width: 36px;
        height: 36px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        color: var(--rv2-ink);
        background: var(--rv2-soft);
        font-size: 24px;
        line-height: 1;
        cursor: pointer;
    }

    .rv2-work-select__search {
        margin: 12px 0 7px;
    }

    .rv2-work-select__options {
        max-height: calc(min(78dvh, 650px) - 135px - env(safe-area-inset-bottom));
    }

    .rv2-work-select__options button {
        min-height: 48px;
    }

    .rv2-deadline__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rv2-deadline__grid span {
        min-height: 48px;
        font-size: 12px;
    }

    .rv2-social-auth {
        grid-template-columns: 1fr;
    }

    .rv2-trust__grid {
        grid-template-columns: 1fr;
    }

    .rv2-trust__grid > div,
    .rv2-trust__grid > div:first-child {
        padding: 18px 0;
        border-right: 0;
        border-bottom: 1px solid var(--rv2-line);
    }

    .rv2-trust__grid > div:last-child {
        border-bottom: 0;
    }

    .rv2-section {
        padding: 68px 0;
    }

    .rv2-section-heading h2 {
        font-size: 37px;
    }

    .rv2-steps,
    .rv2-author-grid,
    .rv2-related__grid {
        grid-template-columns: 1fr;
    }

    .rv2-steps article {
        min-height: 205px;
        border-right: 0;
        border-bottom: 1px solid var(--rv2-line);
    }

    .rv2-steps article:last-child {
        border-bottom: 0;
    }

    .rv2-steps h3 {
        margin-top: 26px;
    }

    .rv2-author-grid dl {
        gap: 8px;
    }

    .rv2-review-grid article {
        min-height: 260px;
        padding: 23px;
    }

    .rv2-article {
        font-size: 15px;
    }

    .rv2-article h2 {
        font-size: 29px;
    }

    .rv2-article h3 {
        font-size: 22px;
    }

    .rv2-chip-links a {
        width: 100%;
        justify-content: space-between;
    }

    .rv2-final__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
    }

    .rv2-final h2 {
        font-size: 36px;
    }

    .rv2-footer__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}


/* Каталог: полная авторизация в шапке и партнёрская программа */
.rv2-button--secondary {
    color: var(--rv2-accent-dark);
    border-color: #c8d4f5;
    border-color: color-mix(in srgb, var(--rv2-accent) 55%, #dfe5ef);
    background: #fff;
}

.rv2-button--secondary:hover {
    border-color: var(--rv2-accent);
    background: var(--rv2-accent-soft);
}

.rv2-header__actions .rv2-button {
    min-height: 40px;
    padding-right: 14px;
    padding-left: 14px;
    font-size: 13px;
}

.rv2-mobile-actions {
    display: none;
}

.rv2-partner {
    padding-top: 32px;
    padding-bottom: 32px;
    background: #f7f9fd;
}

.rv2-partner__card {
    position: relative;
    min-height: 390px;
    padding: clamp(34px, 5vw, 64px);
    border-radius: 26px;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, .65fr);
    align-items: center;
    gap: clamp(34px, 6vw, 82px);
    color: #fff;
    background:
        radial-gradient(circle at 86% 12%, rgba(134, 162, 255, .3), transparent 20rem),
        linear-gradient(135deg, #073c3d 0%, #092b39 58%, #172c5d 100%);
    box-shadow: 0 26px 70px rgba(15, 42, 64, .15);
}

.rv2-partner__card::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -110px;
    bottom: -160px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
}

.rv2-partner__copy,
.rv2-partner__rate {
    position: relative;
    z-index: 1;
}

.rv2-partner .rv2-kicker {
    color: #8ee1d3;
}

.rv2-partner h2 {
    max-width: 760px;
    margin: 15px 0 18px;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.06;
    letter-spacing: -.04em;
}

.rv2-partner__copy > p {
    max-width: 700px;
    margin: 0;
    color: #c7d9dc;
    font-size: 16px;
    line-height: 1.7;
}

.rv2-partner__actions {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 24px;
}

.rv2-partner__text-link {
    color: #fff;
    font-size: 14px;
    font-weight: 750;
    text-underline-offset: 5px;
}

.rv2-partner__rate {
    min-height: 240px;
    padding: 34px 28px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 22px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    background: rgba(255, 255, 255, .08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13);
    backdrop-filter: blur(10px);
}

.rv2-partner__rate strong {
    font-size: clamp(72px, 9vw, 112px);
    line-height: .85;
    letter-spacing: -.08em;
}

.rv2-partner__rate span {
    margin-top: 20px;
    font-size: 20px;
    font-weight: 750;
}

.rv2-partner__rate small {
    margin-top: 7px;
    color: #bdced1;
    font-size: 12px;
}

@media (max-width: 1120px) {
    .rv2-main-nav {
        gap: 14px;
    }

    .rv2-header__inner {
        gap: 20px;
    }

    .rv2-header__actions .rv2-button {
        padding-right: 11px;
        padding-left: 11px;
    }
}

@media (max-width: 900px) {
    .rv2-header.is-open .rv2-main-nav {
        padding-bottom: 22px;
    }

    .rv2-mobile-actions {
        padding-top: 18px;
        border-top: 1px solid var(--rv2-line);
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .rv2-mobile-actions .rv2-button {
        min-height: 44px;
        padding: 0 10px;
    }

    .rv2-mobile-actions .rv2-button--primary {
        color: #fff;
    }

    .rv2-partner__card {
        grid-template-columns: 1fr;
    }

    .rv2-partner__rate {
        min-height: 190px;
    }
}

@media (max-width: 620px) {
    .rv2-mobile-actions {
        grid-template-columns: 1fr;
    }

    .rv2-partner {
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .rv2-partner__card {
        min-height: 0;
        padding: 32px 22px;
        border-radius: 18px;
        gap: 28px;
    }

    .rv2-partner h2 {
        font-size: 34px;
    }

    .rv2-partner__rate {
        min-height: 170px;
        padding: 26px 22px;
    }
}
/* Catalog visual parity: one root scrollbar and the full dynamic hero composition. */
html,
body {
    scrollbar-width: auto;
    scrollbar-color: var(--rv2-accent, #6f92ff) #eef2f7;
    -ms-overflow-style: auto;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    display: block;
    width: 12px;
    height: 12px;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
    background: #eef2f7;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
    min-height: 48px;
    border: 3px solid #eef2f7;
    border-radius: 999px;
    background: var(--rv2-accent, #6f92ff);
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover {
    background: var(--rv2-accent-dark, #4269e8);
}

.rv2-shell,
.rv2-shell *,
.rv2-order-overlay,
.rv2-order-overlay * {
    font-family: "Segoe UI", Inter, Arial, sans-serif !important;
}

.rv2-hero {
    background:
        radial-gradient(circle at 79% -8%, color-mix(in srgb, var(--rv2-accent) 18%, #fff) 0 10%, transparent 31%),
        radial-gradient(circle at 18% 108%, color-mix(in srgb, var(--rv2-accent) 13%, transparent) 0 8%, transparent 26%),
        linear-gradient(180deg, #fafbff 0%, #f4f7fd 100%);
}

.rv2-hero::before {
    top: -250px;
    right: 8%;
    z-index: 0;
    width: 510px;
    height: 510px;
    border: 0;
    background:
        radial-gradient(circle at 32% 30%, rgba(255, 255, 255, .76), transparent 25%),
        linear-gradient(145deg,
            color-mix(in srgb, var(--rv2-accent) 10%, #fff),
            color-mix(in srgb, var(--rv2-accent) 27%, #fff));
    box-shadow: 0 38px 100px color-mix(in srgb, var(--rv2-accent) 13%, transparent);
    opacity: .9;
}

.rv2-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(color-mix(in srgb, var(--rv2-accent) 7%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--rv2-accent) 7%, transparent) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .72) 52%, transparent 100%);
    opacity: .58;
}

.rv2-hero > .rv2-container {
    position: relative;
    z-index: 1;
}

.rv2-hero__content {
    position: relative;
    min-width: 0;
    isolation: isolate;
}

.rv2-hero__content::after {
    content: "";
    position: absolute;
    left: -115px;
    bottom: -155px;
    z-index: -1;
    width: 280px;
    height: 220px;
    border-radius: 58% 42% 48% 52%;
    background:
        radial-gradient(circle at 42% 40%,
            color-mix(in srgb, var(--rv2-accent) 24%, #fff),
            color-mix(in srgb, var(--rv2-accent) 7%, #fff) 56%,
            transparent 72%);
    transform: rotate(-12deg);
    opacity: .82;
}

.rv2-hero h1 {
    font-weight: 800;
}

.rv2-order-stage {
    position: sticky;
    top: 22px;
    min-width: 0;
    margin-top: -30px;
    isolation: isolate;
}

.rv2-order-stage::before {
    content: "";
    position: absolute;
    inset: -10px;
    z-index: 0;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 22px;
    background: rgba(255, 255, 255, .48);
    box-shadow: 0 30px 90px color-mix(in srgb, var(--rv2-accent) 12%, transparent);
    backdrop-filter: blur(5px);
    pointer-events: none;
}

.rv2-order-card {
    position: relative;
    top: auto;
    z-index: 2;
}

.rv2-order-ghost {
    position: absolute;
    top: 42px;
    left: -64px;
    z-index: 1;
    width: 246px;
    min-height: 306px;
    padding: 28px 26px;
    border: 1px solid color-mix(in srgb, var(--rv2-accent) 25%, #fff);
    border-radius: 18px;
    color: #27334a;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(247, 251, 255, .82)),
        var(--rv2-accent-soft);
    box-shadow: 0 22px 65px color-mix(in srgb, var(--rv2-accent) 13%, transparent);
    transform: rotate(-6deg);
    transform-origin: 55% 20%;
    overflow: hidden;
}

.rv2-order-ghost::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(color-mix(in srgb, var(--rv2-accent) 8%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--rv2-accent) 8%, transparent) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: .5;
}

.rv2-order-ghost > * {
    position: relative;
    z-index: 1;
}

.rv2-order-ghost__label {
    display: block;
    margin-bottom: 18px;
    color: var(--rv2-accent-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .11em;
}

.rv2-order-ghost strong {
    display: block;
    max-width: 190px;
    font-size: 20px;
    line-height: 1.18;
}

.rv2-order-ghost ol {
    margin: 24px 0 0;
    padding: 0;
    display: grid;
    gap: 12px;
    list-style: none;
}

.rv2-order-ghost li {
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #536078;
    font-size: 12px;
    font-weight: 650;
}

.rv2-order-ghost li span {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: var(--rv2-accent-dark);
    background: var(--rv2-accent-soft);
    font-size: 11px;
    font-weight: 800;
}

@media (max-width: 1080px) {
    .rv2-order-ghost {
        left: -40px;
        width: 220px;
    }
}

@media (max-width: 900px) {
    .rv2-order-stage {
        position: relative;
        top: auto;
        margin-top: 0;
    }

    .rv2-order-stage::before,
    .rv2-order-ghost {
        display: none;
    }

    .rv2-hero::before {
        top: -160px;
        right: -150px;
        width: 390px;
        height: 390px;
    }

    .rv2-hero::after {
        mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .48) 60%, transparent 100%);
    }
}

@media (max-width: 620px) {
    html::-webkit-scrollbar,
    body::-webkit-scrollbar {
        width: 8px;
    }

    .rv2-hero::before {
        top: -90px;
        right: -170px;
        width: 320px;
        height: 320px;
        opacity: .68;
    }

    .rv2-hero__content::after {
        left: -90px;
        bottom: -110px;
        width: 210px;
        height: 170px;
    }
}
