/* Russian Localization 1.0 — Cyrillic typography review layer.
   All locale-specific rules remain scoped to html[lang="ru"]. */
html[lang="ru"] {
  --font-ru-display: Arial, "Helvetica Neue", sans-serif;
  --font-ru-body: Arial, "Helvetica Neue", sans-serif;
  --font-display: var(--font-ru-display);
  --font-body: var(--font-ru-body);
}

/* Core roles: readable Cyrillic without globally shrinking the interface. */
html[lang="ru"] body {
  font-family: var(--font-ru-body);
  line-height: 1.58;
}

html[lang="ru"] h1,
html[lang="ru"] h2,
html[lang="ru"] h3 {
  font-family: var(--font-ru-display);
  font-weight: 700;
  letter-spacing: -.022em;
  line-height: 1.04;
}

html[lang="ru"] .page-hero h1,
html[lang="ru"] .service-hero h1 {
  max-width: 18ch;
  font-size: clamp(2.45rem, 10vw, 3.55rem);
  letter-spacing: -.032em;
  line-height: 1;
  text-wrap: balance;
}

html[lang="ru"] .section-heading h2,
html[lang="ru"] .contact-panel__heading h2,
html[lang="ru"] .payment-options h2 {
  letter-spacing: -.01em;
  line-height: 1.08;
  text-wrap: balance;
}

html[lang="ru"] .section-heading h2,
html[lang="ru"] .about-release-grid h2 {
  font-size: clamp(1.9rem, 8.5vw, 3.4rem);
}

html[lang="ru"] .eyebrow,
html[lang="ru"] .fleet-progress__meta,
html[lang="ru"] .fleet-level__copy span,
html[lang="ru"] .fleet-live-value,
html[lang="ru"] .fleet-proof-grid figcaption,
html[lang="ru"] .payment-options__position {
  font-family: var(--font-technical);
  font-size: clamp(.74rem, .71rem + .12vw, .83rem);
  font-weight: 600;
  letter-spacing: .085em;
  line-height: 1.35;
}

html[lang="ru"] .eyebrow,
html[lang="ru"] .fleet-progress__meta {
  flex-wrap: wrap;
  row-gap: .35rem;
}

html[lang="ru"] .button,
html[lang="ru"] .nav-link,
html[lang="ru"] .contact-primary-action {
  font-family: var(--font-ru-body);
  font-size: clamp(.78rem, .75rem + .12vw, .87rem);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.15;
}

html[lang="ru"] .site-nav__links {
  column-gap: clamp(.9rem, 1.55vw, 1.5rem);
}

/* Homepage: one controlled editorial composition, broad enough for Cyrillic. */
html[lang="ru"] .home-hero__copy {
  min-width: 0;
}

html[lang="ru"] .home-hero h1 {
  width: 100%;
  max-width: 22rem;
  font-size: clamp(2.22rem, 9.8vw, 2.72rem);
  letter-spacing: -.035em;
  line-height: 1;
}

html[lang="ru"] .ru-hero-line {
  display: block;
}

html[lang="ru"] .home-hero__lede,
html[lang="ru"] .home-hero__copy p {
  line-height: 1.5;
}

/* Contact: the Russian H1 is intentionally concise and subordinate to the brand. */
html[lang="ru"] .contact-hero h1 {
  max-width: none;
  font-size: clamp(2.8rem, 10.5vw, 3.5rem);
  letter-spacing: -.03em;
  line-height: 1;
}

html[lang="ru"] .contact-hero__intro {
  max-width: 40rem;
  line-height: 1.55;
}

html[lang="ru"] .contact-panel__heading h2 {
  font-size: clamp(1.4rem, 1.18rem + .7vw, 1.85rem);
}

/* Cards and services: medium/strong hierarchy with stable title rhythm. */
html[lang="ru"] .service-card__title,
html[lang="ru"] .project-card__title,
html[lang="ru"] .service-item__copy h3,
html[lang="ru"] .page-link-card strong,
html[lang="ru"] .fleet-logic-card h3,
html[lang="ru"] .fleet-photo-placeholder strong {
  font-family: var(--font-ru-body);
  font-weight: 700;
  letter-spacing: -.012em;
  line-height: 1.2;
}

html[lang="ru"] .service-item__copy h3 {
  min-height: 2.4em;
  display: flex;
  align-items: center;
  font-size: clamp(.92rem, .86rem + .2vw, 1.08rem);
}

html[lang="ru"] .service-item__copy > span,
html[lang="ru"] .service-card p,
html[lang="ru"] .project-card p,
html[lang="ru"] .page-link-card span {
  font-family: var(--font-ru-body);
  font-weight: 400;
  line-height: 1.5;
}

/* Fleet configurator: explicit META / QUESTION / DESCRIPTION / OPTION / FORM roles. */
html[lang="ru"] .fleet-configurator__title h2 {
  max-width: 20ch;
  font-size: clamp(2rem, 7.4vw, 3rem);
  line-height: 1.06;
  text-wrap: balance;
}

html[lang="ru"] .fleet-configurator__title p {
  line-height: 1.5;
}

/* Fleet hierarchy: question > progress information > technical eyebrow. */
html[lang="ru"] .fleet-configurator .eyebrow {
  font-size: clamp(.69rem, .67rem + .08vw, .75rem);
  font-weight: 500;
  letter-spacing: .09em;
  line-height: 1.35;
}

html[lang="ru"] .fleet-progress__meta {
  font-size: clamp(.75rem, .72rem + .12vw, .82rem);
  font-weight: 600;
  letter-spacing: .055em;
  line-height: 1.35;
}

html[lang="ru"] .fleet-step__intro {
  margin-bottom: clamp(1.5rem, 5vw, 2.25rem);
}

html[lang="ru"] .fleet-step__intro h3,
html[lang="ru"] .fleet-result h3 {
  max-width: 23ch;
  font-size: clamp(1.65rem, 6.2vw, 2.4rem);
  line-height: 1.1;
  text-wrap: balance;
}

html[lang="ru"] .fleet-step__intro p,
html[lang="ru"] .fleet-option__copy small,
html[lang="ru"] .fleet-level__copy small,
html[lang="ru"] .fleet-field__hint,
html[lang="ru"] .fleet-form-note,
html[lang="ru"] .fleet-price-disclaimer {
  font-family: var(--font-ru-body);
  font-weight: 400;
  line-height: 1.48;
}

html[lang="ru"] .fleet-option__copy strong,
html[lang="ru"] .fleet-level__copy strong,
html[lang="ru"] .fleet-field label,
html[lang="ru"] .fleet-result__summary strong {
  font-family: var(--font-ru-body);
  font-size: clamp(.98rem, .93rem + .2vw, 1.12rem);
  font-weight: 700;
  letter-spacing: -.008em;
  line-height: 1.25;
}

/* Payment titles share one typographic mass; controlled two-line titles are expected. */
html[lang="ru"] .payment-options__grid strong {
  min-height: 2.5em;
  display: flex;
  align-items: flex-start;
  font-family: var(--font-ru-body);
  font-size: clamp(.94rem, .89rem + .18vw, 1.06rem);
  font-weight: 700;
  letter-spacing: -.008em;
  line-height: 1.25;
}

html[lang="ru"] .payment-options__grid p,
html[lang="ru"] .payment-options__disclaimer {
  font-family: var(--font-ru-body);
  font-weight: 400;
  line-height: 1.5;
}

/* Legal pages prioritize long-form readability. */
html[lang="ru"] .legal-copy,
html[lang="ru"] .legal-copy p,
html[lang="ru"] .legal-copy li,
html[lang="ru"] .legal-copy td,
html[lang="ru"] .legal-copy th,
html[lang="ru"] .legal-nav a {
  font-family: var(--font-ru-body);
  font-weight: 400;
  line-height: 1.65;
}

html[lang="ru"] .legal-copy h1 {
  max-width: 19ch;
  font-size: clamp(2.3rem, 8vw, 4.2rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

html[lang="ru"] .legal-copy h2,
html[lang="ru"] .legal-copy h3,
html[lang="ru"] .legal-copy__notice strong {
  font-family: var(--font-ru-body);
  font-weight: 700;
  letter-spacing: -.012em;
  line-height: 1.2;
}

html[lang="ru"] .button,
html[lang="ru"] .nav-link,
html[lang="ru"] .service-card__title,
html[lang="ru"] .project-card__title {
  overflow-wrap: normal;
  hyphens: none;
}

/* Russian review hardening: long localized labels must not widen their cards. */
html[lang="ru"] .fleet-commercial-logic,
html[lang="ru"] .fleet-logic-card,
html[lang="ru"] .fleet-discount-grid,
html[lang="ru"] .legal-shell,
html[lang="ru"] .legal-nav,
html[lang="ru"] .service-hero__grid,
html[lang="ru"] .service-hero__copy {
  min-width: 0;
}

html[lang="ru"] .fleet-logic-card,
html[lang="ru"] .legal-nav {
  box-sizing: border-box;
  width: 100%;
}

html[lang="ru"] .fleet-discount-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

html[lang="ru"] .legal-nav a {
  min-width: 0;
  overflow-wrap: anywhere;
}

html[lang="ru"] .legal-shell,
html[lang="ru"] .service-hero__grid {
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 48rem) {
  html[lang="ru"] .page-hero h1,
  html[lang="ru"] .service-hero h1 {
    max-width: 19ch;
    font-size: clamp(3.35rem, 5.5vw, 5rem);
    line-height: 1.01;
  }

  html[lang="ru"] .contact-hero h1 {
    max-width: none;
    font-size: clamp(3.8rem, 5vw, 4.8rem);
    line-height: 1;
  }
}

@media (min-width: 60rem) {
  html[lang="ru"] .home-hero__inner {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    gap: clamp(2rem, 3vw, 3rem);
  }

  html[lang="ru"] .home-hero h1 {
    max-width: none;
    font-size: clamp(3rem, 3.65vw, 3.45rem);
    letter-spacing: -.032em;
    line-height: 1.02;
  }

  html[lang="ru"] .fleet-configurator__header {
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr);
  }
}

@media (min-width: 75rem) {
  html[lang="ru"] .home-hero__inner {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  }
}

@media (max-width: 59.999rem) {
  /* The benefit row is an intentional, keyboard-focusable horizontal rail. */
  html[lang="ru"] .trust-rail {
    overscroll-behavior-inline: contain;
    padding-bottom: .85rem;
    scroll-snap-type: x mandatory;
    scrollbar-color: var(--jg-purple) color-mix(in srgb, var(--jg-white) 12%, transparent);
    scrollbar-width: thin;
  }

  html[lang="ru"] .trust-rail::-webkit-scrollbar {
    display: block;
    height: .22rem;
  }

  html[lang="ru"] .trust-rail::-webkit-scrollbar-track {
    background: color-mix(in srgb, var(--jg-white) 12%, transparent);
  }

  html[lang="ru"] .trust-rail::-webkit-scrollbar-thumb {
    background: var(--jg-purple);
  }

  html[lang="ru"] .trust-rail:focus-visible {
    outline: .15rem solid var(--jg-purple);
    outline-offset: .2rem;
  }
}

@media (max-width: 43.75rem) {
  /* Mobile cookie access remains available after the footer, never over content. */
  html[lang="ru"] .cookie-preferences-button {
    position: static;
    display: block;
    width: fit-content;
    max-width: calc(100% - 2rem);
    margin: .75rem 1rem 1.25rem auto;
  }
}

@media (max-width: 24.375rem) {
  html[lang="ru"] .button { letter-spacing: .01em; }

  html[lang="ru"] .home-hero h1 {
    max-width: none;
    font-size: clamp(2.08rem, 9.5vw, 2.48rem);
  }
}

@media (max-width: 20rem) {
  html[lang="ru"] .page-hero h1,
  html[lang="ru"] .service-hero h1 {
    overflow-wrap: anywhere;
  }
}
