:root { --nav-height:72px; }
#navbar { height:var(--nav-height); }
#navbar > .container { width:100%; max-width:1280px; padding:0 40px; }
.nav-inner { gap:40px; }
.nav-logo { flex-shrink:0; }
.nav-menu { gap:30px; }
.nav-menu a { display:block; padding:10px 0; font-size:14px; white-space:nowrap; }
.nav-right { gap:22px; flex-shrink:0; }
#hero { padding-top:var(--nav-height); }
#hero .hero-btns { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-rows:1fr; gap:12px; width:100%; }
#hero .hero-btns > a { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-width:0; min-height:54px; padding:14px 18px; font-size:14px; font-weight:700; line-height:1.5; letter-spacing:.02em; text-align:center; overflow-wrap:anywhere; }
#hero .hero-btns > .btn-pink { border:1.5px solid transparent; }
#hero .hero-btns > a > i { flex:0 0 18px; width:18px; font-size:15px; text-align:center; }
.language-switch { display:flex; flex-shrink:0; border:1px solid #555; border-radius:5px; overflow:hidden; }
.language-switch a { color:#d5d5d5; padding:7px 9px; font:600 13px/1.3 Arial,sans-serif; min-height:32px; display:flex; align-items:center; }
.language-switch a[aria-current="page"] { color:#fff; background:var(--pink); }
.language-switch a:hover { color:#fff; background:#454545; }
button.hamburger { border:0; background:transparent; min-width:32px; min-height:36px; justify-content:center; }
a:focus-visible, button:focus-visible { outline:3px solid var(--pink); outline-offset:4px; }
#language-dialog { position:fixed; inset:0; margin:auto; width:min(480px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid #333; border-radius:16px; background:#141414; color:#fff; padding:38px 32px 28px; box-shadow:0 20px 80px #0008; }
#language-dialog::backdrop { background:#0009; }
#language-dialog:not([open]) { display:none; }
.language-dialog-close { position:absolute; top:9px; right:12px; background:none; border:0; color:#ccc; font-size:28px; cursor:pointer; width:36px; height:36px; }
.language-dialog-eyebrow { color:#ff64b4; font-size:12px; letter-spacing:.12em; }
#language-dialog h2 { font-size:28px; line-height:1.2; margin:14px 0; }
#language-dialog p { font-size:16px; color:#c4c4c4; line-height:1.6; }
.language-dialog-actions { display:flex; flex-direction:column; gap:12px; margin-top:26px; }
.language-dialog-actions a,.language-dialog-actions button { display:block; padding:13px 16px; border:1px solid #555; border-radius:6px; background:transparent; color:#eee; text-align:center; font:600 15px/1.4 Arial,sans-serif; cursor:pointer; }
.language-dialog-actions .language-dialog-primary { background:var(--pink); border-color:var(--pink); color:white; }
html[lang="en"] .hero-text-inner { padding-right:34px; }
html[lang="en"] .hero-sub-ko { font-size:clamp(20px,2vw,27px); line-height:1.35; }
html[lang="en"] .hero-desc { font-size:15px; }
html[lang="en"] .biz-name { line-height:1.25; }
html[lang="en"] .bf-text { font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.barrier-badge { max-width:100%; white-space:normal; }
.nav-inner,.nav-right { min-width:0; }
@media (max-width:1120px) {
  .nav-menu { display:none; flex-direction:column; }
  .nav-menu.open { display:flex; position:absolute; top:var(--nav-height); left:0; right:0; padding:20px 40px; gap:6px; align-items:stretch; background:var(--black); border-bottom:1px solid #333; }
  .nav-menu.open a { display:block; padding:10px 0; }
  .hamburger { display:flex; }
}
@media (max-width:640px) {
  :root { --nav-height:64px; }
  #navbar > .container { padding:0 20px; }
  .nav-inner { gap:16px; }
  .nav-right { gap:16px; }
  .nav-menu.open { padding:16px 20px; }
  .biz-tile > div[style*="width:calc(100% + 80px)"] { width:calc(100% + 40px) !important; margin-left:-20px !important; margin-right:-20px !important; }
  .biz-tile > div[style*="grid-template-columns:repeat(4,1fr)"] { grid-template-columns:repeat(2,1fr) !important; }
  .biz-tile > div[style*="grid-template-columns"] img { height:180px !important; }
  .biz-tile div[style*="min-width:"] { min-width:0 !important; flex-basis:100% !important; }
  .barrier-features { gap:16px; }
  .hero-text-inner,html[lang="en"] .hero-text-inner { padding:48px 24px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }

.footer-top { grid-template-columns:minmax(0,1.4fr) minmax(0,1.25fr) minmax(0,.8fr) minmax(0,1fr); gap:32px; }
@media (max-width:1024px) { .footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .footer-top { grid-template-columns:minmax(0,1fr); } }
