*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --navy:      #1B2A6B;
  --navy-deep: #0F1A4A;
  --paper:     #F7F4EF;
  --sand:      #E8E2D6;
  --bg:        #F0F1F4;
  --white:     #FFFFFF;
  --body:      #2C3560;
  --secondary: #5A6490;
  --muted:     #9098B8;
  --border:    rgba(27,42,107,0.10);
  --border-mid:rgba(27,42,107,0.18);
}
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--navy); font-family: "Raleway", sans-serif; overflow-x: hidden; }

/* ── Starfield ── */
#starfield { position: fixed; inset: 0; z-index: 0; pointer-events: none; }

/* ── Nav ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 52px;
  background: rgba(15,26,74,0.92);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 0.5px solid rgba(245,246,250,0.10);
  transition: padding 0.3s;
}
.nav-logo { display: flex; align-items: center; gap: 16px; text-decoration: none; cursor: pointer; }
.nav-logo svg { height: 36px; width: auto; }
.nav-divider { width: 0.5px; height: 22px; background: rgba(245,246,250,0.15); }
.nav-wordmark { display: flex; flex-direction: column; gap: 2px; }
.nav-wordmark .wm-eng { font-family:"Raleway",sans-serif; font-weight:300; font-size:9.5px; letter-spacing:2.5px; color:rgba(245,246,250,0.7); }
.nav-wordmark .wm-kor { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:8.5px; letter-spacing:1.5px; color:rgba(245,246,250,0.4); }
.nav-links { display: flex; gap: 32px; list-style: none; }
.nav-links a {
  font-family:"Raleway",sans-serif; font-weight:300; font-size:10.5px;
  letter-spacing:2.5px; color:rgba(245,246,250,0.55); text-decoration:none;
  text-transform:uppercase; transition:color 0.25s; cursor:pointer;
}
.nav-links a:hover, .nav-links a.active { color:rgba(245,246,250,1); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.hamburger span { width:22px; height:0.5px; background:rgba(245,246,250,0.7); display:block; transition:0.3s; }

/* ── Sections (SPA) ── */
.section-page { display:none; }
.section-page.active { display:block; }

/* ════════════════════════════
   HOME
════════════════════════════ */
#home { position:relative; z-index:1; min-height:100vh; }
.hero {
  position:relative; z-index:1;
  min-height:100vh;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:0 24px; text-align:center;
}
.hero-logo-wrap {
  position:relative; cursor:pointer;
  display:inline-block; margin-bottom:48px;
}
.hero-logo-wrap svg { width:min(400px,80vw); height:auto; display:block; }
.hero-tagline {
  font-family:"Raleway",sans-serif; font-weight:200;
  font-size:clamp(12px,1.8vw,15px); letter-spacing:5px;
  color:rgba(245,246,250,0.9); text-transform:uppercase;
  opacity:0; animation:fadeUp 1.2s ease forwards;
  animation-delay:2.2s; margin-bottom:52px;
}
.hero-desc {
  max-width:500px; font-family:"Noto Sans KR",sans-serif; font-weight:300;
  font-size:clamp(13px,1.6vw,14px); line-height:2.1;
  color:rgba(245,246,250,0.75); opacity:0;
  animation:fadeUp 1.2s ease forwards; animation-delay:2.6s;
  margin-bottom:48px; word-break:keep-all;
}
.hero-cta {
  display:inline-block; font-family:"Raleway",sans-serif; font-weight:300;
  font-size:11px; letter-spacing:4px; text-transform:uppercase;
  color:rgba(245,246,250,0.9);
  border:0.5px solid rgba(245,246,250,0.35);
  padding:13px 34px; cursor:pointer; opacity:0;
  animation:fadeUp 1.2s ease forwards; animation-delay:3.0s;
  transition:background 0.3s, border-color 0.3s;
}
.hero-cta:hover { background:rgba(245,246,250,0.08); border-color:rgba(245,246,250,0.65); }

/* Home About strip */
.home-about {
  position:relative; z-index:1;
  background:rgba(15,26,74,0.6);
  backdrop-filter:blur(8px);
  border-top:0.5px solid rgba(245,246,250,0.08);
  padding:64px 52px;
}
.home-about-inner {
  max-width:900px; margin:0 auto;
  display:grid; grid-template-columns:1fr 2fr; gap:52px; align-items:start;
}
.home-about-label {
  font-family:"Raleway",sans-serif; font-weight:200;
  font-size:10px; letter-spacing:4px; text-transform:uppercase;
  color:rgba(245,246,250,0.35); margin-bottom:16px; display:block;
}
.home-about-title {
  font-family:"Noto Sans KR",sans-serif; font-weight:300;
  font-size:clamp(18px,3vw,26px); color:rgba(245,246,250,0.92);
  line-height:1.5; letter-spacing:0.5px;
}
.home-about-body {
  font-family:"Noto Sans KR",sans-serif; font-weight:300;
  font-size:13.5px; line-height:2.1; color:rgba(245,246,250,0.65);
  word-break:keep-all; margin-bottom:28px;
}
.home-activities {
  display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; list-style:none;
}
.home-activities li {
  font-family:"Noto Sans KR",sans-serif; font-weight:300;
  font-size:12px; color:rgba(245,246,250,0.55);
  padding-left:14px; position:relative; line-height:1.8;
}
.home-activities li::before { content:"·"; position:absolute; left:3px; color:rgba(245,246,250,0.3); }

/* Home contact */
.home-contact {
  position:relative; z-index:1;
  background:rgba(15,26,74,0.4);
  border-top:0.5px solid rgba(245,246,250,0.06);
  padding:48px 52px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px;
}
.home-contact-title {
  font-family:"Raleway",sans-serif; font-weight:200;
  font-size:22px; letter-spacing:3px; color:rgba(245,246,250,0.9);
}
.home-contact-email {
  font-family:"Raleway",sans-serif; font-weight:300;
  font-size:13px; letter-spacing:2px; color:rgba(245,246,250,0.6);
  text-decoration:none; border-bottom:0.5px solid rgba(245,246,250,0.2);
  padding-bottom:3px; transition:color 0.25s;
}
.home-contact-email:hover { color:rgba(245,246,250,1); }

/* Constellation animation */
.con-line {
  stroke-dasharray:var(--len,60); stroke-dashoffset:var(--len,60);
  animation:drawLine 0.6s ease forwards; animation-delay:var(--delay,0s);
}
@keyframes drawLine { to { stroke-dashoffset:0; } }
.con-star {
  opacity:0; animation:popStar 0.4s ease forwards;
  animation-delay:var(--delay,0s);
}
@keyframes popStar {
  0%   { opacity:0; transform:scale(0); transform-origin:var(--ox) var(--oy); }
  70%  { opacity:1; transform:scale(1.3); transform-origin:var(--ox) var(--oy); }
  100% { opacity:var(--final-op,1); transform:scale(1); transform-origin:var(--ox) var(--oy); }
}
.alphecca-glow { animation:glowPulse 3s ease-in-out infinite; animation-delay:1.8s; }
@keyframes glowPulse { 0%,100% { opacity:0.07; } 50% { opacity:0.18; } }
.logo-acrl-text { opacity:0; animation:fadeUp 0.8s ease forwards; animation-delay:1.6s; }
.logo-sub-line   { opacity:0; animation:fadeUp 0.8s ease forwards; animation-delay:1.9s; }
.logo-sub-text   { opacity:0; animation:fadeUp 0.8s ease forwards; animation-delay:2.0s; }
@keyframes fadeUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }

/* ════════════════════════════
   SHARED PAGE LAYOUT
════════════════════════════ */
.page-header {
  background:var(--navy-deep); padding:110px 52px 60px;
}
.page-header-inner { max-width:900px; margin:0 auto; }
.header-label {
  font-family:"Raleway",sans-serif; font-weight:300;
  font-size:10px; letter-spacing:4px; text-transform:uppercase;
  color:rgba(245,246,250,0.35); margin-bottom:14px; display:block;
}
.header-title {
  font-family:"Raleway",sans-serif; font-weight:200;
  font-size:clamp(24px,4vw,36px); letter-spacing:5px;
  text-transform:uppercase; color:rgba(245,246,250,0.95); margin-bottom:6px;
}
.header-sub {
  font-family:"Noto Sans KR",sans-serif; font-weight:300;
  font-size:12.5px; letter-spacing:1px; color:rgba(245,246,250,0.38);
}
.page-wrap { max-width:900px; margin:0 auto; padding:0 52px 100px; }
.sec {
  padding:56px 0 48px;
  border-bottom:0.5px solid var(--border);
}
.sec:last-child { border-bottom:none; }
.sec-num {
  font-family:"Raleway",sans-serif; font-weight:200;
  font-size:10px; letter-spacing:4px; text-transform:uppercase;
  color:var(--muted); display:block; margin-bottom:6px;
}
.sec-title {
  font-family:"Raleway",sans-serif; font-weight:200;
  font-size:20px; letter-spacing:4px; text-transform:uppercase;
  color:var(--navy); margin-bottom:32px;
}

/* ════════════════════════════
   ABOUT
════════════════════════════ */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); margin-bottom:1px; }
.about-card { background:var(--white); padding:26px 22px; }
.about-card-label {
  font-family:"Raleway",sans-serif; font-weight:300;
  font-size:9px; letter-spacing:3px; text-transform:uppercase;
  color:var(--muted); margin-bottom:10px; display:block;
}
.about-card-body {
  font-family:"Noto Sans KR",sans-serif; font-weight:300;
  font-size:13px; line-height:2; color:var(--body); word-break:keep-all;
}
.about-card-body strong { font-weight:400; color:var(--navy); }
.values-row {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--border); margin-bottom:1px;
}
.val-card { background:var(--white); padding:20px 16px; text-align:center; }
.val-en { font-family:"Raleway",sans-serif; font-weight:200; font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--navy); display:block; margin-bottom:4px; }
.val-ko { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:11px; color:var(--secondary); }
.activities-card { background:var(--paper); border:0.5px solid var(--sand); padding:26px 22px; }
.activities-label { font-family:"Raleway",sans-serif; font-weight:300; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-bottom:16px; display:block; }
.activities-list { display:grid; grid-template-columns:1fr 1fr; gap:8px 32px; list-style:none; }
.activities-list li { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:13px; line-height:1.8; color:var(--body); padding-left:14px; position:relative; }
.activities-list li::before { content:"·"; position:absolute; left:3px; color:var(--muted); }

/* Logo showcase */
.logo-showcase { display:flex; flex-direction:row; gap:1px; background:var(--border); }
.logo-card { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px 24px; gap:12px; flex:1; }
.logo-card.light { background:var(--white); }
.logo-card.dark  { background:var(--navy-deep); }
.logo-card img { width:120px; height:auto; }
.logo-card-label { font-family:"Raleway",sans-serif; font-weight:300; font-size:9px; letter-spacing:2.5px; text-transform:uppercase; }
.logo-card.light .logo-card-label { color:var(--muted); }
.logo-card.dark  .logo-card-label { color:rgba(245,246,250,0.3); }
.logo-usage { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); margin-top:1px; }
.lu-card { background:var(--white); padding:18px; }
.lu-label { font-family:"Raleway",sans-serif; font-weight:300; font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:6px; }
.lu-desc { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:12px; color:var(--secondary); line-height:1.7; }

/* Palette */
.palette-group { margin-bottom:28px; }
.palette-group-label { font-family:"Raleway",sans-serif; font-weight:300; font-size:9px; letter-spacing:3.5px; text-transform:uppercase; color:var(--muted); margin-bottom:10px; display:block; }
.palette-row { display:flex; gap:1px; background:var(--border); }
.color-swatch { flex:1; }
.swatch-block { height:68px; width:100%; }
.swatch-info { background:var(--white); padding:9px 11px; }
.swatch-name { font-family:"Raleway",sans-serif; font-weight:400; font-size:9.5px; color:var(--navy); display:block; margin-bottom:2px; }
.swatch-hex  { font-family:"Raleway",sans-serif; font-weight:200; font-size:9.5px; color:var(--muted); display:block; }
.swatch-role { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:9px; color:var(--muted); display:block; margin-top:2px; }
.color-usage { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); margin-top:20px; }
.cu-card { padding:22px 18px; }

/* Typography */
.type-row {
  background:var(--white); border:0.5px solid var(--border);
  padding:22px 18px; margin-bottom:1px;
  display:grid; grid-template-columns:150px 1fr; gap:18px; align-items:center;
}
.tm-name { font-family:"Raleway",sans-serif; font-weight:300; font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:4px; }
.tm-spec { font-family:"Raleway",sans-serif; font-weight:300; font-size:11px; color:var(--secondary); line-height:1.6; }
.type-pair { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); margin-top:24px; }
.tp-card { background:var(--white); padding:20px 18px; }
.tp-label { font-family:"Raleway",sans-serif; font-weight:300; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:5px; }
.tp-name  { font-family:"Raleway",sans-serif; font-weight:400; font-size:13px; color:var(--navy); display:block; margin-bottom:4px; }
.tp-use   { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:11px; color:var(--secondary); line-height:1.7; }

/* Tone */
.tone-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); }
.tone-card { background:var(--white); padding:24px 20px; }
.tc-label { font-family:"Raleway",sans-serif; font-weight:300; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:6px; }
.tc-title { font-family:"Raleway",sans-serif; font-weight:300; font-size:13px; letter-spacing:1.5px; color:var(--navy); display:block; margin-bottom:8px; }
.tc-body  { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:12px; line-height:1.9; color:var(--secondary); word-break:keep-all; }
.do-dont { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); margin-top:24px; }
.do-card, .dont-card { background:var(--white); padding:22px 18px; }
.dd-label { font-family:"Raleway",sans-serif; font-weight:400; font-size:9px; letter-spacing:3px; text-transform:uppercase; display:block; margin-bottom:12px; }
.do-card .dd-label { color:#3B7A5A; }
.dont-card .dd-label { color:#9A4040; }
.dd-list { list-style:none; display:flex; flex-direction:column; gap:7px; }
.dd-list li { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:12px; line-height:1.7; color:var(--body); padding-left:14px; position:relative; word-break:keep-all; }
.do-card .dd-list li::before { content:"·"; position:absolute; left:3px; color:#3B7A5A; }
.dont-card .dd-list li::before { content:"·"; position:absolute; left:3px; color:#9A4040; }

/* ════════════════════════════
   RESEARCH
════════════════════════════ */
.meta-bar { background:var(--navy); padding:0 52px; }
.meta-bar-inner { max-width:900px; margin:0 auto; display:flex; align-items:center; gap:28px; padding:12px 0; flex-wrap:wrap; }
.meta-dot { width:3px; height:3px; border-radius:50%; background:rgba(245,246,250,0.3); flex-shrink:0; }
.meta-text { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:11px; color:rgba(245,246,250,0.5); }
.viewer-wrap { max-width:960px; margin:0 auto; padding:40px 52px 80px; }
.viewer-label-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.viewer-label { font-family:"Raleway",sans-serif; font-weight:300; font-size:9.5px; letter-spacing:3.5px; text-transform:uppercase; color:var(--muted); }
.viewer-link { font-family:"Raleway",sans-serif; font-weight:300; font-size:9.5px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); text-decoration:none; border-bottom:0.5px solid var(--border-mid); padding-bottom:2px; transition:color 0.2s; }
.viewer-link:hover { color:var(--navy); }
.viewer-frame { background:var(--paper); border:0.5px solid var(--sand); border-radius:2px; padding:4px; box-shadow:0 2px 24px rgba(27,42,107,0.07); }
.iframe-clip { width:100%; height:600px; overflow:hidden; border-radius:1px; background:var(--white); }
.iframe-clip iframe { width:100%; height:600px; border:none; display:block; }
.viewer-note { margin-top:12px; display:flex; align-items:center; gap:8px; }
.viewer-note-dot { width:3px; height:3px; border-radius:50%; background:var(--muted); flex-shrink:0; }
.viewer-note-text { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:11px; color:var(--muted); }

/* ════════════════════════════
   RESEARCHER
════════════════════════════ */
.researcher-hero {
  background:var(--navy-deep); padding:110px 52px 64px;
  display:flex; align-items:flex-end; gap:52px; flex-wrap:wrap;
}
.character-wrap { width:160px; flex-shrink:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; }
.character-img {
  width:150px; height:150px; border-radius:50%;
  background:rgba(245,246,250,0.08); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  animation:charFloat 3.6s ease-in-out infinite;
  box-shadow: 0 4px 24px rgba(0,0,0,0.25);
}
.character-img img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.character-shadow { width:70px; height:10px; background:rgba(0,0,0,0.18); border-radius:50%; margin-top:8px; animation:shadowPulse 3.6s ease-in-out infinite; filter:blur(3px); }
@keyframes charFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
@keyframes shadowPulse { 0%,100% { transform:scaleX(1); opacity:0.18; } 50% { transform:scaleX(0.75); opacity:0.10; } }
.researcher-text { flex:1; min-width:260px; }
.researcher-label { font-family:"Raleway",sans-serif; font-weight:300; font-size:10px; letter-spacing:4px; text-transform:uppercase; color:rgba(245,246,250,0.35); margin-bottom:16px; display:block; }
.researcher-name { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:clamp(28px,5vw,44px); color:rgba(245,246,250,0.95); letter-spacing:4px; margin-bottom:5px; }
.researcher-name-en { font-family:"Raleway",sans-serif; font-weight:200; font-size:13px; letter-spacing:5px; color:rgba(245,246,250,0.38); text-transform:uppercase; margin-bottom:12px; }
.orcid-link { display:inline-flex; align-items:center; gap:7px; text-decoration:none; margin-bottom:22px; opacity:0.6; transition:opacity 0.2s; }
.orcid-link:hover { opacity:1; }
.orcid-logo { width:18px; height:18px; flex-shrink:0; }
.orcid-link span { font-family:"Raleway",sans-serif; font-weight:300; font-size:10px; letter-spacing:1.5px; color:rgba(245,246,250,0.7); }
.researcher-title { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:13.5px; line-height:2; color:rgba(245,246,250,0.6); }
.researcher-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.r-tag { font-family:"Raleway",sans-serif; font-weight:300; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:rgba(245,246,250,0.5); border:0.5px solid rgba(245,246,250,0.18); padding:4px 11px; }

.r-grid { display:grid; grid-template-columns:1fr 2fr; gap:44px; align-items:start; }
.r-meta { display:flex; flex-direction:column; gap:16px; }
.r-meta-key { font-family:"Raleway",sans-serif; font-weight:300; font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:3px; }
.r-meta-val { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:13px; color:var(--body); line-height:1.7; }
.r-meta-val a { color:var(--navy); text-decoration:none; border-bottom:0.5px solid var(--border-mid); }
.r-body { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:13.5px; line-height:2.2; color:var(--body); word-break:keep-all; }
.r-body p+p { margin-top:14px; }

.areas-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); }
.area-card { background:var(--white); padding:22px 18px; }
.area-en { font-family:"Raleway",sans-serif; font-weight:300; font-size:9.5px; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:4px; }
.area-ko { font-family:"Noto Sans KR",sans-serif; font-weight:400; font-size:13.5px; color:var(--navy); display:block; margin-bottom:6px; }
.area-desc { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:12px; color:var(--secondary); line-height:1.7; word-break:keep-all; }

.list-table { display:flex; flex-direction:column; gap:1px; background:var(--border); }
.list-row { background:var(--white); padding:18px; display:grid; gap:16px; align-items:start; }
.list-row.papers { grid-template-columns:72px 1fr 88px; }
.list-row.exh    { grid-template-columns:72px 1fr 80px; }
.list-row.edu    { grid-template-columns:96px 1fr; }
.list-row.wri    { grid-template-columns:72px 1fr 72px; }
@keyframes skpulse { 0%,100%{opacity:1} 50%{opacity:0.35} }
.list-date { font-family:"Raleway",sans-serif; font-weight:200; font-size:11px; color:var(--muted); letter-spacing:1px; padding-top:2px; }
.list-title { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:13px; color:var(--body); line-height:1.7; word-break:keep-all; }
a.paper-link { text-decoration:none; color:var(--body); border-bottom:0.5px solid transparent; transition:border-color 0.2s, color 0.2s; }
a.paper-link:hover { color:var(--navy); border-bottom-color:rgba(27,42,107,0.35); }
.list-sub { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:11.5px; color:var(--secondary); margin-top:3px; line-height:1.6; }
.list-badge { font-family:"Raleway",sans-serif; font-weight:300; font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); border:0.5px solid var(--border-mid); padding:3px 7px; text-align:center; align-self:start; white-space:nowrap; }
.list-badge.upcoming { color:var(--navy); border-color:rgba(27,42,107,0.25); background:var(--paper); }
.edu-school { font-family:"Noto Sans KR",sans-serif; font-weight:400; font-size:13.5px; color:var(--navy); display:block; margin-bottom:3px; }
.edu-degree { font-family:"Noto Sans KR",sans-serif; font-weight:300; font-size:12px; color:var(--secondary); }

/* ── Footer ── */
footer {
  background:var(--navy-deep); padding:24px 52px;
  display:flex; align-items:center; justify-content:space-between;
  border-top:0.5px solid rgba(245,246,250,0.06);
}
footer span { font-family:"Raleway",sans-serif; font-weight:300; font-size:10px; letter-spacing:2px; color:rgba(245,246,250,0.25); }

/* ── Desktop font scaling ── */
@media (min-width:1024px) {
  /* Hero */
  .hero-tagline { font-size:17px; letter-spacing:6px; margin-bottom:56px; }
  .hero-desc    { font-size:16px; line-height:2.2; max-width:600px; margin-bottom:52px; }

  /* Home about */
  .home-about-title { font-size:30px; }
  .home-about-body  { font-size:15.5px; line-height:2.2; }
  .home-activities li { font-size:14px; }

  /* About section cards */
  .about-card-body { font-size:14.5px; line-height:2.1; }
  .val-en { font-size:13px; }
  .val-ko { font-size:12.5px; }
  .activities-list li { font-size:14px; }
  .lu-desc { font-size:13.5px; }

  /* Tone & Manner */
  .tc-title { font-size:15px; }
  .tc-body  { font-size:13.5px; line-height:2.0; }
  .dd-list li { font-size:13.5px; }

  /* Researcher */
  .r-body   { font-size:15px; line-height:2.3; }
  .r-meta-val { font-size:14px; }
  .area-desc  { font-size:13.5px; line-height:1.8; }
  .list-title { font-size:14.5px; }
  .list-sub   { font-size:13px; }

  /* Typography samples */
  .type-row { padding:28px 24px; }

  /* Section titles */
  .sec-title { font-size:22px; }
}

@media (min-width:1440px) {
  .hero-tagline { font-size:19px; }
  .hero-desc    { font-size:17px; max-width:680px; }
  .home-about-title { font-size:34px; }
  .home-about-body  { font-size:16px; }
  .about-card-body  { font-size:15px; }
  .r-body   { font-size:16px; }
  .tc-body  { font-size:14px; }
}

/* ── Responsive ── */
@media (max-width:768px) {
  nav { padding:18px 20px; }
  .nav-links { display:none; }
  .nav-links.open { display:flex; flex-direction:column; position:fixed; top:68px; left:0; right:0; background:rgba(15,26,74,0.98); padding:24px; gap:20px; z-index:199; }
  .hamburger { display:flex; }
  .home-about-inner { grid-template-columns:1fr; gap:32px; }
  .page-header { padding:88px 20px 48px; }
  .page-wrap { padding:0 20px 80px; }
  .about-grid, .logo-showcase, .logo-usage, .color-usage,
  .tone-grid, .do-dont, .type-pair, .areas-grid { grid-template-columns:1fr; }
  .values-row { grid-template-columns:1fr 1fr; }
  .activities-list { grid-template-columns:1fr; }
  .type-row { grid-template-columns:1fr; }
  .list-row.papers, .list-row.exh, .list-row.wri { grid-template-columns:1fr; gap:8px; }
  .list-row.edu { grid-template-columns:1fr; gap:6px; }
  .r-grid { grid-template-columns:1fr; gap:28px; }
  .researcher-hero { padding:88px 20px 52px; gap:28px; }
  .meta-bar { padding:0 20px; }
  .viewer-wrap { padding:28px 16px 60px; }
  .home-about, .home-contact { padding:48px 20px; }
  footer { padding:20px; flex-direction:column; gap:8px; text-align:center; }
}

/* ── Language Toggle ── */
.lang-toggle {
  display: flex; align-items: center; gap: 0;
  margin-left: 24px; flex-shrink: 0;
}
.lang-btn {
  font-family:"Raleway",sans-serif; font-weight:300;
  font-size:10px; letter-spacing:2px; text-transform:uppercase;
  color:rgba(245,246,250,0.4); background:none; border:none;
  cursor:pointer; padding:4px 8px; transition:color 0.2s;
}
.lang-btn.active { color:rgba(245,246,250,0.95); }
.lang-sep {
  font-size:9px; color:rgba(245,246,250,0.2);
  pointer-events:none; user-select:none;
}

/* ── i18n: hide/show by lang ── */
/* section-page와 충돌 방지: .i18n- prefix 사용 */
.i18n-ko { display:block; }
.i18n-en { display:none; }
.i18n-ko-inline { display:inline; }
.i18n-en-inline { display:none; }
.i18n-ko-li { display:list-item; }
.i18n-en-li { display:none; }

html.en .i18n-ko        { display:none !important; }
html.en .i18n-en        { display:block !important; }
html.en .i18n-ko-inline { display:none !important; }
html.en .i18n-en-inline { display:inline !important; }
html.en .i18n-ko-li     { display:none !important; }
html.en .i18n-en-li     { display:list-item !important; }
