/* §1141 (владелец 20.10.2026: «на телефоне чуть прижал и двинул вбок — страница уходит, справа видна полоса»): у каждого
   сайта страница не шире экрана и не тянется вбок пальцем (резиновая прокрутка Safari по горизонтали выключена).
   Прокрутка внутри (галереи, ленты карточек) работает как была.
   Только clip: hidden на html + body сделал бы body отдельной прокруткой (ломает липкую шапку и анимации по прокрутке);
   где clip не поддерживается — остаётся как было. body с селектором посильнее — перекрывает overflow-x: hidden дизайнов. */
html, body { overscroll-behavior-x: none; }
@supports (overflow: clip) { html, html body { overflow-x: clip; } }
/* §701 — свои страницы сайта клиента и меню (разметку строит /s/page.js). Вид берётся из переменных шаблона: цвет фона и
   текста — те же, что у страницы шаблона; здесь задаются только шрифт заголовков, фон карточек и линии. */
[data-tpl] { --pg-head: inherit; --pg-card: transparent; --pg-muted: var(--muted, #6b6b6b); --pg-line: var(--line, rgba(127, 127, 127, 0.3)); --pg-radius: 14px; --pg-weight: 600; }
[data-tpl="barber-noir"] { --pg-accent: var(--brass); --pg-accent-ink: var(--brass-ink); --pg-head: var(--serif); --pg-card: var(--panel); --pg-radius: 6px; --pg-weight: 400; }
[data-tpl="barber-welcome"] { --pg-accent: var(--brass); --pg-accent-ink: var(--brass-ink); --pg-head: var(--serif); --pg-card: #ffffff; --pg-weight: 400; }
[data-tpl="beauty-crystal"] { --pg-accent: var(--accent); --pg-accent-ink: #ffffff; --pg-head: var(--serif); --pg-card: #ffffff; --pg-weight: 500; }
[data-tpl="spa-hush"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--head); --pg-card: var(--surface); --pg-radius: 40px; --pg-weight: 300; }
[data-tpl="barber-faded"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--head); --pg-card: var(--card); --pg-muted: var(--muted); --pg-line: var(--line); --pg-radius: 0px; --pg-weight: 600; }
[data-tpl="elec-circuit"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--head); --pg-card: var(--white); --pg-muted: var(--muted); --pg-line: var(--line); --pg-radius: 0px; --pg-weight: 800; }
[data-tpl="cleaning-twofold"] { --pg-accent: var(--gold); --pg-accent-ink: var(--gold-ink); --pg-head: var(--head); --pg-card: var(--graphite); --pg-radius: 0px; --pg-weight: 400; }
[data-tpl="fine-serie"] { --pg-accent: #c8ff3d; --pg-accent-ink: #0b0b0c; --pg-head: var(--display); --pg-card: #18181b; --pg-radius: 18px; --pg-weight: 700; }
[data-tpl="longevity-inna"] { --pg-accent: var(--wine); --pg-accent-ink: var(--milk); --pg-head: var(--serif); --pg-card: var(--surface); --pg-radius: 0px; --pg-weight: 400; }
[data-tpl="wellness-ritual"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--head); --pg-card: var(--surface); --pg-radius: 16px; --pg-weight: 500; }
[data-tpl="staffing-vortex"] { --pg-accent: var(--orange); --pg-accent-ink: var(--graphite); --pg-head: var(--head); --pg-card: var(--warm); --pg-radius: 10px; --pg-weight: 600; }
[data-tpl="silver-lustre"] { --pg-accent: var(--graphite); --pg-accent-ink: var(--on-dark); --pg-head: var(--serif); --pg-card: #ffffff; --pg-radius: 2px; --pg-weight: 500; }
[data-tpl="music-verse"] { --pg-accent: var(--coral); --pg-accent-ink: #17131d; --pg-head: var(--display); --pg-card: var(--plum); --pg-radius: 18px; --pg-weight: 500; }
[data-tpl="music-canta"] { --pg-accent: var(--voice); --pg-accent-ink: #ffffff; --pg-head: var(--display); --pg-card: var(--white); --pg-radius: 18px; --pg-weight: 400; }
[data-tpl="security-post"] { --pg-accent: var(--signal); --pg-accent-ink: var(--graphite); --pg-head: var(--head); --pg-card: var(--white); --pg-radius: 2px; --pg-weight: 800; }
[data-tpl="therapy-calm"] { --pg-accent: var(--teal); --pg-accent-ink: #ffffff; --pg-head: var(--serif); --pg-card: var(--card); --pg-radius: 12px; --pg-weight: 500; }
[data-tpl="fitted-joinery"] { --pg-accent: var(--green); --pg-accent-ink: #fbf9f5; --pg-head: var(--serif); --pg-card: var(--chalk); --pg-radius: 0px; --pg-weight: 400; }
[data-tpl="therapy-threads"] { --pg-accent: var(--mint); --pg-accent-ink: #07110c; --pg-head: var(--serif); --pg-card: var(--card); --pg-radius: 30px; --pg-weight: 500; }
[data-tpl="coach-meridian"] { --pg-accent: var(--wine); --pg-accent-ink: #ffffff; --pg-head: var(--serif); --pg-card: var(--paper); --pg-radius: 2px; --pg-weight: 500; }
[data-tpl="vibro-resonance"] { --pg-accent: var(--gold); --pg-accent-ink: #14110c; --pg-head: var(--serif); --pg-card: var(--card); --pg-radius: 2px; --pg-weight: 400; }
[data-tpl="aerial-silk"] { --pg-accent: var(--red); --pg-accent-ink: #ffffff; --pg-head: var(--serif); --pg-card: var(--card); --pg-radius: 6px; --pg-weight: 600; }
[data-tpl="nails-gloss"] { --pg-accent: var(--gold); --pg-accent-ink: #16110a; --pg-head: var(--serif); --pg-card: var(--card); --pg-muted: #66594f; --pg-line: rgba(27, 22, 19, 0.14); --pg-radius: 6px; --pg-weight: 400; }
[data-tpl="seafood-pearl"] { --pg-accent: var(--accent); --pg-accent-ink: #ffffff; --pg-head: var(--serif); --pg-card: var(--cream); --pg-muted: #446572; --pg-line: rgba(13, 59, 82, 0.14); --pg-radius: 2px; --pg-weight: 500; }
[data-tpl="seafood-roe"] { --pg-accent: var(--roe); --pg-accent-ink: #0b0d0e; --pg-head: var(--serif); --pg-card: var(--ink-3); --pg-muted: #9eabaf; --pg-line: rgba(238, 242, 242, 0.16); --pg-radius: 0px; --pg-weight: 600; }
[data-tpl="thermo-infra"] { --pg-accent: var(--red); --pg-accent-ink: #ffffff; --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 2px; --pg-weight: 600; }
[data-tpl="tarot-arcana"] { --pg-accent: var(--gold); --pg-accent-ink: var(--gold-ink); --pg-head: var(--serif); --pg-card: var(--card); --pg-radius: 2px; --pg-weight: 600; }
[data-tpl="gift-mug"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 22px; --pg-weight: 800; }
[data-tpl="hair-follicle"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 2px; --pg-weight: 500; }
[data-tpl="sharp-edge"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 4px; --pg-weight: 800; }
[data-tpl="transit-voyage"] { --pg-accent: var(--sun); --pg-accent-ink: var(--sun-ink); --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 14px; --pg-weight: 800; }
[data-tpl="gala-circle"] { --pg-accent: var(--gold); --pg-accent-ink: #0b0b0c; --pg-head: var(--serif); --pg-card: #1a191b; --pg-radius: 18px; --pg-weight: 400; }
[data-tpl="spine-clinic"] { --pg-accent: var(--sea); --pg-accent-ink: #ffffff; --pg-head: var(--serif); --pg-card: var(--white); --pg-radius: 6px; --pg-weight: 500; }
[data-tpl="pelart-clinic"] { --pg-accent: var(--lagoon); --pg-accent-ink: #ffffff; --pg-head: var(--serif); --pg-card: #ffffff; --pg-radius: 2px; --pg-weight: 500; }
[data-tpl="furniture-atelier"] { --pg-accent: var(--walnut); --pg-accent-ink: #ffffff; --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 4px; --pg-weight: 400; }
[data-tpl="beauty-ritual"] { --pg-accent: var(--mulberry); --pg-accent-ink: #f3ede8; --pg-head: var(--serif); --pg-card: var(--card); --pg-radius: 20px; --pg-weight: 400; }
[data-tpl="kids-blocks"] { --pg-accent: var(--accent); --pg-accent-ink: #ffffff; --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 22px; --pg-weight: 600; }
[data-tpl="therapy-velvet"] { --pg-accent: var(--velvet); --pg-accent-ink: #f6f1e8; --pg-head: var(--serif); --pg-card: var(--card); --pg-radius: 28px; --pg-weight: 500; }
[data-tpl="plumb-blueprint"] { --pg-accent: var(--cold); --pg-accent-ink: #ffffff; --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 6px; --pg-weight: 800; }
[data-tpl="apparel-print"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 18px; --pg-weight: 400; }
[data-tpl="bistro-arena"] { --pg-accent: var(--hot); --pg-accent-ink: #ffffff; --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 0px; --pg-weight: 400; }
[data-tpl="moving-haul"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 4px; --pg-weight: 700; }
[data-tpl="catering-simmer"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 6px; --pg-weight: 800; }
[data-tpl="garden-trim"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 4px; --pg-weight: 800; }
[data-tpl="fashion-drop"] { --pg-accent: var(--signal); --pg-accent-ink: var(--signal-ink); --pg-head: var(--display); --pg-card: #0c0c0c; --pg-radius: 0px; --pg-weight: 400; }
[data-tpl="fashion-edition"] { --pg-accent: var(--ink); --pg-accent-ink: #f5f4f0; --pg-head: var(--display); --pg-card: #ffffff; --pg-radius: 0px; --pg-weight: 500; }
[data-tpl="beauty-loud"] { --pg-accent: var(--orange); --pg-accent-ink: var(--orange-ink); --pg-head: var(--display); --pg-card: var(--white); --pg-radius: 20px; --pg-weight: 720; }
[data-tpl="beauty-lab"] { --pg-accent: var(--lagoon); --pg-accent-ink: #ffffff; --pg-head: var(--serif); --pg-card: #ffffff; --pg-radius: 0px; --pg-weight: 500; }
[data-tpl="pelart-loud"] { --pg-accent: var(--orange); --pg-accent-ink: var(--orange-ink); --pg-head: var(--display); --pg-card: var(--white); --pg-radius: 20px; --pg-weight: 720; }
[data-tpl="pelart-lab"] { --pg-accent: var(--lagoon); --pg-accent-ink: #ffffff; --pg-head: var(--serif); --pg-card: #ffffff; --pg-radius: 0px; --pg-weight: 500; }
[data-tpl="kombi-flame"] { --pg-accent: var(--flame); --pg-accent-ink: var(--flame-ink); --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 0px; --pg-weight: 700; }
[data-tpl="fight-tiger"] { --pg-accent: var(--red); --pg-accent-ink: var(--red-ink); --pg-head: var(--display); --pg-card: var(--moss); --pg-radius: 0px; --pg-weight: 800; }
[data-tpl="agency-loud"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--display); --pg-card: var(--white); --pg-radius: 20px; --pg-weight: 720; }
[data-tpl="trainer-pulse"] { --pg-accent: var(--mint); --pg-accent-ink: var(--ink); --pg-head: var(--head); --pg-card: var(--grit-2); --pg-radius: 22px; --pg-weight: 800; }
[data-tpl="gym-heat"] { --pg-accent: var(--heat); --pg-accent-ink: var(--heat-ink); --pg-head: var(--display); --pg-card: var(--card); --pg-radius: 4px; --pg-weight: 800; }
[data-tpl="realty-quiet"] { --pg-accent: var(--pine); --pg-accent-ink: #eef0ea; --pg-head: var(--serif); --pg-card: var(--stone-2); --pg-radius: 2px; --pg-weight: 300; }
[data-tpl="accounting-clear"] { --pg-accent: var(--accent); --pg-accent-ink: #ffffff; --pg-head: var(--head); --pg-card: var(--white); --pg-radius: 12px; --pg-weight: 600; }
[data-tpl="law-docket"] { --pg-accent: var(--ink); --pg-accent-ink: #ffffff; --pg-head: var(--head); --pg-card: var(--surface); --pg-radius: 6px; --pg-weight: 600; }
[data-tpl="law-counsel"] { --pg-accent: var(--tangerine); --pg-accent-ink: var(--ink); --pg-head: var(--display); --pg-card: var(--white); --pg-radius: 0px; --pg-weight: 500; }
[data-tpl="spa-candlelit"] { --pg-accent: var(--brass); --pg-accent-ink: var(--brass-ink); --pg-head: var(--serif); --pg-card: var(--card); --pg-radius: 18px; --pg-weight: 300; }
[data-tpl="cleaning-fresh"] { --pg-accent: var(--sun); --pg-accent-ink: var(--sun-ink); --pg-head: var(--sans); --pg-card: #ffffff; --pg-radius: 18px; --pg-weight: 800; }
[data-tpl="auto-service"] { --pg-accent: var(--yellow); --pg-accent-ink: var(--yellow-ink); --pg-head: var(--head); --pg-card: var(--panel); --pg-radius: 6px; --pg-weight: 700; }
[data-tpl="detailing"] { --pg-accent: var(--ice); --pg-accent-ink: var(--ice-ink); --pg-head: var(--head); --pg-card: var(--card); --pg-weight: 700; }
[data-tpl="staffing-journey"] { --pg-accent: var(--accent); --pg-accent-ink: var(--accent-ink); --pg-head: var(--sans); --pg-card: #ffffff; --pg-radius: 20px; --pg-weight: 800; }
[data-tpl="cargo-route"] { --pg-accent: var(--gold-2); --pg-accent-ink: var(--gold-ink); --pg-head: var(--head); --pg-card: var(--card); --pg-radius: 18px; --pg-weight: 800; }

/* Своя страница: разделы главной скрыты, на их месте — стопка разделов страницы. */
[data-page] main > section { display: none !important; }
.rk-page { width: min(100% - 2 * var(--gutter, 20px), 880px); margin-inline: auto; padding: clamp(104px, 14vw, 150px) 0 clamp(64px, 9vw, 110px); }
.rk-h1 { margin: 0; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: clamp(36px, 6vw, 64px); line-height: 1.04; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.rk-page__head { margin-bottom: clamp(28px, 4vw, 48px); padding-bottom: clamp(20px, 3vw, 32px); border-bottom: 1px solid var(--pg-line); }
.rk-sec { margin-top: clamp(36px, 5vw, 60px); }
.rk-sec:first-of-type { margin-top: 0; }
.rk-h2 { margin: 0 0 16px; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: clamp(24px, 3vw, 34px); line-height: 1.12; letter-spacing: -0.01em; }
.rk-sec p { margin: 0 0 14px; max-width: 68ch; font-size: 17px; line-height: 1.65; }
.rk-sec--cta .btn { margin-top: 10px; }

.rk-rows { border-top: 1px solid var(--pg-line); }
.rk-row { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; min-height: 60px; padding: 14px 2px; border-bottom: 1px solid var(--pg-line); color: inherit; text-decoration: none; transition: padding 200ms ease-out; }
.rk-row:hover { padding-inline: 10px; }
.rk-row__text { min-width: 0; }
.rk-row__text b { display: block; font-weight: 600; font-size: 17px; line-height: 1.3; }
.rk-row__text small { display: block; margin-top: 2px; color: var(--pg-muted); font-size: 14px; }
.rk-row__price { flex: none; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: 19px; white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }

.rk-team { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.rk-person { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--pg-line); border-radius: var(--pg-radius); background: var(--pg-card); }
.rk-person__ph { flex: none; display: grid; place-items: center; width: 56px; height: 56px; overflow: hidden; border-radius: 50%; background: var(--pg-line); font-family: var(--pg-head); font-size: 22px; }
.rk-person__ph img { width: 100%; height: 100%; object-fit: cover; }
.rk-person b { display: block; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: 19px; line-height: 1.15; }
.rk-person small { display: block; margin-top: 2px; color: var(--pg-muted); font-size: 14px; }

.rk-gallery { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.rk-gallery figure { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--pg-radius); background: var(--pg-line); }
.rk-gallery img { width: 100%; height: 100%; object-fit: cover; }

.rk-faq { border-bottom: 1px solid var(--pg-line); }
.rk-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 12px 2px; cursor: pointer; font-weight: 600; font-size: 17px; list-style: none; }
.rk-faq summary::-webkit-details-marker { display: none; }
.rk-faq summary::after { content: "+"; flex: none; font-size: 26px; line-height: 1; transition: transform 200ms ease-out; }
.rk-faq[open] summary::after { transform: rotate(45deg); }
.rk-faq p { margin: 0 0 18px; color: var(--pg-muted); }

.rk-contact { margin: 0; border-top: 1px solid var(--pg-line); }
.rk-contact div { display: flex; justify-content: space-between; gap: 20px; padding: 14px 2px; border-bottom: 1px solid var(--pg-line); }
.rk-contact dt { color: var(--pg-muted); }
.rk-contact dd { margin: 0; text-align: right; font-weight: 600; }
.rk-contact a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
/* §1260 блок «Доставка и оплата» из настроек Raka Shop */
.rk-ship__h { margin: 28px 0 12px; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: clamp(19px, 2.2vw, 23px); line-height: 1.2; }
.rk-sec--shipping .rk-h2 + .rk-ship__h, .rk-sec--shipping > .rk-ship__h:first-child { margin-top: 0; }
.rk-sec .rk-ship__free { margin: -4px 0 12px; color: var(--pg-muted); font-size: 15px; }
.rk-ship__zone:hover { padding-inline: 2px; }
.rk-ship__rates { margin: 6px 0 0; padding: 0 0 0 18px; color: var(--pg-muted); font-size: 14px; line-height: 1.5; }
.rk-ship__pay { padding: 16px 2px; border-bottom: 1px solid var(--pg-line); }
.rk-ship__pay > b { display: block; font-weight: 600; font-size: 17px; }
.rk-sec .rk-ship__pay > p { margin: 4px 0 0; color: var(--pg-muted); font-size: 15px; line-height: 1.55; }
.rk-ship__pay .rk-contact { margin-top: 10px; border-top: 0; }
.rk-ship__pay .rk-contact div { padding: 8px 0; }
.rk-ship__pay .rk-contact dd { overflow-wrap: anywhere; }
.rk-ship__mono { font-variant-numeric: tabular-nums; letter-spacing: 0.02em; user-select: all; }
@media (max-width: 599px) { .rk-ship__pay .rk-contact div { flex-direction: column; gap: 2px; } .rk-ship__pay .rk-contact dd { text-align: left; } }

/* §704 — вид блока, выбранный владельцем: шрифт, цвет, размер, выравнивание, подложка. */
.rk-sec[style*="--rk-font"], .rk-sec[style*="--rk-font"] .rk-h2 { font-family: var(--rk-font); }
.rk-sec[style*="--rk-color"], .rk-sec[style*="--rk-color"] .rk-h2 { color: var(--rk-color); }
.rk-sec--center { text-align: center; }
.rk-sec--center p { margin-inline: auto; }
.rk-sec--s p { font-size: 15px; }
.rk-sec--s .rk-h2 { font-size: clamp(20px, 2.4vw, 26px); }
.rk-sec--l p { font-size: clamp(19px, 2.2vw, 23px); line-height: 1.55; }
.rk-sec--l .rk-h2 { font-size: clamp(30px, 4.4vw, 48px); }
.rk-sec--box { padding: clamp(22px, 4vw, 40px); border-radius: var(--pg-radius); }
.rk-sec--card { border: 1px solid var(--pg-line); background: var(--pg-card); }
.rk-sec--accent { background: var(--pg-accent); color: var(--pg-accent-ink); }
.rk-sec--accent .btn { background: var(--pg-accent-ink); color: var(--pg-accent); border-color: transparent; box-shadow: none; }
/* Логотип рядом с названием в шапке. */
.nav__brand.rk-brand { display: inline-flex; align-items: center; gap: 10px; }
.rk-logo { flex: none; width: auto; height: 34px; max-width: 120px; border-radius: 6px; object-fit: contain; }

/* §703 — свой блок на главной: стоит между разделами шаблона, в его ширине и ритме. */
.rk-slot { display: block; }
.rk-block { width: min(100% - 2 * var(--gutter, 20px), 880px); margin-inline: auto; padding: clamp(48px, 7vw, 96px) 0; }
/* §751 — «текст с картинкой»: рассказ о товаре. На широком экране две колонки, картинка слева и справа по очереди; на
   телефоне картинка сверху. Блоку с картинкой нужна ширина побольше, чем тексту. Соседние блоки рассказа стоят ближе
   друг к другу, чем разделы. */
.rk-block:has(> .rk-story) { width: min(100% - 2 * var(--gutter, 20px), 1080px); padding: clamp(28px, 4.5vw, 56px) 0; }
.rk-story { display: grid; gap: clamp(20px, 4vw, 56px); align-items: center; }
.rk-story__pic { margin: 0; overflow: hidden; border-radius: var(--pg-radius, 16px); background: var(--pg-card, rgba(127, 127, 127, 0.12)); aspect-ratio: 4 / 3; }
.rk-story__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rk-story__text > :last-child { margin-bottom: 0; }
@media (min-width: 760px) {
  .rk-story { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rk-story__pic { aspect-ratio: 1 / 1; }
  .rk-story--flip .rk-story__pic { order: 2; }
}
.rk-muted { color: var(--pg-muted); }
/* Видео и карта: рамка 16:9; чужой сервер подключается только после нажатия. */
.rk-embed { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--pg-line); border-radius: var(--pg-radius); background: var(--pg-card); }
.rk-embed iframe, .rk-embed video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }
.rk-embed__btn { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 100%; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.rk-embed__btn b { font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: 19px; }
.rk-embed__btn small { color: var(--pg-muted); font-size: 13px; }
.rk-embed__play { display: grid; place-items: center; width: 68px; height: 68px; border: 1.5px solid currentColor; border-radius: 50%; transition: transform 200ms ease-out; }
.rk-embed__play::before { content: ""; margin-left: 5px; border-style: solid; border-width: 11px 0 11px 18px; border-color: transparent transparent transparent currentColor; }
.rk-embed__btn:hover .rk-embed__play { transform: scale(1.06); }
.rk-embed__btn:focus-visible { outline: 2px solid currentColor; outline-offset: -6px; }

/* Ссылки на страницы в меню шапки и подвала. */
.nav__links a[aria-current="page"] { opacity: 1; text-decoration: underline; text-underline-offset: 6px; }
.rk-foot { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.rk-foot a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* §706 — подвал: бренд, контакты, меню, документы; ниже — реквизиты и соцсети. Фон и цвет текста — подвала шаблона. */
.rk-footer { display: grid; gap: 32px 40px; grid-template-columns: 1fr; width: min(100% - 2 * var(--gutter, 20px), var(--wrap, 1200px)); margin: 0 auto; padding: clamp(40px, 6vw, 72px) 0 clamp(18px, 3vw, 28px); text-align: left; }
.rk-footer__col { min-width: 0; }
.rk-footer h3 { margin: 0 0 12px; font-family: inherit; font-size: 12px; font-weight: 700; line-height: 1.2; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.6; }
.rk-footer__col > a:not(.btn), .rk-footer__col > span { display: flex; align-items: center; min-height: 40px; color: inherit; text-decoration: none; font-size: 15px; line-height: 1.4; opacity: 0.86; overflow-wrap: anywhere; }
.rk-footer__col > a:not(.btn) { transition: opacity 200ms ease-out; }
.rk-footer__col > a:not(.btn):hover { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.rk-footer__brand b { display: block; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: clamp(22px, 2.6vw, 28px); line-height: 1.1; }
.rk-footer__brand p { margin: 10px 0 0; max-width: 34ch; font-size: 15px; line-height: 1.55; opacity: 0.8; }
.rk-footer__brand .btn { margin-top: 18px; }
.rk-footer__logo { display: block; width: auto; height: 44px; max-width: 160px; margin-bottom: 14px; border-radius: 8px; object-fit: contain; }
.rk-footer__bar { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; padding-top: 20px; border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent); font-size: 13px; line-height: 1.5; opacity: 0.86; }
.rk-footer__social { display: flex; flex-wrap: wrap; gap: 8px; }
.rk-footer__social a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid color-mix(in srgb, currentColor 24%, transparent); border-radius: 999px; color: inherit; text-decoration: none; font-size: 13px; font-weight: 600; transition: background-color 200ms ease-out; }
.rk-footer__social a:hover { background: color-mix(in srgb, currentColor 10%, transparent); }
/* Значок соцсети: круглая кнопка 44 px, значок цветом текста подвала. */
.rk-footer__social a.rk-footer__icon { justify-content: center; width: 44px; height: 44px; min-height: 44px; padding: 0; }
.rk-footer__icon svg { width: 20px; height: 20px; fill: currentColor; }
@media (min-width: 720px) { .rk-footer { grid-template-columns: 1.5fr 1fr 1fr 1fr; } }
/* Строки подвала шаблона (название, слоган, пометка) теперь в подвале выше — остаётся только «Powered by». */
.rk-footer-on .footer__row > span, .rk-footer-on .rk-foot { display: none !important; }
.rk-footer-on .footer__row { justify-content: flex-end; padding-top: 0; }

/* Кнопка в наших блоках, когда у шаблона нет подходящей к этому фону: цвет бренда. */
.btn.rk-btn { background: var(--pg-accent) !important; color: var(--pg-accent-ink) !important; border-color: transparent !important; }

/* §709 — форма обратной связи: подписи над полями, поля 48 px, ошибка и «отправлено» — текстом рядом с кнопкой. */
.rk-form { display: grid; gap: 16px; grid-template-columns: 1fr; max-width: 720px; margin-top: 8px; text-align: left; }
.rk-sec--center .rk-form { margin-inline: auto; }
.rk-form__field { display: grid; gap: 6px; min-width: 0; }
.rk-form label { font-size: 14px; font-weight: 600; }
.rk-form input, .rk-form textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid color-mix(in srgb, currentColor 28%, transparent); border-radius: var(--pg-radius); background: color-mix(in srgb, currentColor 4%, transparent); color: inherit; font: inherit; font-size: 16px; line-height: 1.4; }
.rk-form textarea { min-height: 120px; resize: vertical; }
/* §893 — выбор вакансии в анкете кандидата: то же поле, что остальные (цвета и скругление дизайна). */
.rk-form select { width: 100%; min-height: 48px; padding: 12px 40px 12px 14px; border: 1px solid color-mix(in srgb, currentColor 28%, transparent); border-radius: var(--pg-radius); background: color-mix(in srgb, currentColor 4%, transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center; color: inherit; font: inherit; font-size: 16px; -webkit-appearance: none; appearance: none; }
.rk-form select:focus-visible { outline: 2px solid var(--pg-accent); outline-offset: 2px; border-color: transparent; }
.rk-form select option { color: #111; background: #fff; }
.rk-form input:focus-visible, .rk-form textarea:focus-visible { outline: 2px solid var(--pg-accent); outline-offset: 2px; border-color: transparent; }
.rk-form__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; min-height: 0 !important; opacity: 0; }
.rk-form__note { margin: 0 !important; max-width: none !important; color: var(--pg-muted); font-size: 13px !important; line-height: 1.5 !important; }
.rk-form__note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.rk-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.rk-form__status { margin: 0 !important; font-size: 15px !important; font-weight: 600; }
.rk-form__status.is-error { color: #d92d20; }
.rk-form button[disabled] { opacity: 0.6; cursor: progress; }
@media (min-width: 640px) { .rk-form { grid-template-columns: 1fr 1fr; } .rk-form__field--wide, .rk-form__note, .rk-form__foot, .rk-form__field:first-child { grid-column: 1 / -1; } }

/* §706 — документ страницы файлом PDF. */
.rk-doc iframe { display: block; width: 100%; height: min(82vh, 980px); margin-bottom: 18px; border: 1px solid var(--pg-line); border-radius: var(--pg-radius); background: #fff; }

/* §711 — своё изображение на первом экране: экран один, без долгой прокрутки по кадрам; подсказка «листайте», полоса
   хода и фразы, которые выходят по ходу прокрутки, без кадров не нужны. */
html[data-cover="image"] .film, html[data-cover="image"] .wipe { height: 100vh; height: 100dvh; }
html[data-cover="image"] #filmHint, html[data-cover="image"] #filmBar, html[data-cover="image"] #filmBeats, html[data-cover="image"] .beat,
html[data-cover="image"] #wipeHint, html[data-cover="image"] #wipeBar { display: none !important; }

/* §712 — картинка первого экрана фоном всей страницы: холст закреплён на экране под всеми разделами, разделы лежат
   поверх. Прозрачность каждому разделу ставит page.js — от его собственного цвета, чтобы тёмные и цветные зоны
   дизайна остались собой и текст на них читался. */
html[data-spread] #filmCanvas { position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100vh !important; height: 100lvh !important; z-index: 0; }
html[data-spread] #top > section:not(.film), html[data-spread] .footer { position: relative; z-index: 1; }

/* §710 — переключатель языка. В шапке — коды («CS», «UK») в стиле ссылок шаблона; в меню телефона и в подвале — полные
   названия. Текущий язык выделен подложкой, а не только цветом. */
.rk-lang { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.rk-lang a { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 36px; padding: 0 8px !important; border-radius: 9px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; opacity: 0.62; transition: opacity 160ms ease-out, background-color 160ms ease-out; }
.rk-lang a:hover { opacity: 1; }
.rk-lang a[aria-current] { opacity: 1; background: color-mix(in srgb, currentColor 13%, transparent); }
.rk-lang a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; opacity: 1; }
.rk-lang--full a { min-height: 44px; padding: 0 16px !important; border: 1px solid color-mix(in srgb, currentColor 22%, transparent); border-radius: 999px; color: inherit; font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; opacity: 0.8; }
.rk-lang--full a[aria-current] { border-color: transparent; background: color-mix(in srgb, currentColor 14%, transparent); }
.rk-menu .rk-lang { gap: 8px; }
/* §1374 Язык: кнопка с флагом и выпадающий список. */
.rk-lm { position: relative; flex: none; color: inherit; }
.rk-lm__btn { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 0 8px; border: 0; border-radius: 9px; background: none; color: inherit; cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.rk-lm__btn:hover, .rk-lm.is-open .rk-lm__btn { background: color-mix(in srgb, currentColor 13%, transparent); }
.rk-lm__btn:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.rk-lm__ch { width: 6px; height: 6px; margin: -3px 1px 0 1px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform 160ms ease-out; }
.rk-lm.is-open .rk-lm__ch { margin-top: 3px; transform: rotate(-135deg); }
.rk-flag { display: inline-flex; flex: none; width: 21px; height: 14px; overflow: hidden; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.14); }
.rk-flag svg { display: block; width: 100%; height: 100%; }
.rk-lm__list { position: absolute; top: calc(100% + 6px); right: 0; z-index: 60; display: flex; flex-direction: column; min-width: 172px; padding: 6px; border-radius: 12px; background: #fff; color: #14202c; box-shadow: 0 12px 32px rgba(10, 20, 30, 0.22), 0 0 0 1px rgba(10, 20, 30, 0.06); transform-origin: top right; animation: rk-lm-in 140ms ease-out; }
.rk-lm__list[hidden] { display: none; }
.rk-lm--up .rk-lm__list { top: auto; bottom: calc(100% + 6px); transform-origin: bottom right; }
.rk-lm__list a { display: flex !important; align-items: center; gap: 10px; min-height: 44px; padding: 0 12px !important; border-radius: 8px; color: inherit !important; background: none; opacity: 1 !important; font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap; }
.rk-lm__list a:hover, .rk-lm__list a:focus-visible { background: rgba(10, 20, 30, 0.07); }
.rk-lm__list a[aria-current] { font-weight: 700; background: rgba(10, 20, 30, 0.05); }
/* §1382 Во всех дизайнах: кнопка справа в шапке, ни с чем не спорит; список от правого края кнопки, в арабском — от левого. */
.nav > .rk-lm { margin-inline-start: auto; }
.nav > .rk-lm ~ .nav__cta, .nav > .rk-lm ~ .nav__cart, .nav > .rk-lm ~ .nav__side { margin-inline-start: 0; }
.rk-lm__btn { white-space: nowrap; line-height: 1; opacity: 1; }
.rk-lm__list a::before, .rk-lm__list a::after { content: none !important; display: none !important; }
[dir="rtl"] .rk-lm__list { right: auto; left: 0; transform-origin: top left; }
.rk-lm--inhead { position: absolute; top: 14px; inset-inline-end: 14px; z-index: 60; }
.rk-lm--float { position: fixed; top: 12px; inset-inline-end: 12px; z-index: 60; border-radius: 10px; background: rgba(255, 255, 255, 0.92); color: #14202c; box-shadow: 0 2px 10px rgba(10, 20, 30, 0.18); }
@media (max-width: 560px) { .nav > .rk-lm .rk-lm__btn { padding: 0 4px; gap: 5px; } .nav > .rk-lm .rk-lm__ch { display: none; } }
.rk-lm-tight .nav__cta, .rk-lm-tight > .btn, .rk-lm-tight .nav__brand small { display: none !important; }
.nav__side > .rk-lm, .nav__tools > .rk-lm { margin-inline-start: 0; }
@keyframes rk-lm-in { from { opacity: 0; transform: translateY(-4px) scale(0.97); } to { opacity: 1; transform: none; } }
.rk-lm--up .rk-lm__list { animation-name: rk-lm-up; }
@keyframes rk-lm-up { from { opacity: 0; transform: translateY(4px) scale(0.97); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .rk-lm__list { animation: none; } .rk-lm__ch { transition: none; } }

/* Меню на телефоне: шаблоны показывают ссылки шапки только на широком экране. */
.rk-burger { display: none; flex: none; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 0 10px; border: 0; border-radius: 10px; background: transparent; color: inherit; cursor: pointer; }
.rk-burger span { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform 200ms ease-out, opacity 160ms ease-out; }
.rk-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.rk-burger.is-open span:nth-child(2) { opacity: 0; }
.rk-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.rk-menu { position: fixed; inset: 0; z-index: 38; display: none; flex-direction: column; gap: 24px; padding: 96px var(--gutter, 20px) calc(28px + env(safe-area-inset-bottom)); overflow-y: auto; }
.rk-menu.is-open { display: flex; }
.rk-menu__list { display: flex; flex-direction: column; }
.rk-menu__list a { display: flex; align-items: center; min-height: 56px; border-bottom: 1px solid var(--pg-line); color: inherit; text-decoration: none; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: 26px; line-height: 1.15; }
.rk-menu__list a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.rk-menu .btn { align-self: stretch; }
@media (max-width: 899px) {
  .rk-burger { display: flex; }
  .rk-has-menu .nav { z-index: 40; }
}
/* §892 — полоса ссылок под шапкой на телефоне (владелец сайта выбирает её вместо кнопки меню): листается пальцем,
   цвета — фон и текст страницы (ставит page.js), текущая страница — цветом бренда. На широком экране её нет. */
.rk-topbar { display: none; }
@media (max-width: 899px) {
  .rk-topbar { position: fixed; left: 0; right: 0; z-index: 39; display: flex; gap: 6px; padding: 8px var(--gutter, 16px); overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; border-bottom: 1px solid var(--pg-line); }
  .rk-topbar::-webkit-scrollbar { display: none; }
  .rk-topbar a { flex: none; display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid var(--pg-line); border-radius: 999px; color: inherit; text-decoration: none; font-size: 14px; font-weight: 600; line-height: 1; white-space: nowrap; }
  .rk-topbar a[aria-current="page"] { border-color: transparent; background: var(--pg-accent); color: var(--pg-accent-ink); }
  html.rk-has-bar .rk-burger { display: none !important; }
  html.rk-has-bar .rk-page { scroll-margin-top: 60px; }
}
@media (prefers-reduced-motion: reduce) { .rk-lang a, .rk-burger span, .rk-row, .rk-embed__play, .rk-footer__col > a, .rk-footer__social a { transition: none; } }

/* §720 — фото услуги рядом с её строкой (все шаблоны). Строка шаблона может быть сеткой, строкой или ссылкой, поэтому
   фото ставится слева поверх отступа строки и её раскладку не трогает; у карточек («Garage», «Gloss») — сверху. */
.rk-has-pic:not(.card):not(.plan){position:relative;padding-left:78px!important;min-height:78px}
.rk-svc-pic{position:absolute;left:0;top:50%;width:62px;height:62px;margin-top:-31px;border-radius:12px;object-fit:cover;background:rgba(127,127,127,.16)}
html[data-tpl="beauty-crystal"] .rk-has-pic:not(.card):not(.plan){padding-left:86px!important}
[data-tpl="beauty-crystal"] .rk-svc-pic{left:8px}
.card>.rk-svc-pic,.plan>.rk-svc-pic{position:static;width:100%;height:auto;aspect-ratio:16/10;margin:0 0 6px;border-radius:8px}
@media (max-width:520px){.rk-has-pic:not(.card):not(.plan){padding-left:66px!important;min-height:68px}.rk-svc-pic{width:52px;height:52px;margin-top:-26px}html[data-tpl="beauty-crystal"] .rk-has-pic:not(.card):not(.plan){padding-left:72px!important}}

/* §720 — полоска-объявление: над шапкой, шапка опускается на её высоту */
.rk-notice{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;justify-content:center;gap:10px 14px;flex-wrap:wrap;min-height:40px;padding:8px 52px 8px 16px;background:#111318;color:#fff;font:500 14px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;text-align:center}
.rk-notice__text{min-width:0}
.rk-notice__go{flex:none;padding:5px 12px;border-radius:999px;background:#fff;color:#111318;font-weight:600;font-size:13px;text-decoration:none;transition:opacity .16s ease-out}
.rk-notice__x{position:absolute;right:4px;top:50%;width:44px;height:44px;margin-top:-22px;border:0;background:none;color:inherit;font-size:22px;line-height:1;cursor:pointer;opacity:.75}
.rk-notice__x:focus-visible,.rk-notice__go:focus-visible{outline:2px solid #fff;outline-offset:2px}
html.rk-noticed .nav{top:var(--rk-notice,40px)}
@media (hover:hover) and (pointer:fine){.rk-notice__go:hover{opacity:.86}.rk-notice__x:hover{opacity:1}}

/* §720 — согласие на cookies: карточка снизу слева, над нижней панелью телефона */
.rk-cookies{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:2147483600;width:min(420px,calc(100vw - 32px));padding:16px;border-radius:16px;background:#fff;color:#16181d;box-shadow:0 18px 50px -18px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.08);font:400 14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.rk-cookies p{margin:0}
.rk-cookies a{color:inherit;text-decoration:underline}
.rk-cookies__row{display:flex;gap:8px;margin-top:12px}
.rk-cookies__row button{flex:1;min-height:44px;padding:0 12px;border-radius:12px;font:600 14px/1 inherit;cursor:pointer;transition:transform .16s ease-out}
.rk-cookies__row button:active{transform:scale(.97)}
.rk-cookies__no{border:1px solid rgba(0,0,0,.2);background:#fff;color:#16181d}
.rk-cookies__yes{border:0;background:#16181d;color:#fff}
.rk-cookies__row button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
@starting-style{.rk-cookies{opacity:0;transform:translateY(8px)}}
.rk-cookies{transition:opacity .2s cubic-bezier(.23,1,.32,1),transform .2s cubic-bezier(.23,1,.32,1)}
@media (prefers-reduced-motion:reduce){.rk-cookies{transition:none}}

/* §745 — товары магазина карточками (дизайн «Crystal»): фото крупно, под ним название, цена и кнопка в магазин.
   Включается меткой data-goods (её ставит загрузчик, когда бизнес продаёт товары); услуги остаются строками. */
html[data-goods][data-tpl="beauty-crystal"] .svcs{border-top:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
html[data-goods][data-tpl="beauty-crystal"] .svcs a.svc:not(.card):not(.plan){display:flex;flex-direction:column;align-items:stretch;gap:10px;min-height:0;padding:0 0 18px!important;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;transition:transform 200ms cubic-bezier(.23,1,.32,1),box-shadow 200ms ease-out}
html[data-goods][data-tpl="beauty-crystal"] .svc:hover{background:#fff;transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,20,30,.1)}
html[data-goods][data-tpl="beauty-crystal"] .svc .rk-svc-pic{position:static;width:100%;height:auto;aspect-ratio:1/1;margin:0;border-radius:0}
html[data-goods][data-tpl="beauty-crystal"] .svc__text{padding:6px 18px 0}
html[data-goods][data-tpl="beauty-crystal"] .svc__price{padding:0 18px}
html[data-goods][data-tpl="beauty-crystal"] .svc__price:empty{display:none}
html[data-goods][data-tpl="beauty-crystal"] .svc__go{display:inline-flex;align-self:flex-start;margin:auto 18px 0}
html[data-goods][data-tpl="beauty-crystal"] .svc::after{content:none}
html[data-goods][data-tpl="beauty-crystal"] .svcs__more{grid-column:1/-1;justify-self:start}
@media (max-width:520px){
  html[data-goods][data-tpl="beauty-crystal"] .svcs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  html[data-goods][data-tpl="beauty-crystal"] .svcs a.svc:not(.card):not(.plan){padding:0 0 14px!important;min-height:0;border-radius:14px}
  html[data-goods][data-tpl="beauty-crystal"] .svc__text{padding:4px 12px 0}
  html[data-goods][data-tpl="beauty-crystal"] .svc__text b{font-size:15px}
  html[data-goods][data-tpl="beauty-crystal"] .svc__price{padding:0 12px}
  html[data-goods][data-tpl="beauty-crystal"] .svc__go{margin:auto 12px 0;min-height:44px}
}
@media (prefers-reduced-motion:reduce){html[data-goods][data-tpl="beauty-crystal"] .svc{transition:none}html[data-goods][data-tpl="beauty-crystal"] .svc:hover{transform:none}}

/* §746 — первый экран без картинок («type»): заголовок на тёмной поверхности, за ним медленно движется свет в цвете
   бренда и тонкие линии. Для бизнеса, которому ролик не нужен (юрист, бухгалтер, консультант), и как концепция без
   расхода кредитов. Экран один, как у своего изображения. */
html[data-tpl="beauty-crystal"]{--rk-glow:var(--accent)}
html[data-tpl="barber-noir"]{--rk-glow:var(--brass)}
html[data-tpl="spa-hush"]{--rk-glow:var(--accent)}
html[data-tpl="barber-faded"]{--rk-glow:var(--accent)}
html[data-tpl="elec-circuit"]{--rk-glow:var(--accent)}
html[data-tpl="cleaning-twofold"]{--rk-glow:var(--gold)}
html[data-tpl="fine-serie"]{--rk-glow:var(--hot)}
html[data-tpl="longevity-inna"]{--rk-glow:var(--wine)}
html[data-tpl="wellness-ritual"]{--rk-glow:var(--accent)}
html[data-tpl="staffing-vortex"]{--rk-glow:var(--orange)}
html[data-tpl="silver-lustre"]{--rk-glow:var(--accent)}
html[data-tpl="music-verse"]{--rk-glow:var(--coral)}
html[data-tpl="music-canta"]{--rk-glow:var(--voice)}
html[data-tpl="security-post"]{--rk-glow:var(--signal)}
html[data-tpl="therapy-calm"]{--rk-glow:var(--teal)}
html[data-tpl="fitted-joinery"]{--rk-glow:var(--green)}
html[data-tpl="therapy-threads"]{--rk-glow:var(--mint)}
html[data-tpl="coach-meridian"]{--rk-glow:var(--wine)}
html[data-tpl="vibro-resonance"]{--rk-glow:var(--gold)}
html[data-tpl="aerial-silk"]{--rk-glow:var(--red)}
html[data-tpl="nails-gloss"]{--rk-glow:var(--gold)}
html[data-tpl="seafood-pearl"]{--rk-glow:var(--sea)}
html[data-tpl="seafood-roe"]{--rk-glow:var(--roe)}
html[data-tpl="thermo-infra"]{--rk-glow:var(--red)}
html[data-tpl="tarot-arcana"]{--rk-glow:var(--gold)}
html[data-tpl="gift-mug"]{--rk-glow:var(--accent)}
html[data-tpl="hair-follicle"]{--rk-glow:var(--accent)}
html[data-tpl="sharp-edge"]{--rk-glow:var(--accent)}
html[data-tpl="transit-voyage"]{--rk-glow:var(--sun)}
html[data-tpl="gala-circle"]{--rk-glow:var(--gold)}
html[data-tpl="spine-clinic"]{--rk-glow:var(--sea)}
html[data-tpl="pelart-clinic"]{--rk-glow:var(--lagoon)}
html[data-tpl="furniture-atelier"]{--rk-glow:var(--walnut)}
html[data-tpl="beauty-ritual"]{--rk-glow:var(--mulberry)}
html[data-tpl="kids-blocks"]{--rk-glow:var(--b3)}
html[data-tpl="therapy-velvet"]{--rk-glow:var(--velvet-2)}
html[data-tpl="plumb-blueprint"]{--rk-glow:var(--cold)}
html[data-tpl="apparel-print"]{--rk-glow:var(--accent)}
html[data-tpl="bistro-arena"]{--rk-glow:var(--hot)}
html[data-tpl="moving-haul"]{--rk-glow:var(--accent)}
html[data-tpl="catering-simmer"]{--rk-glow:var(--accent)}
html[data-tpl="garden-trim"]{--rk-glow:var(--accent)}
html[data-tpl="fashion-drop"]{--rk-glow:var(--signal)}
html[data-tpl="fashion-edition"]{--rk-glow:var(--signal)}
html[data-tpl="beauty-loud"]{--rk-glow:var(--orange)}
html[data-tpl="beauty-lab"]{--rk-glow:var(--lagoon)}
html[data-tpl="pelart-loud"]{--rk-glow:var(--orange)}
html[data-tpl="pelart-lab"]{--rk-glow:var(--lagoon)}
html[data-tpl="kombi-flame"]{--rk-glow:var(--flame)}
html[data-tpl="fight-tiger"]{--rk-glow:var(--red)}
html[data-tpl="agency-loud"]{--rk-glow:var(--accent)}
html[data-tpl="trainer-pulse"]{--rk-glow:var(--mint)}
html[data-tpl="gym-heat"]{--rk-glow:var(--heat)}
html[data-tpl="realty-quiet"]{--rk-glow:var(--pine)}
html[data-tpl="accounting-clear"]{--rk-glow:var(--accent)}
html[data-tpl="law-docket"]{--rk-glow:var(--ink)}
html[data-tpl="law-counsel"]{--rk-glow:var(--tangerine)}
html[data-tpl="spa-candlelit"]{--rk-glow:var(--brass)}
html[data-cover="type"] .film{height:100vh;height:100dvh}
html[data-cover="type"] #filmHint,html[data-cover="type"] #filmBar,html[data-cover="type"] #filmBeats,html[data-cover="type"] .beat{display:none!important}
html[data-cover="type"] .film__canvas,html[data-cover="type"] .film__shade{display:none}
html[data-cover="type"] .film__sticky{background:#0c0d11;isolation:isolate}
html[data-cover="type"] .film__sticky::before,html[data-cover="type"] .film__sticky::after{content:"";position:absolute;z-index:-1;pointer-events:none}
html[data-cover="type"] .film__sticky::before{inset:-30%;background:radial-gradient(38% 42% at 68% 38%,color-mix(in srgb,var(--rk-glow,#8b7bff) 48%,transparent),transparent 72%),radial-gradient(30% 36% at 24% 74%,color-mix(in srgb,var(--rk-glow,#8b7bff) 24%,transparent),transparent 70%);animation:rk-glow 22s ease-in-out infinite alternate}
html[data-cover="type"] .film__sticky::after{inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 1px,transparent 1px 120px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 45%,#000 85%,transparent);animation:rk-lines 40s linear infinite}
@keyframes rk-glow{from{transform:translate3d(-4%,-2%,0) scale(1)}to{transform:translate3d(5%,4%,0) scale(1.12)}}
@keyframes rk-lines{to{background-position:240px 0}}
@media (prefers-reduced-motion:reduce){html[data-cover="type"] .film__sticky::before,html[data-cover="type"] .film__sticky::after{animation:none}}

/* §747 — темп движения разделов (его выбирает концепция сайта): как появляются блоки при прокрутке. calm — дольше и
   мягче, с малым ходом; lively — быстрее, с большим ходом и лёгким масштабом, соседние блоки выходят друг за другом.
   Без метки — как задумано в дизайне. */
html[data-motion="calm"] .reveal{transform:translateY(12px);transition-duration:1100ms}
html[data-motion="lively"] .reveal{transform:translateY(42px) scale(.985);transition-duration:460ms}
html[data-motion="lively"] .reveal:nth-child(2){transition-delay:70ms}
html[data-motion="lively"] .reveal:nth-child(3){transition-delay:140ms}
html[data-motion="lively"] .reveal:nth-child(4){transition-delay:210ms}
html[data-motion] .reveal.is-in{transform:none}
@media (prefers-reduced-motion:reduce){html[data-motion] .reveal{transform:none;transition:none}}

/* §759 — предложения карточками, страница предложения, статьи, вопросы с фото. Широкие блоки расширяют страницу. */
.rk-page:has(.rk-offers), .rk-page:has(.rk-offerpage), .rk-page:has(.rk-articles), .rk-page:has(.rk-faqpic) { width: min(100% - 2 * var(--gutter, 20px), 1180px); }
.rk-tabs { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 0 0 22px; padding: 6px; border-radius: 28px; background: var(--pg-card, transparent); box-shadow: inset 0 0 0 1px var(--pg-line); }
.rk-tab { min-height: 44px; padding: 8px 20px; border: 0; border-radius: 999px; background: transparent; color: var(--pg-muted); font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; transition: background-color 200ms ease, color 200ms ease; }
.rk-tab[aria-pressed="true"] { background: var(--pg-accent, currentColor); color: var(--pg-accent-ink, #fff); }
.rk-offers { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
.rk-offer { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--pg-line); border-radius: var(--pg-radius); background: var(--pg-card, transparent); }
.rk-offer__pic, .rk-article__pic { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.rk-offer__pic img, .rk-article__pic img, .rk-offerpage__pic img, .rk-faqpic__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rk-offer__body { display: flex; flex: 1; flex-direction: column; gap: 12px; padding: 20px; }
.rk-offer h3 { margin: 0; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: 20px; line-height: 1.2; }
.rk-offer__facts { display: grid; gap: 4px; margin: 0 0 4px; padding: 0; list-style: none; color: var(--pg-muted); font-size: 15px; }
.rk-offer__price { color: inherit; font-weight: 700; font-size: 18px; font-variant-numeric: tabular-nums; }
.rk-offer .btn, .rk-offer__body > a { margin-top: auto; align-self: flex-start; }
.rk-back { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 14px; color: var(--pg-muted); font-weight: 600; text-decoration: none; }
.rk-back:hover { color: inherit; }
.rk-offerpage__grid { display: grid; gap: clamp(22px, 4vw, 48px); align-items: start; }
.rk-offerpage__pic { margin: 0; overflow: hidden; border-radius: var(--pg-radius); aspect-ratio: 4 / 3; }
.rk-offerpage__body { display: grid; gap: 14px; justify-items: start; }
.rk-offerpage__group { margin: 0; color: var(--pg-accent, inherit); font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.rk-offerpage h1 { margin: 0; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: clamp(30px, 4vw, 48px); line-height: 1.08; letter-spacing: -0.02em; }
.rk-offerpage .rk-offer__facts { font-size: 17px; }
.rk-offerpage .rk-offer__price { font-size: 22px; }
.rk-offerpage__text p { margin: 0 0 14px; }
.rk-articles { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.rk-article { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--pg-line); border-radius: var(--pg-radius); background: var(--pg-card, transparent); color: inherit; text-decoration: none; transition: transform 200ms ease-out, box-shadow 200ms ease-out; }
.rk-article__text { display: grid; gap: 8px; padding: 20px; }
.rk-article__text b { font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: 19px; line-height: 1.25; }
.rk-article__text small { color: var(--pg-muted); font-size: 15px; line-height: 1.5; }
.rk-article__text i { font-style: normal; font-weight: 700; color: var(--pg-accent, inherit); }
.rk-faqpic { display: grid; gap: clamp(22px, 4vw, 56px); align-items: start; }
.rk-faqpic__pic { margin: 0; overflow: hidden; border-radius: var(--pg-radius); aspect-ratio: 16 / 10; }
@media (hover: hover) and (pointer: fine) { .rk-article:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(20, 20, 30, 0.12); } }
@media (min-width: 860px) {
  .rk-offerpage__grid { grid-template-columns: 0.9fr 1.1fr; }
  .rk-offerpage__grid--solo { grid-template-columns: minmax(0, 760px); }
  .rk-faqpic { grid-template-columns: 0.8fr 1.2fr; }
  .rk-faqpic__pic { position: sticky; top: 96px; aspect-ratio: 4 / 5; }
}
@media (prefers-reduced-motion: reduce) { .rk-tab, .rk-article { transition: none; } .rk-article:hover { transform: none; } }

/* §759 — «Journey»: меню — боковая панель на любом экране (пункты в шапке не стоят). */
html[data-tpl="staffing-journey"] .nav__links { display: none !important; }
html[data-tpl="staffing-journey"].rk-has-menu .rk-burger { display: flex; order: -1; }
html[data-tpl="staffing-journey"] .nav { justify-content: flex-start; }
html[data-tpl="staffing-journey"] .nav__cta { margin-left: auto; }
html[data-tpl="staffing-journey"] .rk-menu { inset: 0 auto 0 0; width: min(100%, 400px); padding-top: 88px; box-shadow: 24px 0 60px rgba(26, 8, 78, 0.22); }
html[data-tpl="staffing-journey"] .rk-menu__list a { font-size: 22px; min-height: 60px; }
html[data-tpl="staffing-journey"] .rk-menu .rk-support { margin-top: auto; }
html[data-tpl="staffing-journey"] .rk-burger { z-index: 39; }
html[data-tpl="staffing-journey"] .rk-burger.is-open { color: var(--ink); }
/* §892 — на телефоне кнопка меню Journey заметна поверх ролика первого экрана: подложка, а не три тонкие линии. */
@media (max-width: 899px) { html[data-tpl="staffing-journey"] .rk-burger:not(.is-open) { background: rgba(255, 255, 255, 0.18); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); } html[data-tpl="staffing-journey"] .nav.is-solid .rk-burger:not(.is-open) { background: color-mix(in srgb, var(--ink) 8%, transparent); } }
@media (max-width: 560px) { html[data-tpl="staffing-journey"] .nav__cta { display: none; } }
html.rk-item .rk-page__head { display: none; }
html[data-tpl="staffing-journey"] .rk-menu [data-book] { display: none; }

/* §761 — «Journey»: боковая панель выезжает, страница под ней темнеет; подвал — меню, данные компании, бренд с кнопкой;
   карточки страниц откликаются на наведение. Двигаются только transform и opacity. */
html[data-tpl="staffing-journey"] .rk-menu { display: flex; visibility: hidden; transform: translate3d(-104%, 0, 0); transition: transform 360ms cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 360ms; }
html[data-tpl="staffing-journey"] .rk-menu.is-open { visibility: visible; transform: none; transition: transform 360ms cubic-bezier(0.32, 0.72, 0, 1), visibility 0s; }
html[data-tpl="staffing-journey"] body::after { content: ""; position: fixed; inset: 0; z-index: 37; background: rgba(26, 8, 78, 0.5); opacity: 0; pointer-events: none; transition: opacity 280ms ease-out; }
html[data-tpl="staffing-journey"] body:has(.rk-menu.is-open)::after { opacity: 1; }
html[data-tpl="staffing-journey"] .rk-menu__list a { opacity: 0; transform: translate3d(-14px, 0, 0); transition: opacity 280ms ease-out, transform 360ms cubic-bezier(0.23, 1, 0.32, 1), color 160ms ease; }
html[data-tpl="staffing-journey"] .rk-menu.is-open .rk-menu__list a { opacity: 1; transform: none; }
html[data-tpl="staffing-journey"] .rk-menu.is-open .rk-menu__list a:nth-child(2) { transition-delay: 40ms; }
html[data-tpl="staffing-journey"] .rk-menu.is-open .rk-menu__list a:nth-child(3) { transition-delay: 80ms; }
html[data-tpl="staffing-journey"] .rk-menu.is-open .rk-menu__list a:nth-child(4) { transition-delay: 120ms; }
html[data-tpl="staffing-journey"] .rk-menu.is-open .rk-menu__list a:nth-child(n+5) { transition-delay: 160ms; }
html[data-tpl="staffing-journey"] .rk-menu__list a::after { content: "→"; margin-left: auto; color: var(--accent); opacity: 0; transform: translate3d(-8px, 0, 0); transition: opacity 180ms ease-out, transform 220ms cubic-bezier(0.23, 1, 0.32, 1); }
html[data-tpl="staffing-journey"] .rk-footer { padding-top: clamp(48px, 7vw, 88px); }
html[data-tpl="staffing-journey"] .rk-footer__brand b { font-size: clamp(26px, 3vw, 36px); letter-spacing: -0.02em; color: #fff; }
html[data-tpl="staffing-journey"] .rk-footer__col > a:not(.btn) { transition: opacity 200ms ease-out, transform 220ms cubic-bezier(0.23, 1, 0.32, 1); }
html[data-tpl="staffing-journey"] .rk-footer .btn { background: #fff; color: var(--deep); box-shadow: none; }
html[data-tpl="staffing-journey"] .rk-offer, html[data-tpl="staffing-journey"] .rk-sec--card { transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 300ms cubic-bezier(0.23, 1, 0.32, 1), border-color 200ms ease; }
html[data-tpl="staffing-journey"] .rk-offer__pic img { transition: transform 800ms cubic-bezier(0.2, 0.7, 0.2, 1); }
html[data-tpl="staffing-journey"] .rk-page__head h1 { letter-spacing: -0.03em; }
@media (hover: hover) and (pointer: fine) {
  html[data-tpl="staffing-journey"] .rk-menu__list a:hover { color: var(--accent); }
  html[data-tpl="staffing-journey"] .rk-menu__list a:hover::after { opacity: 1; transform: none; }
  html[data-tpl="staffing-journey"] .rk-footer__col > a:not(.btn):hover { transform: translate3d(4px, 0, 0); text-decoration: none; }
  html[data-tpl="staffing-journey"] .rk-offer:hover { transform: translateY(-6px) scale(1.015); box-shadow: 0 28px 60px rgba(26, 8, 78, 0.16); border-color: rgba(124, 29, 240, 0.28); }
  html[data-tpl="staffing-journey"] .rk-offer:hover .rk-offer__pic img { transform: scale(1.05); }
  html[data-tpl="staffing-journey"] .rk-sec--card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(26, 8, 78, 0.12); }
}
@media (min-width: 900px) {
  /* Слева меню, затем данные компании (контакты, документы), справа — бренд, слоган и кнопка. */
  html[data-tpl="staffing-journey"] .rk-footer { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.5fr); align-items: start; }
  html[data-tpl="staffing-journey"] .rk-footer__menu { order: 1; }
  html[data-tpl="staffing-journey"] .rk-footer__contact { order: 2; }
  html[data-tpl="staffing-journey"] .rk-footer__docs { order: 3; }
  html[data-tpl="staffing-journey"] .rk-footer__brand { order: 4; grid-column: 4; justify-self: end; text-align: right; }
  html[data-tpl="staffing-journey"] .rk-footer__brand p { margin-left: auto; }
  html[data-tpl="staffing-journey"] .rk-footer__bar { order: 5; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-tpl="staffing-journey"] .rk-menu, html[data-tpl="staffing-journey"] .rk-menu__list a, html[data-tpl="staffing-journey"] body::after, html[data-tpl="staffing-journey"] .rk-offer, html[data-tpl="staffing-journey"] .rk-offer__pic img { transition: none; }
  html[data-tpl="staffing-journey"] .rk-menu__list a { opacity: 1; transform: none; }
}

/* §762 — «Journey», свои страницы: шапка и блоки поднимаются при открытии, карточки — по очереди; фон страницы мягко
   переходит из сиреневого в белый; под курсором на карточке — свет. */
html[data-tpl="staffing-journey"][data-page] body { background: linear-gradient(180deg, var(--tint) 0, var(--bg) 420px) no-repeat, var(--bg); }
html[data-tpl="staffing-journey"] .rk-page__head, html[data-tpl="staffing-journey"] .rk-page > .rk-sec { animation: rkup 640ms cubic-bezier(0.23, 1, 0.32, 1) both; }
html[data-tpl="staffing-journey"] .rk-page > .rk-sec:nth-child(2) { animation-delay: 90ms; }
html[data-tpl="staffing-journey"] .rk-page > .rk-sec:nth-child(3) { animation-delay: 160ms; }
html[data-tpl="staffing-journey"] .rk-page > .rk-sec:nth-child(n+4) { animation-delay: 230ms; }
html[data-tpl="staffing-journey"] .rk-offer, html[data-tpl="staffing-journey"] .rk-article, html[data-tpl="staffing-journey"] .rk-faq { position: relative; animation: rkup 600ms cubic-bezier(0.23, 1, 0.32, 1) backwards; }
html[data-tpl="staffing-journey"] .rk-offers > :nth-child(2), html[data-tpl="staffing-journey"] .rk-articles > :nth-child(2), html[data-tpl="staffing-journey"] .rk-faq:nth-of-type(2) { animation-delay: 60ms; }
html[data-tpl="staffing-journey"] .rk-offers > :nth-child(3), html[data-tpl="staffing-journey"] .rk-articles > :nth-child(3), html[data-tpl="staffing-journey"] .rk-faq:nth-of-type(3) { animation-delay: 120ms; }
html[data-tpl="staffing-journey"] .rk-offers > :nth-child(4), html[data-tpl="staffing-journey"] .rk-faq:nth-of-type(4) { animation-delay: 180ms; }
html[data-tpl="staffing-journey"] .rk-offers > :nth-child(n+5), html[data-tpl="staffing-journey"] .rk-faq:nth-of-type(n+5) { animation-delay: 240ms; }
html[data-tpl="staffing-journey"] .rk-offer::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity 240ms ease-out; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(124, 29, 240, 0.14), transparent 70%); }
html[data-tpl="staffing-journey"] .rk-page__head h1 { background: linear-gradient(100deg, var(--ink) 0%, var(--deep-2) 55%, var(--accent) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
@keyframes rkup { from { opacity: 0; transform: translate3d(0, 22px, 0); } }
@media (hover: hover) and (pointer: fine) { html[data-tpl="staffing-journey"] .rk-offer:hover::after { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { html[data-tpl="staffing-journey"] .rk-page__head, html[data-tpl="staffing-journey"] .rk-page > .rk-sec, html[data-tpl="staffing-journey"] .rk-offer, html[data-tpl="staffing-journey"] .rk-article, html[data-tpl="staffing-journey"] .rk-faq { animation: none; } }

/* §769 — картинка, фон и анимация своей страницы. */
.rk-pagepic, .rk-pagefilm { margin: 0 0 clamp(22px, 3vw, 36px); overflow: hidden; border-radius: calc(var(--pg-radius) + 6px); aspect-ratio: 21 / 9; background: var(--pg-line); }
.rk-pagepic img { display: block; width: 100%; height: 100%; object-fit: cover; animation: rkpic 900ms cubic-bezier(0.23, 1, 0.32, 1) both; }
.rk-pagefilm canvas { display: block; width: 100%; height: 100%; }
.rk-pageback { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
.rk-pageback img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rk-pageback::after { content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--bg, #fff) 80%, transparent); }
html.rk-backed body { background: none !important; }
html.rk-backed #top, html.rk-backed .footer { position: relative; z-index: 1; }
@keyframes rkpic { from { opacity: 0; transform: scale(1.04); } }
@media (max-width: 640px) { .rk-pagepic, .rk-pagefilm { aspect-ratio: 4 / 3; } }
@media (prefers-reduced-motion: reduce) { .rk-pagepic img { animation: none; } }

/* §837 — «живые» блоки: карусель и бегущая лента. Цвета и шрифты — переменные страницы (--pg-*), как у остальных блоков. */
.rk-block:has(> .rk-sec--carousel) { width: min(100% - 2 * var(--gutter, 20px), 1180px); }
.rk-block:has(> .rk-sec--marquee) { width: 100%; }
.rk-block:has(> .rk-sec--marquee) > .rk-sec > .rk-h2, .rk-block:has(> .rk-sec--marquee) > .rk-sec > p { width: min(100% - 2 * var(--gutter, 20px), 1180px); margin-inline: auto; }
.rk-car { position: relative; }
.rk-car__track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 2px; padding: 4px 2px 14px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.rk-car__track::-webkit-scrollbar { display: none; }
.rk-car__track:focus-visible { outline: 2px solid var(--pg-accent, currentColor); outline-offset: 4px; }
.rk-card { flex: 0 0 clamp(220px, 72vw, 290px); scroll-snap-align: start; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--pg-line); border-radius: var(--pg-radius); background: var(--pg-card); color: inherit; text-decoration: none; transition: transform 0.25s ease, border-color 0.25s ease; }
a.rk-card:hover { transform: translateY(-3px); border-color: var(--pg-accent, currentColor); }
.rk-card__pic { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: color-mix(in srgb, currentColor 8%, transparent); }
.rk-card__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rk-card--photo .rk-card__pic { aspect-ratio: 3 / 4; }
.rk-card__text { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 16px 18px 18px; }
.rk-card__text b { font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: 19px; line-height: 1.2; }
.rk-card__text small { color: var(--pg-muted); font-size: 14px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rk-card__price { margin-top: auto; padding-top: 8px; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: 18px; font-variant-numeric: lining-nums tabular-nums; }
.rk-car__nav { position: absolute; top: 38%; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--pg-line); border-radius: 50%; background: var(--pg-card, #fff); color: inherit; font-size: 24px; line-height: 1; cursor: pointer; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16); transition: transform 0.2s ease; }
.rk-car__nav:hover { transform: scale(1.06); }
.rk-car__nav--prev { left: -10px; } .rk-car__nav--next { right: -10px; }
@media (hover: none), (max-width: 640px) { .rk-car__nav { display: none; } }
.rk-mq { display: grid; gap: 16px; overflow: hidden; padding: 6px 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.rk-mq__row { display: flex; gap: 16px; width: max-content; animation: rk-mq var(--rk-mq-time, 60s) linear infinite; }
.rk-mq__row--back { animation-direction: reverse; }
.rk-mq:hover .rk-mq__row, .rk-mq:focus-within .rk-mq__row { animation-play-state: paused; }
@keyframes rk-mq { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 8px)); } }
.rk-quote { flex: none; width: clamp(240px, 78vw, 340px); margin: 0; padding: 20px 22px; border: 1px solid var(--pg-line); border-radius: var(--pg-radius); background: var(--pg-card); }
.rk-quote blockquote { margin: 0; font-size: 16px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.rk-quote figcaption { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 12px; color: var(--pg-muted); font-size: 14px; }
.rk-quote__stars { color: var(--pg-accent, currentColor); letter-spacing: 2px; }
.rk-mq__pic { flex: none; height: clamp(150px, 26vw, 230px); margin: 0; overflow: hidden; border-radius: var(--pg-radius); }
.rk-mq__pic img { display: block; height: 100%; width: auto; }
.rk-mq--calm { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
.rk-mq--calm .rk-mq__row { animation: none; }
@media (prefers-reduced-motion: reduce) { .rk-mq__row { animation: none; } .rk-mq { overflow-x: auto; -webkit-mask-image: none; mask-image: none; } a.rk-card:hover { transform: none; } }

/* §838 — свободный блок от AI-режиссёра: рамка во всю ширину блока, высоту сообщает сам блок. */
.rk-block:has(> .rk-sec--custom) { width: min(100% - 2 * var(--gutter, 20px), 1180px); }
.rk-sec--custom { margin-top: 0; }
.rk-frame { display: block; width: 100%; height: 320px; border: 0; background: transparent; color-scheme: normal; }

/* §840 — вид своего блока на главной: отступы (остальное — показ по устройству — задаёт site.js) */
.rk-slot[data-rk-pad="s"] > .rk-block { padding-block: clamp(20px, 3vw, 40px); }
.rk-slot[data-rk-pad="l"] > .rk-block { padding-block: clamp(72px, 10vw, 140px); }

/* §1142 — «Такой страницы нет» (404) в цветах и шрифтах дизайна: крупный код, заголовок, похожие страницы строками
   со стрелкой, кнопки «Записаться», «Позвонить», «На главную». Свой вид дизайна (data-view-on) этот блок не рисует. */
.rk-nf { display: grid; gap: 18px; padding-bottom: clamp(24px, 4vw, 48px); }
.rk-nf__code { margin: 0; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: clamp(72px, 16vw, 168px); line-height: 0.9; letter-spacing: -0.04em; color: var(--pg-accent, currentColor); font-variant-numeric: lining-nums; }
.rk-nf__title { max-width: 18ch; }
.rk-nf__text { margin: 0; max-width: 56ch; color: var(--pg-muted); font-size: 18px; line-height: 1.55; }
.rk-nf__maybe { margin: clamp(12px, 2vw, 24px) 0 0; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: clamp(20px, 2.4vw, 26px); line-height: 1.2; }
.rk-nf__list { max-width: 760px; }
.rk-nf__arrow { transition: transform 200ms ease-out; }
@media (hover: hover) { .rk-nf__list .rk-row:hover .rk-nf__arrow { transform: translate3d(4px, 0, 0); } }
.rk-nf__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(8px, 2vw, 16px); }
.btn.rk-nf__ghost { background: transparent !important; color: inherit !important; border: 1px solid currentColor !important; box-shadow: none !important; }
@media (max-width: 599px) { .rk-nf__cta > a { flex: 1 1 100%; justify-content: center; text-align: center; } }
@media (prefers-reduced-motion: reduce) { .rk-nf__arrow { transition: none; } }

/* §1143 — живой статус «Открыто · до 19:00» (подвал, блок контактов, 404 и элементы дизайна с data-rk-open). Точка:
   зелёная — открыто (с тихим пульсом), цвета текста дизайна — закрыто. Без движения при «уменьшить движение». */
.rk-open { display: inline-flex; align-items: center; gap: 8px; font-variant-numeric: tabular-nums; }
.rk-open[hidden] { display: none !important; }
.rk-open__dot { position: relative; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--pg-muted); opacity: 0.8; }
.rk-open[data-state="open"] .rk-open__dot { background: #1f9d55; opacity: 1; }
.rk-open[data-state="open"] .rk-open__dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #1f9d55; animation: rk-open-pulse 2.4s ease-out infinite; }
@keyframes rk-open-pulse { 0% { transform: scale(1); opacity: 0.55; } 70%, 100% { transform: scale(2.6); opacity: 0; } }
.rk-open--block { margin-top: 14px; font-weight: 600; }
.rk-open--design { margin: 14px 0 0; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .rk-open[data-state="open"] .rk-open__dot::after { animation: none; display: none; } }

/* §1147: раздел получает фокус после перехода по ссылке меню — без рамки (это не поле). */
[tabindex="-1"]:focus { outline: none; }

/* §1156 — отзывы: стопка карточек (/s/reviews.js mount) на любом дизайне. Фон карточки — фон раздела, в который она
   встала (его ставит /s/page.js в --rk-rv-bg), с лёгкой примесью цвета текста: контраст текста тот же, что у раздела.
   Все карточки в одной клетке сетки — стопка сама берёт высоту самой длинной; двигаются только transform и opacity. */
.rk-rv { --rk-rv-bg: transparent; --rk-rv-card: color-mix(in srgb, currentColor 5%, var(--rk-rv-bg)); --rk-rv-muted: color-mix(in srgb, currentColor 66%, transparent); position: relative; width: min(100%, 760px); margin-top: clamp(20px, 3vw, 32px); }
.rk-rvsec .rk-rv, .rk-rv--center { margin-inline: auto; }
.rk-rv__sum { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 10px; margin: 0 0 18px; font-size: 15px; }
.rk-rv__avg { font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: clamp(34px, 5vw, 46px); line-height: 1; font-variant-numeric: lining-nums tabular-nums; }
.rk-rv__stars { position: relative; display: inline-block; color: color-mix(in srgb, currentColor 22%, transparent); letter-spacing: 3px; font-size: 18px; line-height: 1; }
.rk-rv__stars::before { content: "\2605\2605\2605\2605\2605"; position: absolute; inset: 0 auto 0 0; width: var(--rk-rv-fill, 100%); overflow: hidden; color: var(--pg-accent, currentColor); white-space: nowrap; }
.rk-rv__n { color: var(--rk-rv-muted); }
.rk-rv__deck { display: grid; padding-bottom: 36px; touch-action: pan-y; outline: none; isolation: isolate; }
.rk-rv__deck:focus-visible .rk-rv__card.is-top { outline: 2px solid var(--pg-accent, currentColor); outline-offset: 3px; }
.rk-rv__card { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 14px; min-width: 0; min-height: clamp(190px, 20vw, 250px); margin: 0; padding: clamp(22px, 3.4vw, 36px); border: 1px solid var(--pg-line); border-radius: var(--pg-radius); background: var(--rk-rv-card); background-color: var(--rk-rv-card); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06), 0 12px 32px -18px rgba(0, 0, 0, 0.35); transform-origin: 50% 100%; transition: transform 280ms cubic-bezier(0.23, 1, 0.32, 1), opacity 220ms cubic-bezier(0.23, 1, 0.32, 1); will-change: transform; -webkit-user-select: none; user-select: none; cursor: grab; }
.rk-rv__card { position: relative; overflow: hidden; }
.rk-rv__card::after { content: "\201D"; position: absolute; right: 0.1em; bottom: -0.42em; font-family: var(--pg-head); font-size: clamp(120px, 14vw, 180px); line-height: 1; color: var(--pg-accent, currentColor); opacity: 0.14; pointer-events: none; }
.rk-rv__top, .rk-rv__text, .rk-rv__who, .rk-rv__reply, .rk-rv__pic { position: relative; z-index: 1; }
.rk-rv__card:not(.is-top) { pointer-events: none; }
.rk-rv__card.is-flying { pointer-events: none; }
.rk-rv__card:active { cursor: grabbing; }
.rk-rv__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rk-rv__cardstars { color: var(--pg-accent, currentColor); letter-spacing: 2px; font-size: 17px; line-height: 1; }
.rk-rv__date { color: var(--rk-rv-muted); font-size: 14px; white-space: nowrap; }
.rk-rv__text { margin: 0; font-size: clamp(17px, 1.7vw, 21px); line-height: 1.55; overflow-wrap: anywhere; }
.rk-rv__text p { margin: 0 0 10px; max-width: none; font-size: inherit; line-height: inherit; }
.rk-rv__text p:last-child { margin-bottom: 0; }
.rk-rv__pic { margin: 0; }
.rk-rv__pic img { display: block; width: 100%; max-height: 260px; object-fit: cover; border-radius: calc(var(--pg-radius) * 0.6); }
.rk-rv__who { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: auto 0 0 !important; font-size: 15px !important; }
.rk-rv__who span { color: var(--rk-rv-muted); }
.rk-rv__reply { padding: 12px 14px; border-inline-start: 3px solid var(--pg-accent, currentColor); background: color-mix(in srgb, currentColor 5%, transparent); border-radius: 0 calc(var(--pg-radius) * 0.6) calc(var(--pg-radius) * 0.6) 0; font-size: 15px; }
.rk-rv__reply b { display: block; margin-bottom: 4px; font-size: 13px; letter-spacing: 0.02em; }
.rk-rv__reply p { margin: 0 !important; font-size: 15px !important; line-height: 1.5 !important; }
.rk-rv__bar { display: flex; align-items: center; gap: 14px; margin-top: 4px; }
.rk-rv__count { min-width: 64px; text-align: center; color: var(--rk-rv-muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.rk-rv__btn { display: inline-grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); border-radius: 50%; background: transparent; color: inherit; cursor: pointer; transition: transform 140ms ease-out, background-color 160ms ease; }
.rk-rv__btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rk-rv__btn:active { transform: scale(0.95); }
.rk-rv__btn:focus-visible { outline: 2px solid var(--pg-accent, currentColor); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .rk-rv__btn:hover { background: color-mix(in srgb, currentColor 8%, transparent); } }
.rk-rv__cta { display: inline-block; margin-top: 18px; color: inherit; font-weight: 600; text-underline-offset: 4px; }
.rk-rv__live { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[dir="rtl"] .rk-rv__btn svg { transform: scaleX(-1); }
/* Уменьшить движение: карточки не летают — верхняя просто сменяется (прозрачность). */
.rk-rv--calm .rk-rv__card { transform: none !important; transition: opacity 200ms ease; }
@media (prefers-reduced-motion: reduce) { .rk-rv__card { transform: none !important; transition: opacity 200ms ease !important; } }
/* Свой раздел отзывов (у дизайна такого нет): ширина и отступы — как у блоков владельца. */
.rk-rvsec .rk-block { padding-block: clamp(56px, 8vw, 110px); }
.rk-rvsec .rk-h2 { text-align: center; }
.rk-rvsec .rk-rv__sum { justify-content: center; }
.rk-rvsec .rk-rv__bar { justify-content: center; }
/* §1299 — отзывов ещё нет, владелец включил раздел: карточка «Будьте первым…» с кнопкой дизайна; в своём разделе —
   по центру, в разделе дизайна — по краю, как его шапка. Кнопка «Оставить отзыв» под списком дизайна — .rk-rvcta. */
.rk-rv--empty { width: min(100%, 640px); }
.rk-rv__empty { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: clamp(24px, 4vw, 40px); border: 1px dashed color-mix(in srgb, currentColor 28%, transparent); border-radius: var(--pg-radius); background: var(--rk-rv-card); }
.rk-rv__empty::after { content: "\201D"; position: absolute; right: 0.1em; bottom: -0.42em; font-family: var(--pg-head); font-size: clamp(120px, 14vw, 180px); line-height: 1; color: var(--pg-accent, currentColor); opacity: 0.12; pointer-events: none; }
.rk-rv__empty > * { position: relative; z-index: 1; }
.rk-rv__estars { color: color-mix(in srgb, var(--pg-accent, currentColor) 55%, transparent); letter-spacing: 4px; font-size: 20px; line-height: 1; }
.rk-rv__first { margin: 4px 0 0 !important; max-width: 22ch; font-family: var(--pg-head); font-weight: var(--pg-weight); font-size: clamp(22px, 2.6vw, 30px) !important; line-height: 1.2 !important; overflow-wrap: anywhere; }
.rk-rv__esub { margin: 0 !important; max-width: 46ch; color: var(--rk-rv-muted); font-size: 15px !important; line-height: 1.55 !important; }
.rk-rv__ebtn { margin-top: 10px; max-width: 100%; white-space: normal; text-align: center; }
.rk-rvsec .rk-rv--empty { margin-inline: auto; }
.rk-rvsec .rk-rv__empty { align-items: center; text-align: center; }
.rk-rvcta { margin: 18px 0 0 !important; }

/* §1156 — страница «Оставить отзыв» (/s/<сайт>/review): форма в шрифтах и цветах дизайна. */
.rk-rvf { width: min(100%, 640px); margin-inline: auto; }
.rk-rvf__brand { margin: 0 0 10px; color: var(--pg-muted); font-size: 15px; font-weight: 600; }
.rk-rvf__title { margin-bottom: 12px; }
.rk-rvf__sub { margin: 0 0 28px; color: var(--pg-muted); font-size: 17px; line-height: 1.55; }
.rk-rvf__form { display: grid; gap: 18px; }
.rk-rvf__form[hidden] { display: none; }
.rk-rvf__form .rk-form__field { display: grid; gap: 6px; }
.rk-rvf__form label { font-size: 14px; font-weight: 600; }
.rk-rvf__form input[type="text"], .rk-rvf__form textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid color-mix(in srgb, currentColor 28%, transparent); border-radius: var(--pg-radius); background: color-mix(in srgb, currentColor 4%, transparent); color: inherit; font: inherit; font-size: 16px; line-height: 1.45; box-sizing: border-box; }
.rk-rvf__form textarea { min-height: 140px; resize: vertical; }
.rk-rvf__form input:focus-visible, .rk-rvf__form textarea:focus-visible { outline: 2px solid var(--pg-accent, currentColor); outline-offset: 2px; border-color: transparent; }
.rk-rvf__label { margin: 0 0 8px !important; font-size: 14px !important; font-weight: 600; }
.rk-rvf__stars { display: inline-flex; gap: 4px; }
.rk-rvf__star { display: inline-grid; place-items: center; width: 52px; height: 52px; padding: 0; border: 0; border-radius: 12px; background: transparent; color: color-mix(in srgb, currentColor 30%, transparent); cursor: pointer; transition: transform 140ms ease-out, color 120ms ease; }
.rk-rvf__star svg { width: 40px; height: 40px; fill: currentColor; }
.rk-rvf__star.is-on { color: var(--pg-accent, #f5a623); }
.rk-rvf__star:active { transform: scale(0.92); }
.rk-rvf__star:focus-visible { outline: 2px solid var(--pg-accent, currentColor); outline-offset: 1px; }
.rk-rvf__hint { display: block; min-height: 22px; margin-top: 4px; color: var(--pg-muted); font-size: 15px; font-weight: 600; }
.rk-rvf__photo { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.rk-rvf__photobtn { position: relative; display: inline-flex; align-items: center; min-height: 46px; padding: 10px 16px; border: 1px dashed color-mix(in srgb, currentColor 35%, transparent); border-radius: var(--pg-radius); font-size: 15px !important; font-weight: 600; cursor: pointer; }
.rk-rvf__file { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.rk-rvf__file:focus-visible + span { outline: 2px solid var(--pg-accent, currentColor); outline-offset: 4px; }
.rk-rvf__thumb { position: relative; display: inline-block; }
.rk-rvf__thumb img { display: block; width: 72px; height: 72px; object-fit: cover; border-radius: 10px; }
.rk-rvf__x { position: absolute; top: -8px; right: -8px; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: #111; color: #fff; font-size: 16px; line-height: 26px; cursor: pointer; }
.rk-rvf .rk-form__foot { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; }
.rk-rvf__note { margin: 0; color: var(--pg-muted); font-size: 14px; }
.rk-rvf__done { padding: clamp(24px, 4vw, 36px); border: 1px solid var(--pg-line); border-radius: var(--pg-radius); text-align: center; outline: none; }
.rk-rvf__done p { margin: 0 auto 12px; max-width: 46ch; font-size: 17px; line-height: 1.55; }
.rk-rvf__big { color: var(--pg-accent, currentColor); font-size: 34px !important; letter-spacing: 4px; }
.rk-rvf__gq { margin-top: 18px !important; font-weight: 600; }
.rk-rvf__back { display: inline-block; margin-top: 18px; color: inherit; text-underline-offset: 4px; }
.rk-rvf__google { margin-top: 4px; }
