/* ---------- language switcher ----------
   Lives inside the permanent dark nav, so it borrows the nav's own tokens
   (--fg-*, --surface-hover, --glass-*, --nav-menu-fill) instead of fixed
   colours: the trigger behaves like a nav link, the panel like the mobile
   menu, and the current language wears the same neon matte capsule as the
   active page link. */
.language-switcher{position:relative;flex:0 0 auto;color:var(--fg-1);font:inherit;margin-left:8px}
.language-switcher summary{display:flex;align-items:center;justify-content:center;gap:7px;min-width:52px;min-height:44px;padding:6px 10px;cursor:pointer;list-style:none;font-family:var(--font-label);font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--fg-2);border-radius:999px;transition:background var(--motion-fast) ease,color var(--motion-fast) ease}
.language-switcher summary::-webkit-details-marker{display:none}
/* flags share one 10:7 silhouette; a hairline keeps white and red edges
   from dissolving into the dark nav */
.language-flag{position:relative;display:block;flex:none;width:20px;height:14px;border-radius:3px;overflow:hidden}
.language-flag svg{display:block;width:100%;height:100%}
.language-flag::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.language-switcher summary::after{content:"";width:5px;height:5px;margin:-3px 0 0 1px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;opacity:.6;transform:rotate(45deg);transition:transform var(--motion-base) var(--ease-standard),margin var(--motion-base) var(--ease-standard)}
.language-switcher[open] summary::after{margin-top:3px;transform:rotate(-135deg)}
.language-switcher summary:hover,.language-switcher[open] summary{color:var(--fg-1);background:var(--surface-hover)}
.language-switcher summary:focus-visible{outline:2px solid var(--violet-hot);outline-offset:2px}
.language-options{position:absolute;right:-4px;top:calc(100% + 14px);min-width:200px;padding:6px;display:grid;gap:2px;color:var(--fg-1);background:linear-gradient(var(--nav-menu-fill),var(--nav-menu-fill)),#121115;border:1px solid var(--glass-brd);border-radius:20px;box-shadow:inset 0 1px 0 var(--glass-inset-hi),0 4px 12px rgba(0,0,0,.24),0 22px 48px -14px rgba(0,0,0,.6);transform-origin:top right;z-index:1100}
.language-switcher[open] .language-options{animation:language-pop 220ms var(--ease-standard)}
@keyframes language-pop{from{opacity:0;transform:translateY(-6px) scale(.97)}}
.language-options a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border-radius:14px;color:var(--fg-2);text-decoration:none;white-space:nowrap;font-size:14.5px;font-weight:600;transition:background var(--motion-fast) ease,color var(--motion-fast) ease}
/* the locale code as a quiet right-hand column keeps the list scannable
   for visitors who cannot read the other scripts */
.language-options a::after{content:attr(data-language);margin-left:auto;padding-left:20px;font-family:var(--font-label);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
.language-options a:hover{color:var(--fg-1);background:var(--surface-hover)}
.language-options a[aria-current]{color:var(--neon-green);font-weight:700;background:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.language-options a[aria-current]::after{color:inherit;opacity:.75}
.language-options a:focus-visible{outline:2px solid var(--violet-hot);outline-offset:-2px}
@media(prefers-reduced-motion:reduce){.language-switcher[open] .language-options{animation:none}.language-switcher summary::after{transition:none}}
@media(max-width:600px){.language-switcher{margin-left:2px}.language-switcher summary{min-width:45px;gap:4px;padding-inline:6px;font-size:12px}.language-switcher summary::after{display:none}.nav{gap:6px}.nav>.btn{padding-inline:12px;font-size:12px}}

/* Greek: Raleway carries no Greek glyphs, so body copy fell back to the
   system sans mid-sentence while Latin words ("hype", "online") stayed in
   Raleway. Manrope covers Greek and Latin in one geometric voice that sits
   beside Garet; its files load only where Greek text is set in it. */
html:lang(el){--font-body:'Manrope','Raleway',sans-serif}
.language-options a:lang(el){font-family:'Manrope','Raleway',sans-serif}

/* ---------- hero without the introduction film ----------
   Markets without the film open on the headline alone. Give it the stage
   the film had: more air under the nav, a larger set, and a short, even
   step down to the key facts. The ambient glow dissolves well before the
   hero's clipped edge so no horizontal seam shows above the facts. */
.hero-cinema:not(:has(.hero-media)){min-height:0;padding-top:calc(var(--nav-top) + clamp(112px,15vh,168px));padding-bottom:clamp(64px,8vh,96px)}
.hero-cinema:not(:has(.hero-media)) .hero-title{font-size:clamp(40px,4.4vw,64px)}
.hero-cinema:not(:has(.hero-media)) .hero-fx{-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 42%,transparent 94%);mask-image:linear-gradient(180deg,transparent,#000 14%,#000 42%,transparent 94%)}
@media(max-width:720px),(max-width:1100px) and (orientation:portrait){
  /* the phone keeps the standard hero size: the headline holds two lines */
  .hero-cinema:not(:has(.hero-media)){padding-top:calc(var(--mobile-hero-clearance) + 28px);padding-bottom:70px}
  .hero-cinema:not(:has(.hero-media)) .hero-title{font-size:clamp(24px,6.4vw,31px)}
}

.language-privacy-note{grid-column:2;padding:24px;border:1px solid var(--line-strong);border-radius:16px;line-height:1.7}
.language-privacy-note h2{font-size:20px;margin-bottom:12px}
@media(max-width:900px){.language-privacy-note{grid-column:1/-1}}
/* Preserve the existing icon-only contact button on the narrowest phones. */
@media(max-width:339px){.nav>.btn-primary{padding:0;font-size:0}}

/* ---------- DB-IP credit ----------
   Required attribution, so it must stay legible: the footer's tertiary ink
   (AA on both themes) rather than a further faded copy of it. */
.geoip-attribution{color:var(--fg-3);font-size:12px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:color var(--motion-fast) ease,text-decoration-color var(--motion-fast) ease}
.geoip-attribution:hover,.geoip-attribution:focus-visible{color:var(--fg-2);text-decoration-color:currentColor}
/* the error page has no footer: the credit closes the dark error stage
   instead of sitting on a stray light strip below it */
.geoip-attribution-only{padding:20px 24px calc(24px + env(safe-area-inset-bottom,0px));text-align:center}
