.language-picker { position: relative; z-index: 1200; flex: 0 0 auto; font: 500 13px/1.4 system-ui, sans-serif; text-transform: none; letter-spacing: normal; color: inherit; }
.language-picker summary { list-style: none; display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 8px 10px; cursor: pointer; border: 1px solid currentColor; border-radius: 8px; }
.language-picker summary::-webkit-details-marker { display: none; }
.header:has(.language-picker[open]) { transform: translateY(0) !important; }
.product-nav { gap: 20px; }
.product-nav > .product-nav__link, .product-nav > .product-nav__links { margin-inline-start: auto; }
.header-row > .brand { flex-shrink: 0; }
.language-picker summary svg { width: 19px; height: 19px; flex: 0 0 auto; }
.language-picker summary:focus-visible, .language-choice:focus-visible, .language-picker input:focus-visible { outline: 2px solid #d69b12; outline-offset: 3px; }
.language-picker__panel { position: absolute; inset-block-start: calc(100% + 12px); inset-inline-end: 0; width: min(340px, calc(100vw - 32px)); padding: 18px; color: #17201c; background: #fffef9; border: 1px solid #d9ddd5; border-radius: 12px; text-align: start; }
.language-picker__panel label { display: block; font-weight: 700; margin-block-end: 10px; }
.language-picker__panel input { display: block; width: 100%; min-height: 44px; padding: 10px 12px; color: #17201c; background: #fff; border: 1px solid #89958c; border-radius: 6px; font: 16px/1.5 system-ui, sans-serif; }
.language-picker__panel input::placeholder { color: #596359; opacity: 1; }
.language-picker__choices { max-height: min(370px, 52svh); overflow-y: auto; overscroll-behavior: contain; margin-block-start: 12px; }
.language-choice { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 10px; color: #17201c; text-decoration: none; border-radius: 6px; }
.language-choice small { font-size: 12px; color: #4b5a50; }
.language-choice:hover, .language-choice.is-current { background: #edf2e8; }
.language-choice[hidden], .language-picker__empty[hidden] { display: none; }
.language-picker-anchor { position: fixed; inset-inline-end: 20px; inset-block-start: 20px; z-index: 1200; padding: 0; background: #fffef9; color: #17201c; border-radius: 8px; }
.language-suggestion { position: fixed; z-index: 1190; inset-block-end: 20px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 16px; width: max-content; max-width: calc(100vw - 32px); padding: 10px 12px 10px 18px; color: #17201c; background: #fffef9; border: 1px solid #a5afa2; border-radius: 10px; font: 14px/1.5 system-ui, sans-serif; }
.language-suggestion a { padding-block: 8px; font-weight: 700; color: #17201c; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.language-suggestion button { min-width: 44px; min-height: 44px; color: inherit; background: transparent; border: 0; font: 26px/1 system-ui, sans-serif; cursor: pointer; }
html:not([lang="it"]) :is(h1, h2, h3, .btn__text, .praesidium-nav-cta, .header__link, .mobile-menu__link) { overflow-wrap: break-word; }
html:not([lang="it"]) :is(h1, h2, h3) { text-wrap: balance; }
html:not([lang="it"]) :is(.header__menu, .header__container) { gap: clamp(10px, 1.2vw, 22px); }
html:not([lang="it"]) .header__link { font-size: clamp(12px, .95vw, 15px); }
/* Product screenshots and spatial illustrations retain their original orientation. */
html[dir="rtl"] :is(.operating-map__stage, .ecosystem-orbit, .install-system__rail, .access-inspector-content, .proof-app-track, .hero-product-scene) { direction: ltr; }
html[dir="rtl"] .hero-product-scene { padding-right: 0; padding-left: 13px; }
html[dir="rtl"] .product-device--desktop { right: auto; left: 0; }
html[dir="rtl"] .product-device--notebook { left: auto; right: 0; }
html[dir="rtl"] .product-device--phone { right: auto; left: -1%; }
html[dir="rtl"] :is(.frameworks__arrow svg, .function-archive__controls button span, .carousel-arrow span) { transform: scaleX(-1); }
html[dir="rtl"] :is(.function-archive__progress, .benefit-rail__progress) span { transform-origin: right center; }
html[dir="rtl"] :is(.benefit-rail__counter, .function-archive__counter, input[type="email"], input[type="tel"], input[type="url"], a[href^="mailto:"], a[href^="tel:"]) { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] :is(.benefit-card__body, .function-archive-card__body, .operating-map__tab, .operating-map__panel) { direction: rtl; text-align: start; }
html[dir="rtl"] :is(.praesidium-hero__copy, .praesidium-section-head, .praesidium-pressure__head, .module-story__copy, .contact__content) { text-align: start; }
html[dir="rtl"] :is(h1, h2, h3, p, button, a, label) { letter-spacing: normal; }
html[lang="ar"] { --font-body: 'Noto Sans Arabic', 'Manrope', system-ui, sans-serif; --font-display: 'Noto Naskh Arabic', 'Playfair Display', Georgia, serif; }
html[lang="ar"] body { font-family: var(--font-body); line-height: 1.8; }
html[lang="ar"] :is(h1, h2, h3) { line-height: 1.45; font-style: normal; }
html[lang="ar"] :is(h4, h5, h6, p, li, label, button, input, select, textarea) { line-height: 1.8; }
html[lang="ar"] :is(input, select, textarea, .hero__overtitle-text, .hero__signal, .eyebrow, .overline, .form-label, .language-picker, .language-suggestion) { font-family: var(--font-body); letter-spacing: normal; }
html[lang="ar"] :is(em, .hero__title-word--accent) { font-style: normal; }
html[lang="ar"] .praesidium-page :is(h1, h2, h3, h4, .header__link) { font-family: var(--font-body); }
html[lang="ar"] .header__logo { font-family: 'Cormorant Garamond', Georgia, serif; }
html[lang="ar"] .product-nav__brand { font-family: 'Playfair Display', Georgia, serif; }
html[lang^="zh"] :is(h1, h2, h3), html[lang="ja"] :is(h1, h2, h3), html[lang="ko"] :is(h1, h2, h3) { line-height: 1.25; word-break: normal; letter-spacing: 0; }
html[lang="zh-Hans"] { --font-body: 'Noto Sans SC', 'Cormorant Garamond', 'PingFang SC', 'Microsoft YaHei', sans-serif; --font-display: 'Noto Serif SC', 'Playfair Display', 'Songti SC', SimSun, serif; }
html[lang="zh-Hans"] body { font-family: var(--font-body); line-height: 1.8; }
html[lang="zh-Hans"] .praesidium-page { --font-body: 'Noto Sans SC', 'Manrope', Inter, 'PingFang SC', 'Microsoft YaHei', sans-serif; }
html[lang="zh-Hans"] :is(input, select, textarea, .hero__overtitle-text, .hero__signal, .eyebrow, .overline, .form-label, .language-picker, .language-suggestion) { font-family: var(--font-body); letter-spacing: normal; }
html[lang="zh-Hans"] :is(h1, h2, h3, h4, h5, h6, p, li, button, a, label) { letter-spacing: normal; }
html[lang="zh-Hans"] :is(h4, h5, h6, p, li, label, input, select, textarea) { line-height: 1.75; }
html[lang="zh-Hans"] :is(em, .hero__title-word--accent) { font-style: normal; }
html[lang="zh-Hans"] .praesidium-page :is(h1, h2, h3, h4, .header__link) { font-family: var(--font-body); }
html[lang="zh-Hans"] .header__logo { font-family: 'Cormorant Garamond', Georgia, serif; }
html[lang="zh-Hans"] .product-nav__brand { font-family: 'Playfair Display', Georgia, serif; }
html[lang="zh-Hans"] [data-od-id="hero-heading"] { font-size: clamp(2.3rem, 12vw, 4.5rem); }
html[lang="zh-Hans"] [data-od-id="hero-heading"] em { display: block; }
html[lang="zh-Hans"] .affiliates-hero__title { max-width: 100%; font-size: clamp(1.9rem, 10.4vw, 4.5rem); }
html:is([lang="pl"], [lang="ro"], [lang="pt-PT"], [lang="sv"], [lang="da"], [lang="nb"]) .affiliates-hero__title { max-width: 100%; line-height: 1.05; margin-block-end: .35em; }
html:is([lang="ro"], [lang="pt-PT"]) .service-conversion__side h3 { font-size: clamp(2rem, 3.75vw, 4rem); line-height: 1.08; }
html[lang="ro"] .service-row h3 { font-size: clamp(2rem, 4vw, 4.2rem); line-height: 1.08; }
html[lang="pt-PT"] .service-row h3 { font-size: clamp(2rem, 3.75vw, 4rem); line-height: 1.08; }
html:is([lang="ro"], [lang="pt-PT"]) .service-depth__copy h2 { font-size: clamp(2rem, 5.8vw, 6rem); line-height: 1.04; }
html[lang="ro"] .service-method__step h3 { font-size: clamp(1.5rem, 2.4vw, 2.5rem); line-height: 1.08; }
html[lang="pt-PT"] .service-method__step h3 { font-size: clamp(1.5rem, 2vw, 2rem); line-height: 1.08; }
html[lang="sv"] .service-hero h1 { font-size: clamp(3.5rem, 6.5vw, 7rem); line-height: 1.04; }
html[lang="sv"] .hero__content { min-width: 0; }
html[lang="sv"] .service-conversion__side h3 { font-size: clamp(1.85rem, 3.25vw, 3.5rem); line-height: 1.08; }
html[lang="sv"] .service-row h3 { font-size: clamp(2rem, 3.5vw, 3.6rem); line-height: 1.08; }
html[lang="sv"] .service-depth__copy h2 { font-size: clamp(2rem, 5.4vw, 5.5rem); line-height: 1.04; }
html[lang="sv"] .service-method__step h3 { font-size: clamp(1.5rem, 2vw, 2rem); line-height: 1.08; }
html[lang="da"] .service-hero h1 { font-size: clamp(3.5rem, 6.5vw, 7rem); line-height: 1.04; }
html[lang="da"] .hero__content { min-width: 0; }
html[lang="da"] .service-conversion__side h3 { font-size: clamp(1.85rem, 3.25vw, 3.5rem); line-height: 1.08; }
html[lang="da"] .service-row h3 { font-size: clamp(2rem, 3.5vw, 3.6rem); line-height: 1.08; }
html[lang="da"] .service-depth__copy h2 { font-size: clamp(2rem, 5.4vw, 5.5rem); line-height: 1.04; }
html[lang="da"] .service-method__step h3 { font-size: clamp(1.5rem, 2vw, 2rem); line-height: 1.08; }
html[lang="nb"] .service-hero h1 { font-size: clamp(3.5rem, 6.5vw, 7rem); line-height: 1.04; }
html[lang="nb"] .hero__content { min-width: 0; }
html[lang="nb"] .service-conversion__side h3 { font-size: clamp(1.85rem, 3.25vw, 3.5rem); line-height: 1.08; }
html[lang="nb"] .service-row h3 { font-size: clamp(2rem, 3.5vw, 3.6rem); line-height: 1.08; }
html[lang="nb"] .service-depth__copy h2 { font-size: clamp(2rem, 5.4vw, 5.5rem); line-height: 1.04; }
html[lang="nb"] .service-method__step h3 { font-size: clamp(1.5rem, 2vw, 2rem); line-height: 1.08; }
@media (min-width: 981px) and (max-width: 1240px) { html[dir="rtl"] .product-device--phone { left: 0; } }
@media (max-width: 620px) {
    html[lang="nb"] .service-hero h1 { font-size: clamp(2.3rem, 11vw, 4.5rem); line-height: 1.04; }
    html[lang="da"] .service-hero h1 { font-size: clamp(2.3rem, 11vw, 4.5rem); line-height: 1.04; }
    html[lang="sv"] .service-hero h1 { font-size: clamp(2.3rem, 11vw, 4.5rem); line-height: 1.04; }
    html[lang="ro"] .service-hero h1 { font-size: clamp(2.3rem, 11vw, 4.5rem); line-height: 1.04; }
    html[lang="pl"] .service-hero h1 { font-size: clamp(2.3rem, 11vw, 4.5rem); line-height: 1.04; }
    html:is([lang="pl"], [lang="pt-PT"], [lang="sv"], [lang="da"], [lang="nb"]) .service-landing h2 { font-size: clamp(2rem, 9.5vw, 4.6rem); line-height: 1.08; }
    html[lang="pl"] .service-conversion__side h3 { font-size: clamp(1.85rem, 8.5vw, 3.4rem); line-height: 1.08; }
    html[dir="rtl"] .hero-product-scene { padding-left: 10px; }
    html[dir="rtl"] .product-device--phone { left: -2px; }
}
@media (max-width: 1100px) { .language-picker summary > span { display: none; } .language-picker summary { min-width: 44px; } }
@media (max-width: 600px) {
    .header-row { gap: 12px; }
    .header-row > .nav-contact { display: none; }
    .header-row > .menu-toggle { order: 4; flex-shrink: 0; }
    .header-row > .language-picker { order: 3; }
    .affiliates-header__inner { gap: 10px; }
    .affiliates-header__inner .affiliates-logo { min-width: 0; }
    .header__container { gap: 12px; }
    .header__container .header__logo { margin-inline-end: auto; max-width: calc(100% - 112px); }
    .header__container .header__burger { order: 4; flex: 0 0 40px; }
    .header__container .language-picker { order: 3; }
    .language-picker { margin-inline-start: auto; }
    .language-picker__panel { position: fixed; inset-inline: 16px; inset-block-start: 82px; width: auto; }
    .language-picker-anchor { inset-inline-end: 16px; inset-block-start: 16px; }
    .language-suggestion { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 0 10px; padding-inline-start: 12px; font-size: 13px; }
    .language-suggestion > span { grid-column: 1; grid-row: 1; }
    .language-suggestion > a { grid-column: 1; grid-row: 2; white-space: normal; }
    .language-suggestion > button { grid-column: 2; grid-row: 1 / span 2; }
    html:not([lang="it"]) .praesidium-hero__title span { display: inline; }
    html:not([lang="it"]) .praesidium-hero__title span::after { content: ' '; }
    html[lang="zh-Hans"] .praesidium-hero__title span { display: block; }
    html[lang="zh-Hans"] .praesidium-hero__title span::after { content: ''; }
}
@media (max-width: 480px) { html[lang="sv"] .hero__title { font-size: clamp(2.3rem, 11vw, 2.5rem); } }
@media (max-width: 400px) {
    .praesidium-header .header__logo { gap: 10px; }
    .praesidium-header .header__logo svg { flex: 0 0 22px; width: 22px; }
    .praesidium-header .header__logo-text { font-size: clamp(14px, 4vw, 16px); letter-spacing: .12em; }
}
@media (prefers-reduced-motion: no-preference) { .language-picker[open] .language-picker__panel { animation: language-enter 160ms ease-out; } @keyframes language-enter { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } } }
