:root {
    --rt-bg: #f6f5f1;
    --rt-card: #ffffff;
    --rt-text: #171429;
    --rt-muted: #6f6b7b;
    --rt-line: #ddd9e7;
    --rt-blue: #6c4dff;
    --rt-blue-dark: #4b2ed2;
    --rt-blue-soft: #eeeaff;
    --rt-green: #087b65;
    --rt-green-soft: #ddf7ee;
    --rt-orange: #d8483f;
    --rt-orange-soft: #ffe9e6;
    --rt-red: #c53b3b;
    --rt-yellow: #ffd84d;
    --rt-coral: #ff6b5e;
    --rt-ink: #171429;
    --rt-shadow: 0 18px 50px rgba(41, 32, 74, .11);
    --rt-radius: 26px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--rt-bg); color: var(--rt-text); font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; line-height: 1.55; }
a { color: var(--rt-blue); text-decoration: none; }
a:hover { color: var(--rt-blue-dark); }
img { max-width: 100%; }
button, input, select, textarea { font: inherit; }

.rt-shell { width: min(1240px, calc(100% - 40px)); margin: 0 auto; }
.rt-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(23,20,41,.08); backdrop-filter: blur(16px); }
.rt-header-row { min-height: 80px; display: flex; align-items: center; gap: 28px; }
.rt-brand { display: inline-flex; align-items: center; color: var(--rt-text); min-width: 205px; }
.rt-brand:hover { color: var(--rt-text); }
.rt-brand-logo { display: block; width: 210px; height: auto; max-height: 56px; object-fit: contain; object-position: left center; }
.rt-nav { display: flex; align-items: center; gap: 21px; margin-left: auto; }
.rt-nav a { color: #302c40; font-size: 14px; font-weight: 700; white-space: nowrap; }
.rt-nav a:hover { color: var(--rt-blue); }
.rt-nav-dropdown { position: relative; }
.rt-nav-dropdown > button { border: 0; background: transparent; color: #344054; padding: 0; font-size: 14px; font-weight: 700; cursor: pointer; }
.rt-nav-dropdown > button span { font-size: 10px; color: var(--rt-muted); }
.rt-nav-dropdown-menu { display: none; position: absolute; top: calc(100% + 14px); right: 0; min-width: 230px; padding: 9px; background: #fff; border: 1px solid var(--rt-line); border-radius: 14px; box-shadow: var(--rt-shadow); }
.rt-nav-dropdown:hover .rt-nav-dropdown-menu, .rt-nav-dropdown:focus-within .rt-nav-dropdown-menu { display: grid; gap: 3px; }
.rt-nav-dropdown-menu a { display: block; padding: 9px 11px; border-radius: 9px; color: #344054; }
.rt-nav-dropdown-menu a:hover { background: var(--rt-blue-soft); color: var(--rt-blue); }
.rt-menu-toggle { display: none; border: 0; background: transparent; font-size: 26px; cursor: pointer; }

.rt-button { border: 1px solid var(--rt-blue); border-radius: 999px; background: var(--rt-blue); color: #fff; padding: 13px 21px; display: inline-flex; justify-content: center; align-items: center; gap: 8px; font-weight: 800; cursor: pointer; line-height: 1.25; transition: .2s ease; box-shadow: 0 8px 20px rgba(108,77,255,.18); }
.rt-button:hover { color: #fff; background: var(--rt-blue-dark); border-color: var(--rt-blue-dark); transform: translateY(-2px); box-shadow: 0 12px 26px rgba(108,77,255,.24); }
.rt-button-small { padding: 10px 16px; font-size: 13px; white-space: nowrap; }
.rt-button-light { background: #fff; color: var(--rt-blue); border-color: #cfc7f5; box-shadow: none; }
.rt-button-light:hover { color: var(--rt-blue-dark); background: var(--rt-blue-soft); border-color: var(--rt-blue); }
.rt-button-green { background: var(--rt-green); border-color: var(--rt-green); }
.rt-button-green:hover { background: #056452; border-color: #056452; }
.rt-text-link { font-weight: 700; }

.rt-hero { padding: 34px 0 54px; background: var(--rt-bg); color: var(--rt-text); }
.rt-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); gap: 26px; align-items: stretch; }
.rt-hero-copy { position: relative; overflow: hidden; min-height: 540px; padding: 58px 56px; border-radius: 34px; background: linear-gradient(145deg, #fff37b 0%, #ffd84d 100%); }
.rt-hero-copy:after { content: ''; position: absolute; right: -90px; bottom: -120px; width: 300px; height: 300px; border: 42px solid rgba(255,107,94,.55); border-radius: 50%; }
.rt-eyebrow { display: inline-flex; padding: 8px 13px; border-radius: 999px; background: rgba(23,20,41,.10); color: var(--rt-text); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rt-hero h1 { position: relative; z-index: 1; max-width: 820px; margin: 24px 0 20px; font-size: clamp(44px, 6vw, 78px); line-height: .98; letter-spacing: -3.4px; }
.rt-hero p { position: relative; z-index: 1; max-width: 760px; margin: 0; color: #393344; font-size: 19px; }
.rt-hero-actions { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 12px; }
.rt-hero .rt-button-light { border-color: rgba(23,20,41,.28); background: rgba(255,255,255,.54); color: var(--rt-text); }
.rt-hero .rt-button-light:hover { background: #fff; color: var(--rt-blue-dark); }
.rt-hero-trust { position: relative; z-index: 1; margin-top: 32px; display: flex; flex-wrap: wrap; gap: 8px; }
.rt-hero-trust span { padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.54); color: #4d4655; font-size: 12px; font-weight: 700; }
.rt-hero-panel { position: relative; overflow: hidden; min-height: 540px; padding: 42px; border-radius: 34px; background: var(--rt-ink); color: #fff; box-shadow: var(--rt-shadow); }
.rt-hero-panel-label { display: inline-flex; padding: 7px 11px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #cfc8f7; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.rt-hero-panel h2 { margin: 26px 0 38px; font-size: clamp(38px, 4vw, 58px); line-height: 1.02; letter-spacing: -2px; }
.rt-hero-panel h2 em { color: var(--rt-coral); font-style: normal; }
.rt-hero-stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.rt-hero-stat { padding: 15px 10px; border-radius: 16px; background: rgba(255,255,255,.09); }
.rt-hero-stat strong { display: block; font-size: 27px; line-height: 1; }
.rt-hero-stat span { display: block; margin-top: 7px; color: #bbb5ce; font-size: 12px; }
.rt-hero-spark { position: absolute; right: 26px; bottom: -38px; color: var(--rt-yellow); font-size: 164px; line-height: 1; transform: rotate(10deg); }

.rt-section { padding: 58px 0; }
.rt-section-tight { padding: 30px 0; }
.rt-section-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 22px; }
.rt-section-head h1, .rt-section-head h2 { margin: 0; line-height: 1.18; letter-spacing: -.6px; }
.rt-section-head h1 { font-size: clamp(30px, 4vw, 44px); }
.rt-section-head h2 { font-size: clamp(30px, 3.4vw, 46px); letter-spacing: -1.4px; }
.rt-section-head p { margin: 7px 0 0; color: var(--rt-muted); }
.rt-muted { color: var(--rt-muted); }
.rt-lead { font-size: 18px; color: #475467; max-width: 850px; }

.rt-breadcrumbs { padding: 20px 0 0; color: var(--rt-muted); font-size: 13px; }
.rt-breadcrumbs a { color: var(--rt-muted); }
.rt-breadcrumbs span { margin: 0 7px; }

.rt-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.rt-category-card { display: block; overflow: hidden; padding: 0; background: #fff; border: 1px solid rgba(23,20,41,.08); border-radius: var(--rt-radius); box-shadow: 0 8px 24px rgba(41,32,74,.05); color: var(--rt-text); transition: .2s ease; }
.rt-category-card:hover { transform: translateY(-5px); border-color: #c7bdf8; color: var(--rt-text); box-shadow: var(--rt-shadow); }
.rt-category-icon { width: 42px; height: 42px; margin-bottom: 18px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--rt-blue-soft); color: var(--rt-blue); font-weight: 800; }
.rt-category-picture { display: block; aspect-ratio: 16/9; overflow: hidden; background: #f0ecff; }
.rt-category-picture img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.rt-category-card:hover .rt-category-picture img { transform: scale(1.035); }
.rt-category-body { display: block; padding: 22px 23px 24px; }
.rt-category-card h3 { margin: 0 0 8px; font-size: 21px; line-height: 1.18; }
.rt-category-card p { margin: 0 0 16px; color: var(--rt-muted); font-size: 14px; }
.rt-category-count { display: flex; justify-content: space-between; align-items: center; color: var(--rt-blue); font-weight: 800; font-size: 13px; }
.rt-category-count b { font-size: 18px; }
.rt-category-grid-home:not(.is-expanded) .rt-category-card:nth-child(n+13) { display: none; }
.rt-category-actions { margin-top: 26px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 20px; }

.rt-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 26px; align-items: start; }
.rt-sidebar { position: sticky; top: 92px; display: grid; gap: 16px; }
.rt-sidebar-card { background: #fff; border: 1px solid var(--rt-line); border-radius: 16px; padding: 20px; }
.rt-sidebar-card h3 { margin: 0 0 10px; font-size: 18px; }
.rt-sidebar-card p { margin: 0 0 14px; color: var(--rt-muted); font-size: 14px; }
.rt-sidebar-links { display: grid; gap: 8px; }
.rt-sidebar-links a { padding: 8px 10px; border-radius: 9px; color: #344054; font-size: 14px; }
.rt-sidebar-links a:hover { background: var(--rt-blue-soft); color: var(--rt-blue); }

.rt-project-list { display: grid; gap: 18px; }
.rt-project-card { padding: 22px; background: #fff; border: 1px solid var(--rt-line); border-radius: var(--rt-radius); box-shadow: 0 7px 24px rgba(28,48,76,.04); }
.rt-project-card-head { display: grid; grid-template-columns: 72px minmax(0,1fr) 105px; gap: 18px; align-items: start; }
.rt-logo-wrap { display: block; }
.rt-project-logo { width: 72px; height: 72px; object-fit: contain; border-radius: 16px; border: 1px solid #e6ebf2; background: #fff; }
.rt-logo-letter { display: flex; align-items: center; justify-content: center; background: var(--rt-blue-soft); color: var(--rt-blue); font-size: 30px; font-weight: 800; }
.rt-project-card-title h3 { margin: 3px 0 5px; font-size: 23px; }
.rt-project-card-title h3 a { color: var(--rt-text); }
.rt-project-card-title p { margin: 0; color: var(--rt-muted); }
.rt-card-flags { min-height: 20px; display: flex; flex-wrap: wrap; gap: 6px; }
.rt-badge { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.rt-badge-ad { background: var(--rt-orange-soft); color: var(--rt-orange); }
.rt-badge-verified { background: var(--rt-green-soft); color: var(--rt-green); }
.rt-badge-neutral { background: #eef2f6; color: #475467; }
.rt-rating-box { text-align: center; border-radius: 14px; padding: 12px 8px; background: var(--rt-blue-soft); }
.rt-rating-box strong { display: block; color: var(--rt-blue-dark); font-size: 27px; line-height: 1; }
.rt-rating-box span, .rt-rating-box small { display: block; }
.rt-rating-box span { margin-top: 6px; font-size: 12px; font-weight: 700; }
.rt-rating-box small { margin-top: 3px; color: var(--rt-muted); font-size: 11px; }
.rt-project-tags { margin-top: 17px; display: flex; flex-wrap: wrap; gap: 7px; }
.rt-project-tags a { padding: 5px 9px; border-radius: 999px; background: #f2f5f9; color: #44516a; font-size: 12px; }
.rt-project-meta { margin-top: 17px; display: flex; flex-wrap: wrap; gap: 18px; color: #475467; font-size: 13px; }
.rt-card-actions { margin-top: 18px; padding-top: 17px; border-top: 1px solid #edf0f4; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.rt-subcategories { display: flex; flex-wrap: wrap; gap: 9px; margin: 18px 0 26px; }
.rt-subcategories a { padding: 9px 12px; border: 1px solid var(--rt-line); border-radius: 10px; background: #fff; color: #344054; font-size: 13px; font-weight: 700; }
.rt-subcategories a:hover { border-color: var(--rt-blue); color: var(--rt-blue); }

.rt-project-hero { padding: 34px 0; background: #fff; border-bottom: 1px solid var(--rt-line); }
.rt-project-hero-grid { display: grid; grid-template-columns: 110px minmax(0,1fr) 220px; gap: 26px; align-items: center; }
.rt-project-hero .rt-project-logo { width: 110px; height: 110px; border-radius: 24px; }
.rt-project-hero h1 { margin: 7px 0 7px; font-size: clamp(34px, 4vw, 50px); letter-spacing: -1px; line-height: 1.05; }
.rt-project-hero p { margin: 0; color: var(--rt-muted); font-size: 17px; }
.rt-project-score { border: 1px solid #c9d9ef; background: var(--rt-blue-soft); border-radius: 18px; padding: 18px; text-align: center; }
.rt-project-score strong { display: block; font-size: 38px; line-height: 1; color: var(--rt-blue-dark); }
.rt-project-score span { display: block; margin-top: 8px; font-weight: 700; }
.rt-project-score small { color: var(--rt-muted); }
.rt-project-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.rt-project-nav a { padding: 8px 11px; border-radius: 9px; background: #f2f5f9; color: #344054; font-size: 13px; font-weight: 700; }
.rt-project-nav a:hover { background: var(--rt-blue-soft); color: var(--rt-blue); }

.rt-content-card { padding: 25px; background: #fff; border: 1px solid var(--rt-line); border-radius: var(--rt-radius); }
.rt-content-card + .rt-content-card { margin-top: 18px; }
.rt-content-card h2:first-child, .rt-content-card h3:first-child { margin-top: 0; }
.rt-content-card h2 { font-size: 26px; }
.rt-content-card h3 { font-size: 20px; }
.rt-content-card p:last-child { margin-bottom: 0; }
.rt-prose h2 { margin-top: 28px; }
.rt-prose h3 { margin-top: 22px; }
.rt-prose ul, .rt-prose ol { padding-left: 22px; }
.rt-prose li + li { margin-top: 6px; }

/* Расширенные редакционные статьи блога v8 */
.rt-post-card-image { display: block; margin: -1px -1px 18px; overflow: hidden; border-radius: 16px 16px 0 0; background: #eef6f3; aspect-ratio: 16 / 9; }
.rt-post-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.rt-post-card:hover .rt-post-card-image img { transform: scale(1.025); }
.rt-article-image { margin: 0 0 28px; }
.rt-article-image img { display: block; width: 100%; height: auto; border-radius: 18px; border: 1px solid #dfe8e5; background: #f5faf8; }
.rt-article-image figcaption { margin-top: 9px; color: var(--rt-muted); font-size: 13px; line-height: 1.55; }
.rt-article-toc { margin: 24px 0 30px; padding: 20px 22px; border: 1px solid #d7e6e1; border-radius: 16px; background: linear-gradient(135deg,#f4fbf8,#f5f8ff); }
.rt-article-toc strong { display: block; margin-bottom: 10px; color: var(--rt-blue-dark); font-size: 17px; }
.rt-article-toc ul { margin: 0; columns: 2; column-gap: 32px; }
.rt-article-toc li { break-inside: avoid; margin: 0 0 8px; }
.rt-article-toc a { color: var(--rt-blue); text-decoration: underline; text-underline-offset: 3px; }
.rt-article-callout, .rt-article-example { margin: 24px 0; padding: 18px 20px; border-radius: 15px; }
.rt-article-callout { border-left: 4px solid var(--rt-green); background: #effaf5; }
.rt-article-example { border: 1px solid #dbe5f3; background: #f4f7fc; }
.rt-article-callout strong, .rt-article-example strong { color: var(--rt-blue-dark); }
.rt-table-scroll { max-width: 100%; margin: 22px 0 28px; overflow-x: auto; border: 1px solid #dfe5ec; border-radius: 14px; background: #fff; }
.rt-article-table { width: 100%; min-width: 650px; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.rt-article-table th, .rt-article-table td { padding: 13px 14px; border-right: 1px solid #e5eaf0; border-bottom: 1px solid #e5eaf0; text-align: left; vertical-align: top; }
.rt-article-table th:last-child, .rt-article-table td:last-child { border-right: 0; }
.rt-article-table tr:last-child td { border-bottom: 0; }
.rt-article-table thead th { background: #edf5f3; color: #17354b; font-weight: 800; }
.rt-article-table tbody tr:nth-child(even) { background: #fafcfd; }
.rt-article-checklist { margin: 22px 0; padding: 0; list-style: none; }
.rt-article-checklist li { position: relative; padding: 12px 14px 12px 44px; border: 1px solid #e0e7ec; border-radius: 12px; background: #fff; }
.rt-article-checklist li + li { margin-top: 9px; }
.rt-article-checklist li::before { content: "\2713"; position: absolute; left: 15px; top: 11px; width: 20px; height: 20px; border-radius: 50%; background: var(--rt-green); color: #fff; font-size: 13px; font-weight: 900; line-height: 20px; text-align: center; }

@media (max-width: 720px) {
  .rt-article-toc ul { columns: 1; }
  .rt-content-card.rt-prose { padding: 20px 17px; }
  .rt-article-image { margin-left: -4px; margin-right: -4px; }
  .rt-article-table { min-width: 580px; font-size: 13px; }
}

.rt-facts { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.rt-fact { padding: 13px 14px; border-radius: 12px; background: #f7f9fc; }
.rt-fact span { display: block; color: var(--rt-muted); font-size: 12px; }
.rt-fact strong { display: block; margin-top: 3px; font-size: 14px; }

.rt-review { padding: 20px 0; border-bottom: 1px solid var(--rt-line); }
.rt-review:last-child { border-bottom: 0; padding-bottom: 0; }
.rt-review-head { display: flex; justify-content: space-between; gap: 18px; }
.rt-review h3 { margin: 0; font-size: 17px; }
.rt-review-meta { color: var(--rt-muted); font-size: 12px; }
.rt-stars { color: #e69b00; letter-spacing: 1px; font-size: 17px; white-space: nowrap; }
.rt-review-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 14px; }
.rt-review-columns strong { display: block; margin-bottom: 4px; font-size: 13px; }
.rt-review-answer { margin-top: 14px; padding: 13px 15px; border-left: 3px solid var(--rt-blue); background: var(--rt-blue-soft); font-size: 14px; }

.rt-form { display: grid; gap: 15px; }
.rt-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.rt-field label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; }
.rt-field input, .rt-field select, .rt-field textarea { width: 100%; border: 1px solid #cfd8e5; border-radius: 10px; background: #fff; padding: 11px 12px; color: var(--rt-text); outline: none; }
.rt-field input:focus, .rt-field select:focus, .rt-field textarea:focus { border-color: var(--rt-blue); box-shadow: 0 0 0 3px rgba(15,91,211,.10); }
.rt-field textarea { min-height: 120px; resize: vertical; }
.rt-field small { color: var(--rt-muted); }
.rt-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.rt-alert { padding: 14px 16px; border-radius: 12px; margin-bottom: 16px; }
.rt-alert-success { background: var(--rt-green-soft); color: #075a4b; border: 1px solid #b8e4d6; }
.rt-alert-error { background: #fff0f0; color: #8a2626; border: 1px solid #f2c1c1; }

.rt-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--rt-line); border-radius: 16px; background: #fff; }
.rt-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.rt-table th, .rt-table td { padding: 14px 15px; border-bottom: 1px solid var(--rt-line); text-align: left; vertical-align: top; }
.rt-table th { background: #f6f8fb; color: #344054; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; }
.rt-table tr:last-child td { border-bottom: 0; }
.rt-table-project { min-width: 180px; }
.rt-table-project a { display: flex; align-items: center; gap: 10px; color: var(--rt-text); font-weight: 700; }
.rt-table-project .rt-project-logo { width: 42px; height: 42px; border-radius: 10px; }
.rt-yes { color: var(--rt-green); font-weight: 800; }
.rt-no { color: #98a2b3; }

.rt-price-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.rt-price-card { position: relative; padding: 24px; background: #fff; border: 1px solid var(--rt-line); border-radius: var(--rt-radius); display: flex; flex-direction: column; }
.rt-price-card-featured { border: 2px solid var(--rt-blue); box-shadow: var(--rt-shadow); }
.rt-price-card h3 { margin: 5px 0 8px; font-size: 22px; }
.rt-price-card p { color: var(--rt-muted); }
.rt-price { margin: 12px 0 14px; font-size: 25px; font-weight: 800; color: var(--rt-blue-dark); }
.rt-price-features { margin: 0 0 20px; padding: 0; list-style: none; flex: 1; }
.rt-price-features li { position: relative; padding-left: 22px; margin: 8px 0; color: #475467; font-size: 14px; }
.rt-price-features li:before { content: '\2713'; position: absolute; left: 0; color: var(--rt-green); font-weight: 800; }

.rt-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.rt-service-card { padding: 22px; background: #fff; border: 1px solid var(--rt-line); border-radius: var(--rt-radius); }
.rt-service-card h3 { margin: 0 0 8px; }
.rt-service-card p { margin: 0 0 14px; color: var(--rt-muted); }
.rt-service-card ul { padding-left: 20px; color: #475467; }

.rt-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.rt-post-card { padding: 21px; background: #fff; border: 1px solid var(--rt-line); border-radius: 16px; display: flex; flex-direction: column; }
.rt-post-card h2, .rt-post-card h3 { margin: 7px 0 8px; line-height: 1.25; }
.rt-post-card h2 { font-size: 21px; }
.rt-post-card h3 { font-size: 19px; }
.rt-post-card p { color: var(--rt-muted); font-size: 14px; }
.rt-post-card .rt-text-link { margin-top: auto; }
.rt-post-meta { color: var(--rt-muted); font-size: 12px; }


.rt-ranking-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.rt-ranking-card { padding: 22px; background: #fff; border: 1px solid var(--rt-line); border-radius: var(--rt-radius); display: flex; flex-direction: column; box-shadow: 0 7px 24px rgba(28,48,76,.04); }
.rt-ranking-card h3 { margin: 8px 0 8px; font-size: 21px; line-height: 1.25; }
.rt-ranking-card h3 a { color: var(--rt-text); }
.rt-ranking-card p { color: var(--rt-muted); font-size: 14px; }
.rt-ranking-meta { color: var(--rt-muted); font-size: 12px; font-weight: 700; }
.rt-ranking-top { margin: 14px 0 18px; padding: 0; list-style: none; display: grid; gap: 7px; }
.rt-ranking-top li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 10px; border-radius: 10px; background: #f6f8fb; font-size: 13px; }
.rt-ranking-top a { color: var(--rt-text); font-weight: 700; }
.rt-ranking-top span { color: var(--rt-blue-dark); font-weight: 800; }
.rt-ranking-position { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 9px; border-radius: 12px; background: var(--rt-blue-soft); color: var(--rt-blue-dark); font-weight: 800; }
.rt-ranking-project { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 14px; align-items: start; }
.rt-ranking-verdict { margin-top: 12px; padding: 13px 15px; border-radius: 12px; background: #f6f8fb; color: #475467; font-size: 14px; }

.rt-cta { padding: 32px; border-radius: 22px; background: linear-gradient(135deg, #0c315e, #0f5bd3); color: #fff; }
.rt-cta-grid { display: grid; grid-template-columns: 1fr auto; gap: 26px; align-items: center; }
.rt-cta h2 { margin: 0 0 7px; font-size: 29px; }
.rt-cta p { margin: 0; color: #dceaff; }

.rt-footer { margin-top: 50px; background: #10233c; color: #d6e0ed; }
.rt-footer-grid { padding: 44px 0 34px; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 34px; }
.rt-footer .rt-brand { color: #fff; }
.rt-brand-footer { margin-bottom: 14px; }
.rt-footer p { max-width: 430px; color: #9fb0c5; font-size: 14px; }
.rt-footer-grid > div:not(:first-child) { display: grid; align-content: start; gap: 8px; }
.rt-footer-grid strong { color: #fff; margin-bottom: 5px; }
.rt-footer a { color: #bdcada; font-size: 14px; }
.rt-footer a:hover { color: #fff; }
.rt-footer-bottom { padding: 18px 0; border-top: 1px solid rgba(255,255,255,.10); display: flex; justify-content: space-between; gap: 20px; color: #8fa0b5; font-size: 12px; }

.rt-empty { padding: 34px; border: 1px dashed #bcc8d7; border-radius: 16px; text-align: center; color: var(--rt-muted); background: #fff; }
.rt-pagination { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; }
.rt-pagination a, .rt-pagination span { min-width: 38px; height: 38px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--rt-line); border-radius: 9px; background: #fff; color: #344054; }
.rt-pagination .active { background: var(--rt-blue); color: #fff; border-color: var(--rt-blue); }

@media (max-width: 1020px) {
    .rt-nav { display: none; position: absolute; left: 16px; right: 16px; top: 72px; padding: 14px; background: #fff; border: 1px solid var(--rt-line); border-radius: 14px; box-shadow: var(--rt-shadow); flex-direction: column; align-items: stretch; }
    .rt-nav-dropdown > button { width: 100%; text-align: left; padding: 8px 0; }
    .rt-nav-dropdown-menu { position: static; display: grid; min-width: 0; margin-top: 5px; box-shadow: none; background: #f7f9fc; }
    .rt-menu-open .rt-nav { display: flex; }
    .rt-menu-toggle { display: block; margin-left: auto; }
    .rt-header-row > .rt-button { display: none; }
    .rt-brand-logo { width: 190px; }
    .rt-hero-grid { grid-template-columns: 1fr 360px; }
    .rt-hero-copy { padding: 48px 38px; }
    .rt-category-grid, .rt-price-grid, .rt-post-grid, .rt-ranking-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .rt-layout { grid-template-columns: 1fr; }
    .rt-sidebar { position: static; grid-template-columns: repeat(2, minmax(0,1fr)); }
    .rt-footer-grid { grid-template-columns: 2fr 1fr 1fr; }
    .rt-footer-grid > div:last-child { grid-column: 2 / 4; }
}

@media (max-width: 760px) {
    .rt-shell { width: min(100% - 22px, 1180px); }
    .rt-header-row { min-height: 64px; }
    .rt-brand { min-width: 0; }
    .rt-brand-logo { width: 168px; max-height: 46px; }
    .rt-nav { top: 64px; }
    .rt-hero { padding: 20px 0 34px; }
    .rt-hero-grid, .rt-project-hero-grid, .rt-cta-grid { grid-template-columns: 1fr; }
    .rt-hero-copy { min-height: auto; padding: 38px 26px; border-radius: 26px; }
    .rt-hero h1 { letter-spacing: -2px; }
    .rt-hero-panel { min-height: 390px; padding: 30px 26px; border-radius: 26px; }
    .rt-hero-stats { grid-template-columns: repeat(3, 1fr); }
    .rt-hero-stat { padding: 12px 9px; }
    .rt-section { padding: 34px 0; }
    .rt-section-head { display: block; }
    .rt-category-grid, .rt-price-grid, .rt-post-grid, .rt-service-grid, .rt-ranking-grid { grid-template-columns: 1fr; }
    .rt-project-card-head { grid-template-columns: 58px minmax(0,1fr); }
    .rt-project-card .rt-project-logo { width: 58px; height: 58px; }
    .rt-project-card .rt-rating-box { grid-column: 1 / 3; display: grid; grid-template-columns: auto 1fr auto; align-items: center; text-align: left; gap: 10px; }
    .rt-rating-box span, .rt-rating-box small { margin: 0; }
    .rt-project-hero-grid { text-align: left; }
    .rt-project-hero .rt-project-logo { width: 86px; height: 86px; }
    .rt-project-score { text-align: left; display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; }
    .rt-project-score small { grid-column: 2; }
    .rt-form-row, .rt-review-columns, .rt-facts { grid-template-columns: 1fr; }
    .rt-sidebar { grid-template-columns: 1fr; }
    .rt-footer-grid { grid-template-columns: 1fr 1fr; }
    .rt-footer-grid > div:first-child, .rt-footer-grid > div:last-child { grid-column: 1 / 3; }
    .rt-footer-bottom { display: block; }
    .rt-footer-bottom span { display: block; margin-top: 5px; }
}

@media (max-width: 480px) {
    .rt-hero h1 { font-size: 42px; }
    .rt-hero-actions .rt-button { width: 100%; }
    .rt-hero-trust { display: grid; }
    .rt-hero-stats { grid-template-columns: 1fr; }
    .rt-hero-panel { min-height: 520px; }
    .rt-card-actions .rt-button { width: 100%; }
    .rt-project-meta { display: grid; gap: 7px; }
    .rt-footer-grid { grid-template-columns: 1fr; }
    .rt-footer-grid > div:first-child, .rt-footer-grid > div:last-child { grid-column: 1; }
}

/* Новый визуальный слой HR-Helper */
.rt-project-card,
.rt-content-card,
.rt-sidebar-card,
.rt-ranking-card,
.rt-post-card,
.rt-service-card,
.rt-price-card,
.rt-page-intro {
    border-color: rgba(23,20,41,.09);
    box-shadow: 0 8px 28px rgba(41,32,74,.055);
}
.rt-project-card { border-radius: 24px; transition: transform .2s ease, box-shadow .2s ease; }
.rt-project-card:hover { transform: translateY(-3px); box-shadow: var(--rt-shadow); }
.rt-rating-box,
.rt-project-score { background: var(--rt-blue-soft); border-color: #d4ccff; }
.rt-rating-box strong,
.rt-project-score strong { color: var(--rt-blue-dark); }
.rt-project-tags a,
.rt-project-nav a { border-radius: 999px; }
.rt-content-card { border-radius: 24px; }
.rt-sidebar-card { border-radius: 20px; }
.rt-fact { border-radius: 16px; background: #f7f5fb; }
.rt-ranking-card { border-radius: 24px; }
.rt-post-card { border-radius: 22px; }
.rt-cta { border-radius: 28px; background: linear-gradient(135deg, #5c3ce9, #866cff); }
.rt-footer { background: var(--rt-ink); }
.rt-brand-footer .rt-brand-logo { width: 220px; }
.rt-footer-grid > div:first-child > p { margin-top: 18px; }

.rt-score-control { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; }
.rt-score-control > strong { color: #594f6d; font-size: 14px; }
.rt-star-picker { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 4px; }
.rt-star-picker input { position: absolute; opacity: 0; pointer-events: none; }
.rt-star-picker label { color: #d9d4e4; font-size: 36px; line-height: 1; cursor: pointer; transition: color .15s ease, transform .15s ease; }
.rt-star-picker label:hover,
.rt-star-picker label:hover ~ label,
.rt-star-picker input:checked ~ label { color: #ffb800; }
.rt-star-picker label:hover { transform: translateY(-2px) scale(1.06); }
.rt-star-picker input:focus-visible + label { outline: 3px solid rgba(108,77,255,.25); outline-offset: 3px; border-radius: 5px; }

@media (max-width: 1020px) and (min-width: 761px) {
    .rt-hero h1 { font-size: 55px; }
    .rt-hero-panel { padding: 34px 28px; }
    .rt-hero-panel h2 { font-size: 42px; }
}

@media (max-width: 760px) {
    .rt-category-body { padding: 19px 20px 21px; }
    .rt-category-actions { justify-content: flex-start; }
    .rt-category-actions .rt-button { width: 100%; }
}


/* Локальные иллюстрации */
.rt-hero-visual { display: block; width: 100%; height: auto; margin: -8px 0 14px; border-radius: 16px; }
.rt-sidebar-image { display: block; width: 100%; height: auto; margin: -4px 0 16px; border-radius: 12px; background: #f1f6ff; }
.rt-article-visual { float: right; width: min(42%, 360px); margin: 0 0 24px 30px; }
.rt-article-visual img { display: block; width: 100%; height: auto; border-radius: 16px; background: #f1f6ff; }
.rt-page-intro { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: center; gap: 34px; margin-bottom: 26px; padding: 28px 32px; border: 1px solid var(--rt-line); border-radius: var(--rt-radius); background: #fff; box-shadow: 0 8px 24px rgba(28,48,76,.04); }
.rt-page-intro h1 { margin: 0 0 10px; font-size: clamp(30px, 4vw, 44px); line-height: 1.1; }
.rt-page-intro img { width: 100%; height: auto; }

@media (max-width: 760px) {
    .rt-article-visual { float: none; width: 100%; max-width: 420px; margin: 0 auto 22px; }
    .rt-page-intro { grid-template-columns: 1fr; padding: 22px; }
    .rt-page-intro img { max-width: 420px; margin: 0 auto; }
}

/* HR-Helper 2026 - самостоятельная визуальная система */
:root {
    --rt-bg: #f2f1ec;
    --rt-card: #ffffff;
    --rt-text: #15131a;
    --rt-muted: #67626d;
    --rt-line: #d8d5cf;
    --rt-blue: #5b35da;
    --rt-blue-dark: #3d1ba9;
    --rt-blue-soft: #e8defe;
    --rt-green: #176a55;
    --rt-green-soft: #d9f3e9;
    --rt-yellow: #dfff4f;
    --rt-coral: #ff7b9c;
    --rt-ink: #17141d;
    --rt-shadow: 0 24px 60px rgba(31, 23, 48, .12);
    --rt-radius: 32px;
}

body {
    background:
        radial-gradient(circle at 12% 6%, rgba(217, 199, 255, .42), transparent 24rem),
        var(--rt-bg);
    color: var(--rt-text);
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 16px;
}

.rt-shell { width: min(1340px, calc(100% - 64px)); }
.rt-topline { background: #5b35da; color: #fff; }
.rt-topline-row { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 12px; font-weight: 700; }
.rt-topline a { color: #fff; }
.rt-header { background: rgba(242, 241, 236, .95); border-bottom: 0; box-shadow: 0 1px rgba(21, 19, 26, .12); }
.rt-header-row { min-height: 88px; gap: 32px; }
.rt-brand { min-width: 190px; }
.rt-brand-logo { width: 188px; max-height: 48px; }
.rt-nav { gap: 8px; padding: 7px; border: 1px solid rgba(21, 19, 26, .10); border-radius: 999px; background: rgba(255,255,255,.72); }
.rt-nav > a,
.rt-nav-dropdown > button { padding: 10px 13px; border-radius: 999px; font-size: 13px; color: #27222e; }
.rt-nav > a:hover,
.rt-nav-dropdown > button:hover { background: #e8defe; color: #3d1ba9; }
.rt-nav-dropdown-menu { top: calc(100% + 18px); border: 0; border-radius: 22px; padding: 12px; box-shadow: 0 24px 60px rgba(30,20,50,.18); }
.rt-nav-dropdown-trigger { display: inline-flex; align-items: center; gap: 5px; }
.rt-nav-dropdown-trigger span { font-size: 10px; color: var(--rt-muted); }
.rt-nav-dropdown-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -20px; height: 20px; }
.rt-nav-dropdown:hover .rt-nav-dropdown-menu,
.rt-nav-dropdown:focus-within .rt-nav-dropdown-menu,
.rt-nav-dropdown.is-open .rt-nav-dropdown-menu { display: grid; gap: 3px; }
.rt-categories-menu { left: 0; right: auto; width: min(760px, calc(100vw - 40px)); max-height: min(70vh, 660px); overflow-y: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rt-categories-menu a { white-space: normal; line-height: 1.25; }
.rt-categories-menu .rt-categories-all { grid-column: 1 / -1; margin-top: 6px; background: #17141d; color: #fff; text-align: center; }
.rt-categories-menu .rt-categories-all:hover { background: #5b35da; color: #fff; }
.rt-nav > a,
.rt-nav-dropdown > button,
.rt-nav-dropdown > .rt-nav-dropdown-trigger { padding: 10px 13px; border-radius: 999px; font-size: 13px; color: #27222e; }
.rt-nav > a:hover,
.rt-nav-dropdown > button:hover,
.rt-nav-dropdown > .rt-nav-dropdown-trigger:hover { background: #e8defe; color: #3d1ba9; }

.rt-button {
    min-height: 50px;
    padding: 14px 24px;
    border: 2px solid #17141d;
    border-radius: 14px;
    background: #17141d;
    color: #fff;
    box-shadow: none;
    font-weight: 800;
}
.rt-button:hover { border-color: #5b35da; background: #5b35da; box-shadow: none; transform: translateY(-2px); }
.rt-button-small { min-height: 42px; padding: 10px 16px; border-radius: 12px; }
.rt-button-light { background: transparent; color: #17141d; border-color: #17141d; }
.rt-button-light:hover { background: #fff; color: #3d1ba9; border-color: #3d1ba9; }
.rt-button-green { background: var(--rt-yellow); color: #17141d; border-color: var(--rt-yellow); }
.rt-button-green:hover { background: #fff; color: #17141d; border-color: #fff; }
.rt-text-link { color: #3d1ba9; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }

.rt-hero { padding: 32px 0 76px; background: transparent; }
.rt-hero-grid { grid-template-columns: minmax(0, 1.42fr) minmax(350px, .58fr); gap: 18px; }
.rt-hero-copy {
    min-height: 600px;
    padding: 72px 68px 58px;
    border-radius: 42px;
    background: #d9c7ff;
    box-shadow: none;
}
.rt-hero-copy:before {
    content: '';
    position: absolute;
    right: 56px;
    top: 48px;
    width: 86px;
    height: 86px;
    border: 22px solid #ff7b9c;
    border-radius: 50%;
    transform: rotate(-12deg);
}
.rt-hero-copy:after {
    right: -42px;
    bottom: -68px;
    width: 248px;
    height: 248px;
    border: 52px solid rgba(91, 53, 218, .23);
}
.rt-eyebrow { padding: 9px 14px; border-radius: 10px; background: #fff; color: #17141d; letter-spacing: .04em; }
.rt-hero h1 { max-width: 900px; margin: 34px 0 24px; font-size: clamp(54px, 6.5vw, 94px); line-height: .92; letter-spacing: -.065em; }
.rt-hero p { max-width: 760px; color: #3d3746; font-size: 20px; line-height: 1.45; }
.rt-hero-actions { margin-top: 34px; }
.rt-hero .rt-button-light { background: transparent; border-color: #17141d; color: #17141d; }
.rt-hero .rt-button-light:hover { background: #fff; color: #17141d; }
.rt-hero-trust { margin-top: 46px; gap: 10px; }
.rt-hero-trust span { padding: 9px 12px; border-radius: 11px; background: rgba(255,255,255,.58); color: #37303e; }
.rt-hero-panel { min-height: 600px; padding: 46px 38px; border-radius: 42px; background: #17141d; box-shadow: none; }
.rt-hero-panel:before { content: ''; position: absolute; right: -56px; top: 110px; width: 170px; height: 170px; border-radius: 38px; background: #dfff4f; transform: rotate(18deg); }
.rt-hero-panel-label { position: relative; z-index: 2; border-radius: 10px; color: #fff; }
.rt-hero-panel h2 { position: relative; z-index: 2; margin-top: 52px; font-size: clamp(44px, 4.4vw, 68px); letter-spacing: -.055em; }
.rt-hero-panel h2 em { color: #dfff4f; }
.rt-hero-stats { margin-top: 56px; grid-template-columns: 1fr; gap: 10px; }
.rt-hero-stat { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 16px 18px; border-radius: 16px; background: rgba(255,255,255,.08); }
.rt-hero-stat strong { font-size: 34px; }
.rt-hero-stat span { margin: 0; font-size: 13px; }
.rt-hero-spark { right: 28px; bottom: -22px; color: #ff7b9c; font-size: 136px; }

.rt-section { padding: 76px 0; }
.rt-section-tight { padding: 42px 0; }
.rt-section-head { margin-bottom: 30px; align-items: end; }
.rt-section-head h1 { font-size: clamp(38px, 4.8vw, 66px); letter-spacing: -.055em; }
.rt-section-head h2 { max-width: 880px; font-size: clamp(38px, 4.5vw, 62px); line-height: .98; letter-spacing: -.055em; }
.rt-section-head p { max-width: 760px; margin-top: 13px; font-size: 17px; }

.rt-category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rt-category-card { border: 0; border-radius: 28px; background: #fff; box-shadow: none; }
.rt-category-card:nth-child(4n+1) { background: #d9c7ff; }
.rt-category-card:nth-child(4n+2) { background: #dfff4f; }
.rt-category-card:nth-child(4n+3) { background: #ffc6d5; }
.rt-category-card:nth-child(4n+4) { background: #bfe4ff; }
.rt-category-card:hover { transform: translateY(-7px); border-color: transparent; box-shadow: 0 22px 54px rgba(31,23,48,.15); }
.rt-category-picture { aspect-ratio: 1.55 / 1; margin: 12px 12px 0; border-radius: 20px; background: rgba(255,255,255,.48); }
.rt-category-picture img { object-fit: cover; mix-blend-mode: multiply; }
.rt-category-body { padding: 22px 24px 25px; }
.rt-category-card h3 { font-size: 22px; letter-spacing: -.025em; }
.rt-category-card p { color: #4f4857; }
.rt-category-count { padding-top: 15px; border-top: 1px solid rgba(21,19,26,.18); color: #17141d; }
.rt-category-count b { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 50%; background: #17141d; color: #fff; }

.rt-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; }
.rt-sidebar { top: 134px; }
.rt-sidebar-card { padding: 26px; border: 0; border-radius: 26px; background: #d9c7ff; box-shadow: none; }
.rt-sidebar-card:nth-child(even) { background: #dfff4f; }
.rt-sidebar-card h3 { font-size: 23px; letter-spacing: -.025em; }
.rt-sidebar-card p { color: #49434e; }

.rt-project-list { gap: 14px; }
.rt-project-card { padding: 26px; border: 0; border-radius: 28px; box-shadow: none; }
.rt-project-card:hover { transform: translateY(-4px); box-shadow: var(--rt-shadow); }
.rt-project-card-head { grid-template-columns: 82px minmax(0,1fr) 116px; gap: 20px; }
.rt-project-logo { width: 82px; height: 82px; border-radius: 22px; }
.rt-project-card-title h3 { font-size: 27px; letter-spacing: -.035em; }
.rt-rating-box { padding: 16px 10px; border-radius: 18px; background: #17141d; }
.rt-rating-box strong, .rt-rating-box span { color: #fff; }
.rt-rating-box small { color: #c7c1ce; }
.rt-project-tags a { background: #f0eef6; color: #3f374a; }
.rt-card-actions { border-color: #e4e0e8; }

.rt-ranking-grid { gap: 16px; }
.rt-ranking-card { padding: 27px; border: 0; border-radius: 28px; box-shadow: none; }
.rt-ranking-card:nth-child(3n+1) { background: #d9c7ff; }
.rt-ranking-card:nth-child(3n+2) { background: #fff; }
.rt-ranking-card:nth-child(3n+3) { background: #dfff4f; }
.rt-ranking-card h3 { font-size: 25px; letter-spacing: -.03em; }
.rt-ranking-top li { background: rgba(255,255,255,.60); }
.rt-ranking-top span { color: #17141d; }

.rt-content-card,
.rt-page-intro,
.rt-post-card,
.rt-service-card,
.rt-price-card,
.rt-table-wrap { border: 0; border-radius: 28px; box-shadow: none; }
.rt-content-card { padding: 30px; }
.rt-page-intro { padding: 38px; background: #d9c7ff; }

.rt-ranking-article { padding: 42px 44px; color: #393440; font-size: 16px; line-height: 1.72; }
.rt-ranking-article > p { max-width: 820px; }
.rt-ranking-article h2 { margin: 42px 0 15px; color: #17141d; font-size: clamp(27px, 3vw, 38px); line-height: 1.08; letter-spacing: -.035em; }
.rt-ranking-article h3 { margin: 0 0 9px; color: #17141d; font-size: 21px; line-height: 1.25; letter-spacing: -.015em; }
.rt-ranking-article a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.rt-ranking-methodology { margin: -42px -44px 38px; padding: 38px 44px 40px; border-radius: 28px 28px 0 0; background: #17141d; color: #eeeaf2; }
.rt-ranking-methodology h2 { margin: 9px 0 12px; color: #fff; }
.rt-ranking-methodology p { max-width: 850px; margin: 0; color: #d4ced9; font-size: 16px; }
.rt-ranking-kicker { display: inline-flex; align-items: center; gap: 8px; color: #5b35da; font-size: 12px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.rt-ranking-methodology .rt-ranking-kicker { color: #dfff4f; }
.rt-ranking-toc { margin: 24px 0 34px; padding: 22px 24px; border-radius: 20px; background: #f1eff5; }
.rt-ranking-toc strong { display: block; margin-bottom: 11px; color: #17141d; }
.rt-ranking-toc ol { margin: 0; columns: 2; column-gap: 34px; }
.rt-ranking-toc li { break-inside: avoid; margin: 0 0 7px; }
.rt-ranking-toc a { color: #4932b8; font-weight: 700; }
.rt-ranking-criteria { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin: 20px 0 32px; }
.rt-ranking-criterion { padding: 20px; border-radius: 20px; background: #f1eff5; }
.rt-ranking-criterion:nth-child(3n+1) { background: #e4d8ff; }
.rt-ranking-criterion:nth-child(3n+2) { background: #edffc0; }
.rt-ranking-criterion:nth-child(3n+3) { background: #dcefff; }
.rt-ranking-criterion b { display: block; margin-bottom: 10px; color: #5b35da; font-size: 30px; line-height: 1; letter-spacing: -.04em; }
.rt-ranking-criterion p { margin: 0; color: #4f4857; font-size: 14px; line-height: 1.55; }
.rt-ranking-participants { display: grid; gap: 12px; margin: 20px 0 34px; }
.rt-ranking-participant { padding: 23px 24px; border: 1px solid #e7e2eb; border-radius: 20px; background: #fff; }
.rt-ranking-participant:nth-child(odd) { background: #faf9fc; }
.rt-ranking-participant p { margin: 0 0 9px; }
.rt-ranking-participant p:last-child { margin-bottom: 0; }
.rt-ranking-participant h3 a { color: #17141d; }
.rt-ranking-fit { color: #554d5d; font-size: 14px; }
.rt-ranking-note { margin: 25px 0; padding: 19px 22px; border-left: 5px solid #5b35da; border-radius: 0 18px 18px 0; background: #f1eff5; }
.rt-ranking-results-head { margin-top: 28px; padding: 32px 36px; border-radius: 28px; background: #dfff4f; }
.rt-ranking-results-head h2 { margin: 8px 0 10px; font-size: clamp(30px, 3.5vw, 44px); line-height: 1.05; letter-spacing: -.04em; }
.rt-ranking-results-head p { max-width: 780px; margin: 0; color: #49434e; }
.rt-project-hero { padding: 50px 0; border: 0; background: #d9c7ff; }
.rt-project-hero-grid { grid-template-columns: 128px minmax(0,1fr) 220px; }
.rt-project-hero .rt-project-logo { width: 128px; height: 128px; border-radius: 30px; }
.rt-project-hero h1 { font-size: clamp(44px, 5vw, 72px); letter-spacing: -.055em; }
.rt-project-score { border: 0; border-radius: 24px; background: #17141d; color: #fff; }
.rt-project-score strong { color: #dfff4f; }
.rt-project-score small { color: #c7c1ce; }
.rt-project-nav a, .rt-subcategories a { border: 0; border-radius: 12px; background: rgba(255,255,255,.66); }
.rt-fact { background: #f1eff5; }
.rt-review-answer { background: #e8defe; border-color: #5b35da; }

.rt-form { gap: 18px; }
.rt-field input, .rt-field select, .rt-field textarea { min-height: 50px; border: 2px solid #d3ced9; border-radius: 14px; }
.rt-field input:focus, .rt-field select:focus, .rt-field textarea:focus { border-color: #5b35da; box-shadow: 0 0 0 4px rgba(91,53,218,.12); }
.rt-star-picker label { color: #cbc5d1; }
.rt-star-picker label:hover,
.rt-star-picker label:hover ~ label,
.rt-star-picker input:checked ~ label { color: #ff9d00; }

.rt-post-grid { gap: 16px; }
.rt-post-card { padding: 27px; background: #fff; }
.rt-post-card:nth-child(3n+2) { background: #bfe4ff; }
.rt-post-card h2, .rt-post-card h3 { font-size: 23px; }
.rt-price-grid, .rt-service-grid { gap: 16px; }
.rt-price-card, .rt-service-card { padding: 28px; }
.rt-price-card-featured { border: 3px solid #5b35da; }
.rt-cta { padding: 46px; border-radius: 34px; background: #5b35da; }
.rt-cta h2 { font-size: clamp(32px, 4vw, 54px); line-height: 1; letter-spacing: -.045em; }
.rt-cta p { color: #e7defe; font-size: 17px; }

.rt-footer { margin-top: 78px; background: #17141d; }
.rt-footer-grid { padding: 62px 0 42px; }
.rt-footer .rt-brand-logo { width: 188px; }
.rt-footer-bottom { border-color: rgba(255,255,255,.12); }

/* Расширенная карточка проекта и FAQ. */
.rt-rich-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; margin: 0; padding: 0; list-style: none; }
.rt-rich-list li { display: flex; gap: 10px; align-items: flex-start; min-height: 58px; padding: 15px; border: 1px solid #ddd9e7; border-radius: 14px; background: linear-gradient(145deg,#fff,#f4f1ff); color: #393344; line-height: 1.45; }
.rt-rich-check { display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; background: var(--rt-green-soft); color: var(--rt-green); font-weight: 900; }
.rt-use-case-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.rt-use-case-card { min-height: 116px; padding: 20px 18px 17px; border: 1px solid #ddd9e7; border-radius: 17px; background: linear-gradient(145deg,#fff,#f4f1ff); }
.rt-use-case-card > span { display: inline-block; margin-bottom: 11px; color: var(--rt-blue); font-size: 12px; font-weight: 850; letter-spacing: .08em; }
.rt-use-case-card p { margin: 0; color: #393344; line-height: 1.5; }
.rt-pricing-panel { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 22px; align-items: center; padding: 20px; border: 1px solid #d5cdf4; border-radius: 17px; background: linear-gradient(135deg,#eeeaff,#faf9ff); }
.rt-pricing-panel > div { padding-right: 20px; border-right: 1px solid #d5cdf4; }
.rt-pricing-panel span { display: block; color: var(--rt-muted); font-size: 12px; }
.rt-pricing-panel strong { display: block; margin-top: 4px; color: var(--rt-blue-dark); font-size: 21px; }
.rt-pricing-panel p { margin: 0; line-height: 1.55; }
.rt-editorial-note { margin-top: 12px; padding: 17px 18px; border: 1px solid #ddd9e7; border-radius: 15px; background: #faf9fc; }
.rt-editorial-note:first-of-type { margin-top: 0; }
.rt-editorial-note strong { color: #393344; }
.rt-editorial-note p { margin: 7px 0 0; color: var(--rt-muted); line-height: 1.55; }
.rt-editorial-positive { border-color: #bce5d9; background: #effaf6; }
.rt-faq-list { display: grid; gap: 10px; }
.rt-faq-item { overflow: hidden; border: 1px solid var(--rt-line); border-radius: 14px; background: linear-gradient(135deg,#fff,#faf9ff); }
.rt-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 19px; color: var(--rt-text); font-weight: 800; cursor: pointer; list-style: none; }
.rt-faq-item summary::-webkit-details-marker { display: none; }
.rt-faq-item summary span { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--rt-blue-soft); color: var(--rt-blue-dark); font-size: 20px; line-height: 1; transition: transform .2s ease; }
.rt-faq-item[open] summary span { transform: rotate(45deg); }
.rt-faq-item > div { padding: 0 19px 18px; color: var(--rt-muted); line-height: 1.65; }
.rt-table-project a, .rt-table-project-static { display: flex; align-items: center; gap: 10px; color: var(--rt-text); font-weight: 700; }

@media (max-width: 1180px) {
    .rt-shell { width: min(100% - 40px, 1120px); }
    .rt-header-row { gap: 16px; }
    .rt-nav { gap: 2px; }
    .rt-nav > a, .rt-nav-dropdown > button, .rt-nav-dropdown > .rt-nav-dropdown-trigger { padding: 9px 9px; }
    .rt-category-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 900px) {
    .rt-topline { display: none; }
    .rt-header-row { min-height: 72px; }
    .rt-menu-toggle { display: block; order: 2; margin-left: auto; }
    .rt-header-row > .rt-button { order: 3; }
    .rt-nav { display: none; position: absolute; left: 20px; right: 20px; top: 78px; padding: 14px; border-radius: 22px; background: #fff; box-shadow: var(--rt-shadow); }
    .rt-menu-open .rt-nav { display: grid; gap: 4px; }
    .rt-nav > a, .rt-nav-dropdown > button, .rt-nav-dropdown > .rt-nav-dropdown-trigger { width: 100%; text-align: left; padding: 12px; }
    .rt-nav-dropdown-menu { position: static; margin-top: 6px; box-shadow: none; border: 1px solid #e1dce7; }
    .rt-nav-dropdown-menu::before { display: none; }
    .rt-categories-menu { width: 100%; max-height: 320px; grid-template-columns: 1fr; }
    .rt-menu-open .rt-categories-menu { display: grid; }
    .rt-hero-grid { grid-template-columns: 1fr; }
    .rt-hero-copy, .rt-hero-panel { min-height: auto; }
    .rt-hero-panel { padding-bottom: 80px; }
    .rt-hero-stats { grid-template-columns: repeat(3, 1fr); }
    .rt-hero-stat { display: block; }
    .rt-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .rt-layout { grid-template-columns: 1fr; }
    .rt-sidebar { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
    .rt-shell { width: min(100% - 24px, 600px); }
    .rt-brand-logo { width: 160px; }
    .rt-header-row > .rt-button { display: none; }
    .rt-hero { padding-top: 12px; padding-bottom: 44px; }
    .rt-hero-copy { padding: 38px 25px 34px; border-radius: 28px; }
    .rt-hero-copy:before { right: 25px; top: 25px; width: 48px; height: 48px; border-width: 12px; }
    .rt-hero h1 { margin-top: 72px; font-size: 46px; }
    .rt-hero p { font-size: 17px; }
    .rt-hero-panel { padding: 34px 25px 70px; border-radius: 28px; }
    .rt-hero-panel h2 { font-size: 44px; }
    .rt-hero-stats { grid-template-columns: 1fr; }
    .rt-hero-stat { display: flex; }
    .rt-section { padding: 50px 0; }
    .rt-section-head { align-items: start; }
    .rt-section-head h2 { font-size: 40px; }
    .rt-category-grid { grid-template-columns: 1fr; }
    .rt-category-card { border-radius: 24px; }
    .rt-category-picture { aspect-ratio: 1.8/1; }
    .rt-project-card { padding: 20px; }
    .rt-project-card-head { grid-template-columns: 64px minmax(0,1fr); }
    .rt-project-card-head .rt-rating-box { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; text-align: left; }
    .rt-project-logo { width: 64px; height: 64px; border-radius: 17px; }
    .rt-project-card-title h3 { font-size: 23px; }
    .rt-ranking-article { padding: 28px 22px; }
    .rt-ranking-methodology { margin: -28px -22px 28px; padding: 28px 22px 30px; border-radius: 24px 24px 0 0; }
    .rt-ranking-toc ol { columns: 1; }
    .rt-ranking-criteria { grid-template-columns: 1fr; }
    .rt-ranking-participant { padding: 20px; }
    .rt-ranking-results-head { padding: 27px 23px; border-radius: 24px; }
    .rt-sidebar { grid-template-columns: 1fr; }
    .rt-project-hero-grid { grid-template-columns: 82px minmax(0,1fr); }
    .rt-project-hero .rt-project-logo { width: 82px; height: 82px; border-radius: 22px; }
    .rt-project-score { grid-column: 1 / -1; }
    .rt-cta { padding: 30px 24px; border-radius: 26px; }
    .rt-rich-list, .rt-use-case-grid, .rt-pricing-panel { grid-template-columns: 1fr; }
    .rt-pricing-panel > div { padding: 0 0 16px; border-right: 0; border-bottom: 1px solid #d5cdf4; }
}

/* Должно идти после основной темы карточек. */
.rt-post-card-image { margin: -27px -27px 20px; border-radius: 22px 22px 0 0; }
