/* Smart Infrastructure Lab — adapted from Story by HTML5 UP (CC BY 3.0). */
:root{--ink:#142d43;--text:#344755;--muted:#5b6a75;--accent:#28666a;--line:#dce3e5;--soft:#f5f7f7;--paper:#fff;--font:"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif;--header:84px}
html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}
body{margin:0;min-width:320px;background:var(--paper);color:var(--text);font-family:var(--font);font-size:1rem;font-weight:400;line-height:1.8;-webkit-font-smoothing:antialiased}
body,input,select,textarea,button{font-family:var(--font);font-weight:400}
*{box-sizing:border-box}img{max-width:100%}button,input,select,textarea{font-size:1rem}button,summary,a{-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}h1,h2,h3,h4,h5,h6{color:var(--ink);font-weight:400;letter-spacing:-.035em;line-height:1.25;overflow-wrap:anywhere}
h1{font-size:clamp(2.5rem,4.8vw,4.7rem)}h2{font-size:clamp(1.9rem,3vw,2.9rem)}h3{font-size:1.45rem}p{margin:0 0 1.3em}strong,b{font-weight:650;color:inherit}a{color:var(--accent);text-underline-offset:4px;transition:color .18s ease}a:hover{color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #367a83!important;outline-offset:5px;box-shadow:none!important}
section[id],h2[id],h3[id],details[id]{scroll-margin-top:calc(var(--header) + 24px)}
main:focus{outline:0}html[lang=ko] h1,html[lang=ko] h2,html[lang=ko] h3,html[lang=ko] p,html[lang=ko] li{word-break:keep-all;overflow-wrap:anywhere}
.wrapper.style1>.inner,.section-shell{width:calc(100% - 112px);max-width:1240px;margin-inline:auto}.wrapper.style1>.inner{padding:5rem 0}.eyebrow{font-size:.7rem;font-weight:650;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 1.4rem}.text-link{display:inline-flex;align-items:baseline;gap:.75em;font-size:.88rem;font-weight:600;line-height:1.5;text-decoration:none;border-bottom:1px solid #9cb8b9;padding-bottom:4px;max-width:100%;overflow-wrap:anywhere}.text-link>span{flex-shrink:0}.button,button.button{display:inline-flex;align-items:center;justify-content:center;gap:1.4rem;padding:1rem 1.7rem;height:auto;min-height:48px;border-radius:50px;border:1px solid var(--ink);box-shadow:none!important;font-size:.84rem;font-weight:600;letter-spacing:.015em;line-height:1.3;text-transform:none;text-decoration:none;color:var(--ink);white-space:normal}.button:hover{border-color:var(--accent);background:#edf3f2;color:var(--accent)!important}.button.primary{background:var(--ink);border-color:var(--ink);color:white!important}.button.primary:hover{background:var(--accent);border-color:var(--accent)}.section-number{display:block;font-size:.78rem;letter-spacing:.08em;color:var(--accent);margin-bottom:2rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem}.section-heading h2{margin:0}.section-heading>.text-link{flex-shrink:0;margin-bottom:.35rem}.section-intro{max-width:670px;margin:1.25rem 0 0;color:var(--muted)}.soft-section{background:var(--soft)}

/* Clear navigation, with an expanded fallback when JavaScript is unavailable. */
.skip-link{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--ink);color:white;padding:12px 20px}.skip-link:focus{top:12px;color:white}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{position:relative;max-width:1536px;margin:auto;padding:0 40px;min-height:calc(var(--header) - 1px);display:flex;justify-content:space-between;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);flex-shrink:0}.brand-mark{position:relative;width:43px;height:43px;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;letter-spacing:-1px;line-height:1}.brand-mark>span{position:absolute;right:-6px;bottom:-5px;background:white;color:var(--accent);font-size:23px;line-height:1}.brand-name{font-size:.96rem;letter-spacing:-.02em;font-weight:600;line-height:1.4}.brand-name small{display:block;font-size:.6rem;font-weight:500;letter-spacing:.18em;margin-top:5px;color:var(--muted)}.site-nav{display:flex;align-items:center;gap:22px}.site-nav a{color:var(--ink);font-size:.81rem;font-weight:500;line-height:1.5;text-decoration:none;white-space:nowrap;padding:8px 0;position:relative}.site-nav a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent)}.site-nav a:hover{color:var(--accent)}.site-nav .join-nav{border:1px solid var(--line);padding:9px 14px;border-radius:30px}.site-nav .language-link{border-left:1px solid var(--line);padding-left:18px;font-size:.76rem}.menu-toggle{display:none;align-items:center;gap:12px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:30px;min-height:44px;padding:8px 16px;font-size:.85rem;line-height:1.4;letter-spacing:0;text-transform:none;box-shadow:none}.menu-icon{width:17px;height:10px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.menu-toggle[aria-expanded=true] .menu-icon{border-bottom:0;transform:rotate(45deg);height:0}

/* Story's split banner and alternating image spotlights. */
.banner.style1.home-hero{min-height:660px;align-items:stretch}.banner.style1.home-hero>.content{padding:5rem clamp(2.4rem,5vw,6rem);width:52%;max-width:none;flex:0 0 52%;align-self:center}.home-hero .eyebrow{margin-bottom:2rem}.home-hero h1{margin-bottom:1.6rem;font-size:clamp(2.7rem,4.5vw,4.65rem);line-height:1.1;letter-spacing:-.05em}.home-hero h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--accent)}.home-hero p.major{font-size:1.05rem;line-height:1.85;max-width:510px;margin-bottom:2rem}.banner.style1.home-hero>.image{width:48%;flex:0 0 48%;position:relative;min-height:660px;background:#e5e9e8}.banner.style1.home-hero>.image img{object-fit:cover;object-position:center 67%}.photo-note{position:absolute;bottom:20px;left:20px;right:20px;font-size:.58rem;letter-spacing:.12em;background:rgba(20,45,67,.82);color:white;line-height:1.6;padding:9px 13px;max-width:max-content}.hero-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.hero-location{font-size:.65rem;letter-spacing:.15em;color:var(--muted);margin:3rem 0 0}.hero-slogan{font-size:.7rem;color:var(--muted);margin:10px 0 0}.approach-band{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:30px;padding:32px 4%;border-bottom:1px solid var(--line);background:var(--soft);align-items:center}.approach-label .eyebrow{margin-bottom:5px}.approach-label>p:last-child{font-size:.77rem;line-height:1.6;color:var(--muted);max-width:260px;margin:0}.approach-step{display:flex;gap:16px;align-items:flex-start;border-left:1px solid #d2dddf;padding-left:25px}.approach-step>span{font-size:.7rem;color:var(--accent);padding-top:4px}.approach-step h2{font-size:1.28rem;letter-spacing:-.02em;margin:0 0 6px}.approach-step p{font-size:.75rem;line-height:1.7;margin:0;color:var(--muted)}
.vision-section>.inner{display:grid;grid-template-columns:1.1fr 1fr;column-gap:8%;align-items:center}.vision-section .eyebrow{grid-column:1/-1}.vision-section h2{font-size:clamp(2rem,3.7vw,3.7rem);line-height:1.2;margin-bottom:0}.vision-section h2 em{font-family:Georgia,"Times New Roman",serif;color:var(--accent)}.vision-copy>p{font-size:.96rem;line-height:1.9}.vision-copy blockquote{border-left:2px solid #b9cdcf;font-size:.93rem;font-style:normal;line-height:1.9;padding:.2rem 0 .2rem 1.3rem;margin:1.5rem 0 1.8rem;color:var(--muted)}
.featured-research>.section-shell{padding:2.5rem 0 0}.featured-research .spotlight{border-top:1px solid var(--line)}.spotlight.style1>.content{padding:4rem 5%;min-width:0}.featured-research .spotlight>.content h3{font-size:clamp(1.7rem,2.3vw,2.3rem);line-height:1.3;margin:0 0 1.5rem}.featured-research .spotlight>.content p:not(.eyebrow){font-size:.98rem;margin-bottom:1rem}.featured-research .spotlight>.content .eyebrow{font-size:.65rem;letter-spacing:.1em}.spotlight.style1>.image.research-image{width:44%;min-width:0;background:var(--soft);display:flex;align-items:center;justify-content:center;padding:35px;flex:0 0 44%}.spotlight.style1>.image.research-image img{position:static;width:100%;height:auto;max-height:360px;object-fit:contain;object-position:center}.resource-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:1.8rem}.resource-links .text-link{font-size:.8rem}.research-areas{background:var(--ink);color:#dae4e8}.research-areas h2,.research-areas h3{color:white}.research-areas .eyebrow,.research-areas .section-number{color:#bdd9d7}.research-areas .section-intro{color:#c4d2da}.research-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.research-grid article{border-top:1px solid #577080;padding-top:1.8rem;display:flex;flex-direction:column;align-items:flex-start}.research-grid .section-number{margin-bottom:1.5rem}.research-grid h3{font-size:1.45rem;line-height:1.4;margin-bottom:1.25rem}.research-grid p{font-size:.88rem;color:#dae4e8;line-height:1.85}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:8px}.tags span{font-size:.65rem;line-height:1.5;padding:5px 9px;border:1px solid #718794;border-radius:20px;color:#e3ecef}.news-list{border-top:1px solid #b8c7cd}.news-list article{display:grid;grid-template-columns:120px 1fr;gap:35px;padding:26px 0;border-bottom:1px solid var(--line)}.news-list time{font-size:.8rem;letter-spacing:.03em;color:var(--accent);padding-top:3px}.news-list h3{font-size:1.14rem;letter-spacing:-.02em;line-height:1.5;margin:0 0 9px}.news-list .prose{font-size:.91rem;max-width:900px}.news-list .prose p{margin:0}.news-list .text-link{margin-top:12px}.lab-photo-band{margin:0 0 2rem}.lab-photo-band>a{display:block;position:relative;color:white;text-decoration:none;background:var(--ink)}.lab-photo-band img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;object-position:center 48%}.lab-photo-band a>span{display:flex;justify-content:space-between;gap:20px;position:relative;padding:20px max(30px,calc((100vw - 1240px)/2));font-size:1rem;letter-spacing:-.01em}.people-values .items.style1.medium{margin:0;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.people-values .items.style1.medium>section{padding:1.5rem 2.5rem 0 0;width:auto;border-left:0;border-top:0;text-align:left}.people-values .items.style1.medium>section+section{border-left:1px solid var(--line);padding-left:2.5rem}.people-values .items:before,.people-values .items:after{display:none}.people-values h3{font-size:1.75rem;margin:0 0 1rem}.people-values p:not(.eyebrow){font-size:.94rem}.people-values .section-number{margin-bottom:1.5rem}.contact-section{background:var(--soft);border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}.contact-grid h2{font-size:clamp(2rem,3.5vw,3.6rem);margin:0}.contact-grid p{font-size:1rem}.contact-email{display:block;max-width:max-content;font-size:clamp(1rem,2vw,1.5rem);margin:1.6rem 0 1.4rem;text-decoration:none;border-bottom:1px solid #9cb8b9;padding-bottom:5px;overflow-wrap:anywhere}.contact-grid address{font-size:.88rem;font-style:normal;line-height:1.9;color:var(--muted)}

/* Shared document surfaces. */
.page-heading{background:var(--soft);border-bottom:1px solid var(--line)}.page-heading.wrapper.style1>.inner{padding:2rem 0 3rem}.breadcrumb{display:flex;gap:12px;font-size:.73rem;color:var(--muted);margin-bottom:2rem}.breadcrumb a{text-decoration:none}.page-heading .eyebrow{margin-bottom:1rem}.page-heading h1{font-size:clamp(2.5rem,4.5vw,4.1rem);margin:0}.page-intro{max-width:760px;font-size:1rem;margin:1.25rem 0 0;color:var(--muted)}.category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:30px}.category-heading h2{font-size:1.9rem;margin:0}.category-heading>span{font-size:.85rem;color:var(--accent)}.category-heading>p{margin:0;font-size:.87rem;color:var(--muted)}.category-nav{display:flex;flex-wrap:wrap;gap:12px 28px;border-block:1px solid var(--line);padding-block:22px}.category-nav a{display:flex;gap:12px;color:var(--ink);font-size:.84rem;text-decoration:none}.category-nav a span{color:var(--accent)}.category-nav a:hover{text-decoration:underline}.prose{font-size:1rem;line-height:1.9;overflow-wrap:anywhere}.prose h2{font-size:1.85rem;margin:2.6rem 0 1.3rem;line-height:1.4}.prose h3{font-size:1.4rem;margin:2rem 0 1rem;line-height:1.45}.prose h4{font-size:1.12rem;font-weight:600;line-height:1.5;margin:1.6rem 0 1rem}.prose p{margin-bottom:1.4rem}.prose li{padding-left:.35rem;margin-bottom:.5rem}.prose li>p{margin-bottom:.5rem}.prose img{display:block;margin:2rem auto;max-width:100%;height:auto!important;object-fit:contain}.prose blockquote{border-left:3px solid #a4bec1;padding:.2rem 0 .2rem 1.5rem;font-style:normal;color:var(--muted);margin:2rem 0}.prose ul,.prose ol{padding-left:1.4rem;margin:1.2rem 0 1.6rem}.prose pre{max-width:100%;overflow-x:auto;background:var(--soft);padding:20px}.prose code{font-size:.85em;overflow-wrap:anywhere}.prose hr{border-color:var(--line);margin:2.5rem 0}.table-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain;margin:2rem 0;border:1px solid var(--line)}.table-scroll table{width:100%;border-collapse:collapse;margin:0;font-size:.88rem;line-height:1.65}.table-scroll th,.table-scroll td{padding:13px 16px;border:1px solid var(--line);min-width:120px;vertical-align:top}.table-scroll thead th{background:#edf2f2;color:var(--ink);font-weight:600}.table-scroll tbody tr:nth-child(2n+1){background:#fafbfb}.about-body{max-width:1000px!important}.about-body>p{max-width:800px;margin-inline:auto}.about-body>div{margin-bottom:2.5rem}

/* People: expandable cards become full-width reading rows. */
.faculty-summary{display:grid;grid-template-columns:200px 1fr;gap:50px;align-items:center;padding-block:3.5rem}.faculty-photo{display:block;width:100%;max-width:280px;height:auto;max-height:360px;object-fit:contain;background:var(--soft)}.faculty-summary .faculty-photo{max-height:260px}.faculty-summary .eyebrow{margin-bottom:.7rem}.faculty-summary h2{font-size:2.2rem;margin:0 0 1rem}.faculty-summary p:not(.eyebrow){font-size:.94rem;margin-bottom:.7rem}.faculty-summary .text-link{margin-top:.8rem}.member-section.wrapper.style1>.inner{padding-top:3.5rem;padding-bottom:2rem}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 35px;align-items:start}.member-card{min-width:0}.member-portrait{width:100%;aspect-ratio:4/4.5;background:var(--soft);display:flex;align-items:center;justify-content:center}.member-photo{display:block;width:100%;height:100%;object-fit:contain;max-height:330px}.member-initial{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#6b838f}.member-info{padding-top:20px;min-width:0}.member-info>h3{font-size:1.35rem;margin:0 0 8px;line-height:1.4}.member-role{font-size:.85rem;color:var(--accent);line-height:1.6;margin-bottom:12px}.member-interests.prose{font-size:.85rem;line-height:1.8}.member-interests.prose p{margin:0 0 .6rem}.member-interests.prose ul{margin:.4rem 0 .8rem;padding-left:1.2rem}.member-details{border-top:1px solid var(--line);margin-top:18px}.member-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer;color:var(--ink);font-size:.83rem;font-weight:600;min-height:48px;padding:12px 0}.member-details>summary::-webkit-details-marker{display:none}.member-details>summary>span{font-size:1.3rem;font-weight:400}.member-details[open]>summary>span{transform:rotate(45deg)}.member-card:has(.member-details[open]){grid-column:1/-1;display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;border:1px solid var(--line);padding:30px}.member-card:has(.member-details[open]) .member-info{padding-top:0}.member-card:has(.member-details[open]) .member-portrait{aspect-ratio:4/5;max-height:310px}.member-profile.prose{font-size:.93rem;border-top:1px solid var(--line);padding-top:.5rem}.member-profile.prose h3{font-size:1.25rem;margin-top:1.5rem}.member-profile.prose h4{font-size:1rem}.member-profile .profile-publications,.member-profile .profile-patents{padding-left:1.4rem}.member-profile li{margin-bottom:1.2rem}.profile-citation-authors,.profile-citation-meta,.profile-empty{font-size:.83rem;color:var(--muted)}.faculty-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:8%;align-items:start}.faculty-layout aside{position:sticky;top:calc(var(--header) + 30px)}.faculty-layout aside h2{font-size:1.7rem;line-height:1.4;margin-bottom:20px}.faculty-layout aside .eyebrow{margin-top:1.5rem;margin-bottom:.7rem}.faculty-body.prose{font-size:.98rem}.faculty-body.prose>:first-child{margin-top:0}

/* Year-first publication browsing with progressive enhancement. */
.publication-tools{padding-block:2.5rem 1.5rem;border-bottom:1px solid var(--line)}.publication-tools form{margin:0}.search-row{display:flex;gap:20px;align-items:flex-end}.search-field{flex:1;min-width:0}.publication-tools label{display:block;font-size:.8rem;font-weight:600;color:var(--ink);margin:0 0 8px}.publication-tools input,.publication-tools select{height:50px;min-width:0;background:white;border:1px solid #8fa5ae;border-radius:4px;color:var(--ink);padding:9px 14px;box-shadow:none!important;font-size:1rem;line-height:1.5}.publication-tools input::placeholder{color:#657680;opacity:1}.year-field{width:175px}.reset-button{min-height:50px!important}.type-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.type-filters button{display:flex;align-items:center;gap:11px;min-height:42px;height:auto;border:1px solid #aabcc2;border-radius:24px;padding:9px 15px;background:white;color:var(--ink);font-size:.8rem;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.5;box-shadow:none;white-space:normal}.type-filters button>span{font-size:.75rem;opacity:.85}.type-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.type-filters button:hover{border-color:var(--accent);box-shadow:none}.additional-filters{margin-top:20px;max-width:350px}.additional-filters summary{cursor:pointer;font-size:.8rem;color:var(--accent);padding:5px 0;width:max-content;min-height:34px}.additional-filters>div{padding:15px 0 5px}.additional-filters select{width:100%}.result-count{font-size:.78rem;color:var(--muted);margin:18px 0 0}.publication-results{padding-top:3rem;padding-bottom:4rem}.publication-year{margin-bottom:3rem}.year-heading{display:flex;align-items:center;gap:18px;margin-bottom:4px}.year-heading h2{font-size:2rem;letter-spacing:-.04em;line-height:1.4;margin:0}.year-heading>span{font-size:.75rem;color:var(--muted)}.year-heading>div{flex:1;height:1px;background:var(--line)}.publication{display:grid;grid-template-columns:155px minmax(0,1fr);gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.publication-kind{font-size:.73rem;font-weight:500;color:var(--accent);padding-top:5px;line-height:1.7}.publication h3{font-size:1.1rem;line-height:1.6;font-weight:600;letter-spacing:-.015em;margin:0 0 9px}.publication h3 a{color:var(--ink);text-decoration:none}.publication h3 a:hover{text-decoration:underline;text-underline-offset:4px}.publication h3 a>span{font-size:.85rem;color:var(--accent)}.pub-authors{font-size:.87rem;line-height:1.75;margin:0 0 6px}.pub-meta{font-size:.81rem;line-height:1.75;color:var(--muted);margin:0}.publication .resource-links{margin-top:12px;gap:18px}.publication .resource-links .text-link{font-size:.75rem}.empty-results{padding:3rem 0;font-size:1.05rem;color:var(--muted)}

/* Projects, courses and applications use the same calm reading rhythm. */
.project-list article{display:grid;grid-template-columns:240px minmax(0,1fr);gap:7%;padding:35px 0;border-bottom:1px solid var(--line)}.project-list article:first-child{padding-top:0}.project-list h2{font-size:1.45rem;line-height:1.55;letter-spacing:-.025em;margin-bottom:1rem}.project-list .prose{font-size:.94rem}.project-context .section-number{margin-bottom:20px}.project-period{font-size:1rem;font-weight:500;color:var(--ink);margin-bottom:7px}.project-funding{font-size:.85rem;color:var(--muted);line-height:1.8}.current-semester{background:#f0f5f3;border-bottom:1px solid var(--line)}.current-semester h2{font-size:2.2rem;margin-bottom:2rem}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.course{border-top:1px solid #9cb5b8;padding-top:22px;min-width:0}.course .eyebrow{margin-bottom:12px;font-size:.68rem}.course h3{font-size:1.5rem;line-height:1.5}.course dl{font-size:.87rem;margin:1.5rem 0 0}.course dt{color:var(--muted);font-weight:400}.course dd{margin:4px 0 18px}.course dd p{margin:0}.course .prose{font-size:.9rem}.semester{border-block-end:1px solid var(--line);padding:0}.semester>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;gap:20px;padding:22px 0;min-height:72px}.semester>summary::-webkit-details-marker{display:none}.semester>summary h2{font-size:1.5rem;margin:0;line-height:1.5}.semester>summary>span{font-size:1.6rem;color:var(--accent)}.semester[open]>summary>span{transform:rotate(45deg)}.semester>.course-grid{padding:10px 0 35px}.admissions{display:grid;grid-template-columns:1fr 1.15fr;gap:7%;align-items:start}.admissions h2{font-size:1.9rem;line-height:1.4}.application-panel{background:var(--soft);padding:35px;border-top:3px solid var(--ink)}.application-panel p{font-size:.96rem}.application-panel ol{margin:25px 0 30px;padding-left:22px}.application-panel li{padding:6px 0 6px 4px}.application-panel .button{font-size:.85rem;gap:15px}.application-email{font-size:.85rem!important;margin:20px 0 0;overflow-wrap:anywhere}.international-panel article{border-top:1px solid var(--line);padding-top:24px;margin-top:25px}.international-panel h3{font-size:1.35rem;line-height:1.5;margin-bottom:15px}.international-panel p{font-size:.95rem}.funding-note{background:var(--soft);padding:24px;margin-top:22px}.funding-note h4{font-size:1.08rem;font-weight:600;line-height:1.5}.funding-note p{margin:0}.policy-date{font-size:.78rem!important;color:var(--muted);margin:25px 0 0}

/* Story cards and an unclipped research reading surface. */
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.blog-card{min-width:0;border:1px solid var(--line);background:white}.blog-card-link{display:flex;flex-direction:column;height:100%;color:var(--text);text-decoration:none}.blog-card-link:hover{color:var(--text);background:#f9fbfb}.blog-card img{display:block;width:100%;height:220px;object-fit:contain;padding:15px;background:var(--soft);border-bottom:1px solid var(--line)}.blog-card-content{padding:26px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.blog-card time{font-size:.74rem;color:var(--accent);letter-spacing:.02em}.blog-card h2,.blog-card h3{font-size:1.34rem;font-weight:500;line-height:1.5;letter-spacing:-.025em;margin:15px 0 17px}.blog-card p{font-size:.86rem;line-height:1.85;color:var(--muted);margin-bottom:25px}.blog-card .text-link{margin-top:auto;font-size:.78rem}.text-card{border-top:2px solid var(--ink)}.post-header{max-width:1040px;padding-block:2.5rem 2rem}.post-header>time{display:block;font-size:.8rem;color:var(--muted);margin:2rem 0 1.2rem}.post-header h1{font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.35;font-weight:450;letter-spacing:-.035em;margin-bottom:1.5rem}.post-subtitle{color:var(--muted);font-size:1rem;line-height:1.8}.post-subtitle p{margin-bottom:0}.post-body{max-width:810px;margin:auto;padding:1rem 25px 4rem;font-size:1.04rem}.post-summary{background:var(--soft);padding:28px;border-top:3px solid var(--ink);margin:0 0 2.5rem}.post-summary>h2,.post-toc>h2{font-size:1.3rem;margin:0 0 20px}.post-summary dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:15px 20px;font-size:.92rem}.post-summary dt{font-weight:600;color:var(--ink)}.post-summary dd{margin:0}.post-toc{padding:26px;border:1px solid var(--line);margin:0 0 3rem}.post-toc ul{list-style:none!important;font-size:.88rem;padding:0;margin:0}.post-toc ul ul{margin:10px 0 0;padding-left:18px;border-left:1px solid #abc2c5}.post-toc li{padding:0;margin-bottom:10px;line-height:1.7}.post-toc li:last-child{margin-bottom:0}.post-toc a{text-decoration:none}.post-toc a:hover{text-decoration:underline}.post-body .author-card{display:flex;align-items:flex-start;gap:25px;background:var(--soft);padding:25px;margin-top:3rem}.post-body .author-photo{width:95px;height:auto;max-height:140px;object-fit:contain;flex-shrink:0;margin:0}.author-info{min-width:0}.author-info h4{margin-top:0}.author-info p{font-size:.86rem;line-height:1.8}.author-contact{font-size:.82rem;display:flex;flex-wrap:wrap;gap:10px}.post-navigation{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-block:2.5rem 3.5rem}.post-navigation>a:last-child{max-width:55%;text-decoration:none;font-size:.83rem}.post-navigation strong{display:block;font-size:.94rem;font-weight:500;color:var(--ink);line-height:1.65;margin-top:12px}.image-zoom{display:block;border:0!important;box-shadow:none!important;background:transparent!important;padding:0;margin:2rem 0;width:100%;height:auto;line-height:normal;border-radius:0;cursor:zoom-in;white-space:normal}.post-body .image-zoom img{margin:0 auto}.album-index{padding-block:2rem 0}.album-index summary{cursor:pointer;font-size:.9rem;color:var(--accent);padding:10px 0;min-height:44px;width:max-content}.album-index nav{display:flex;gap:10px 25px;flex-wrap:wrap;background:var(--soft);padding:22px;margin-top:10px}.album-index nav a{font-size:.8rem}.album-section.wrapper.style1>.inner{padding-block:3rem}.gallery.style1.album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;width:100%;margin:0;align-items:start;overflow:visible}.album-grid figure{margin:0;min-width:0}.album-grid .image{display:block;position:static;margin:0;width:100%;height:auto;text-decoration:none;cursor:zoom-in;background:var(--soft)}.album-grid img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain}.album-grid figcaption{font-size:.83rem;color:var(--muted);line-height:1.7;margin-top:12px}.dialog-open{overflow:hidden}.image-dialog{width:min(96vw,1500px);max-width:96vw;max-height:94svh;border:0;border-radius:5px;padding:20px 25px;background:white;color:var(--ink);overflow:auto}.image-dialog::backdrop{background:rgba(9,24,36,.88)}.image-toolbar{position:sticky;top:-20px;z-index:1;background:white;display:flex;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.image-toolbar h2{font-size:.9rem;margin:0 auto 0 0}.image-toolbar a{font-size:.8rem}.image-toolbar button{font-size:.8rem;color:white;background:var(--ink);border:0;box-shadow:none;min-height:44px;height:auto;line-height:1.5;padding:10px 18px;border-radius:25px;text-transform:none;letter-spacing:0}.image-stage{min-height:150px;display:flex;align-items:center;justify-content:center;padding:20px 0}.image-stage img{display:block;max-height:72svh;width:auto;height:auto;max-width:100%;object-fit:contain}.image-caption{font-size:.84rem;text-align:center;color:var(--muted);margin:0 0 8px}

.site-footer{border-top:1px solid var(--line);padding:3.5rem 4% 1.5rem}.footer-main,.footer-bottom{max-width:1350px;margin:auto;display:flex;justify-content:space-between;gap:40px}.footer-brand{font-size:1.3rem;font-weight:500;color:var(--ink);text-decoration:none}.footer-university{font-size:.6rem;letter-spacing:.18em;color:var(--muted);margin:5px 0 20px}.footer-address{max-width:700px;font-size:.79rem;color:var(--muted);line-height:1.9}.footer-main>nav{display:flex;flex-direction:column;gap:15px;align-items:flex-start;min-width:190px;padding-top:5px}.footer-main .text-link{font-size:.8rem}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:35px;align-items:center;font-size:.7rem;color:var(--muted)}.footer-bottom p{margin:0}.footer-bottom a{color:var(--muted)}.footer-bottom>a{flex-shrink:0;text-decoration:none}

@media(max-width:1180px){.header-inner{padding-inline:30px;flex-wrap:wrap}.menu-toggle:not([hidden]){display:flex}.site-nav{width:100%;padding:0 0 20px;flex-wrap:wrap;gap:10px 22px}.site-nav.collapsible{display:none;position:absolute;top:100%;left:0;right:0;width:100%;padding:18px 30px 25px;background:white;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #142d430b;max-height:calc(100svh - var(--header));overflow:auto}.site-nav.collapsible.is-open{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 20px}.site-nav a{padding:10px 0;font-size:.9rem}.site-nav .join-nav{border:0;padding:10px 0}.site-nav .language-link{border:0;padding-left:0}.home-hero h1{font-size:clamp(2.7rem,4.7vw,3.7rem)}.banner.style1.home-hero>.content{padding:4rem 3.5%}.banner.style1.home-hero,.banner.style1.home-hero>.image{min-height:610px}.approach-band{grid-template-columns:repeat(3,minmax(0,1fr))}.approach-label{grid-column:1/-1}.approach-label>p:last-child{max-width:none}.approach-step{padding-left:18px}.research-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.blog-grid{gap:20px}.blog-card-content{padding:22px}.member-grid{gap:35px 25px}.member-portrait{aspect-ratio:4/5}.project-list article{grid-template-columns:200px minmax(0,1fr)}.faculty-layout{gap:6%;grid-template-columns:220px minmax(0,1fr)}}
@media(min-width:1181px){.menu-toggle{display:none!important}}
@media(max-width:900px){.wrapper.style1>.inner,.section-shell{width:calc(100% - 64px)}.wrapper.style1>.inner{padding-block:3.5rem}.banner.style1.home-hero{flex-direction:column;min-height:0}.banner.style1.home-hero>.content{width:100%;flex:auto;padding:3.5rem 8%}.home-hero h1{font-size:3.7rem;line-height:1.1}.home-hero p.major{max-width:650px}.hero-location{margin-top:2.2rem}.banner.style1.home-hero>.image{width:100%;flex:auto;min-height:0;height:auto;aspect-ratio:16/10}.banner.style1.home-hero>.image img{position:static;width:100%;height:100%;object-position:center 65%}.vision-section>.inner{column-gap:6%}.vision-section h2{font-size:2.5rem}.vision-copy>p{font-size:.9rem}.featured-research .spotlight>.content{padding:3rem 4%}.spotlight.style1>.image.research-image{padding:20px;width:42%;flex-basis:42%}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-grid .blog-card:last-child:nth-child(odd){grid-column:1/-1}.blog-card.text-card:last-child:nth-child(odd) .blog-card-content{max-width:800px}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-portrait{aspect-ratio:4/4.5}.member-card:has(.member-details[open]){grid-template-columns:190px minmax(0,1fr);gap:25px;padding:24px}.faculty-summary{grid-template-columns:160px minmax(0,1fr);gap:35px}.faculty-layout{grid-template-columns:1fr}.faculty-layout aside{position:static;display:grid;grid-template-columns:180px minmax(0,1fr);column-gap:30px;align-content:start;margin-bottom:25px}.faculty-layout aside img{grid-row:1/4}.faculty-layout aside .eyebrow{margin-top:15px}.faculty-layout aside h2{align-self:start}.faculty-layout aside .text-link{align-self:start;width:max-content;max-width:100%}.publication{grid-template-columns:125px minmax(0,1fr);gap:20px}.project-list article{grid-template-columns:165px minmax(0,1fr);gap:5%}.admissions{grid-template-columns:1fr;gap:40px}.application-panel{max-width:700px}.people-values .items.style1.medium>section{padding-right:1.5rem}.people-values .items.style1.medium>section+section{padding-left:1.5rem}.contact-grid{gap:6%}.contact-grid h2{font-size:2.5rem}.gallery.style1.album-grid{gap:24px}.footer-main{gap:30px}}
@media(max-width:600px){:root{--header:74px}.header-inner{padding-inline:20px;gap:12px}.brand{gap:10px}.brand-mark{width:34px;height:36px;font-size:19px}.brand-mark>span{font-size:20px}.brand-name{font-size:.78rem;letter-spacing:-.035em}.brand-name small{font-size:.51rem;letter-spacing:.13em;margin-top:4px}.menu-toggle{font-size:.75rem;gap:8px;padding:8px 12px}.menu-icon{width:14px}.site-nav.collapsible{padding:16px 24px 22px}.site-nav.collapsible.is-open{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.wrapper.style1>.inner,.section-shell{width:calc(100% - 40px)}.wrapper.style1>.inner{padding-block:3rem}.eyebrow{font-size:.63rem;margin-bottom:1.2rem}.section-heading{display:block;margin-bottom:2rem}.section-heading h2{font-size:1.9rem;line-height:1.35}.section-heading>.text-link{margin-top:1.5rem}.section-intro{font-size:.92rem}.banner.style1.home-hero>.content{padding:2.8rem 24px 2.5rem}.home-hero .eyebrow{font-size:.59rem;margin-bottom:1.6rem;letter-spacing:.12em}.home-hero h1{font-size:clamp(2.5rem,9.1vw,3.45rem);line-height:1.16;letter-spacing:-.045em;margin-bottom:1.4rem}.home-hero p.major{font-size:.95rem;line-height:1.85;margin-bottom:1.6rem}.hero-actions{gap:1.5rem}.hero-actions .button{padding:.9rem 1.35rem;font-size:.8rem}.hero-actions .text-link{font-size:.8rem}.hero-location{margin-top:1.8rem;font-size:.59rem}.banner.style1.home-hero>.image{aspect-ratio:4/3}.photo-note{font-size:.49rem;left:15px;right:15px;bottom:12px;letter-spacing:.08em;padding:7px 10px}.approach-band{padding:26px 22px;gap:20px 10px}.approach-label .eyebrow{font-size:.61rem}.approach-label>p:last-child{font-size:.7rem}.approach-step{display:block;padding-left:10px}.approach-step>span{display:block;margin-bottom:7px;font-size:.65rem}.approach-step h2{font-size:.97rem}.approach-step p{font-size:.63rem;line-height:1.8}.vision-section>.inner{display:block}.vision-section h2{font-size:2.5rem;line-height:1.2;margin-bottom:2rem}.vision-copy>p{font-size:.93rem}.vision-copy blockquote{font-size:.88rem}.featured-research>.section-shell{padding-top:0}.featured-research .spotlight.style1{flex-direction:column-reverse}.featured-research .spotlight.style1>.content{width:100%;padding:2.2rem 24px 2.5rem}.featured-research .spotlight>.content h3{font-size:1.65rem;line-height:1.4}.featured-research .spotlight>.content p:not(.eyebrow){font-size:.94rem}.spotlight.style1>.image.research-image{width:100%;flex:auto;min-height:0;padding:25px;max-height:none}.spotlight.style1>.image.research-image img{max-height:280px}.research-grid{grid-template-columns:1fr;gap:24px}.research-grid article{padding-top:1.5rem}.research-grid .section-number{margin-bottom:1rem}.research-grid h3{font-size:1.4rem;margin-bottom:1rem}.research-grid h3 br{display:none}.research-grid p{font-size:.9rem}.news-list article{grid-template-columns:1fr;gap:7px;padding:22px 0}.news-list h3{font-size:1.05rem}.news-list .prose{font-size:.88rem}.news-list time{font-size:.76rem}.blog-grid{grid-template-columns:1fr;gap:22px}.blog-grid .blog-card:last-child:nth-child(odd){grid-column:auto}.blog-card-content{padding:25px}.blog-card h2,.blog-card h3{font-size:1.35rem}.blog-card p{font-size:.88rem}.lab-photo-band{margin-bottom:0}.lab-photo-band img{max-height:none;height:auto;object-fit:contain}.lab-photo-band a>span{padding:17px 22px;font-size:.83rem}.people-values .items.style1.medium{display:block}.people-values .items.style1.medium>section,.people-values .items.style1.medium>section+section{padding:25px 0 8px;border:0;border-top:1px solid var(--line)}.people-values .section-number{margin-bottom:1rem}.people-values h3{font-size:1.55rem}.people-values p:not(.eyebrow){font-size:.94rem}.contact-grid{grid-template-columns:1fr;gap:25px}.contact-grid h2{font-size:2.25rem}.contact-grid p{font-size:.94rem}.contact-email{font-size:1.25rem}.page-heading.wrapper.style1>.inner{padding-block:1.5rem 2.5rem}.breadcrumb{font-size:.68rem;margin-bottom:1.6rem}.page-heading h1{font-size:2.7rem}.page-intro{font-size:.94rem;line-height:1.8}.category-heading{display:block;padding-bottom:18px;margin-bottom:24px}.category-heading h2{font-size:1.65rem;line-height:1.5}.category-heading>p,.category-heading>span{display:block;margin-top:8px;font-size:.8rem}.prose{font-size:.97rem}.prose h2{font-size:1.6rem}.prose h3{font-size:1.3rem}.prose blockquote{padding-left:1rem}.table-scroll th,.table-scroll td{padding:10px 12px;font-size:.82rem}.faculty-summary{grid-template-columns:100px minmax(0,1fr);gap:22px;padding-block:2.5rem;align-items:start}.faculty-summary h2{font-size:1.55rem;line-height:1.4}.faculty-summary p:not(.eyebrow){font-size:.82rem}.faculty-summary .eyebrow{font-size:.59rem}.faculty-summary .text-link{font-size:.76rem}.category-nav{padding-block:20px;gap:12px 20px}.category-nav a{font-size:.78rem}.member-section.wrapper.style1>.inner{padding-top:2.5rem;padding-bottom:1rem}.member-grid{grid-template-columns:1fr;gap:30px}.member-portrait{aspect-ratio:4/4.2;max-height:340px}.member-photo{max-height:340px}.member-info{padding-top:18px}.member-info>h3{font-size:1.4rem}.member-role{font-size:.87rem}.member-interests.prose{font-size:.9rem}.member-card:has(.member-details[open]){display:block;padding:18px;grid-column:auto}.member-card:has(.member-details[open]) .member-portrait{max-height:300px;aspect-ratio:4/4}.member-card:has(.member-details[open]) .member-info{padding-top:20px}.member-profile.prose{font-size:.9rem}.faculty-layout aside{grid-template-columns:115px minmax(0,1fr);gap:0 22px}.faculty-layout aside h2{font-size:1.5rem;margin-bottom:13px}.faculty-layout aside .text-link{font-size:.75rem}.publication-tools{padding-top:1.7rem}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px}.search-field{grid-column:1/-1}.year-field{width:auto;min-width:0}.publication-tools input,.publication-tools select{font-size:1rem}.reset-button{padding-inline:20px!important}.type-filters{gap:8px;margin-top:20px}.type-filters button{font-size:.74rem;gap:7px;padding:8px 12px;min-height:42px}.type-filters button>span{font-size:.7rem}.publication-results{padding-block:2rem}.publication-year{margin-bottom:2rem}.year-heading h2{font-size:1.8rem}.publication{grid-template-columns:1fr;gap:9px;padding-block:23px}.publication-kind{font-size:.7rem;padding:0}.publication h3{font-size:1.04rem;line-height:1.65}.pub-authors{font-size:.85rem}.pub-meta{font-size:.79rem}.project-list article{grid-template-columns:1fr;gap:12px;padding-block:28px}.project-context{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 15px}.project-context .section-number,.project-period,.project-funding{margin:0}.project-context .section-number{font-size:.68rem}.project-period{font-size:.87rem}.project-funding{font-size:.8rem}.project-list h2{font-size:1.3rem}.project-list .prose{font-size:.92rem}.course-grid{grid-template-columns:1fr;gap:30px}.current-semester h2{font-size:1.9rem}.course h3{font-size:1.4rem}.semester>summary h2{font-size:1.3rem}.admissions h2{font-size:1.65rem}.application-panel{padding:25px 22px}.application-panel .button{font-size:.8rem;max-width:100%}.international-panel h3{font-size:1.25rem}.international-panel p{font-size:.93rem}.funding-note{padding:20px}.post-header{padding-top:2rem;padding-bottom:1.4rem}.post-header h1{font-size:2rem;line-height:1.4}.post-subtitle{font-size:.94rem}.post-header>time{margin-top:1.5rem}.post-body{font-size:.98rem;padding:1rem 20px 3rem}.post-summary,.post-toc{padding:22px;margin-bottom:2rem}.post-summary>h2,.post-toc>h2{font-size:1.2rem}.post-summary dl{grid-template-columns:1fr;gap:7px;font-size:.89rem}.post-summary dd{margin-bottom:12px}.post-toc ul{font-size:.84rem}.post-body .author-card{display:block;padding:20px}.post-body .author-photo{margin-bottom:18px}.post-navigation{flex-direction:column;gap:25px;padding-block:2rem}.post-navigation>a:last-child{max-width:none}.gallery.style1.album-grid{grid-template-columns:1fr;gap:28px}.album-grid img{max-height:none}.album-grid figcaption{font-size:.8rem}.album-section.wrapper.style1>.inner{padding-block:2.2rem}.album-index nav{padding:18px;display:grid;gap:13px}.image-dialog{padding:12px 15px;max-height:94svh}.image-toolbar{top:-12px;gap:12px;flex-wrap:wrap;padding:8px 0}.image-toolbar h2{font-size:.78rem}.image-toolbar a{font-size:.73rem;order:3;width:100%}.image-toolbar button{font-size:.76rem;padding:9px 15px}.image-caption{font-size:.77rem}.site-footer{padding:2.5rem 22px 1.5rem}.footer-main{display:block}.footer-brand{font-size:1.2rem}.footer-main>nav{margin-top:28px;gap:14px}.footer-address{font-size:.78rem}.footer-bottom{display:block;font-size:.67rem;line-height:1.8}.footer-bottom>a{display:inline-block;margin-top:20px}.footer-bottom p{max-width:95%}}
/* Story normally paints banner images through its jQuery background helper. Keep semantic images visible without that dependency. */
.banner.style1.home-hero>.image img{display:block}
.type-filters button{color:var(--ink)!important}
.type-filters button[aria-pressed=true],.type-filters button[aria-pressed=true]:hover,.image-toolbar button{color:#fff!important}
.type-filters button[aria-pressed=true]>span{opacity:1}
.faculty-photo{aspect-ratio:4/5;object-fit:cover;object-position:68% 50%}
.news-list h2{font-size:1.14rem;letter-spacing:-.02em;line-height:1.5;margin:0 0 9px}
.menu-toggle,.menu-toggle:hover,.menu-toggle:active{color:var(--ink)!important}
.banner.style1.home-hero>.image img{object-position:100% 50%}
.method-section.spotlight.style1{border-bottom:1px solid var(--line);background:var(--soft)}
.method-section.spotlight.style1>.content{padding:3rem 5%;width:56%;flex:1;align-self:center}
.method-section .approach-label{margin-bottom:25px}
.method-section .approach-label>p:last-child{max-width:520px;font-size:.86rem}
.method-section .approach-step{border-left:0;border-top:1px solid #ccd9dc;padding:18px 0;gap:20px}
.method-section .approach-step:last-child{padding-bottom:0}
.method-section .approach-step h2{font-size:1.35rem}
.method-section .approach-step p{font-size:.8rem}
.method-section.spotlight.style1>.image{width:44%;flex:0 0 44%;background:#dce4e4;min-height:470px}
.method-section.spotlight.style1>.image img{display:block;object-fit:cover;object-position:44% 50%}
.vision-image{grid-column:1/-1;width:100%;height:340px;object-fit:cover;object-position:50% 45%;margin:0 0 3rem}
.research-grid .research-area-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:0 0 1.5rem}
.research-grid article{border-top:0;padding-top:0}
.research-grid .section-number{margin-bottom:1.25rem}
.about-visual{padding-top:3rem}
.about-visual img{display:block;width:100%;max-height:460px;object-fit:cover;object-position:center}
@media(max-width:900px){.method-section.spotlight.style1>.content{padding:2.5rem 4%}.method-section.spotlight.style1>.image{min-height:450px}.vision-image{height:290px}.method-section .approach-label>p:last-child{font-size:.8rem}}
@media(max-width:600px){.method-section.spotlight.style1{flex-direction:column}.method-section.spotlight.style1>.content{width:100%;padding:2.2rem 24px;align-self:auto}.method-section.spotlight.style1>.image{width:100%;flex:auto;min-height:0;aspect-ratio:3/2}.method-section.spotlight.style1>.image img{position:static;width:100%;height:100%}.method-section .approach-step{display:flex;padding:16px 0}.method-section .approach-step>span{padding-top:4px;margin:0}.method-section .approach-step h2{font-size:1.2rem}.method-section .approach-step p{font-size:.78rem}.vision-image{height:auto;aspect-ratio:3/2;margin-bottom:2rem}.research-grid .research-area-image{aspect-ratio:3/2}.about-visual{padding-top:2rem}.about-visual img{height:auto;max-height:none}}
/* Home moves between viewport-sized sections. Oversized sections keep their natural height. */
html.snap-page{scroll-snap-type:y mandatory;scroll-padding-top:var(--header)}
.snap-page .scroll-panel{min-height:calc(100svh - var(--header));scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:0}
.snap-page .banner.home-hero{min-height:calc(100svh - var(--header))}
.snap-page .wrapper.scroll-panel{display:flex;align-items:center}
.snap-page .banner.home-hero>.image{min-height:0}
.snap-page .method-section>.image{align-self:stretch}
.snap-page .vision-section>.inner{padding-block:clamp(2rem,5svh,4rem)}
.snap-page .vision-image{height:clamp(180px,29svh,340px);margin-bottom:2rem}
.snap-page .lab-photo-band{display:flex;align-items:center;margin:0;background:var(--ink)}
.snap-page .lab-photo-band>a{width:100%}
.snap-page .site-footer{scroll-snap-align:end;scroll-snap-stop:always}
.scroll-cue{display:inline-flex;gap:1rem;align-items:center;margin-top:1.8rem;font-size:.7rem;letter-spacing:.08em;text-decoration:none;color:var(--muted);min-height:36px}
.scroll-cue span{font-size:1.25rem;color:var(--accent)}

/* Compact directory: six people per desktop row, with the complete profile on demand. */
body[data-route="members"] .page-heading>.inner{padding-block:1.25rem 1.75rem}
body[data-route="members"] .page-heading .eyebrow{display:none}
body[data-route="members"] .breadcrumb{margin-bottom:1rem}
body[data-route="members"] .page-heading h1{font-size:2.8rem}
body[data-route="members"] .page-intro{margin-top:.8rem}
.faculty-summary{grid-template-columns:100px minmax(0,1fr);gap:30px;padding-block:1.6rem}
.faculty-summary .faculty-photo{max-height:125px}
.faculty-summary h2{font-size:1.6rem;margin-bottom:.6rem}
.faculty-summary p:not(.eyebrow){font-size:.82rem;margin-bottom:.4rem}
.faculty-summary .text-link{font-size:.78rem;margin-top:.4rem}
.member-section.wrapper.style1>.inner{padding-block:2rem 1.5rem}
.member-section .category-heading{margin-bottom:24px;padding-bottom:16px}
.member-section .category-heading h2{font-size:1.55rem}
.member-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 22px}
.member-portrait{aspect-ratio:auto;height:150px;max-height:none}
.member-photo{height:100%;max-height:none;object-fit:contain}
.member-initial{font-size:1.5rem}
.member-info{padding-top:13px}
.member-info>h3{font-size:1.02rem;line-height:1.4;margin-bottom:5px}
.member-role{font-size:.78rem;line-height:1.6;min-height:3.2em;margin-bottom:0}
.member-interests.prose{font-size:.78rem}
.member-details{margin-top:8px}
.member-details>summary{font-size:.74rem;min-height:44px;padding:9px 0}
.member-card:has(.member-details[open]){grid-template-columns:160px minmax(0,1fr);gap:30px;padding:26px}
.member-card:has(.member-details[open]) .member-portrait{height:200px;max-height:none;aspect-ratio:auto}
.member-card:has(.member-details[open]) .member-role{min-height:0;margin-bottom:12px}
@media(max-width:1180px){.member-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.member-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}.snap-page .banner.home-hero>.image{flex:none}.snap-page .home-hero>.content{flex:1}.snap-page .vision-image{height:auto;aspect-ratio:16/7}.research-panel>.section-shell{padding-top:2rem}}
@media(max-width:600px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.member-portrait{height:132px}.member-info>h3{font-size:1rem}.member-role{font-size:.76rem}.member-card:has(.member-details[open]){grid-column:1/-1;display:block;padding:18px}.member-card:has(.member-details[open]) .member-portrait{width:128px;height:165px}.member-card:has(.member-details[open]) .member-info{padding-top:16px}.faculty-summary{grid-template-columns:80px minmax(0,1fr);gap:20px}.faculty-summary .faculty-photo{max-height:100px}.faculty-summary h2{font-size:1.35rem}.snap-page .vision-image{aspect-ratio:3/2}.scroll-cue{margin-top:1rem}.research-panel>.section-shell{width:calc(100% - 48px)}}
/* A shared English display voice and locally hosted Korean serif text. */
:root{--font:"Noto Serif KR",Georgia,"Times New Roman",serif;--font-ko:"Noto Serif KR","Batang",serif}
:lang(ko){font-family:var(--font-ko)}
:lang(en){font-family:var(--font)}
.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.featured-study{min-width:0;display:flex;flex-direction:column}
.featured-study .study-image{display:block;width:100%;height:145px;object-fit:contain;background:var(--soft);padding:10px;margin-bottom:20px}
.featured-study .eyebrow{font-size:.58rem;letter-spacing:.04em;line-height:1.7;margin-bottom:12px}
.featured-study h3{font-size:1.2rem;line-height:1.4;margin-bottom:14px}
.featured-study>p:not(.eyebrow){font-size:.8rem;line-height:1.8;margin-bottom:12px}
.featured-study .resource-links{gap:10px 16px;margin-top:auto;padding-top:8px}
.featured-study .text-link{font-size:.72rem}
.publication-tools .additional-filters.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:none;margin-top:22px}
.publication-tools .additional-filters.filter-grid>div{min-width:0;padding:0}
.publication-tools .additional-filters.filter-grid select{width:100%}
.page-dots{position:fixed;right:15px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;padding:7px 2px;border:1px solid #dce3e5;background:rgba(255,255,255,.93);border-radius:30px;box-shadow:0 2px 12px #142d4308}
.page-dots a{display:flex;align-items:center;justify-content:center;width:24px;height:24px;text-decoration:none;border:0;border-radius:50%}
.page-dots a>span{display:block;width:6px;height:6px;border:1px solid var(--accent);border-radius:50%;transition:background .15s,transform .15s}
.page-dots a[aria-current]>span{background:var(--accent);transform:scale(1.45)}
.page-dots a:hover>span{background:var(--accent)}
.faculty-summary{grid-template-columns:220px minmax(0,1fr);gap:55px;padding-block:2.5rem}
.faculty-summary .faculty-photo{width:220px;height:275px;max-height:none}
.faculty-summary h2{font-size:2.4rem;margin-bottom:1rem}
.faculty-summary p:not(.eyebrow){font-size:.96rem;margin-bottom:.75rem}
.faculty-summary .text-link{font-size:.86rem;margin-top:.75rem}
.member-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px}
.member-pair .member-section>.inner{width:100%;max-width:none}
.member-pair .member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.member-pair .member-portrait{height:165px}
.member-pair:has(.member-details[open]){grid-template-columns:1fr}

/* Select an activity, then fit its complete photo collection into the available space. */
body[data-route="album"] .page-heading>.inner{padding-block:1.25rem 1.5rem}
body[data-route="album"] .page-heading .eyebrow{display:none}
body[data-route="album"] .breadcrumb{margin-bottom:.8rem}
body[data-route="album"] .page-heading h1{font-size:2.8rem}
body[data-route="album"] .page-intro{margin-top:.7rem}
.album-browser{display:grid;grid-template-columns:230px minmax(0,1fr);gap:35px;margin-block:24px}
.album-browser.is-ready{height:var(--album-room,calc(100svh - 300px))}
.album-sidebar{min-width:0;min-height:0}
.album-sidebar>.eyebrow{font-size:.65rem;margin-bottom:14px}
.album-sidebar nav{display:flex;flex-direction:column;gap:2px}
.album-sidebar nav a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 12px;font-size:.76rem;line-height:1.6;text-decoration:none;color:var(--text);border-radius:4px}
.album-sidebar nav a small{flex-shrink:0;font-size:.66rem;color:var(--muted)}
.album-sidebar nav a[aria-current]{background:var(--ink);color:white}
.album-sidebar nav a[aria-current] small{color:white}
.album-sidebar nav a:hover{background:var(--soft);color:var(--ink)}
.album-sidebar nav a[aria-current]:hover{background:var(--accent);color:white}
.album-browser.is-ready .album-sidebar{overflow-y:auto;scrollbar-width:thin;padding-right:8px}
.album-selector{display:none}
.album-panels{min-width:0;min-height:0}
.album-panel{min-width:0;margin-bottom:3rem;scroll-margin-top:calc(var(--header) + 24px)}
.album-browser.is-ready .album-panel{height:100%;display:flex;flex-direction:column;margin:0}
.album-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:18px;flex-shrink:0}
.album-heading h2{font-size:1.5rem;line-height:1.4;margin:0 0 8px}
.album-heading p{font-size:.8rem;line-height:1.7;color:var(--muted);margin:0}
.album-heading>span{font-size:.72rem;color:var(--accent);white-space:nowrap}
.album-browser .gallery.style1.album-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.album-browser.is-ready .gallery.style1.album-grid{flex:1;min-height:0;grid-template-columns:repeat(var(--album-cols,4),minmax(0,1fr));grid-template-rows:repeat(var(--album-rows,1),minmax(0,1fr))}
.album-browser.is-ready .album-grid figure{display:flex;flex-direction:column;min-height:0}
.album-browser.is-ready .album-grid .image{flex:1;min-height:0;height:0;overflow:hidden}
.album-browser.is-ready .album-grid img{width:100%;height:100%;max-height:none;object-fit:contain}
.album-browser .album-grid figcaption{font-size:.68rem;line-height:1.5;margin-top:7px}
.album-browser.is-ready .album-grid figcaption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3em;max-height:3em;flex-shrink:0}
@media(max-width:1180px){.featured-grid{gap:20px}.featured-study h3{font-size:1.1rem}.member-pair{gap:35px}.album-browser{grid-template-columns:200px minmax(0,1fr);gap:25px}}
@media(max-width:900px){.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.page-dots{right:8px}.snap-page .wrapper.style1>.inner,.snap-page .section-shell{width:calc(100% - 80px);margin-left:32px;margin-right:48px}.faculty-summary{grid-template-columns:180px minmax(0,1fr);gap:35px}.faculty-summary .faculty-photo{width:180px;height:225px}.faculty-summary h2{font-size:2rem}.album-browser{grid-template-columns:175px minmax(0,1fr);gap:22px}}
@media(max-width:600px){.featured-grid{grid-template-columns:1fr}.featured-study{border-top:1px solid var(--line);padding-top:22px}.featured-study .study-image{height:170px}.featured-study h3{font-size:1.25rem}.featured-study>p:not(.eyebrow){font-size:.88rem}.page-dots{right:4px;padding:5px 1px}.page-dots a{width:22px;height:24px}.snap-page .wrapper.style1>.inner,.snap-page .section-shell{width:calc(100% - 72px);margin-left:24px;margin-right:48px}.snap-page .banner.home-hero>.content,.snap-page .method-section>.content{padding-right:48px}.snap-page .lab-photo-band a>span{padding-right:48px}.faculty-summary{grid-template-columns:120px minmax(0,1fr);gap:24px;padding-block:2rem}.faculty-summary .faculty-photo{width:120px;height:150px}.faculty-summary h2{font-size:1.55rem}.faculty-summary p:not(.eyebrow){font-size:.84rem}.member-pair{grid-template-columns:1fr;gap:0}.member-pair .member-portrait{height:140px}.album-browser{display:block;margin-block:16px 24px}.album-browser.is-ready{display:flex;flex-direction:column}.album-browser.is-ready .album-sidebar{overflow:visible;padding:0;flex-shrink:0}.album-browser.is-ready .album-sidebar>nav,.album-browser.is-ready .album-sidebar>.eyebrow{display:none}.album-browser.is-ready .album-selector{display:block;margin-bottom:16px}.album-selector label{display:block;font-size:.75rem;margin-bottom:7px}.album-selector select{width:100%;height:44px;font-size:.9rem;color:var(--ink);border:1px solid #8fa5ae;border-radius:4px;background:white;padding:8px 12px}.album-panels{flex:1}.album-heading{gap:12px;margin-bottom:12px}.album-heading h2{font-size:1.1rem}.album-heading p{font-size:.72rem}.album-heading>span{font-size:.65rem}.album-browser .gallery.style1.album-grid{gap:10px}.album-browser .album-grid figcaption{font-size:.61rem}body[data-route="album"] .page-heading>.inner{padding-block:1rem}body[data-route="album"] .page-heading h1{font-size:2.2rem}body[data-route="album"] .page-intro{font-size:.85rem}}
/* Five compact home panels; the lead banner retains its original image and type sizes. */
.snap-page .scroll-panel:not(.home-hero)>.inner{padding-block:clamp(1.25rem,3.2svh,2.3rem)}
.snap-page .section-heading{margin-bottom:clamp(1.2rem,2.6svh,1.8rem)}
.snap-page .section-heading .eyebrow{font-size:clamp(1.25rem,2.8svh,1.65rem);font-weight:600;letter-spacing:.08em;line-height:1.3;margin-bottom:.65rem}
.snap-page .section-heading h2{font-size:clamp(1.25rem,3svh,1.8rem);line-height:1.35}
.snap-page .section-intro{font-size:.82rem;line-height:1.7;margin-top:.7rem}
.snap-page .research-grid{gap:24px}
.snap-page .research-grid .research-area-image{height:clamp(110px,18svh,180px);aspect-ratio:auto;margin-bottom:1rem}
.snap-page .research-grid .section-number{font-size:.66rem;margin-bottom:.8rem}
.snap-page .research-grid h3{font-size:clamp(1rem,2.1svh,1.25rem);line-height:1.4;margin-bottom:.8rem}
.snap-page .research-grid p{font-size:clamp(.74rem,1.45svh,.82rem);line-height:1.75;margin-bottom:1rem}
.snap-page .research-grid .tags{padding:0;gap:5px}
.snap-page .research-grid .tags span{font-size:.6rem;padding:4px 7px}
.snap-page .featured-grid{gap:24px}
.snap-page .featured-study .study-image{height:clamp(90px,14svh,130px);padding:8px;margin-bottom:14px}
.snap-page .featured-study .eyebrow{font-size:.56rem;margin-bottom:9px}
.snap-page .featured-study h3{font-size:clamp(.94rem,1.9svh,1.1rem);line-height:1.4;margin-bottom:10px}
.snap-page .featured-study>p:not(.eyebrow){font-size:clamp(.72rem,1.4svh,.8rem);line-height:1.7;margin-bottom:10px}
.snap-page .featured-study .resource-links{padding-top:5px;gap:8px 12px}
.snap-page .featured-study .text-link{font-size:.68rem}
.home-stories{margin-top:clamp(1rem,2.5svh,1.6rem);padding-top:15px;border-top:1px solid var(--line)}
.stories-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:12px}
.stories-heading h3{font-size:1.1rem;line-height:1.4;margin:0}
.stories-heading .text-link{font-size:.7rem}
.story-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.story-links>a{text-decoration:none;min-width:0}
.story-links time{font-size:.62rem;color:var(--muted)}
.story-links h4{font-size:.78rem;line-height:1.5;margin:4px 0 0}
.home-vision.vision-section>.inner{display:block}
.snap-page .home-vision.scroll-panel{align-items:flex-start}
.home-vision .vision-overview{display:grid;grid-template-columns:1fr .95fr;gap:40px;align-items:center}
.home-vision .vision-copy>p{font-size:.8rem;line-height:1.8;margin-bottom:.8rem}
.home-vision .vision-copy blockquote{font-size:.77rem;line-height:1.8;margin:.8rem 0;padding-left:1rem}
.home-vision .vision-copy .text-link{font-size:.72rem}
.vision-photos{display:grid;grid-template-columns:1fr;gap:15px}
.vision-thumb{display:block;width:100%;height:clamp(190px,30svh,300px);object-fit:cover;object-position:50% 45%}
.vision-method{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-top:clamp(1rem,2.4svh,1.5rem);padding-top:16px;border-top:1px solid var(--line)}
.method-label h3,.values-heading h3{font-size:1.02rem;line-height:1.4;margin:0 0 6px}
.method-label>p,.values-heading>p{font-size:.72rem;line-height:1.6;margin:0;color:var(--muted)}
.method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.vision-method .approach-step{gap:10px;border:0;padding:0}
.vision-method .approach-step>span{font-size:.62rem;padding-top:3px}
.vision-method h4{font-size:.95rem;margin:0 0 6px}
.vision-method .approach-step p{font-size:.7rem;line-height:1.65}
.vision-values{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-top:clamp(1rem,2.4svh,1.5rem);padding-top:16px;border-top:1px solid var(--line)}
.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.value-grid h4{font-size:.95rem;margin:0 0 7px}
.value-grid p{font-size:.72rem;line-height:1.75;margin:0}
.community-section{background:var(--soft)}
.community-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:start}
.community-photo{display:block;text-decoration:none;background:white;color:var(--ink)}
.community-photo img{display:block;width:100%;height:clamp(180px,29svh,300px);object-fit:cover;object-position:center}
.community-photo>span{display:flex;justify-content:space-between;padding:12px 16px;font-size:.74rem}
.home-news .news-list article{grid-template-columns:72px minmax(0,1fr);gap:15px;padding:10px 0}
.home-news .news-list time{font-size:.68rem}
.home-news .news-list h4{font-size:.9rem;line-height:1.5;margin:0 0 6px}
.home-news .news-list .prose{font-size:.74rem;line-height:1.7}
.home-news .news-list .text-link{font-size:.67rem;margin-top:8px}
.community-contact{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;border-top:1px solid #c7d4d8;margin-top:clamp(1rem,2.4svh,1.5rem);padding-top:20px}
.community-contact .eyebrow{font-size:1rem;margin-bottom:.6rem}
.community-contact h3{font-size:1.65rem;line-height:1.35;margin:0;max-width:420px}
.community-contact p:not(.eyebrow){font-size:.77rem;line-height:1.75;margin-bottom:10px}
.contact-links{display:flex;gap:25px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}
.community-contact .contact-email{font-size:.98rem;margin:0;padding-bottom:2px}
.community-contact .text-link{font-size:.7rem}
.community-contact address{font-size:.7rem;line-height:1.7;color:var(--muted);font-style:normal}
.member-photo[data-original$="siheon-joo.jpg"]{object-fit:cover;object-position:50% 30%}
@media(max-width:900px){.home-vision .vision-overview{gap:24px}.vision-method,.vision-values{grid-template-columns:1fr;gap:16px}.community-grid,.community-contact{gap:25px}.home-news .news-list article{grid-template-columns:1fr;gap:5px}.community-contact h3{font-size:1.5rem}}
@media(min-width:601px) and (max-width:900px){.snap-page .research-grid .research-area-image{height:185px}}
@media(min-width:901px) and (max-height:700px){.snap-page .scroll-panel:not(.home-hero)>.inner{padding-block:16px}.home-news .news-list .prose{display:none}.snap-page .featured-study .eyebrow{display:none}.home-stories{margin-top:10px;padding-top:8px}.home-stories .stories-heading{margin-bottom:8px}.story-links h4{font-size:.7rem;line-height:1.4}.vision-method,.vision-values{margin-top:12px;padding-top:10px}.home-vision .vision-copy>p,.home-vision .vision-copy blockquote{font-size:.72rem;line-height:1.7}.vision-thumb{height:160px}}
@media(max-width:600px){.snap-page .section-heading .eyebrow{font-size:1.15rem;letter-spacing:.06em}.snap-page .section-heading h2{font-size:1.4rem}.snap-page .research-grid,.snap-page .featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.snap-page .research-grid .research-area-image{height:100px;margin-bottom:12px}.snap-page .research-grid h3{font-size:1rem}.snap-page .research-grid p{font-size:.75rem}.snap-page .research-grid .tags{display:none}.snap-page .featured-study{border:0;padding-top:0}.snap-page .featured-study .study-image{height:90px}.snap-page .featured-study h3{font-size:.95rem}.snap-page .featured-study>p:not(.eyebrow){font-size:.72rem}.story-links{grid-template-columns:1fr;gap:12px}.story-links h4{font-size:.8rem}.story-links>a{display:grid;grid-template-columns:65px minmax(0,1fr);gap:12px;align-items:baseline}.home-vision .vision-overview{display:flex;flex-direction:column-reverse;gap:20px}.vision-thumb{height:110px}.method-steps,.value-grid{gap:14px}.method-label h3,.values-heading h3{font-size:1.05rem}.vision-method .approach-step{display:block}.vision-method .approach-step>span{margin-bottom:5px}.vision-method h4,.value-grid h4{font-size:.82rem}.vision-method .approach-step p,.value-grid p{font-size:.69rem}.community-grid,.community-contact{grid-template-columns:1fr;gap:22px}.community-photo img{height:auto;aspect-ratio:16/9}.home-news .news-list article{grid-template-columns:65px minmax(0,1fr);gap:12px}.community-contact h3{font-size:1.5rem}.community-contact .contact-email{font-size:.95rem}.album-browser.is-ready .album-grid figcaption{position:absolute;width:1px;height:1px;min-height:0;max-height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}}
@media print{html.snap-page{scroll-snap-type:none}.snap-page .scroll-panel,.snap-page .banner.home-hero{min-height:0;display:block}.scroll-cue,.page-dots,.album-sidebar{display:none}.album-browser.is-ready{height:auto;display:block}.album-browser .album-panel[hidden]{display:block!important}.album-browser.is-ready .album-panel{height:auto;display:block}.album-browser.is-ready .album-grid .image{height:auto}.album-browser.is-ready .album-grid img{height:auto}.album-browser.is-ready .album-grid figcaption{position:static;clip-path:none;width:auto;height:auto;max-height:none}.album-browser .gallery.style1.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.publication-tools,.post-navigation,.post-toc,.image-dialog{display:none!important}.wrapper.style1>.inner,.section-shell{width:100%;padding:1rem 0}body{font-size:11pt;color:#000}.page-heading{background:white}a{color:inherit}details::details-content{content-visibility:visible}details>summary{list-style:none}.member-card{break-inside:avoid}.post-body{max-width:none;padding:0}.publication{break-inside:avoid}}
