/* ============================================================
   门户页 —— 莱茵生命式·科研企业未来主义
   ------------------------------------------------------------
   规范见 site/style.css 末尾的「实现约定」：
     · 暖灰白 #E8E5E1 / 暖黑 #080A08
     · 单一低饱和香槟金作为强调色，面积 <5%
     · 直角、细分割线、无大圆角、无重阴影、无蓝紫霓虹
     · MiSans（回退到系统无衬线）
   ============================================================ */
:root{
  --paper:#E8E5E1; --ink:#080A08; --gold:#B08D4F;
  --line:rgba(8,10,8,0.14); --dim:rgba(8,10,8,0.55);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:var(--paper); color:var(--ink);
  font-family:MiSans,"HarmonyOS Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:14px; line-height:1.6;
  display:flex; flex-direction:column;
  -webkit-font-smoothing:antialiased;
}
header{
  padding:34px 44px 22px;
  border-bottom:1px solid var(--line);
  display:flex; align-items:baseline; gap:14px;
}
.brand{font-size:17px; letter-spacing:.22em; font-weight:600}
.brand-en{font-size:10px; letter-spacing:.28em; color:var(--dim); text-transform:uppercase}
main{flex:1; padding:44px; max-width:1180px; width:100%; margin:0 auto}
h1{font-size:12px; letter-spacing:.3em; color:var(--dim); font-weight:500; text-transform:uppercase; margin-bottom:26px}
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line)}
.card{
  background:var(--paper); padding:26px 24px 22px; min-height:190px;
  display:flex; flex-direction:column; text-decoration:none; color:inherit;
  transition:background .12s linear;
}
a.card:hover{background:#EDEAE7}
a.card:hover .go{color:var(--gold)}
.tag{
  font-size:10px; letter-spacing:.2em; color:var(--dim); text-transform:uppercase;
  border:1px solid var(--line); padding:2px 7px; align-self:flex-start; margin-bottom:16px;
}
.tag.live{border-color:var(--gold); color:var(--gold)}
.name{font-size:21px; font-weight:600; letter-spacing:.04em; margin-bottom:6px}
.name-en{font-size:10px; letter-spacing:.24em; color:var(--dim); text-transform:uppercase; margin-bottom:14px}
.desc{font-size:13px; color:var(--dim); flex:1}
.go{font-size:11px; letter-spacing:.18em; color:var(--dim); margin-top:16px; transition:color .12s linear}
.card.soon{opacity:.5}
footer{
  padding:18px 44px; border-top:1px solid var(--line);
  font-size:11px; color:var(--dim); letter-spacing:.06em;
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}