:root{--ink: #111318;--ink-soft: #31363c;--muted: #626a72;--line: #d9dde1;--line-strong: #b9c0c7;--paper: #ffffff;--paper-soft: #e9f0f7;--paper-warm: #f7f7f5;--university-blue: #002554;--university-green: #115740;--accent: #0057b8;--accent-dark: #002554;--shell: 1240px;--gutter: clamp(22px, 3.2vw, 48px);--header-height: 94px;--page-title-height: 146px;--section: clamp(56px, 6vw, 84px);--transition: 180ms ease;--portrait-ratio: 4 / 5;--font-sans: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:1.58;text-rendering:optimizeLegibility}img,video{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:0.2em}button,summary,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:#cde9f8;color:var(--ink)}h1,h2,h3,p,figure,ul{margin-top:0}h1,h2,h3,p{text-wrap:pretty}h1,h2,h3{font-weight:400}.shell{width:min(100%, calc(var(--shell) + (var(--gutter) * 2)));margin-inline:auto;padding-inline:var(--gutter)}.section-space{padding-block:var(--section)}.section-space--top-border{border-top:1px solid var(--line)}.eyebrow{margin-bottom:20px;color:var(--accent-dark);font-size:0.74rem;font-weight:600;letter-spacing:0.14em;line-height:1.25;text-transform:uppercase}.eyebrow--light{color:#8bc6e5}.text-link{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid currentColor;color:var(--accent-dark);font-size:0.82rem;font-weight:600;letter-spacing:0.08em;line-height:2;text-decoration:none;text-transform:uppercase;transition:color 180ms ease, gap 180ms ease}.text-link:hover{gap:19px;color:var(--accent)}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:10px 14px;background:var(--ink);color:var(--paper);transform:translateY(-160%);transition:transform 160ms ease}.skip-link:focus{transform:translateY(0)}.site-header{position:relative;z-index:100;border-bottom:1px solid var(--line);background:rgba(255,255,255,0.96)}.site-header__inner{display:flex;min-height:96px;align-items:center;justify-content:space-between;gap:36px}.wordmark{display:inline-flex;align-items:baseline;gap:9px;color:var(--ink);line-height:1;text-decoration:none;white-space:nowrap}.wordmark__primary{font-size:1.12rem;font-weight:600;letter-spacing:0.13em}.wordmark__secondary{color:var(--muted);font-size:0.72rem;font-weight:500;letter-spacing:0.12em}.desktop-nav ul,.mobile-nav ul{display:flex;margin:0;padding:0;list-style:none}.desktop-nav ul{gap:clamp(26px, 3.6vw, 58px)}.desktop-nav a{position:relative;display:block;padding-block:34px;color:var(--ink-soft);font-size:0.88rem;text-decoration:none;transition:color 180ms ease}.desktop-nav a::after{position:absolute;right:0;bottom:24px;left:0;height:2px;background:var(--accent);content:"";transform:scaleX(0);transform-origin:right;transition:transform 180ms ease}.desktop-nav a:hover,.desktop-nav a.is-active{color:var(--ink)}.desktop-nav a:hover::after,.desktop-nav a.is-active::after{transform:scaleX(1);transform-origin:left}.mobile-nav{display:none}.hero{overflow:clip;border-bottom:1px solid var(--line);background:var(--paper-soft)}.hero__grid{display:grid;min-height:min(760px, calc(100svh - 96px));grid-template-columns:minmax(0, 0.84fr) minmax(0, 1.16fr);align-items:stretch;gap:clamp(36px, 6vw, 92px)}.hero__copy{display:flex;min-width:0;padding-block:clamp(78px, 11vh, 132px);flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{max-width:680px;margin-bottom:38px;font-size:clamp(4rem, 7.2vw, 7rem);font-weight:300;letter-spacing:-0.065em;line-height:0.9}.hero__summary{max-width:560px;margin-bottom:34px;color:var(--ink-soft);font-size:clamp(1.13rem, 1.6vw, 1.42rem);line-height:1.5}.hero__media{position:relative;min-width:0;margin:clamp(38px, 5vw, 72px) 0;overflow:hidden;border-left:1px solid var(--line-strong);background:#ececf0}.hero__video,.hero__still{width:100%;height:100%;min-height:560px;object-fit:cover}.hero__video{filter:saturate(0.92) contrast(1.04)}.hero__still{display:none}.hero__media figcaption{position:absolute;right:0;bottom:0;padding:11px 15px;background:rgba(255,255,255,0.92);color:var(--muted);font-size:0.69rem;letter-spacing:0.06em;text-transform:uppercase}.mission__intro{display:grid;grid-template-columns:minmax(150px, 0.28fr) minmax(0, 0.72fr);gap:clamp(34px, 7vw, 112px)}.mission__intro h2{max-width:940px;margin-bottom:34px;font-size:clamp(2.4rem, 4.8vw, 4.9rem);font-weight:300;letter-spacing:-0.045em;line-height:1.03}.mission__lead{max-width:820px;margin-bottom:0;color:var(--ink-soft);font-size:clamp(1.2rem, 1.75vw, 1.55rem);line-height:1.58}.mission__tracks{display:grid;margin-top:clamp(72px, 8vw, 116px);border-top:1px solid var(--ink);grid-template-columns:repeat(2, minmax(0, 1fr))}.mission-track{display:grid;padding:34px 42px 18px 0;grid-template-columns:54px minmax(0, 1fr);gap:12px}.mission-track+.mission-track{padding-right:0;padding-left:42px;border-left:1px solid var(--line)}.mission-track__number{color:var(--accent-dark);font-size:0.78rem;font-weight:600;letter-spacing:0.08em}.mission-track h3{margin-bottom:20px;font-size:clamp(1.4rem, 2.1vw, 2rem);letter-spacing:-0.025em;line-height:1.2}.mission-track p{margin-bottom:0;color:var(--muted);line-height:1.72}.mission__applications{display:grid;margin-top:72px;padding-top:30px;border-top:1px solid var(--line);grid-template-columns:minmax(150px, 0.28fr) minmax(0, 0.72fr);gap:clamp(34px, 7vw, 112px)}.mission__applications p:last-child{max-width:940px;margin-bottom:0;color:var(--ink-soft);font-size:clamp(1.08rem, 1.45vw, 1.3rem);line-height:1.7}.research{background:var(--paper-warm)}.section-heading{display:flex;margin-bottom:clamp(54px, 7vw, 92px);align-items:flex-end;justify-content:space-between;gap:40px}.section-heading--bordered{margin-bottom:0;padding-bottom:30px;border-bottom:1px solid var(--ink)}.section-heading h2{margin-bottom:0;font-size:clamp(2.5rem, 5vw, 5rem);font-weight:300;letter-spacing:-0.05em;line-height:0.95}.section-heading>p{max-width:330px;margin-bottom:0;color:var(--muted);text-align:right}.research-row{display:grid;padding-block:clamp(44px, 5vw, 74px);border-top:1px solid var(--line-strong);grid-template-columns:minmax(0, 1.18fr) minmax(290px, 0.82fr);align-items:center;gap:clamp(46px, 7vw, 108px)}.research-row:last-child{padding-bottom:0}.research-row--reverse .research-row__media{order:2}.research-row__media{overflow:hidden;background:#e2e5e7}.research-row__media img{width:100%;aspect-ratio:16 / 10;object-fit:cover;transition:transform 420ms cubic-bezier(0.2, 0.75, 0.25, 1)}.research-row:hover .research-row__media img{transform:scale(1.018)}.research-row__copy{min-width:0}.research-row__number{display:block;margin-bottom:58px;color:var(--accent-dark);font-size:0.8rem;font-weight:600;letter-spacing:0.12em}.research-row h3{margin-bottom:24px;font-size:clamp(2rem, 3.6vw, 3.65rem);letter-spacing:-0.045em;line-height:1.02}.research-row p{max-width:500px;margin-bottom:0;color:var(--muted);font-size:1.04rem}.publication-list{border-bottom:1px solid var(--line)}.publication-row{display:grid;padding-block:30px;border-top:1px solid var(--line);grid-template-columns:minmax(280px, 1.55fr) minmax(240px, 1fr) minmax(150px, 0.62fr) 60px;align-items:start;gap:clamp(20px, 3vw, 44px)}.publication-list--home .publication-row:first-child{border-top:0}.publication-row__title,.publication-row__title a,.publication-row__title span{min-width:0;font-size:clamp(1.16rem, 1.7vw, 1.45rem);line-height:1.35}.publication-row__title a{text-decoration:none;transition:color 180ms ease}.publication-row__title a:hover{color:var(--accent-dark)}.publication-row p{margin-bottom:0;color:var(--muted);font-size:0.88rem;line-height:1.6}.publication-row__year{color:var(--ink) !important;text-align:right}.contact-band{padding-block:clamp(78px, 10vw, 138px);background:var(--ink);color:var(--paper)}.contact-band__grid{display:grid;grid-template-columns:minmax(0, 1.3fr) minmax(280px, 0.7fr);align-items:end;gap:clamp(48px, 8vw, 120px)}.contact-band h2{margin-bottom:0;font-size:clamp(3.8rem, 8vw, 8rem);font-weight:300;letter-spacing:-0.065em;line-height:0.88}.contact-band__details{display:flex;flex-direction:column;align-items:flex-start}.contact-band__details p{margin-bottom:30px;color:#bdc2c7;font-size:1.08rem}.contact-band__details a{margin-bottom:13px;color:var(--paper);font-size:1.1rem;text-decoration-color:#66717a;transition:color 180ms ease}.contact-band__details a:hover{color:#8bc6e5}.contact-band__details>span{color:#8e969d;font-size:0.92rem}.page-hero{padding-block:clamp(48px, 5.5vw, 76px);border-bottom:1px solid var(--line);background:var(--paper-soft);text-align:left}.page-hero__grid{display:grid;grid-template-columns:minmax(0, 1.35fr) minmax(320px, 0.65fr);align-items:end;gap:clamp(48px, 7vw, 112px)}.page-hero .eyebrow{margin-bottom:16px}.page-hero h1{margin-bottom:0;font-size:clamp(3.35rem, 5.6vw, 5.25rem);font-weight:300;letter-spacing:-0.055em;line-height:0.94}.page-hero__summary{max-width:520px;margin-bottom:2px;color:var(--ink-soft);font-size:clamp(1.05rem, 1.35vw, 1.25rem);line-height:1.55}.page-intro{max-width:780px;margin-bottom:clamp(44px, 5vw, 72px);color:var(--ink-soft);font-size:clamp(1.2rem, 1.8vw, 1.7rem);font-weight:300;line-height:1.48}.publications-index{padding-block:clamp(38px, 5vw, 72px) clamp(72px, 8vw, 112px)}.publication-catalogue__meta{display:flex;min-height:44px;padding-bottom:18px;border-bottom:1px solid var(--ink);color:var(--muted);font-size:0.72rem;font-weight:600;justify-content:space-between;letter-spacing:0.09em;line-height:1.4;text-transform:uppercase}.year-group{display:grid;border-bottom:1px solid var(--line-strong);grid-template-columns:132px minmax(0, 1fr);gap:clamp(34px, 5vw, 72px)}.year-group__marker{padding-block:34px}.year-group__marker h2{margin-bottom:7px;color:var(--accent-dark);font-size:clamp(2rem, 2.5vw, 2.55rem);font-weight:300;letter-spacing:-0.04em;line-height:1}.year-group__marker p{margin-bottom:0;color:var(--muted);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase}.publications-index .publication-list{border-bottom:0}.publication-entry{display:grid;padding-block:clamp(30px, 3.4vw, 44px);grid-template-columns:42px minmax(0, 1fr);gap:clamp(16px, 2vw, 28px)}.publication-entry+.publication-entry{border-top:1px solid var(--line)}.publication-entry__index{padding-top:0.45rem;color:var(--accent-dark);font-size:0.7rem;font-weight:600;letter-spacing:0.1em}.publication-entry__title{max-width:1040px;margin-bottom:0;font-size:clamp(1.52rem, 2.05vw, 2.05rem);font-weight:400;letter-spacing:-0.026em;line-height:1.23}.publication-entry__title a{text-decoration:none;text-decoration-thickness:1px;text-underline-offset:0.16em;transition:color 180ms ease}.publication-entry__title a:hover{color:var(--accent-dark);text-decoration:underline}.publication-entry__authors{max-width:980px;margin:15px 0 0;color:var(--ink-soft);font-size:0.98rem;line-height:1.55}.publication-entry__footer{display:flex;max-width:1040px;margin-top:18px;align-items:baseline;gap:24px;justify-content:space-between}.publication-entry__venue{margin-bottom:0;color:var(--muted);font-size:0.88rem;line-height:1.5}.publication-entry__venue>span{margin-right:10px;color:var(--ink);font-size:0.68rem;font-weight:600;letter-spacing:0.09em;text-transform:uppercase}.publication-entry__action{flex:0 0 auto;color:var(--accent-dark);font-size:0.74rem;font-weight:600;letter-spacing:0.08em;text-decoration:none;text-transform:uppercase}.publication-entry__action:hover{color:var(--accent)}.software-list{border-top:1px solid var(--ink)}.software-entry{display:grid;padding-block:clamp(60px, 8vw, 112px);border-bottom:1px solid var(--line);grid-template-columns:minmax(0, 1.18fr) minmax(300px, 0.82fr);align-items:center;gap:clamp(52px, 8vw, 120px)}.software-entry--reverse{grid-template-columns:minmax(300px, 0.82fr) minmax(0, 1.18fr)}.software-entry--reverse .software-entry__media{order:2}.software-entry__media{display:grid;min-height:430px;padding:clamp(28px, 4vw, 58px);background:var(--paper-soft);place-items:center}.software-entry__media img{width:100%;max-height:510px;object-fit:contain}.software-entry__copy h2{margin-bottom:25px;font-size:clamp(2.5rem, 4.5vw, 4.8rem);font-weight:300;letter-spacing:-0.055em;line-height:0.98}.software-entry__copy>p:not(.eyebrow){max-width:510px;margin-bottom:34px;color:var(--muted);font-size:1.05rem}.team-page{--team-blue: #0869ce;--team-blue-dark: #0057b8}.team-intro{min-height:188px;border-bottom:1px solid var(--line);background:linear-gradient(90deg, #fff 0%, #fff 66%, #fbfdff 100%)}.team-intro__inner{display:grid;min-height:188px;grid-template-columns:minmax(0, 1.16fr) minmax(360px, 0.84fr);align-items:center;gap:clamp(56px, 7vw, 104px)}.team-intro .eyebrow{margin-bottom:10px;color:var(--team-blue-dark);font-size:0.7rem;letter-spacing:0.13em}.team-intro h1{margin-bottom:0;font-size:clamp(2.75rem, 3.5vw, 3.15rem);font-weight:400;letter-spacing:-0.045em;line-height:1}.team-intro__summary{max-width:520px;margin-bottom:0;padding-left:30px;border-left:1px solid var(--line);color:var(--ink-soft);font-size:0.88rem;line-height:1.68}.team-section{padding-block:52px 60px;border-bottom:1px solid var(--line)}.team-section--staff{padding-bottom:32px}.team-section--pi{padding-block:30px 52px}.team-section--researchers{padding-block:44px 50px}.team-section--staff,.team-section--masters{background:#fbfcfd}.team-section--alumni{padding-block:38px 66px;border-bottom:0;background:#f5f7f9}.team-section__header{display:flex;min-height:45px;margin-bottom:24px;padding-bottom:13px;border-bottom:1px solid var(--line);align-items:flex-end;justify-content:space-between}.team-section--pi .team-section__header{min-height:35px;margin-bottom:18px}.team-section__label,.team-section__number{margin-bottom:0;color:var(--team-blue-dark);font-size:0.66rem;font-weight:600;letter-spacing:0.11em;line-height:1.25;text-transform:uppercase}.team-section__number{color:#98a1aa;font-variant-numeric:tabular-nums}.team-section__header h2{margin:6px 0 0;font-size:clamp(1.72rem, 2.4vw, 2.15rem);font-weight:400;letter-spacing:-0.036em;line-height:1.05}.pi-profile{display:grid;grid-template-columns:340px minmax(0, 1fr);align-items:start;gap:clamp(34px, 4vw, 52px)}.pi-profile__photo{width:340px;height:425px;margin:0;overflow:hidden;background:var(--paper-soft)}.pi-profile__photo img{width:100%;height:100%;object-fit:cover;object-position:center center}.pi-profile__content{min-width:0}.pi-profile__content h2{margin-bottom:4px;font-size:clamp(3.25rem, 4.1vw, 3.65rem);font-weight:400;letter-spacing:-0.055em;line-height:0.96}.pi-profile__role{margin-bottom:16px;color:var(--team-blue-dark);font-size:0.78rem;font-weight:500}.pi-profile__interests{max-width:700px;margin-bottom:13px;color:var(--ink);font-size:1.02rem;line-height:1.48}.pi-profile__bio{max-width:710px;margin-bottom:14px;color:var(--muted);font-size:0.76rem;line-height:1.62}.pi-profile__links{display:flex;margin-bottom:19px;gap:25px}.pi-profile__links a{color:var(--team-blue-dark);font-size:0.68rem;font-weight:600;letter-spacing:0.07em;text-decoration:none;text-transform:uppercase}.pi-profile__links a span{display:inline-block;margin-left:3px;transition:transform 160ms ease}.pi-profile__links a:hover span{transform:translate(2px, -2px)}.pi-background{display:grid;padding-top:16px;border-top:1px solid var(--line);grid-template-columns:0.85fr 1.15fr;gap:clamp(18px, 2.5vw, 30px)}.pi-background>div+div{padding-left:clamp(18px, 2.2vw, 28px);border-left:1px solid var(--line)}.pi-background h3{margin-bottom:9px;font-size:0.61rem;font-weight:600;letter-spacing:0.07em;line-height:1.3;text-transform:uppercase}.pi-background ul{margin-bottom:0;padding:0;color:var(--muted);font-size:0.66rem;line-height:1.48;list-style:none}.pi-background li+li{margin-top:7px}.staff-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:28px}.staff-card{position:relative;display:grid;min-height:224px;overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:179px minmax(0, 1fr)}.staff-card::after,.person-card__portrait::after{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--team-blue);content:"";transform:scaleX(0);transform-origin:left;transition:transform 220ms ease}.staff-card__portrait,.person-card__portrait,.alumni-card__portrait{margin:0;overflow:hidden;background:#eef2f5}.staff-card__portrait{width:179px;height:224px}.staff-card__portrait img,.person-card__portrait img,.alumni-card__portrait img{width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform 420ms cubic-bezier(0.22, 1, 0.36, 1)}.staff-card__portrait img,.person-card__portrait img{transform:scale(1.16)}.staff-card__copy{display:flex;min-width:0;padding:24px 26px;align-items:flex-start;flex-direction:column;justify-content:flex-end}.staff-card__index,.alumni-card__index{margin-bottom:auto;color:#9aa3ac;font-size:0.61rem;font-variant-numeric:tabular-nums;letter-spacing:0.08em}.staff-card h3{margin-bottom:4px;font-size:1.47rem;letter-spacing:-0.03em;line-height:1.08}.staff-card p,.person-card p,.alumni-card p{margin-bottom:0;color:#59636d;font-size:0.71rem;line-height:1.45}.people-grid{display:grid;align-items:start}.people-grid--phd{max-width:1000px;margin-inline:auto;grid-template-columns:repeat(4, minmax(0, 1fr));gap:24px}.people-grid--masters{max-width:1120px;margin-inline:auto;grid-template-columns:repeat(5, minmax(0, 1fr));gap:24px}.people-grid--researchers{max-width:1120px;margin-inline:auto;grid-template-columns:repeat(5, minmax(0, 1fr));gap:24px}.person-card{min-width:0}.person-card__portrait{position:relative;width:100%;aspect-ratio:4 / 5}.person-card__copy{padding-top:12px}.person-card h3{margin-bottom:2px;font-size:1.03rem;letter-spacing:-0.022em;line-height:1.25}.alumni-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:0 30px}.alumni-card{display:grid;min-height:103px;padding-block:9px;border-bottom:1px solid #dce1e6;grid-template-columns:68px minmax(0, 1fr);align-items:stretch;gap:14px}.alumni-card__portrait{width:68px;height:85px}.alumni-card__copy{display:flex;min-width:0;padding-block:3px 5px;align-items:flex-start;flex-direction:column;justify-content:flex-end}.alumni-card__index{margin-bottom:auto;font-size:0.56rem}.alumni-card h3{margin-bottom:2px;font-size:0.92rem;letter-spacing:-0.018em;line-height:1.2}.alumni-card p{font-size:0.65rem}.team-motion-ready [data-team-reveal]{opacity:0;transform:translateY(12px)}.team-motion-ready [data-team-reveal].is-visible{opacity:1;transform:translateY(0);transition:opacity 520ms cubic-bezier(0.22, 1, 0.36, 1),transform 520ms cubic-bezier(0.22, 1, 0.36, 1);transition-delay:calc(var(--team-order, 0) * 45ms)}@media (hover: hover){.staff-card:hover::after,.person-card:hover .person-card__portrait::after{transform:scaleX(1)}.staff-card:hover .staff-card__portrait img,.person-card:hover .person-card__portrait img{transform:scale(1.19)}.alumni-card:hover .alumni-card__portrait img{transform:scale(1.025)}}.site-footer{padding-top:78px;border-top:1px solid #2f3439;background:var(--ink);color:var(--paper)}.site-footer__grid{display:grid;padding-bottom:78px;grid-template-columns:minmax(0, 1.35fr) minmax(220px, 0.65fr) minmax(160px, 0.4fr);gap:clamp(44px, 7vw, 110px)}.wordmark--footer{margin-bottom:26px;color:var(--paper)}.wordmark--footer .wordmark__secondary{color:#90979d}.site-footer__contact,.site-footer__links{display:flex;flex-direction:column;align-items:flex-start}.site-footer__contact a,.site-footer__links a{color:#d9dde0;font-size:0.88rem;text-decoration-color:#535b62}.site-footer__contact span{margin-top:8px;color:#8e969d;font-size:0.86rem}.site-footer__links a+a{margin-top:7px}.site-footer__bottom{display:flex;padding-block:22px;border-top:1px solid #2f3439;color:#777f86;font-size:0.72rem;justify-content:space-between;letter-spacing:0.03em}@media (max-width: 1020px){.hero__grid{min-height:auto;grid-template-columns:1fr;gap:0}.hero__copy{padding-bottom:58px}.hero__media{min-height:590px;margin-top:0;border-top:1px solid var(--line-strong);border-left:0}.publication-row,.publication-row--full{grid-template-columns:minmax(260px, 1.2fr) minmax(220px, 0.8fr) 140px}.publication-row__authors{display:none}.publication-row__year,.publication-row__action{text-align:right}.pi-profile{grid-template-columns:300px minmax(0, 1fr);gap:32px}.pi-profile__photo{width:300px;height:375px}.pi-background{gap:14px}.pi-background>div+div{padding-left:14px}.staff-card{min-height:200px;grid-template-columns:160px minmax(0, 1fr)}.staff-card__portrait{width:160px;height:200px}.people-grid--phd,.people-grid--masters,.people-grid--researchers{grid-template-columns:repeat(3, minmax(0, 1fr))}.alumni-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__grid>:first-child{grid-column:1 / -1}}@media (max-width: 820px){.site-header__inner{min-height:76px}.desktop-nav{display:none}.mobile-nav{position:relative;display:block}.mobile-nav summary{display:flex;min-width:74px;min-height:44px;align-items:center;justify-content:flex-end;gap:12px;cursor:pointer;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav__label{font-size:0.75rem;letter-spacing:0.06em;text-transform:uppercase}.mobile-nav__icon{display:grid;width:22px;gap:6px}.mobile-nav__icon i{display:block;width:100%;height:1px;background:var(--ink);transition:transform 180ms ease}.mobile-nav[open] .mobile-nav__icon i:first-child{transform:translateY(3.5px) rotate(45deg)}.mobile-nav[open] .mobile-nav__icon i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav nav{position:fixed;top:76px;right:0;left:0;padding:10px var(--gutter) 26px;border-bottom:1px solid var(--line);background:var(--paper)}.mobile-nav ul{flex-direction:column}.mobile-nav a{display:flex;min-height:54px;border-bottom:1px solid var(--line);align-items:center;justify-content:space-between;font-size:1.08rem;text-decoration:none}.mobile-nav a::after{color:var(--muted);content:"→"}.mobile-nav a.is-active{color:var(--accent-dark)}.page-hero__grid{grid-template-columns:1fr;gap:24px}.page-hero__summary{max-width:680px}.team-intro__inner{min-height:auto;padding-block:38px;grid-template-columns:1fr;gap:24px}.team-intro__summary{max-width:680px;padding:18px 0 0;border-top:1px solid var(--line);border-left:0}.mission__intro,.mission__applications{grid-template-columns:1fr;gap:16px}.mission__tracks{grid-template-columns:1fr}.mission-track,.mission-track+.mission-track{padding:32px 0;border-left:0}.mission-track+.mission-track{border-top:1px solid var(--line)}.research-row,.research-row--reverse{grid-template-columns:1fr;gap:36px}.research-row--reverse .research-row__media{order:0}.research-row__number{margin-bottom:24px}.contact-band__grid{grid-template-columns:1fr;align-items:start}.year-group{grid-template-columns:1fr;gap:0}.year-group__marker{display:flex;padding:24px 0 17px;align-items:baseline;justify-content:space-between}.year-group__marker h2,.year-group__marker p{margin-bottom:0}.software-entry,.software-entry--reverse{grid-template-columns:1fr;gap:42px}.software-entry--reverse .software-entry__media{order:0}.pi-profile{grid-template-columns:1fr}.pi-profile__photo{width:min(100%, 340px);height:auto;aspect-ratio:4 / 5}.pi-background{grid-template-columns:repeat(2, minmax(0, 1fr))}.staff-grid{grid-template-columns:1fr}.people-grid--phd,.people-grid--masters,.people-grid--researchers,.alumni-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 620px){body{font-size:16px}.wordmark__secondary{display:none}.page-hero{padding-block:38px 42px}.page-hero h1{font-size:clamp(2.9rem, 14vw, 4rem)}.page-hero__summary{font-size:1rem;line-height:1.5}.publications-index{padding-block:28px 64px}.publication-catalogue__meta{display:block;padding-bottom:15px}.publication-catalogue__meta span{display:block}.publication-catalogue__meta span+span{margin-top:7px;color:var(--ink-soft);font-weight:400;letter-spacing:0.04em;line-height:1.55;text-transform:none}.year-group__marker{padding-top:22px}.year-group__marker h2{font-size:1.85rem}.publication-entry{padding-block:25px 28px;grid-template-columns:28px minmax(0, 1fr);gap:10px}.publication-entry__index{padding-top:0.3rem}.publication-entry__title{font-size:1.35rem;line-height:1.28}.publication-entry__authors{margin-top:12px;font-size:0.9rem}.publication-entry__footer{margin-top:15px;align-items:flex-start;flex-direction:column;gap:10px}.hero h1{font-size:clamp(3.45rem, 17vw, 5rem)}.hero__media{min-height:430px}.hero__video,.hero__still{min-height:430px}.section-heading{align-items:flex-start;flex-direction:column;gap:24px}.section-heading>p{text-align:left}.mission-track{grid-template-columns:38px minmax(0, 1fr)}.publication-row,.publication-row--full{padding-block:26px;grid-template-columns:1fr;gap:10px}.publication-row__venue{max-width:85%}.publication-row__year,.publication-row__action{text-align:left}.publication-row__action{margin-top:8px}.software-entry__media{min-height:300px;padding:24px}.team-intro h1{font-size:clamp(2.45rem, 12vw, 3rem)}.team-section{padding-block:42px 48px}.pi-background{grid-template-columns:1fr}.pi-background>div+div{padding:14px 0 0;border-top:1px solid var(--line);border-left:0}.staff-card{min-height:178px;grid-template-columns:142px minmax(0, 1fr)}.staff-card__portrait{width:142px;height:178px}.people-grid--phd,.people-grid--masters,.people-grid--researchers,.alumni-grid{grid-template-columns:1fr}.site-footer__grid{grid-template-columns:1fr}.site-footer__grid>:first-child{grid-column:auto}.site-footer__bottom{align-items:flex-start;flex-direction:column;gap:6px}}.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.publication-hero__mesh{display:none}@media (min-width: 1021px){.publications-page .shell{width:min(100%, 1536px);padding-inline:clamp(48px, 4vw, 64px)}.team-page .site-header__inner,.team-page .site-footer .shell{width:min(100%, 1536px);padding-inline:clamp(48px, 4vw, 64px)}.publications-page .site-header__inner,.team-page .site-header__inner{min-height:72px}.publications-page .wordmark,.team-page .wordmark{align-items:center;gap:17px}.publications-page .wordmark__primary,.team-page .wordmark__primary{font-size:1.42rem;font-weight:600;letter-spacing:0.14em}.publications-page .wordmark__descriptor,.team-page .wordmark__descriptor{padding-left:16px;border-left:1px solid var(--line);color:var(--ink-soft);font-size:0.68rem;font-weight:400;letter-spacing:0.01em;line-height:1.35}.publications-page .desktop-nav ul,.team-page .desktop-nav ul{gap:clamp(38px, 4vw, 66px)}.publications-page .desktop-nav a,.team-page .desktop-nav a{padding-block:25px;font-size:0.76rem;transition:color 160ms ease}.publications-page .desktop-nav a::after,.team-page .desktop-nav a::after{bottom:4px;height:2px;transition:transform 160ms ease}.publication-hero{position:relative;min-height:304px;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 84% 27%, rgba(220,237,251,0.22), transparent 27%),radial-gradient(ellipse at 76% 68%, rgba(226,239,250,0.18), transparent 29%),linear-gradient(90deg, #fff 0%, #fff 52%, #fcfdfe 100%)}.publication-hero__inner{position:relative;z-index:2;display:flex;min-height:304px;align-items:center;pointer-events:none}.publication-hero__copy{width:min(100%, 590px);padding-block:30px 26px;pointer-events:auto}.publication-hero .eyebrow{margin-bottom:13px;color:#0058b8;font-size:0.72rem;font-weight:600;letter-spacing:0.13em}.publication-hero h1{margin-bottom:0;font-size:clamp(3.65rem, 4.15vw, 4.1rem);font-weight:400;letter-spacing:-0.052em;line-height:0.98}.publication-hero__rule{position:relative;display:block;width:52px;height:2px;margin:19px 0 15px;background:var(--line-strong)}.publication-hero__rule::before{display:block;width:39px;height:2px;background:#0869ce;content:""}.publication-hero__copy>p:last-child{max-width:545px;margin-bottom:0;color:var(--ink-soft);font-size:0.92rem;line-height:1.65}.publication-hero__mesh{position:absolute;z-index:1;top:0;right:0;display:block;width:65%;height:100%}.publication-hero__canvas{display:block;width:100%;height:100%;cursor:default;opacity:1;-webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.12) 14%, rgba(0,0,0,0.72) 31%, #000 43%, #000 100%);mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.12) 14%, rgba(0,0,0,0.72) 31%, #000 43%, #000 100%)}.publications-page .publications-index{padding:24px 0 0}.publication-layout{display:grid;grid-template-columns:220px minmax(0, 1fr);align-items:stretch;gap:47px}.publication-rail{position:relative;min-width:0;padding-right:44px;border-right:1px solid #dfe4e9}.publication-rail__inner{position:sticky;top:92px}.publication-filters{display:flex;flex-direction:column}.publication-filters a{position:relative;display:flex;min-height:29px;padding:6px 0 6px 17px;color:var(--ink-soft);align-items:center;font-size:0.73rem;gap:16px;justify-content:space-between;line-height:1.2;text-decoration:none;transition:color 150ms ease, background-color 150ms ease}.publication-filters a::before{position:absolute;top:3px;bottom:3px;left:0;width:1px;background:var(--line);content:"";transition:width 150ms ease, background-color 150ms ease}.publication-filters a:hover,.publication-filters a.is-active{color:#0059bb}.publication-filters a.is-active{font-weight:600}.publication-filters a.is-active::before{width:2px;background:#0872d7}.publication-filters strong{min-width:16px;color:inherit;font-size:0.68rem;font-weight:500;text-align:right}.publication-filters a.is-empty{color:var(--muted)}.publication-year-nav{display:grid;margin-top:62px;grid-auto-rows:152px}.publication-year-nav a{position:relative;display:flex;padding:9px 0 0 16px;color:#0057b8;align-items:flex-start;gap:10px;text-decoration:none}.publication-year-nav a>span{font-size:1.42rem;font-weight:400;letter-spacing:-0.025em;line-height:1}.publication-year-nav small{padding-top:5px;color:#7c8793;font-size:0.7rem;line-height:1}.publication-year-nav i{position:absolute;top:14px;right:-50px;width:11px;height:11px;border:2px solid #0872d7;border-radius:50%;background:var(--paper);transition:background-color 160ms ease, box-shadow 160ms ease}.publication-year-nav i::after{position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;background:#0872d7;content:"";transform:translate(-50%, -50%)}.publication-year-nav a:hover i,.publication-year-nav a.is-current i{background:#eaf5ff;box-shadow:0 0 0 4px rgba(8,114,215,0.08)}.publication-catalogue,.publications-index .publication-list,.publications-index .year-group{display:block;min-width:0;padding:0;border:0}.publication-entry{position:relative;display:grid;min-height:78px;margin:0 -10px 0 -18px;padding:17px 10px 16px 18px;border:0;border-bottom:1px solid #e2e6ea;grid-template-columns:54px minmax(330px, 1.52fr) minmax(220px, 0.92fr) minmax(190px, 0.74fr) 54px;align-items:start;column-gap:22px;transition:background-color 150ms ease}.publication-entry:hover{background:#f7faff}.publication-entry__index{position:relative;display:block;min-height:36px;padding:2px 18px 0 0;color:#0059bd;font-size:1.06rem;font-weight:400;letter-spacing:-0.02em;line-height:1.2;text-align:center;transition:color 150ms ease}.publication-entry__index::after{position:absolute;top:-1px;right:0;width:1px;height:36px;background:#d9e0e7;content:""}.publication-entry__title{max-width:none;margin:0;color:var(--ink);font-size:0.94rem;font-weight:600;letter-spacing:-0.012em;line-height:1.38}.publication-entry__title a{text-decoration:none;transition:color 150ms ease}.publication-entry__title a:hover,.publication-entry:hover .publication-entry__title a{color:#004fa7;text-decoration:none}.publication-entry__authors{max-width:none;margin:0;color:#4d5661;font-size:0.735rem;line-height:1.48}.publication-entry__venue{margin:0;color:#323b45;font-size:0.735rem;line-height:1.42}.publication-entry__venue em,.publication-entry__venue>span{display:block}.publication-entry__venue em{font-weight:400}.publication-entry__venue>span{margin:2px 0 0;color:#515b66;font-size:inherit;font-weight:400;letter-spacing:0;text-transform:none}.publication-entry__action{display:inline-flex;padding-top:3px;color:#0059bd;align-items:center;font-size:0.66rem;font-weight:700;gap:5px;justify-self:end;letter-spacing:0.07em;line-height:1.2;text-decoration:none;text-transform:uppercase;transition:color 150ms ease}.publication-entry__action>span{display:inline-block;font-size:0.77rem;transition:transform 150ms ease}.publication-entry__action:hover,.publication-entry:hover .publication-entry__action:not(.publication-entry__action--empty){color:#0084d9}.publication-entry__action:hover>span{transform:translate(2px, -2px)}.publication-entry__action--empty{color:#aeb6bf;font-weight:400}.publication-footer{margin-top:22px;padding-block:28px 30px;border-top:1px solid var(--line);background:var(--paper);color:var(--ink-soft)}.publication-footer__grid{display:grid;grid-template-columns:1.55fr 1.45fr 1.15fr 0.62fr;align-items:start;gap:clamp(36px, 5vw, 86px)}.publication-footer .wordmark__primary{font-size:0.9rem;letter-spacing:0.12em}.publication-footer__brand p,.publication-footer__contact p,.publication-footer__follow>p,.publication-footer__legal{margin-bottom:0;color:#5b6570;font-size:0.68rem;line-height:1.65}.publication-footer__brand p{margin-top:11px}.publication-footer__contact{padding-top:5px}.publication-footer__contact a,.publication-footer__contact p{display:flex;align-items:center;gap:10px}.publication-footer__contact a{color:var(--ink-soft);font-size:0.68rem;text-decoration:none}.publication-footer__contact p{margin-top:9px}.publication-footer__contact span{display:inline-flex;width:16px;height:16px;border:1px solid #838d97;border-radius:50%;align-items:center;font-size:0.58rem;justify-content:center}.publication-footer__follow>p{margin-bottom:10px;color:var(--ink);font-size:0.72rem;font-weight:500}.publication-footer__follow>div{display:flex;gap:27px}.publication-footer__follow a{display:inline-flex;color:#4f5964;align-items:center;font-size:0.68rem;gap:8px;text-decoration:none}.publication-footer__follow a>span{display:inline-flex;width:16px;height:16px;border-radius:50%;background:#737d87;color:#fff;align-items:center;font-size:0.5rem;font-weight:600;justify-content:center}.publication-footer__legal{padding-top:3px;justify-self:end;text-align:left}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto !important;transition-duration:0.01ms !important}.hero__video{display:none}.hero__still{display:block}}.site-header{border-top:4px solid #edf3f8;border-bottom-color:#e2e6ea;background:var(--paper)}.site-header__inner,.publications-page .site-header__inner,.team-page .site-header__inner{width:min(100%, calc(var(--shell) + (var(--gutter) * 2)));min-height:var(--header-height);padding-inline:var(--gutter)}.university-lockup{display:inline-flex;min-width:0;align-items:center;color:var(--ink);gap:14px;line-height:1;text-decoration:none}.university-lockup__seal{width:58px;height:58px;flex:0 0 auto;object-fit:contain}.university-lockup__type{display:flex;min-width:0;flex-direction:column;gap:6px}.university-lockup__university{font-family:Georgia, "Times New Roman", serif;font-size:clamp(1.32rem, 1.75vw, 1.72rem);letter-spacing:0.075em;line-height:0.95;white-space:nowrap}.university-lockup__lab{color:var(--ink-soft);font-size:0.72rem;font-weight:500;letter-spacing:0.08em;line-height:1;text-transform:uppercase}.desktop-nav ul,.publications-page .desktop-nav ul,.team-page .desktop-nav ul{gap:clamp(24px, 2.8vw, 44px)}.desktop-nav a,.publications-page .desktop-nav a,.team-page .desktop-nav a{padding-block:35px;color:#343a40;font-size:0.84rem;transition:color var(--transition)}.desktop-nav a::after,.publications-page .desktop-nav a::after,.team-page .desktop-nav a::after{top:-4px;bottom:auto;height:4px;background:var(--accent);transition:transform var(--transition)}.page-hero,.team-intro,.mission-page-hero{display:flex;min-height:var(--page-title-height);padding:0;border-bottom:1px solid #dbe3eb;background:var(--paper-soft);align-items:center;text-align:center}.page-hero>.shell,.mission-page-hero__inner{display:flex;min-height:var(--page-title-height);align-items:center;justify-content:center}.page-hero h1,.team-intro h1,.mission-page-hero h1{margin:0;font-size:clamp(2rem, 3vw, 2.65rem);font-weight:300;letter-spacing:-0.025em;line-height:1;text-transform:uppercase}.hero{border-bottom:0;background:var(--paper)}.hero__grid{position:relative;display:block;min-height:520px;overflow:hidden}.hero__copy{position:relative;z-index:2;width:min(54%, 640px);min-height:520px;padding:76px clamp(34px, 4vw, 56px);background:rgba(0,37,84,0.84);color:var(--paper);justify-content:center}.hero .eyebrow{margin-bottom:21px;color:#cfe0ef;font-size:0.68rem}.hero h1{max-width:530px;margin-bottom:25px;color:var(--paper);font-size:clamp(2.65rem, 4.1vw, 3.7rem);font-weight:300;letter-spacing:-0.045em;line-height:0.98}.hero__summary{max-width:500px;margin-bottom:27px;color:#f3f6f9;font-size:clamp(0.98rem, 1.2vw, 1.08rem);font-weight:500;line-height:1.55}.hero .text-link{padding:9px 15px;border:1px solid rgba(255,255,255,0.82);background:var(--paper);color:var(--university-blue);font-size:0.7rem;line-height:1.35}.hero__media{position:absolute;inset:0;min-height:0;margin:0;border:0;background:#dfe6ec}.hero__video,.hero__still{width:100%;height:100%;min-height:0;object-fit:cover}.hero__media figcaption{padding:8px 11px;font-size:0.6rem}.home-page .mission__intro h2{margin-bottom:22px;font-size:clamp(2rem, 3.4vw, 3.15rem);letter-spacing:-0.035em;line-height:1.06}.home-page .mission__lead{font-size:clamp(1.02rem, 1.35vw, 1.2rem);line-height:1.62}.home-page .mission__tracks{margin-top:45px}.home-page .mission-track{padding-top:27px}.home-page .mission-track h3{margin-bottom:13px;font-size:clamp(1.25rem, 1.7vw, 1.65rem)}.home-page .mission__applications{margin-top:45px;padding-top:24px}.home-page .mission__applications p:last-child{font-size:1.02rem;line-height:1.68}.section-heading{margin-bottom:clamp(38px, 4vw, 56px)}.section-heading h2{font-size:clamp(2.1rem, 3.5vw, 3.35rem);letter-spacing:-0.04em}.research-row{padding-block:clamp(36px, 4vw, 54px);gap:clamp(38px, 5vw, 76px)}.research-row__number{margin-bottom:32px}.research-row h3{margin-bottom:18px;font-size:clamp(1.8rem, 2.8vw, 2.75rem)}.research-row p{font-size:0.98rem}.contact-band{padding-block:clamp(58px, 6vw, 82px)}.contact-band h2{font-size:clamp(2.7rem, 4.2vw, 4rem)}.publication-hero{position:relative;min-height:176px;overflow:hidden;border-bottom:1px solid #dbe3eb;background:var(--paper-soft)}.publication-hero__inner{position:relative;z-index:2;display:flex;min-height:176px;align-items:center;pointer-events:none}.publication-hero__copy{width:min(100%, 500px);padding:0;pointer-events:auto}.publication-hero .eyebrow{margin-bottom:10px;color:var(--accent-dark);font-size:0.66rem}.publication-hero h1{margin:0;font-size:clamp(2.25rem, 3.2vw, 2.9rem);font-weight:300;letter-spacing:-0.03em;line-height:1;text-transform:uppercase}.publication-hero__mesh{height:100%}.publications-page .publications-index{padding-top:20px}.software-index{padding-block:54px 72px}.software-index .page-intro{max-width:760px;margin-bottom:40px;font-size:clamp(1.05rem, 1.4vw, 1.28rem)}.software-entry{padding-block:clamp(40px, 4.5vw, 60px);grid-template-columns:minmax(0, 0.95fr) minmax(300px, 1.05fr);gap:clamp(42px, 5vw, 72px)}.software-entry--reverse{grid-template-columns:minmax(300px, 1.05fr) minmax(0, 0.95fr)}.software-entry__media{min-height:300px;padding:clamp(24px, 3vw, 40px)}.software-entry__copy h2{margin-bottom:18px;font-size:clamp(2.1rem, 3vw, 3.1rem);letter-spacing:-0.04em}.software-entry__copy>p:not(.eyebrow){margin-bottom:26px;font-size:0.98rem}.team-page .shell,.team-page .site-header__inner,.team-page .site-footer .shell{width:min(100%, calc(var(--shell) + (var(--gutter) * 2)));padding-inline:var(--gutter)}.team-section{padding-block:42px 50px}.team-section--pi{padding-block:38px 48px}.team-section--alumni{padding-block:38px 54px}.team-section__header{margin-bottom:22px}.team-section__header h2{font-size:clamp(1.55rem, 2vw, 1.95rem)}.pi-profile{grid-template-columns:270px minmax(0, 1fr);gap:clamp(32px, 4vw, 52px)}.pi-profile__photo{width:270px;height:auto;aspect-ratio:var(--portrait-ratio)}.pi-profile__content h2{font-size:clamp(2.35rem, 3vw, 2.9rem)}.pi-profile__bio{font-size:0.75rem}.staff-grid{max-width:540px;grid-template-columns:repeat(2, minmax(0, 1fr));gap:26px}.staff-card{display:block;min-height:0;overflow:visible;border:0;background:transparent}.staff-card::after{display:none}.staff-card__portrait{position:relative;width:100%;height:auto;aspect-ratio:var(--portrait-ratio)}.staff-card__copy{display:block;padding:12px 0 0}.staff-card__index{display:none}.staff-card h3{margin-bottom:3px;font-size:1.08rem}.person-card__portrait{aspect-ratio:var(--portrait-ratio)}.staff-card__portrait img,.person-card__portrait img{transform:scale(1.03)}@media (hover: hover){.staff-card:hover .staff-card__portrait img,.person-card:hover .person-card__portrait img{transform:scale(1.055)}}.site-footer{padding-top:52px;background:#152536}.site-footer__grid{padding-bottom:48px}.university-lockup--footer{margin-bottom:20px;color:var(--paper)}.university-lockup--footer .university-lockup__seal{width:54px;height:54px}.university-lockup--footer .university-lockup__lab{color:#b9c8d5}@media (max-width: 820px){:root{--header-height: 74px;--page-title-height: 112px;--section: 52px}.site-header__inner,.publications-page .site-header__inner,.team-page .site-header__inner{min-height:var(--header-height)}.university-lockup{gap:10px}.university-lockup__seal{width:44px;height:44px}.university-lockup__type{gap:4px}.university-lockup__university{font-size:1rem;letter-spacing:0.045em}.university-lockup__lab{font-size:0.58rem}.mobile-nav nav{top:74px}.page-hero,.team-intro,.mission-page-hero,.page-hero>.shell,.mission-page-hero__inner{min-height:var(--page-title-height)}.page-hero h1,.team-intro h1,.mission-page-hero h1{font-size:clamp(1.72rem, 8vw, 2.2rem)}.hero__grid{display:flex;min-height:0;flex-direction:column}.hero__copy{width:100%;min-height:0;padding:46px 26px 42px;background:var(--university-blue)}.hero h1{font-size:clamp(2.5rem, 12vw, 3.35rem)}.hero__media{position:relative;inset:auto;width:100%;height:280px;min-height:280px;order:2}.hero__video,.hero__still{min-height:280px}.home-page .mission__intro,.home-page .mission__applications{gap:12px}.home-page .mission__tracks{margin-top:36px}.publication-hero,.publication-hero__inner{min-height:var(--page-title-height)}.publication-hero__copy{width:100%;text-align:center}.publication-hero .eyebrow{display:none}.publication-hero h1{font-size:clamp(1.72rem, 8vw, 2.2rem)}.software-index{padding-block:46px 60px}.software-entry,.software-entry--reverse{grid-template-columns:minmax(0, 1fr);gap:28px}.software-entry--reverse .software-entry__media{order:0}.software-entry__copy{min-width:0}.pi-profile{grid-template-columns:1fr}.pi-profile__photo{width:min(100%, 270px)}}@media (max-width: 620px){.mobile-nav__label{display:none}.mobile-nav summary{min-width:44px}.hero__copy{padding-inline:22px}.hero__media,.hero__video,.hero__still{min-height:240px;height:240px}.home-page .mission__intro h2{font-size:2rem}.software-entry__media{min-height:250px}.staff-grid,.people-grid--phd,.people-grid--masters,.people-grid--researchers{grid-template-columns:repeat(2, minmax(0, 1fr));gap:22px 16px}.alumni-grid{grid-template-columns:1fr}.pi-background{font-size:0.94rem}}@media (prefers-reduced-motion: reduce){.staff-card__portrait img,.person-card__portrait img{transform:none}}.mission-page-hero .eyebrow{display:none}.mission-page-hero__inner{flex-direction:column}.mission-statement{padding-top:clamp(44px, 5vw, 66px)}.mission-statement__copy{max-width:1060px;margin-inline:auto}.mission-statement__title{margin:0 0 24px;color:#243f5c;font-size:clamp(2rem, 3vw, 2.55rem);font-weight:300;letter-spacing:-0.035em;line-height:1.08}.mission-statement__lead,.mission-statement__applications{margin-inline:auto;color:var(--ink-soft);font-size:clamp(1rem, 1.3vw, 1.12rem);line-height:1.58;text-align:center}.mission-statement__lead{max-width:1040px;margin-bottom:18px}.mission-priorities{max-width:1010px;margin:0 auto 18px;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}.mission-priority{display:grid;padding-block:19px;grid-template-columns:38px minmax(0, 1fr);gap:10px;text-align:left}.mission-priority+.mission-priority{border-top:1px solid var(--line)}.mission-priority__number{color:var(--accent-dark);font-size:0.76rem;font-weight:600;letter-spacing:0.04em;line-height:1.8}.mission-priority p{margin:0;color:var(--ink-soft);font-size:0.98rem;line-height:1.58}.mission-statement__applications{max-width:1040px;margin-bottom:0}.mission-intersection{width:min(100%, 680px);margin:clamp(46px, 5vw, 68px) auto 0}.mission-intersection__stage{position:relative;aspect-ratio:760 / 540;color:var(--accent);opacity:0;transform:translateY(8px);animation:mission-reveal 700ms cubic-bezier(0.22, 1, 0.36, 1) 120ms forwards}.mission-intersection__svg{display:block;width:100%;height:100%;overflow:visible}.mission-intersection__axis{transform-box:fill-box;transform-origin:center;transition:transform 420ms cubic-bezier(0.22, 1, 0.36, 1),opacity 260ms ease}.mission-intersection__field{fill:currentColor;opacity:0.07}.mission-intersection__line{fill:none;stroke:#7593b4;stroke-dasharray:900;stroke-dashoffset:900;stroke-linecap:round;stroke-width:1.15;animation:mission-line-draw 1150ms cubic-bezier(0.22, 1, 0.36, 1) 280ms forwards}.mission-intersection__line--outer{stroke:#9aafc6;stroke-width:0.9}.mission-intersection__core path{fill:rgba(255,255,255,0.92);stroke:var(--accent-dark);stroke-width:1.25}.mission-intersection__labels{position:absolute;inset:0;color:var(--ink-soft);font-size:0.66rem;letter-spacing:0.02em;line-height:1.25}.mission-intersection__label{position:absolute;max-width:120px;opacity:0;transform:translateY(5px);animation:mission-label-reveal 420ms ease forwards}.mission-intersection__label--geomechanics{bottom:5%;left:3%;color:var(--accent-dark);font-size:0.76rem;font-weight:600}.mission-intersection__label--ai{top:4%;left:2%;color:var(--accent-dark);font-size:0.76rem;font-weight:600}.mission-intersection__label--experiments{right:2%;bottom:7%;animation-delay:520ms}.mission-intersection__label--simulation{top:7%;right:1%;animation-delay:600ms}.mission-intersection__label--digital-rock{top:45%;left:27%;animation-delay:680ms}.mission-intersection__label--feedback{top:52%;right:22%;animation-delay:760ms}.mission-intersection__label--geomechanics,.mission-intersection__label--ai{animation-delay:420ms}.mission-intersection__caption{display:flex;margin-top:8px;padding-top:14px;border-top:1px solid var(--line);color:var(--accent-dark);align-items:center;font-size:0.72rem;font-weight:600;gap:14px;justify-content:center;letter-spacing:0.09em;text-transform:uppercase}@media (hover: hover){.mission-intersection:hover .mission-intersection__axis--geomechanics{transform:translateY(-3px)}.mission-intersection:hover .mission-intersection__axis--ai{transform:translateY(3px)}}@keyframes mission-reveal{to{opacity:1;transform:translateY(0)}}@keyframes mission-line-draw{to{stroke-dashoffset:0}}@keyframes mission-label-reveal{to{opacity:1;transform:translateY(0)}}@media (max-width: 620px){.mission-statement__lead,.mission-statement__applications{font-size:0.96rem;line-height:1.55;text-align:left}.mission-priority{grid-template-columns:32px minmax(0, 1fr)}.mission-priority p{font-size:0.92rem;line-height:1.55}.mission-intersection{width:calc(100% + 8px);margin-left:-4px}.mission-intersection__labels{font-size:0.51rem}.mission-intersection__label--geomechanics,.mission-intersection__label--ai{font-size:0.58rem}.mission-intersection__caption{font-size:0.56rem;gap:9px;letter-spacing:0.06em}}@media (prefers-reduced-motion: reduce){.mission-intersection__stage,.mission-intersection__label{opacity:1;transform:none;animation:none}.mission-intersection__line{stroke-dashoffset:0;animation:none}}.publications-page .publications-index{padding-block:20px clamp(68px, 7vw, 96px)}.publication-layout{width:min(100%, 1380px);margin-inline:auto}.publication-rail{position:static;width:auto;min-width:0;margin:0 0 30px;padding:0;border:0}.publication-rail__inner{position:static}.publication-filters{display:flex;min-width:0;padding-bottom:15px;overflow-x:auto;border-bottom:1px solid var(--line);flex-direction:row;gap:clamp(22px, 4vw, 42px);scrollbar-width:thin}.publication-filters a{position:relative;display:inline-flex;min-width:max-content;min-height:42px;padding:0;color:var(--ink-soft);align-items:center;font-size:0.76rem;gap:10px;line-height:1.25;text-decoration:none;transition:color 170ms ease}.publication-filters a::before{position:absolute;right:0;bottom:-16px;left:0;width:auto;height:2px;background:transparent;content:"";transition:background-color 170ms ease}.publication-filters a:hover,.publication-filters a.is-active{background:transparent;color:var(--accent-dark)}.publication-filters a.is-active{font-weight:600}.publication-filters a.is-active::before{width:auto;background:var(--accent)}.publication-filters strong{min-width:16px;color:inherit;font-size:0.7rem;font-weight:500;text-align:right}.publication-filters a.is-empty{color:var(--muted)}.publication-catalogue,.publications-index .publication-list,.publications-index .year-group{min-width:0;padding:0;border:0}.year-group{display:block}.year-group+.year-group{margin-top:44px}.publication-year-marker{position:relative;display:flex;min-width:0;margin:0;padding:0 0 15px;border-bottom:1px solid var(--ink);align-items:baseline}.publication-year-marker__label{display:flex;min-width:0;align-items:baseline;gap:10px}.publication-year-marker h2{margin:0;color:var(--accent-dark);font-size:clamp(1.85rem, 4.5vw, 2.3rem);font-weight:300;letter-spacing:-0.04em;line-height:1}.publication-year-marker span{color:var(--muted);font-size:0.72rem;line-height:1}.publication-year-marker>i{display:none}.publication-entry{position:relative;display:grid;min-width:0;min-height:0;margin:0;padding-block:30px;border:0;border-bottom:1px solid var(--line);background:transparent;grid-template-columns:150px minmax(0, 1fr);align-items:stretch;gap:28px;transition:none}.publication-entry+.publication-entry{border-top:0}.publication-entry:hover{background:transparent}.publication-entry__media{position:relative;display:grid;width:150px;height:194px;margin:0;padding:0;overflow:hidden;background:#f5f7f9;place-items:center}.publication-entry__media img{position:absolute;inset:6px;display:block;width:calc(100% - 12px);height:calc(100% - 12px);max-width:100%;max-height:100%;object-fit:contain;object-position:center;transition:transform 220ms cubic-bezier(0.22, 1, 0.36, 1)}.publication-entry__body{display:flex;min-width:0;min-height:194px;flex-direction:column}.publication-entry__title{min-width:0;max-width:840px;margin:0;color:var(--ink);font-size:clamp(1.28rem, 2.35vw, 1.46rem);font-weight:600;letter-spacing:-0.024em;line-height:1.28;overflow-wrap:anywhere;text-wrap:pretty}.publication-entry__title a,.publication-entry__title span{color:inherit;text-decoration:none;transition:color 180ms ease}.publication-entry__title a:hover{color:var(--accent-dark);text-decoration:none}.publication-entry__keywords{display:flex;min-width:0;margin:15px 0 0;color:#66717c;align-items:baseline;flex-wrap:wrap;font-size:0.875rem;gap:4px 8px;line-height:1.55}.publication-entry__keywords span,.publication-entry__keywords i{display:inline}.publication-entry__keywords i{color:#9aa3ac;font-style:normal}.publication-entry__actions{display:flex;min-width:0;margin-top:auto;padding-top:24px;align-items:center;flex-wrap:wrap;gap:8px 28px}.publication-entry__action{display:inline-flex;min-height:32px;padding:0;color:var(--accent-dark);align-items:center;font-size:0.72rem;font-weight:600;gap:6px;justify-self:auto;letter-spacing:0.065em;line-height:1.2;text-decoration:none;text-transform:uppercase;transition:color 170ms ease}.publication-entry__arrow{display:inline-block;font-size:0.82rem;transition:transform 170ms ease}.publication-entry__action:hover{color:var(--accent)}.publication-entry__action--doi:hover .publication-entry__arrow{transform:translate(2px, -2px)}.publication-entry__action--disabled,.publication-entry__action--disabled:hover{color:#9aa3ac;cursor:not-allowed}@media (hover: hover){.publication-entry:hover .publication-entry__media img{transform:scale(1.02)}.publication-entry:hover .publication-entry__title a,.publication-entry:hover .publication-entry__title span{color:var(--accent-dark)}}@media (min-width: 1100px){.publication-layout{position:relative;display:block}.publication-rail{position:absolute;z-index:2;top:0;bottom:0;left:0;width:220px;height:100%;margin:0;padding:0 44px 0 0;pointer-events:none}.publication-rail__inner{position:sticky;top:calc(var(--header-height) + 18px);padding-bottom:14px;background:var(--paper);pointer-events:auto}.publication-filters{padding:0;overflow:visible;border:0;flex-direction:column;gap:0}.publication-filters a{display:flex;min-width:0;min-height:29px;padding:6px 0 6px 17px;gap:16px;justify-content:space-between}.publication-filters a::before{top:3px;right:auto;bottom:3px;left:0;width:1px;height:auto;background:var(--line)}.publication-filters a.is-active::before{width:2px;background:var(--accent)}.publication-catalogue{display:block;width:100%}.publications-index .year-group{display:grid;margin:0;grid-template-columns:220px minmax(0, 1fr);align-items:stretch;gap:47px}.publication-year-marker{min-height:100%;padding:0 44px 0 16px;border-right:1px solid #dfe4e9;border-bottom:0;align-items:center}.publication-year-marker h2{font-size:1.48rem;font-weight:400}.publication-year-marker>i{position:absolute;top:50%;right:-6px;display:block;width:11px;height:11px;border:2px solid var(--accent);border-radius:50%;background:var(--paper);transform:translateY(-50%);transition:background-color 170ms ease, box-shadow 170ms ease}.publication-year-marker>i::after{position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;background:var(--accent);content:"";transform:translate(-50%, -50%)}.year-group:hover .publication-year-marker>i{background:#eaf5ff;box-shadow:0 0 0 4px rgba(8,105,206,0.08)}.publication-entry{min-height:0;margin:0;padding:36px 0;grid-template-columns:170px minmax(0, 1fr);column-gap:34px}.publication-entry__media{width:170px;height:220px}.publication-entry__body{min-height:220px}.publication-entry__title{font-size:clamp(1.375rem, 1.45vw, 1.5rem);line-height:1.27}}@media (min-width: 681px) and (max-width: 1099px){.publication-layout{max-width:960px}.publication-entry{grid-template-columns:150px minmax(0, 1fr)}}@media (max-width: 680px){.publications-page .publications-index{padding-block:18px 60px}.publication-rail{margin-bottom:26px}.publication-filters{gap:24px}.publication-filters a{min-height:44px;font-size:0.72rem}.year-group+.year-group{margin-top:38px}.publication-year-marker{padding-bottom:13px}.publication-year-marker h2{font-size:1.9rem}.publication-entry{padding-block:26px 30px;grid-template-columns:minmax(0, 1fr);gap:24px}.publication-entry__media{position:relative;width:100%;height:clamp(240px, 68vw, 270px);padding:0;overflow:visible}.publication-entry__media img{position:absolute;top:0;right:auto;bottom:auto;left:50%;width:auto;height:100%;max-width:100%;object-fit:contain;transform:translateX(-50%)}.publication-entry__body{min-height:0}.publication-entry__title{max-width:100%;font-size:clamp(1.3rem, 5.8vw, 1.43rem);line-height:1.3}.publication-entry__keywords{margin-top:13px;font-size:0.84rem}.publication-entry__actions{margin-top:8px;padding-top:12px;gap:4px 24px}.publication-entry__action{min-height:44px}}@media (hover: hover) and (max-width: 680px){.publication-entry:hover .publication-entry__media img{transform:translateX(-50%) scale(1.02)}}@media (prefers-reduced-motion: reduce){.publication-entry__media img,.publication-entry__title a,.publication-entry__title span,.publication-entry__arrow,.publication-year-marker>i{transition:none}.publication-entry:hover .publication-entry__media img,.publication-entry__action--doi:hover .publication-entry__arrow{transform:none}}@media (prefers-reduced-motion: reduce) and (max-width: 680px){.publication-entry:hover .publication-entry__media img{transform:translateX(-50%)}}.publication-layout,.publication-catalogue{display:block;width:min(100%, 1120px);margin-inline:auto}@media (min-width: 1100px){.publications-page .publication-layout,.publications-page .publication-catalogue{position:static;display:block;width:min(100%, 1120px)}.publications-index .year-group{display:block;margin:0}.publications-index .year-group+.year-group{margin-top:44px}.publication-year-marker{min-height:0;margin:0;padding:0 0 15px;border-right:0;border-bottom:1px solid var(--ink);align-items:baseline}.publication-year-marker h2{font-size:2.15rem;font-weight:300}.publication-year-marker>i{display:none}.scientific-mission-page .mission-statement{padding-block:clamp(62px, 6vw, 88px) clamp(68px, 7vw, 98px)}.scientific-mission-page .mission-statement__layout{display:grid;grid-template-columns:minmax(0, 1.55fr) minmax(340px, 0.75fr);align-items:center;gap:clamp(56px, 6vw, 92px)}.scientific-mission-page .mission-statement__copy{max-width:none;margin:0}.scientific-mission-page .mission-statement__title{position:static !important;display:block;width:auto !important;height:auto !important;margin:0 0 30px !important;overflow:visible !important;clip:auto !important;color:#243f5c;font-size:clamp(2rem, 2.7vw, 2.55rem);font-weight:300;letter-spacing:-0.035em;line-height:1.08;white-space:normal !important}.scientific-mission-page .mission-statement__lead,.scientific-mission-page .mission-statement__applications{max-width:none;margin-inline:0;color:var(--ink-soft);font-size:1rem;line-height:1.56;text-align:left}.scientific-mission-page .mission-statement__lead{margin-bottom:14px}.scientific-mission-page .mission-priorities{max-width:none;margin:0 0 16px;border:0}.scientific-mission-page .mission-priority{display:grid;padding:0;border:0;grid-template-columns:30px minmax(0, 1fr);gap:6px}.scientific-mission-page .mission-priority+.mission-priority{margin-top:8px;border:0}.scientific-mission-page .mission-priority__number{display:block;font-size:1rem;line-height:1.56}.scientific-mission-page .mission-priority p{color:var(--ink-soft);font-size:1rem;line-height:1.56}.scientific-mission-page .mission-intersection{width:100%;max-width:430px;margin:38px 0 0;align-self:center}.scientific-mission-page .mission-intersection__caption{display:none}.team-page{--team-uniform-photo-width: 136px;--team-uniform-photo-height: 170px}.team-motion-ready [data-team-reveal],.team-motion-ready [data-team-reveal].is-visible{opacity:1;transform:none;transition:none}.team-page .pi-profile{grid-template-columns:var(--team-uniform-photo-width) minmax(0, 1fr);gap:32px}.team-page .pi-profile__content{display:grid;height:clamp(250px, 18vw, 260px);grid-template-rows:minmax(0, 1fr) 100px}.team-page .pi-profile__content h2{margin-bottom:2px;font-size:clamp(2.5rem, 2.9vw, 2.75rem);line-height:0.96}.team-page .pi-profile__role{margin-top:6px;margin-bottom:8px;font-size:0.875rem;line-height:1.3}.team-page .pi-profile__interests{margin-bottom:7px;font-size:1.125rem;line-height:1.34}.team-page .pi-profile__bio{margin-bottom:8px;font-size:0.875rem;line-height:1.42}.team-page .pi-profile__links{margin-bottom:0;gap:28px}.team-page .pi-profile__links a{font-size:0.75rem;line-height:1.3}.team-page .team-section__header>h2{margin:0}.team-page .pi-background{width:100%;height:100px;padding-top:12px;grid-template-columns:minmax(180px, 0.74fr) minmax(280px, 1.26fr);gap:28px}.team-page .pi-background h3{margin-bottom:5px;font-size:0.72rem;line-height:1.2}.team-page .pi-background ul{font-size:0.78rem;line-height:1.34}.team-page .pi-background li+li{margin-top:3px}.team-page .pi-profile__interests,.team-page .pi-profile__bio{max-width:none}.team-page .pi-profile__photo,.team-page .staff-card__portrait,.team-page .person-card__portrait,.team-page .alumni-card__portrait{width:var(--team-uniform-photo-width);height:var(--team-uniform-photo-height);aspect-ratio:auto}.team-page .staff-card__portrait,.team-page .person-card__portrait,.team-page .alumni-card__portrait{height:var(--team-uniform-photo-width);border-radius:50%}.team-page .person-card__portrait::after{display:none}.team-page .staff-grid,.team-page .people-grid--phd,.team-page .people-grid--masters,.team-page .people-grid--researchers,.team-page .alumni-grid{max-width:none;margin-inline:0;grid-template-columns:repeat(auto-fit, var(--team-uniform-photo-width));align-items:start;gap:30px 34px;justify-content:start}.team-page .staff-card,.team-page .person-card,.team-page .alumni-card{display:block;width:var(--team-uniform-photo-width);min-height:0;padding:0;border:0;background:transparent}.team-page .staff-card__copy,.team-page .person-card__copy,.team-page .alumni-card__copy{display:block;min-width:0;padding:11px 0 0}.team-page .staff-card__index,.team-page .alumni-card__index{display:none}.team-page .staff-card h3,.team-page .person-card h3,.team-page .alumni-card h3{margin-bottom:3px;font-size:0.98rem;line-height:1.2}.team-page .staff-card p,.team-page .person-card p,.team-page .alumni-card p{font-size:0.68rem;line-height:1.4}}.scientific-mission-page .mission-intersection--media{overflow:hidden}.scientific-mission-page .mission-intersection__media{aspect-ratio:850 / 604}.mission-intersection__media{display:grid;width:100%;aspect-ratio:950 / 872;overflow:hidden;--mission-media-inset: clamp(16px, 2vw, 24px);padding:0;border:1px solid var(--line);background:var(--paper-soft);place-items:center}.mission-intersection__media img{display:block;width:calc(100% - (var(--mission-media-inset) * 2));height:calc(100% - (var(--mission-media-inset) * 2));max-width:none;max-height:none;object-fit:contain;object-position:center;transition:transform 420ms cubic-bezier(0.22, 1, 0.36, 1)}.software-page .software-index{padding-block:clamp(48px, 5vw, 72px) clamp(72px, 7vw, 96px)}.software-page .software-list{border-top-color:var(--ink)}.software-page .software-entry{min-width:0;padding-block:clamp(48px, 5.4vw, 76px);grid-template-columns:minmax(0, 0.96fr) minmax(320px, 1.04fr);gap:clamp(44px, 6vw, 88px)}.software-page .software-entry--reverse{grid-template-columns:minmax(320px, 1.04fr) minmax(0, 0.96fr)}.software-page .software-entry__media{width:100%;height:clamp(320px, 30vw, 430px);min-height:0;overflow:hidden;padding:clamp(22px, 3vw, 40px);border:1px solid #dbe3eb;background:var(--paper-soft)}.software-page .software-entry__media img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;transition:transform 420ms cubic-bezier(0.22, 1, 0.36, 1)}.software-page .software-entry--dynaetm .software-entry__media{display:grid;position:relative;width:clamp(302px, 26.5vw, 375px);height:clamp(420px, 37vw, 520px);padding:0;justify-self:center;place-items:center}.software-page .software-entry--dynaetm .software-entry__media img{position:absolute;inset:clamp(22px, 3vw, 40px);width:calc(100% - (clamp(22px, 3vw, 40px) * 2));height:calc(100% - (clamp(22px, 3vw, 40px) * 2));max-width:100%;max-height:100%;margin-inline:auto}.software-page .software-entry__copy{min-width:0}.software-page .software-entry__copy h2{max-width:650px;margin-bottom:20px;font-size:clamp(2rem, 3vw, 3rem);line-height:1.04;overflow-wrap:break-word;text-wrap:balance}.software-page .software-entry__copy>p:not(.eyebrow){max-width:610px;margin-bottom:27px;color:var(--ink-soft);font-size:clamp(0.96rem, 1.05vw, 1.04rem);line-height:1.72;text-wrap:pretty}.software-page .software-entry .text-link{display:inline-flex;min-height:44px;align-items:center;gap:8px}.software-page .software-entry .text-link span{transition:transform 220ms ease}@media (hover: hover){.scientific-mission-page .mission-intersection--media:hover .mission-intersection__media img,.software-page .software-entry:hover .software-entry__media img{transform:scale(1.015)}.software-page .software-entry--dynaetm:hover .software-entry__media img{transform:none}.software-page .software-entry .text-link:hover span{transform:translate(2px, -2px)}}@media (min-width: 821px) and (max-width: 1099px){.software-page .software-entry,.software-page .software-entry--reverse{grid-template-columns:minmax(0, 0.94fr) minmax(300px, 1.06fr);gap:38px}.software-page .software-entry__copy h2{font-size:clamp(1.8rem, 3.4vw, 2.35rem)}.software-page .software-entry__copy>p:not(.eyebrow){font-size:0.92rem;line-height:1.64}}@media (max-width: 820px){.software-page .software-entry,.software-page .software-entry--reverse{grid-template-columns:minmax(0, 1fr);gap:30px}.software-page .software-entry--reverse .software-entry__media{order:0}.software-page .software-entry__media{height:clamp(270px, 66vw, 390px)}.software-page .software-entry--dynaetm .software-entry__media{width:clamp(286px, 72vw, 360px);max-width:100%;height:clamp(360px, 100vw, 500px)}}@media (max-width: 620px){.scientific-mission-page .mission-intersection--media{width:100%;margin-left:0}.mission-intersection__media{--mission-media-inset: 12px}.software-page .software-index{padding-block:42px 68px}.software-page .software-index .page-intro{margin-bottom:30px}.software-page .software-entry{padding-block:38px}.software-page .software-entry__media{height:260px;padding:16px}.software-page .software-entry--dynaetm .software-entry__media{height:min(470px, 108vw)}.software-page .software-entry--dynaetm .software-entry__media img{inset:16px;width:calc(100% - 32px);height:calc(100% - 32px)}.software-page .software-entry__copy h2{margin-bottom:16px;font-size:clamp(1.8rem, 9vw, 2.25rem);line-height:1.08}.software-page .software-entry__copy>p:not(.eyebrow){font-size:0.94rem;line-height:1.65}}@media (prefers-reduced-motion: reduce){.mission-intersection__media img,.software-page .software-entry__media img,.software-page .software-entry .text-link span{transition:none}.scientific-mission-page .mission-intersection--media:hover .mission-intersection__media img,.software-page .software-entry:hover .software-entry__media img,.software-page .software-entry .text-link:hover span{transform:none}}
