/* =============================================================
   BTG site chrome — shared styles across all pages
   Extends colors_and_type.css with Korean font stack + language
   toggle chip + shared nav/footer patterns.
   ============================================================= */

/* Korean web fonts (CDN — reliable, cached across sessions). Sans only — the system uses no serif face. */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap');

/* In Korean mode, upgrade both stacks to Noto Sans KR */
html[data-lang="ko"] {
  --font-display: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-body: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  /* mono stays the same — Korean rarely appears in mono contexts */
}

/* Korean type feels tighter — soften a touch */
html[data-lang="ko"] body { letter-spacing: -0.005em; }
html[data-lang="ko"] .lead { font-style: normal; font-weight: 500; }

/* ---- Nav (shared) --------------------------------------- */
.nav {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 48px;
  background: oklch(98% 0.005 90 / 0.88);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.brand { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.brand-logo { height: 44px; width: auto; display: block; object-fit: contain; }
.brand-txt-1 { font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -0.01em; color: var(--fg-1); line-height: 1; }
.brand-txt-2 { font-family: var(--font-mono); font-size: 10px; color: var(--fg-2); text-transform: uppercase; letter-spacing: 0.14em; margin-top: 4px; }
html[data-lang="ko"] .brand-txt-2 { font-family: var(--font-body); font-weight: 500; letter-spacing: 0.06em; text-transform: none; font-size: 11px; }

.nav-right { display: flex; align-items: center; gap: 32px; }
.nav-links { display: flex; gap: 28px; }
.nav-links a { font-family: var(--font-body); font-size: 14px; color: var(--fg-1); text-decoration: none; padding: 6px 0; position: relative; }
.nav-links a::after { content: ''; position: absolute; left: 0; bottom: 0; height: 1px; width: 0; background: var(--neural-magenta); transition: width var(--dur) var(--ease); }
.nav-links a:hover::after, .nav-links a.active::after { width: 100%; }

/* Language toggle chip */
.lang-toggle {
  display: inline-flex; align-items: center;
  border: 1px solid var(--border-strong); border-radius: 999px;
  padding: 2px; background: transparent; cursor: pointer;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em;
  transition: border-color var(--dur-fast) var(--ease);
}
.lang-toggle:hover { border-color: var(--btg-navy); }
.lang-toggle [data-chip] {
  display: inline-block; padding: 4px 10px; border-radius: 999px;
  color: var(--fg-2); transition: all var(--dur-fast) var(--ease);
  font-weight: 500;
}
.lang-toggle [data-chip].is-active {
  background: var(--ink); color: var(--fg-inv);
}

/* ---- Footer (shared) ------------------------------------ */
.footer { border-top: 1px solid var(--border); margin-top: 96px; padding: 64px 48px 40px; background: var(--paper-2); }
.footer-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; }
.foot-brand-wrap { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.foot-logo  { height: 44px; width: auto; display: block; object-fit: contain; }
.foot-brand { font-family: var(--font-display); font-size: 22px; font-weight: 700; margin: 0; line-height: 1.1; }
.foot-brand-sub { font-family: var(--font-mono); font-size: 10px; color: var(--fg-2); text-transform: uppercase; letter-spacing: 0.12em; margin-top: 4px; }
html[data-lang="ko"] .foot-brand-sub { font-family: var(--font-body); text-transform: none; letter-spacing: 0.02em; font-size: 12px; }
.foot-addr { font-family: var(--font-body); font-size: 13px; color: var(--fg-2); line-height: 1.7; margin: 0; }
.foot-col h5 { font-family: var(--font-mono); font-size: 10px; color: var(--fg-3); text-transform: uppercase; letter-spacing: 0.12em; margin: 0 0 14px; font-weight: 500; }
html[data-lang="ko"] .foot-col h5 { font-family: var(--font-body); font-weight: 600; letter-spacing: 0.04em; text-transform: none; font-size: 12px; color: var(--fg-2); }
.foot-col a { display: block; font-family: var(--font-body); font-size: 13px; color: var(--fg-1); text-decoration: none; padding: 4px 0; }
.foot-col a:hover { color: var(--btg-navy); }
.foot-bottom { max-width: 1240px; margin: 40px auto 0; padding-top: 20px; border-top: 1px solid var(--border); font-family: var(--font-mono); font-size: 11px; color: var(--fg-3); display: flex; justify-content: space-between; }
html[data-lang="ko"] .foot-bottom { font-family: var(--font-body); font-size: 12px; }

/* ---- Page head (shared pattern) ------------------------- */
.page-head { max-width: 1240px; margin: 0 auto; padding: 80px 48px 32px; }
.page-eyebrow { font-family: var(--font-mono); font-size: 12px; color: var(--btg-navy); text-transform: uppercase; letter-spacing: 0.14em; margin-bottom: 20px; }
html[data-lang="ko"] .page-eyebrow { font-family: var(--font-body); font-weight: 600; letter-spacing: 0.04em; text-transform: none; font-size: 13px; }
.page-title { font-family: var(--font-display); font-size: 72px; line-height: 1.05; letter-spacing: -0.02em; font-weight: 600; margin: 0 0 24px; }
html[data-lang="ko"] .page-title { font-weight: 700; letter-spacing: -0.03em; }
.page-lead { font-family: var(--font-body); font-size: 18px; line-height: 1.65; color: var(--ink-soft); max-width: 640px; margin: 0; }

/* Shared section head pattern */
.section { max-width: 1240px; margin: 0 auto; padding: 80px 48px; }
.section-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; gap: 40px; border-bottom: 1px solid var(--border); padding-bottom: 20px; }
.section-title { font-family: var(--font-display); font-size: 44px; font-weight: 600; letter-spacing: -0.015em; margin: 0; line-height: 1.15; }
html[data-lang="ko"] .section-title { font-weight: 700; }
.section-eyebrow { font-family: var(--font-mono); font-size: 11px; color: var(--fg-2); text-transform: uppercase; letter-spacing: 0.14em; margin-bottom: 12px; }
html[data-lang="ko"] .section-eyebrow { font-family: var(--font-body); font-weight: 500; text-transform: none; letter-spacing: 0.04em; font-size: 12px; }
.section-sub { font-family: var(--font-body); font-size: 15px; color: var(--fg-2); max-width: 440px; line-height: 1.6; }
