:root{--p:#8B2244;--pd:#5E1630;--pt:#F6E3E9;--pt2:#FBF3F6;--a:#8A5600;--ab:#8F5A00;--at:#FBEFD9;--at2:#FFF9EE;--ad:#F2C46D;--ink:#1E1519;--bg:#F7F4F5;--dm:#D8C9CE}
body[data-s="path"]{--p:#8B2244;--pd:#5E1630;--pt:#F6E3E9;--pt2:#FBF3F6;--a:#8A5600;--ab:#8F5A00;--at:#FBEFD9;--at2:#FFF9EE;--ad:#F2C46D;--ink:#1E1519;--bg:#F7F4F5;--dm:#D8C9CE}
body[data-s="bio"]{--p:#1B6A4D;--pd:#104432;--pt:#DCEFE6;--pt2:#F0F8F4;--a:#8C2E69;--ab:#9A3474;--at:#F6E3EF;--at2:#FCF4F9;--ad:#F2A9D2;--ink:#11201A;--bg:#F3F7F5;--dm:#C4D4CC}
body[data-s="micro"]{--p:#4A3E9E;--pd:#2F2774;--pt:#E8E5F7;--pt2:#F5F3FB;--a:#A83F1A;--ab:#AE431C;--at:#FCE7DD;--at2:#FFF6F1;--ad:#FFB58F;--ink:#17152B;--bg:#F5F4FA;--dm:#CDC9E1}
body[data-s="immuno"]{--p:#1C4D8E;--pd:#123462;--pt:#DFE9F6;--pt2:#F1F5FB;--a:#AE2A3D;--ab:#B02D42;--at:#FBE4E8;--at2:#FFF5F7;--ad:#FF9DAC;--ink:#0F1A2E;--bg:#F3F6FA;--dm:#C6D0DF}
body[data-s="pharm"]{--p:#97490F;--pd:#683108;--pt:#F8E8D8;--pt2:#FCF5EE;--a:#0D6670;--ab:#0E6A75;--at:#DCEFF1;--at2:#F2FAFA;--ad:#80D6DD;--ink:#22170F;--bg:#F8F5F1;--dm:#D9CCBF}

body{margin:0;background:var(--bg)}a{color:var(--p)}a:hover{color:var(--pd)}
.pg{width:100%;min-height:100vh;box-sizing:border-box;background:var(--bg);font-family:Manrope,sans-serif;color:#2B3547}
.wrap{max-width:1240px;margin:0 auto;box-sizing:border-box;padding:28px clamp(16px,4vw,48px) 40px;display:flex;flex-direction:column;gap:22px}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;font-weight:700}
.nb{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:10px 16px;border-radius:999px;text-decoration:none;background:var(--pt);color:var(--pd)}
.nb:hover{background:var(--p);color:#FFFFFF}.nb.ix{background:var(--ink);color:#FFFFFF}
.loc{margin-left:auto;font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--a)}
.hd{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 28px}
.hl{display:flex;flex-direction:column;gap:8px;flex:1 1 560px;min-width:0}
.tags{display:flex;flex-wrap:wrap;gap:10px}
.t1{font-size:12px;font-weight:800;letter-spacing:.14em;color:#FFFFFF;background:var(--p);padding:6px 12px;border-radius:999px}
.t2{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--p);background:var(--pt);padding:6px 12px;border-radius:999px}
.ttl{margin:0;font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:clamp(36px,5vw,54px);line-height:1;color:var(--ink);letter-spacing:-.02em}
.sub{margin:0;font-size:17px;font-weight:600;color:#56627A}
.fo{flex:0 1 360px;background:#FFFFFF;border:1px solid #DCE2EC;border-radius:16px;padding:14px 18px;font-size:13px;line-height:1.45}
.fo .k{font-size:11.5px;font-weight:800;letter-spacing:.12em;color:var(--a);margin-bottom:4px}
.card{background:#FFFFFF;border-radius:22px;border:1px solid #DCE2EC;overflow:hidden}
.scr{overflow-x:auto}.tbl{min-width:1040px}
.r{display:grid;gap:18px;padding:12px 20px;border-bottom:1px solid #E8ECF3;align-items:center;font-size:13.5px;line-height:1.42}
.r:last-child{border-bottom:0}.r:nth-child(odd){background:#FAFBFD}
.r.h{background:var(--ink);color:#FFFFFF;font-size:12px;font-weight:800;letter-spacing:.12em}
.k3{grid-template-columns:220px minmax(0,1fr) 330px}
.k4{grid-template-columns:200px minmax(0,1fr) minmax(0,1fr) 270px}
.k5{grid-template-columns:170px repeat(4,minmax(0,1fr))}
.kd{grid-template-columns:112px 210px minmax(0,1fr) 300px}
.nm{font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:18px;line-height:1.15;color:var(--ink)}
.tg{margin-top:3px;color:var(--a);font-weight:700;font-size:12.5px}
.mu{color:#3E4A60}b{font-weight:800;color:var(--ink)}
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr));gap:20px;align-items:start}
.pn{background:#FFFFFF;border-radius:22px;border:1px solid #DCE2EC;padding:22px 24px;display:flex;flex-direction:column;gap:12px;font-size:13.5px;line-height:1.45}
.pn p{margin:0}
.pn h2,.dk h2{margin:0;font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:22px;color:var(--ink)}
.dk{background:var(--ink);color:#E6EAF2;border-radius:22px;padding:22px 24px;display:flex;flex-direction:column;gap:10px;font-size:13px;line-height:1.4}
.dk h2{color:#FFFFFF}.dk b{color:var(--ad)}
.ls{display:flex;flex-direction:column;gap:7px}
.cg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px}
.bx{border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.42}.bx .bt{font-weight:800;margin-bottom:4px}
.vi{background:#F1EFFB}.vi .bt{color:#3D3480}.te{background:#DDEFF0}.te .bt{color:#134A50}
.ro{background:#FBE6EA}.ro .bt{color:#8E2238}.am{background:#FFF1DE}.am .bt{color:#7A4A06}
.fl{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px}
.st{flex:1 1 120px;background:#EEF1F6;border-radius:12px;padding:10px 12px;font-size:12.5px;line-height:1.38}
.st b{display:block;font-size:13px;margin-bottom:2px}.st.x{background:var(--at)}
.ar{align-self:center;font-weight:800;font-size:18px;color:var(--ab)}
.mt{display:grid;border:1px solid #E3E8F0;border-radius:14px;overflow:hidden;font-size:13px;line-height:1.38}
.mt>div{padding:8px 12px;border-top:1px solid #E8ECF3}.mt>.mh{background:#EEF1F6;font-weight:800;font-size:12px;letter-spacing:.06em;border-top:0}
.m2{grid-template-columns:repeat(2,minmax(0,1fr))}.m3{grid-template-columns:130px repeat(2,minmax(0,1fr))}.m4{grid-template-columns:120px repeat(3,minmax(0,1fr))}
.tr{display:flex;flex-direction:column;gap:10px}.tr .q{font-size:11.5px;font-weight:800;letter-spacing:.1em;color:var(--a);display:block;margin-bottom:2px}
.ft{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#6B778C;font-weight:600;border-top:1px solid #DCE2EC;padding-top:16px}
.o{fill:#F7F9FC;stroke:#8E9AAE;stroke-width:1.1}.w{fill:#E3E8F0;stroke:#B8C2D2;stroke-width:.8}.gy{fill:#C3CDDD}.hit{fill:#D93F5A}.sf{fill:#D93F5A;opacity:.45}.tl{fill:#1F6F78}.ln{stroke:#6B778C;stroke-width:1;fill:none}.lb{font-family:Manrope,sans-serif;font-size:11px;font-weight:700;fill:#2B3547}
.kg{grid-template-columns:112px 190px minmax(0,1fr) minmax(0,1fr) 230px}.tbl.wd{min-width:1160px}.r.ky{background:var(--pt2)}.ky .lg{grid-column:2/-1;color:#3E4A60;font-size:13px}.ky .lg b{color:var(--pd)}.dgr{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.fg{margin:0;background:#FAFBFD;border:1px solid #E8ECF3;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.fg svg{width:100%;height:auto;display:block}.fg figcaption{font-size:12.5px;line-height:1.38;color:#3E4A60}.fg figcaption b{display:block;font-size:13px;color:var(--ink);margin-bottom:2px}.fn{font-size:12px;color:#6B778C}.dgr.w1{grid-template-columns:minmax(0,760px)}

.ix-h{display:flex;flex-direction:column;gap:10px}
.ix-t{margin:0;font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:clamp(40px,6vw,64px);line-height:1;color:var(--ink);letter-spacing:-.02em}
.ix-box{background:#fff;border:1px solid #DCE2EC;border-radius:20px;padding:16px 20px;display:flex;flex-direction:column;gap:12px}
.ix-k{font-size:12px;font-weight:800;letter-spacing:.12em;color:#56627A}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;box-sizing:border-box;padding:8px 14px;border-radius:999px;background:#EEF1F6;color:var(--ink);font-size:13.5px;font-weight:700;text-decoration:none}
.chip span{font-weight:800;color:var(--p)}.chip:hover{background:var(--p);color:#fff}.chip:hover span{color:#fff}
.part{display:flex;flex-direction:column;gap:18px}
.ph{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;background:var(--ink);color:#fff;border-radius:18px;padding:16px 22px}
.ph b{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--ad)}
.ph strong{font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:26px}
.ph i{margin-left:auto;font-style:normal;font-size:13px;font-weight:600;color:var(--dm)}
.chs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:18px;align-items:start}
.ch{background:#fff;border:1px solid #DCE2EC;border-radius:22px;overflow:hidden;scroll-margin-top:16px}
.chh{display:flex;align-items:center;gap:14px;padding:16px 20px;background:#FAFBFD;border-bottom:1px solid #E8ECF3}
.chh .n{font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:34px;line-height:1;color:var(--p)}
.chh h2{margin:0;font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:20px;color:var(--ink)}
.chh small{font-size:12.5px;font-weight:700;color:#56627A}
.po{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 20px;border-top:1px solid #F0F2F7;text-decoration:none;color:#2B3547;background:var(--at2)}
.po:hover{background:var(--at)}
.po .c{font-size:13px;font-weight:800;color:var(--a)}
.po .tt{display:flex;flex-direction:column;gap:2px}.po .tt b{font-size:15px;font-weight:800;color:var(--ink)}.po .tt span{font-size:12.5px;line-height:1.38;color:#56627A}
.po .go{font-size:12px;font-weight:800;color:#fff;background:var(--ab);padding:5px 10px;border-radius:999px;white-space:nowrap}

.tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:10px}
.tab{display:flex;flex-direction:column;gap:2px;min-height:64px;box-sizing:border-box;padding:12px 18px;border-radius:16px;text-decoration:none;background:#fff;color:#141B2B;border:1px solid #DCE2EC}
.tab b{font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:21px}.tab span{font-size:12.5px;font-weight:700;color:#56627A}
.tab.on{color:#fff}
.tab[data-k="path"] b{color:#8B2244}.tab.on[data-k="path"]{background:#8B2244;border-color:#8B2244}.tab.on[data-k="path"] span{color:#F6E3E9}.tab[data-k="path"]:hover{border-color:#8B2244}
.tab[data-k="bio"] b{color:#1B6A4D}.tab.on[data-k="bio"]{background:#1B6A4D;border-color:#1B6A4D}.tab.on[data-k="bio"] span{color:#DCEFE6}.tab[data-k="bio"]:hover{border-color:#1B6A4D}
.tab[data-k="micro"] b{color:#4A3E9E}.tab.on[data-k="micro"]{background:#4A3E9E;border-color:#4A3E9E}.tab.on[data-k="micro"] span{color:#E8E5F7}.tab[data-k="micro"]:hover{border-color:#4A3E9E}
.tab[data-k="immuno"] b{color:#1C4D8E}.tab.on[data-k="immuno"]{background:#1C4D8E;border-color:#1C4D8E}.tab.on[data-k="immuno"] span{color:#DFE9F6}.tab[data-k="immuno"]:hover{border-color:#1C4D8E}
.tab[data-k="pharm"] b{color:#97490F}.tab.on[data-k="pharm"]{background:#97490F;border-color:#97490F}.tab.on[data-k="pharm"] span{color:#F8E8D8}.tab[data-k="pharm"]:hover{border-color:#97490F}
.tab.on b{color:#fff}
