/* AIIS visual system: ink headings, blue actions, slate copy, tinted labels. */
:root{
 --ink:#243851;--body:#425269;--muted:#64748b;
 --accent:#2867b2;--accent-light:#edf4fd;--navy:#213b5d;
 --line:#dbe4ef;--pale:#f5f8fc;--signal:#19745f;
 --tag-ink:#2b60a1;--tag-fill:#edf4ff;--tag-line:#cedff4;
}
body{color:var(--body);background:#fff}
#main :is(h1,h2,h3,h4){color:var(--ink);font-weight:700}
#main :is(p,dt,dd,li){color:var(--body)}
#main :is(.eyebrow,.section-number){color:var(--accent);font-weight:700}
#main :is(.news-meta,.member-other-name,.member-period,.cv-place,.project-description dt,.project-section-heading>span,.project-year>h3>span,.project-history-note,.research-partners>span,.research-media-card figcaption p,.video-kind,.gallery-caption>span,.results-meta>span,.professor-office,.course-english,.course-terms){color:var(--muted)}
#main :is(.cv-date,.project-period,.project-year .project-period,.related-pubs a>span:first-child){color:#5b7290;font-weight:600}
#main :is(.results-meta p,.research-area-index a span,.cv-section-heading>span,.project-overview strong,.project-year>h3,.research-area-number){color:var(--accent)}
#main .member-status{color:#546b87;font-weight:600}
#main .pub-venue{color:#5a718e}
#main .pub-authors{color:var(--body)}
.text-link,#main .pub-link,#main .copy-citation,#main .pub-details summary{color:var(--accent)}
.text-link:hover,#main .pub-link:hover{color:#184d8b}
.text-link span,.home-news-item h3 span{color:#5a8ac4}
.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.button.primary:hover{background:#1d5596;border-color:#1d5596}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #84afdf;outline-offset:4px}

/* A restrained blue identity for navigation and page section headings. */
.site-header{border-bottom-color:#e2e9f2;background:rgba(255,255,255,.97)}
#main-nav a{color:#4e617c}
#main-nav a[aria-current=page],#main-nav a:hover{color:var(--accent)}
#main-nav a[aria-current=page]:after{height:3px;border-radius:3px;background:var(--accent)}
.language-switch{border-color:var(--line);border-radius:6px;padding:3px;background:#f5f8fc}
.language-switch button{color:#60728c;border-radius:3px}
.language-switch button[aria-pressed=true]{background:var(--accent);color:white}
.page-hero{background:linear-gradient(110deg,#edf3fb 0%,#f8fafd 65%,#edf3fa 100%);border-color:var(--line)}
.page-hero .eyebrow{letter-spacing:1.4px}
#main .page-hero h1{color:#203c61}
.section-heading h2,.people-group-heading h2{position:relative;padding-bottom:11px}
.section-heading h2:after,.people-group-heading h2:after{content:'';position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:3px;background:#6c97cf}
.profile-nav a{color:#5d718d}
.profile-nav a:hover{color:var(--accent)}

/* Actual category labels, separate from dates, counts and action buttons. */
#main .tag,#main .member-copy .tag,#main .status-label.tag{
 display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;
 width:fit-content;max-width:100%;padding:3px 9px;min-height:26px;
 border:1px solid var(--tag-line);border-radius:6px;background:var(--tag-fill);
 color:var(--tag-ink);font-size:13px;font-weight:600;line-height:1.5;
 letter-spacing:0;text-transform:none;white-space:normal;word-break:keep-all;
}
.tag--paper,.tag--blue{--tag-ink:#2b60a1;--tag-fill:#edf4ff;--tag-line:#cedff4}
.tag--education{--tag-ink:#5b6195;--tag-fill:#f2f2fa;--tag-line:#dfe0ef}
.tag--project{--tag-ink:#35627e;--tag-fill:#eef6fa;--tag-line:#d3e4ed}
.tag--people,.tag--neutral{--tag-ink:#5c6f89;--tag-fill:#f4f6fa;--tag-line:#dce3ec}
.tag--event{--tag-ink:#52658c;--tag-fill:#f1f4fb;--tag-line:#d9e1f0}
.tag--award{--tag-ink:#856323;--tag-fill:#fbf5e9;--tag-line:#eadcbe}
.tag--live{--tag-ink:#206f5c;--tag-fill:#edf7f2;--tag-line:#cfe5da}
.tag--code{--tag-ink:#2c609e;--tag-fill:#f0f5fc;--tag-line:#d4e1f1}
.news-meta{flex-wrap:wrap;gap:10px 12px;align-items:center}
.news-meta time{color:var(--muted);font-weight:400;letter-spacing:.2px}
.news-article .news-meta .tag{display:inline-flex;margin-top:9px}
.home-news-item{transition:border-color .2s ease}
.home-news-item h3 a{color:#263f61}
.home-news-item h3 a:hover{color:var(--accent)}
#main .home-news-item>p{color:var(--body)}
.portrait-member .tag{margin-bottom:3px}
.portrait-placeholder{background:linear-gradient(140deg,#f7f9fc,#eaf0f8)}
.portrait{border-color:#dbe4ef}
.publication-topline{gap:8px;margin-bottom:13px}
.publication-year>h2{color:var(--accent)}
#main .publication-year h2>span{color:var(--muted);font-weight:400}
.publication h3{line-height:1.6}
.pub-kind{border-color:#d9e3f1;border-radius:9px;overflow:hidden}
.pub-kind button{color:#526782;background:#f9fbfe}
#main .pub-kind b{color:#5276a2}
.pub-kind button[aria-pressed=true]{color:white;background:var(--accent);box-shadow:none}
#main .pub-kind button[aria-pressed=true] b{color:#fff}
.pub-kind button:hover:not([aria-pressed=true]){background:#edf4fd}
.news-filters button,.project-year-index a{border-radius:6px;border-color:#d5e0ee;color:#516a8b;background:#f8fafd}
.news-filters button[aria-pressed=true]{color:white;background:var(--accent);border-color:var(--accent)}
.project-year-index a:hover{background:var(--accent);color:white}
.pub-actions .pub-link{padding:3px 9px;border:1px solid #d4e0ef;background:#f6f9fe;border-radius:5px;line-height:1.65}
.pub-filters select,.pub-filters input{border-color:#d7e1ee;border-radius:6px;background:#fbfcfe}
.search-field{border-color:#d7e1ee;border-radius:6px;background:#fbfcfe}
.results-meta{border-color:var(--line)}
.project-overview>a{border-color:#d6e3f2;border-radius:10px;background:linear-gradient(125deg,#f7faff,#edf3fc)}
.project-overview>a:first-child{border-color:#cbdcf0;background:linear-gradient(125deg,#edf5ff,#f7faff)}
#main .project-overview>a>span{color:var(--accent)}
#main .project-overview small{color:#627793;font-weight:400}
.research-area-index a:hover{background:var(--accent-light)}
.research-media-card{border-color:#dae4f0;border-radius:9px;overflow:hidden}
#main .research-publications summary{color:#3e6ea7}
.research-publications summary span{background:#e9f1fc;padding:2px 7px;border-radius:5px}
#main .teaching-school>h3{color:#3569a8}
.course-list{border-top-color:#8eafd5}
.course-code.tag,.course-level.tag{display:inline-flex}
.course-level.tag{margin-top:7px}
.course-detail h4{color:#2b4261}
#main .contact-slide-details dt,#main .contact-details dt{color:#557296;font-weight:600}
.contact-email{color:var(--accent)}
.contact-grid section+section{background:#f3f7fc}
.site-footer,.site-footer p,.site-footer .footer-copyright{color:#5d728b;background:#f7f9fc}
.site-footer .footer-affiliation{color:#4a6483;font-weight:600}
.footer-affiliation a{text-decoration:underline;text-decoration-color:#b7c9df;text-underline-offset:3px}
.footer-affiliation a:hover,.footer-affiliation a:focus-visible{color:var(--accent);text-decoration-color:currentColor}

/* The TITLE echoes the logo's facets and connected nodes, with cool light. */
.intro-carousel{border:1px solid #d3e0f0;border-radius:14px;box-shadow:0 12px 34px #2d51800c;background:#f4f8fd}
.intro-topline{background:#f0f5fc;border-color:#dce6f3;color:#476991}
.intro-topline>span:first-child{font-weight:700;letter-spacing:1px}
.intro-topline #intro-count{color:#5179aa;padding:2px 8px;background:#fff;border:1px solid #dce7f4;border-radius:5px}
.slide-title{isolation:isolate;background:linear-gradient(120deg,#f9fbff 0%,#eaf2fc 48%,#f5f8fe 72%,#dce8f7 100%)}
.slide-title:before{display:none}
.slide-title:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 26% 42%,#ffffffdb 0%,#ffffff75 29%,transparent 60%);z-index:0;pointer-events:none}
.title-atmosphere{position:absolute;inset:0;background:url('title-atmosphere.svg') center/cover no-repeat;z-index:0;pointer-events:none}
.title-content{position:relative;z-index:1}
.title-banner{filter:drop-shadow(0 18px 23px #23487624)}
.title-affiliation{position:relative}
#main .title-affiliation strong{color:#355b88}
#main .title-affiliation .affiliation-department{color:#516e91}
#main .title-vision h2{color:#243e60}
#main .title-vision h2 .title-connector{font-weight:400}
#main .title-vision h2 em{color:#3475c2}
#main .title-vision>p{color:#5b7290}
.title-vision h2 em{position:relative;display:inline-block}
.title-vision h2 em:after{content:'';display:block;height:3px;width:38px;background:#8eb4df;border-radius:3px;margin-top:13px}
.intro-controls{border-color:#d6e3f1;background:#fff}
.intro-playback button,.intro-arrows button{border-color:#d7e2f0;color:#4c6f9b;border-radius:5px}
.intro-playback button:hover,.intro-arrows button:hover{background:#edf4fd;border-color:#aac6e6}
.intro-playback #intro-motion[aria-pressed=true]{color:#366aa6;background:#eef5ff;border-color:#d4e3f6}
.intro-segments button{color:#5d728c}
.intro-segments button[aria-pressed=true]{color:var(--accent)}
.segment-label small{color:#5f7590}.segment-track{background:#e6edf6;border-radius:3px}.segment-fill{background:#4c83c7}
#intro-time{color:#57718f}
.slide-framework{background:linear-gradient(115deg,#f8fafd,#eef4fc)}
.intelligence-loop{border-color:#cbdcf0;background-color:#f5f9fe;background-image:radial-gradient(#cedced .65px,transparent .65px);border-radius:10px}
.loop-heading{color:#58759a}.loop-index{color:var(--signal)}
.loop-node{border-color:#d1dff0;background:#fff;border-radius:6px}
.loop-node[aria-pressed=true]{border-color:#78a5d9;background:#eaf3ff;box-shadow:inset 3px 0 #3979c6}
.loop-node[aria-pressed=true] strong,.loop-node[aria-pressed=true] .node-number{color:#2c65aa}
.loop-node small,.node-number{color:#5d728e}
.wire-flow{stroke:#398b80}.wire-base{stroke:#c2d5eb}
.loop-core{background:#28466e;border-radius:5px}
.loop-description,.loop-controls{border-color:#d7e3f2}
.loop-controls,.loop-controls button{color:#5d728e}
.loop-controls button{border-radius:5px;border-color:#d0dff0;background:#fff}
.slide-contact{background:linear-gradient(125deg,#f9fbfe,#edf4fc)}
#main .contact-campus{color:#2a4971}.contact-campus span{color:#54749c}
.contact-slide-details{border-color:#cbdcf0}

@media(max-width:800px){
 .title-atmosphere{background-size:auto 100%;background-position:58% center}
 .intro-topline>span:first-child{letter-spacing:.6px}
}
@media(max-width:600px){
 .intro-carousel{border-radius:11px}
 .title-vision h2 em:after{margin-inline:auto;margin-top:10px;width:32px}
 .title-affiliation{margin-bottom:15px}
 .title-body{gap:26px}
 .title-banner{filter:drop-shadow(0 13px 17px #2b4e7324)}
 .title-atmosphere{background-position:53% center}
 .news-article .news-meta .tag{margin-top:0}
 .course-level.tag{margin-top:0}
 .pub-kind button{gap:8px}
}
@media print{
 #main :is(p,dt,dd,li){color:#222}
 .title-atmosphere{display:none}
 #main .tag{background:#fff;border-color:#aaa;color:#222}
}

/* HOME refinement: a closer affiliation lockup and two dimensional scenes. */
#main .title-affiliation{transform:translateY(8px);margin-bottom:12px;gap:12px}
#main .title-affiliation .university-symbol{width:36px;height:36px}
#main .title-affiliation strong,#main .title-affiliation .affiliation-department{font-size:20px}

.slide-framework{isolation:isolate;background:linear-gradient(125deg,#f8fbff 0%,#eaf2fc 65%,#dce9f8 100%)}
.slide-framework:before{content:'';position:absolute;width:540px;height:540px;right:-170px;top:-245px;border:1px solid #98b9df55;border-radius:50%;box-shadow:0 0 0 42px #b9cfe91c,0 0 0 84px #b9cfe914;z-index:-1;pointer-events:none}
.slide-framework:after{content:'';position:absolute;inset:60% -10% -30%;background:repeating-linear-gradient(0deg,transparent 0 49px,#8baed62b 50px 51px),repeating-linear-gradient(90deg,transparent 0 59px,#8baed62b 60px 61px);transform:perspective(500px) rotateX(52deg) rotateZ(-12deg);z-index:-1;pointer-events:none}
.framework-heading>.eyebrow{display:inline-flex;padding:4px 0;border-bottom:2px solid #8bb1df}
.framework-title-line{white-space:nowrap}
.slide-framework .intelligence-loop{border:1px solid #bfd3eb;box-shadow:0 16px 35px #30598514,inset 0 1px #fff;background-color:#f9fcff;background-image:radial-gradient(#cbdced .65px,transparent .65px);border-radius:14px}
.slide-framework .loop-heading{align-items:center;padding-bottom:8px;border-bottom:1px solid #dde8f5}
.loop-index{background:#edf6f2;border:1px solid #c8e1d7;border-radius:5px;padding:2px 6px}
.slide-framework .loop-node{border-radius:9px;box-shadow:0 4px 10px #33547a0a;transition:background .3s,border-color .3s,box-shadow .3s}
.slide-framework .loop-node[aria-pressed=true]{background:linear-gradient(120deg,#e0edff,#f8fbff);border-color:#73a1d6;box-shadow:inset 3px 0 #3979c6,0 5px 15px #3979c61c}
.node-title{display:flex;align-items:center;gap:7px}
.node-glyph{width:20px;height:20px;flex:0 0 20px;color:#6a87ac;stroke-width:1.6}
.loop-node[aria-pressed=true] .node-glyph{color:#2867b2}
.slide-framework .loop-node small{display:block;margin-top:5px}
.slide-framework .loop-core{background:linear-gradient(140deg,#3c6796,#203d63);box-shadow:0 6px 14px #28466e2b;border:1px solid #6685ab;border-radius:8px}
.slide-framework .loop-description{background:#ffffffbd;padding:12px 10px;border:1px solid #dce7f4;border-radius:8px;min-height:76px}
.slide-framework .loop-controls{border:0;margin-top:8px;padding-top:0;justify-content:flex-end}

.slide-contact{isolation:isolate;background:radial-gradient(ellipse at 14% 35%,#dbe9fb 0%,transparent 50%),linear-gradient(115deg,#f4f8fe,#e8f1fc)}
.slide-contact:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(125deg,transparent 44%,#90b1da16 44%,#90b1da16 60%,transparent 60%),repeating-linear-gradient(0deg,transparent 0 43px,#a6bfd514 44px 45px)}
.contact-slide-intro{position:relative;min-width:0}
.contact-emblem{display:block;position:relative;isolation:isolate;width:158px;margin:20px 0 18px}
.contact-emblem:before,.contact-emblem:after{content:'';position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
.contact-emblem:before{inset:-10px;border:1px solid #9cb9df70;background:#ffffff80;box-shadow:0 12px 26px #395d8f12}
.contact-emblem:after{inset:-21px;border:1px dashed #98b5d75c}
.contact-emblem .contact-symbol{position:static;width:100%;margin:0;filter:drop-shadow(0 5px 7px #284a7114)}
.slide-contact .contact-email{padding-bottom:6px;border-bottom:1px solid #a9c2e0;width:fit-content}
.slide-contact .contact-slide-details{padding:25px 28px;border:1px solid #cbdbed;border-radius:14px;background:#ffffffd9;box-shadow:0 14px 30px #2d517814;position:relative}
.contact-slide-details:before{content:'';position:absolute;left:28px;right:28px;top:0;height:3px;background:linear-gradient(90deg,#427fbe,#b2ccec 70%,transparent);border-radius:0 0 3px 3px}
#main .slide-contact .contact-campus{margin-bottom:17px}
.slide-contact .contact-slide-details dl{gap:0}
.slide-contact .contact-slide-details dl>div{grid-template-columns:92px minmax(0,1fr);gap:16px;padding:12px 0;border-top:1px solid #e1e9f2}
.slide-contact .contact-slide-details dl>div:last-child{padding-bottom:0}
.slide-contact .contact-slide-details dt{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.contact-detail-icon{width:15px;height:15px;flex:0 0 15px;align-self:flex-start;margin-top:5px;color:#5b83b2;stroke-width:1.7}

@media(max-width:1150px){
 #main .title-affiliation strong,#main .title-affiliation .affiliation-department{font-size:19px}
 .node-title{gap:5px}.node-glyph{width:17px;height:17px;flex-basis:17px}
 .slide-contact .contact-slide-details{padding:22px}
 .slide-contact .contact-slide-details dl>div{grid-template-columns:92px minmax(0,1fr);gap:12px}
}
@media(max-width:800px){
 #main .title-affiliation strong,#main .title-affiliation .affiliation-department{font-size:17px}
 #main .title-affiliation .university-symbol{width:34px;height:34px}
 .slide-framework .loop-heading{padding-bottom:7px}
 .slide-framework .loop-controls{margin-top:7px}
 .contact-emblem{width:124px}
 .slide-contact .contact-slide-details dl>div{grid-template-columns:1fr;gap:3px;padding-block:9px}
}
@media(max-width:600px){
 #main .title-affiliation{gap:8px;margin-bottom:12px;transform:translateY(6px)}
 #main .title-affiliation p{gap:8px}
 #main .title-affiliation strong,#main .title-affiliation .affiliation-department{font-size:14px;letter-spacing:-.3px}
 #main .title-affiliation .university-symbol{width:24px;height:24px}
 .slide-framework .loop-description{padding:10px 8px 6px}
 .slide-framework .loop-heading{font-size:10px}
 .node-glyph{width:18px;height:18px;flex-basis:18px}
 .slide-contact{padding:24px 18px;gap:22px}
 .slide-contact .contact-slide-intro{display:grid;grid-template-columns:78px minmax(0,1fr);column-gap:16px;align-content:center;min-height:114px;padding-left:0}
 .slide-contact .contact-slide-intro>.eyebrow,.slide-contact .contact-email,.slide-contact .contact-slide-note{grid-column:2}
 .contact-emblem{grid-column:1;grid-row:1 / 4;align-self:center;width:64px;margin:0 0 0 4px}
 .contact-emblem .contact-symbol{position:static;width:100%;margin:0}
 .contact-emblem:before{inset:-6px}.contact-emblem:after{inset:-13px}
 .slide-contact .contact-email{font-size:17px;margin:7px 0 0;letter-spacing:-.45px}
 .slide-contact .contact-slide-note{margin-top:7px}
 .slide-contact .contact-slide-details{padding:21px 19px}
 .slide-contact .contact-slide-details dl>div{grid-template-columns:92px minmax(0,1fr);gap:10px;padding-block:11px}
 .contact-slide-details:before{left:19px;right:19px}
}
@media(max-width:400px){
 #main .title-affiliation{gap:6px}
 #main .title-affiliation p{gap:6px}
 #main .title-affiliation strong,#main .title-affiliation .affiliation-department{font-size:13px;letter-spacing:-.4px}
 #main .title-affiliation .university-symbol{width:21px;height:21px}
 .slide-framework .loop-node{padding-inline:6px}
 .node-title{gap:4px}.node-glyph{width:15px;height:15px;flex-basis:15px}
 .slide-contact .contact-slide-intro{grid-template-columns:57px minmax(0,1fr);column-gap:12px}
 .contact-emblem{width:48px}
 .slide-contact .contact-email{font-size:15px}
 .slide-contact .contact-slide-details{padding:18px 15px}
 .slide-contact .contact-slide-details dl>div{grid-template-columns:1fr;gap:3px;padding-block:8px}
 #main .slide-contact .contact-campus{font-size:18px;margin-bottom:12px}
}
@media(max-width:360px){
 .slide-framework .node-glyph{display:none}
 html[lang=en] #main .title-affiliation strong,html[lang=en] #main .title-affiliation .affiliation-department{font-size:12.5px}
}

/* 2026-10-21: readable research, affiliation and source metadata. */
.slide-framework .loop-description{background:none;border:0;border-radius:0;box-shadow:none;text-align:center;padding:12px 10px;}
.slide-framework .loop-description p{margin-inline:auto;text-align:center;max-width:580px;}
.research-video>button:before{z-index:1;background:linear-gradient(180deg,#101f332e,transparent 38%,#101f3399);background-size:auto;}
.video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.research-video .video-kind,.research-video .video-play,.research-video .video-action{position:relative;z-index:2;}
.research-video .video-kind,.research-video .video-action{color:#fff!important;text-shadow:0 1px 4px #0008;}
.research-video .video-play{color:#2867b2;background:#fff;box-shadow:0 5px 22px #142b4c40;}

.professor-affiliation{font-size:15px;line-height:1.85;word-break:keep-all;}
.professor-affiliation .affiliation-university{font-weight:700;white-space:nowrap;margin-inline-end:.35em;}
html[lang=en] .professor-affiliation .affiliation-university{margin-inline-start:.35em;margin-inline-end:0;}
#main .journal-metrics{margin:12px 0;font-size:14px;line-height:1.8;color:#53687f;}
#main .journal-metrics .impact-factor{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap;}
#main .journal-metrics .impact-factor strong{color:#2867b2;font-size:14px;font-weight:700;}
#main .journal-metrics .metrics-divider{padding-inline:5px;color:#91a4bb;}
#main .journal-metrics .metrics-year{font-size:13px;color:#64748b;white-space:nowrap;}
#main .news-meta{display:flex;flex-direction:column;align-items:flex-start;gap:7px;}
#main .news-article .news-meta .tag{margin-top:0;}
.news-paper{margin-top:18px;padding-left:16px;border-left:2px solid #a9c3e3;}
.news-paper p{margin-top:6px;line-height:1.7;}
.news-paper p>span{display:block;font-size:12px;color:#64748b;margin-bottom:3px;}
.news-paper-title strong{font-size:16px;color:#2a4d79;}
.news-paper-authors{font-size:14px;}
@media(max-width:600px){.professor-affiliation{font-size:14px}.news-paper-title strong{font-size:15px}}

/* Sponsor marks occupy an independent column, outside project metadata. */
#main .project-entry{grid-template-columns:160px minmax(0,1fr) 150px;gap:24px;padding:24px 0;align-items:start;}
#main .project-description{min-width:0;}
#main .project-description dl{margin-top:8px;display:block;}
#main .project-description dl>div{display:flex;align-items:baseline;gap:10px;}
#main .project-description dt{min-width:0;flex:0 0 auto;}
#main .project-description dd{display:block;min-width:0;overflow-wrap:anywhere;}
.project-sponsor{display:flex;align-items:center;justify-content:flex-end;align-self:center;min-width:0;}
.project-sponsor .funder-logo{display:block;width:150px;height:44px;max-width:100%;object-fit:contain;object-position:right center;padding:0;background:none;border-radius:0;}
@media(max-width:1000px){
 #main .project-entry{grid-template-columns:142px minmax(0,1fr) 132px;gap:20px;}
 .project-sponsor .funder-logo{width:132px;height:40px;}
}
@media(max-width:760px){
 #main .project-entry{grid-template-columns:minmax(0,1fr) 132px;gap:12px 18px;padding:22px 0;}
 #main .project-period{grid-column:1;grid-row:1;align-self:center;}
 #main .project-description{grid-column:1 / -1;grid-row:2;}
 .project-sponsor{grid-column:2;grid-row:1;}
 .project-sponsor .funder-logo{height:34px;}
}
@media(max-width:400px){
 #main .project-entry{grid-template-columns:minmax(0,1fr) 112px;gap:11px 10px;}
 .project-sponsor .funder-logo{width:112px;height:30px;}
}

/* Keep the lab vision within the opening slide; journal rankings retain source years. */
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/cormorant-garamond-italic-latin.woff2') format('woff2');}
#main .title-slogan{position:absolute;z-index:1;top:28px;left:32px;right:32px;margin:0;font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;font-size:clamp(10px,1.48vw,19px);font-style:italic;font-weight:400;font-synthesis:none;line-height:1.6;letter-spacing:0;color:#385e88;text-align:center;white-space:nowrap;}
#main .title-slogan .slogan-keyword{font:inherit;color:inherit;text-decoration:none;white-space:nowrap;}
#main .journal-ranking{display:inline;font:inherit;color:inherit;}
#main .journal-ranking strong{font-weight:700;color:#2867b2;}
@media(max-width:800px){#main .title-slogan{left:24px;right:24px;top:24px;}}
@media(max-width:600px){#main .title-slogan{left:20px;right:20px;top:24px;font-size:16px;line-height:1.5;white-space:normal;text-wrap:balance;}}

/* Every news photo uses the same frame; certificates remain fully visible. */
.news-article--gallery{grid-template-columns:130px minmax(0,1fr)}
.news-article--gallery>div{min-width:0}
.news-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;max-width:660px}
.news-photo-grid figure{margin:0;min-width:0}
.news-photo-button{display:block;position:relative;width:100%;aspect-ratio:4/3;padding:0;border:1px solid var(--line);border-radius:6px;background:#f4f7fb;cursor:zoom-in;overflow:hidden}
.news-photo-button img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.news-photo-button--contain img{object-fit:contain}
.news-photo-button:hover{border-color:var(--accent)}
.news-photo-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.news-photo-expand{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#fffffff0;color:var(--accent);font-size:20px;box-shadow:0 2px 8px #24385120}
.news-photo-grid figcaption{margin-top:9px;color:var(--ink);font-size:14px;font-weight:600;line-height:1.5}
@media(max-width:800px){.news-article--gallery{grid-template-columns:100px minmax(0,1fr)}}
@media(max-width:600px){.news-article--gallery{grid-template-columns:1fr}.news-photo-grid{grid-template-columns:1fr;max-width:321px;gap:19px;margin-top:18px}}

/* Social channels in the HOME Contact scene. */
.slide-contact .contact-social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:390px;margin-top:20px}
.slide-contact .contact-social-link{display:flex;align-items:center;gap:10px;min-width:0;min-height:60px;padding:10px 12px;border:1px solid #b8cce4;border-radius:9px;background:#ffffffd9;color:#2867b2;text-decoration:none;box-shadow:0 3px 10px #28466e08;transition:background .2s,border-color .2s,box-shadow .2s}
.slide-contact .contact-social-link:hover{background:#fff;border-color:#427fbe;box-shadow:0 4px 14px #28466e18}
.slide-contact .contact-social-link:focus-visible{outline:3px solid #2867b2;outline-offset:3px}
.contact-social-icon{width:23px;height:23px;flex:0 0 23px;stroke-width:1.7}
.contact-social-copy{display:grid;gap:2px;min-width:0;line-height:1.3}
.contact-social-copy strong{font-size:14px;font-weight:700;color:#243851}
.contact-social-copy>span{font-size:13px;color:#557296}
.contact-social-link>span:last-child{font-size:16px;margin-left:auto}
@media(max-width:800px){.slide-contact .contact-social-link{gap:7px;padding:9px}.contact-social-icon{width:20px;height:20px;flex-basis:20px}}
@media(max-width:600px){.slide-contact .contact-social-links{grid-column:1 / -1;max-width:none;margin-top:16px}.slide-contact .contact-social-link{padding:9px 11px;min-height:55px}}
@media(max-width:360px){.slide-contact .contact-social-links{gap:8px}.slide-contact .contact-social-link{gap:6px;padding:8px}.contact-social-copy strong{font-size:13px}.contact-social-copy>span{font-size:12px}.contact-social-link>span:last-child{font-size:13px}}

/* Let the Contact scene grow with wrapped labels on narrow screens. */
@media(max-width:600px){
 .intro-stage:has(>.slide-contact.is-active){height:auto}
 .slide-contact.is-active{position:relative;min-height:650px}
 .slide-contact .contact-slide-intro,.slide-contact .contact-slide-details{flex-shrink:0}
}

.contact-social-copy{white-space:nowrap}
@media(max-width:400px){.contact-social-link>span:last-child{display:none}}
