
:root {
  --ink:#1C2333; --muted:#5D6677; --line:rgba(28,35,51,.12);
  --mint:#DDF5EE; --lav:#E7E3FA; --peach:#FCE9E1; --paper:#F8FBFA;
  --teal:#2E9C8F; --violet:#6D5FD3;
  --sans:"Inter","Noto Sans KR",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --dku-blue:var(--teal); --dku-dark-blue:var(--ink); --dku-deep-navy:var(--ink);
  --dku-light-blue:var(--mint); --border:var(--line); --gray:var(--muted); --light-gray:#F2F7F6;
}
body { font-family:var(--sans); font-weight:300; color:var(--ink); background:var(--paper); }
h1,h2,h3 { font-weight:400; letter-spacing:-.01em; }
strong { font-weight:500; }

header { background:rgba(248,251,250,.72); box-shadow:none; border-bottom:1px solid var(--line); }
.header-inner { min-height:72px; padding:10px 32px; }
.brand-logo-box { width:auto; height:36px; background:transparent; }
.brand-logo-box img { width:auto; height:36px; }
.brand-text strong { font-size:15px; font-weight:500; color:var(--ink); }
.brand-text span { font-size:11px; }
nav { gap:8px; }
nav a { padding:6px 13px; border:1px solid var(--line); border-radius:999px; font-family:var(--mono);
        font-size:11.5px; font-weight:400; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); background:rgba(255,255,255,.5); }
nav a::after { display:none; }
nav a:hover { border-color:var(--ink); color:var(--ink); }
nav a.active { background:var(--ink); color:#fff; border-color:var(--ink); }

.v2-hero { position:relative; overflow:hidden; min-height:calc(100vh - 72px);
  background:linear-gradient(135deg,#EAF8F3 0%,#F1EEFC 55%,#FDF0EA 100%); display:flex; align-items:center; }
.v2-blob { position:absolute; border-radius:50%; filter:blur(70px); opacity:.75; }
.v2-blob.b1 { width:520px; height:520px; left:-120px; top:-140px; background:#C9F0E4; }
.v2-blob.b2 { width:560px; height:560px; right:-160px; top:10%; background:#DAD3FA; }
.v2-blob.b3 { width:420px; height:420px; left:40%; bottom:-200px; background:#FBD9CC; }
.v2-hero-inner { position:relative; z-index:1; width:100%; max-width:1320px; margin:0 auto; padding:70px 40px;
  display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:30px; }
.v2-hero-panel { padding:44px 46px; border:1px solid rgba(28,35,51,.14); border-radius:28px;
  background:rgba(255,255,255,.42); backdrop-filter:blur(14px); }
.v2-label { font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; color:var(--muted); margin-bottom:22px; }
.v2-hero h1 { font-size:clamp(34px,3.9vw,54px); line-height:1.15; font-weight:300; margin-bottom:14px; word-break:keep-all; }
.v2-hero h2 { font-size:clamp(17px,1.6vw,22px); font-weight:300; color:var(--violet); margin-bottom:26px; }
.v2-hero p { font-size:17px; line-height:1.8; color:var(--muted); max-width:520px; word-break:keep-all; }
.v2-buttons { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.v2-btn { display:inline-flex; gap:10px; align-items:center; padding:12px 22px; border-radius:999px; background:var(--ink);
  color:#fff; text-decoration:none; font-size:14px; font-weight:400; transition:transform .2s ease; }
.v2-btn:hover { transform:translateY(-2px); }
.v2-btn-ghost { background:transparent; color:var(--ink); border:1px solid var(--ink); }

.v2-spheres { position:relative; height:540px; }
.np { position:absolute; display:block; border-radius:50%;
  box-shadow: inset -10px -14px 26px rgba(0,0,0,.10), 0 24px 40px rgba(60,50,110,.14);
  animation:떠다님 9s ease-in-out infinite; }
.np.rose { background:radial-gradient(circle at 32% 28%, #FFFFFF 0%, #F7C9C6 22%, #D98A93 62%, #B25E72 100%); }
.np.lav  { background:radial-gradient(circle at 32% 28%, #FFFFFF 0%, #D8D2FA 22%, #9C90E6 62%, #6C5FC9 100%); }
.np.mint { background:radial-gradient(circle at 32% 28%, #FFFFFF 0%, #CFF3E8 22%, #78CDB9 62%, #3E9F8C 100%); }
.np.gold { background:radial-gradient(circle at 32% 28%, #FFFFFF 0%, #FBEAC0 22%, #E2BE6A 62%, #B98D33 100%); }
.s1 { width:150px; height:150px; left:22%; top:18%; }
.s2 { width:110px; height:110px; left:52%; top:8%;  animation-delay:-2s; }
.s3 { width:90px;  height:90px;  left:44%; top:42%; animation-delay:-4s; }
.s4 { width:64px;  height:64px;  left:70%; top:30%; animation-delay:-1s; }
.s5 { width:46px;  height:46px;  left:12%; top:56%; animation-delay:-3s; }
.s6 { width:180px; height:180px; left:58%; top:52%; animation-delay:-5s; }
.s7 { width:56px;  height:56px;  left:34%; top:72%; animation-delay:-6s; }
.s8 { width:36px;  height:36px;  left:82%; top:12%; animation-delay:-2.5s; }
.s9 { width:30px;  height:30px;  left:6%;  top:30%; animation-delay:-7s; }
.s10{ width:72px;  height:72px;  left:84%; top:70%; animation-delay:-1.5s; }
.s11{ width:24px;  height:24px;  left:48%; top:86%; animation-delay:-3.5s; }
.s12{ width:40px;  height:40px;  left:26%; top:4%;  animation-delay:-4.5s; }
@keyframes 떠다님 { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-14px) } }
@media (prefers-reduced-motion: reduce) { .np { animation:none; } }

.v2-research { background:#fff; }
.v2-research-inner { max-width:1240px; margin:0 auto; padding:110px 40px; display:grid; grid-template-columns:.9fr 1.3fr; gap:70px; }
.v2-research-intro h2 { font-size:clamp(32px,3.4vw,48px); font-weight:300; line-height:1.2; margin-bottom:20px; }
.v2-research-intro p { color:var(--muted); font-size:16px; word-break:keep-all; }
.v2-research-list article { position:relative; display:grid; grid-template-columns:60px 1fr; column-gap:22px;
  padding:30px 0; border-top:1px solid var(--line); }
.v2-research-list article:last-child { border-bottom:1px solid var(--line); }
.v2-num { font-family:var(--mono); font-size:12px; color:var(--muted); padding-top:6px; }
.v2-research-list h3 { font-size:24px; margin-bottom:8px; grid-column:2; }
.v2-research-list p { color:var(--muted); grid-column:2; word-break:keep-all; }
.np.mini { position:absolute; right:0; top:30px; width:34px; height:34px; animation:none;
  box-shadow: inset -4px -6px 10px rgba(0,0,0,.10), 0 8px 14px rgba(60,50,110,.12); }

.v2-explore { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:1240px; margin:0 auto; padding:0 40px 110px; background:#fff; }
.v2-explore a { display:flex; flex-direction:column; gap:6px; padding:28px; border:1px solid var(--line); border-radius:22px;
  text-decoration:none; background:linear-gradient(135deg,#F3FBF8,#F5F3FD); transition:transform .2s ease, border-color .2s ease; }
.v2-explore a:hover { transform:translateY(-3px); border-color:var(--ink); }
.v2-explore .v2-label { margin-bottom:4px; }
.v2-explore strong { font-size:22px; font-weight:400; }
.v2-explore em { font-style:normal; color:var(--violet); }
.home main { background:#fff; }

.page-banner { text-align:left; padding:96px 8% 80px; color:var(--ink);
  background:radial-gradient(circle at 12% 20%, #C9F0E4, transparent 45%),
             radial-gradient(circle at 88% 30%, #DAD3FA, transparent 45%),
             radial-gradient(circle at 60% 120%, #FBD9CC, transparent 50%), #F4F8F7 !important; }
.page-banner span { font-family:var(--mono); font-weight:400; color:var(--muted); letter-spacing:.14em; font-size:12px; }
.page-banner h1 { font-weight:300; font-size:clamp(38px,5vw,62px); }
.page-banner p { margin:14px 0 0; color:var(--muted) !important; }
.section-heading { text-align:left; }
.section-heading span, .research-number, .profile-role, .member-position, .award-year, .contact-role {
  font-family:var(--mono); font-weight:400; letter-spacing:.1em; color:var(--violet); }
.section-heading h2, .year-title, .member-section-title { font-weight:300; }
.section-heading p { margin-left:0; }
.section-light { background:#F3F8F7; }
.about-card, .research-card, .profile-card, .member-card, .award-item, .contact-card, .publication-item {
  background:rgba(255,255,255,.75); border:1px solid var(--line); border-radius:22px; box-shadow:none; }
.research-card:hover { transform:translateY(-3px); box-shadow:none; border-color:var(--ink); }
.year-title, .member-section-title { border-bottom:1px solid var(--line); }
.publication-item::before { display:none; }
.tag { background:transparent; border:1px solid var(--line); border-radius:999px; font-weight:400; color:var(--ink); }
.publication-links a { border-radius:999px; }
.contact-page { background:linear-gradient(135deg,#EAF8F3,#F1EEFC 55%,#FDF0EA) !important; }
.contact-page .section-heading h2, .contact-page .section-heading p, .contact-page .section-heading span { color:var(--ink) !important; }
.map-box { border:1px solid var(--line); border-radius:22px; box-shadow:none; }
.button { border-radius:999px; }
footer { background:#F4F8F7 !important; color:var(--muted) !important; border-top:1px solid var(--line); }
footer strong { color:var(--ink); font-weight:500; }

@media (max-width: 960px) {
  .v2-hero-inner, .v2-research-inner { grid-template-columns:1fr; }
  .v2-spheres { height:320px; }
  .v2-explore { grid-template-columns:1fr; }
  nav { flex-wrap:wrap; justify-content:flex-start; }
}
