/* Native disclosure, explicit locale URLs, no flags; optional country lookup preserves manual choices. */
.language-switcher { position:relative; margin-left:4px; color:inherit; flex:none; font:500 13px/1.4 var(--body); }
.language-switcher summary { cursor:pointer; display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px; list-style:none; border:0; background:transparent; box-shadow:none; border-radius:99px; }
.language-switcher summary::-webkit-details-marker { display:none; }
.language-switcher summary::after { content:''; width:5px; height:5px; border:solid currentColor; border-width:0 1px 1px 0; transform:rotate(45deg); margin:-3px 0 0 8px; }
.language-switcher[open] summary::after { transform:rotate(225deg); margin-top:3px; }
.language-switcher__links { position:absolute; top:calc(100% + 10px); right:0; display:grid; min-width:88px; padding:10px; background:var(--ink); color:var(--frost); border:1px solid color-mix(in srgb,var(--mist) 25%,transparent); border-radius:14px; box-shadow:0 12px 36px #0003; z-index:105; }
#mast-nav .language-switcher a { display:flex; justify-content:center; align-items:center; min-height:44px; padding:10px 18px; border-radius:99px; font:500 13px/1.4 var(--body); color:var(--frost); }
#mast-nav .language-switcher a[aria-current] { color:var(--coral); background:color-mix(in srgb,var(--coral) 12%,transparent); text-decoration:none; }
#mast-nav .language-switcher a:is(:hover,:focus-visible) { background:color-mix(in srgb,var(--mist) 15%,transparent); }
:lang(el) { --display:var(--body); --display-weight:700; }
html[lang="el"] :is(h1,h2,h3,.section-title,.contact__title,.dialog__title,.service-tile__name,.diptych__name,.film-title) { line-height:1.16; letter-spacing:-.015em; }
html[lang="de"] .hero__title,html[lang="el"] .hero__title { max-width:16ch; }
html[lang="el"] .studio-hero h1 { max-width:17ch; }
html:not([lang="en"]) .process-panels { min-height:240px; }
html:not([lang="en"]) .process-tabs button { flex-shrink:0; }
html:not([lang="en"]) .film-title { max-width:25ch; margin-inline:auto; }
html:not([lang="en"]) .shiny-button { max-width:100%; }
html:not([lang="en"]) #inquiryDialog .dialog__title { font-size:clamp(28px,2.5vw,34px); }
@media(min-width:781px) and (max-width:1100px) {
 .studio-mast .mast-inner { padding-inline:32px; gap:20px; }
 .studio-mast .studio-mark { width:190px; }
 #mast-nav { gap:20px; }
 #mast-nav .nav-contact { padding-inline:16px; }
}
@media(max-width:780px) {
 .language-switcher { margin-left:0; justify-self:start; width:max-content; max-width:100%; }
 .language-switcher summary { justify-content:flex-start; width:max-content; padding-inline:0; }
 .language-switcher__links { position:static; display:flex; flex-wrap:wrap; gap:4px; margin-block:4px 10px; min-width:0; max-width:100%; box-shadow:none; }
 html:not([lang="en"]) .process-panels { min-height:200px; }
 html:not([lang="en"]) .process-pictures { height:36svh; min-height:200px; }
 html:not([lang="en"]) .process-copy .section-title { font-size:clamp(30px,8vw,44px); }
 html[lang="el"] .service-tile__name { font-size:clamp(17px,4.1vw,24px); }
 html:not([lang="en"]) .hero__title { overflow-wrap:normal; hyphens:auto; }
 .error-page .portfolio-intro .shiny-button { margin-top:32px; }
}
@media(prefers-reduced-motion:reduce),(max-height:650px) { html:not([lang="en"]) .process-panels { min-height:0; } }
