/* Multilingual public pages and compact Contact artwork. No animation player. */
.site-header__inner { gap: 18px; }
.site-language { display: flex; align-items: center; gap: 8px; color: var(--on-surface-variant); font-size: 13px; font-weight: 700; min-width: 0; }
.site-language select { font: inherit; color: var(--heading); background: var(--surface-container); border: 2px solid var(--outline); border-radius: 12px; min-height: 46px; padding: 8px 10px; max-width: 180px; cursor: pointer; }
.site-language select:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.site-language option { color: var(--heading); background: var(--surface-container); }
.language-band ul { justify-content: flex-start; gap: 36px; }
.language-band img { flex: 0 0 auto; object-fit: cover; border-radius: 6px; border: 1px solid var(--outline); box-shadow: 0 2px 0 var(--outline); }
.bix-scene { position: relative; isolation: isolate; aspect-ratio: 1; min-width: 0; }
.bix-scene::before { content: ''; position: absolute; inset: 18% 6% 8%; border-radius: 50%; background: var(--primary-container); z-index: -1; }
.bix-image { display: block; width: 100%; height: 100%; object-fit: contain; transform-origin: 50% 88%; }
/* Bix remains a compact illustration on the Contact page. */
.illustrated-hero__art.bix-scene { width: 280px; max-width: 100%; }
.motion-scene .bix-image { animation: bix-float 6s ease-in-out infinite paused; }
html[data-motion="running"] .motion-scene.is-in-view .bix-image { animation-play-state: running; }
@keyframes bix-float { 0%, 100% { transform: translateY(3px) rotate(-1deg); } 50% { transform: translateY(-5px) rotate(1deg); } }
html[data-motion="paused"] *, html[data-motion="paused"] *::before, html[data-motion="paused"] *::after { animation-play-state: paused !important; transition-duration: 0s !important; }
/* Text grows naturally in translation. Direction is set on the document. */
:lang(ar) { --font-display: 'Bix Arabic', 'Noto Sans Arabic', sans-serif; --font-body: 'Bix Arabic', 'Noto Sans Arabic', sans-serif; }
:lang(hi) { --font-display: 'Bix Devanagari', 'Noto Sans Devanagari', sans-serif; --font-body: 'Bix Devanagari', 'Noto Sans Devanagari', sans-serif; }
:lang(ja) { --font-display: 'Bix Japanese', 'Hiragino Sans', sans-serif; --font-body: 'Bix Japanese', 'Hiragino Sans', sans-serif; }
:lang(ko) { --font-display: 'Bix Korean', 'Apple SD Gothic Neo', sans-serif; --font-body: 'Bix Korean', 'Apple SD Gothic Neo', sans-serif; }
:lang(zh) { --font-display: 'Bix Chinese', 'PingFang SC', sans-serif; --font-body: 'Bix Chinese', 'PingFang SC', sans-serif; }
:lang(ru) { --font-display: 'Nunito', sans-serif; }
html[lang="ar"] h1, html[lang="ar"] h2 { line-height: 1.5; }
html[lang="hi"] h1, html[lang="hi"] h2 { line-height: 1.35; }
html:not([lang="en"]) .welcome h1 { font-size: clamp(30px, 2.9vw, 42px); }
html:not([lang="en"]) .welcome__actions { max-width: 430px; }
html:not([lang="en"]) .welcome__actions .btn { font-size: 13px; padding-inline: 16px; }
.btn { text-align: center; }
.answer { text-align: start; }
.answer [lang] { direction: ltr; unicode-bidi: isolate; }
.answer__mark { text-align: end; }
.legal-body, .legal-intro { overflow-wrap: anywhere; }
.legal-intro h1 { hyphens: auto; }
/* A paragraph must keep its inline emphasis in normal reading order. */
.legal-body p.callout { display: block; }
[dir="rtl"] .legal-body { text-align: right; }
[dir="rtl"] .callout { border-left: 0; border-right: 4px solid var(--primary); border-radius: var(--radius-md) 0 0 var(--radius-md); }
[dir="rtl"] .legal-body ul, [dir="rtl"] .legal-body ol { padding-right: 1.5em; padding-left: 0; }
[dir="rtl"] .gallery-controls button, [dir="rtl"] .text-link > [aria-hidden="true"] { transform: scaleX(-1); }
[dir="rtl"] :is(a[href^="mailto:"], a[href^="tel:"], .price-card__amount) { direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] .toc { border-right: 0; border-left: 1px solid var(--outline); }
[dir="rtl"] .contact-block { text-align: start; }
.locale-notice { padding: 8px 16px; text-align: center; font-size: 14px; background: var(--surface-container-low); color: var(--on-surface); }
@media (max-width: 767px) {
 .site-language { gap: 6px; font-size: 11px; }
 .site-language select { max-width: 145px; font-size: 12px; }
 .language-band ul { gap: 28px; }
}
@media (max-width: 420px) {
 .site-header__inner { gap: 8px; }
 .site-language { gap: 3px; }
 .site-language select { max-width: 128px; padding-inline: 5px; }
 .site-language > span { max-width: 64px; line-height: 1.2; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { animation: none !important; transition-duration: 0s !important; scroll-behavior: auto !important; }
}
@media (max-width: 420px) {
 .site-v2 .site-header .wordmark { min-width: 0; flex: 0 0 104px; }
 .site-v2 .site-header .wordmark__name { font-size: 24px; }
 .site-v2 .site-header .wordmark__descriptor { font-size: 10px; }
 .site-v2 .site-header__inner { justify-content: space-between; }
 .site-language select { width: 122px; }
}
@media (max-width: 350px) {
 .site-language { flex-direction: column; align-items: flex-end; gap: 0; }
 .site-language > span { max-width: none; font-size: 10px; }
 .site-language select { min-height: 38px; padding-block: 4px; }
}
html[lang="ar"] :is(h1,h2,h3,.eyebrow,.site-language) { letter-spacing: normal; }
.learner-quote > small { display: block; color: var(--on-surface-variant); font-size: 12px; margin-top: 12px; }
/* Official store artwork keeps its own proportions and remains stationary. */
.site-v2 .store-badge, .site-v2 .store-badge:hover, .site-v2 .store-badge:active { transform: none; transition: none; }
.store-badge img[data-store-badge="google"] { width: 155px; height: auto; }
.download-badges .store-badge:has([data-store-badge="google"]) { padding: 4px 8px; }
.download-badges img[data-store-badge="google"] { width: 170px; height: auto; }
@media (max-width: 767px) {
 .download-badges img[data-store-badge="google"] { width: 150px; }
}
