.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hero-actions .button { min-width:190px; }
.hero h1 { text-wrap:balance; }
.device-stage figcaption { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 20px; }
.project-open { width:auto; min-width:78px; height:36px; padding:0 14px; font-size:11px; font-weight:550; border-radius:30px; }
.project:hover .project-open, .project:focus-visible .project-open { transform:none; }
.illustration-note { margin-top:17px; font-size:10px; color:var(--muted); }
.footer-bottom > div { flex-wrap:wrap; align-items:center; gap:12px 24px; }
.footer-languages { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:20px; font-size:11px; }
.footer-languages a { min-height:36px; display:inline-flex; align-items:center; }
.footer-languages a[aria-current=page] { color:var(--green); text-decoration:underline; text-underline-offset:5px; }
.nav-contact { display:none; }
.locale-picker { position:relative; }
.locale-picker > summary { display:flex; align-items:center; justify-content:center; gap:8px; min-height:42px; border:1px solid #dce7df; border-radius:30px; padding:8px 13px; font-size:12px; font-weight:600; list-style:none; white-space:nowrap; }
.locale-picker > summary::-webkit-details-marker { display:none; }
.locale-picker[open] > summary { background:#e8f5eb; border-color:#b2d6bd; }
.locale-flag { width:21px; height:21px; border-radius:50%; overflow:hidden; box-shadow:0 0 0 1px #163a2517; flex-shrink:0; }
.locale-chevron { width:14px; height:14px; transition:transform 200ms ease; }
.locale-picker[open] .locale-chevron { transform:rotate(180deg); }
.locale-options { position:absolute; top:calc(100% + 10px); right:0; min-width:226px; padding:8px; border-radius:20px; background:#fff; border:1px solid #e0e6df; box-shadow:0 18px 50px #1335231f; }
.locale-options a { display:flex; align-items:center; gap:12px; padding:12px; border-radius:13px; min-height:46px; font-size:14px; }
.locale-options a:hover, .locale-options a:focus-visible { background:#f0f7f1; }
.locale-options a[aria-current=page] { background:#f3f0e9; color:var(--deep); font-weight:550; }
.locale-status { font-size:11px; margin-left:auto; color:var(--green); }
html[lang^=zh] h1, html[lang=ko] h1, html[lang^=zh] h2, html[lang=ko] h2 { letter-spacing:-.025em; overflow-wrap:anywhere; }
html[lang=ko] h1, html[lang=ko] h2 { word-break:keep-all; }
html[lang^=zh] .eyebrow, html[lang=ko] .eyebrow { letter-spacing:.08em; }
@media(max-width:1000px) { .nav { gap:18px; } .nav-links { gap:18px; } .nav-links a { font-size:12px; } }
@media(max-width:760px) {
  .nav-end > .button { display:none; }
  .nav-contact { display:block; }
  .nav-end { gap:10px; }
  .locale-picker > summary { min-height:40px; padding:8px 11px; }
  .locale-options { right:-38px; min-width:224px; }
  .project-open { min-width:62px; height:28px; font-size:9px; padding:0 9px; bottom:9px; right:9px; }
  .illustration-note { font-size:9px; }
  html[lang=vi] .hero h1, html[lang=pt-BR] .hero h1 { font-size:clamp(33px,7.6vw,59px); }
}
@media(max-width:380px) {
  .nav { gap:7px; } .nav-end { gap:6px; }
  .locale-picker > summary { gap:6px; padding-inline:10px; }
  .locale-options { right:-33px; }
  .hero-actions > .button { min-width:190px; }
  .project { grid-template-columns:38% 1fr; gap:14px; }
  .project-open { min-width:0; font-size:8px; padding-inline:7px; }
  html[lang=vi] .phone .restaurant-copy h2 { font-size:16px; }
}
@media print { .locale-picker { display:none; } }
