/*
Theme Name: DH Lab 门户 V2
Description: 中国社会科学院文学研究所视觉体系下的数字人文学术门户主题。
Version: 2.1.2
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: dh-lab-v2
*/
:root{--navy:#0d3457;--navy-dark:#082640;--red:#971822;--red-dark:#761219;--gold:#8a704a;--ink:#20252a;--muted:#68727b;--paper:#f5f3ee;--pale:#edf2f5;--white:#fff;--line:#d8dde1;--container:1360px;--reading:850px;--serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;--sans:"Noto Sans SC","Source Han Sans SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.8 var(--sans);text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select{font:inherit}.site-container{width:calc(100% - 64px);max-width:var(--container);margin-left:auto;margin-right:auto;width:min(var(--container),calc(100% - 64px));margin-inline:auto}.screen-reader-text,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{z-index:1000;top:10px;left:10px;width:auto;height:auto;padding:10px 16px;clip:auto;background:#fff;color:var(--navy)}
.institution-bar{height:34px;background:var(--red-dark);color:#fff;font-size:12px;letter-spacing:.04em}.institution-bar .site-container{height:100%;display:flex;align-items:center;justify-content:space-between}.institution-bar a{color:#f1d7d8}.site-header{position:relative;z-index:50;background:#fff}.brand-row{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:30px}.site-brand{display:flex;align-items:center;gap:22px}.site-brand__mark{display:grid;place-items:center;flex:0 0 66px;height:66px;border:2px solid var(--red);color:var(--red);font:700 22px Georgia,serif;letter-spacing:.06em}.site-brand strong{display:block;color:var(--navy);font:700 clamp(24px,2.1vw,34px)/1.35 var(--serif);letter-spacing:.06em}.site-brand small{display:block;margin-top:6px;color:#65727c;font:11px/1.5 Georgia,serif;letter-spacing:.11em;text-transform:uppercase}.header-tools{display:flex;align-items:center;gap:12px}.search-toggle,.platform-button{border:1px solid var(--line);background:#fff;padding:11px 18px;color:var(--navy);font-size:14px}.platform-button{border-color:var(--navy);background:var(--navy);color:#fff}.search-toggle:hover,.search-toggle:focus-visible{border-color:var(--red);color:var(--red)}.platform-button:hover,.platform-button:focus-visible{background:var(--red);border-color:var(--red)}.menu-toggle{display:none;width:46px;height:42px;padding:10px;border:0;background:var(--navy)}.menu-toggle>span:not(.screen-reader-text){display:block;height:2px;margin:4px;background:#fff}.header-search{display:none;border-top:1px solid var(--line);background:var(--paper)}.header-search.is-open{display:block}.search-form{display:flex;align-items:center;gap:15px;padding-block:20px}.search-form label{font-weight:700;color:var(--navy)}.search-form input{flex:1;min-height:46px;border:1px solid var(--line);padding:8px 14px;background:#fff}.search-form button,.filter-bar button{min-height:46px;border:0;padding:9px 24px;background:var(--red);color:#fff}.primary-nav{border-top:1px solid var(--line);border-bottom:4px solid var(--red)}.primary-nav ul{display:flex;align-items:center;justify-content:space-between;margin:0;padding:0;list-style:none}.primary-nav li{position:relative;flex:1;text-align:center}.primary-nav a{display:block;padding:16px 12px;color:var(--navy);font-size:17px;font-weight:700;letter-spacing:.06em}.primary-nav li+li{border-left:1px solid #e5e8ea}.primary-nav a:hover,.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:var(--red);background:#faf8f4}
.hero-slider{position:relative;height:clamp(520px,48vw,720px);overflow:hidden;background:var(--navy-dark);color:#fff}.hero-slider__track,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;visibility:hidden;transition:opacity .75s ease}.hero-slide.is-active{opacity:1;visibility:visible}.hero-slide__image,.hero-slide__image img{width:100%;height:100%}.hero-slide__image img{object-fit:cover}.hero-slide__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,27,46,.93) 0%,rgba(4,27,46,.72) 38%,rgba(4,27,46,.14) 75%),linear-gradient(0deg,rgba(4,27,46,.42),transparent 55%)}.hero-slide__content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-bottom:60px}.hero-label,.content-type,.eyebrow{margin:0 0 13px;color:var(--red);font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.hero-label{color:#efb9bd}.hero-slide h1{max-width:930px;margin:0;font:700 clamp(38px,4.4vw,68px)/1.25 var(--serif);letter-spacing:.025em;text-wrap:balance}.hero-slide h1 a:hover{text-decoration:underline;text-underline-offset:9px}.hero-slide__content>p:not(.hero-label){max-width:720px;margin:22px 0 0;color:rgba(255,255,255,.82);font-size:18px;line-height:1.9}.hero-link{margin-top:30px;padding-bottom:6px;border-bottom:2px solid var(--red);font-weight:700}.hero-link span,.text-link span{margin-left:9px}.hero-controls{position:absolute;z-index:4;left:50%;bottom:30px;transform:translateX(-50%);display:flex;align-items:center;gap:16px}.hero-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.5);background:rgba(8,38,64,.45);color:#fff;cursor:pointer}.hero-controls .hero-pause{width:auto;padding-inline:14px;font-size:12px}.hero-dots{display:flex;gap:9px}.hero-dots button{width:32px;height:3px;padding:0;border:0;background:rgba(255,255,255,.35)}.hero-dots button[aria-selected=true]{background:#fff}.hero-counter{font-family:Georgia,serif}.hero-counter b{font-size:20px}.institution-hero{padding:110px 0;background:linear-gradient(120deg,var(--navy-dark),var(--navy));color:#fff}.institution-hero h1{max-width:850px;margin:0;font:700 clamp(44px,6vw,76px)/1.25 var(--serif)}.institution-hero>div>p:not(.eyebrow){max-width:780px;font-size:19px}
.home-intro{background:var(--paper);border-bottom:1px solid var(--line)}.home-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 80px;padding-block:64px}.home-intro h2,.section-heading h2,.team-intro h2,.about-layout h2,.contact-grid h2{margin:0;color:var(--navy);font:700 clamp(32px,3.3vw,48px)/1.45 var(--serif)}.home-intro__grid>div:nth-child(2)>p{margin-top:0;color:#4c575f;font-size:17px}.quick-links{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bdc5ca;border-bottom:1px solid #bdc5ca}.quick-links a{display:flex;align-items:center;gap:18px;padding:20px 25px;color:var(--navy);font-weight:700}.quick-links a+a{border-left:1px solid #bdc5ca}.quick-links span{color:var(--red);font:15px Georgia,serif}.quick-links a:hover{background:#fff}
.section{padding:86px 0}.section--news{background:#fff}.section--outputs{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px;padding-bottom:20px;border-bottom:1px solid var(--line)}.section-heading h2{font-size:clamp(34px,3.2vw,46px)}.section-heading .eyebrow{margin-bottom:5px}.text-link{display:inline-flex;align-items:center;color:var(--red);font-size:14px;font-weight:700}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.news-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:54px}.lead-story__image{height:400px;overflow:hidden;background:var(--navy)}.lead-story__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.lead-story:hover .lead-story__image img{transform:scale(1.025)}.media-placeholder,.person-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,var(--navy),#315b78);color:rgba(255,255,255,.48);font:700 28px Georgia,serif;letter-spacing:.12em}.lead-story>div{padding:28px 4px}.lead-story h3,.content-card h2,.output-list h3,.news-list h3,.people-preview h3,.person-record h3,.news-archive h2{margin:0;color:var(--navy);font:700 25px/1.55 var(--serif)}.lead-story>div>p:not(.content-type){color:var(--muted)}.news-list{border-top:2px solid var(--navy)}.news-list article{display:grid;grid-template-columns:74px 1fr;gap:22px;padding:23px 0;border-bottom:1px solid var(--line)}.news-list time{display:flex;flex-direction:column;align-items:center;justify-content:center;height:70px;background:var(--pale);color:var(--navy)}.news-list time b{font:700 30px/1 Georgia,serif}.news-list time span{font-size:11px}.news-list p{margin:0 0 3px;color:var(--red);font-size:11px}.news-list h3{font-size:18px}.news-list h3 a:hover,.lead-story h3 a:hover{color:var(--red)}
.output-list{border-top:2px solid var(--navy)}.output-list article{display:grid;grid-template-columns:75px minmax(0,1.5fr) minmax(300px,.7fr);gap:28px;align-items:start;padding:28px 0;border-bottom:1px solid #ccd1d3}.output-number{color:#aeb5ba;font:28px Georgia,serif}.output-list h3{font-size:22px}.output-list article>div>p:last-child{margin-bottom:0;color:var(--muted)}.output-list dl{margin:0}.output-list dl>div{display:grid;grid-template-columns:54px 1fr;padding:5px 0}.output-list dt{color:var(--muted);font-size:12px}.output-list dd{margin:0;color:#39434a;font-size:13px}.project-grid,.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.content-card{display:flex;min-height:300px;border:1px solid var(--line);background:#fff}.content-card__media{flex:0 0 39%;overflow:hidden;background:var(--pale)}.content-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.content-card:hover .content-card__media img{transform:scale(1.035)}.content-card__body{display:flex;flex:1;flex-direction:column;padding:30px}.content-card h2{font-size:23px}.content-card__body>p:not(.content-type){color:var(--muted)}.content-card__footer{display:flex;justify-content:space-between;gap:15px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.content-card__footer a{color:var(--red);font-weight:700}
.resource-section{background:var(--navy-dark);color:#fff}.resource-section .section-heading{border-color:rgba(255,255,255,.2)}.resource-section .section-heading h2{color:#fff}.resource-section .eyebrow,.resource-section .text-link{color:#e3a8ac}.resource-columns{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.22)}.resource-column+.resource-column{border-left:1px solid rgba(255,255,255,.22)}.resource-column header{padding:28px 30px;border-bottom:1px solid rgba(255,255,255,.22)}.resource-column header span{color:#d9a8ab;font:12px Georgia,serif;letter-spacing:.12em;text-transform:uppercase}.resource-column h3{margin:4px 0 0;font:700 28px var(--serif)}.resource-column>a{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:22px 30px;border-bottom:1px solid rgba(255,255,255,.14)}.resource-column>a:last-child{border-bottom:0}.resource-column>a strong{font:600 17px var(--serif)}.resource-column>a small{color:rgba(255,255,255,.58)}.resource-column>a span{grid-column:2;grid-row:1/3;align-self:center}.resource-column>a:hover{background:rgba(255,255,255,.07)}
.people-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.person-photo{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--navy)}.person-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:filter .35s ease,transform .45s ease}.people-preview article:hover img{filter:saturate(1);transform:scale(1.025)}.people-preview article>p{margin:19px 0 2px;color:var(--red);font-size:12px}.people-preview h3{font-size:25px}.people-preview article>div{margin-top:8px;color:var(--muted);font-size:14px}.partners-section{padding:45px 0;background:var(--paper);border-top:1px solid var(--line)}.partners-section .site-container{display:grid;grid-template-columns:230px 1fr;align-items:center;gap:35px}.partners-section h2{margin:0;color:var(--navy);font:700 21px var(--serif)}.partner-list{display:flex;flex-wrap:wrap;gap:10px 34px}.partner-list a{padding:8px 0;color:#4c575f}.partner-list a:hover{color:var(--red)}
.page-banner{padding:45px 0 62px;background:linear-gradient(110deg,var(--paper) 0 72%,var(--pale) 72%);border-bottom:1px solid var(--line)}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:35px;color:var(--muted);font-size:12px}.breadcrumb a:hover{color:var(--red)}.page-banner h1,.article-header h1{max-width:1050px;margin:0;color:var(--navy);font:700 clamp(40px,4.8vw,64px)/1.35 var(--serif)}.page-banner>div>p:last-child{max-width:760px;margin:18px 0 0;color:var(--muted);font-size:17px}.filter-bar{display:grid;grid-template-columns:1fr 240px auto;gap:15px;align-items:end;margin-bottom:36px;padding:24px;background:var(--paper);border-top:3px solid var(--navy)}.filter-bar label span{display:block;margin-bottom:5px;color:var(--navy);font-size:13px;font-weight:700}.filter-bar input,.filter-bar select{width:100%;min-height:46px;border:1px solid var(--line);padding:8px 12px;background:#fff}.news-archive{border-top:2px solid var(--navy)}.news-archive article{display:grid;grid-template-columns:100px 1fr;gap:35px;padding:30px 0;border-bottom:1px solid var(--line)}.news-archive time{display:flex;flex-direction:column;align-items:center;color:var(--navy)}.news-archive time b{font:700 44px/1 Georgia,serif}.news-archive time span{margin-top:8px;color:var(--muted);font-size:12px}.news-archive h2{font-size:25px}.news-archive article>div>p:last-child{color:var(--muted)}
.team-intro{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;padding-bottom:55px}.team-intro>p:last-child{margin:0;color:var(--muted);font-size:17px}.team-group{margin-top:70px}.team-group>header{display:flex;align-items:center;gap:20px;padding-bottom:16px;border-bottom:2px solid var(--navy)}.team-group>header span{color:var(--red);font:18px Georgia,serif}.team-group>header h2{margin:0;color:var(--navy);font:700 32px var(--serif)}.team-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px}.person-record{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:38px 0;border-bottom:1px solid var(--line)}.person-record__photo{aspect-ratio:3/4;overflow:hidden;background:var(--navy)}.person-record__photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.78)}.person-record h3{font-size:27px}.person-record>div>p:not(.content-type){color:var(--muted)}.partner-directory{margin-top:90px}.about-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}.about-layout aside{padding-right:50px;border-right:1px solid var(--line)}.prose{max-width:var(--reading);font-size:17px;line-height:2}.prose>p:first-child{font:500 21px/1.9 var(--serif)}.prose h2,.prose h3{margin-top:1.7em;color:var(--navy);font-family:var(--serif);line-height:1.5}.prose a,.article-content a{color:var(--red);text-decoration:underline;text-underline-offset:4px}.principles{margin-top:35px;border-top:2px solid var(--navy)}.principles article{display:grid;grid-template-columns:50px 160px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.principles b{color:var(--red);font:18px Georgia,serif}.principles h3,.principles p{margin:0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-grid>div>p:last-child{color:var(--muted);font-size:17px}.contact-grid dl{margin:0;border-top:2px solid var(--navy)}.contact-grid dl>div{display:grid;grid-template-columns:120px 1fr;padding:20px 0;border-bottom:1px solid var(--line)}.contact-grid dt{color:var(--muted)}.contact-grid dd{margin:0;color:var(--navy);font-weight:700}
.article-header{padding:46px 0 64px;background:var(--paper);border-bottom:1px solid var(--line)}.article-summary{max-width:880px;margin:22px 0;color:#55616a;font:500 19px/1.9 var(--serif)}.article-byline{display:flex;gap:30px;margin-top:25px;color:var(--muted);font-size:13px}.article-layout{display:grid;grid-template-columns:240px minmax(0,var(--reading));justify-content:center;gap:75px;padding-block:75px}.article-meta{align-self:start;position:sticky;top:25px}.article-meta dl{margin:0;border-top:2px solid var(--navy)}.article-meta dl>div{padding:13px 0;border-bottom:1px solid var(--line)}.article-meta dt{color:var(--muted);font-size:11px}.article-meta dd{margin:3px 0 0;color:var(--navy);font-weight:700}.person-portrait{aspect-ratio:3/4;margin-bottom:25px;background:var(--navy)}.person-portrait img{width:100%;height:100%;object-fit:cover}.article-content{min-width:0;max-width:100%;font-size:17px;line-height:2;overflow-wrap:break-word}.article-content>p:first-child{font:500 21px/1.9 var(--serif)}.article-content h2,.article-content h3{color:var(--navy);font-family:var(--serif);line-height:1.5}.article-content picture,.article-content figure{max-width:100%}.article-content img{display:block!important;max-width:100%!important;height:auto!important;margin:30px auto}.article-content img[class*="wp-image-"],.article-content .wp-block-image img{width:100%!important;object-fit:contain}.button{display:inline-flex;align-items:center;margin-top:22px;padding:12px 22px;border:1px solid var(--red);background:var(--red);color:#fff!important;text-decoration:none!important;font-weight:700}.button:hover{background:var(--red-dark)}.post-navigation{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:65px;padding-top:25px;border-top:1px solid var(--line)}.post-navigation a{display:block;color:var(--navy);text-decoration:none}.post-navigation span{display:block;color:var(--muted);font-size:11px}.pagination{margin-top:45px}.pagination .nav-links{display:flex;gap:7px}.pagination a,.pagination span{display:grid;place-items:center;min-width:42px;height:42px;border:1px solid var(--line)}.pagination .current,.pagination a:hover{background:var(--navy);color:#fff}.empty-state{grid-column:1/-1;padding:70px 30px;border:1px solid var(--line);background:var(--paper);text-align:center}.error-page{min-height:620px;display:grid;place-items:center;background:var(--paper);text-align:center}.error-code{margin:0;color:#d8d9d5;font:700 clamp(110px,20vw,250px)/.8 Georgia,serif}.error-page h1{margin:20px 0 0;color:var(--navy);font:700 48px var(--serif)}
.site-footer{border-top:6px solid var(--red);background:var(--navy-dark);color:#fff}.footer-grid{display:grid;grid-template-columns:1.45fr .65fr .9fr;gap:80px;padding-block:65px}.footer-brand{padding-right:40px}.footer-brand .site-brand__mark{border-color:#dba6aa;color:#dba6aa}.footer-brand h2{margin:20px 0 8px;font:700 25px var(--serif)}.footer-brand p{max-width:560px;color:rgba(255,255,255,.64)}.site-footer h3{margin:0 0 18px;color:#dba6aa;font:700 17px var(--serif)}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin:7px 0}.site-footer a:hover{color:#efb9bd}.site-footer address{font-style:normal;color:rgba(255,255,255,.68)}.site-footer address p{margin:7px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);font-size:12px;color:rgba(255,255,255,.58)}.footer-bottom .site-container{display:flex;justify-content:space-between;padding-block:18px}
@media(max-width:1100px){.site-container{width:calc(100% - 42px);width:min(calc(100% - 42px),var(--container))}.brand-row{min-height:110px}.site-brand__mark{flex-basis:56px;height:56px}.site-brand strong{font-size:24px}.primary-nav a{font-size:15px}.hero-slide__shade{background:linear-gradient(90deg,rgba(4,27,46,.9),rgba(4,27,46,.4))}.news-layout{gap:32px}.output-list article{grid-template-columns:55px 1fr}.output-list dl{grid-column:2}.content-card{display:block}.content-card__media{display:block;height:240px}.people-preview{grid-template-columns:repeat(2,1fr)}.team-list{grid-template-columns:1fr}.footer-grid{gap:40px}}
@media(max-width:800px){.institution-bar{display:none}.brand-row{min-height:88px}.site-brand{gap:12px}.site-brand__mark{flex-basis:44px;height:44px;font-size:16px}.site-brand strong{font-size:17px}.site-brand small{font-size:8px}.header-tools .search-toggle,.header-tools .platform-button{display:none}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:88px;left:0;right:0;max-height:calc(100vh - 88px);overflow:auto;border-top:4px solid var(--red);background:#fff}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav li{text-align:left}.primary-nav li+li{border-left:0;border-top:1px solid var(--line)}.primary-nav a{padding:17px 24px}.hero-slider{height:580px}.hero-slide__shade{background:linear-gradient(0deg,rgba(4,27,46,.94) 0%,rgba(4,27,46,.58) 70%,rgba(4,27,46,.2))}.hero-slide__content{justify-content:flex-end;padding-bottom:100px}.hero-slide h1{font-size:38px}.hero-slide__content>p:not(.hero-label){font-size:15px}.hero-controls{bottom:25px}.hero-dots,.hero-counter,.hero-pause{display:none!important}.home-intro__grid,.news-layout,.about-layout,.contact-grid,.team-intro{grid-template-columns:1fr}.quick-links{grid-template-columns:1fr}.quick-links a+a{border-left:0;border-top:1px solid #bdc5ca}.section{padding:64px 0}.lead-story__image{height:330px}.output-list article{grid-template-columns:42px 1fr}.project-grid,.directory-grid{grid-template-columns:1fr}.resource-columns{grid-template-columns:1fr}.resource-column+.resource-column{border-left:0;border-top:1px solid rgba(255,255,255,.22)}.partners-section .site-container{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.about-layout aside{padding:0 0 35px;border-right:0;border-bottom:1px solid var(--line)}.article-layout{grid-template-columns:1fr;gap:45px}.article-meta{position:static}.article-layout:not(.article-layout--person) .article-meta{order:2}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.principles article{grid-template-columns:40px 1fr}.principles p{grid-column:2}.page-banner{background:var(--paper)}}
@media(max-width:540px){.site-container{width:calc(100% - 30px)}.site-brand strong{font-size:15px}.site-brand small{display:none}.hero-slider{height:540px}.hero-slide h1{font-size:32px}.hero-slide__content>p:not(.hero-label){display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.section-heading{align-items:flex-start;flex-direction:column}.news-list article{grid-template-columns:62px 1fr}.lead-story__image{height:250px}.output-list article{grid-template-columns:1fr}.output-number{font-size:18px}.output-list dl{grid-column:1}.people-preview{grid-template-columns:1fr 1fr;gap:20px 14px}.people-preview h3{font-size:20px}.people-preview article>div{display:none}.person-record{grid-template-columns:105px 1fr;gap:18px}.person-record h3{font-size:22px}.person-record>div>p:not(.content-type){display:-webkit-box;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical}.news-archive article{grid-template-columns:65px 1fr;gap:18px}.news-archive time b{font-size:32px}.article-header h1,.page-banner h1{font-size:35px}.article-byline{flex-direction:column;gap:5px}.post-navigation{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom .site-container{flex-direction:column;gap:5px}.content-card__media{height:210px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* CASS literature portal reconstruction */
@font-face{font-family:"Source Han Serif Heavy";src:url("assets/cass-reference/sourcehanserifcnheavy.ttf") format("truetype");font-display:swap}
body.cass-portal{margin:0;background:#fff url("assets/cass-reference/sk_wxs_body_bg.jpg") repeat-x top center;color:#333;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;border-top:7px solid #a9000b}
.cass-portal *{box-sizing:border-box}.cass-shell{width:min(1100px,calc(100% - 32px));margin-inline:auto}.cass-header{background:transparent}.cass-masthead{height:135px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.cass-logo-slot{justify-self:start;display:flex;align-items:center;gap:12px;height:76px}.cass-logo-unit,.cass-logo-slot .custom-logo-link{display:grid;place-items:center;width:76px;height:76px;flex:0 0 76px}.cass-logo-slot .custom-logo{display:block;max-width:76px;max-height:76px;width:auto;height:auto}.cass-logo-placeholder{display:grid;place-items:center;align-content:center;width:76px;height:76px;flex:0 0 76px;border:1px dashed #a8bfcb;border-radius:50%;color:#8ca8b7;text-align:center;text-decoration:none;font-size:9px;line-height:1.35;letter-spacing:.5px}.cass-logo-placeholder small{display:block;margin-top:2px;font-size:6px;line-height:1.1;letter-spacing:0}.cass-title-group{justify-self:center;display:grid;justify-items:center;gap:7px;text-align:center}.cass-institution-name{margin:0;color:#47657d;font-family:"STSong","Songti SC",serif;font-size:20px;font-weight:700;line-height:1.2;letter-spacing:.12em;white-space:nowrap}.cass-lab-title{color:#0d3457;text-decoration:none;font-family:"Source Han Serif Heavy","STSong",serif;font-size:34px;line-height:1.25;white-space:nowrap}.cass-header-tools{justify-self:end;display:flex;align-items:center;gap:12px}.search-toggle{border:0;border-bottom:1px solid #a8d2e6;background:transparent;color:#89b8ce;padding:10px 34px 10px 6px;position:relative}.search-toggle:after{content:"";position:absolute;right:7px;top:9px;width:20px;height:20px;background:url("assets/cass-reference/sk_wxs_icon_search.png") center/contain no-repeat}.header-search{display:none}.header-search.is-open{display:block}.cass-search-form{display:flex;justify-content:flex-end;padding:0 0 12px}.cass-search-form input{width:360px;padding:9px 12px;border:1px solid #cbdde5}.cass-search-form button{border:0;background:#a9000b;color:#fff;padding:0 20px}.menu-toggle{display:none}
.cass-nav{background:transparent!important;border:0!important}.cass-nav .cass-shell{position:relative;border-bottom:2px solid #be1e2d}.cass-nav .cass-shell:before,.cass-nav .cass-shell:after{content:"";position:absolute;bottom:-9px;width:32px;height:17px;background-size:contain;background-repeat:no-repeat}.cass-nav .cass-shell:before{left:-29px;background-image:url("assets/cass-reference/sk_wxs_nav_left_cloud.png")}.cass-nav .cass-shell:after{right:-29px;background-image:url("assets/cass-reference/sk_wxs_nav_right_cloud.png")}.cass-nav ul{list-style:none;margin:0!important;padding:0!important;display:flex;justify-content:space-between;align-items:center}.cass-nav li{flex:1;position:relative;text-align:center;background:url("assets/cass-reference/sk_wxs_nav_line.png") no-repeat right center}.cass-nav li:last-child{background:none}.cass-nav a{display:block;padding:20px 8px 18px;color:#0d3457!important;font-size:18px;font-weight:700;text-decoration:none}.cass-nav a:hover,.cass-nav .current-menu-item>a{color:#b4000b!important}.cass-nav .sub-menu{display:none;position:absolute;top:100%;left:0;z-index:20;width:210px;background:#fff;border-top:2px solid #b4000b;box-shadow:0 8px 20px rgba(13,52,87,.18);text-align:left}.cass-nav li:hover>.sub-menu,.cass-nav li:focus-within>.sub-menu{display:block}.cass-nav .sub-menu li{background:none;text-align:left}.cass-nav .sub-menu a{font-size:14px;padding:10px 16px;border-bottom:1px solid #e7edf0}
.cass-home{padding-top:24px}.cass-banner{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);min-height:378px;overflow:hidden;border-top:4px solid #a9000b;background:#fff;box-shadow:0 12px 30px rgba(13,52,87,.08)}.cass-banner-stage{position:relative;min-width:0;min-height:378px;overflow:hidden;background:#e7edf0}.cass-banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateX(14px);transition:opacity .42s ease,transform .42s ease,visibility .42s}.cass-banner-slide.is-active{z-index:1;opacity:1;visibility:visible;transform:none}.cass-banner-slide__image{display:block;width:100%;height:100%}.cass-banner-slide__image img{display:block;width:100%;height:100%;object-fit:cover}.cass-banner-slide__caption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:24px 120px 22px 28px;background:linear-gradient(90deg,rgba(124,10,20,.96),rgba(153,15,28,.9) 62%,rgba(153,15,28,.35));color:#fff}.cass-banner-slide__caption p{margin:0 0 5px;font-size:12px;font-weight:700;letter-spacing:.16em}.cass-banner-slide__caption h2{max-width:720px;margin:0;font-family:"Source Han Serif Heavy","STSong",serif;font-size:25px;line-height:1.45}.cass-banner-slide__caption h2 a{color:#fff;text-decoration:none}.cass-banner-slide__caption time{display:block;margin-top:7px;color:rgba(255,255,255,.82);font-size:11px}.cass-banner-controls{position:absolute;z-index:4;right:20px;bottom:22px;display:flex;align-items:center;gap:7px;color:#fff}.cass-banner-controls button{display:grid;place-items:center;width:32px;height:30px;padding:0;border:1px solid rgba(255,255,255,.65);background:rgba(92,7,15,.48);color:#fff;cursor:pointer}.cass-banner-controls span{min-width:38px;text-align:center;font-size:11px}.cass-banner-news{display:flex;min-width:0;flex-direction:column;padding:24px 24px 18px;border-left:1px solid #e4d7d8;background:#fff}.cass-banner-news header{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:13px;border-bottom:2px solid #a9000b}.cass-banner-news header span{display:block;margin-bottom:2px;color:#a9000b;font-size:9px;font-weight:700;letter-spacing:.15em}.cass-banner-news header h2{margin:0;color:#76101a;font-family:"Source Han Serif Heavy","STSong",serif;font-size:22px}.cass-banner-news header>a{color:#a9000b;text-decoration:none;font-size:11px}.cass-banner-news__list{display:grid;flex:1}.cass-banner-news__list article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:center;padding:10px 7px;border-bottom:1px solid #eadfe0;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease}.cass-banner-news__list article:last-child{border-bottom:0}.cass-banner-news__list article:hover,.cass-banner-news__list article:focus-visible,.cass-banner-news__list article.is-active{border-left:3px solid #a9000b;background:#fbf4f4;transform:translateX(-3px);outline:0}.cass-banner-news__list time{color:#a9000b;text-align:center}.cass-banner-news__list time b{display:block;font-family:"Source Han Serif Heavy","STSong",serif;font-size:24px;line-height:1}.cass-banner-news__list time span{display:block;margin-top:3px;color:#8b7779;font-size:9px}.cass-banner-news__list h3{margin:0;font-size:13px;font-weight:600;line-height:1.55}.cass-banner-news__list h3 a{display:-webkit-box;overflow:hidden;color:#24394a;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cass-banner-empty{display:grid;height:100%;place-items:center;color:#607989}
.cass-portal-grid{display:grid;grid-template-columns:1fr 1.12fr 1.12fr 1fr;gap:18px;margin-top:40px}.cass-panel header,.cass-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cass-panel h2,.cass-section-title h2{margin:0;color:#b4000b;font-family:"Source Han Serif Heavy","STSong",serif;font-size:26px}.cass-panel h2:before,.cass-section-title h2:before{content:"文";display:inline-grid;place-items:center;width:25px;height:25px;margin-right:8px;border-radius:50%;background:#b4000b;color:#fff;font-family:serif;font-size:14px;vertical-align:3px}.cass-panel header a,.cass-section-title a{font-size:13px;color:#b4000b;text-decoration:none}.cass-panel ul,.cass-output-panel ul{list-style:none;margin:0;padding:0}.cass-panel li{padding:14px 0;border-bottom:1px solid #e3dcd7}.cass-panel li a{display:-webkit-box;overflow:hidden;color:#333;text-decoration:none;font-size:14px;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cass-feature-card{border:1px solid #e4d8d2;background:#fff;padding-bottom:12px}.cass-feature-image{display:block;height:192px;overflow:hidden;background:#edf2f4}.cass-feature-image img{width:100%;height:100%;object-fit:cover}.cass-feature-card>p{margin:10px 14px 6px;color:#b4000b;font-weight:700;font-size:13px}.cass-feature-card h2{margin:0 14px;font-size:16px;line-height:1.55}.cass-feature-card h2 a{color:#222;text-decoration:none}.cass-feature-card>div{margin:8px 14px;color:#777;font-size:13px;line-height:1.65}.cass-feature-card>div a{color:#b4000b}.cass-feature-card time{margin:0 14px;color:#0d3457;font-weight:700;font-size:12px}
.cass-section{padding:42px 0}.cass-output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.cass-output-panel{min-height:205px;display:grid;grid-template-columns:54px 1fr;background:#e8f5fa url("assets/cass-reference/sk_wxs_row2_li_bg_crop.png") no-repeat left bottom;padding:20px 18px 16px 0}.cass-output-panel h3{margin:0;writing-mode:vertical-rl;text-orientation:upright;color:#0d3457;font-family:"Source Han Serif Heavy","STSong",serif;font-size:22px;letter-spacing:4px}.cass-output-panel li{padding:7px 0;border-bottom:1px solid #cfe1e8}.cass-output-panel li:last-child{border:0}.cass-output-panel a{display:-webkit-box;overflow:hidden;color:#283a45;text-decoration:none;font-size:14px;line-height:1.65;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cass-activity{padding:42px 0 70px;background:url("assets/cass-reference/sk_wxs_row3_bg.jpg") center/cover no-repeat}.cass-activity-grid{display:grid;grid-template-columns:1.35fr .85fr;background:rgba(255,255,255,.72)}.cass-activity-stage{position:relative;min-height:510px;overflow:hidden}.cass-activity-lead{position:absolute;inset:0;padding:0 0 22px;opacity:0;visibility:hidden;transform:translateX(18px);transition:opacity .42s ease,transform .42s ease,visibility .42s}.cass-activity-lead.is-active{position:relative;z-index:1;opacity:1;visibility:visible;transform:none}.cass-activity-image{display:block;height:360px;overflow:hidden;background:#dbe7ec}.cass-activity-image img{width:100%;height:100%;object-fit:cover}.cass-activity-placeholder{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(135deg,#d7ebf3,#8fc5dc);color:rgba(13,52,87,.72);font:700 38px/1 "Source Han Serif Heavy","STSong",serif;letter-spacing:8px}.cass-activity-lead h3{font-size:19px;margin:16px 24px 8px}.cass-activity-lead h3 a,.cass-dated-list h3 a{color:#2c3033;text-decoration:none}.cass-activity-lead p{margin:0 24px;color:#777;font-size:13px;line-height:1.7}.cass-activity-lead p a{color:#b4000b}.cass-activity-lead>time{display:block;margin:10px 24px;color:#5b8ca4;font-size:12px}.cass-activity-controls{position:absolute;z-index:3;right:18px;top:318px;display:flex;align-items:center;gap:8px;color:#fff}.cass-activity-controls button{width:34px;height:30px;border:0;background:rgba(164,0,12,.86);color:#fff;cursor:pointer}.cass-activity-controls span{padding:5px 9px;background:rgba(13,52,87,.78);font-size:12px}.cass-dated-list{padding:20px 30px;background:rgba(225,244,251,.58)}.cass-dated-list article{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:center;padding:10px 8px;border-bottom:1px dashed #c7d7df;cursor:pointer;transition:background .25s ease,transform .25s ease}.cass-dated-list article:hover,.cass-dated-list article:focus-visible,.cass-dated-list article.is-active{background:rgba(255,255,255,.82);transform:translateX(-5px);outline:none}.cass-dated-list article.is-active h3 a{color:#b4000b}.cass-dated-list time{background:#a9d9ed;color:#fff;text-align:center;padding:7px 4px;transition:background .25s ease}.cass-dated-list article.is-active time{background:#b4000b}.cass-dated-list time b{display:block;font-size:25px;line-height:1}.cass-dated-list time span{display:block;font-size:11px;margin-top:4px}.cass-dated-list h3{font-size:15px;line-height:1.5;margin:0}
.cass-topics{height:310px;display:flex;overflow:hidden;background:url("assets/cass-reference/sk_wxs_nav_sp_bg.jpg") center/cover no-repeat}.cass-topic-art{flex:1;display:flex;flex-direction:column;justify-content:center;padding:55px;color:#b4000b}.cass-topic-art strong{font-family:"Source Han Serif Heavy","STSong",serif;font-size:36px}.cass-topic-art span{margin-top:16px;color:#6e3c37;font-size:18px}.cass-topic-tabs{display:flex;align-items:stretch}.cass-topic-tabs a{width:54px;padding:20px 15px;writing-mode:vertical-rl;text-orientation:mixed;color:#fff;text-decoration:none;line-height:1.45;background:hsla(calc(350 - var(--topic-index)*25),55%,25%,.9);transition:width .25s ease,filter .25s ease}.cass-topic-tabs a:hover,.cass-topic-tabs a:focus{width:92px;filter:brightness(1.18)}.cass-related{display:flex;gap:24px;align-items:center;padding:35px 30px}.cass-related a{flex:1;text-align:center;padding:10px;background:#e7f4f9;border:1px solid #cfe3ec;color:#0d3457;text-decoration:none;font-weight:700}
.cass-footer{border-top:1px solid #ddd;background:#f3f3f3;border-bottom:7px solid #a9000b}.cass-footer-inner{min-height:150px;display:grid;grid-template-columns:1fr 1.35fr .95fr 174px;gap:24px;align-items:center;font-size:12px;color:#333}.cass-footer p{margin:8px 0}.cass-footer a{color:#333}.cass-footer img{width:78px;height:78px;object-fit:cover}.cass-footer-qrs{display:grid;grid-template-columns:repeat(2,78px);gap:14px;align-items:center;justify-content:end}
@media(max-width:900px){.cass-logo-slot{height:62px;gap:10px}.cass-logo-unit,.cass-logo-slot .custom-logo-link,.cass-logo-placeholder{width:62px;height:62px;flex-basis:62px}.cass-logo-slot .custom-logo{max-width:62px;max-height:62px}.cass-logo-placeholder{font-size:8px}.cass-institution-name{font-size:17px}.cass-lab-title{font-size:26px}.cass-nav a{font-size:15px}.cass-portal-grid{grid-template-columns:1fr 1fr}.cass-output-grid{gap:14px}.cass-activity-image{height:300px}.cass-topic-art{padding:30px}.cass-topic-art strong{font-size:28px}.cass-footer-inner{grid-template-columns:1fr 1fr auto}.cass-footer-contact{display:none}}
@media(max-width:620px){body.cass-portal{border-top-width:5px}.cass-shell{width:min(100% - 24px,1100px)}.cass-masthead{height:94px;grid-template-columns:88px minmax(0,1fr) 42px;gap:6px}.cass-logo-slot{height:40px;gap:6px}.cass-logo-unit,.cass-logo-slot .custom-logo-link,.cass-logo-placeholder{width:40px;height:40px;flex-basis:40px}.cass-logo-slot .custom-logo{max-width:40px;max-height:40px}.cass-logo-placeholder{font-size:6px;line-height:1.15}.cass-logo-placeholder small{display:none}.cass-title-group{min-width:0;gap:3px}.cass-institution-name{font-size:13px;letter-spacing:.04em;white-space:normal}.cass-lab-title{min-width:0;text-align:center;font-size:18px;line-height:1.35;white-space:normal}.search-toggle{display:none}.menu-toggle{display:flex;width:42px;height:38px;padding:9px;border:1px solid #b8cbd4;background:#fff;flex-direction:column;justify-content:space-between}.menu-toggle span:not(.screen-reader-text){height:2px;background:#0d3457}.cass-nav{display:none}.cass-nav.is-open{display:block}.cass-nav .cass-shell{width:100%;border-bottom:2px solid #b4000b}.cass-nav .cass-shell:before,.cass-nav .cass-shell:after{display:none}.cass-nav ul{display:block}.cass-nav li{text-align:left;background:none;border-top:1px solid #e6ecef}.cass-nav a{padding:12px 18px;font-size:15px}.cass-nav .sub-menu{position:static;width:auto;box-shadow:none;border:0}.cass-home{padding-top:18px}.cass-portal-grid{grid-template-columns:1fr;margin-top:26px}.cass-feature-image{height:220px}.cass-section{padding:30px 0}.cass-output-grid{grid-template-columns:1fr}.cass-activity{padding:30px 0}.cass-activity-grid{grid-template-columns:1fr}.cass-activity-image{height:220px}.cass-dated-list{padding:18px}.cass-topics{height:auto;display:block}.cass-topic-art{min-height:220px;padding:28px}.cass-topic-art strong{font-size:28px}.cass-topic-tabs{overflow-x:auto}.cass-topic-tabs a,.cass-topic-tabs a:hover,.cass-topic-tabs a:focus{min-width:72px;width:72px;height:190px}.cass-related{padding:22px 0;gap:8px;flex-wrap:wrap}.cass-related strong{width:100%}.cass-related a{font-size:12px;padding:8px}.cass-footer-inner{grid-template-columns:1fr;text-align:center;padding:24px 0}.cass-footer-inner>div:nth-child(2),.cass-footer-contact{display:none}.cass-footer-qrs{justify-content:center}.cass-footer img{margin:auto}.cass-panel h2,.cass-section-title h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.cass-topic-tabs a{transition:none}.cass-news-rail>div{animation:none!important}.cass-activity-lead,.cass-dated-list article{transition:none}}

/* Homepage platform/resources — CASS “专题专栏” accordion reconstruction. */
.cass-home-resources{padding-bottom:86px}.cass-resource-accordion{display:flex;width:100%;height:430px;margin:36px 0 0;padding:0;overflow:hidden;list-style:none;background:#173d53}.cass-resource-accordion__item{position:relative;flex:0 0 58px;height:430px;overflow:hidden;transition:flex-basis .5s cubic-bezier(.22,.61,.36,1)}.cass-resource-accordion__item.is-active{flex-basis:calc(100% - 406px)}.cass-resource-accordion__panel{position:absolute;inset:0;width:694px;height:430px;overflow:hidden;color:#fff;text-decoration:none;background:linear-gradient(135deg,#0d3457,#2a7086),url("assets/cass-reference/sk_wxs_nav_sp_bg.jpg") center/cover no-repeat}.cass-resource-accordion__panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cass-resource-accordion__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,37,58,.72) 0,rgba(11,59,77,.48) 48%,rgba(11,59,77,.12) 100%)}.cass-resource-accordion__content{position:absolute;z-index:2;left:0;bottom:0;display:flex;width:min(520px,80%);padding:42px 44px;flex-direction:column;align-items:flex-start}.cass-resource-accordion__content small{margin-bottom:12px;color:#a8d9e8;font:700 11px/1.3 Arial,sans-serif;letter-spacing:1.5px}.cass-resource-accordion__content strong{font:700 34px/1.3 "Source Han Serif Heavy","STSong",serif;letter-spacing:1px}.cass-resource-accordion__content>span{display:-webkit-box;overflow:hidden;margin-top:14px;color:rgba(255,255,255,.82);font-size:14px;line-height:1.8;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cass-resource-accordion__content em{margin-top:24px;padding:9px 15px;border:1px solid rgba(255,255,255,.55);font-size:13px;font-style:normal}.cass-resource-accordion__content em i{margin-left:8px;font-style:normal}.cass-resource-accordion__tab{position:absolute;z-index:4;inset:0;display:flex;justify-content:flex-start;align-items:center;padding:30px 17px;background:linear-gradient(180deg,rgba(10,49,70,.62),rgba(95,17,25,.58));color:#fff;font:700 18px/1.35 "Source Han Serif Heavy","STSong",serif;letter-spacing:2px;writing-mode:vertical-rl;text-orientation:mixed;cursor:pointer;opacity:1;transition:opacity .35s ease}.cass-resource-accordion__item:nth-child(3n+2) .cass-resource-accordion__tab{background:linear-gradient(180deg,rgba(23,84,101,.64),rgba(10,49,70,.62))}.cass-resource-accordion__item:nth-child(3n) .cass-resource-accordion__tab{background:linear-gradient(180deg,rgba(132,23,34,.62),rgba(55,31,44,.64))}.cass-resource-accordion__item.is-active .cass-resource-accordion__tab{opacity:0;pointer-events:none}.cass-resource-accordion__item:focus-visible{outline:3px solid #b4000b;outline-offset:-3px}
@media(max-width:900px){.cass-home-resources{padding-bottom:55px}.cass-resource-accordion{display:grid;height:auto;overflow:visible;background:none;gap:12px}.cass-resource-accordion__item,.cass-resource-accordion__item.is-active{width:100%;height:190px;min-height:0;flex-basis:auto}.cass-resource-accordion__panel{width:100%;height:190px}.cass-resource-accordion__tab{display:none}.cass-resource-accordion__content{width:100%;padding:24px 26px}.cass-resource-accordion__content strong{font-size:25px}.cass-resource-accordion__content>span{margin-top:8px;-webkit-line-clamp:1}.cass-resource-accordion__content em{margin-top:12px;padding:6px 10px}}
@media(max-width:620px){.cass-resource-accordion{margin-top:22px}.cass-resource-accordion__item,.cass-resource-accordion__item.is-active,.cass-resource-accordion__panel{height:210px}.cass-resource-accordion__content strong{font-size:22px}.cass-resource-accordion__content small{margin-bottom:8px}.cass-resource-accordion__content>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.cass-resource-accordion__item,.cass-resource-accordion__tab{transition:none}}
.cass-resource-accordion__item.is-active{flex-basis:calc(100% - var(--resource-collapsed,406px))}.cass-resource-accordion__panel{width:100%}

/* Match the literature.cass.cn 党建活动 article-title typography. */
.cass-feature-card>p{margin:14px 24px 5px}.cass-feature-card h2{margin:0 24px;font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif;font-size:20px;font-weight:700;line-height:2;letter-spacing:0}.cass-feature-card h2 a{display:block}.cass-feature-card>div{margin:9px 24px}.cass-feature-card time{display:block;margin:2px 24px 4px}
@media(max-width:620px){.cass-feature-card>p{margin-inline:20px}.cass-feature-card h2{margin-inline:20px;font-size:18px;line-height:1.8}.cass-feature-card>div,.cass-feature-card time{margin-inline:20px}}

/* Dynamic news directory — modeled on the CASS article listing. */
.cass-news-directory{background:linear-gradient(180deg,#fff 0,#f8fbfc 100%)}
.cass-news-directory>.site-container{width:min(calc(100% - 48px),1200px)}
.cass-news-heading{text-align:center;margin:0 0 28px}.cass-news-heading p{margin:0 0 3px;color:#aebec8;font:600 12px/1.4 Arial,sans-serif;letter-spacing:.28em}.cass-news-heading h2{margin:0;color:#0d3457;font:700 30px/1.4 var(--serif)}
.cass-news-categories{display:flex;justify-content:center;gap:14px;margin:0 auto 30px}.cass-news-categories a{position:relative;min-width:180px;padding:11px 22px;background:#edf5f8;color:#173c59;text-align:center;font-size:15px;line-height:24px;transition:background .25s ease,color .25s ease}.cass-news-categories a:hover,.cass-news-categories a:focus-visible,.cass-news-categories a.is-active{background:#b4000b;color:#fff}.cass-news-categories a.is-active:before,.cass-news-categories a.is-active:after{content:"";position:absolute;width:12px;height:12px;border-color:rgba(255,255,255,.7)}.cass-news-categories a.is-active:before{left:6px;top:6px;border-left:1px solid;border-top:1px solid}.cass-news-categories a.is-active:after{right:6px;bottom:6px;border-right:1px solid;border-bottom:1px solid}
.cass-news-list{display:grid;gap:24px}.cass-news-card{position:relative;display:grid;grid-template-columns:330px minmax(0,1fr);gap:38px;min-height:245px;padding:26px 30px;border:1px solid #dbe7ec;background:rgba(255,255,255,.92);overflow:hidden}.cass-news-card:before,.cass-news-card:after{content:"";position:absolute;width:28px;height:28px;pointer-events:none}.cass-news-card:before{left:-1px;top:-1px;border-top:2px solid #90aab8;border-left:2px solid #90aab8}.cass-news-card:after{right:-1px;bottom:-1px;border-right:2px solid #90aab8;border-bottom:2px solid #90aab8}.cass-news-card--no-image{grid-template-columns:1fr}.cass-news-card__image{height:190px;align-self:center;overflow:hidden;background:#edf3f5}.cass-news-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.cass-news-card:hover .cass-news-card__image img{transform:scale(1.025)}.cass-news-card__body{display:flex;min-width:0;flex-direction:column;justify-content:center}.cass-news-card__category{margin:0 0 5px;color:#b4000b;font-size:13px}.cass-news-card h3{margin:0 0 7px;color:#102f49;font:700 21px/1.55 var(--serif)}.cass-news-card h3 a{transition:color .25s ease}.cass-news-card h3 a:hover,.cass-news-card h3 a:focus-visible{color:#b4000b}.cass-news-card time{color:#78909f;font-size:13px}.cass-news-card__rule{display:block;width:42px;height:1px;margin:13px 0;background:#b4000b}.cass-news-card__excerpt{display:-webkit-box;overflow:hidden;margin:0;color:#647985;font-size:14px;line-height:1.9;-webkit-box-orient:vertical;-webkit-line-clamp:3}.cass-news-card__detail{align-self:flex-start;margin-top:11px;color:#173c59;font-size:12px}.cass-news-card__detail:hover{color:#b4000b}.cass-news-pagination{display:flex;justify-content:center;gap:8px;margin-top:38px}.cass-news-pagination .page-numbers{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d2e0e6;background:#fff;color:#173c59;font-size:13px}.cass-news-pagination .current,.cass-news-pagination a:hover,.cass-news-pagination a:focus-visible{border-color:#b4000b;background:#b4000b;color:#fff}
@media(max-width:1050px){.cass-news-card{grid-template-columns:260px minmax(0,1fr);gap:28px}.cass-news-categories a{min-width:150px}.cass-news-card__image{height:170px}}
@media(max-width:800px){.cass-news-directory>.site-container{width:calc(100% - 30px)}.cass-news-categories{justify-content:flex-start;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}.cass-news-categories a{flex:0 0 auto;min-width:145px}.cass-news-card{grid-template-columns:1fr;gap:20px;padding:20px}.cass-news-card__image{width:100%;height:auto;aspect-ratio:16/9}.cass-news-card h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.cass-news-card__image img,.cass-news-card h3 a,.cass-news-categories a{transition:none}}

/* Interior overview and team pages */
.lab-about,.lab-team-directory{font-family:"Microsoft YaHei","PingFang SC",sans-serif}.lab-about>.site-container,.lab-team-directory>.site-container{max-width:1100px}.lab-about-feature{position:relative;min-height:500px;margin-bottom:90px}.lab-about-feature__image{width:70%;aspect-ratio:4/3;overflow:hidden;background:#dceaf0}.lab-about-feature__image img{width:100%;height:100%;object-fit:cover}.lab-about-feature__panel{position:absolute;z-index:2;right:0;top:72px;width:48%;padding:42px 44px;background:rgba(113,181,211,.88);color:#fff}.lab-about-feature__panel h2{margin:0 0 20px;color:#fff;font:700 40px/1.3 "Microsoft YaHei",sans-serif}.lab-about-feature__panel div{font-size:14px;line-height:2}.lab-about-feature__panel p:first-child{margin-top:0}.lab-about-feature__panel p:last-child{margin-bottom:0}.lab-section-heading{display:flex;align-items:center;gap:18px;padding-bottom:15px;border-bottom:2px solid #0d3457}.lab-section-heading span{color:#971822;font:18px/1 Georgia,serif}.lab-section-heading h2{margin:0;color:#0d3457;font:700 32px/1.35 var(--serif)}.lab-history .lab-section-heading h2{color:rgb(70,110,129);font:700 24px/1.4 "Microsoft YaHei",sans-serif}.lab-carousel{position:relative;outline:none}.lab-carousel__viewport{overflow:hidden;touch-action:pan-y}.lab-carousel__track{display:flex;flex-wrap:nowrap;transition:transform 420ms cubic-bezier(.22,.61,.36,1);will-change:transform}.lab-history .lab-carousel__track{gap:18px}.lab-history-card{flex:0 0 calc((100% - 54px)/4);min-width:0;margin-top:30px;padding:25px 22px;background:#e7f4f9;color:#405966}.lab-history-card img{width:100%;aspect-ratio:4/3;margin-bottom:18px;object-fit:cover}.lab-history-card time{display:block;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid #cfe3ea;color:#971822;font:700 21px Georgia,serif}.lab-history-card h3{margin:8px 0;color:#2d556b;font-size:17px}.lab-history-card p{margin:0;font-size:13.5px;line-height:1.85}.lab-carousel__controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:24px}.lab-carousel__controls button{display:grid;place-items:center;width:42px;height:38px;border:1px solid #9db6c2;background:#fff;color:#0d3457;cursor:pointer}.lab-carousel__controls button:disabled{opacity:.35;cursor:default}.lab-carousel__dots{display:flex;gap:7px}.lab-carousel__dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#aec3cc}.lab-carousel__dots button.is-active{background:#971822}.lab-carousel :focus-visible,.lab-person-card a:focus-visible{outline:3px solid #971822;outline-offset:3px}
.lab-team-group{margin-bottom:82px}.lab-team-group .lab-carousel{margin-top:28px}.lab-team-group:not(.lab-team-group--lead) .lab-carousel__track{gap:30px}.lab-person-card{flex:0 0 calc((100% - 60px)/3);min-width:0;background:#f0f7fa}.lab-person-card__photo{display:block;aspect-ratio:3/4;overflow:hidden;background:#0d3457}.lab-person-card__photo img{width:100%;height:100%;object-fit:cover;transition:transform 280ms ease}.lab-person-card__content{padding:21px 22px 25px}.lab-person-card__content .content-type{margin:0 0 5px;color:#687e88;font-size:12px}.lab-person-card h3{margin:0;color:#0d3457;font:700 24px/1.45 var(--serif)}.lab-person-card h3 a{transition:color 280ms ease}.lab-person-card__content>p:not(.content-type){display:-webkit-box;overflow:hidden;margin:10px 0;color:#60717a;font-size:13px;line-height:1.8;-webkit-line-clamp:3;-webkit-box-orient:vertical}.lab-person-card:hover .lab-person-card__photo img{transform:scale(1.03)}.lab-person-card:hover h3 a{color:#971822}.lab-person-card--featured{flex:0 0 100%;background:#dff0f7}.lab-person-card--featured .lab-person-card__body{display:grid;grid-template-columns:1fr 310px;min-height:410px}.lab-person-card--featured .lab-person-card__photo{grid-column:2;grid-row:1;aspect-ratio:3/4}.lab-person-card--featured .lab-person-card__content{grid-column:1;grid-row:1;padding:58px 58px;align-self:center}.lab-person-card--featured h3{font-size:36px}.lab-person-card--featured .lab-person-card__content>p:not(.content-type){font-size:15px;-webkit-line-clamp:6}.lab-person-card--empty>.lab-person-card__photo .person-placeholder{height:100%}.article-layout--person .person-portrait{aspect-ratio:3/4;overflow:hidden}.article-layout--person .person-portrait .person-placeholder{min-height:320px}
@media(max-width:1100px){.lab-about-feature__image{width:68%}.lab-about-feature__panel{width:52%}.lab-history-card{flex-basis:calc((100% - 18px)/2)}.lab-team-group:not(.lab-team-group--lead) .lab-person-card{flex-basis:calc((100% - 30px)/2)}}
@media(max-width:800px){.lab-about-feature{min-height:0;margin-bottom:65px}.lab-about-feature__image{width:100%;aspect-ratio:4/3}.lab-about-feature__panel{position:relative;top:auto;right:auto;width:100%;padding:32px 28px}.lab-about-feature__panel h2{font-size:31px}.lab-history-card,.lab-team-group:not(.lab-team-group--lead) .lab-person-card{flex-basis:100%}.lab-person-card--featured .lab-person-card__body{display:flex;flex-direction:column}.lab-person-card--featured .lab-person-card__photo{order:0;aspect-ratio:3/4}.lab-person-card--featured .lab-person-card__content{order:1;padding:30px 26px}.lab-person-card--featured h3{font-size:29px}.lab-section-heading h2{font-size:27px}.lab-team-group{margin-bottom:60px}.lab-carousel__controls{justify-content:center}}
@media(prefers-reduced-motion:reduce){.lab-carousel__track,.lab-person-card__photo img,.lab-person-card h3 a{transition:none!important}}

/* Interior pages follow the source portal: compact breadcrumb, no duplicate hero title. */
.interior-index{border-bottom:1px solid #e3ecef;background:rgba(255,255,255,.58)}
.interior-index>.site-container{max-width:1200px;padding-block:22px}
.interior-index .breadcrumb{margin:0;color:#607987;font-size:12px;line-height:1.6}
.interior-index+.section,.interior-index+.projects-summary,.interior-index+.projects-results,.interior-index+.lab-team-directory,.interior-index+.lab-about,.interior-index+.news-directory{padding-top:58px}
@media(max-width:800px){
    .interior-index>.site-container{padding-block:15px}
    .interior-index+.section,.interior-index+.projects-summary,.interior-index+.projects-results,.interior-index+.lab-team-directory,.interior-index+.lab-about,.interior-index+.news-directory{padding-top:40px}
}

/* Resource directory: history-inspired three-up rail. */
.resource-directory{padding-top:54px}.resource-directory .site-container{max-width:1200px}.resource-categories{margin-bottom:38px}.resource-carousel{--carousel-gap:24px}.resource-carousel .lab-carousel__viewport{overflow:hidden}.resource-carousel .lab-carousel__track{display:flex;gap:var(--carousel-gap);transition:transform .42s ease}.resource-history-card{flex:0 0 calc((100% - 48px)/3);min-width:0;background:#edf5f8;border:1px solid #d7e6eb}.resource-history-card__media{display:block;aspect-ratio:4/3;overflow:hidden;background:#153b59}.resource-history-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.resource-history-card:hover .resource-history-card__media img{transform:scale(1.025)}.resource-history-card__media>span{display:grid;width:100%;height:100%;place-items:center;color:rgba(255,255,255,.82);font:700 44px/1 var(--serif);letter-spacing:.12em}.resource-history-card__body{padding:24px 25px 27px}.resource-history-card__label{margin:0 0 8px;color:#b4000b;font-size:13px}.resource-history-card h3{margin:0 0 11px;color:#102f49;font:700 21px/1.5 var(--serif)}.resource-history-card h3 a:hover{color:#b4000b}.resource-history-card__body>p:not(.resource-history-card__label){display:-webkit-box;min-height:78px;margin:0;color:#637985;font-size:14px;line-height:1.85;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.resource-history-card__detail{display:inline-block;margin-top:16px;color:#173c59;font-size:12px}.resource-history-card__detail:hover{color:#b4000b}.resource-carousel.has-no-overflow .lab-carousel__controls{display:none}
@media(max-width:1100px){.resource-history-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:800px){.resource-history-card{flex-basis:100%}.resource-directory{padding-top:38px}.resource-categories{margin-bottom:28px}}

/* Singular pages: compact index followed by one canonical content title. */
.detail-heading{background:rgba(255,255,255,.62)}
.detail-heading>.site-container{max-width:1200px;padding-block:52px 30px;border-bottom:2px solid #0d3457}
.detail-heading h1{max-width:1000px;margin:0;color:#0d3457;font:700 clamp(34px,3.5vw,50px)/1.4 var(--serif)}
.detail-heading .article-summary{margin-bottom:0}
.detail-heading+.article-layout{padding-top:48px}
@media(max-width:800px){
    .detail-heading>.site-container{padding-block:36px 24px}
    .detail-heading h1{font-size:32px}
    .detail-heading+.article-layout{padding-top:36px}
}

/* The project summary uses the same full-width content rail as important results. */
.projects-summary .project-grid{grid-template-columns:1fr}
.projects-summary .content-card{width:100%}

/* Keep the contact content rail aligned with the 1200px main navigation. */
.contact-grid{max-width:1200px}
.contact-overview{padding-bottom:56px}.contact-overview h2{margin:0;color:var(--navy);font:700 clamp(32px,3.3vw,48px)/1.45 var(--serif)}.contact-overview>div>div>p:not(.eyebrow){color:var(--muted);font-size:17px}.contact-partners{padding-top:0}.contact-partners>.site-container{max-width:1200px}.contact-partners__grid{margin-top:30px}
.contact-overview>.site-container,.contact-network>.site-container,.contact-info>.site-container{max-width:1200px}
.contact-network{padding:0 0 48px}.contact-network__placeholder{overflow:hidden;border:1px solid #c9dbe3;border-radius:6px;background:#f4f9fb}.contact-network__placeholder img{display:block;width:100%;height:auto}
.contact-info{padding-top:48px;padding-bottom:56px;border-top:1px solid #e0e8ed}.contact-info dl{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:0;padding:0}.contact-info dl>div{display:flex;flex-direction:column;gap:8px}.contact-info dt{color:#8ba4af}.contact-info dd{margin:0;color:#0d3457}.contact-info dd a{color:#b4000b;text-decoration:none}.contact-info dd a:hover{text-decoration:underline}
@media(max-width:760px){.contact-info dl{grid-template-columns:1fr;gap:20px}}

/* Projects and academic results */
.projects-summary>.site-container,.projects-results>.site-container{max-width:1200px}.projects-summary{padding:56px 0 48px;scroll-margin-top:92px}.projects-summary .project-grid{margin-top:30px}.projects-heading{display:flex;align-items:center;gap:18px;padding-bottom:15px;border-bottom:2px solid #0d3457}.projects-heading span{color:#971822;font:18px/1 Georgia,serif}.projects-heading h2{margin:0;color:#466e81;font:700 28px/1 "Microsoft YaHei","PingFang SC",sans-serif}.projects-results{padding:72px 0 88px;background:#fff}.results-carousel{margin-top:32px}.results-carousel .lab-carousel__track{gap:22px}.result-card{flex:0 0 calc((100% - 44px)/3);min-width:0;min-height:360px;padding:28px 24px 24px;background:#dbeaf1;background-image:linear-gradient(135deg,rgba(255,255,255,.2),transparent 48%),radial-gradient(circle at 12% 88%,rgba(105,157,179,.12),transparent 35%)}.result-card__link{display:flex;height:100%;flex-direction:column;align-items:center;text-align:center}.result-card__media{display:grid;place-items:center;width:100%;height:240px}.result-card__media img{max-width:72%;max-height:220px;width:auto;height:auto;object-fit:contain;transition:transform 300ms ease}.result-card h3{margin:12px 0 5px;color:#263f4d;font:700 15px/1.65 var(--serif);transition:color 300ms ease}.result-card__meta{margin:0;color:#557181;font-size:12px;line-height:1.65}.result-card__excerpt{display:-webkit-box;overflow:hidden;margin:7px 0 0;color:#607985;font-size:12px;line-height:1.65;-webkit-line-clamp:2;-webkit-box-orient:vertical}.result-card__placeholder{position:relative;display:block;width:116px;height:164px;border-radius:2px 8px 8px 2px;background:linear-gradient(90deg,#486c7e 0 9px,#f6f0df 9px 100%);box-shadow:8px 10px 18px rgba(13,52,87,.2)}.result-card__placeholder:before,.result-card__placeholder:after,.result-card__placeholder i{content:"";position:absolute;left:26px;right:17px;height:2px;background:#91a7ad}.result-card__placeholder:before{top:57px;box-shadow:0 11px #91a7ad,0 22px #91a7ad}.result-card__placeholder:after{top:35px;height:7px;background:#466e81}.result-card:hover .result-card__media img{transform:translateY(-4px) scale(1.025)}.result-card:hover h3{color:#971822}.result-card__link:focus-visible{outline:3px solid #971822;outline-offset:4px}.results-carousel .lab-carousel__controls{margin-top:28px}

.projects-section-guide{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,.8fr);margin:0 0 34px;border-bottom:1px solid #c9d8df;background:#fff}
.projects-summary .projects-section-guide+.project-index{margin-top:0}
.projects-section-guide__item{position:relative;display:grid;min-width:0;min-height:86px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;padding:14px 28px;color:inherit;text-decoration:none}
.projects-section-guide__item--primary{overflow:hidden;background:#0d3457;color:#fff}
.projects-section-guide__item--primary::after{content:"";position:absolute;right:0;bottom:0;left:0;height:4px;background:#a60712}
.projects-section-guide__item--secondary{border-top:1px solid #c9d8df;border-right:1px solid #c9d8df;background:#edf4f7;color:#173f59;transition:background-color .24s ease,color .24s ease}
.projects-section-guide__number{color:#d2a7a9;font:20px/1 Georgia,serif;font-variant-numeric:tabular-nums}
.projects-section-guide__copy{display:block;min-width:0}
.projects-section-guide__copy strong,.projects-section-guide__copy h1{display:block;margin:0;color:inherit;font:700 32px/1.25 var(--serif);letter-spacing:-.02em}
.projects-section-guide__item--secondary .projects-section-guide__copy strong{font-size:23px}
.projects-section-guide__item--secondary:hover,.projects-section-guide__item--secondary:focus-visible{background:#e1edf2;color:#a60712}
.projects-section-guide__item:focus-visible{z-index:2;outline:3px solid rgba(166,7,18,.38);outline-offset:3px}
@media(max-width:1100px){.result-card{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:800px){.projects-summary{padding:46px 0 38px}.projects-results{padding:56px 0 68px}.result-card{flex-basis:100%;min-height:350px;padding:24px 20px}.projects-heading h2{font-size:25px}.result-card__media{height:230px}.projects-section-guide{grid-template-columns:1fr;margin-bottom:28px}.projects-section-guide__item{min-height:72px;padding:12px 18px;gap:16px}.projects-section-guide__item--secondary{min-height:64px;border-left:1px solid #c9d8df}.projects-section-guide__copy strong,.projects-section-guide__copy h1{font-size:27px}.projects-section-guide__item--secondary .projects-section-guide__copy strong{font-size:21px}}
@media(max-width:480px){.projects-section-guide__item{gap:14px}.projects-section-guide__number{font-size:17px}.projects-section-guide__copy strong,.projects-section-guide__copy h1{font-size:25px}.projects-section-guide__item--secondary .projects-section-guide__copy strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.projects-section-guide__item--secondary{transition:none!important}}

/* Academic results directory: adapted from the Literature Institute's
   academic-results channel—category rail, full-width records, ornamented
   edges, restrained metadata, and editorial list rhythm. */
.academic-results-directory{padding:72px 0 88px;background:rgba(255,255,255,.34);scroll-margin-top:92px}
.academic-results-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:30px 0 34px;padding:0 24px 28px;border-bottom:1px solid #cad8df;text-align:center}
.academic-results-tabs button{position:relative;display:flex;min-height:52px;align-items:center;justify-content:center;padding:10px 16px;border:1px solid #cad9e0;background:#edf5f8;color:#173f59;font:700 16px/1.45 var(--serif);text-decoration:none;cursor:pointer;transition:border-color .22s ease,background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease}
.academic-results-tabs button::before,.academic-results-tabs button::after{content:"";position:absolute;width:16px;height:7px;border-color:#a60712;opacity:0;transition:opacity .2s ease}
.academic-results-tabs button::before{top:5px;left:6px;border-top:2px solid;border-left:2px solid}
.academic-results-tabs button::after{right:6px;bottom:5px;border-right:2px solid;border-bottom:2px solid}
.academic-results-tabs button:hover,.academic-results-tabs button:focus-visible,.academic-results-tabs button.is-active{border-color:#0d3457;background:#0d3457;color:#fff;box-shadow:0 8px 20px rgba(13,52,87,.14);transform:translateY(-2px)}
.academic-results-tabs button:hover::before,.academic-results-tabs button:hover::after,.academic-results-tabs button:focus-visible::before,.academic-results-tabs button:focus-visible::after,.academic-results-tabs button.is-active::before,.academic-results-tabs button.is-active::after{opacity:1}
.academic-results-tabs button:focus-visible{outline:3px solid rgba(166,7,18,.3);outline-offset:3px}
.academic-results-list{display:grid;gap:24px}
.academic-result-item[hidden],.academic-results-empty[hidden],.academic-results-pagination[hidden]{display:none!important}
.academic-result-item{position:relative;display:block;padding:30px 50px 32px;overflow:hidden;border:1px solid #dee8ef;background:#fff;transition:border-color .24s ease}
.academic-result-item::before,.academic-result-item::after{content:"";position:absolute;z-index:2;height:3px;pointer-events:none}
.academic-result-item::before{top:0;left:0;width:100%;background:linear-gradient(90deg,#a60712 0 6.5%,#87a5b3 6.5% 8.5%,transparent 8.5%)}
.academic-result-item::after{right:0;bottom:0;width:100%;background:linear-gradient(270deg,#0d3457 0 9%,#a60712 9% 11.2%,transparent 11.2%)}
.academic-result-item:hover,.academic-result-item:focus-within{border-color:#b9cdd7}
.academic-result-body{display:block;min-width:0;padding:0}
.academic-result-category{margin:0 0 5px;color:#a60712;font:700 14px/1.6 var(--sans);letter-spacing:.08em}
.academic-result-body h3{margin:0;color:#203747;font:700 20px/2 var(--serif)}
.academic-result-body h3 a{color:inherit;text-decoration:none;transition:color .22s ease}
.academic-result-item:hover h3 a,.academic-result-body h3 a:focus-visible{color:#a60712}
.academic-result-body h3 a:focus-visible{outline:2px solid rgba(166,7,18,.35);outline-offset:4px}
.academic-result-meta{display:flex;width:100%;align-items:center;gap:13px;margin:15px 0 0;color:#0d3457;font-size:14px;line-height:1.6;transition:color .2s ease}
.academic-result-meta::before{content:"";width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#a60712;box-shadow:0 0 0 4px rgba(166,7,18,.1)}
.academic-result-meta::after{content:"";height:1px;min-width:46px;flex:1;background:#d8e2e7}
.academic-result-item:hover .academic-result-meta{color:#a60712}
.academic-result-excerpt{display:-webkit-box;overflow:hidden;margin:18px 0 0;color:#8e8e8e;font-size:16px;line-height:1.8;text-indent:2em;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.academic-result-detail{display:inline-flex;margin-top:25px;align-items:center;color:#173f59;font:700 14px/1.5 var(--sans);letter-spacing:.04em;text-decoration:none;transition:color .2s ease,transform .2s ease}
.academic-result-detail span{display:inline-block;margin-left:5px;color:#a60712;transition:transform .2s ease}
.academic-result-detail:hover,.academic-result-detail:focus-visible{color:#a60712}
.academic-result-detail:hover span,.academic-result-detail:focus-visible span{transform:translateX(4px)}
.academic-result-detail:focus-visible{outline:2px solid rgba(166,7,18,.35);outline-offset:4px}
.academic-results-empty{grid-column:1/-1;padding:48px;text-align:center}
.academic-results-empty strong{display:block;margin-bottom:8px;color:#173f59;font:700 20px var(--serif)}
.academic-results-empty p{margin:0;color:#647681}
.academic-results-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:34px}
.academic-results-pagination button{display:grid;min-width:40px;height:40px;place-items:center;border:1px solid #cbd8de;background:#fff;color:#173f59;font:700 14px var(--sans);text-decoration:none;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}
.academic-results-pagination button:hover,.academic-results-pagination button:focus-visible,.academic-results-pagination button.is-current{border-color:#a60712;background:#a60712;color:#fff}
.academic-results-pagination button:focus-visible{outline:3px solid rgba(166,7,18,.25);outline-offset:2px}
@media(max-width:950px){.academic-results-tabs{gap:10px;padding-inline:0}.academic-results-tabs button{font-size:14px}.academic-result-item{padding:26px 36px}.academic-result-body h3{font-size:20px}}
@media(max-width:700px){.academic-results-directory{padding:54px 0 68px}.academic-results-tabs{display:flex;justify-content:flex-start;overflow-x:auto;margin:24px 0 26px;padding-bottom:18px;scrollbar-width:thin}.academic-results-tabs button{min-width:max-content;flex:0 0 auto;padding-inline:20px}.academic-result-item{padding:24px}.academic-result-excerpt{-webkit-line-clamp:3}}
@media(max-width:520px){.academic-result-item{padding:20px}.academic-result-body h3{font-size:19px;line-height:1.7}.academic-result-meta{align-items:flex-start;flex-wrap:wrap}.academic-result-meta::after{display:none}.academic-result-excerpt{font-size:14px;-webkit-line-clamp:4}.academic-result-detail{margin-top:18px}.academic-results-empty{padding:36px 20px}}
@media(prefers-reduced-motion:reduce){.academic-results-tabs button,.academic-result-item,.academic-result-body h3 a,.academic-result-meta,.academic-result-detail,.academic-result-detail span{transition:none!important}}
@media(prefers-reduced-motion:reduce){.result-card__media img,.result-card h3{transition:none!important}}

/* Projects catalog card (page.php slug=projects). */
.projects-summary .project-index{margin-top:30px;display:grid;gap:24px}
.project-index-card{display:grid;grid-template-columns:minmax(0,420px) 1fr;min-height:300px;overflow:hidden;border:1px solid var(--line);background:#fff;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.project-index-card:hover{border-color:#b7ccd5;box-shadow:0 18px 38px rgba(13,52,87,.12);transform:translateY(-4px)}
.project-index-card__visual{position:relative;display:block;overflow:hidden;background:#faf7f1}
.project-index-card__visual img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.project-index-card:hover .project-index-card__visual img{transform:scale(1.04)}
.project-index-card__badge{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:7px;padding:6px 12px;background:rgba(255,255,255,.92);color:var(--red);font-size:12px;font-weight:700;box-shadow:0 4px 14px rgba(13,52,87,.12)}
.project-index-card__badge i{width:7px;height:7px;border-radius:50%;background:#b4000b;box-shadow:0 0 0 4px rgba(180,0,11,.12)}
.project-index-card__body{display:flex;min-width:0;flex-direction:column;padding:34px 40px}
.project-index-card__eyebrow{margin:0 0 12px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.16em}
.project-index-card h3{margin:0;color:var(--navy);font:700 27px/1.45 var(--serif)}
.project-index-card h3 a{color:inherit;text-decoration:none}
.project-index-card h3 a:hover{color:var(--red)}
.project-index-card__desc{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.85}
.project-index-card__meta{display:flex;width:max-content;max-width:100%;margin:22px 0 0}
.project-index-card__meta>div{padding-right:36px}
.project-index-card__meta>div+div{padding-left:36px;border-left:1px solid var(--line)}
.project-index-card__meta dt{margin:0;color:var(--muted);font-size:11px;letter-spacing:.06em}
.project-index-card__meta dd{margin:6px 0 0;color:var(--navy);font-family:var(--serif);font-size:16px;font-weight:700}
.project-index-card__link{align-self:flex-start;margin-top:auto;padding-top:20px;color:var(--red);font-size:13px;font-weight:700}
.project-index-card__link span{display:inline-block;margin-left:7px;transition:transform .22s ease}
.project-index-card__link:hover span{transform:translateX(5px)}
@media(max-width:800px){.project-index-card{grid-template-columns:1fr}.project-index-card__visual{height:220px}.project-index-card__body{padding:28px 24px}.project-index-card h3{font-size:23px}}
@media(max-width:540px){.project-index-card__meta{flex-direction:column;width:100%}.project-index-card__meta>div{padding:0}.project-index-card__meta>div+div{padding:12px 0 0;border-left:0}}

/* Single project detail (single-dh_project.php). */
.project-detail__hero{background:rgba(255,255,255,.62);border-bottom:2px solid var(--navy)}
.project-detail__hero>.site-container{max-width:1200px;padding-block:52px 34px}
.project-detail__eyebrow{display:flex;align-items:center;gap:16px;margin:0 0 16px}
.project-detail__type{color:var(--red);font-size:13px;font-weight:700;letter-spacing:.1em}
.project-detail__status{display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border:1px solid rgba(151,24,34,.28);color:var(--red);font-size:12px;font-weight:700}
.project-detail__status i{width:7px;height:7px;border-radius:50%;background:#b4000b;box-shadow:0 0 0 4px rgba(180,0,11,.12)}
.project-detail__hero h1{max-width:1000px;margin:0;color:var(--navy);font:700 clamp(32px,3.4vw,48px)/1.4 var(--serif)}
.project-detail__summary{max-width:880px;margin:20px 0 0;color:#55616a;font:500 19px/1.9 var(--serif)}
.project-detail__facts{display:flex;flex-wrap:wrap;margin:28px 0 0}
.project-detail__facts>div{padding-right:40px}
.project-detail__facts>div+div{padding-left:40px;border-left:1px solid var(--line)}
.project-detail__facts dt{margin:0;color:var(--muted);font-size:11px;letter-spacing:.06em}
.project-detail__facts dd{margin:6px 0 0;color:var(--navy);font-family:var(--serif);font-size:17px;font-weight:700}
.project-detail__layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;max-width:1200px;padding-block:64px 40px}
.project-detail__main{min-width:0}
.project-detail__block+.project-detail__block{margin-top:52px}
.project-detail__block>h2{margin:0 0 22px;padding-bottom:14px;border-bottom:2px solid var(--navy);color:var(--navy);font:700 24px var(--serif)}
.project-detail__prose{color:var(--ink);font-size:17px;line-height:2}
.project-detail__prose>p:first-child{font:500 20px/1.9 var(--serif)}
.project-detail__prose a{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.project-detail__outputs{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.project-detail__outputs>li{padding:20px 4px;border-bottom:1px solid var(--line)}
.project-detail__outputs a{text-decoration:none}
.project-detail__outputs h3{margin:0;color:var(--navy);font:700 17px/1.6 var(--serif);transition:color .22s ease}
.project-detail__outputs a:hover h3{color:var(--red)}
.project-detail__output-meta{margin:6px 0 0;color:var(--muted);font-size:13px}
.project-detail__more{display:inline-flex;align-items:center;gap:7px;margin-top:22px;color:var(--red);font-size:13px;font-weight:700}
.project-detail__more span{transition:transform .22s ease}
.project-detail__more:hover span{transform:translateX(5px)}
.project-timeline{margin:0;padding:0;list-style:none}
.project-timeline__node{display:grid;grid-template-columns:88px 26px minmax(0,1fr)}
.project-timeline__time{padding:1px 6px 0 0;color:var(--red);font:700 14px/1.5 Georgia,serif;text-align:right;word-break:break-word}
.project-timeline__rail{position:relative}
.project-timeline__rail:before{content:"";position:absolute;left:11px;top:7px;bottom:-7px;width:2px;background:var(--line)}
.project-timeline__node:last-child .project-timeline__rail:before{display:none}
.project-timeline__dot{position:absolute;left:5px;top:6px;width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid var(--red);box-shadow:0 0 0 4px rgba(151,24,34,.08)}
.project-timeline__content{padding:0 0 30px 10px}
.project-timeline__node:last-child .project-timeline__content{padding-bottom:0}
.project-timeline__content.has-media{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:26px;align-items:start}
.project-timeline__text{min-width:0}
.project-timeline__content h3{margin:0;color:var(--navy);font:700 18px/1.5 var(--serif)}
.project-timeline__content p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.85}
.project-timeline__roles{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.project-timeline__roles span{padding:4px 12px;border:1px solid var(--line);background:var(--paper);color:#4a5a63;font-size:12px}
.project-timeline__media{margin:0;overflow:hidden;border:1px solid var(--line);background:var(--pale)}
.project-timeline__media img{display:block;width:100%;height:auto;object-fit:cover}
.project-members{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.project-member__photo{display:block;aspect-ratio:3/4;overflow:hidden;margin-bottom:12px;background:var(--navy)}
.project-member__photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.project-member:hover .project-member__photo img{transform:scale(1.04)}
.project-member__photo .person-placeholder{min-height:100%}
.project-member h3{margin:0;color:var(--navy);font:700 16px/1.5 var(--serif)}
.project-member h3 a{color:inherit;text-decoration:none}
.project-member:hover h3 a{color:var(--red)}
.project-member p{margin:5px 0 0;color:var(--muted);font-size:12px}
@media(max-width:640px){.project-members{grid-template-columns:repeat(2,1fr);gap:18px 16px}.project-timeline__content.has-media{grid-template-columns:1fr;gap:16px}.project-timeline__media{max-width:260px}}
@media(max-width:540px){.project-timeline__node{grid-template-columns:64px 22px minmax(0,1fr)}.project-timeline__time{font-size:13px}}
.project-detail__aside{align-self:start;position:sticky;top:25px}
.project-detail__card{padding:28px 26px;border:1px solid var(--line);background:var(--paper)}
.project-detail__card-title{margin:0 0 4px;color:var(--navy);font:700 16px var(--serif)}
.project-detail__card dl{margin:0}
.project-detail__card dl>div{padding:13px 0;border-bottom:1px solid var(--line)}
.project-detail__card dl>div:first-of-type{border-top:2px solid var(--navy)}
.project-detail__card dt{color:var(--muted);font-size:11px}
.project-detail__card dd{margin:4px 0 0;color:var(--navy);font-weight:700}
.project-detail__card .button{display:flex;justify-content:center;width:100%;margin-top:22px}
.project-detail__resources-link{display:inline-block;margin-top:16px;color:var(--red);font-size:13px;font-weight:700}
.project-detail__resources-link span{display:inline-block;margin-left:6px;transition:transform .22s ease}
.project-detail__resources-link:hover span{transform:translateX(5px)}
.project-detail__nav{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1200px;padding-top:26px;padding-bottom:70px;border-top:1px solid var(--line)}
.project-detail__nav a{display:block;color:var(--navy);text-decoration:none}
.project-detail__nav a:hover{color:var(--red)}
.project-detail__nav span{display:block;color:var(--muted);font-size:11px}
@media(max-width:900px){.project-detail__layout{grid-template-columns:1fr;gap:44px;padding-block:48px 32px}.project-detail__aside{position:static}}
@media(max-width:540px){.project-detail__hero>.site-container{padding-block:36px 26px}.project-detail__hero h1{font-size:30px}.project-detail__facts>div{padding-right:22px}.project-detail__facts>div+div{padding-left:22px}.project-detail__nav{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.project-index-card,.project-index-card__visual img,.project-index-card__link span,.project-detail__more span,.project-detail__resources-link span{transition:none!important}}

/* Align interior feature modules with the 1200px desktop main navigation. */
@media(min-width:1101px){
    .lab-about>.site-container,.lab-team-directory>.site-container,.lab-education>.site-container{max-width:1200px}
    .lab-about-feature{min-height:545px}
}

/* Desktop optical scale: closer to the source portal at a comfortable reading size. */
@media(min-width:901px){
    .cass-shell{width:min(1200px,calc(100% - 48px))}
    .cass-masthead{height:150px}
    .cass-logo-slot{height:86px;gap:14px}
    .cass-logo-unit,.cass-logo-slot .custom-logo-link,.cass-logo-placeholder{width:86px;height:86px;flex-basis:86px}
    .cass-logo-slot .custom-logo{max-width:86px;max-height:86px}
    .cass-institution-name{font-size:23px}
    .cass-lab-title{font-size:38px}
    .cass-nav a{padding:22px 10px 20px;font-size:20px}
    .cass-home{padding-top:28px}
    .cass-portal-grid{gap:20px;margin-top:44px}
    .cass-panel h2,.cass-section-title h2{font-size:29px}
    .cass-panel h2:before,.cass-section-title h2:before{width:28px;height:28px;font-size:15px}
    .cass-panel header a,.cass-section-title a{font-size:14px}
    .cass-panel li a{font-size:15px}
    .cass-feature-image{height:210px}
    .cass-feature-card>p{font-size:14px}
    .cass-feature-card h2{font-size:18px}
    .cass-feature-card>div{font-size:14px}
    .cass-feature-card time{font-size:13px}
    .cass-section{padding:48px 0}
    .cass-output-panel{min-height:225px;grid-template-columns:60px 1fr;padding-top:23px}
    .cass-output-panel h3{font-size:24px}
    .cass-output-panel a{font-size:15px}
    .cass-activity{padding:48px 0 76px}
    .cass-activity-image{height:390px}
    .cass-activity-lead h3{font-size:21px}
    .cass-activity-lead p{font-size:14px}
    .cass-dated-list h3{font-size:16px}
    .cass-topics{height:338px}
    .cass-topic-art strong{font-size:39px}
    .cass-topic-art span{font-size:20px}
    .cass-related{font-size:16px}
    .cass-footer-inner{min-height:165px;font-size:13px}
}

/* Site-wide interaction and motion system */
.site-scroll-progress{position:fixed;z-index:1000;top:0;left:0;width:var(--scroll-progress,0);height:3px;background:linear-gradient(90deg,#971822,#cf4a52);box-shadow:0 1px 8px rgba(151,24,34,.35);pointer-events:none;transition:width .08s linear}
.back-to-top{position:fixed;z-index:80;right:28px;bottom:28px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(13,52,87,.9);box-shadow:0 10px 28px rgba(13,52,87,.2);color:#fff;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(16px) scale(.92);transition:opacity .28s ease,visibility .28s ease,transform .28s ease,background .25s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.back-to-top:hover,.back-to-top:focus-visible{background:#971822;transform:translateY(-3px)}.back-to-top span{font-size:21px;line-height:1}
.cass-header{z-index:90;transition:box-shadow .3s ease,background-color .3s ease}.cass-header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(13,52,87,.12);backdrop-filter:saturate(150%) blur(12px)}
@media(min-width:901px){.cass-header{position:sticky;top:-150px}.cass-header.is-scrolled .cass-nav{background:rgba(255,255,255,.94)!important}}
.cass-logo-slot,.cass-lab-title{transition:transform .35s ease,filter .35s ease}.cass-logo-slot:hover{transform:rotate(-2deg) scale(1.035)}.cass-lab-title:hover{filter:brightness(.82);transform:translateY(-1px)}
.cass-nav a{position:relative;transition:color .25s ease,background-color .25s ease,transform .25s ease}.cass-nav>div>ul>li>a:after{content:"";position:absolute;left:22%;right:22%;bottom:10px;height:2px;background:#b4000b;transform:scaleX(0);transform-origin:center;transition:transform .28s ease}.cass-nav>div>ul>li>a:hover:after,.cass-nav>div>ul>li.current-menu-item>a:after,.cass-nav>div>ul>li.current_page_item>a:after{transform:scaleX(1)}.cass-nav>div>ul>li>a:hover{transform:translateY(-2px)}
.reveal-ready{opacity:0;transform:translate3d(0,28px,0);transition:opacity .7s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms),transform .7s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms)}.reveal-ready.is-revealed{opacity:1;transform:none}
.article-content.reveal-ready{opacity:1;transform:none;transition:none}
.cass-section-title,.lab-section-heading,.projects-heading,.section-heading{position:relative}.cass-section-title:after,.lab-section-heading:after,.projects-heading:after,.section-heading:after{content:"";position:absolute;left:0;bottom:-2px;width:72px;height:2px;background:#b4000b;transform:scaleX(.25);transform-origin:left;transition:transform .6s cubic-bezier(.22,.61,.36,1)}.cass-section-title.is-revealed:after,.lab-section-heading.is-revealed:after,.projects-heading.is-revealed:after,.section-heading.is-revealed:after{transform:scaleX(1)}
.cass-feature-card,.cass-news-card,.content-card,.lab-history-card,.lab-person-card,.result-card,.resource-history-card{transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}.cass-feature-card:hover,.cass-news-card:hover,.content-card:hover,.lab-history-card:hover,.lab-person-card:hover,.result-card:hover,.resource-history-card:hover{z-index:2;border-color:#b7ccd5;box-shadow:0 18px 38px rgba(13,52,87,.12);transform:translateY(-5px)}
.cass-feature-image img,.cass-activity-image img,.cass-news-card__image img,.content-card__media img,.lab-history-card img,.lab-person-card__photo img,.resource-history-card__media img{transition:transform .55s cubic-bezier(.22,.61,.36,1),filter .4s ease}.cass-feature-card:hover img,.cass-activity-lead:hover img,.cass-news-card:hover img,.content-card:hover img,.lab-history-card:hover img,.lab-person-card:hover img,.resource-history-card:hover img{filter:saturate(1.06) contrast(1.02);transform:scale(1.04)}
.cass-news-categories a,.resource-categories a,.text-link,.button,.lab-carousel__controls button,.cass-news-pagination a{transition:transform .22s ease,box-shadow .22s ease,color .22s ease,background-color .22s ease,border-color .22s ease}.cass-news-categories a:hover,.resource-categories a:hover,.lab-carousel__controls button:not(:disabled):hover{box-shadow:0 8px 18px rgba(13,52,87,.13);transform:translateY(-2px)}.is-pressing{transform:translateY(1px) scale(.98)!important}
.breadcrumb a{position:relative;transition:color .22s ease}.breadcrumb a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:#971822;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.breadcrumb a:hover:after{transform:scaleX(1)}
.article-content a:not(.button),.prose a{transition:color .22s ease,text-decoration-color .22s ease}.article-content img{border-radius:2px;box-shadow:0 14px 34px rgba(13,52,87,.1);transition:transform .38s ease,box-shadow .38s ease}.article-content img:hover{box-shadow:0 20px 44px rgba(13,52,87,.16);transform:translateY(-3px)}
@media(max-width:800px){.back-to-top{right:16px;bottom:18px;width:42px;height:42px}.cass-header{position:relative}.cass-nav>div>ul>li>a:after{display:none}.reveal-ready{transform:translate3d(0,18px,0)}.cass-feature-card:hover,.cass-news-card:hover,.content-card:hover,.lab-history-card:hover,.lab-person-card:hover,.result-card:hover,.resource-history-card:hover{transform:none;box-shadow:0 10px 24px rgba(13,52,87,.09)}}
@media(prefers-reduced-motion:reduce){.site-scroll-progress{transition:none}.reveal-ready,.reveal-ready.is-revealed{opacity:1!important;transform:none!important;transition:none!important}.back-to-top,.cass-header,.cass-logo-slot,.cass-lab-title,.cass-nav a,.cass-nav a:after,.cass-section-title:after,.lab-section-heading:after,.projects-heading:after,.section-heading:after{transition:none!important}.cass-feature-card:hover,.cass-news-card:hover,.content-card:hover,.lab-history-card:hover,.lab-person-card:hover,.result-card:hover,.resource-history-card:hover,.article-content img:hover{transform:none!important}}

/* Precise article targeting inside news/brief lists. */
.cass-panel li,.cass-output-panel li,.cass-dated-list article,.news-list article,.news-archive article{position:relative;transition:background-color .24s ease,transform .24s ease,box-shadow .24s ease,padding-left .24s ease}
.cass-panel li:before,.cass-output-panel li:before,.cass-dated-list article:before,.news-list article:before,.news-archive article:before{content:"";position:absolute;z-index:2;left:0;top:14%;bottom:14%;width:3px;border-radius:2px;background:#b4000b;opacity:0;transform:scaleY(.3);transition:opacity .22s ease,transform .24s ease}
.cass-panel li:hover,.cass-panel li:focus-within,.cass-output-panel li:hover,.cass-output-panel li:focus-within,.cass-dated-list article:hover,.cass-dated-list article:focus-within,.news-list article:hover,.news-list article:focus-within,.news-archive article:hover,.news-archive article:focus-within{background:linear-gradient(90deg,rgba(180,0,11,.075),rgba(237,245,248,.72));box-shadow:0 8px 20px rgba(13,52,87,.08);transform:translateX(5px)}
.cass-panel li:hover:before,.cass-panel li:focus-within:before,.cass-output-panel li:hover:before,.cass-output-panel li:focus-within:before,.cass-dated-list article:hover:before,.cass-dated-list article:focus-within:before,.news-list article:hover:before,.news-list article:focus-within:before,.news-archive article:hover:before,.news-archive article:focus-within:before{opacity:1;transform:scaleY(1)}
.cass-panel li a,.cass-output-panel li a,.cass-dated-list article a,.news-list article h3 a,.news-archive article h2 a{transition:color .22s ease,transform .22s ease}
.cass-panel li:hover a,.cass-panel li:focus-within a,.cass-output-panel li:hover a,.cass-output-panel li:focus-within a,.cass-dated-list article:hover a,.cass-dated-list article:focus-within a,.news-list article:hover h3 a,.news-list article:focus-within h3 a,.news-archive article:hover h2 a,.news-archive article:focus-within h2 a{color:#b4000b}
.cass-news-list:hover>.cass-news-card:not(:hover):not(:focus-within){opacity:.72}.cass-news-card{transition:opacity .25s ease,transform .32s ease,box-shadow .32s ease,border-color .32s ease}.cass-news-card:hover,.cass-news-card:focus-within{border-color:#9fb8c4;box-shadow:0 20px 42px rgba(13,52,87,.15)}
@media(max-width:800px){.cass-panel li:hover,.cass-output-panel li:hover,.cass-dated-list article:hover,.news-list article:hover,.news-archive article:hover{transform:none}.cass-news-list:hover>.cass-news-card:not(:hover):not(:focus-within){opacity:1}}
@media(prefers-reduced-motion:reduce){.cass-panel li,.cass-output-panel li,.cass-dated-list article,.news-list article,.news-archive article,.cass-news-card{transition:none!important}}

/* Homepage top academic-news banner: scoped so the remaining homepage design stays unchanged. */
@media(max-width:900px){
    .cass-banner{grid-template-columns:minmax(0,3fr) minmax(260px,2fr);min-height:330px}
    .cass-banner-stage{min-height:330px}
    .cass-banner-slide__caption{padding:20px 96px 18px 22px}
    .cass-banner-slide__caption h2{font-size:21px}
    .cass-banner-news{padding:18px 16px 12px}
    .cass-banner-news__list article{grid-template-columns:42px minmax(0,1fr);gap:8px;padding:8px 4px}
    .cass-banner-news__list time b{font-size:20px}
    .cass-banner-news__list h3{font-size:12px}
}
@media(max-width:760px){
    .cass-banner{grid-template-columns:1fr;min-height:0;box-shadow:0 8px 22px rgba(13,52,87,.08)}
    .cass-banner-stage{min-height:300px}
    .cass-banner-news{border-top:1px solid #e4d7d8;border-left:0}
    .cass-banner-news__list{display:block}
    .cass-banner-news__list article{grid-template-columns:48px minmax(0,1fr);padding:11px 7px}
}
@media(max-width:480px){
    .cass-banner-stage{min-height:270px}
    .cass-banner-slide__caption{padding:17px 18px 18px}
    .cass-banner-slide__caption h2{font-size:18px;line-height:1.4}
    .cass-banner-slide__caption time{margin-right:110px}
    .cass-banner-controls{right:14px;bottom:16px}
    .cass-banner-news{padding:17px 13px 10px}
}
@media(prefers-reduced-motion:reduce){
    .cass-banner-slide,.cass-banner-news__list article{transition:none!important}
}

/* Homepage news lists directly below the banner. */
.cass-news-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;margin-top:42px;margin-bottom:6px}
.cass-news-column{min-width:0;padding:25px 28px 20px;border-top:3px solid #a9000b;background:rgba(255,255,255,.9);box-shadow:0 10px 28px rgba(13,52,87,.07)}
.cass-news-column>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:2px solid #eadfe0}
.cass-news-column>header span{display:block;margin-bottom:3px;color:#a9000b;font-size:10px;font-weight:700;letter-spacing:.16em}
.cass-news-column>header h2{margin:0;color:#76101a;font-family:"Source Han Serif Heavy","STSong",serif;font-size:25px;line-height:1.3}
.cass-news-column>header>a{flex:0 0 auto;color:#a9000b;text-decoration:none;font-size:12px}
.cass-news-column ul{margin:0;padding:0;list-style:none}
.cass-news-column li{position:relative;display:grid;grid-template-columns:55px minmax(0,1fr);gap:17px;align-items:center;min-height:74px;padding:11px 7px;border-bottom:1px solid #eadfe0;transition:background-color .24s ease,transform .24s ease,box-shadow .24s ease}
.cass-news-column li:last-child{border-bottom:0}
.cass-news-column li:before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:2px;background:#b4000b;opacity:0;transform:scaleY(.3);transition:opacity .22s ease,transform .24s ease}
.cass-news-column li:hover,.cass-news-column li:focus-within{background:linear-gradient(90deg,rgba(180,0,11,.07),rgba(237,245,248,.62));box-shadow:0 8px 20px rgba(13,52,87,.07);transform:translateX(4px)}
.cass-news-column li:hover:before,.cass-news-column li:focus-within:before{opacity:1;transform:scaleY(1)}
.cass-news-column time{color:#a9000b;text-align:center}
.cass-news-column time b{display:block;font-family:"Source Han Serif Heavy","STSong",serif;font-size:24px;line-height:1}
.cass-news-column time span{display:block;margin-top:4px;color:#8b7779;font-size:10px}
.cass-news-column h3{margin:0;font-size:15px;font-weight:600;line-height:1.65}
.cass-news-column h3 a{display:-webkit-box;overflow:hidden;color:#263d4d;text-decoration:none;transition:color .22s ease;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.cass-news-column li:hover h3 a,.cass-news-column li:focus-within h3 a{color:#b4000b}
.cass-news-column li.is-placeholder{background:rgba(247,248,247,.54);box-shadow:none;transform:none}.cass-news-column li.is-placeholder:before{display:none}.cass-news-column li.is-placeholder time{color:#b9a4a6}.cass-news-column li.is-placeholder time b{font-family:Arial,sans-serif;font-size:18px}.cass-news-column li.is-placeholder h3>span{color:#a5afb4;font-weight:400;letter-spacing:.04em}
@media(max-width:760px){.cass-news-pair{grid-template-columns:1fr;gap:22px;margin-top:28px}.cass-news-column{padding:22px 20px 16px}}
@media(max-width:430px){.cass-news-column{padding-inline:15px}.cass-news-column>header h2{font-size:22px}.cass-news-column li{grid-template-columns:48px minmax(0,1fr);gap:11px}.cass-news-column time b{font-size:21px}.cass-news-column h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){.cass-news-column li,.cass-news-column li:before,.cass-news-column h3 a{transition:none!important}}

/* Homepage video showcase (replaces featured project in news-pair). */
.cass-home-video{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:3px solid #e9f3f8;background:#0d3457;box-shadow:0 10px 28px rgba(13,52,87,.09)}
.cass-home-video video{display:block;width:100%;flex:1;min-height:380px;background:#000;object-fit:cover}
@media(max-width:760px){.cass-home-video video{min-height:240px}}

/* Homepage news pair: replace "Lab News" with one flagship ongoing project. */
.cass-featured-project{display:grid;min-width:0;min-height:394px;overflow:hidden;border-top:3px solid #a9000b;background:#fff;grid-template-columns:minmax(210px,42%) minmax(0,1fr);box-shadow:0 10px 28px rgba(13,52,87,.09)}
.cass-featured-project-shadow,.cass-project-mini-shadow{position:relative;z-index:2;min-width:0;min-height:0;filter:drop-shadow(7px 9px 0 rgba(143,21,32,.46)) drop-shadow(14px 17px 8px rgba(143,21,32,.3)) drop-shadow(20px 24px 14px rgba(143,21,32,.18))}
.cass-featured-project-shadow>.cass-featured-project,.cass-project-mini-shadow>.cass-project-mini{height:100%}
.cass-featured-project--linked{position:relative;border:4px solid #8f1520;background:#fffaf6;clip-path:polygon(0 0,calc(100% - 32px) 0,100% 32px,100% 100%,32px 100%,0 calc(100% - 32px));box-shadow:none;filter:none}
.cass-featured-project--linked:before{content:"";position:absolute;z-index:7;top:0;right:0;width:32px;height:32px;background:linear-gradient(225deg,#8f1520 0 49%,transparent 50%);pointer-events:none}
.cass-featured-project--linked:after{content:"";position:absolute;z-index:7;inset:9px;border:2px solid rgba(143,21,32,.48);clip-path:polygon(0 0,calc(100% - 23px) 0,100% 23px,100% 100%,23px 100%,0 calc(100% - 23px));pointer-events:none}
.cass-featured-project__visual{position:relative;display:block;min-width:0;overflow:hidden;background:#0d3457}
.cass-featured-project--linked .cass-featured-project__visual:before{content:"";position:absolute;z-index:3;right:-4px;bottom:-5px;width:98px;height:98px;border-radius:50%;background:radial-gradient(circle,transparent 0 35%,rgba(255,255,255,.33) 36% 37%,transparent 38% 53%,rgba(255,255,255,.18) 54% 55%,transparent 56%);pointer-events:none}
.cass-featured-project__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,27,46,.03) 42%,rgba(4,27,46,.45));pointer-events:none}
.cass-featured-project__visual img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,.61,.36,1),filter .3s ease}
.cass-featured-project:hover .cass-featured-project__visual img,.cass-featured-project:focus-within .cass-featured-project__visual img{filter:saturate(1.05);transform:scale(1.045)}
.cass-featured-project__status{position:absolute;z-index:2;top:17px;left:17px;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;background:rgba(255,255,255,.93);color:#76101a;font-size:11px;font-weight:700;line-height:1;box-shadow:0 5px 16px rgba(4,27,46,.18);backdrop-filter:blur(6px)}
.cass-featured-project__status i{width:7px;height:7px;border-radius:50%;background:#b4000b;box-shadow:0 0 0 3px rgba(180,0,11,.13)}
.cass-featured-project__mark{position:absolute;z-index:5;right:18px;bottom:18px;display:grid;width:46px;height:46px;border:3px solid rgba(255,255,255,.96);border-radius:50%;place-items:center;background:#8f1520;color:#fff;font:700 17px/1 Georgia,serif;box-shadow:0 0 0 4px rgba(143,21,32,.9),0 8px 20px rgba(4,27,46,.34)}
.cass-featured-project--linked .cass-featured-project__visual{border-right:3px solid rgba(143,21,32,.82)}
.cass-featured-project--linked .cass-featured-project__visual img{filter:sepia(.08) saturate(1.08)}
.cass-featured-project--linked .cass-featured-project__body{background:linear-gradient(135deg,rgba(255,250,246,.98),rgba(255,255,255,.98))}
.cass-featured-project__body{display:flex;min-width:0;padding:25px 27px 22px;flex-direction:column}
.cass-featured-project__body>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:2px solid #a9000b}
.cass-featured-project__body>header span{display:inline-flex;align-items:center;padding:7px 11px;background:#8f1520;color:#fff;font-size:10px;font-weight:700;line-height:1;letter-spacing:.12em}
.cass-featured-project__body>header strong{display:grid;width:30px;height:30px;border:1px solid rgba(143,21,32,.3);border-radius:50%;place-items:center;color:#8f1520;font:700 13px/1 Georgia,serif}
.cass-featured-project__field{margin:17px 0 6px;color:#9a5a55;font-size:10px;font-weight:700;letter-spacing:.13em}
.cass-featured-project h2{display:-webkit-box;overflow:hidden;margin:0;color:#153b59;font:700 22px/1.45 "Source Han Serif Heavy","STSong",serif;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.cass-featured-project h2 a{color:inherit;text-decoration:none;transition:color .22s ease}
.cass-featured-project:hover h2 a,.cass-featured-project:focus-within h2 a{color:#971822}
.cass-featured-project__desc{display:-webkit-box;overflow:hidden;margin:10px 0 0;color:#65747c;font-size:12px;line-height:1.75;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.cass-featured-project dl{display:grid;margin:15px 0 0;padding-top:12px;border-top:1px solid #e5dfe0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cass-featured-project dt{color:#9c7b73;font-size:9px;letter-spacing:.05em}.cass-featured-project dd{margin:3px 0 0;color:#263d4d;font-family:"Source Han Serif Heavy","STSong",serif;font-size:12px;font-weight:700}
.cass-featured-project__link{align-self:flex-start;margin-top:auto;padding-top:12px;color:#89101e;font-size:11px;font-weight:700;text-decoration:none}
.cass-featured-project__link span{display:inline-block;margin-left:6px;transition:transform .22s ease}.cass-featured-project__link:hover span,.cass-featured-project__link:focus-visible span{transform:translateX(5px)}
@media(max-width:1050px){.cass-featured-project{grid-template-columns:minmax(165px,40%) minmax(0,1fr)}.cass-featured-project__body{padding:22px 20px 19px}.cass-featured-project h2{font-size:19px}.cass-featured-project__desc{-webkit-line-clamp:2}.cass-featured-project dl{gap:8px}}
@media(max-width:760px){.cass-featured-project{min-height:360px;grid-template-columns:minmax(240px,42%) minmax(0,1fr)}}
@media(max-width:560px){.cass-featured-project{display:flex;min-height:0;flex-direction:column}.cass-featured-project__visual{height:210px}.cass-featured-project__body{padding:22px 20px}.cass-featured-project__desc{-webkit-line-clamp:3}.cass-featured-project__link{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.cass-featured-project__visual img,.cass-featured-project h2 a,.cass-featured-project__link span{transition:none!important}}
.cass-feature-card>p a{color:inherit;text-decoration:none}

/* Homepage current-projects focus: same light academic background as the surrounding sections. */
.cass-projects-focus{position:relative;isolation:isolate;overflow:hidden;padding:42px 0;background:#fff url("assets/cass-reference/sk_wxs_body_bg.jpg") center top/2048px auto repeat-y;color:#333}
.cass-projects-focus:before,.cass-projects-focus:after{content:"";position:absolute;z-index:-1;border:1px solid rgba(13,52,87,.1);border-radius:50%;pointer-events:none}.cass-projects-focus:before{top:-210px;right:-120px;width:510px;height:510px}.cass-projects-focus:after{bottom:-260px;left:-150px;width:560px;height:560px}
.cass-projects-focus__grid{position:absolute;z-index:-2;inset:0;opacity:.2;background-image:linear-gradient(rgba(13,52,87,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(13,52,87,.1) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent)}
.cass-projects-focus__header{margin-bottom:16px}.cass-projects-focus__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px}.cass-project-card{position:relative;display:flex;min-width:0;min-height:280px;overflow:hidden;padding:22px 24px 20px;border:1px solid rgba(112,20,31,.16);background:linear-gradient(145deg,#fffdf8,#f6eee6);color:#273641;flex-direction:column;box-shadow:0 11px 26px rgba(13,52,87,.09);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.cass-project-card:before,.cass-project-card:after{content:"";position:absolute;width:22px;height:22px;pointer-events:none}.cass-project-card:before{top:10px;left:10px;border-top:1px solid rgba(137,16,30,.44);border-left:1px solid rgba(137,16,30,.44)}.cass-project-card:after{right:10px;bottom:10px;border-right:1px solid rgba(137,16,30,.44);border-bottom:1px solid rgba(137,16,30,.44)}.cass-project-card:hover,.cass-project-card:focus-within{z-index:2;border-color:rgba(137,16,30,.4);box-shadow:0 18px 36px rgba(13,52,87,.15);transform:translateY(-5px)}.cass-project-card__top{display:flex;align-items:center;justify-content:space-between;gap:18px}.cass-project-card__status{display:inline-flex;align-items:center;gap:8px;color:#89101e;font-size:11px;font-weight:700}.cass-project-card__status i{width:7px;height:7px;border-radius:50%;background:#b4000b;box-shadow:0 0 0 5px rgba(180,0,11,.1)}.cass-project-card__number{color:rgba(112,20,31,.19);font:700 22px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.05em}.cass-project-card__body{margin:auto 0}.cass-project-card__body>p{margin:14px 0 6px;color:#a46d66;font:700 9px/1.4 Arial,sans-serif;letter-spacing:.16em}.cass-project-card h3{margin:0;color:#65101a;font-family:"Source Han Serif Heavy","STSong",serif;font-size:18px;line-height:1.5}.cass-project-card h3 a{color:inherit;text-decoration:none}.cass-project-card__body>div{display:-webkit-box;overflow:hidden;margin-top:9px;color:#64717a;font-size:12px;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cass-project-card dl{display:flex;gap:20px;margin:15px 0 0;padding-top:12px;border-top:1px solid #e3d2c9}.cass-project-card dl>div{min-width:0}.cass-project-card dt{color:#a37d77;font-size:9px;letter-spacing:.08em}.cass-project-card dd{margin:3px 0 0;color:#3e4a51;font-size:11px;font-weight:700}.cass-project-card__link{align-self:flex-start;margin-top:12px;color:#89101e;text-decoration:none;font-size:11px;font-weight:700}.cass-project-card__link span{display:inline-block;margin-left:7px;transition:transform .22s ease}.cass-project-card__link:hover span,.cass-project-card__link:focus-visible span{transform:translateX(5px)}.cass-project-card__pending{align-self:flex-start;margin-top:auto;padding:5px 9px;border:1px solid #dbc3ba;color:#98766f;font-size:10px;letter-spacing:.08em}.cass-project-card--placeholder{background:linear-gradient(145deg,rgba(255,253,248,.94),rgba(240,229,220,.92))}
@media(max-width:820px){.cass-projects-focus{padding:36px 0}.cass-projects-focus__cards{grid-template-columns:1fr}.cass-project-card{min-height:250px}}
@media(max-width:560px){.cass-projects-focus{padding:30px 0}.cass-projects-focus__header{align-items:center;flex-direction:row;gap:14px}.cass-project-card{min-height:0;padding:22px 20px 20px}.cass-project-card h3{font-size:18px}.cass-project-card dl{gap:16px;flex-direction:column}.cass-projects-focus__grid{background-size:30px 30px}}
@media(prefers-reduced-motion:reduce){.cass-project-card,.cass-project-card__link span{transition:none!important}}

/* Stanford Literary Lab-inspired project focus: one primary story, two quiet selectors. */
.cass-projects-focus{padding:38px 0 44px;background:#fff;color:#263641}
.cass-projects-focus:before,.cass-projects-focus:after,.cass-projects-focus__grid{display:none}
.cass-projects-focus__header{margin-bottom:20px}
.cass-projects-focus__cards{display:grid;grid-template-columns:minmax(0,2.08fr) minmax(285px,.92fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:0 30px;min-height:380px}
.cass-project-card{grid-column:2;position:relative;display:flex;min-width:0;min-height:0;overflow:hidden;padding:18px 8px 16px;border:0;border-top:1px solid #dce3e6;background:#fff;color:#40505a;box-shadow:none;flex-direction:column;transition:background-color .28s ease,color .28s ease}
.cass-project-card:before,.cass-project-card:after{display:none}
.cass-project-card:hover,.cass-project-card:focus-within{z-index:1;border-color:#dce3e6;background:#fbfcfc;box-shadow:none;transform:none}
.cass-project-card.is-active{grid-column:1;grid-row:1/span 2;padding:34px 38px 30px;border:1px solid #ebe5dc;background:#faf7f1 url("assets/project-focus-shanshui.png") right center/cover no-repeat;color:#273641;animation:project-focus-in .42s cubic-bezier(.22,.61,.36,1) both}
.cass-project-card.is-active:hover,.cass-project-card.is-active:focus-within{border-color:#dfd6c9;background-color:#faf7f1}
.cass-project-card__select{position:absolute;z-index:1;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.cass-project-card__select:focus-visible{outline:3px solid #a9000b;outline-offset:-5px}
.cass-project-card>*:not(.cass-project-card__select){position:relative;z-index:2;pointer-events:none}
.cass-project-card a{pointer-events:auto}
.cass-project-card__top{align-items:flex-start}
.cass-project-card__status{font-size:13px;letter-spacing:.04em}
.cass-project-card__status i{width:8px;height:8px}
.cass-project-card__number{position:absolute;top:18px;right:8px;color:rgba(112,20,31,.13);font:500 24px/1 Georgia,serif}
.cass-project-card.is-active .cass-project-card__number{top:27px;right:29px;font-size:29px}
.cass-project-card__body{margin:14px 0 0}
.cass-project-card.is-active .cass-project-card__body{display:flex;max-width:72%;margin:auto 0;flex-direction:column;justify-content:center}
.cass-project-card__body>p{margin:0 0 10px;color:#a25b55;font-size:9px;letter-spacing:.18em}
.cass-project-card h3{margin:0;color:#0d3457;font-size:22px;line-height:1.35;letter-spacing:.025em}
.cass-project-card.is-active h3{font-size:34px;line-height:1.34;letter-spacing:.035em}
.cass-project-card__body>div{margin-top:8px;color:#68777e;font-size:12px;line-height:1.7;-webkit-line-clamp:2}
.cass-project-card.is-active .cass-project-card__body>div{max-width:580px;margin-top:14px;font-size:13px;line-height:1.8;-webkit-line-clamp:2}
.cass-project-card dl{display:none}
.cass-project-card.is-active dl{display:flex;align-items:flex-start;gap:0;width:max-content;max-width:100%;margin:0;padding:0;border:0}
.cass-project-card.is-active dl>div{min-width:155px;padding-right:34px}
.cass-project-card.is-active dl>div+div{padding-left:34px;border-left:1px solid #dbcfc6}
.cass-project-card.is-active dt{color:#9c7b73;font-size:12px}
.cass-project-card.is-active dd{margin-top:7px;color:#263641;font-family:"Source Han Serif Heavy","STSong",serif;font-size:17px}
.cass-project-card__link,.cass-project-card__pending{align-self:flex-start;margin-top:19px;padding:0;border:0;color:#a9000b;font-size:12px;font-weight:700;letter-spacing:.04em}
.cass-project-card.is-active .cass-project-card__link,.cass-project-card.is-active .cass-project-card__pending{position:absolute;z-index:3;left:335px;bottom:33px;margin:0;padding:6px 0;border-bottom:1px solid #a9000b;pointer-events:auto}
.cass-project-card--placeholder{background:#fff}
.cass-project-card--placeholder.is-active{background:#faf7f1 url("assets/project-focus-shanshui.png") right center/cover no-repeat}
@keyframes project-focus-in{from{opacity:.72;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1050px){
  .cass-projects-focus__cards{grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);gap:0 22px;min-height:370px}
  .cass-project-card.is-active{padding:32px 30px 28px}
  .cass-project-card.is-active h3{font-size:31px}
  .cass-project-card.is-active .cass-project-card__body{max-width:78%}
  .cass-project-card.is-active .cass-project-card__link,.cass-project-card.is-active .cass-project-card__pending{left:285px;bottom:31px}
}
@media(max-width:820px){
  .cass-projects-focus{padding:32px 0 38px}
  .cass-projects-focus__cards{display:flex;min-height:0;gap:0;flex-direction:column}
  .cass-project-card,.cass-project-card.is-active{order:0;min-height:0;padding:26px 20px;border:0;border-top:1px solid #dce3e6;background:#fff}
  .cass-project-card.is-active{order:-1;min-height:330px;padding:29px 26px 26px;border:1px solid #ebe5dc;background:#faf7f1 url("assets/project-focus-shanshui.png") right center/cover no-repeat}
  .cass-project-card.is-active .cass-project-card__body{max-width:78%;margin:30px 0 24px}
  .cass-project-card.is-active h3{font-size:29px}
  .cass-project-card.is-active dl>div{min-width:135px;padding-right:24px}
  .cass-project-card.is-active dl>div+div{padding-left:24px}
  .cass-project-card.is-active .cass-project-card__link,.cass-project-card.is-active .cass-project-card__pending{position:relative;left:auto;bottom:auto;margin-top:22px}
}
@media(max-width:560px){
  .cass-projects-focus{padding:28px 0 34px}
  .cass-projects-focus__header{margin-bottom:18px}
  .cass-project-card.is-active{min-height:340px;padding:26px 20px 22px;background-position:62% center}
  .cass-project-card.is-active .cass-project-card__number{top:23px;right:19px;font-size:26px}
  .cass-project-card.is-active .cass-project-card__body{max-width:100%;margin:36px 0 29px}
  .cass-project-card.is-active h3{font-size:27px;line-height:1.42}
  .cass-project-card.is-active .cass-project-card__body>div{font-size:13px}
  .cass-project-card.is-active dl{width:100%}
  .cass-project-card.is-active dl>div{min-width:0;flex:1}
  .cass-project-card h3{padding-right:42px;font-size:22px}
}
@media(prefers-reduced-motion:reduce){.cass-project-card.is-active{animation:none}}

/* Homepage ongoing projects: 3-column grid (1 featured + 2 + 2) with color-block visual linkage. */
.cass-projects-six{padding:38px 0 44px;background:#fff url("assets/cass-reference/sk_wxs_body_bg.jpg") center top/2048px auto repeat-y}
.cass-projects-six .cass-projects-focus__inner{position:relative}
.cass-projects-six .cass-projects-focus__inner:before{display:none}
.cass-projects-six .cass-projects-focus__header h2:before{content:"文";position:relative;z-index:1;width:28px;height:28px;margin-left:0;margin-right:8px;border:0;background:#b4000b;color:#fff;font:400 15px/1 serif;vertical-align:3px;box-shadow:none}
.cass-projects-six .cass-projects-focus__header{margin-bottom:20px}

/* 3-column grid: featured card spans 2 rows in col 1; col 2 & 3 each hold 2 cards */
.cass-projects-six__grid.cass-projects-lshape__grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:18px 24px;position:relative;z-index:1}
.cass-projects-lshape__grid .cass-project-mini-shadow.cass-projects-lshape__anchor{grid-column:1;grid-row:1/span 2}

/* Featured card: vertical layout spanning full height of col 1 */
.cass-projects-lshape__grid .cass-project-mini--featured{min-height:100%;grid-template-columns:1fr;grid-template-rows:auto 1fr;border:4px solid #8f1520;background:#fffaf6;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px));box-shadow:none;filter:none;position:relative}
.cass-projects-lshape__grid .cass-project-mini--featured:before{content:"";position:absolute;z-index:7;top:0;right:0;width:28px;height:28px;background:linear-gradient(225deg,#8f1520 0 49%,transparent 50%);pointer-events:none}
.cass-projects-lshape__grid .cass-project-mini--featured:after{content:"";position:absolute;z-index:7;inset:9px;border:2px solid rgba(143,21,32,.5);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));pointer-events:none}
.cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__media{height:220px;border-right:0;border-bottom:3px solid rgba(143,21,32,.82)}
.cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__media:after{background:linear-gradient(180deg,rgba(109,9,20,.05) 20%,rgba(86,9,17,.62))}
.cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__media:before{content:"";position:absolute;z-index:3;right:-4px;bottom:-4px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,transparent 0 34%,rgba(255,255,255,.34) 35% 36%,transparent 37% 52%,rgba(255,255,255,.19) 53% 54%,transparent 55%);pointer-events:none}
.cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__media img{filter:sepia(.08) saturate(1.08)}
.cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__body{background:linear-gradient(135deg,rgba(255,250,246,.98),rgba(255,255,255,.98));padding:18px 22px 20px}
.cass-projects-lshape__grid .cass-project-mini--featured h3{font-size:19px;min-height:52px}
.cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__desc{min-height:48px}
.cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__number{z-index:5;right:14px;bottom:14px;left:auto;display:grid;width:38px;height:38px;border:3px solid rgba(255,255,255,.96);border-radius:50%;place-items:center;background:#8f1520;color:#fff;font-size:14px;text-shadow:none;box-shadow:0 0 0 3px rgba(143,21,32,.9),0 6px 16px rgba(4,27,46,.32)}
.cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__featured-badge{position:absolute;z-index:5;left:14px;bottom:14px;padding:7px 10px;border-left:3px solid rgba(255,255,255,.7);background:#8f1520;color:#fff;font-size:9px;font-weight:700;line-height:1;letter-spacing:.08em;box-shadow:0 4px 12px rgba(4,27,46,.25);white-space:nowrap}
.cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__status{z-index:5;top:14px;left:14px}

/* Color-block corner accents on non-featured cards for visual echo */
.cass-projects-lshape__grid .cass-project-mini:not(.cass-project-mini--featured):before{content:"";position:absolute;z-index:3;top:0;right:0;width:22px;height:22px;background:linear-gradient(225deg,rgba(143,21,32,.18) 0 49%,transparent 50%);pointer-events:none}
.cass-projects-lshape__grid .cass-project-mini:not(.cass-project-mini--featured){border-top:3px solid rgba(143,21,32,.75)}
.cass-project-mini{position:relative;display:grid;min-width:0;overflow:hidden;border:1px solid rgba(13,52,87,.13);background:rgba(255,255,255,.94);grid-template-columns:145px minmax(0,1fr);box-shadow:0 8px 22px rgba(13,52,87,.075);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.cass-project-mini:hover,.cass-project-mini:focus-within{border-color:rgba(151,24,34,.34);box-shadow:0 14px 30px rgba(13,52,87,.14);transform:translateY(-3px)}
.cass-project-mini__media{position:relative;display:block;height:100%;min-height:0;overflow:hidden;background:#0d3457}
.cass-project-mini__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,27,46,.04) 35%,rgba(4,27,46,.34));pointer-events:none}
.cass-project-mini__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,.61,.36,1),filter .3s ease}
.cass-project-mini:hover .cass-project-mini__media img,.cass-project-mini:focus-within .cass-project-mini__media img{filter:saturate(1.06);transform:scale(1.045)}
.cass-project-mini__status{position:absolute;z-index:2;top:10px;left:10px;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;background:rgba(255,255,255,.93);color:#6f1620;font-size:10px;font-weight:700;line-height:1;letter-spacing:.03em;box-shadow:0 4px 12px rgba(4,27,46,.15);backdrop-filter:blur(6px)}
.cass-project-mini__status i{width:6px;height:6px;border-radius:50%;background:#a9000b;box-shadow:0 0 0 3px rgba(169,0,11,.12)}
.cass-project-mini__status--data i,.cass-project-mini__status--archive i{background:#2f7fb0;box-shadow:0 0 0 3px rgba(47,127,176,.14)}
.cass-project-mini__status--method i,.cass-project-mini__status--prototype i{background:#b47b2c;box-shadow:0 0 0 3px rgba(180,123,44,.14)}
.cass-project-mini__status--model i{background:#6b628f;box-shadow:0 0 0 3px rgba(107,98,143,.14)}
.cass-project-mini__number{position:absolute;z-index:2;right:10px;bottom:10px;color:rgba(255,255,255,.92);font:700 18px/1 Georgia,serif;text-shadow:0 2px 9px rgba(4,27,46,.65)}
.cass-project-mini__body{display:flex;min-width:0;min-height:0;padding:14px 16px 13px;flex-direction:column}
.cass-project-mini__field{margin:0 0 5px;color:#9a5a55;font-size:9px;font-weight:700;letter-spacing:.13em}
.cass-project-mini h3{display:-webkit-box;overflow:hidden;min-height:43px;margin:0;color:#153b59;font:700 16px/1.38 "Source Han Serif Heavy","STSong",serif;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.cass-project-mini h3 a{color:inherit;text-decoration:none;transition:color .22s ease}
.cass-project-mini:hover h3 a,.cass-project-mini:focus-within h3 a{color:#971822}
.cass-project-mini__desc{display:-webkit-box;overflow:hidden;min-height:36px;margin:6px 0 0;color:#65747c;font-size:11px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.cass-project-mini__link{align-self:flex-start;margin-top:auto;padding-top:8px;border-top:1px solid #dce5e9;color:#8f1520;font-size:10px;font-weight:700;text-decoration:none;letter-spacing:.04em}
.cass-project-mini__link span{display:inline-block;margin-left:5px;transition:transform .22s ease}
.cass-project-mini__link:hover span,.cass-project-mini__link:focus-visible span{transform:translateX(5px)}
@media(max-width:760px){
  .cass-projects-six .cass-projects-focus__inner:before{display:none}
  .cass-projects-six .cass-projects-focus__header h2:before{margin-left:0}
  .cass-projects-lshape__grid .cass-project-mini-shadow.cass-projects-lshape__anchor{grid-column:auto;grid-row:auto}
  .cass-projects-lshape__grid .cass-project-mini--featured{min-height:0;grid-template-columns:150px minmax(0,1fr);grid-template-rows:auto}
  .cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__media{height:100%;min-height:120px;border-bottom:0;border-right:3px solid rgba(143,21,32,.82)}
  .cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__body{padding:14px 16px 13px}
  .cass-projects-lshape__grid .cass-project-mini--featured h3{font-size:16px;min-height:43px}
  .cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__desc{min-height:36px}
}
@media(max-width:980px){
  .cass-projects-six__grid.cass-projects-lshape__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
  .cass-projects-lshape__grid .cass-project-mini-shadow.cass-projects-lshape__anchor{grid-column:1;grid-row:1/span 1}
  .cass-projects-lshape__grid .cass-project-mini--featured{min-height:174px;grid-template-columns:140px minmax(0,1fr);grid-template-rows:auto}
  .cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__media{height:100%;min-height:120px;border-bottom:0;border-right:3px solid rgba(143,21,32,.82)}
  .cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__body{padding:14px 16px 13px}
  .cass-projects-lshape__grid .cass-project-mini--featured h3{font-size:16px;min-height:43px}
  .cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__desc{min-height:36px}
}
@media(max-width:620px){
  .cass-projects-six{padding:30px 0 36px}
  .cass-projects-six .cass-projects-focus__header{margin-bottom:16px}
  .cass-projects-six__grid.cass-projects-lshape__grid{grid-template-columns:1fr;grid-auto-rows:174px;gap:14px}
  .cass-project-mini{grid-template-columns:150px minmax(0,1fr)}
  .cass-projects-lshape__grid .cass-project-mini--featured{min-height:0;grid-template-columns:150px minmax(0,1fr);grid-template-rows:auto}
  .cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__media{height:100%;min-height:120px;border-bottom:0;border-right:3px solid rgba(143,21,32,.82)}
  .cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__body{padding:13px 15px 12px}
  .cass-projects-lshape__grid .cass-project-mini--featured h3{min-height:0;font-size:15px}
  .cass-projects-lshape__grid .cass-project-mini--featured .cass-project-mini__desc{min-height:0}
  .cass-project-mini__body{padding:13px 15px 12px}
  .cass-project-mini h3{min-height:0;font-size:15px}
  .cass-project-mini__desc{min-height:0}
}
@media(prefers-reduced-motion:reduce){.cass-project-mini,.cass-project-mini__media img,.cass-project-mini h3 a,.cass-project-mini__link span{transition:none!important}}

/* Homepage platform and resources showcase. */
.cass-resource-showcase{display:grid;grid-template-columns:minmax(270px,1.25fr) minmax(0,3fr);min-height:360px;overflow:hidden;border:1px solid #c9dbe3;background:#f4f9fb;box-shadow:0 18px 45px rgba(13,52,87,.1)}
.cass-resource-feature{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:46px 38px;color:#fff;text-decoration:none;background:linear-gradient(145deg,rgba(8,43,70,.68),rgba(12,86,112,.52)),url("assets/cass-reference/sk_wxs_nav_sp_bg.jpg") center/cover no-repeat;transition:transform .28s ease,filter .28s ease}
.cass-resource-feature:before,.cass-resource-feature:after{content:"";position:absolute;z-index:-1;border:1px solid rgba(255,255,255,.2);border-radius:50%;transition:transform .45s ease,border-color .3s ease}.cass-resource-feature:before{right:-92px;top:-88px;width:250px;height:250px}.cass-resource-feature:after{right:-40px;bottom:-85px;width:170px;height:170px}
.cass-resource-feature:hover,.cass-resource-feature:focus-visible{filter:brightness(1.08)}.cass-resource-feature:hover:before,.cass-resource-feature:focus-visible:before{transform:translate(-12px,12px) scale(1.08);border-color:rgba(255,255,255,.42)}
.cass-resource-feature__eyebrow{margin-bottom:22px;color:#b9dce8;font-size:11px;font-weight:700;letter-spacing:.16em}.cass-resource-feature strong{font-family:"Source Han Serif Heavy","STSong",serif;font-size:34px;line-height:1.32;letter-spacing:.04em}.cass-resource-feature__copy{max-width:250px;margin-top:18px;color:#d6e7ed;font-size:14px;line-height:1.8}.cass-resource-feature__action{display:flex;align-items:center;gap:10px;margin-top:30px;font-size:13px;font-weight:700}.cass-resource-feature__action i{font-style:normal;font-size:18px;transition:transform .25s ease}.cass-resource-feature:hover .cass-resource-feature__action i,.cass-resource-feature:focus-visible .cass-resource-feature__action i{transform:translate(4px,-4px)}
.cass-resource-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.cass-resource-column{display:flex;min-width:0;flex-direction:column;padding:30px 18px 22px;border-left:1px solid #d7e4e9;background:rgba(255,255,255,.76)}.cass-resource-column header{min-height:72px;border-bottom:2px solid #0d3457}.cass-resource-column header span{color:#8ba4af;font-size:10px;font-weight:700;letter-spacing:.14em}.cass-resource-column h3{margin:7px 0 14px;font-family:"Source Han Serif Heavy","STSong",serif;font-size:20px}.cass-resource-column h3 a{color:#0d3457;text-decoration:none}.cass-resource-column ul{display:flex;flex:1;flex-direction:column;gap:7px;margin:18px 0;padding:0;list-style:none}.cass-resource-column li a{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 -7px;padding:10px 8px;border-left:3px solid transparent;color:#344b58;text-decoration:none;font-size:13px;line-height:1.5;transition:transform .22s ease,color .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease}.cass-resource-column li a span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cass-resource-column li i{flex:0 0 auto;font-style:normal;opacity:0;transform:translate(-5px,5px);transition:opacity .22s ease,transform .22s ease}.cass-resource-column li a:hover,.cass-resource-column li a:focus-visible{z-index:1;border-left-color:#b4000b;background:#fff;color:#b4000b;box-shadow:0 9px 22px rgba(13,52,87,.14);transform:translateY(-4px)}.cass-resource-column li a:hover i,.cass-resource-column li a:focus-visible i{opacity:1;transform:none}.cass-resource-column__more{align-self:flex-start;color:#0d3457;text-decoration:none;font-size:12px;font-weight:700}.cass-resource-column__more span{display:inline-block;transition:transform .2s ease}.cass-resource-column__more:hover span{transform:translateX(4px)}
@media(max-width:980px){.cass-resource-showcase{grid-template-columns:1fr}.cass-resource-feature{min-height:270px}.cass-resource-columns{border-top:1px solid #d7e4e9}}
@media(max-width:720px){.cass-resource-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.cass-resource-column:nth-child(3),.cass-resource-column:nth-child(4){border-top:1px solid #d7e4e9}.cass-resource-feature{padding:36px 28px}.cass-resource-feature strong{font-size:29px}}
@media(max-width:430px){.cass-resource-columns{grid-template-columns:1fr}.cass-resource-column{border-top:1px solid #d7e4e9}.cass-resource-column:first-child{border-top:0}}
@media(prefers-reduced-motion:reduce){.cass-resource-feature,.cass-resource-feature:before,.cass-resource-feature:after,.cass-resource-feature__action i,.cass-resource-column li a,.cass-resource-column li i{transition:none!important}}

/* Final alignment override for the two homepage dynamic cards. */
.cass-portal-grid .cass-feature-card>p{margin:14px 22px 5px}.cass-portal-grid .cass-feature-card h2{box-sizing:border-box;width:100%;margin:0;padding:0 22px;font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif;font-size:13px;font-weight:700;line-height:1.65}.cass-portal-grid .cass-feature-card>div{margin:9px 22px}.cass-portal-grid .cass-feature-card time{margin:2px 22px 4px}
@media(min-width:901px){.cass-portal-grid .cass-feature-card h2{font-size:14px}}
@media(max-width:620px){.cass-portal-grid .cass-feature-card>p{margin-inline:20px}.cass-portal-grid .cass-feature-card h2{padding-inline:20px;font-size:13px;line-height:1.65}.cass-portal-grid .cass-feature-card>div,.cass-portal-grid .cass-feature-card time{margin-inline:20px}}

/* Give the academic-output list breathing room beside its vertical heading. */
.cass-output-panel{grid-template-columns:62px minmax(0,1fr);column-gap:14px;padding-right:20px}.cass-output-panel h3{justify-self:center}
@media(min-width:901px){.cass-output-panel{grid-template-columns:68px minmax(0,1fr);column-gap:16px;padding-right:22px}}

.cass-footer-lab-name-en{max-width:360px;color:#66717a;font:10px/1.55 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}

/* Continue the academic-activity background through platform/resources. */
.cass-home-resources{position:relative;isolation:isolate}.cass-home-resources:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#fff url("assets/cass-reference/sk_wxs_body_bg.jpg") center top/2048px auto repeat-y}

/* Carry the same resource backdrop into each resource detail page. */
body.single-dh_platform #main-content,body.single-dh_corpus #main-content,body.single-dh_tool #main-content,body.single-dh_agent #main-content{background:#fff url("assets/cass-reference/sk_wxs_body_bg.jpg") center top/2048px auto repeat-y}
body.single-dh_platform .detail-heading,body.single-dh_corpus .detail-heading,body.single-dh_tool .detail-heading,body.single-dh_agent .detail-heading{background:rgba(255,255,255,.68)}

/* Unified backdrop for every non-home menu, archive, search and detail page. */
body:not(.home) #main-content{min-height:60vh;background:#fff url("assets/cass-reference/sk_wxs_body_bg.jpg") center top/2048px auto repeat-y}
body:not(.home) .page-banner,body:not(.home) .detail-heading{background:rgba(255,255,255,.68)}
body:not(.home) .cass-news-directory,body:not(.home) .projects-results{background:rgba(255,255,255,.28)}

/* Editor-defined short label shown above the academic-carousel title. */
.cass-activity-lead .cass-activity-label{display:inline-flex;margin:14px 24px 0;padding:4px 10px;background:#a60712;color:#fff;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.08em}.cass-activity-lead .cass-activity-label+h3{margin-top:8px}

/* ============================================================
   Single project · JSON-driven layout (parts/project-json.php)
   ============================================================ */
.pj-section{padding:48px 0}
.pj-section>.site-container,.pj-hero>.site-container,.pj-foot>.site-container{max-width:1200px}
.pj-h2{position:relative;margin:0 0 24px;padding-bottom:12px;border-bottom:2px solid var(--navy);color:var(--navy);font:700 25px/1.3 var(--serif);letter-spacing:.02em}

/* ① 概览头部 */
.pj-hero{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.5));border-bottom:2px solid var(--navy)}
.pj-hero>.site-container{padding-block:64px 40px}
.pj-hero__eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 16px;flex-wrap:wrap}
.pj-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 13px;font-size:13px;font-weight:700;border-radius:3px}
.pj-badge--active{background:var(--red);color:#fff}
.pj-badge--active i{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.pj-badge--done{background:#e7eef2;color:var(--navy)}
.pj-badge--done i{width:7px;height:7px;border-radius:50%;background:var(--navy)}
.pj-field{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.12em}
.pj-hero__title{margin:0;color:var(--navy);font:700 clamp(30px,3.4vw,46px)/1.26 var(--serif);letter-spacing:.01em;text-wrap:balance}
.pj-hero__subtitle{margin:14px 0 0;padding-left:15px;border-left:3px solid var(--gold);color:#3d4a55;font:600 22px/1.6 var(--serif);letter-spacing:.01em}
.pj-hero__summary{max-width:900px;margin:18px 0 0;color:var(--muted);font-size:15.5px;line-height:1.85;letter-spacing:.01em}
.pj-keyband{display:flex;flex-wrap:wrap;margin:32px 0 0;border:1px solid #e3e7ea;border-radius:4px;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfaf7);box-shadow:0 4px 16px rgba(13,52,87,.06)}
.pj-keyband>div{padding:15px 26px;border-right:1px solid var(--pale);min-width:120px}
.pj-keyband>div:last-child{border-right:0}
.pj-keyband dt{margin:0;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.12em}
.pj-keyband dd{margin:5px 0 0;color:var(--navy);font-family:var(--serif);font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.pj-keyband__inst dd{font-size:14px;font-weight:600}

/* ② 团队 */
.pj-team__group+.pj-team__group{margin-top:34px}
.pj-team__label{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--navy);font:700 16px var(--serif)}
.pj-team__label span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;background:var(--pale);color:var(--navy);border-radius:11px;font-size:12px}
.pj-members{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:18px;margin:0;padding:0;list-style:none}
.pj-member{display:flex;gap:14px;padding:18px;border:1px solid #e3e7ea;background:#fff;box-shadow:0 1px 2px rgba(13,52,87,.045),0 10px 24px -16px rgba(13,52,87,.18);transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s ease,border-color .22s ease}
.pj-member__avatar{flex:0 0 54px;width:54px;height:54px;overflow:hidden;border-radius:50%;background:var(--navy);display:grid;place-items:center;color:#fff;font:700 20px var(--serif)}
.pj-member__avatar img{width:100%;height:100%;object-fit:cover}
.pj-member__info{min-width:0}
.pj-member__info h3{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0;color:var(--navy);font:700 16px var(--serif)}
.pj-member__role{color:var(--red);font-size:12px;font-weight:700}
.pj-member__unit{margin:5px 0 0;color:#5f6b73;font-size:12.5px;line-height:1.5}
.pj-member__duty{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.pj-member--past .pj-member__unit{color:#9aa2a8}
.pj-member__span{margin:6px 0 0;color:#98a0a6;font-size:12px}
.pj-member--past{background:#fafbfb}
.pj-member--past .pj-member__avatar{filter:grayscale(1);opacity:.7}
.pj-member--past .pj-member__info h3,.pj-member--past .pj-member__role{color:#8a939a}

/* ③ 时间轴主视图 */
.pj-timeline__hint{margin:-16px 0 8px;color:var(--muted);font-size:13px}
.pj-gantt-scroll{overflow-x:clip;overflow-y:visible;padding-bottom:4px}
@media(max-width:760px){.pj-gantt-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}}
.pj-gantt{--gutter:94px;position:relative;min-width:680px;padding:60px 0 28px}
.pj-gantt__grid{position:absolute;inset:60px 0 28px var(--gutter);pointer-events:none}
.pj-gantt__tick{position:absolute;top:0;bottom:0;width:1px;background:repeating-linear-gradient(#e2e7ea 0 4px,transparent 4px 8px)}
.pj-gantt__tick b{position:absolute;top:auto;bottom:-22px;left:4px;color:#9aa3aa;font:700 11px Georgia,serif}
.pj-gantt__stars{position:relative;height:32px;margin-left:var(--gutter)}
.pj-star{position:absolute;top:2px;transform:translateX(-50%);padding:0;border:0;background:none;cursor:pointer;color:var(--red)}
.pj-star__mark{display:block;font-size:20px;line-height:1;filter:drop-shadow(0 2px 3px rgba(151,24,34,.3));transition:transform .2s ease}
.pj-star:hover .pj-star__mark,.pj-star:focus-visible .pj-star__mark{transform:scale(1.25)}
.pj-gantt__phases{position:relative;height:54px;margin:2px 0 0 var(--gutter)}
.pj-phase{position:absolute;top:0;height:54px;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:8px 12px;border:1px solid #c9b7a6;background:linear-gradient(180deg,#fbf6ef,#f1e6d8);color:#5a3d27;text-align:left;cursor:pointer;overflow:visible;transition:box-shadow .2s ease,transform .2s ease,background .2s ease}
.pj-phase__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:700 13px/1.3 var(--serif)}
.pj-phase__badge{font-size:11px;font-weight:700;color:#8a5a2b}
.pj-phase:hover,.pj-phase:focus-visible{z-index:4;box-shadow:0 8px 20px rgba(106,74,47,.22);transform:translateY(-2px)}
.pj-phase.is-active{background:linear-gradient(180deg,#a9000b,#7d0710);border-color:#7d0710;color:#fff}
.pj-phase.is-active .pj-phase__name{color:#fff}
.pj-phase.is-active .pj-phase__badge{color:#ffd9c2}
.pj-phase[data-noimg]{cursor:default}
.pj-gantt__lanes{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px}
.pj-lane{display:flex;align-items:center}
.pj-lane__label{display:flex;flex-direction:column;align-items:flex-end;flex:0 0 var(--gutter);width:var(--gutter);padding-right:12px;overflow:hidden;line-height:1.25}
.pj-lane__label b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font:700 13px var(--serif)}
.pj-lane__label i{max-width:100%;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:10.5px;color:var(--muted)}
.pj-lane__track{position:relative;flex:1;height:26px}
.pj-lane__seg{position:absolute;top:0;height:26px;border-radius:13px;background:linear-gradient(90deg,#123c60,#2a6187);box-shadow:0 3px 8px rgba(13,52,87,.18);overflow:visible;cursor:default}
.pj-lane__seg--past{background:linear-gradient(90deg,#9aa6ac,#b9c2c7)}

/* 悬停详情卡 */
.pj-tip{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%) translateY(4px);z-index:30;min-width:150px;max-width:320px;width:max-content;padding:9px 12px;background:#0d2233;color:#fff;font-size:12px;line-height:1.5;border-radius:4px;box-shadow:0 12px 28px rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease;pointer-events:none;text-align:left;white-space:normal}
.pj-tip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#0d2233}
.pj-tip b{display:block;font-size:12.5px}
.pj-tip em{display:block;margin-top:3px;font-style:normal;color:#b8c6d2}
.pj-star:hover .pj-tip,.pj-star:focus-visible .pj-tip,.pj-phase:hover .pj-tip,.pj-phase:focus-visible .pj-tip,.pj-lane__seg:hover .pj-tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.pj-gantt__stars .pj-star:first-child .pj-tip{left:0;transform:translateX(0) translateY(4px)}
.pj-gantt__stars .pj-star:first-child:hover .pj-tip,.pj-gantt__stars .pj-star:first-child:focus-visible .pj-tip{transform:translateX(0) translateY(0)}
.pj-gantt__stars .pj-star:first-child .pj-tip:after{left:14px}
.pj-gantt__stars .pj-star:last-child .pj-tip{left:auto;right:0;transform:translateX(0) translateY(4px)}
.pj-gantt__stars .pj-star:last-child:hover .pj-tip,.pj-gantt__stars .pj-star:last-child:focus-visible .pj-tip{transform:translateX(0) translateY(0)}
.pj-gantt__stars .pj-star:last-child .pj-tip:after{left:auto;right:14px}

/* 阶段图片抽屉 */
.pj-drawers{margin-top:18px}
.pj-drawer{margin-top:14px;padding:20px 22px;border:1px solid var(--line);border-left:3px solid var(--red);background:var(--paper)}
.pj-drawer__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.pj-drawer__head h3{margin:0;color:var(--navy);font:700 16px var(--serif)}
.pj-drawer__head h3 span{color:var(--muted);font-size:13px;font-weight:400}
.pj-drawer__all{padding:0;border:0;background:none;color:var(--red);font-size:13px;font-weight:700;cursor:pointer}
.pj-drawer__all:hover{text-decoration:underline;text-underline-offset:4px}
.pj-drawer__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin:0;padding:0;list-style:none}
.pj-shot{margin:0}
.pj-shot__btn{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:1px solid var(--line);background:#fff;cursor:pointer;aspect-ratio:4/3;box-shadow:0 1px 2px rgba(13,52,87,.05),0 8px 18px -14px rgba(13,52,87,.16);transition:border-color .25s ease,box-shadow .25s ease}
.pj-shot__btn img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pj-shot__btn:hover img{transform:scale(1.05)}
.pj-shot__kind{position:absolute;left:0;bottom:0;padding:3px 9px;background:rgba(13,34,51,.82);color:#fff;font-size:11px}
.pj-shot__cap{margin:8px 2px 0;color:var(--muted);font-size:12px;line-height:1.5}

/* ④ 突破编年 */
.pj-chron__list{margin:0;padding:0;list-style:none}
.pj-chron__item{display:grid;grid-template-columns:92px 26px minmax(0,1fr);scroll-margin-top:90px}
.pj-chron__time{padding:2px 8px 0 0;text-align:right;color:var(--red);font:700 15px/1.5 Georgia,serif;font-variant-numeric:tabular-nums;word-break:break-word}
.pj-chron__rail{position:relative}
.pj-chron__rail:before{content:"";position:absolute;left:11px;top:8px;bottom:-8px;width:2px;background:var(--line)}
.pj-chron__item:last-child .pj-chron__rail:before{display:none}
.pj-chron__dot{position:absolute;left:5px;top:7px;width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid var(--red);box-shadow:0 0 0 4px rgba(151,24,34,.08)}
.pj-chron__body{padding:0 0 26px 10px}
.pj-chron__item:last-child .pj-chron__body{padding-bottom:0}
.pj-chron__body.has-media{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:22px;align-items:start}
.pj-chron__main{min-width:0}
.pj-chron__body h3{margin:8px 0 0;color:var(--navy);font:700 18px/1.5 var(--serif)}
.pj-chron__body p{margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.8}
.pj-chron__figure{margin:0;min-width:0;max-width:260px}
.pj-chron__shot{position:relative;display:block;max-width:200px;padding:0;overflow:hidden;border:1px solid var(--line);background:#fff;cursor:pointer;box-shadow:0 1px 2px rgba(13,52,87,.05),0 8px 18px -14px rgba(13,52,87,.16)}
.pj-chron__cat{position:absolute;left:0;bottom:0;z-index:2;padding:3px 9px;background:rgba(13,34,51,.82);color:#fff;font-size:11px;letter-spacing:.04em;pointer-events:none}
.pj-chron__cap{margin:8px 2px 0;color:var(--muted);font-size:12px;line-height:1.55}
.pj-chron__shot img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .4s ease}
.pj-chron__shot:hover img{transform:scale(1.04)}
.pj-chron__meta{display:flex;align-items:center;gap:18px;margin-top:10px!important;color:#7a858c;font-size:13px}
.pj-chron__meta a{color:var(--red);font-weight:700}
.pj-chron__item.is-flash .pj-chron__body{animation:pj-flash 1.6s ease}
@keyframes pj-flash{0%,100%{background:transparent}18%{background:rgba(151,24,34,.1)}}
.pj-type{display:inline-block;padding:3px 10px;font-size:11px;font-weight:700;color:#fff}
.pj-type--data{background:#2a6187}
.pj-type--method{background:#8a5a2b}
.pj-type--result{background:#971822}
.pj-type--platform{background:#3a6f4e}
.pj-type--collab{background:#6a4a7a}
.pj-type--insight{background:#3f5170}

/* ⑤ 成果与资源 */
.pj-out-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:0;padding:0;list-style:none}
.pj-out{padding:22px;border:1px solid #e3e7ea;background:#fff;box-shadow:0 1px 2px rgba(13,52,87,.045),0 10px 24px -16px rgba(13,52,87,.18);transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s ease,border-color .22s ease}
.pj-out__type{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.04em}
.pj-out h3{margin:12px 0 0;color:var(--navy);font:700 16px/1.5 var(--serif)}
.pj-out h3 a{color:inherit;text-decoration:none}
.pj-out h3 a:hover{color:var(--red)}
.pj-out__meta{margin:8px 0 0;color:var(--muted);font-size:13px}

/* ⑥ 页脚 */
.pj-foot{padding:48px 0 80px;border-top:1px solid var(--line)}
.pj-foot>.site-container{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.pj-foot__related{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:14px}
.pj-foot__label{color:var(--navy);font-weight:700}
.pj-foot__related a{color:var(--red);font-weight:700}
.pj-foot__back{color:var(--navy);font-weight:700;text-decoration:none}
.pj-foot__back:hover{color:var(--red)}

/* 灯箱 */
.pj-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:40px;background:rgba(8,18,28,.92)}
.pj-lightbox[hidden]{display:none}
.pj-lightbox__stage{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0;max-width:92vw;max-height:88vh}
.pj-lightbox__stage img{max-width:92vw;max-height:78vh;object-fit:contain;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.pj-lightbox__stage figcaption{max-width:800px;color:#dfe6ec;font-size:14px;text-align:center}
.pj-lightbox__close{position:absolute;top:20px;right:26px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;cursor:pointer}
.pj-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:32px;cursor:pointer}
.pj-lightbox__nav--prev{left:24px}
.pj-lightbox__nav--next{right:24px}
.pj-lightbox__close:hover,.pj-lightbox__nav:hover{background:rgba(255,255,255,.25)}

@media(max-width:900px){.pj-section{padding:36px 0}.pj-keyband>div{padding:12px 18px}}
@media(max-width:640px){
  .pj-hero>.site-container{padding-block:40px 28px}
  .pj-keyband>div{flex:1 1 45%}
  .pj-keyband__inst{flex-basis:100%}
  .pj-members{grid-template-columns:1fr}
  .pj-chron__item{grid-template-columns:62px 22px minmax(0,1fr)}
  .pj-chron__time{font-size:13px}
  .pj-chron__body.has-media{grid-template-columns:1fr;gap:14px}
  .pj-chron__shot{max-width:260px}
  .pj-foot>.site-container{flex-direction:column;align-items:flex-start}
  .pj-lightbox{padding:14px}
  .pj-lightbox__nav{width:40px;height:40px;font-size:24px}
  .pj-lightbox__nav--prev{left:6px}
  .pj-lightbox__nav--next{right:6px}
  .pj-lightbox__close{top:10px;right:12px}
}
@media(prefers-reduced-motion:reduce){
  .pj-star__mark,.pj-phase,.pj-shot__btn img,.pj-tip{transition:none!important}
  .pj-chron__item.is-flash .pj-chron__body{animation:none}
}

.pj-member__duty,.pj-member__info h3,.pj-hero__summary,.pj-hero__subtitle,.pj-out__meta,.pj-out h3,.pj-chron__body>p,.pj-chron__body h3,.pj-keyband dd,.pj-shot__cap,.pj-drawer__head h3{overflow-wrap:break-word;word-break:break-word}

/* 历史沿革：左右两侧滚动按钮（浮于卡片左右边缘，避免占宽导致窄屏溢出） */
.lab-carousel--sided{position:relative}
.lab-carousel--sided .lab-carousel__viewport{margin:0 10px}
.lab-carousel--sided .lab-carousel__side{position:absolute;top:50%;transform:translateY(-50%);z-index:5;display:grid;place-items:center;width:46px;height:46px;border:1px solid #b9ccd5;border-radius:50%;background:rgba(255,255,255,.95);color:#0d3457;font-size:18px;line-height:1;cursor:pointer;box-shadow:0 7px 20px rgba(13,52,87,.22);transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.lab-carousel--sided .lab-carousel__side--prev{left:-26px}
.lab-carousel--sided .lab-carousel__side--next{right:-26px}
.lab-carousel--sided .lab-carousel__side:hover:not(:disabled){background:#0d3457;color:#fff;box-shadow:0 10px 24px rgba(13,52,87,.28)}
.lab-carousel--sided .lab-carousel__side:disabled{opacity:.3;cursor:default;box-shadow:none}
.lab-carousel--sided .lab-carousel__controls{justify-content:center;margin-top:18px}
@media(max-width:560px){.lab-carousel--sided .lab-carousel__viewport{margin:0 6px}.lab-carousel--sided .lab-carousel__side{width:38px;height:38px;font-size:16px}.lab-carousel--sided .lab-carousel__side--prev{left:-14px}.lab-carousel--sided .lab-carousel__side--next{right:-14px}}
@media(prefers-reduced-motion:reduce){.lab-carousel--sided .lab-carousel__side{transition:none}}

/* ===== 团队成员页重构（2026-08）：联合创始人左右并列 + 顾问/研究人员/学生横向网格 ===== */
.lab-team-founders,.lab-team-block{margin-bottom:82px}
.lab-founder-grid{display:flex;flex-wrap:wrap;gap:50px;margin-top:28px}
.lab-founder{flex:0 0 calc((100% - 50px)/2);min-width:0;display:flex;flex-direction:column}
.lab-founder__role{display:flex;align-items:center;gap:12px;margin:0 0 16px;color:#0d3457;font:700 21px/1.3 var(--serif)}
.lab-founder__no{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 7px;border-radius:5px;background:#971822;color:#fff;font:700 16px/1 Georgia,serif}
.lab-founder .lab-person-card{flex:1 1 auto}
.lab-person-card--founder{display:grid;grid-template-columns:300px 1fr;background:#f0f7fa}
.lab-person-card--founder .lab-person-card__photo{aspect-ratio:3/4}
.lab-person-card--founder .lab-person-card__content{padding:30px 34px;align-self:center;min-width:0}
.lab-person-card--founder h3{font-size:28px}
.lab-person-card--founder .lab-person-card__content>p:not(.content-type){-webkit-line-clamp:4;font-size:14px;line-height:1.9;margin:12px 0}
.lab-person-grid{display:flex;flex-wrap:wrap;gap:30px;margin-top:28px}
.lab-person-grid .lab-person-card{flex:0 0 calc((100% - 60px)/3)}
.lab-person-grid--main_researcher .lab-person-card,.lab-person-grid--main_external .lab-person-card,.lab-person-grid--other_staff .lab-person-card{flex:0 0 calc((100% - 90px)/4)}
.lab-person-grid--main_researcher .lab-person-card__content,.lab-person-grid--main_external .lab-person-card__content,.lab-person-grid--other_staff .lab-person-card__content{padding:16px 18px 20px}
.lab-person-grid--main_researcher .lab-person-card h3,.lab-person-grid--main_external .lab-person-card h3,.lab-person-grid--other_staff .lab-person-card h3{font-size:21px}
.lab-person-grid--main_researcher .lab-person-card__photo,.lab-person-grid--main_external .lab-person-card__photo,.lab-person-grid--other_staff .lab-person-card__photo{aspect-ratio:1/1}
.lab-person-grid--advisor .lab-person-card{flex:0 0 calc((100% - 60px)/3)}
.lab-person-grid--advisor .lab-person-card__content{padding:20px 22px 24px}
.lab-person-grid--advisor .lab-person-card h3{font-size:23px}
.lab-person-grid--advisor .lab-person-card__photo{aspect-ratio:1/1}
.lab-person-grid--student .lab-person-card{flex:0 0 calc((100% - 90px)/4)}
.lab-person-grid--student .lab-person-card__content{padding:16px 18px 20px}
.lab-person-grid--student .lab-person-card h3{font-size:21px}
.lab-person-grid--student .lab-person-card__photo{aspect-ratio:1/1}
@media(max-width:1100px){
    .lab-person-grid .lab-person-card{flex-basis:calc((100% - 30px)/2)}
    .lab-person-grid--student .lab-person-card,.lab-person-grid--main_researcher .lab-person-card,.lab-person-grid--main_external .lab-person-card,.lab-person-grid--other_staff .lab-person-card{flex-basis:calc((100% - 60px)/3)}
    .lab-founder{flex-basis:100%}
}
@media(max-width:640px){
    .lab-person-grid .lab-person-card,.lab-person-grid--student .lab-person-card,.lab-person-grid--main_researcher .lab-person-card,.lab-person-grid--main_external .lab-person-card,.lab-person-grid--other_staff .lab-person-card{flex-basis:100%}
    .lab-person-card--founder{grid-template-columns:200px 1fr}
}
@media(max-width:460px){
    .lab-person-card--founder{grid-template-columns:150px 1fr}
    .lab-person-card--founder h3{font-size:21px}
}

/* ===== 左上角双 logo（文学所 + 实验室），圆形裁切、等高并排（2026-08-02） ===== */
.cass-logo-slot .cass-logo-link{display:block;height:100%;aspect-ratio:1;flex:0 0 auto;border-radius:50%;overflow:hidden;text-decoration:none;background:#fff}
.cass-logo-slot .cass-logo-link img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.05)}
.cass-logo-slot{pointer-events:none;cursor:default}
.cass-logo-slot:hover{transform:none}

/* ===== 学术成果三栏：与 literature.cssn.cn "学术成果"一致（纯色 #e9f3f8 底 + 带回纹竖排标签图 + 虚线分隔） ===== */
.cass-output-panel{grid-template-columns:57px 1fr;background:#e9f3f8;padding:0;min-height:0}
.cass-output-label{display:block;align-self:stretch}
.cass-output-label img{display:block;width:57px;height:auto}
.cass-output-label--text{position:relative;display:flex;min-height:316px;align-items:center;justify-content:center;overflow:hidden;background:#e9f8fc var(--output-label-bg) center/100% 100% no-repeat;color:#0d3457;font:700 26px/1.04 "Source Han Serif Heavy","STSong",serif;letter-spacing:-10px;text-align:center;writing-mode:vertical-rl;text-orientation:upright}
.cass-output-label--theory-criticism{--output-label-bg:url("assets/xscg-labels/theory-criticism-bg.png")}
.cass-output-label--ancient-literature{--output-label-bg:url("assets/xscg-labels/ancient-literature-bg.png")}
.cass-output-label--modern-literature{--output-label-bg:url("assets/xscg-labels/modern-literature-bg.png")}
.cass-output-panel ul{padding:6px 22px 6px 14px}
.cass-output-panel li{padding:22px 0;border-bottom:1px dashed #c8d5da}
.cass-output-panel li:last-child{border-bottom:0}
.cass-output-panel a{font-size:17px;line-height:1.6;-webkit-line-clamp:2}

/* ===== 项目详情页精细化打磨（2026-08，多视角审阅综合：色彩层次 + 微交互 + 焦点态） ===== */
.pj-h2::after{content:"";position:absolute;left:0;bottom:-2px;width:56px;height:2px;background:var(--red)}
.pj-out h3 a{transition:color .18s ease}
.pj-out:hover,.pj-member:not(.pj-member--past):hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(13,52,87,.06),0 16px 32px -16px rgba(13,52,87,.24);border-color:#c6d0d7}
.pj-shot__btn:hover{border-color:var(--navy);box-shadow:0 8px 20px rgba(13,52,87,.16)}
.pj-lane__seg{transition:filter .2s ease,box-shadow .2s ease}
.pj-lane__seg:hover{filter:saturate(1.12) brightness(1.05);box-shadow:0 5px 14px rgba(13,52,87,.28)}
.pj-star:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:3px}
.pj-star:active .pj-star__mark{transform:scale(1.08)}
.pj-foot__related a,.pj-foot__back,.pj-drawer__all{transition:color .18s ease,text-underline-offset .18s ease}
.pj-foot__related a:hover,.pj-foot__back:hover{text-decoration:underline;text-underline-offset:4px}
.pj-lightbox__close,.pj-lightbox__nav{transition:background .18s ease,transform .18s ease}
.pj-lightbox__close:hover{transform:scale(1.08)}
.pj-lightbox__close:active{transform:scale(.94)}
.pj-lightbox__nav:hover{transform:translateY(-50%) scale(1.08)}
.pj-lightbox__nav:active{transform:translateY(-50%) scale(.94)}
.pj-lightbox__close:focus-visible,.pj-lightbox__nav:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.pj-out,.pj-member,.pj-lane__seg,.pj-lightbox__close,.pj-lightbox__nav{transition:none!important}}

/* 项目时间轴：折叠(前5)/更多/分页(每页10) */
.pj-chron{scroll-margin-top:100px;padding-bottom:14px}
.pj-chron__item[hidden]{display:none}
.pj-chron__item.is-last-shown .pj-chron__rail:before{display:none}
.pj-chron__item.is-last-shown .pj-chron__body{padding-bottom:0}
.pj-chron__more{display:block;margin:10px auto 0;padding:10px 30px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--navy);font:700 14px var(--serif);letter-spacing:.06em;cursor:pointer;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease}
.pj-chron__more::after{content:"\25BE";margin-left:8px;font-size:12px}
.pj-chron__more.is-collapse::after{content:"\25B4"}
.pj-chron__more:hover{border-color:var(--navy);color:var(--red);box-shadow:0 6px 16px rgba(13,52,87,.1)}
.pj-chron__more[hidden]{display:none}
.pj-chron__pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px}
.pj-chron__pager[hidden]{display:none}
.pj-chron__pager button{min-width:38px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--navy);font:600 14px var(--serif);cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}
.pj-chron__pager button:hover:not(:disabled):not(.is-current){border-color:var(--navy);color:var(--red)}
.pj-chron__pager button.is-current{background:var(--navy);border-color:var(--navy);color:#fff;cursor:default}
.pj-chron__pager button:disabled{opacity:.35;cursor:default}
/* 历史沿革：横向蜿蜒「路线图」时间轴（粗轨道 + 发夹掉头；轨道由 site.js 绘制，窄屏回退为左侧直线） */
.lab-road{position:relative;max-width:960px;margin:40px auto 0;padding:12px 0 24px}
.lab-road__track{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.lab-road__track path{fill:none;stroke:#2c6b86;stroke-width:12;stroke-linecap:round;stroke-linejoin:round}
.lab-road__track .lab-road__tail{stroke:url(#roadTailFade);stroke-dasharray:20 16}
.lab-road__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:48px}
.lab-road__node{align-self:center;justify-self:center;width:18px;height:18px;border-radius:50%;background:#2c6b86;box-shadow:0 0 0 4px #fff,0 0 0 6px rgba(44,107,134,.28);position:relative;z-index:2}
.lab-road__card{position:relative;justify-self:center;width:100%;max-width:286px;padding:16px 18px;background:#eef4f8;background:color-mix(in srgb,var(--road-accent,#2c6b86) 10%,#fff);border-left:4px solid var(--road-accent,#2c6b86);border-radius:2px;box-shadow:0 6px 18px rgba(13,52,87,.08)}
.lab-road__card--above{align-self:end;margin:14px 0 22px}
.lab-road__card--below{align-self:start;margin:22px 0 14px}
.lab-road__card::after{content:"";position:absolute;left:50%;width:0;height:var(--road-link-height,34px);border-left:2px dashed var(--road-accent,#2c6b86);transform:translateX(-50%);z-index:0}
.lab-road__card--above::after{top:100%}
.lab-road__card--below::after{bottom:100%}
.lab-road__year{display:block;margin:0 0 6px;color:#20303d;font:700 24px/1.2 Georgia,serif}
.lab-road__title{margin:0 0 5px;color:#20303d;font:700 15px/1.45 var(--serif)}
.lab-road__card p{margin:0;color:#586b75;font-size:13.5px;line-height:1.85}
.lab-road__link{display:inline-flex;align-items:center;gap:6px;margin-top:11px;color:var(--road-accent,#2c6b86);font-size:12px;font-weight:700}.lab-road__link:hover,.lab-road__link:focus-visible{text-decoration:underline;text-underline-offset:4px}
.lab-road__img{width:100%;aspect-ratio:4/3;margin-bottom:12px;object-fit:cover;border-radius:2px;display:block}
@media(max-width:760px){.lab-road{max-width:560px}.lab-road__track{display:none}.lab-road__grid{display:block;position:relative;padding-left:34px}.lab-road__grid::before{content:"";position:absolute;left:12px;top:6px;bottom:6px;width:3px;background:#2c6b86;border-radius:2px}.lab-road__node{display:none}.lab-road__card,.lab-road__card--above,.lab-road__card--below{max-width:none;width:auto;margin:0 0 20px;align-self:auto;justify-self:auto}.lab-road__card::after{display:none}.lab-road__card::before{content:"";position:absolute;left:-27px;top:18px;width:12px;height:12px;border-radius:50%;background:var(--road-accent,#2c6b86);box-shadow:0 0 0 3px #fff}}

/* A selected entity cover is also the detail-page lead image. */
.article-featured{margin-top:46px}.article-featured img{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:800px){.article-featured{margin-top:30px}}
.project-detail__cover,.pj-hero__cover{margin:0 0 30px}.project-detail__cover img,.pj-hero__cover img{display:block;width:100%;max-height:560px;object-fit:cover}

/* 首页教学培养板块 — 与项目卡片风格统一 */
.cass-home-teaching{padding:48px 0}
.cass-home-teaching .cass-section-title{margin-bottom:36px}
.cass-teaching-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.cass-teaching-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(13,52,87,.13);border-top:3px solid rgba(143,21,32,.75);background:rgba(255,255,255,.94);box-shadow:0 8px 22px rgba(13,52,87,.075);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.cass-teaching-card:before{content:"";position:absolute;z-index:3;top:0;right:0;width:22px;height:22px;background:linear-gradient(225deg,rgba(143,21,32,.18) 0 49%,transparent 50%);pointer-events:none}
.cass-teaching-card:hover{border-color:rgba(151,24,34,.34);box-shadow:0 14px 30px rgba(13,52,87,.14);transform:translateY(-3px)}
.cass-teaching-card__media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#0d3457}
.cass-teaching-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,27,46,.04) 35%,rgba(4,27,46,.34));pointer-events:none}
.cass-teaching-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,.61,.36,1),filter .3s ease}
.cass-teaching-card:hover .cass-teaching-card__media img{filter:saturate(1.06);transform:scale(1.045)}
.cass-teaching-card__overlay{display:none}
.cass-teaching-card__body{display:flex;min-width:0;min-height:0;padding:14px 16px 13px;flex-direction:column}
.cass-teaching-card__body h3{display:-webkit-box;overflow:hidden;min-height:0;margin:0;color:#153b59;font:700 18px/1.38 "Source Han Serif Heavy","STSong",serif;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.cass-teaching-card__body h3 a{color:inherit;text-decoration:none;transition:color .22s ease}
.cass-teaching-card:hover .cass-teaching-card__body h3 a{color:#971822}
.cass-teaching-card__body p{display:-webkit-box;overflow:hidden;min-height:0;margin:15px 0 0;color:#65747c;font-size:13px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.cass-teaching-card__link{align-self:flex-start;margin-top:auto;padding-top:8px;border-top:1px solid #dce5e9;color:#8f1520;font-size:12px;font-weight:700;text-decoration:none;letter-spacing:.04em}
.cass-teaching-card__link:hover{color:#971822}
.cass-teaching-card__link span{display:inline-block;margin-left:5px;transition:transform .22s ease}
.cass-teaching-card:hover .cass-teaching-card__link span{transform:translateX(5px)}
@media(max-width:980px){.cass-teaching-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:620px){.cass-home-teaching{padding:30px 0}.cass-teaching-grid{grid-template-columns:1fr;gap:14px}.cass-teaching-card__body{padding:13px 15px 12px}.cass-teaching-card__body h3{min-height:0;font-size:17px}.cass-teaching-card__body p{min-height:0;font-size:13px}}
@media(prefers-reduced-motion:reduce){.cass-teaching-card,.cass-teaching-card__media img,.cass-teaching-card__body h3 a,.cass-teaching-card__link span{transition:none!important}}

/* ===== Education Page ===== */
.lab-education{--course-ink:#153b59;--course-red:#8f1520;--course-soft:#f4f7f7;--course-line:#dce4e7;padding-top:72px}
.lab-education>.site-container{max-width:1120px}
.lab-education ::selection{background:#8f1520;color:#fff}
.lab-education :is(a,summary):focus-visible{outline:3px solid rgba(143,21,32,.34);outline-offset:4px}
.lab-education-hero{max-width:980px;margin-bottom:40px;scroll-margin-top:100px}
.lab-education-context{margin:0 0 20px;color:#5e7079;font-size:13px;font-weight:700;letter-spacing:.08em}
.lab-education-hero h1{margin:0 0 12px;color:var(--course-red);font-size:15px;line-height:1.4;letter-spacing:.16em}
.lab-education-hero h2{max-width:18em;margin:0;color:var(--course-ink);font:700 clamp(36px,5.2vw,66px)/1.22 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.lab-education-title-en{max-width:720px;margin:16px 0 0;color:#526d7d;font:500 clamp(17px,2vw,22px)/1.5 Georgia,"Times New Roman",serif;text-wrap:balance}
.lab-education-lead{max-width:74ch;margin:34px 0 0;color:#4b5d67;font-size:17px;line-height:1.95}
.lab-course-jump{position:sticky;z-index:18;top:74px;display:flex;gap:6px;margin:0 0 34px;padding:9px;border:1px solid rgba(21,59,89,.12);background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(21,59,89,.08);backdrop-filter:saturate(140%) blur(10px)}
.lab-course-jump a{flex:1;padding:10px 14px;color:#3b5667;font-size:13px;font-weight:700;text-align:center;text-decoration:none;text-underline-offset:4px;transition:background-color .2s ease,color .2s ease}
.lab-course-jump a:hover{background:#eef3f4;color:var(--course-red)}
.lab-course-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--course-line);border-bottom:1px solid var(--course-line)}
.lab-course-info>div{min-width:0;padding:22px 20px;border-right:1px solid var(--course-line)}
.lab-course-info>div:first-child{padding-left:0}
.lab-course-info>div:last-child{border-right:0}
.lab-course-info dt{margin:0 0 7px;color:#73838b;font-size:11px;font-weight:700;letter-spacing:.08em}
.lab-course-info dd{margin:0;color:var(--course-ink);font-size:15px;font-weight:700;line-height:1.55}
.lab-course-section{padding:80px 0 0;scroll-margin-top:96px}
.lab-course-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:0 0 32px}
.lab-course-section-heading h2{margin:0;color:var(--course-ink);font:700 clamp(26px,3.2vw,38px)/1.3 var(--serif);letter-spacing:-.015em}
.lab-course-overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:56px;align-items:start}
.lab-course-prose{max-width:74ch;color:#40545f;font-size:16px;line-height:1.95}
.lab-course-prose p{margin:0}
.lab-course-prose p+p{margin-top:20px}
.lab-course-assessment{padding:26px 28px;background:#173f5d;color:#fff}
.lab-course-assessment h3{margin:0 0 13px;color:#fff;font:700 19px/1.4 var(--serif)}
.lab-course-assessment p{margin:0;color:#e5edf1;font-size:14px;line-height:1.85}
.lab-instructor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.lab-instructor-card{min-width:0;padding:26px 28px;border:1px solid var(--course-line);background:#fff}
.lab-instructor-card:first-child{grid-column:1/-1;background:var(--course-soft)}
.lab-instructor-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.lab-instructor-role{margin:0 0 7px;color:var(--course-red);font-size:11px;font-weight:700;letter-spacing:.1em}
.lab-instructor-card h3{margin:0;color:var(--course-ink);font:700 24px/1.35 var(--serif)}
.lab-instructor-meta{margin:7px 0 0;color:#61737c;font-size:13px;line-height:1.6}
.lab-instructor-hours{display:grid;grid-template-columns:repeat(3,48px);margin:0;flex:0 0 auto;border-left:1px solid var(--course-line)}
.lab-instructor-hours>div{padding-left:12px;text-align:center}
.lab-instructor-hours dt{color:#7b898f;font-size:10px}
.lab-instructor-hours dd{margin:3px 0 0;color:var(--course-ink);font:700 19px/1 Georgia,serif;font-variant-numeric:tabular-nums}
.lab-instructor-bio{margin-top:22px;padding-top:16px;border-top:1px solid var(--course-line);color:#53656e;font-size:13px;line-height:1.85}
.lab-instructor-bio summary{display:inline-flex;align-items:center;min-height:34px;color:var(--course-red);font-weight:700;cursor:pointer;list-style:none}
.lab-instructor-bio summary::-webkit-details-marker{display:none}
.lab-instructor-bio summary::after{content:"";width:7px;height:7px;margin-left:9px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}
.lab-instructor-bio[open] summary::after{transform:rotate(225deg) translate(-2px,-1px)}
.lab-instructor-bio>div{padding-top:12px}
.lab-instructor-bio p{margin:0}
.lab-instructor-bio p+p{margin-top:12px}
.lab-book-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;margin:0;padding:0;border-top:1px solid var(--course-line);list-style:none}
.lab-book-list li{padding:22px 0;border-bottom:1px solid var(--course-line)}
.lab-book-list h3{margin:0;color:var(--course-ink);font:700 17px/1.5 var(--serif)}
.lab-book-list p{margin:6px 0 0;color:#667780;font-size:13px;line-height:1.65}
.lab-course-schedule{padding-bottom:70px}
.lab-course-schedule-heading{align-items:flex-end}
.lab-course-schedule-heading>p{max-width:380px;margin:0;color:#6b7b83;font-size:13px;line-height:1.7;text-align:right}
.lab-lecture-list{border-top:2px solid var(--course-ink)}
.lab-lecture{border-bottom:1px solid var(--course-line)}
.lab-lecture>summary{display:grid;grid-template-columns:94px minmax(0,1fr) 28px;gap:24px;align-items:center;min-height:96px;padding:16px 10px 16px 0;color:var(--course-ink);cursor:pointer;list-style:none;transition:background-color .2s ease}
.lab-lecture>summary::-webkit-details-marker{display:none}
.lab-lecture>summary:hover{background:#f6f8f8}
.lab-lecture-number{color:var(--course-red);font-size:13px;font-weight:700;letter-spacing:.04em}
.lab-lecture-summary-main{display:block;min-width:0}
.lab-lecture-summary-main strong{display:block;color:var(--course-ink);font:700 clamp(18px,2.2vw,23px)/1.45 var(--serif)}
.lab-lecture-summary-main small{display:block;margin-top:6px;color:#687981;font-size:12px;line-height:1.4}
.lab-lecture-toggle{position:relative;width:24px;height:24px;border:1px solid #9eacb2;border-radius:50%}
.lab-lecture-toggle::before,.lab-lecture-toggle::after{content:"";position:absolute;top:11px;left:6px;width:10px;height:1px;background:var(--course-ink);transition:transform .2s ease}
.lab-lecture-toggle::after{transform:rotate(90deg)}
.lab-lecture[open] .lab-lecture-toggle::after{transform:rotate(0)}
.lab-lecture-body{margin:0 0 28px 118px;padding:28px 34px;background:var(--course-soft);color:#3f535e}
.lab-lecture-block{max-width:75ch}
.lab-lecture-block+.lab-lecture-block{margin-top:30px;padding-top:26px;border-top:1px solid #d6e0e3}
.lab-lecture-block h4{margin:0 0 13px;color:var(--course-ink);font:700 18px/1.5 var(--serif)}
.lab-lecture-block h5{margin:20px 0 8px;color:#284c63;font:700 15px/1.55 var(--serif)}
.lab-lecture-block h4+h5{margin-top:0}
.lab-lecture-block p{margin:0;font-size:14px;line-height:1.9}
.lab-lecture-block p+p{margin-top:10px}
.lab-course-lines{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.lab-course-lines li{position:relative;padding-left:16px;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.lab-course-lines li::before{content:"";position:absolute;top:.8em;left:1px;width:4px;height:4px;border-radius:50%;background:#9aa9ae}
.lab-course-reading-lines{gap:10px}
.lab-course-reading-lines li{color:#52656f;font-size:13px;line-height:1.75}
@media(max-width:900px){
    .lab-education{padding-top:52px}
    .lab-course-jump{position:static}
    .lab-course-overview-grid{grid-template-columns:1fr;gap:30px}
    .lab-course-assessment{max-width:560px}
    .lab-instructor-grid{grid-template-columns:1fr}
    .lab-instructor-card:first-child{grid-column:auto}
}
@media(max-width:700px){
    .lab-education{padding-top:38px}
    .lab-education-hero{margin-bottom:30px}
    .lab-education-context{margin-bottom:14px;font-size:11px;letter-spacing:.05em}
    .lab-education-hero h1{font-size:12px}
    .lab-education-hero h2{font-size:clamp(31px,10vw,44px);line-height:1.25}
    .lab-education-title-en{margin-top:12px;font-size:15px}
    .lab-education-lead{margin-top:24px;font-size:15px;line-height:1.85}
    .lab-course-jump{display:grid;grid-template-columns:1fr 1fr;margin-bottom:26px;padding:6px}
    .lab-course-jump a{padding:9px 8px;font-size:12px}
    .lab-course-info{grid-template-columns:1fr 1fr}
    .lab-course-info>div{padding:16px 12px;border-bottom:1px solid var(--course-line)}
    .lab-course-info>div:nth-child(2n){border-right:0}
    .lab-course-info>div:nth-last-child(-n+2){border-bottom:0}
    .lab-course-info>div:first-child{padding-left:12px}
    .lab-course-info dd{font-size:13px}
    .lab-course-section{padding-top:58px}
    .lab-course-section-heading{display:block;margin-bottom:24px}
    .lab-course-overview-grid{gap:24px}
    .lab-course-prose{font-size:15px;line-height:1.85}
    .lab-course-assessment{padding:22px}
    .lab-instructor-card{padding:22px 20px}
    .lab-instructor-card-head{display:block}
    .lab-instructor-hours{width:100%;grid-template-columns:repeat(3,1fr);margin-top:20px;padding-top:16px;border-top:1px solid var(--course-line);border-left:0}
    .lab-instructor-hours>div{padding-left:0;border-right:1px solid var(--course-line)}
    .lab-instructor-hours>div:last-child{border-right:0}
    .lab-book-list{grid-template-columns:1fr}
    .lab-book-list li{padding:18px 0}
    .lab-course-schedule-heading>p{margin-top:12px;text-align:left}
    .lab-lecture>summary{grid-template-columns:64px minmax(0,1fr) 24px;gap:12px;min-height:86px;padding-right:0}
    .lab-lecture-summary-main strong{font-size:17px}
    .lab-lecture-body{margin:0 -4px 22px;padding:24px 20px}
    .lab-lecture-block h4{font-size:17px}
    .lab-course-lines li{padding-left:14px}
}
@media(prefers-reduced-motion:reduce){.lab-course-jump a,.lab-instructor-bio summary::after,.lab-lecture>summary,.lab-lecture-toggle::before,.lab-lecture-toggle::after{transition:none}}
@media print{
    .lab-course-jump{display:none}
    .lab-education{padding-top:20px}
    .lab-lecture:not([open])>:not(summary){display:block!important}
    .lab-lecture-toggle{display:none}
    .lab-lecture-body{margin-left:0;break-inside:avoid}
}

/* Attachment framing saved by the beginner-facing backend image cropper. */
img.dh-image-crop-active{object-position:var(--dh-image-focus-x,50%) var(--dh-image-focus-y,50%)!important}
:is([class*="__media"],[class*="__image"],[class*="__photo"],[class*="__cover"],.person-portrait,.article-featured,.cass-logo-link,.contact-network__placeholder)>img.dh-image-crop-active{transform:scale(var(--dh-image-zoom,1))!important;transform-origin:var(--dh-image-focus-x,50%) var(--dh-image-focus-y,50%)!important}

/* Rich text follows the editor consistently; the first paragraph is not a separate lead style. */
.prose>p:first-child,.article-content>p:first-child,.project-detail__prose>p:first-child{font:inherit}
.prose p.dh-first-line-indent,.article-content p.dh-first-line-indent,.project-detail__prose p.dh-first-line-indent,.mce-content-body p.dh-first-line-indent{text-indent:2em}

/* Homepage masthead: English institutional title beneath the Chinese lab name. */
.cass-lab-title-en{
    max-width:720px;
    margin:0;
    color:#47657d;
    font:500 15px/1.45 Georgia,"Times New Roman",serif;
    letter-spacing:.035em;
    text-wrap:balance;
    white-space:nowrap;
}
@media(max-width:1180px){
    .cass-lab-title-en{max-width:540px;font-size:14px}
}
@media(max-width:900px){
    .cass-lab-title-en{max-width:460px;font-size:10px;letter-spacing:.025em;white-space:normal}
}
@media(max-width:620px){
    body.home .cass-masthead{height:auto;min-height:126px;padding-block:10px}
    body.home .cass-title-group{gap:2px}
    body.home .cass-nav{top:100%}
    .cass-lab-title-en{max-width:240px;font-size:10px;line-height:1.35;letter-spacing:.015em}
}
@media(max-width:360px){
    body.home .cass-masthead{min-height:144px}
    .cass-lab-title-en{max-width:180px;font-size:10px;line-height:1.35}
}
