/* Language choice stays visible outside the collapsible mobile menu. */
.language-switch { display: inline-flex; flex: none; align-items: center; gap: 2px; margin-left: 24px; font: 500 11px/1.2 "Inter",Arial,sans-serif; letter-spacing: .04em; }
.language-switch a { display: grid; place-items: center; min-width: 34px; min-height: 38px; padding: 8px 6px; color: inherit; opacity: .55; text-decoration: none; border-bottom: 1px solid transparent; }
.language-switch a[aria-current="page"] { opacity: 1; border-bottom-color: currentColor; }
.language-switch a:hover, .language-switch a:focus-visible { opacity: 1; }
.site-header .main-nav { margin-left: auto; }
html[lang="ru"] { --sans: "Inter", Arial, sans-serif; }
html[lang="ru"] .hero-copy h1 { letter-spacing: -.045em; }
@media (min-width: 741px) {
 html[lang="ru"] .scene-sticky .hero-copy h1, html[lang="ru"][data-design="galerie"] .scene-sticky .hero-copy h1 { font-size: clamp(46px,min(4.5vw,8.7svh),76px); }
}
html[lang="ru"] .hero-copy h1 em { white-space: normal; }
html[lang="ru"] .section-number { letter-spacing: .11em; }
html[lang="ru"] .score-page-heading strong { font-size: clamp(32px,3.2vw,48px); }
html[lang="ru"] .form-privacy { line-height: 1.65; }
@media (max-width: 1050px) and (min-width: 741px) {
 .site-header .main-nav { gap: 18px; }
 .language-switch { margin-left: 16px; }
}
@media (max-width: 740px) {
 .brand-header { padding-inline: 14px; gap: 6px; }
 .site-header .wordmark { margin-right: auto; gap: 8px; }
 .site-header .wordmark .wordmark-label strong { font-size: 8px; letter-spacing: .08em; }
 .site-header .wordmark .wordmark-label small { font-size: 6px; letter-spacing: .04em; }
 .language-switch { margin-left: 0; gap: 0; order: 2; font-size: 10px; }
 .language-switch a { min-width: 29px; min-height: 40px; padding: 8px 4px; }
 .site-header .menu-toggle { order: 3; flex: none; width: 34px; padding: 7px; }
 html[lang="ru"] .scene-sticky .hero-copy h1, html[lang="ru"][data-design="galerie"] .scene-sticky .hero-copy h1 { font-size: clamp(31px,min(9.5vw,5.7svh),42px); line-height: 1.04; }
 html[lang="ru"] .scene-sticky .hero-copy h1 em { display: inline; }
 html[lang="ru"] .scene-sticky .hero-copy p { font-size: 13px; line-height: 1.45; }
 html[lang="ru"] .scene-chapter-copy p, html[lang="ru"] .scene-inside p, html[lang="ru"] .scene-mechanics p { font-size: clamp(30px,8.7vw,41px); }
 html[lang="ru"] .scene-final-note { font-size: 9px; letter-spacing: .08em; }
 html[lang="ru"] .lessons-bottom > div { flex-wrap: wrap; }
 html[lang="ru"] .section-number { flex-wrap: wrap; font-size: 10px; }
 html[lang="ru"] .contact-left h2 { font-size: clamp(36px,10vw,48px); }
 .legal-header .language-switch { margin-left: auto; }
}
@media (max-width: 360px) {
 .site-header .wordmark .wordmark-symbol { font-size: 31px; }
 .site-header .wordmark .wordmark-label strong { font-size: 7px; }
 .site-header .wordmark .wordmark-label small { font-size: 5.5px; }
}
html[lang="ru"] .legal-page { font-family: "Inter", Arial, sans-serif; }
@media (min-width: 741px) {
 html[lang="ru"] .scene-sticky .hero-copy p { max-width: 440px; font-size: 15px; line-height: 1.65; }
}
/* Russian typography: preserve whole words and avoid isolated short prepositions. */
html[lang="ru"] :is(h1,h2,h3,p,small,strong,span,a,label,summary,figcaption) { word-break: normal; overflow-wrap: normal; hyphens: none; }
html[lang="ru"] :is(h1,h2,h3) { text-wrap: balance; }
html[lang="ru"] :is(.about-copy h2,.steps-header h2,.lessons-section h2,.faq-heading h2) { line-height: 1.06; }
@media (max-width: 740px) {
 html[lang="ru"] :is(.about-copy h2,.steps-header h2,.lessons-section h2,.faq-heading h2,.method-content h2,.contact-left h2) { font-size: clamp(32px,9.5vw,48px); line-height: 1.08; letter-spacing: -.035em; }
 html[lang="ru"] .form-card h3 { font-size: clamp(29px,8.3vw,38px); line-height: 1.12; }
 html[lang="ru"] .lesson-card h3 { font-size: clamp(29px,8.2vw,36px); }
 html[lang="ru"] .section-number { gap: 8px; letter-spacing: .07em; }
 html[lang="ru"] .score-page-heading strong { font-size: clamp(30px,8.2vw,40px); }
 html[lang="ru"] .legal-overlay-content .legal-main h1 { font-size: clamp(25px,7.5vw,35px); overflow-wrap: normal; line-height: 1.12; }
 html[lang="ru"] .legal-main h1 { font-size: clamp(27px,7.5vw,35px); }
 html[lang="ru"] .legal-main h2 { font-size: clamp(21px,6vw,27px); }
 html[lang="ru"] .hero-copy h1 em { font-size: 1em; }
 html[lang="ru"] .scene-sticky .hero-copy h1, html[lang="ru"][data-design="galerie"] .scene-sticky .hero-copy h1 { font-size: clamp(30px,min(8.8vw,5.5svh),38px); }
 html[lang="ru"] .scene-transition p { font-size: clamp(36px,10vw,48px); line-height: 1.08; }
}
