.chapter{padding:130px max(7.7%,calc((100vw - 1370px)/2));min-height:100svh}.section-heading{margin-bottom:70px}.section-heading h2{font-size:clamp(44px,5.2vw,76px);font-weight:650;letter-spacing:-.06em;line-height:1.09;margin:0}.section-heading h2 span{color:#868e9d}.education{background:radial-gradient(ellipse at 92% 10%,#141e30 0,transparent 48%),#080b11}.education-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:100px}.vertical-timeline{position:relative;padding-left:38px}.v-track{position:absolute;top:6px;bottom:0;left:0;width:1px;background:var(--line)}.v-progress{position:absolute;top:0;width:2px;height:calc(var(--progress,1)*100%);background:linear-gradient(#6386b6,#bad5ff);box-shadow:0 0 17px #8ab5ff3d}.v-progress:after{content:'';position:absolute;left:-4px;bottom:0;width:9px;height:9px;border-bottom:2px solid #bad5ff;border-right:2px solid #bad5ff;transform:rotate(45deg)}.education-item{position:relative;padding-bottom:64px}.education-item:last-child{padding-bottom:26px}.timeline-dot{position:absolute;left:-42px;top:6px;width:10px;height:10px;border:2px solid #a9c9ff;background:#080b11;border-radius:50%}.date{font-size:11px;font-weight:600;letter-spacing:1.4px;line-height:1.7;color:var(--accent);margin-bottom:18px}.education h3{font-size:clamp(24px,2.3vw,34px);line-height:1.25;letter-spacing:-1px;font-weight:550;margin:0 0 16px}.education h3 span{color:#aab2c0}.degree{font-size:18px;line-height:1.5;margin-bottom:12px;color:#e1e5eb}.body-copy{color:var(--muted);font-size:16px;line-height:1.8;letter-spacing:-.15px}.credentials{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.credentials span{font-size:11px;color:#acb9ca;border:1px solid #2a3546;border-radius:20px;padding:7px 12px}.education-aside{padding-top:2px}.life-photo{position:relative;overflow:hidden;border-radius:18px}.lab-photo{aspect-ratio:567/413}.lab-photo img{position:absolute;top:0;left:0;width:100%;max-width:none}.small-caption{font-size:10px;letter-spacing:1.7px;line-height:1.8;margin:22px 0;color:#8495ae}.aside-quote{font-size:33px;letter-spacing:-1.3px;line-height:1.3;font-weight:550;color:#c8d3e6}.service{background:radial-gradient(ellipse at 15% 65%,#0e1b2a 0,transparent 58%),#06090e}.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.community-card{border-radius:20px;background:#111722;overflow:hidden;border:1px solid #ffffff08}.community-photo{position:relative;overflow:hidden;aspect-ratio:1.5}.community-photo img{position:absolute;width:100%;max-width:none}.hongzhi img{top:0}.gsu img{bottom:0}.community-copy{padding:31px 33px 36px}.community-copy .date{font-size:9px;min-height:31px}.community-copy h3{font-size:29px;font-weight:600;letter-spacing:-1px;margin:0 0 12px}.role{font-size:13px;color:#d5dce7;line-height:1.7;margin-bottom:18px}.community-copy .body-copy{font-size:15px}.teaching-strip{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;margin-top:60px;border-top:1px solid var(--line);padding-top:45px}.teaching-strip h3{font-size:31px;line-height:1.25;font-weight:550;letter-spacing:-1px;margin:0}.research{background:radial-gradient(ellipse at 70% 38%,#111b2c 0,transparent 63%),#080a10}.section-intro{font-size:20px;line-height:1.6;color:var(--muted);max-width:650px;margin-top:30px}.research-lane{margin-top:70px}.lane-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.lane-heading h3{font-size:24px;letter-spacing:-.8px;margin:0;font-weight:550}.lane-heading>span{font-size:9px;letter-spacing:1.4px;color:#7f8fa6}.horizontal-timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:32px;padding-top:33px}.horizontal-timeline.four{grid-template-columns:repeat(4,1fr);gap:30px}.h-track{position:absolute;top:0;left:0;right:0;height:1px;background:var(--line)}.h-progress{width:calc(var(--progress,1)*100%);height:2px;background:linear-gradient(90deg,#536e98,#c3daff);position:relative}.h-progress:after{content:'';position:absolute;right:0;top:-4px;height:9px;width:9px;border-top:2px solid #c3daff;border-right:2px solid #c3daff;transform:rotate(45deg)}.research-node{position:relative}.research-node:before{content:'';position:absolute;left:0;top:-37px;border:2px solid #a9c9ff;background:#0b101a;width:10px;height:10px;border-radius:50%}.research-node .date{font-size:10px;margin-bottom:19px}.research-node h4{font-size:20px;font-weight:550;letter-spacing:-.5px;line-height:1.35;margin:0 0 14px}.research-node>p:not(.date){font-size:14px;line-height:1.75;color:var(--muted);min-height:98px}.research-node a,.ongoing{display:block;margin-top:20px;font-size:11px;color:#adcaef}.ongoing{color:#8498b7}.publications{background:#080a0f;padding-bottom:60px}.paper-category{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:22px 0;color:#b9c8de;font-size:11px;letter-spacing:2px;margin-top:50px}.paper-category span:last-child{color:#6f819b}.paper{display:grid;grid-template-columns:.78fr 1.22fr;gap:9%;align-items:center;padding:78px 0;border-bottom:1px solid var(--line);scroll-margin-top:85px}.paper-visual{display:flex;flex-direction:column;align-items:center;gap:18px}.paper-sheet{display:block;max-width:330px;width:100%;transition:transform .6s cubic-bezier(.22,1,.36,1);box-shadow:0 25px 60px #0006;border-radius:3px;overflow:hidden;background:#edf0f4}.paper-sheet:hover{transform:translateY(-8px) rotate(-1deg)}.paper-sheet img{width:100%;height:auto}.paper-visual figcaption{font-size:10px;letter-spacing:1px;color:#7d8b9e}.paper-info h3{font-size:clamp(24px,2.5vw,36px);font-weight:600;line-height:1.23;letter-spacing:-1.2px;margin:0 0 19px}.paper-meta{font-size:12px;line-height:1.7;color:#8494ad;margin-bottom:26px}.paper-summary{font-size:17px;line-height:1.8;letter-spacing:-.2px;color:#a9b3c4}.paper-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:30px;font-size:12px;color:#c6dcff}.paper-links a{padding-bottom:7px;border-bottom:1px solid #7188a548}.paper-fallback{padding:38px 26px;min-height:405px;display:flex;flex-direction:column;background:#e8edf5;color:#172436}.paper-fallback .journal{font-family:Georgia,serif;font-size:23px;line-height:1.2;border-bottom:2px solid #283a52;padding-bottom:24px;margin-bottom:24px}.paper-fallback h4{font-family:Georgia,serif;font-size:19px;line-height:1.45;font-weight:400;margin:0 0 25px}.paper-fallback p{font-size:11px;line-height:1.7;color:#526175}.paper-fallback .preview-note{margin-top:auto;padding-top:25px;text-transform:uppercase;letter-spacing:1px;font-size:9px}.all-publications{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:55px 0 0;color:#9ca9bc;font-size:15px}.all-publications a{color:#c6dcff;font-size:13px}.js-motion .reveal{opacity:.12;transform:translateY(35px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1000px){.chapter{padding:100px 7.7%}.education-layout{gap:50px;grid-template-columns:1.2fr .8fr}.community-copy{padding:26px}.community-copy h3{font-size:25px}.horizontal-timeline,.horizontal-timeline.four{gap:23px}.research-node h4{font-size:18px}.research-node>p:not(.date){font-size:13px}.paper{gap:7%;grid-template-columns:.8fr 1.2fr}.paper-info h3{font-size:28px}.paper-summary{font-size:16px}.paper-fallback{min-height:355px;padding:28px 22px}.paper-fallback h4{font-size:17px}.lane-heading{align-items:start}.lane-heading>span{max-width:160px;text-align:right}}
@media(max-width:700px){.chapter{padding:90px 25px}.section-heading{margin-bottom:48px}.section-heading h2{font-size:45px}.education-layout{grid-template-columns:1fr;gap:45px}.education-aside{max-width:440px}.education h3{font-size:25px}.education-item{padding-bottom:52px}.community-grid{grid-template-columns:1fr;gap:28px}.community-copy .date{min-height:0}.teaching-strip{grid-template-columns:1fr;gap:28px}.horizontal-timeline,.horizontal-timeline.four{display:flex;overflow-x:auto;gap:28px;padding:33px 0 20px;scroll-snap-type:x proximity}.research-node{min-width:210px;flex:1;scroll-snap-align:start}.h-track{width:calc(3*238px - 28px);right:auto}.four .h-track{width:calc(4*238px - 28px)}.lane-heading{align-items:center}.lane-heading h3{font-size:21px}.lane-heading>span{font-size:8px;max-width:125px}.research-node>p:not(.date){min-height:85px}.section-intro{font-size:18px}.paper{grid-template-columns:1fr;gap:38px;padding:52px 0}.paper-sheet{max-width:260px}.paper-info h3{font-size:28px}.paper-category{font-size:9px;letter-spacing:1.3px}.paper-summary{font-size:16px}.all-publications{align-items:start;flex-direction:column}.aside-quote{font-size:30px}.paper-fallback{min-height:340px}.research-lane{margin-top:55px}}
html{scroll-padding-top:18px}.paper{scroll-margin-top:0}.gsu img{width:103%;left:-1.5%}header:focus-within:not(:has(:focus-visible)){transform:translateY(0)}header.hidden:focus-within:not(:has(:focus-visible)){transform:translateY(-105%)}header:has(:focus-visible){transform:translateY(0)}
@media(max-width:650px){.hero{padding-top:110px;padding-bottom:75px}.hero-inner{gap:28px}.portrait{max-width:180px}.portrait img{height:246px}.portrait figcaption{padding:35px 15px 16px;font-size:9px;letter-spacing:1.3px}.portrait figcaption span{font-size:8px;margin-top:5px}.hero-copy .eyebrow{margin-bottom:16px;font-size:8px}.hero-copy h1{font-size:40px;margin-bottom:20px}.hero-copy .intro{font-size:16px;line-height:1.6}.hero-copy .affiliation{font-size:11px;margin-top:18px}.hero-copy .contact{font-size:11px;margin-top:23px}}
@media(prefers-reduced-motion:reduce){.js-motion .reveal{opacity:1;transform:none}.v-progress{height:100%}.h-progress{width:100%}}
/* Hero hierarchy; the original portrait box and grid remain unchanged. */
.portrait figcaption{inset:auto auto 0 -26px;bottom:0;width:max-content;max-width:none;padding:0;background:none;border-radius:0;transform:rotate(-90deg);transform-origin:left bottom;font-size:16px;font-weight:600;letter-spacing:1.5px;color:#f5f5f7}
.portrait figcaption span{font-size:13px;font-weight:500;letter-spacing:.5px;color:#c6d2e4;margin-top:7px}
.hero-copy h1{font-size:clamp(36px,3.2vw,49px);font-weight:700;letter-spacing:-.045em;line-height:1.1;margin:0 0 16px}
.academic-affiliation{color:#d5deec;line-height:1.5;font-weight:500}
.academic-affiliation .school{font-size:22px;font-weight:600}
.academic-affiliation .university{font-size:19px;margin-top:3px}
.hero-copy .motto{font-size:clamp(40px,4vw,60px);font-weight:700;letter-spacing:-.055em;line-height:1.08;margin:30px 0 24px}
.motto span{color:#b7c9e9}
.hero-copy .intro{font-size:clamp(20px,1.65vw,24px);font-weight:500;line-height:1.55;color:#d1d9e5;letter-spacing:-.3px}
.hero-copy .contact{font-size:16px;font-weight:600;gap:28px;margin-top:26px;color:#edf2fa}
@media(max-width:900px){.portrait figcaption{left:-18px;font-size:14px}.portrait figcaption span{font-size:12px}.hero-copy h1{font-size:35px}.academic-affiliation .school{font-size:20px}.academic-affiliation .university{font-size:17px}.hero-copy .motto{font-size:40px;margin:24px 0 20px}.hero-copy .intro{font-size:19px}.hero-copy .contact{font-size:14px;gap:19px}}
@media(max-width:650px){.hero{align-items:flex-start}.hero-copy h1{font-size:36px;margin-bottom:14px}.academic-affiliation .school{font-size:20px}.academic-affiliation .university{font-size:17px}.hero-copy .motto{font-size:40px;margin:24px 0 20px}.hero-copy .intro{font-size:18px}.hero-copy .contact{font-size:14px;gap:22px;margin-top:24px}.portrait figcaption{left:-18px;padding:0;font-size:12px;letter-spacing:.7px}.portrait figcaption span{font-size:10px;letter-spacing:.1px;margin-top:5px}}
/* Subtle white-to-blue motto and degree preceding the school. */
.academic-affiliation .student-role{font-size:21px;font-weight:600;color:#e0e7f2;margin-bottom:5px}
.hero-copy .motto{background:linear-gradient(110deg,#f5f7fb 12%,#e4ecf9 52%,#afc8ee 100%);background-clip:text;-webkit-background-clip:text;color:transparent;width:fit-content}
.hero-copy .motto span{color:inherit}
@media(max-width:900px){.academic-affiliation .student-role{font-size:19px}}
@media(max-width:650px){.hero-copy .motto{margin-left:auto;margin-right:auto}.academic-affiliation .student-role{font-size:18px}}
/* Education typography and an unfolding white-to-blue timeline. */
.education .v-track{width:4px;background:linear-gradient(180deg,#ffffff28,#659ef52b);border-radius:4px}
.education .v-progress{width:4px;background:linear-gradient(180deg,#fff 0%,#b9d4fb 48%,#619cf3 100%);border-radius:4px}
.education .v-progress:after{width:13px;height:13px;left:-5px;bottom:1px;border-width:4px;border-color:#619cf3}
.education .timeline-dot{left:-43px;width:14px;height:14px;border-width:3px;border-color:#e5efff}
.education .date{color:#fff;font-size:13px;letter-spacing:.7px;text-transform:none}
.education h3,.education h3 span{color:#fff;background:none;-webkit-text-fill-color:#fff}
.education .degree{font-size:22px;font-weight:550;line-height:1.5}
.education .credentials span{font-size:14px;font-weight:500;padding:9px 15px;color:#d5dfef}
.education .aside-quote{margin-top:22px;background:linear-gradient(110deg,#f5f7fc 0%,#d3e2f8 45%,#8bb5ef 100%);background-clip:text;-webkit-background-clip:text;color:transparent;width:fit-content}
.education-photo-placeholder{margin-top:38px;width:100%;display:grid;place-items:center;border:1px dashed #6f89ae66;background:linear-gradient(135deg,#101c2c,#0a101b);color:#8294ad}
.education-photo-placeholder span{font-size:12px;letter-spacing:1px}
@media(max-width:700px){.education .degree{font-size:20px}.education .credentials span{font-size:13px}.education .date{font-size:12px}}
/* Keep the arrow tied to the education entries rather than the photo column. */
.education .vertical-timeline{align-self:start;min-width:0}
.education .v-track{width:6px;bottom:14px}
.education .v-progress{width:6px}
.education .v-progress:after{left:50%;bottom:-10px;width:22px;height:16px;border:0;background:#619cf3;clip-path:polygon(0 0,100% 0,50% 100%);transform:translateX(-50%)}
.education .timeline-dot{left:-42px}
.education h3{font-size:clamp(21px,1.85vw,28px);letter-spacing:-.8px;white-space:nowrap}
.education .degree,.education .body-copy,.education .credentials span{color:#70adff}
.education .credentials span{border-color:#70adff55}
.education .aside-quote{font-size:clamp(17px,1.48vw,23px);letter-spacing:-.65px;white-space:nowrap;line-height:1.5}
@media(max-width:1150px){.education h3{white-space:normal}.education .aside-quote{font-size:clamp(16px,1.9vw,21px)}}
@media(max-width:700px){.education h3{font-size:24px}.education .aside-quote{font-size:clamp(17px,4.6vw,23px)}}
/* Refine the left education column without moving the photograph column. */
.education .section-heading{padding-top:46px;padding-left:28px}
.education .vertical-timeline{margin-top:28px;margin-left:28px}
.education .date{font-size:14px}
.education .education-school{font-size:22px;font-weight:550;line-height:1.5;color:#becbf2;margin:0 0 10px}
.education .body-copy{color:#c2cfdf}
@media(max-width:1000px){.education .section-heading{padding-left:16px}.education .vertical-timeline{margin-left:16px}}
@media(max-width:700px){.education .section-heading{padding-top:24px;padding-left:0}.education .vertical-timeline{margin-top:12px;margin-left:0}.education .date{font-size:13px}.education .education-school{font-size:20px}}
/* Bring the heading into the same viewing frame as the two education entries. */
@media(min-width:1001px){
 .education .section-heading{position:relative;top:100px}
 .education .vertical-timeline{margin-top:48px}
}
@media(min-width:701px) and (max-width:1000px){
 .education .section-heading{position:relative;top:58px}
 .education .vertical-timeline{margin-top:38px}
}
/* Single-row education title; retain its former block height to keep content in place. */
.education .education-title{display:flex;align-items:baseline;gap:.24em;white-space:nowrap;min-height:2.18em}
@media(max-width:700px){.education .education-title{white-space:normal;flex-wrap:wrap;column-gap:.24em;row-gap:0}}

.education .education-title{position:relative;top:24px}
/* First two chapters are complete desktop frames, with accessible compact-screen fallback. */
@media(min-width:1001px){
 #home{height:100svh;min-height:0}
 #home .hero-inner{transform-origin:center center}
 #education{height:100svh;min-height:0;padding-top:98px;padding-bottom:24px}
 .education-content{transform-origin:top center}
 #education .section-heading{position:static;padding-top:0;margin-bottom:24px}
 #education .education-title{top:0;min-height:0}
 #education .vertical-timeline{margin-top:12px}
 #education .education-item{padding-bottom:32px}
 #education .education-item:last-child{padding-bottom:26px}
 #education .date{margin-bottom:12px}
 #education h3{margin-bottom:12px}
 #education .degree{margin-bottom:8px}
 #education .credentials{margin-top:16px}
 #education .aside-quote{margin-top:14px}
 #education .education-photo-placeholder{margin-top:22px}
 #home .reveal,#education .reveal{opacity:1;transform:none;transition:none}
 #education .v-progress{height:100%}
}
html.chapter-turning{scroll-behavior:auto}
html.chapter-turning::view-transition-group(root){animation-duration:.28s}
html.chapter-turning::view-transition-old(root){animation:chapter-darken .28s ease both}
html.chapter-turning::view-transition-new(root){animation:chapter-reveal .28s cubic-bezier(.2,.7,.3,1) both;mix-blend-mode:normal}
@keyframes chapter-reveal{from{clip-path:polygon(0 0,0 0,0 0);filter:brightness(.22)}to{clip-path:polygon(0 0,200% 0,0 200%);filter:brightness(1)}}
@keyframes chapter-darken{to{filter:brightness(.12)}}
.chapter-shade{position:fixed;inset:0;background:#03050a;z-index:25;pointer-events:none}
@media(prefers-reduced-motion:reduce){html.chapter-turning::view-transition-new(root),html.chapter-turning::view-transition-old(root){animation:none}}
/* Compact leadership cards with a three-photo Hongzhi gallery. */
#service{padding-top:105px;padding-bottom:75px}
#service .section-heading{margin-bottom:45px}
#service .section-heading h2{font-size:clamp(30px,3.15vw,48px);line-height:1.18;letter-spacing:-.045em}
#service .section-heading h2 span{display:inline-block;margin-top:10px;color:#bacbe6}
#service .community-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
#service .community-card{min-width:0;overflow:visible;background:transparent;border:0;border-radius:0}
#service .community-photo{border-radius:15px;margin-top:18px;aspect-ratio:1.5}
#service .community-copy{padding:24px 0 0}
#service .community-copy .date{min-height:0;margin-bottom:11px;font-size:10px}
#service .community-copy h3{font-size:26px;line-height:1.2;margin-bottom:12px;letter-spacing:-.7px}
#service .community-copy .role{font-size:13px;min-height:44px;margin-bottom:12px;color:#bed1ee}
#service .community-copy .body-copy{font-size:15px;line-height:1.75;color:#b5c0d2}
.photo-stack{display:block;position:relative;width:100%;aspect-ratio:1.5;margin:18px 0 0;padding:0;border:0;border-radius:15px;background:transparent;cursor:pointer;font:inherit;color:#fff;text-align:left}
.stack-layer{position:absolute;inset:0;overflow:hidden;border-radius:15px;background:#111b2b;box-shadow:0 10px 24px #0005;border:1px solid #b8ccec30;transition:transform .25s ease}
.stack-layer img{width:100%;height:100%;object-fit:cover}
.stack-back{transform:translate(5px,-9px) rotate(5deg)}
.stack-middle{transform:translate(-3px,-4px) rotate(-3deg)}
.stack-front{transform:rotate(0);border-color:#ffffff22}
.stack-front img{position:absolute;top:0;height:auto}
.photo-stack:hover .stack-back{transform:translate(7px,-12px) rotate(7deg)}
.photo-stack:hover .stack-middle{transform:translate(-5px,-6px) rotate(-5deg)}
.gallery-hint{position:absolute;right:12px;bottom:12px;padding:7px 11px;background:#050b16bb;backdrop-filter:blur(10px);border:1px solid #ffffff25;border-radius:20px;font-size:11px;letter-spacing:.3px}
.ta-placeholder{display:grid;place-items:center;background:linear-gradient(140deg,#142136,#0b111c);border:1px dashed #7694bf55;text-align:center;color:#c4d7f6}
.ta-placeholder>span{font-size:25px;letter-spacing:1px;font-weight:600}
.ta-placeholder>span>span{display:block;margin-top:10px;font-size:12px;font-weight:400;letter-spacing:.3px;color:#93a6c3}
.community-dialog{width:min(1500px,94vw);max-width:none;max-height:88svh;padding:54px 30px 32px;border:1px solid #e0ebff24;border-radius:24px;background:#101724ed;color:#f5f5f7;box-shadow:0 30px 120px #000a;overflow:auto}
.community-dialog::backdrop{background:rgba(2,5,12,.84);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
body.gallery-open{overflow:hidden}
body.gallery-open main>section,body.gallery-open>header,body.gallery-open>footer{filter:blur(12px)}
body.gallery-open #hongzhi-gallery{filter:none}
.gallery-close{position:absolute;right:16px;top:12px;width:34px;height:34px;border-radius:50%;border:1px solid #ffffff25;background:#243147;color:#fff;font-size:25px;line-height:1;cursor:pointer}
.gallery-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:center}
.gallery-photos figure{margin:0;min-width:0;aspect-ratio:1.5;overflow:hidden;border-radius:12px;background:#080d16}
.gallery-photos figure>img{width:100%;height:100%;object-fit:contain}
.gallery-original{width:100%;height:100%;position:relative;overflow:hidden}
.gallery-original img{position:absolute;width:100%;max-width:none;top:0}
.gallery-copy{max-width:960px;margin:28px auto 0;text-align:center}
.gallery-copy .date{margin-bottom:9px}
.gallery-copy h2{font-size:32px;letter-spacing:-1px;margin:0 0 10px}
.gallery-copy .role{font-size:14px;margin-bottom:14px}
.gallery-copy .body-copy{font-size:16px;line-height:1.8;color:#c7d1e1}
@media(max-width:1000px){#service .community-grid{gap:20px}#service .community-copy h3{font-size:22px}#service .community-copy .body-copy{font-size:14px}.gallery-photos{gap:12px}.community-dialog{padding:52px 18px 26px}}
@media(max-width:700px){#service .community-grid{grid-template-columns:1fr;gap:42px}#service .community-copy .role{min-height:0}#service .section-heading h2{font-size:32px}.gallery-photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.gallery-photos figure{flex:0 0 88%;scroll-snap-align:center}.gallery-copy{text-align:left}.gallery-copy h2{font-size:27px}.gallery-copy .body-copy{font-size:15px}}
/* GSU photo order and more readable service copy. */
.stack-front.gsu-cover img{position:static;width:100%;height:100%;object-fit:contain;background:#101724}
.gsu-composite img{position:absolute;top:auto;bottom:0;width:103%;left:-1.5%;height:auto;max-width:none}
#service .community-copy .date{font-size:12px}
#service .community-copy h3{font-size:28px;font-weight:700}
#service .community-copy .role{font-size:15px;min-height:50px}
#service .community-copy .body-copy{font-size:16px}
#service .gallery-hint{font-size:12px}
#service .ta-placeholder>span{font-size:27px}
#service .ta-placeholder>span>span{font-size:14px}
.community-dialog .gallery-copy .date{font-size:12px}
.community-dialog .gallery-copy h2{font-weight:700}
.community-dialog .gallery-copy .role{font-size:15px}
.community-dialog .gallery-copy .body-copy{font-size:17px}
@media(max-width:1000px){#service .community-copy h3{font-size:24px}#service .community-copy .body-copy{font-size:15px}#service .community-copy .role{font-size:14px}}
@media(max-width:700px){#service .community-copy .role{min-height:0}.community-dialog .gallery-copy .body-copy{font-size:16px}}

#service .gallery-hint{right:12px;bottom:12px;width:30px;height:30px;display:grid;place-items:center;padding:0;border-radius:50%;font-size:19px;line-height:1;letter-spacing:0;background:rgba(5,11,22,.48);border-color:rgba(255,255,255,.2)}
/* Third chapter joins the desktop presentation sequence. */
@media(min-width:1001px){
 #service{height:100svh;min-height:0;padding-top:98px;padding-bottom:28px}
 .service-content{transform-origin:top center}
 #service .section-heading{margin-bottom:30px}
 #service .reveal{opacity:1;transform:none;transition:none}
 #service .community-copy{padding-top:20px}
}
/* Research: stronger hierarchy and the same arrow treatment as Education. */
#research .section-intro{font-size:23px;max-width:850px;line-height:1.6;color:#c2cfdf}
#research .research-lane{margin-top:58px}
#research .lane-heading h3{font-size:28px;font-weight:600}
#research .lane-heading>span{font-size:11px;letter-spacing:1.1px;color:#a4b6d0}
#research .horizontal-timeline{padding-top:38px;gap:32px;margin-top:30px}
#research .horizontal-timeline.four{gap:28px}
#research .h-track{height:6px;border-radius:4px;background:linear-gradient(90deg,#ffffff28,#659ef52b)}
#research .h-progress{height:6px;border-radius:4px;background:linear-gradient(90deg,#fff 0%,#b9d4fb 48%,#619cf3 100%);box-shadow:0 0 17px #8ab5ff3d}
#research .h-progress:after{right:-10px;top:50%;width:16px;height:22px;border:0;background:#619cf3;clip-path:polygon(0 0,100% 50%,0 100%);transform:translateY(-50%)}
#research .research-node:before{top:-42px;width:14px;height:14px;border-width:3px;border-color:#e5efff}
#research .research-node .date{font-size:13px;margin-bottom:16px;color:#f5f5f7}
#research .research-node h4{font-size:23px;font-weight:600;line-height:1.35}
#research .research-node>p:not(.date){font-size:17px;line-height:1.75;color:#bdc9dc;min-height:120px}
#research .research-node a,#research .ongoing{font-size:14px;line-height:1.6;margin-top:18px}
@media(max-width:1000px){#research .section-intro{font-size:21px}#research .lane-heading h3{font-size:25px}#research .lane-heading>span{font-size:10px}#research .horizontal-timeline,#research .horizontal-timeline.four{gap:22px}#research .research-node h4{font-size:21px}#research .research-node>p:not(.date){font-size:16px}}
@media(max-width:700px){#research .section-intro{font-size:20px}#research .lane-heading h3{font-size:23px}#research .lane-heading>span{font-size:9px}#research .horizontal-timeline,#research .horizontal-timeline.four{gap:28px;padding-bottom:24px}#research .research-node{min-width:230px}#research .h-track{width:calc(3*258px - 28px)}#research .four .h-track{width:calc(4*258px - 28px)}#research .research-node>p:not(.date){min-height:112px}}
/* Compact research chapter, sharing the first three chapters' viewport fitting. */
#research .section-heading{margin-bottom:28px}
#research .section-intro{margin-top:18px}
#research .research-lane{margin-top:30px}
#research .horizontal-timeline{margin-top:20px;padding-top:28px}
#research .research-node:before{top:-32px}
#research .research-node .date{margin-bottom:10px}
#research .research-node h4{margin-bottom:10px}
#research .research-node>p:not(.date){min-height:0;line-height:1.6}
#research .research-node a,#research .ongoing{margin-top:12px}
@media(min-width:1001px){
 #research{height:100svh;min-height:0;padding-top:98px;padding-bottom:28px}
 .research-content{transform-origin:top center}
 #research .reveal{opacity:1;transform:none;transition:none}
 #research .h-progress{width:100%}
}
/* Use the available horizontal space before fitting the research chapter vertically. */
@media(min-width:1001px){
 #research{padding-left:4.5%;padding-right:4.5%}



 #research .section-intro{max-width:1100px}
 #research .horizontal-timeline{gap:44px}
 #research .horizontal-timeline.four{gap:36px}
}

@media(min-width:1001px){#research{padding-left:7.7%;padding-right:7.7%}.research-content{max-width:1370px;margin-left:auto;margin-right:auto}}
/* Align each research row's final link or status along a shared baseline. */
#research .research-node{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
#research .research-node>a,#research .research-node>.ongoing{margin-top:auto;padding-top:18px}
#research .research-node>a{min-height:calc(2 * 1.6em + 18px)}
#research .research-node>.ongoing{min-height:calc(2 * 1.6em + 18px)}
/* Keep the research introduction on one desktop line with balanced spacing. */
@media(min-width:1001px){
 #research .section-intro{max-width:none;white-space:nowrap;font-size:clamp(15px,1.22vw,20px);margin-top:24px;line-height:1.6;letter-spacing:-.25px}
 #research .section-heading{margin-bottom:0}
 #research .research-lane:first-of-type{margin-top:36px}
 #research .section-heading + .research-lane{margin-top:36px}
}
/* Publication opening: slogan and first paper share one desktop frame. */
#publications .paper-category>span:first-child{font-family:Arial,Helvetica,sans-serif;font-size:22px;font-weight:600;letter-spacing:.1px;color:#d3e2f8}
@media(min-width:1001px){
 #publications{padding-top:0}
 .publication-lead{height:100svh;padding-top:98px;padding-bottom:28px}
 .publication-content{transform-origin:top center}
 .publication-lead .section-heading{margin-bottom:16px}
 .publication-lead .section-heading h2 br{display:none}
 .publication-lead .section-heading h2 span{margin-left:.18em}
 .publication-lead .paper-category{margin-top:0;padding:12px 0}
 .publication-lead .paper{padding:24px 0 0;border-bottom:0;grid-template-columns:.65fr 1.35fr;gap:6%}
 .publication-lead .paper-sheet{max-width:265px}
 .publication-lead .paper-info h3{font-size:28px;line-height:1.25;margin-bottom:12px}
 .publication-lead .paper-meta{margin-bottom:14px}
 .publication-lead .paper-summary{font-size:17px;line-height:1.7}
 .publication-lead .paper-links{margin-top:18px}
 .publication-lead .reveal{opacity:1;transform:none;transition:none}
}
/* Give the opening paper the same preview size as later papers and room to breathe. */
.publication-lead .paper-category{border-bottom:2px solid rgba(184,203,235,.25)}
@media(min-width:1001px){
 .publication-lead .paper{padding:46px 0 32px;border-bottom:2px solid rgba(184,203,235,.25);align-items:center}
 .publication-lead .paper-sheet{max-width:330px}
 .publication-lead .paper-visual{gap:18px}
}
/* Readable publication text and emphasized journal information. */
#publications .paper-info .date{font-size:15px;font-style:italic;font-weight:700;letter-spacing:.6px}
#publications .paper-info h3{font-size:clamp(28px,2.6vw,38px);line-height:1.27}
#publications .paper-meta{font-size:14px;line-height:1.7}
#publications .paper-summary{font-size:19px;line-height:1.75}
#publications .paper-links{font-size:15px}
#publications .paper-visual figcaption{font-size:12px}
#publications .paper-category>span:first-child{font-size:25px;color:#d3e2f8}
@media(max-width:700px){#publications .paper-info h3{font-size:27px}#publications .paper-summary{font-size:18px}#publications .paper-links{font-size:14px}}
/* Consistent single-paper frames throughout the remaining publications. */
.publication-followup .paper-category{border-bottom:2px solid rgba(184,203,235,.25)}
.publication-followup .paper{border-bottom:2px solid rgba(184,203,235,.25)}
@media(min-width:1001px){
 .publication-followup{height:100svh;padding-top:98px;padding-bottom:28px;display:flex;align-items:center}
 .publication-followup .publication-content{width:100%;transform-origin:center center}
 .publication-followup .paper-category{margin-top:0;padding:12px 0}
 .publication-followup .paper{padding:46px 0 32px;grid-template-columns:.65fr 1.35fr;gap:6%;align-items:center}
 .publication-followup .paper-sheet{max-width:330px}
 .publication-followup .paper-meta{margin-bottom:14px}
 .publication-followup .paper-links{margin-top:18px}
 .publication-followup .reveal{opacity:1;transform:none;transition:none}
}
/* Shared category and rules across every publication frame. */
#publications .paper-category{border-bottom:2px solid rgba(184,203,235,.25);padding:12px 0}
#publications .paper-category>span:first-child{font-family:Arial,Helvetica,sans-serif;font-size:25px;font-weight:600;letter-spacing:.1px;line-height:1.4;color:#d3e2f8}
#publications .paper{border-bottom:2px solid rgba(184,203,235,.25)}
#publications .publication-followup .paper-summary{line-height:1.85}
#publications .publication-followup .paper-info h3{margin-bottom:18px}
#publications .publication-followup .paper-meta{margin-bottom:22px;line-height:1.8}
#publications .publication-followup .paper-links{margin-top:26px}
#publications #paper-teaching .paper-summary,#publications #paper-glass .paper-summary{line-height:1.95}
/* Closing note: edits deliberately scoped below the final paper's separator. */
#publications .closing-note{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center;padding:56px 24px 32px;max-width:1100px;margin:0 auto}
.closing-note h2{margin:0;font-size:clamp(36px,3.6vw,58px);font-weight:600;line-height:1.13;letter-spacing:-.055em;color:#f3f5fa}
.closing-note h2 span{background:linear-gradient(105deg,#edf2fb 5%,#bdcce7 55%,#8eaedc);background-clip:text;-webkit-background-clip:text;color:transparent}
.closing-note p{font-size:clamp(17px,1.35vw,21px);line-height:1.7;font-weight:400;letter-spacing:-.2px;color:#abb8cd;margin:25px 0 28px;max-width:780px}
#publications .closing-note>a{display:inline-flex;align-items:center;gap:12px;font-size:16px;font-weight:500;letter-spacing:.1px;color:#d5e4fb;padding:10px 0;border-bottom:1px solid #a9c9ff50;transition:color .2s,border-color .2s}
#publications .closing-note>a:hover{color:#fff;border-color:#d5e4fb}
.closing-note>a span{transition:transform .2s}
.closing-note>a:hover span{transform:translate(2px,-2px)}
.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:30px 7.7%;font-size:14px;line-height:1.6;border-top:1px solid rgba(184,203,235,.22)}
.site-footer>a:first-child{justify-self:start;font-weight:600;color:#d9e1ee}
.site-footer>span{color:#9baac0;text-align:center}
.site-footer>a:last-child{justify-self:end;color:#bdcfe9}
@media(max-width:700px){#publications .closing-note{padding:42px 0 16px}.closing-note h2{font-size:36px}.closing-break{display:none}.closing-note p{font-size:17px;margin:22px 0}.site-footer{grid-template-columns:1fr auto;padding:26px 25px;gap:14px;font-size:13px}.site-footer>span{grid-row:2;grid-column:1/-1;text-align:left}.site-footer>a:last-child{grid-column:2;grid-row:1}}
/* More balanced paper spacing, anchored higher in the viewport. */
#publications .paper-visual figcaption{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:500;letter-spacing:.9px;color:#a5b6ce}
#publications .closing-note p{margin-bottom:0}
@media(min-width:1001px){
 .publication-followup{align-items:flex-start;padding-top:90px;padding-bottom:36px}
 .publication-followup .publication-content{transform-origin:top center}
 #publications .publication-followup .paper-category{padding-top:12px;padding-bottom:18px}
 #publications .publication-followup .paper{padding-top:54px;padding-bottom:48px}
 #publications .publication-followup .paper-info .date{margin-bottom:22px}
 #publications .publication-followup .paper-info h3{margin-bottom:20px}
 #publications .publication-followup .paper-meta{margin-bottom:25px}
 #publications .publication-followup .paper-links{margin-top:28px}
}
