/* Language controls and logical-direction adaptations; no remote font dependency. */
.language-ribbon { background: #eaf0fc; color: #172033; border-bottom: 1px solid #b7c9ed; }
.language-ribbon-inner { display: flex; align-items: center; gap: 28px; padding-block: 12px; }
.language-ribbon-label { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.language-ribbon-label > .icon { color: #123ea6; width: 26px; height: 26px; }
.language-ribbon-label strong { display: block; font-size: 14px; line-height: 1.4; }
.language-ribbon-label small { display: block; font-size: 11px; line-height: 1.4; margin-top: 2px; }
.language-links { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; flex: 1; min-width: 0; }
.language-links a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 10px; border: 1px solid #a9badd; border-radius: 4px; background: #fff; color: #172033; font-size: 13px; font-weight: 600; text-align: center; text-decoration: none; overflow-wrap: anywhere; }
.language-links a:hover { border-color: #123ea6; background: #f7f9ff; }
.language-links a[aria-current="true"] { background: #1f5bd8; color: #fff; border-color: #1f5bd8; }
.language-links a:focus-visible { outline: 3px solid #006b70; outline-offset: 3px; }
.local-bar .locale-bar-inner { min-height: 30px !important; }
@media (max-width: 1100px) {
  .language-ribbon-inner { gap: 16px; }
  .language-links a { padding-inline: 7px; font-size: 12px; }
}
@media (max-width: 800px) {
  .language-ribbon-inner { display: block; padding-block: 10px 12px; }
  .language-ribbon-label { margin-bottom: 9px; }
  .language-ribbon-label span { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
  .language-ribbon-label small { margin: 0; }
  .language-ribbon-label > .icon { width: 21px; height: 21px; }
  .language-links { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 390px) {
  .language-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media print { .language-ribbon { display: none; } }
.local-bar .locale-bar-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 50px; padding-block: 3px; }
.preview-state { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 18px; min-width: 0; }
.locale-control { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.locale-control label { font-size: 11px; margin: 0; }
.locale-control select { inline-size: 150px; max-inline-size: 40vw; min-block-size: 44px; padding-block: 8px; padding-inline: 10px; border: 1px solid #bdc9da; border-radius: 4px; background: #fff; color: #172033; font-size: 13px; line-height: 1.3; }
.locale-control select:focus-visible { outline: 3px solid #1f5bd8; outline-offset: 2px; }
.translation-note { margin-top: 12px; max-width: 950px; }
html:not([lang="de"]) :is(h1,h2,h3,.button,.text-link,.price,.industry-card,.finder-choice) { overflow-wrap: anywhere; }
html:not([lang="de"]) .button { height: auto; white-space: normal; text-align: center; }
html:not([lang="de"]) .hero-consulting h1 { font-size: 60px; line-height: 1.13; max-inline-size: 780px; }
html:not([lang="de"]) .hero-consulting .hero-promise { font-size: 23px; }
html:not([lang="de"]) .site-header nav a { font-size: 12px; }
html:not([lang="de"]) .site-header nav { flex-wrap: wrap; row-gap: 2px; min-inline-size: 0; }
html:not([lang="de"]) .header-cta { font-size: 12px; max-inline-size: 185px; }
html:not([lang="de"]) .preview-table { overflow-wrap: anywhere; }
html:not([lang="de"]) .preview-table-head { line-height: 1.5; }
html:not([lang="de"]) .input-unit { display: grid; grid-template-columns: minmax(0,1fr) max-content; gap: 8px; }
html:not([lang="de"]) .input-unit input { padding-inline: 12px; }
html:not([lang="de"]) .input-unit > span { position: static; max-inline-size: 110px; overflow-wrap: anywhere; line-height: 1.4; }
html:not([lang="de"]) :is(.sample-paper li,.preview-metrics,.preview-table,.finder-summary) > * { min-inline-size: 0; overflow-wrap: anywhere; }
html:not([lang="de"]) .status-chip { white-space: normal; line-height: 1.4; }
[dir="rtl"] { font-family: Inter, Tahoma, Arial, sans-serif; }
[dir="rtl"] :is(input,select,textarea,button) { font-family: inherit; }
[dir="rtl"] :is(h1,h2,h3,h4,p,li,legend,label,summary) { letter-spacing: 0; }
[dir="rtl"] :is(p,li,label,summary,legend) { line-height: 1.8; }
[dir="rtl"] .hero-consulting:before { background: linear-gradient(270deg, rgba(247,249,250,.98), rgba(247,249,250,.91) 27%, rgba(247,249,250,.72) 43%, rgba(247,249,250,0) 67%); }
[dir="rtl"] .page-intro-content { text-align: right; }
[dir="rtl"] .hero-consulting .hero-image { transform: scaleX(-1); }
[dir="rtl"] :is(.i-arrow-right,.i-arrow-left,.i-arrow-up-right,.i-chevron-right,.i-chevron-left) { transform: scaleX(-1); }
[dir="rtl"] :is(input[type="email"],input[type="tel"],input[type="number"],[data-numeric],.economy-formula,.result-formula,.economy-number,.price,.metric-value,#rate-output,#revenue-output,#cost-output,#balance-output,#person-output) { direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] :is(input[type="email"],input[type="tel"],input[type="number"],[data-numeric]) { text-align: right; }
[dir="rtl"] :is(th,td,.sample-paper li small) { text-align: start; }
[dir="rtl"] :is(.curriculum > div > span:last-child,.sample-head > div:last-child,.funding-output dd) { text-align: end; }
[dir="rtl"] textarea { unicode-bidi: plaintext; }
[dir="rtl"] .field select { padding-inline: 12px 27px; }
[dir="rtl"] .skip-link { left: auto; inset-inline-start: 16px; }
[dir="rtl"] .notice { border-left: 0; border-inline-start: 3px solid var(--brand); }
[dir="rtl"] .contents-nav { border-left: 0; padding-left: 0; border-inline-start: 1px solid var(--line); padding-inline-start: 23px; }
[dir="rtl"] .inquiry-aside { border-left: 0; padding-left: 0; border-inline-start: 1px solid var(--line); padding-inline-start: 32px; }
[dir="rtl"] .inquiry-aside ol { padding-left: 0; padding-inline-start: 18px; }
[dir="rtl"] .site-header nav { margin-left: 0; margin-inline-start: auto; }
[dir="rtl"] .hero-consulting h1 span { margin-left: 0; }
[dir="rtl"] :is(.finder-aside,.glossary-aside) { padding-left: 0; padding-inline-start: 25px; border-left: 0; border-inline-start: 1px solid var(--line); }
[dir="rtl"] :is(.finder-recommendation,.industry-quickstart) { padding-left: 0; padding-inline-start: 22px; border-left: 0; border-inline-start: 3px solid var(--brand); }
[dir="rtl"] .finder-partner-recommendation { border-inline-start-color: var(--teal); }
[dir="rtl"] .finder-context-note { border-left: 0; border-inline-start: 3px solid var(--teal); }
[dir="rtl"] :is(.finder-boundary,.inquiry-prefill) { border-left: 0; border-inline-start: 3px solid var(--teal); }
[dir="rtl"] .knowledge-start { padding-left: 0; padding-inline-start: 25px; border-left: 0; border-inline-start: 3px solid var(--teal); }
[dir="rtl"] .cta-agenda li { padding-left: 0; padding-inline-start: 12px; border-left: 0; border-inline-start: 2px solid #b3c3ee; }
[dir="rtl"] .inquiry-fieldset > legend span { margin-right: 0; margin-inline-end: 13px; }
[dir="rtl"] .preview-metrics > div { border-left: 0; padding-left: 0; padding-inline-start: 14px; border-inline-start: 2px solid var(--line); }
@media (max-width: 1200px) {
  html:not([lang="de"]) .hero-consulting h1 { font-size: 52px; max-inline-size: 670px; }
  html:not([lang="de"]) .header-inner { gap: 15px; }
  html:not([lang="de"]) .site-header nav { gap: 13px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  html:not([lang="de"]) .partner-download-grid .button { min-height: 76px; }
}
@media (max-width: 1240px) {
  [dir="rtl"] .menu-toggle { margin-left: 0; margin-inline-start: auto; }
  [dir="rtl"] .header-cta { margin-left: 0; margin-inline-start: auto; }
}
@media (max-width: 760px) {
  .local-bar .locale-bar-inner { gap: 12px; }
  .preview-state { display: block; font-size: 10px; }
  .preview-state > span { display: none; }
  .preview-state a { display: flex; min-block-size: 44px; align-items: center; max-inline-size: 245px; line-height: 1.35; }
  .locale-control label { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
  .locale-control select { inline-size: 123px; font-size: 12px; }
  html:not([lang="de"]) .hero-consulting h1 { font-size: 40px; max-inline-size: 590px; }
  html:not([lang="de"]) .hero-consulting .hero-promise { font-size: 22px; }
  [dir="rtl"] .hero-consulting:before { background: linear-gradient(180deg, #f5f7f9, #f5f7f9 46%, #f5f7f9e6 59%, #f5f7f930 75%, transparent 88%); }
  [dir="rtl"] :is(.finder-aside,.glossary-aside) { border-inline-start: 0; padding-inline-start: 0; }
  [dir="rtl"] :is(.contents-nav,.inquiry-aside) { border-inline-start: 0; padding-inline-start: 0; }
}
@media (max-width: 420px) {
  html:not([lang="de"]) .hero-consulting h1 { font-size: 32px; }
  html:not([lang="de"]) .hero-consulting .hero-promise { font-size: 20px; }
  .locale-control select { inline-size: 112px; }
  .preview-state a { max-inline-size: 180px; font-size: 9px; }
}
@media (max-width: 350px) {
  html:not([lang="de"]) .hero-consulting h1 { font-size: 28px; }
  html:not([lang="de"]) .hero-consulting .hero-promise { font-size: 18px; }
}
@media (max-height: 720px) and (min-width: 761px) {
  html:not([lang="de"]) .hero-consulting h1 { font-size: 47px; }
}
@media (prefers-reduced-motion: reduce) {
  .locale-control * { scroll-behavior: auto; }
}
