/* Korean typography: Pretendard (self-hosted dynamic subset, see /fonts/pretendard/pretendard-subset.css) */

html[data-lang="ko"] body,
html[data-lang="ko"] .pw-text-style,
html[data-lang="ko"] h1, html[data-lang="ko"] h2, html[data-lang="ko"] h3, html[data-lang="ko"] p {
  font-family: 'Pretendard', 'Inter', system-ui, -apple-system, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif !important;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
/* Korean has no italic/serif equivalent of Instrument Serif; keep the accent span readable */
html[data-lang="ko"] #itwt9d,
html[data-lang="ko"] #iaya0c,
html[data-lang="ko"] #itbgaj,
html[data-lang="ko"] #ifmw9a7,
html[data-lang="ko"] #ixixp8,
html[data-lang="ko"] #if3ee6-2 {
  font-family: 'Pretendard', sans-serif !important;
  font-style: normal !important;
  font-weight: 500;
}
/* Hangul renders visually larger than Latin at same size; slight compensation on headlines */
html[data-lang="ko"] h1.pw-text-style, html[data-lang="ko"] h2.pw-text-style { letter-spacing: -0.02em; }

/* ---------- language switcher ---------- */
#lang-switcher {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2147483000;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 4px;
  border-radius: 999px;
  background: rgba(10, 8, 16, 0.72);
  border: 1px solid rgba(247, 176, 255, 0.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 0 24px rgba(120, 60, 255, 0.25);
  font-family: 'Pretendard', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
#lang-switcher .lang-btn {
  appearance: none;
  border: 0;
  cursor: pointer;
  padding: 6px 12px;
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
  transition: background .2s ease, color .2s ease;
}
#lang-switcher .lang-btn:hover { color: #fff; }
#lang-switcher .lang-btn.is-active {
  background: linear-gradient(135deg, #f7b0ff 0%, #8b5cff 100%);
  color: #0a0810;
}
#lang-switcher .lang-sep { width: 1px; height: 14px; background: rgba(255,255,255,0.12); }
/* kept out of the bottom-right corner, where it covered the footer links */
@media (min-width: 481px) {
  #lang-switcher { top: 88px; bottom: auto; right: 40px; }
}
@media (max-width: 480px) {
  /* top bar, left of the hamburger button */
  #lang-switcher { top: calc(20px + env(safe-area-inset-top)); bottom: auto; right: 64px; }
}

/* ---------- brand logo (GANEUMJA) sizing ---------- */
#idg6xj, #idg6xj-6, #idg6xj-2-3 { width: 150px !important; height: auto !important; object-fit: contain; }
#idg6xj-2 { width: 150px !important; height: auto !important; object-fit: contain; }
@media (max-width: 768px) { #idg6xj, #idg6xj-6, #idg6xj-2-3 { width: 120px !important; } }

/* ---------- production fixes ---------- */
/* Page background normally comes from the 3D canvas; keep text readable when it never renders */
html { background-color: #000; }
/* site-fallback.js adds this class when the 3D runtime can't start: the runtime is what
   fades #pwb-body-wrap in (opacity 0 → 1), and body is white by default */
html.site-loader-fallback body { background-color: #000; }
html.site-loader-fallback #pwb-body-wrap { opacity: 1 !important; }

/* Privacy/Terms <p> wrapped in native links */
a.site-plain-link { color: inherit; text-decoration: none; }

/* 993~1199px: fixed 1000/1200px blocks caused horizontal scroll (measured 1112px at 1024) */
#ijl82-2-3, #ijl82-2-2, #ico91-3-3 { max-width: 90vw; }
#ijl82-2-3 video { max-width: 100%; height: auto; }

/* About section paragraph (company intro + GA:NEUM Framework) */
#iiz3y-3-2-2-2-3-2 { line-height: 1.6 !important; max-width: 780px; margin-left: auto; margin-right: auto; }
#iiz3y-3-2-2-2-3-2 .ganeum-steps {
  display: block; margin-top: 20px; font-weight: 600; letter-spacing: 0.01em; line-height: 1.5; color: #5b3df5;
}
#iiz3y-3-2-2-2-3-2 .ganeum-name {
  display: block; margin-bottom: 4px; font-size: 0.72em; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #8a7bd8;
}
#i6x28p-2, #i6x28p-2-2 { line-height: 1.6 !important; }

/* Narrow tablets: header Privacy/Terms wrap onto two lines; they remain in the footer */
@media (min-width: 481px) and (max-width: 640px) {
  #irlfg-4-3 > a.site-plain-link { display: none; }
}

/* Language toggle: 44px-class touch target */
#lang-switcher .lang-btn { min-width: 44px; min-height: 36px; padding: 10px 14px; }

/* Visible keyboard focus */
a:focus-visible, button:focus-visible { outline: 2px solid #f7b0ff; outline-offset: 3px; border-radius: 4px; }

/* Restore the scrollbar on mouse devices (styles inline in index.html hide it globally) */
@media (pointer: fine) {
  * { scrollbar-width: thin !important; scrollbar-color: rgba(255,255,255,.25) transparent; }
  ::-webkit-scrollbar { display: block !important; width: 8px; height: 8px; }
  ::-webkit-scrollbar-thumb { background: rgba(255,255,255,.25); border-radius: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Links with no destination: Login (no service), Careers (pointed to another company's job board),
   LinkedIn (pointed to another company's page). Re-enable once real URLs exist. */
#i37rm-3-3-2,
#i37rm-2-2-2-2-2-4, #i37rm-2-2-2-2-3-2-3-4-2, #i37rm-2-2-2-2-4,
#ievjs-2-2 { display: none !important; }

/* TEMPORARY: third-party (Epiminds) content — customer testimonials, funding news,
   media logos and promo video. Remove these rules after replacing the content
   with GANEUMJA's own material.
   visibility (not display) on purpose: the 3D scroll timeline is bound to page
   height, and collapsing these blocks desyncs the scene from the copy. */
#i8jsjl-2-2-2,   /* testimonials (John Axelsson / Jenny Dettervik) */
#ijl82-3-2-2,    /* NEWS: "Epiminds raises $6.6M" (Forbes) */
#ijl82-2-3,      /* promo video (was hot-linked from Webflow S3) */
#ijl82-2-2       /* "Lucy in the media" press logos */
{ visibility: hidden !important; }
