:root{color-scheme:light;--ink:#252b30;--muted:#717983;--line:#e0e4e8;--accent:#476eaa}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:#f5f6f8;color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;letter-spacing:0;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
header,main{width:min(1060px,calc(100% - 48px));margin:auto}
header{display:flex;align-items:center;justify-content:space-between;padding:30px 0}
.wordmark{font-size:17px;font-weight:750}
main{padding:14px 0 64px}
h1{font-size:17px;line-height:1.6;font-weight:750;margin:0}
.service-group h2{margin:0 0 12px;font-size:18px;line-height:1.6;font-weight:650}
.service-group+.service-group{margin-top:36px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 5px 18px rgb(30 40 50 / 4%);transition:transform .18s,box-shadow .18s}
.service-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgb(30 40 50 / 9%)}
.service-card:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.cover{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:#eef1f4;border-bottom:1px solid var(--line)}
.cover.taxonomy,.cover.lab{object-fit:contain;background:#fff}
.recruitment-cover{display:grid;place-items:center;background:#edf3f0;color:#34604c;font-size:28px;font-weight:650}
.service-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px 0}
.service-copy:last-child{padding-bottom:18px;min-height:86px}
.service-copy strong{font-size:17px;font-weight:650;overflow-wrap:anywhere}
.service-copy>span{color:var(--muted);flex-shrink:0}
.service-card p{margin:4px 18px 18px;font-size:13px;color:var(--muted)}
@media(max-width:700px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-copy{padding:14px 14px 0}.service-card p{margin:4px 14px 15px}.service-copy strong{font-size:16px}}
@media(max-width:440px){header,main{width:calc(100% - 36px)}header{padding:23px 0}main{padding:14px 0 40px}.service-grid{grid-template-columns:1fr}.cover{aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){.service-card{transition:none}.service-card:hover{transform:none}}
