@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

@font-face {
  font-family: 'Source Han Serif K';
  src: url('./fonts/SourceHanSerifKR-EN.woff2') format('woff2');
  font-weight: 250 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --globos-font-display: 'Plus Jakarta Sans', 'Pretendard', sans-serif;
  --globos-font-body: 'Plus Jakarta Sans', 'Pretendard', sans-serif;
  --globos-font-korean: 'Pretendard', 'Plus Jakarta Sans', sans-serif;
}

html[lang='en'] :where(body, body *):not(.material-symbols-outlined),
html[lang='ko'] :where(body, body *):not(.material-symbols-outlined) {
  font-family: var(--globos-font-body) !important;
}

body,
.font-body,
.font-label,
input,
textarea,
select,
button {
  font-family: var(--globos-font-body) !important;
}

body {
  font-weight: 400;
  font-size: 15px;
  line-height: 1.58;
}

main :where(p, li, dd, dt, input, textarea, select):not(.material-symbols-outlined) {
  font-weight: 400 !important;
}

.font-headline {
  font-family: var(--globos-font-display) !important;
  font-weight: 600 !important;
}

header a,
nav a,
.brand-name,
.language-button,
.stage-button,
.primary-action,
.secondary-action {
  font-family: var(--globos-font-body) !important;
  font-weight: 600 !important;
}

.brand-name {
  font-family: var(--globos-font-display) !important;
}

header a,
nav a,
.brand-name,
.language-button,
.stage-button,
.primary-action,
.secondary-action,
.font-label {
  font-weight: 600 !important;
}

html[lang='ko'] body,
html[lang='ko'] main :where(h1, h2, h3, h4, h5, h6, p, li, span, div, label, input, textarea, button):not(.material-symbols-outlined) {
  font-family: var(--globos-font-korean) !important;
  font-weight: 500 !important;
}

html[lang='ko'] main :where(h1, h2, h3, h4, h5, h6):not(.material-symbols-outlined) {
  font-weight: 700 !important;
}

html[lang='ko'] main :where(h1, h2, h3, h4, h5, h6, p, li, dd, dt, a, button, span):not(.material-symbols-outlined) {
  word-break: keep-all;
  overflow-wrap: break-word;
}

html[lang='ko'] header :where(a, button, span):not(.material-symbols-outlined),
html[lang='ko'] nav :where(a, button, span):not(.material-symbols-outlined),
html[lang='ko'] .brand-name,
html[lang='ko'] .language-button,
html[lang='ko'] .stage-button,
html[lang='ko'] .primary-action,
html[lang='ko'] .secondary-action {
  font-family: var(--globos-font-body) !important;
  font-weight: 600 !important;
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined' !important;
}

/* Global density pass: the site carries long business copy, so type needs a tighter editorial scale. */
.text-base { font-size: 0.9375rem !important; line-height: 1.6 !important; }
.text-lg { font-size: 0.96875rem !important; line-height: 1.6 !important; }
.text-xl { font-size: 1.025rem !important; line-height: 1.54 !important; }
.text-2xl { font-size: 1.15rem !important; line-height: 1.34 !important; }
.text-3xl { font-size: 1.38rem !important; line-height: 1.22 !important; }
.text-4xl { font-size: 1.85rem !important; line-height: 1.14 !important; }
.text-5xl { font-size: 2.15rem !important; line-height: 1.08 !important; }
.text-6xl { font-size: 2.55rem !important; line-height: 1.05 !important; }
.text-7xl { font-size: 3rem !important; line-height: 1.03 !important; }
.text-8xl { font-size: 3.35rem !important; line-height: 1.02 !important; }
.text-9xl { font-size: 3.7rem !important; line-height: 1.02 !important; }

.leading-7 { line-height: 1.55 !important; }
.leading-8,
.leading-relaxed { line-height: 1.62 !important; }
.leading-tight { line-height: 1.16 !important; }
.leading-\[1\.05\] { line-height: 1.08 !important; }
.leading-\[1\.1\] { line-height: 1.12 !important; }

.section-label {
  font-size: 10px !important;
}

.material-symbols-outlined.text-lg { font-size: 1.125rem !important; }
.material-symbols-outlined.text-xl { font-size: 1.25rem !important; }
.material-symbols-outlined.text-2xl { font-size: 1.5rem !important; }

@media (min-width: 640px) {
  .sm\:text-2xl { font-size: 1.16rem !important; line-height: 1.34 !important; }
  .sm\:text-3xl { font-size: 1.38rem !important; line-height: 1.24 !important; }
  .sm\:text-5xl { font-size: 2.25rem !important; line-height: 1.08 !important; }
  .sm\:text-6xl { font-size: 2.6rem !important; line-height: 1.05 !important; }
}

@media (min-width: 768px) {
  .md\:text-xl { font-size: 1rem !important; line-height: 1.6 !important; }
  .md\:text-2xl { font-size: 1.1rem !important; line-height: 1.52 !important; }
  .md\:text-4xl { font-size: 1.85rem !important; line-height: 1.16 !important; }
  .md\:text-5xl { font-size: 2.2rem !important; line-height: 1.1 !important; }
  .md\:text-6xl { font-size: 2.6rem !important; line-height: 1.06 !important; }
  .md\:text-7xl { font-size: 3.05rem !important; line-height: 1.04 !important; }
}

@media (min-width: 1024px) {
  .lg\:text-2xl { font-size: 1.14rem !important; line-height: 1.34 !important; }
}

@media (min-width: 1280px) {
  .xl\:text-3xl { font-size: 1.36rem !important; line-height: 1.24 !important; }
}
