.language-switcher{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;border-top:1px solid var(--line);padding-top:20px;font-family:var(--sans);font-size:.9rem;line-height:1.6}
.language-switcher a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;border-bottom:1px solid transparent}
.language-switcher a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}
.language-switcher a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.language-notice{grid-column:1/-1;max-width:55rem;font-size:.85rem;line-height:1.6;color:inherit;opacity:.85;margin:0}
.request-form .language-notice{border-inline-start:1px solid var(--accent);padding-inline-start:16px}
.translation-note,.plan-language-note{font:400 .8rem/1.6 var(--sans);letter-spacing:normal;text-transform:none;opacity:.8}
.plan-language-note{margin:0;padding:8px 20px;text-align:center}
html:not([lang=de]) .plan-lightbox[open]{grid-template-rows:auto minmax(0,1fr) auto auto}
html:not([lang=de]) .plan-lightbox-toolbar{flex-wrap:wrap}
.menu{overflow-y:auto}
.menu-panel>.language-switcher{gap:8px 24px}
.brand,.footer-brand{direction:ltr;unicode-bidi:isolate;font-family:'Instrument Serif',Georgia,serif}
html:not([lang=de]) .hero h1{font-size:clamp(3.4rem,7.8vw,7.6rem);line-height:.99;overflow-wrap:anywhere}
html:not([lang=de]) .chapter>*{min-width:0}
html:not([lang=de]) .chapter h2,html:not([lang=de]) .split-text h2{overflow-wrap:anywhere;hyphens:auto;line-height:1.03}
html[lang=ja]{--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;--mono:var(--sans)}
html[lang=ja] body{line-height:1.9;line-break:strict;word-break:normal}
html[lang=ja] .hero h1{font-size:clamp(2.6rem,5.4vw,5.3rem);line-height:1.35;letter-spacing:.02em;overflow-wrap:normal}
html[lang=ja] .chapter h2,html[lang=ja] .split-text h2{font-size:clamp(2rem,3.3vw,3.6rem);line-height:1.45;letter-spacing:.02em;overflow-wrap:normal}
html[lang=ja] .menu-primary,html[lang=ja] .menu-note strong,html[lang=ja] .perspective-grid h3{line-height:1.45;font-size:clamp(1.4rem,2.5vw,2.3rem)}
html[lang=ja] .kicker,html[lang=ja] .text-link,html[lang=ja] .menu-secondary{letter-spacing:.07em;line-height:1.8}
html[lang=ar]{--serif:'Noto Naskh Arabic',serif;--sans:'Noto Sans Arabic',sans-serif;--mono:var(--sans)}
html[lang=ar] body{line-height:1.95}
html[lang=ar] .hero h1{font-size:clamp(3rem,6.5vw,6.5rem);line-height:1.4;letter-spacing:0;overflow-wrap:normal}
html[lang=ar] .chapter h2,html[lang=ar] .split-text h2{font-size:clamp(2.6rem,4.4vw,4.6rem);line-height:1.35;letter-spacing:0;overflow-wrap:normal}
html[lang=ar] .menu-primary,html[lang=ar] .menu-note strong,html[lang=ar] .perspective-grid h3{line-height:1.45;letter-spacing:0}
html[lang=ar] .kicker,html[lang=ar] .button,html[lang=ar] .header-cta,html[lang=ar] .menu-toggle,html[lang=ar] .text-link,html[lang=ar] .menu-secondary,html[lang=ar] .request-form label{letter-spacing:0;text-transform:none;line-height:1.6;font-size:.85rem}
html[dir=rtl] .hero-media:after{background:linear-gradient(270deg,rgba(10,9,8,.78),rgba(10,9,8,.12) 72%),linear-gradient(0deg,rgba(10,9,8,.62),transparent 58%)}
html[dir=rtl] .gallery-enlarge{right:auto;left:12px}
html[dir=rtl] .gallery-prev,html[dir=rtl] .gallery-next{direction:ltr}
html[dir=rtl] .plan-lightbox-stage,html[dir=rtl] .plan-lightbox-toolbar{direction:ltr}
html[dir=rtl] .gallery-counter,[data-plan-scale]{direction:ltr;unicode-bidi:isolate}
@media(max-width:760px){
  .language-switcher{gap:5px 18px}
  html:not([lang=de]) .header-cta{font-size:.53rem;letter-spacing:.04em;overflow-wrap:normal}
  html[lang=ja] .header-cta{font-size:.66rem}
  html[lang=ar] .header-cta{font-size:.74rem;letter-spacing:0}
  html:not([lang=de]) .hero-copy{padding-top:140px}
  html:not([lang=de]) .hero h1{font-size:clamp(3rem,14vw,5.5rem)}
  html[lang=ja] .hero h1{font-size:clamp(2rem,8.2vw,3.5rem)}
  html[lang=ar] .hero h1{font-size:clamp(2.8rem,11vw,4.6rem)}
  .plan-language-note{font-size:.7rem;line-height:1.5}
}

/* Visible language selection, independent of the main navigation. */
.header-language{position:relative;align-self:stretch;color:inherit}
.header-language summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;height:100%;padding:0 13px;border:1px solid rgba(250,247,241,.64);background:rgba(28,26,24,.16);backdrop-filter:blur(5px);cursor:pointer;list-style:none;font:500 .7rem/1 var(--mono);letter-spacing:.06em}
.header-language summary::-webkit-details-marker{display:none}
.header-language summary svg{width:18px;height:18px;flex:none}
.language-chevron{width:5px;height:5px;border-inline-end:1px solid;border-bottom:1px solid;transform:rotate(45deg);margin-top:-3px}
.header-language[open] .language-chevron{transform:rotate(225deg);margin-top:3px}
.header-language summary:hover,.header-language[open] summary{background:var(--paper);color:var(--ink)}
.header-language summary:focus-visible{outline:2px solid var(--paper);outline-offset:4px}
.header-language>.language-switcher{position:absolute;inset-block-start:calc(100% + 10px);inset-inline-end:0;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:170px;padding:8px 14px;background:var(--paper);color:var(--ink);border:1px solid rgba(28,26,24,.2);box-shadow:0 10px 30px #0003;letter-spacing:normal}
.header-language>.language-switcher a{padding:4px 8px;border:0;color:var(--ink);font-family:var(--sans);font-size:.95rem}
.header-language>.language-switcher a:hover{background:#0000000d}
.header-language>.language-switcher a[aria-current=page]{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.header-language>.language-switcher a:focus-visible{outline:2px solid var(--ink);outline-offset:0}
@media(max-width:760px){
 .header-language summary{min-height:40px;padding:0 9px;gap:6px}
}
@media(max-width:600px){
 .site-header{align-items:flex-start}
 .site-header .brand{padding-top:5px}
 .header-actions{display:grid;grid-template-columns:auto 44px;gap:7px}
 .header-actions .header-language{grid-column:1;grid-row:1}
 .header-actions .menu-toggle{grid-column:2;grid-row:1}
 .header-actions .header-cta{grid-column:1/-1;grid-row:2;width:100%;max-width:none;min-height:32px}
 .header-language>.language-switcher{inset-inline-end:-51px}
}
