/* Shared visual system for every RU page. Page content and semantic markup remain unchanged. */
:root {
  --ru-surface: #fff;
  --ru-canvas: #faf8fd;
  --ru-lilac-wash: #f2eff9;
  --ru-ink: #191a20;
  --ru-muted: #676a76;
  --ru-border: #e4dfea;
  --ru-accent: #7057d8;
  --ru-accent-soft: #f0edff;
}

body { background: var(--ru-canvas); color: var(--ru-ink); }
body:not(.page-home) { background-image: radial-gradient(circle, #e2ddeb 1px, transparent 1.15px); background-size: 28px 28px; }
.site-header { background: #fffffff2; border-color: var(--ru-border); box-shadow: 0 1px 0 #ffffffcc; }
.nav { max-width: 1160px; min-height: 56px; }
.brand { color: var(--ru-ink); font-size: 18px; letter-spacing: 0; }
.brand-mark { width: 30px; height: 30px; box-shadow: 0 5px 16px #7057d91c; }
.nav-links { gap: 24px; }
.nav-links .button, .button { border-radius: 8px; }
.nav-links .button { min-height: 36px; padding: 8px 14px; background: #1b1b20; box-shadow: 0 6px 16px #1b1b2016; }
.language-switcher { display: inline-flex; align-items: center; gap: 5px; padding: 7px 10px; border: 1px solid var(--ru-border); border-radius: 8px; color: #85818f; font-size: 12px; font-weight: 700; line-height: 1; }
.language-switcher a { color: inherit; text-decoration: none; }
.language-switcher a[aria-current="page"] { color: var(--ru-ink); }
.language-switcher a:hover, .nav-links a:hover, .footer a:hover { color: var(--ru-accent); }

.breadcrumbs { color: #777984; }
.breadcrumbs a, .editorial-link, .article-content a { color: var(--ru-accent); }
.editorial-hero { max-width: 1040px; padding-top: 48px; padding-bottom: 34px; }
.editorial-hero > div { max-width: 760px; }
.editorial-hero h1 { color: var(--ru-ink); font-size: clamp(34px, 4vw, 48px); font-weight: 760; letter-spacing: 0; }
.editorial-hero .lead { color: var(--ru-muted); }
.eyebrow { color: var(--ru-accent); }
.section-nav { border-color: var(--ru-border); background: #fffffff2; }
.section-nav a { color: #5f626d; }
.section-nav a:hover { color: var(--ru-accent); }
.section { padding-block: 56px; background: transparent; }
.section.alt, .page-blog .section { border-color: var(--ru-border); background: #f1edf8c7; }
.section-head { margin-bottom: 28px; }
.section-head h2, .workflow h2, .cta-band h2, .notice h2, .legal h1, .legal h2 { color: var(--ru-ink); }
.section-head p, .lead, .notice p, .cta-band p { color: var(--ru-muted); }

.card, .scenario, .intent-panel { border-color: var(--ru-border); background: #fffffff0; box-shadow: 0 12px 28px #2d253e0a; }
.card:hover, .scenario:hover { border-color: #cdc2e6; box-shadow: 0 18px 42px #3a2f5412; }
.feature-icon { border-radius: 8px; background: var(--ru-accent-soft); color: var(--ru-accent); }
.feature-icon-1 { background: #eaf7ef; color: #27824f; }
.feature-icon-2 { background: #fff0f7; color: #bd4f8c; }
.feature-icon-3 { background: #fff5e9; color: #aa722d; }
.scenario > .icon { color: var(--ru-accent); }
.workflow .steps { gap: 14px; }
.workflow .step { display: flex; flex-direction: column; gap: 14px; min-height: 208px; padding: 22px; border: 1px solid var(--ru-border); border-radius: 8px; background: #fffffff0; box-shadow: 0 12px 28px #2d253e0a; }
.workflow .step::before { display: none; }
.workflow-icon { display: inline-grid; width: 40px; height: 40px; place-items: center; border: 1px solid #ded6f0; border-radius: 8px; background: var(--ru-accent-soft); color: var(--ru-accent); }
.workflow-icon .icon { width: 19px; height: 19px; }
.workflow .step:nth-child(2) .workflow-icon { background: #eaf7ef; border-color: #d7eadf; color: #27824f; }
.workflow .step:nth-child(3) .workflow-icon { background: #fff2f7; border-color: #f0dce8; color: #bd4f8c; }
.workflow .step h3 { color: var(--ru-ink); font-size: 18px; }
.workflow .step p { color: var(--ru-muted); }
.faq details { border-color: var(--ru-border); }
.faq summary::after { color: var(--ru-accent); }
.article-content { color: var(--ru-ink); }
.article-content > p:first-child:has(time) { border-color: var(--ru-border); color: var(--ru-muted); }
.article-content p, .article-content li { color: #4f525c; }
.article-content h2 { color: var(--ru-ink); }
.article-callout { border-left-color: var(--ru-accent); background: var(--ru-accent-soft); }
.article-content code { background: #f1edf8; }
.guide-number { color: var(--ru-accent); }
.legal { max-width: 820px; }
.legal p, .legal li { color: #4f525c; }
.footer { background: #f3f0f8; border-color: var(--ru-border); }

@media (max-width: 800px) {
  .nav { min-height: 64px; }
  .language-switcher { display: none; }
  .section { padding-block: 46px; }
  .workflow .step { min-height: 0; }
}
@media (max-width: 560px) {
  body:not(.page-home) { background-size: 25px 25px; }
  .section { padding-block: 40px; }
  .editorial-hero { padding-top: 34px; padding-bottom: 28px; }
  .editorial-hero h1 { font-size: 33px; line-height: 1.12; }
  .editorial-hero .lead { font-size: 16px; }
  .workflow .step { padding: 20px; }
}
