.international-home { background:var(--orbit-surface); color:var(--orbit-copy); }
.international-controls { position:fixed; z-index:5; top:max(1rem,env(safe-area-inset-top)); right:max(1rem,env(safe-area-inset-right)); display:flex; align-items:center; gap:.75rem; }
.international-theme { min-height:44px; flex-shrink:0; }
.language-menu { position:relative; width:148px; font:600 15px/1.4 var(--sans); letter-spacing:0; }
.language-menu summary { display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-height:44px; padding:.65rem .85rem; box-sizing:border-box; border:1px solid var(--orbit-muted); border-radius:6px; background:var(--orbit-surface); color:var(--orbit-copy); cursor:pointer; list-style:none; }
.language-menu summary::-webkit-details-marker { display:none; }
.language-menu summary::after { content:""; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.language-menu[open] summary::after { transform:translateY(2px) rotate(225deg); }
.language-menu nav { position:absolute; top:calc(100% + .5rem); right:0; width:100%; padding:.3rem; box-sizing:border-box; border:1px solid var(--orbit-muted); border-radius:6px; background:var(--orbit-surface); box-shadow:0 8px 24px #0003; }
.language-menu a { display:flex; align-items:center; min-height:44px; padding:.45rem .55rem; box-sizing:border-box; color:var(--orbit-copy); text-decoration:none; border-radius:3px; }
.language-menu a:hover, .language-menu a:focus-visible { background:var(--orbit-copy); color:var(--orbit-surface); }
.language-menu summary:focus-visible { outline:2px solid var(--signal); outline-offset:3px; }
.language-menu-icon { display:none; }
.language-hero { min-height:100svh; display:grid; place-items:center; padding:3.5rem 1rem; }
.sun-accessible-title { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.solar-scene { position:relative; width:min(56rem,calc(100vw - 3rem),calc(100svh - 9rem)); min-width:0; aspect-ratio:1; isolation:isolate; }
.solar-photo { position:absolute; inset:22%; overflow:hidden; border-radius:50%; }
.solar-photo img { width:100%; height:100%; object-fit:cover; object-position:center 36%; filter:grayscale(1) contrast(1.06); }
.solar-year { position:absolute; inset:19%; pointer-events:none; }
.solar-languages { position:absolute; inset:0; pointer-events:none; }
.solar-languages a { pointer-events:auto; }
.solar-photo:focus-visible { outline:3px solid var(--signal); outline-offset:5px; }
.solar-languages svg { width:100%; height:100%; overflow:visible; }
.solar-rotation { transform-origin:320px 320px; animation:language-revolution 120s linear infinite; }
.solar-rotation-outer { animation-duration:160s; animation-direction:reverse; }
.solar-languages a { fill:var(--orbit-copy); text-decoration:none; }
.solar-languages text { font-family:var(--sans); font-size:24px; font-weight:600; letter-spacing:0; }
.solar-languages .is-pending { fill:var(--orbit-muted); cursor:default; }
.solar-languages .is-preferred text { font-size:33px; font-weight:800; }
.solar-languages .is-preferred { fill:var(--signal); }
.solar-languages a:hover, .solar-languages a:focus { fill:var(--year-done); outline:none; }
.solar-languages a:focus text { text-decoration:underline; text-decoration-thickness:2px; }
.solar-scene:hover .solar-rotation, .solar-scene:focus-within .solar-rotation { animation-play-state:paused; }
.solar-date { position:absolute; left:50%; bottom:20%; transform:translateX(-50%); padding:.4rem .55rem; border:2px solid var(--signal); border-radius:50%; aspect-ratio:1; display:grid; place-items:center; background:var(--orbit-surface); color:var(--signal); font:700 .7rem/1 var(--sans); }
@keyframes language-revolution { to { transform:rotate(360deg); } }
.language-menu { width:44px; }
  .language-menu summary { width:44px; height:44px; justify-content:center; padding:10px; border:0; background:transparent; }
  .language-menu summary [data-language-label], .language-menu summary::after { display:none; }
  .language-menu-icon { display:block; flex:0 0 24px; width:24px; height:24px; background:currentColor; -webkit-mask:url('/menu.svg') center / contain no-repeat; mask:url('/menu.svg') center / contain no-repeat; }
  .language-menu nav { width:180px; max-width:calc(100vw - 2rem); }
@media(max-width:600px) {
  .solar-date { font-size:.55rem; border-width:1px; padding:.25rem; }
}
@media(prefers-reduced-motion:reduce) { .solar-rotation { animation:none; } }
