/* @pf-type v1 — AeroRelay font system (global) */
:root{
  --en:'Space Grotesk','Pretendard Variable','Pretendard',sans-serif;
  --kr:'Pretendard Variable','Pretendard','Noto Sans KR',sans-serif;
  --sans:var(--en);
  --mono:var(--en);
  --s-hero:clamp(2.25rem,1.6rem + 3.2vw,4.5rem);
  --s-climax:clamp(2.4rem,1.8rem + 3.2vw,4.6rem);
  --s-title:clamp(1.75rem,1.4rem + 1.8vw,3rem);
  --s-title4:clamp(1.4rem,1.15rem + 1.4vw,2.25rem);
  --s-lead:clamp(1.05rem,.98rem + .4vw,1.25rem);
  --s-body:clamp(.9375rem,.9rem + .15vw,1.0625rem);
  --s-dmajor:clamp(2.5rem,1.8rem + 3vw,4.75rem);
  --s-dminor:clamp(1.25rem,1.05rem + 1vw,2rem);
  --s-cap:clamp(.75rem,.72rem + .1vw,.8125rem);
  --s-ident:clamp(.85rem,.8rem + .3vw,1rem);
}

body{
  font-family:var(--kr);
  font-size:var(--s-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

html[data-lang=ko] body{
  font-family:var(--kr);
  letter-spacing:0;
  word-break:keep-all;
}

html[data-lang=ko] h1,
html[data-lang=ko] h2,
html[data-lang=ko] h2.t,
html[data-lang=ko] .hero-copy,
html[data-lang=ko] .arc-val,
html[data-lang=ko] .hero-arc .arc-val{
  font-family:var(--kr);
  word-break:keep-all;
}

html[data-lang=ko] h1,
html[data-lang=ko] h2.t{
  font-weight:700;
}

.num{
  font-family:var(--en);
  font-variant-numeric:tabular-nums;
}

.k,
.cap,
.eyebrow,
.cb-eyebrow,
.hero-eyebrow,
.hero-label,
.ident,
.chan-label,
.meta dt,
.arc .al,
.srow .sk,
.ft-links a,
.proj-foot-copy,
.proj-foot-links,
.proj-foot-links a,
#foot .fident,
#foot .fcopy,
.lead .k-eyebrow,
.row .r-date,
.card .name-en,
.card .tag,
.contacts .lbl,
.dl,
.skill .nm,
.foot,
.cell .b-cap,
.hero-scroll,
.impact-eyebrow,
.pill{
  font-family:var(--en);
}

.k,
.eyebrow,
.cb-eyebrow,
.hero-eyebrow,
.hero-label,
.ident,
.chan-label,
.lead .k-eyebrow{
  font-size:var(--s-cap);
  letter-spacing:.14em;
  text-transform:uppercase;
}

h1,h2.t,.cb-heading,.hero-title{
  font-size:var(--s-title);
  font-weight:800;
  letter-spacing:-.025em;
  line-height:1.22;
}

.lead,.hero-subtitle{
  font-size:var(--s-lead);
  line-height:1.6;
}

.cap{
  font-size:var(--s-cap);
  line-height:1.5;
  letter-spacing:.01em;
}

.hero-copy{
  font-size:var(--s-hero);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.15;
}

.hero-ident{
  font-size:var(--s-ident);
  letter-spacing:.04em;
  font-weight:500;
}

.hero-arc .arc-key{
  font-family:var(--en);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#2A2A2A;
  opacity:.65;
  display:block;
  margin-bottom:10px;
}

.hero-arc{
  background:#fff;
  border-bottom:1px solid rgba(26,26,26,.12);
  padding:clamp(28px,4vw,48px) 0;
}
.hero-arc .arc-wrap,
.hero-arc .wrap{
  max-width:1320px;
  margin:0 auto;
  padding:0 clamp(20px,4vw,96px);
}
.hero-arc .arc-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,3vw,40px);
}
.hero-arc .arc-item{
  border-top:1px solid rgba(26,26,26,.16);
  padding-top:14px;
}
.hero-arc .arc-val{
  font-size:var(--s-body);
  color:#1A1A1A;
  line-height:1.55;
  max-width:36ch;
}
.hero-arc .arc-val strong{
  font-weight:700;
  color:inherit;
}
@media(max-width:767px){
  .hero-arc .arc-grid{grid-template-columns:1fr;gap:24px}
}

.bar .mark,
#nav.sitenav .sitenav-brand,
#siteNav .site-nav-brand{
  font-family:var(--en);
  font-weight:700;
  font-size:15px;
  letter-spacing:.02em;
}

.bar nav,
.bar nav a,
#nav.sitenav .sitenav-links a,
#siteNav .site-nav-links a{
  font-family:var(--en);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.langs,
.lang-btn,
#nav.sitenav .sitenav-langs,
#nav.sitenav .sitenav-langs .lang-btn,
#siteNav .site-nav-langs,
#siteNav .site-nav-langs .lang-btn,
.langset,
.lang-group .lang-btn{
  font-family:var(--en);
  font-size:11px;
  letter-spacing:.1em;
}

.foot-links,
.cell .b-cap,
.hero-scroll{
  font-size:var(--s-cap);
}

.skip{
  font-family:var(--en);
  font-size:var(--s-cap);
}

/* ── Project bottom nav + footer (shared) ── */
:root{
  --proj-w:1320px;
  --proj-gutter:clamp(20px,4vw,96px);
  --proj-line:rgba(26,26,26,.12);
  --proj-dim:rgba(26,26,26,.48);
  --proj-ink:#1A1A1A;
}

/* Legacy page CSS targets bare `nav` — reset project bottom nav/footer */
nav.proj-nav{
  position:static;
  top:auto;
  left:auto;
  right:auto;
  z-index:auto;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  background:transparent;
}

footer.proj-foot{
  position:static;
  top:auto;
  left:auto;
  right:auto;
  z-index:auto;
  border-top:1px solid var(--proj-line);
  background:#fff;
  padding:clamp(26px,3.5vw,34px) var(--proj-gutter);
}

body:has(footer.proj-foot){
  min-height:100svh;
  display:flex;
  flex-direction:column;
}

body:has(footer.proj-foot) > main{
  flex:1 0 auto;
}

body:has(footer.proj-foot) .proj-nav-outer{
  width:100%;
  margin-top:auto;
  flex-shrink:0;
}

footer.proj-foot{
  width:100%;
  flex-shrink:0;
  margin-top:0;
}

body:has(footer.proj-foot):not(:has(.proj-nav-outer)) > footer.proj-foot{
  margin-top:auto;
}

.proj-nav-outer{
  max-width:var(--proj-w);
  margin:0 auto;
  padding:0 var(--proj-gutter);
}

.proj-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:clamp(20px,4vw,48px);
  min-height:clamp(112px,14vh,168px);
  border-top:1px solid var(--proj-line);
}

.proj-nav-link{
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  transition:opacity .18s ease,transform .18s ease;
}

.proj-nav-link:hover{
  opacity:.55;
}

.proj-nav-link.next{
  text-align:right;
  align-items:flex-end;
}

.proj-nav-dir{
  font-family:var(--en);
  font-size:var(--s-cap);
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--proj-dim);
}

.proj-nav-name{
  font-family:var(--en);
  font-size:clamp(17px,1.6vw,21px);
  font-weight:700;
  letter-spacing:-.03em;
  color:var(--proj-ink);
  line-height:1.2;
}

.proj-foot-inner{
  max-width:var(--proj-w);
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:14px 24px;
}

.proj-foot-copy{
  font-family:var(--en);
  font-size:var(--s-cap);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--proj-dim);
}

.proj-foot-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 16px;
  font-family:var(--en);
  font-size:var(--s-cap);
  letter-spacing:.1em;
  text-transform:uppercase;
}

.proj-foot-links a{
  color:var(--proj-dim);
  text-decoration:none;
  transition:color .16s ease;
}

.proj-foot-links a:hover,
.proj-foot-links a.copied{
  color:var(--proj-ink);
}

@media(max-width:767px){
  .proj-nav{
    flex-direction:column;
    align-items:flex-start;
    min-height:auto;
    padding:28px 0 8px;
  }
  .proj-nav-link.next{
    text-align:left;
    align-items:flex-start;
  }
  .proj-foot-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}
