html{zoom:0.9;}

/* Faculty page override: header z-index */
header.site { z-index: 500; }

/* ===== Faculty page — typographic directory ===== */
.fac-glance{margin-top:6px;font-size:14px;color:var(--fg-3);}
.fac-glance strong{color:var(--ink-pine);font-weight:700;}

.dir-lede{font-size:15.5px;line-height:1.7;color:var(--fg-2);max-width:62ch;margin:0 0 30px;}

/* filter — quiet text tabs */
.fac-filter{display:flex;flex-wrap:wrap;gap:4px 26px;border-bottom:1px solid var(--border-cool);padding-bottom:0;margin:0 0 8px;}
.fac-tab{appearance:none;background:none;border:0;cursor:pointer;padding:0 0 12px;font-family:var(--font-cond);font-weight:700;font-size:13px;letter-spacing:.05em;color:var(--fg-4);position:relative;transition:color var(--dur-fast) var(--ease);}
.fac-tab .fac-tab-zh{font-family:var(--font-serif-cn);font-weight:400;font-size:12px;letter-spacing:.04em;margin-left:5px;color:inherit;}
.fac-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--zju-red);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease);}
.fac-tab:hover{color:var(--fg-2);}
.fac-tab.on{color:var(--ink-pine);}
.fac-tab.on::after{transform:scaleX(1);}

/* directory — simple text rows */
.fac-dir .fac-name{font-size:19px;}
.fac-title{display:block;font-size:13.5px;font-weight:500;color:var(--fg-3);}
.fac-row .fac-title{align-self:center;white-space:nowrap;}

/* featured — distinguished faculty (赵丰 profile style) */
.feat-list{margin-top:14px;}

/* administrative — leadership grid + office accordions */
.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 40px;margin-top:18px;}
.staff-card .p-name{font-family:var(--font-cond);font-weight:700;font-size:16.5px;letter-spacing:-.005em;color:var(--ink-pine);}
.staff-card .p-name-zh{font-family:var(--font-serif-cn);font-weight:400;font-size:12.5px;color:var(--fg-3);margin-left:6px;letter-spacing:.03em;}
.staff-card .p-role{font-size:12.5px;line-height:1.42;color:var(--zju-red);margin-top:4px;}
.staff-meta{margin-top:9px;display:flex;flex-direction:column;gap:3px;}
.sm-mail{align-self:flex-start;font-size:12.5px;color:var(--zju-red);text-decoration:none;border-bottom:1px solid rgba(140,20,25,.25);transition:border-color var(--dur-fast) var(--ease);}
.sm-mail:hover{border-bottom-color:var(--zju-red);}
.sm-tel{font-size:12.5px;color:var(--fg-3);font-variant-numeric:tabular-nums;}
.sm-loc{font-size:12px;color:var(--fg-4);line-height:1.5;}
.office-list{margin-top:30px;border-bottom:1px solid var(--border-cool);}
.office{border-top:1px solid var(--border-cool);}
.office>summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:13px;padding:20px 2px;font-family:var(--font-cond);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-pine);transition:color var(--dur-fast) var(--ease);}
.office>summary:hover{color:var(--zju-red);}
.office>summary::-webkit-details-marker{display:none;}
.office>summary .off-zh{font-family:var(--font-serif-cn);font-weight:400;font-size:13px;letter-spacing:.02em;color:var(--fg-3);text-transform:none;}
.office>summary::after{content:"+";margin-left:auto;color:var(--zju-red);font-size:20px;font-weight:400;line-height:1;}
.office[open]>summary::after{content:"\2013";}
.office .staff-grid{margin-top:6px;padding-bottom:30px;}
@media(max-width:900px){.staff-grid{grid-template-columns:repeat(2,1fr);gap:24px 32px;}}
@media(max-width:600px){.staff-grid{grid-template-columns:1fr;}}

/* unesco Members layout (people-grid + chair-card) */
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 40px;margin-top:18px;}
.person{display:block;text-decoration:none;}
.person .p-name{font-family:var(--font-cond);font-weight:700;font-size:16.5px;letter-spacing:-.005em;color:var(--ink-pine);transition:color var(--dur-fast) var(--ease);}
.person:hover .p-name{color:var(--zju-red);}
.person .p-name .p-name-zh{font-family:var(--font-serif-cn);font-weight:400;font-size:12.5px;color:var(--fg-3);margin-left:6px;letter-spacing:.03em;}
.person .p-role{font-size:12.5px;line-height:1.45;color:var(--zju-red);margin-top:3px;}
.person .p-int{font-size:13px;line-height:1.58;color:var(--fg-3);margin-top:7px;}
.chair-card{display:grid;grid-template-columns:128px 1fr;gap:28px;align-items:center;margin-top:6px;}
.chair-card .chair-photo{width:128px;height:128px;border-radius:50%;object-fit:cover;object-position:center 16%;border:1px solid var(--border-cool);}
.chair-card .chair-info .p-name{font-family:var(--font-cond);font-weight:700;font-size:24px;color:var(--ink-pine);}
.chair-card .chair-info .p-name .p-name-zh{font-family:var(--font-serif-cn);font-weight:400;font-size:15px;color:var(--fg-3);margin-left:9px;}
.chair-card .chair-info .p-role{font-size:13.5px;color:var(--zju-red);margin-top:6px;}
.chair-card .chair-info .p-int{font-size:14px;line-height:1.62;color:var(--fg-2);margin-top:10px;max-width:64ch;}
@media(max-width:880px){.people-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.people-grid{grid-template-columns:1fr;}.chair-card{grid-template-columns:96px 1fr;gap:18px;align-items:flex-start;}.chair-card .chair-photo{width:96px;height:96px;}}

.feat-prof{display:grid;grid-template-columns:132px 1fr;gap:32px;align-items:start;padding:36px 0;border-top:1px solid var(--border-cool);}
.feat-prof:first-child{border-top:2px solid var(--zju-red);}
.fp-photo{width:132px;height:132px;border-radius:50%;object-fit:cover;object-position:center 12%;border:1px solid var(--border-cool);background:var(--paper-rice);filter:saturate(1.02);}
.fp-head{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap;}
.fp-name{font-family:var(--font-cond);font-weight:700;font-size:27px;letter-spacing:-.01em;color:var(--ink-pine);}
.fp-name-zh{font-family:var(--font-serif-cn);font-size:16px;color:var(--fg-3);letter-spacing:.04em;}
.fp-tags{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 19px;}
.fp-tags span{font-family:var(--font-cond);font-weight:700;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);border:1px solid var(--border-cool);padding:4px 9px;}
.fp-tags span.on{background:var(--zju-red);color:#fff;border-color:var(--zju-red);}
.fp-fields{margin:0;display:grid;gap:12px;}
.fp-fields>div{display:grid;grid-template-columns:108px 1fr;gap:18px;align-items:baseline;}
.fp-fields dt{font-family:var(--font-cond);font-weight:700;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--zju-red);}
.fp-fields dd{margin:0;font-size:14px;line-height:1.62;color:var(--fg-2);}
.fp-fields dd a{color:var(--ink-pine);text-decoration:none;border-bottom:1px solid var(--border-cool);}
.fp-fields dd a:hover{border-bottom-color:var(--zju-red);color:var(--zju-red);}
@media(max-width:680px){.feat-prof{grid-template-columns:104px 1fr;gap:20px;padding:28px 0;}.fp-photo{width:104px;height:132px;}.fp-fields>div{grid-template-columns:1fr;gap:2px;}.fp-name{font-size:23px;}}

/* directory — by department */
.fac-dir{margin-top:6px;}
.fac-dept{margin-top:48px;}
.fac-dept:first-child{margin-top:34px;}
.fac-dept.hide{display:none;}
.fac-dept-h{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:14px;border-bottom:2px solid var(--zju-red);}
.fac-dept-en{font-family:var(--font-cond);font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-pine);}
.fac-dept-zh{font-family:var(--font-serif-cn);font-size:13px;color:var(--fg-4);letter-spacing:.04em;}
.fac-dept-n{color:var(--zju-red);}

.fac-list{display:block;border-top:1px solid var(--border-cool);margin-top:8px;}
.fac-row{display:grid;grid-template-columns:1fr auto;gap:8px 40px;align-items:baseline;padding:17px 2px;border-bottom:1px solid var(--border-cool);text-decoration:none;transition:background var(--dur-fast) var(--ease);}
.fac-row:hover{background:rgba(140,20,25,.018);}
.fac-id{min-width:0;}
.fac-name{display:block;font-family:var(--font-cond);font-weight:700;font-size:22px;line-height:1.12;letter-spacing:-.01em;color:var(--ink-pine);transition:color var(--dur-fast) var(--ease);}
.fac-row:hover .fac-name{color:var(--zju-red);}
.fac-name-zh{display:inline-block;margin-top:5px;font-family:var(--font-serif-cn);font-size:14px;color:var(--fg-3);letter-spacing:.04em;}
.fac-meta{min-width:0;}
.fac-title{display:block;font-size:14px;font-weight:500;color:var(--fg-2);margin-bottom:3px;}
.fac-areas{display:block;font-size:13.5px;line-height:1.62;color:var(--fg-3);}
.fac-mail{justify-self:end;align-self:center;white-space:nowrap;font-family:var(--font-cond);font-weight:700;font-size:12.5px;letter-spacing:.03em;color:var(--zju-red);opacity:.85;transition:opacity var(--dur-fast) var(--ease);}
.fac-row:hover .fac-mail{opacity:1;}

.fac-note{margin-top:26px;font-size:12.5px;line-height:1.6;color:var(--fg-4);}
.fac-note a{color:var(--zju-red);text-decoration:none;border-bottom:1px solid rgba(140,20,25,.3);}
.fac-note a:hover{border-bottom-color:var(--zju-red);}

/* administrative staff */
.staff-list{margin-top:8px;border-top:2px solid var(--zju-red);}
.staff-item{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) auto;gap:8px 36px;align-items:baseline;
  padding:20px 2px;border-bottom:1px solid var(--border-cool);}
.staff-role{font-family:var(--font-cond);font-weight:700;font-size:15px;letter-spacing:.01em;color:var(--ink-pine);}
.staff-name{font-size:14px;line-height:1.55;color:var(--fg-2);}
.staff-mail{justify-self:end;white-space:nowrap;font-family:var(--font-body);font-size:13.5px;color:var(--zju-red);text-decoration:none;border-bottom:1px solid rgba(140,20,25,.3);}
.staff-mail:hover{border-bottom-color:var(--zju-red);}

/* open positions — reuse fac-row grid */
.pos-list{margin-top:8px;border-top:2px solid var(--zju-red);}
.pos-row{display:grid;grid-template-columns:minmax(0,4.2fr) minmax(0,5.2fr) auto;gap:10px 40px;align-items:baseline;
  padding:24px 2px;border-bottom:1px solid var(--border-cool);text-decoration:none;}
.pos-row:hover .fac-name{color:var(--zju-red);}
.pos-row:hover .fac-mail{opacity:1;transform:translateX(3px);}
.pos-row .fac-mail{transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);}

@media(max-width:760px){
  .fac-row,.pos-row{grid-template-columns:1fr;gap:8px;padding:20px 2px;}
  .fac-mail{justify-self:start;align-self:auto;}
  .fac-name{font-size:20px;}
  .staff-item{grid-template-columns:1fr;gap:4px;}
  .staff-mail{justify-self:start;}
  .fac-filter{gap:4px 18px;}
}
