@charset "UTF-8";
/* Xu Laboratory Members pages — load AFTER common.css and top.css.
   Styles are scoped to .xu-members-page to avoid impacting other pages. */
.xu-members-page{--xm-navy:#173c50;--xm-teal:#168b91;--xm-line:#dce7e9;--xm-bg:#f5f9fa;--xm-text:#263c49;color:var(--xm-text);overflow-wrap:anywhere}
.xu-members-page *{box-sizing:border-box}
.xu-members-page .xu-members-hero{height:auto;min-height:0;position:relative;display:flex;align-items:center;background:linear-gradient(110deg,#173c50,#246f80);padding:38px max(22px,calc((100vw - 1050px)/2));}
.xu-members-page .xu-members-hero h1{position:static;transform:none;width:auto;margin:0;padding:0;color:#fff;font-family:'Roboto','Noto Sans JP',sans-serif;font-size:clamp(27px,3.1vw,38px);line-height:1.35;text-align:left;font-weight:700}
.xu-members-page .xu-members-hero p{font-size:14px;line-height:1.7;margin:8px 0 0;color:#e1f1f4}
.xu-members-page .xu-members-wrap{width:min(1050px,calc(100% - 40px));max-width:none;margin:0 auto;padding:38px 0 76px}
.xu-members-page .xu-members-breadcrumb{font-size:13px;line-height:1.6;margin-bottom:24px;color:#657780}
.xu-members-page .xu-members-breadcrumb a{color:var(--xm-teal);text-decoration:none}
.xu-members-page .xu-members-breadcrumb a:hover{text-decoration:underline}
.xu-members-page .xu-section{margin:0 0 48px}
.xu-members-page .xu-section-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:0 0 19px;padding:0 0 12px;border-bottom:2px solid var(--xm-line);font-family:'Roboto','Noto Sans JP',sans-serif;color:var(--xm-navy);font-size:clamp(20px,2.1vw,25px);line-height:1.45;text-align:left;font-weight:700}
.xu-members-page .xu-section-heading:before{content:"";display:inline-block;width:5px;height:24px;background:var(--xm-teal);border-radius:4px;margin-right:3px;align-self:center}
.xu-members-page .xu-section-heading small{font-size:13px;font-weight:500;color:#637986}
.xu-members-page .xu-intro{font-size:14px;line-height:1.85;color:#576d77;margin:0 0 22px}
/* The CMS list_member snippet normally emits .topic_list_pic list items. */
.xu-members-page .topic_list_pic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;align-items:stretch}
.xu-members-page .topic_list_pic>li{width:auto;min-width:0;margin:0;padding:0;border:1px solid var(--xm-line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(17,54,73,.05);transition:transform .2s,box-shadow .2s}
.xu-members-page .topic_list_pic>li:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(17,54,73,.11)}
.xu-members-page .topic_list_pic>li a{display:block;height:100%;color:var(--xm-navy);text-decoration:none}
.xu-members-page .topic_list_pic>li .thumb_img{height:auto;aspect-ratio:4/3;padding-bottom:0;background-color:#eef5f6;background-position:center;background-size:cover;overflow:hidden}
.xu-members-page .topic_list_pic>li .thumb_img img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:100%;width:100%;object-fit:contain;max-width:none;transition:transform .2s}
.xu-members-page .topic_list_pic>li a:hover .thumb_img img{width:100%;transform:translate(-50%,-50%) scale(1.025)}
.xu-members-page .topic_list_pic>li .text{margin:0;padding:15px 17px 18px}
.xu-members-page .topic_list_pic>li .text .post{font-size:12px;line-height:1.65;color:var(--xm-teal);font-weight:700;margin:0 0 7px}
.xu-members-page .topic_list_pic>li .text .name,.xu-members-page .topic_list_pic>li .text .title{font-size:17px;line-height:1.6;color:var(--xm-navy);max-height:none;overflow:visible;display:block;-webkit-line-clamp:unset;font-weight:700;margin:0}
.xu-members-page .topic_list_pic>li .text .name span{display:block;font-size:12px;font-weight:400;color:#697e88;line-height:1.65;margin-top:3px}
.xu-members-page .xu-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.xu-members-page .xu-link-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;background:#fff;border:1px solid var(--xm-line);border-radius:10px;color:var(--xm-navy);font-size:15px;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
.xu-members-page .xu-link-card:after{content:'→';font-size:19px;color:var(--xm-teal);font-weight:400;flex-shrink:0}
.xu-members-page .xu-link-card:hover{background:#eef8f8;border-color:var(--xm-teal);transform:translateY(-2px)}
.xu-members-page .xu-link-card:focus-visible,.xu-members-page a:focus-visible{outline:3px solid #4baab1;outline-offset:3px}
.xu-members-page .xu-back{display:inline-flex;align-items:center;gap:10px;margin-top:26px;padding:11px 20px;border:1px solid var(--xm-teal);border-radius:8px;color:var(--xm-teal);font-size:14px;font-weight:700;text-decoration:none}
.xu-members-page .xu-back:before{content:'←'}
.xu-members-page .xu-back:hover{background:#ecf6f6}
/* Member individual profile */
.xu-members-page .xu-profile{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:30px;border:1px solid var(--xm-line);border-radius:14px;background:#fff;padding:26px;box-shadow:0 8px 30px rgba(17,54,73,.05)}
.xu-members-page .xu-profile .member_box{display:contents}
.xu-members-page .xu-profile .member_item{width:auto;min-width:0}
.xu-members-page .xu-profile .member_item .top_img{width:100%;background:var(--xm-bg);border-radius:10px;overflow:hidden}
.xu-members-page .xu-profile .member_item .top_img img{width:100%;height:auto;display:block;max-width:100%;object-fit:contain}
.xu-members-page .xu-profile .member_text{list-style:none;margin:0;padding:0;border:none}
.xu-members-page .xu-profile .member_text li{border:0;border-bottom:1px solid #e8eff1;padding:13px 0}
.xu-members-page .xu-profile .member_text li:first-child{padding-top:0;color:var(--xm-teal);font-size:14px;font-weight:700}
.xu-members-page .xu-profile .member_text .name{font-size:clamp(23px,2.5vw,29px);font-weight:700;line-height:1.45;color:var(--xm-navy)}
.xu-members-page .xu-profile .member_text .name span{display:block;font-weight:400;font-size:16px;line-height:1.6;color:#6c8088;margin:5px 0 0}
.xu-members-page .xu-profile .member_mail a{color:var(--xm-teal);text-decoration:underline;text-underline-offset:3px}
.xu-members-page .xu-profile .article_main{font-size:15px;line-height:1.9;overflow-wrap:anywhere}
.xu-members-page .xu-profile .article_main p{font-size:15px;line-height:1.9;margin:0 0 12px}
.xu-members-page .xu-profile .article_main img{max-width:100%;height:auto}
/* Alumni / postdocs / destinations */
.xu-members-page .xu-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.xu-members-page .xu-data-card{border:1px solid var(--xm-line);background:#fff;border-radius:12px;padding:22px;min-width:0}
.xu-members-page .xu-data-card h2,.xu-members-page .xu-data-card h3{font-size:18px;line-height:1.5;font-weight:700;color:var(--xm-navy);margin:0 0 16px;padding:0 0 11px;border-bottom:2px solid #b7dcdd;text-align:left}
.xu-members-page .xu-name-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.xu-members-page .xu-name-list li{display:inline-block;max-width:100%;font-size:14px;line-height:1.5;color:var(--xm-text);border-radius:6px;background:#f2f7f8;padding:6px 10px;overflow-wrap:normal;word-break:keep-all}
.xu-members-page .xu-timeline{display:grid;gap:16px}
.xu-members-page .xu-year-card{background:#fff;border:1px solid var(--xm-line);border-radius:12px;padding:24px}
.xu-members-page .xu-year-card h2{font-size:22px;color:var(--xm-navy);margin:0 0 15px;padding:0 0 12px;border-bottom:2px solid #b7dcdd;text-align:left;line-height:1.5}
.xu-members-page .xu-year-card .xu-degree{font-size:15px;line-height:1.85;color:var(--xm-text);padding:10px 0;border-bottom:1px solid #edf2f3;word-break:normal;overflow-wrap:anywhere}
.xu-members-page .xu-year-card .xu-degree:last-child{border:none}
.xu-members-page .xu-year-card .xu-degree-label{font-size:13px;font-weight:700;color:#137882;background:#e4f3f3;border-radius:5px;padding:4px 8px;margin-right:7px;display:inline-block}
.xu-members-page .xu-year-card .xu-subinfo{color:#70828b;font-size:13px}
.xu-members-page .xu-careers{grid-template-columns:repeat(2,minmax(0,1fr))}
.xu-members-page .xu-careers .xu-data-card:first-child{grid-column:1 / -1}
.xu-members-page .xu-postdocs .xu-data-card{max-width:none}
.xu-members-page .xu-mini-note{font-size:13px;color:#617680;line-height:1.7;margin:0 0 20px}
@media(max-width:900px){
 .xu-members-page .topic_list_pic{grid-template-columns:repeat(2,minmax(0,1fr))}
 .xu-members-page .xu-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .xu-members-page .xu-profile{grid-template-columns:minmax(0,260px) minmax(0,1fr)}
}
@media(max-width:640px){
 .xu-members-page .xu-members-hero{padding:27px 20px}
 .xu-members-page .xu-members-hero h1{font-size:27px}
 .xu-members-page .xu-members-wrap{width:calc(100% - 32px);padding:26px 0 48px}
 .xu-members-page .xu-section{margin-bottom:36px}
 .xu-members-page .topic_list_pic{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .xu-members-page .topic_list_pic>li .text{padding:12px}
 .xu-members-page .topic_list_pic>li .text .name,.xu-members-page .topic_list_pic>li .text .title{font-size:14px}
 .xu-members-page .topic_list_pic>li .text .name span{font-size:11px}
 .xu-members-page .xu-link-grid,.xu-members-page .xu-card-grid,.xu-members-page .xu-careers{grid-template-columns:1fr}
 .xu-members-page .xu-careers .xu-data-card:first-child{grid-column:auto}
 .xu-members-page .xu-profile{grid-template-columns:1fr;padding:18px;gap:16px}
 .xu-members-page .xu-profile .member_box{display:contents}
 .xu-members-page .xu-profile .member_item:first-child{max-width:340px;width:100%;margin:0 auto}
 .xu-members-page .xu-year-card,.xu-members-page .xu-data-card{padding:18px}
}
@media(max-width:370px){.xu-members-page .topic_list_pic{grid-template-columns:1fr}.xu-members-page .topic_list_pic>li .thumb_img{aspect-ratio:5/3}}
@media(prefers-reduced-motion:reduce){.xu-members-page *{transition:none!important}}

/* v2: list_member snippet compatibility. The new list uses a real UL wrapper. */
.xu-members-page .topic_list_pic>li .thumb_img{position:relative;}
.xu-members-page .topic_list_pic>li .text .name-en{font-size:13px;line-height:1.55;color:#647c87;font-weight:400;margin:4px 0 0;overflow-wrap:anywhere;}
.xu-members-page .topic_list_pic>li .text .name{overflow-wrap:anywhere;word-break:normal;}
.xu-members-page .topic_list_pic>li .text .post{overflow-wrap:anywhere;}
@media(max-width:640px){.xu-members-page .topic_list_pic>li .text .name-en{font-size:12px;}}
/* Accessibility: keyboard focus on profile cards */
.xu-members-page .topic_list_pic>li:focus-within{outline:3px solid #4baab1;outline-offset:2px;}
