:root{--ink:#142b48;--blue:#0755cd;--muted:#52657d;--line:#dce5f0;--wash:#f5f8fc;--bs-primary:#0755cd;--bs-primary-rgb:7,85,205;--bs-body-color:var(--ink);--bs-body-font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bs-link-color:var(--blue)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{font-size:16px;line-height:1.7;background:#fff;-webkit-font-smoothing:antialiased}::selection{background:#d4e5ff;color:#102f60}a{color:var(--blue);text-decoration:none;text-underline-offset:5px}a:hover{text-decoration:underline}button,a,input{touch-action:manipulation}:focus-visible{outline:3px solid #347bde!important;outline-offset:5px;box-shadow:none!important}h1,h2,h3{font-weight:500;line-height:1.12;letter-spacing:-.045em;color:var(--ink)}p{color:var(--muted)}.container{max-width:1240px;padding-inline:40px}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.navbar{min-height:91px;--bs-navbar-toggler-border-color:var(--line)}.navbar-brand{display:flex;align-items:center;gap:13px;font-size:16px;font-weight:600;letter-spacing:-.025em;color:var(--ink)}.brand-mark{font-size:42px;line-height:1;font-weight:700;letter-spacing:-.11em;color:var(--blue);padding:0 7px 5px 0}.brand-mark span{color:#71a7e9}.navbar-brand:hover{text-decoration:none}.navbar-nav{gap:17px}.navbar .nav-link{color:var(--muted);font-size:13px;padding-block:12px;position:relative;letter-spacing:.01em}.navbar .nav-link.active{color:var(--blue)}.navbar .nav-link.active:after{content:"";height:2px;background:var(--blue);position:absolute;bottom:6px;left:8px;right:8px}.navbar-toggler{padding:8px;font-size:17px;border-radius:3px}.skip-link{position:fixed;left:12px;top:-100px;padding:10px 18px;background:var(--blue);color:#fff;z-index:1000}.skip-link:focus{top:12px}.eyebrow{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:500;letter-spacing:.14em;color:var(--blue);margin-bottom:26px}.hero{padding-top:82px;padding-bottom:60px}.hero h1{font-size:clamp(48px,5.65vw,78px);line-height:1.04;letter-spacing:-.065em;margin:0 0 28px}.hero h1 span,.page-heading h1 span{color:var(--blue)}.hero-intro{font-size:18px;max-width:440px;line-height:1.7;margin-bottom:30px}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.btn-primary{--bs-btn-bg:var(--blue);--bs-btn-border-color:var(--blue);--bs-btn-hover-bg:#0648af;--bs-btn-hover-border-color:#0648af;--bs-btn-active-bg:#0648af;--bs-btn-active-border-color:#0648af;font-size:13px;padding:14px 21px;border-radius:4px;font-weight:500}.btn-primary span{margin-left:19px}.btn:hover{text-decoration:none}.text-link{font-size:14px;font-weight:500;display:inline-block;padding-block:8px}.location{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:.03em;margin:48px 0 0;color:#5e7189}.location>span:first-child{font-size:15px;color:var(--blue);margin-right:6px}.divider{padding:0 13px;color:#a6b7cc}.classification-figure{margin:0 -12px 0 0}.classification-figure svg{width:100%;height:auto;overflow:visible}.classification-figure figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:2px 22px 0;font-size:10px;color:var(--muted)}.classification-figure small{display:block;color:#61748b;font-size:9px}.graphic-toggle{font:inherit;color:var(--blue);border:0;border-bottom:1px solid #9cbce8;background:none;padding:12px 0;text-align:left}.data-points circle{transition:transform 1.2s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay)}.scattered .data-points circle{transform:translate(var(--dx),var(--dy))}.research-section{padding:75px 0 36px;background:var(--wash);border-block:1px solid var(--line)}.section-top{display:grid;grid-template-columns:1fr 1.15fr;column-gap:70px;margin-bottom:46px}.section-top .eyebrow{grid-column:1/-1;margin-bottom:23px}.section-top h2,.about-section h2{font-size:40px;margin:0}.section-top>p:last-child{font-size:16px;max-width:460px;margin:3px 0 0}.research-row{display:grid;grid-template-columns:60px 1fr 1.15fr;gap:25px;padding:33px 0;border-top:1px solid var(--line)}.row-number{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;color:#526984;padding-top:5px}.research-row h3{font-size:24px;letter-spacing:-.03em;line-height:1.3}.research-row p{font-size:15px;line-height:1.75;max-width:440px;margin-bottom:7px}.research-row .text-link{font-size:12px}.about-section{padding-block:96px}.about-section .eyebrow{margin-bottom:22px}.about-section .about-lead{font-size:19px;line-height:1.7;color:var(--ink)}.about-section p{font-size:15px}.inline-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:24px}.inline-links a{font-size:12px}.contact-section{border-top:1px solid var(--line);padding-block:55px 64px}.contact-section h2{font-size:44px;margin-bottom:20px}.contact-section>.text-link{font-size:17px;overflow-wrap:anywhere}.site-footer{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-block:30px 40px;font-size:12px}.footer-brand{color:var(--ink);font-weight:600}.footer-brand span{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.site-footer>div{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.site-footer>div>a{color:var(--muted)}.page-heading{padding-top:70px;padding-bottom:45px}.page-heading h1{font-size:clamp(40px,5vw,66px);letter-spacing:-.055em;margin-bottom:25px}.page-heading .lead{font-size:18px;max-width:630px;line-height:1.7;margin:0}.downloads{padding-bottom:46px}.downloads>h2{font-size:18px;letter-spacing:-.02em;margin-bottom:20px}.download-links{display:flex;gap:20px}.download-link{flex:1;display:flex;align-items:center;justify-content:space-between;border-top:2px solid var(--blue);border-bottom:1px solid var(--line);padding:19px 0;font-size:18px;gap:15px}.download-link small{display:block;font:10px/2 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted)}.download-link>span:last-child{font-size:25px;padding-right:12px}.career{padding-bottom:55px}.career-row{display:grid;grid-template-columns:190px 1fr;gap:32px;border-top:1px solid var(--line);padding-block:36px;scroll-margin-top:105px}.date{color:var(--blue);font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;padding-top:4px}.career-row>div{max-width:760px}.career-row h2{font-size:23px;line-height:1.4;letter-spacing:-.025em;margin-bottom:19px}.career-row p:not(.date),.career-row li{font-size:16px;line-height:1.85;color:var(--muted)}.career-row ul{padding-left:20px}.career-row li{padding-left:5px;margin-bottom:7px}.publications{padding-bottom:65px}.publication-tools{display:flex;justify-content:space-between;align-items:end;gap:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}.search-wrap{width:360px;max-width:100%}.search-wrap label{font-size:12px;color:var(--ink);margin-bottom:8px}.form-control{border-radius:3px;border-color:#b8c8dc;font-size:14px;padding:12px 15px}.results-label{font:11px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;margin:25px 0 0}.publication-list{padding-left:28px}.publication-list>li{padding:25px 0 25px 18px;border-bottom:1px solid var(--line);font-size:15px}.publication-list>li::marker{font-size:11px;color:var(--blue);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.publication-list p{line-height:1.85;margin-bottom:10px;max-width:970px;overflow-wrap:anywhere}.paper-link{font-size:12px;padding-block:8px;display:inline-block}.category-nav{display:flex;gap:32px;flex-wrap:wrap;padding-bottom:27px;border-bottom:1px solid var(--line);font-size:13px}.category-nav a{padding-block:10px}.app-section{display:grid;grid-template-columns:230px 1fr;gap:30px;padding-block:44px 20px;scroll-margin-top:100px}.app-heading{display:flex;gap:15px;align-items:baseline}.app-heading h2{font-size:25px;letter-spacing:-.03em}.app-heading>span{color:#526984;font-family:monospace;font-size:11px}.app-row{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line)}.app-row:first-child{padding-top:0}.app-row h3{font-size:21px;letter-spacing:-.025em;line-height:1.4;transition:color .2s}.app-row p{font-size:14px;line-height:1.6;margin:0}.app-row:hover{text-decoration:none}.app-row:hover h3{color:var(--blue)}.app-action{flex:0 0 150px;text-align:right;font-size:11px}.app-action>span{font-size:20px;margin-left:12px}.app-section:last-child{padding-bottom:70px}[hidden]{display:none!important}@view-transition{navigation:auto}
@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:80px}}
@media(max-width:991px){.container{padding-inline:32px}.hero{padding-top:55px}.hero h1{font-size:68px}.classification-figure{max-width:480px;margin:5px auto 0}.hero .col-lg-5{max-width:520px}.hero .row{align-items:start!important}.hero .col-lg-7{width:58%}.hero .col-lg-5{width:42%;padding-top:45px}.hero h1{font-size:55px}.hero-intro{font-size:16px}.classification-figure figcaption{flex-direction:column;align-items:start}.navbar-nav{gap:8px}.section-top{gap:25px}.research-row{grid-template-columns:35px 1fr 1.15fr;gap:20px}.career-row{grid-template-columns:145px 1fr}.app-section{grid-template-columns:170px 1fr}.app-action{flex-basis:100px}.site-footer>div{gap:15px}.section-top h2,.about-section h2{font-size:34px}}
@media(max-width:767px){html{scroll-padding-top:84px}.container{padding-inline:24px}.navbar{min-height:75px}.navbar-brand{font-size:14px}.brand-mark{font-size:35px}.navbar-nav{gap:0;padding:10px 0 18px}.navbar .nav-link{font-size:15px;padding:12px 0}.navbar .nav-link.active:after{left:0;right:auto;width:25px}.hero{padding-top:44px;padding-bottom:38px}.hero .col-lg-7,.hero .col-lg-5{width:100%}.hero .col-lg-5{padding-top:0;max-width:100%}.hero h1{font-size:clamp(44px,8.7vw,64px);line-height:1.06;margin-bottom:22px}.hero .eyebrow{font-size:9px;margin-bottom:23px}.hero-intro{font-size:16px;max-width:440px}.hero-actions{gap:25px}.location{font-size:9px;margin-top:29px;line-height:1.8}.divider{padding-inline:5px}.classification-figure{max-width:355px;margin:0 auto}.classification-figure svg{max-height:310px}.classification-figure figcaption{flex-direction:row;margin-inline:17px;font-size:9px}.classification-figure small{font-size:8px}.research-section{padding-top:45px;padding-bottom:15px}.section-top{grid-template-columns:1fr;gap:18px;margin-bottom:26px}.section-top .eyebrow{margin-bottom:0}.section-top h2,.about-section h2{font-size:34px}.section-top>p:last-child{font-size:15px;max-width:100%}.research-row{grid-template-columns:25px 1fr;gap:12px;padding-block:26px}.research-row>div{grid-column:2}.research-row h3{font-size:22px;margin-bottom:0}.research-row h3 br{display:none}.research-row p{font-size:14px}.research-row .text-link{font-size:12px}.about-section{padding-block:54px}.about-section .row{--bs-gutter-y:1.7rem}.about-section .about-lead{font-size:18px}.inline-links{gap:20px}.contact-section{padding-block:40px}.contact-section h2{font-size:36px}.contact-section>.text-link{font-size:14px}.site-footer{flex-direction:column;padding-block:25px}.site-footer>div{font-size:11px;gap:12px 22px}.page-heading{padding-top:43px;padding-bottom:34px}.page-heading h1{font-size:44px}.page-heading .lead{font-size:16px}.page-heading .eyebrow{font-size:10px;margin-bottom:19px}.download-links{gap:18px;flex-direction:column}.download-link{font-size:19px;padding-block:12px}.download-link small{display:inline;margin-left:15px}.downloads{padding-bottom:30px}.career-row{grid-template-columns:1fr;gap:4px;padding-block:26px}.career-row .date{margin-bottom:9px}.career-row h2{font-size:21px}.career-row p:not(.date),.career-row li{font-size:15px;line-height:1.85}.publication-tools{align-items:start;flex-direction:column;gap:15px}.publication-tools>.text-link{font-size:12px}.search-wrap{width:100%}.publication-list{padding-left:21px}.publication-list>li{padding-left:8px;font-size:14px}.app-section{grid-template-columns:1fr;gap:15px;padding-block:32px 8px}.app-heading h2{font-size:27px}.category-nav{gap:22px;font-size:12px}.app-row{align-items:start;gap:14px}.app-row h3{font-size:19px}.app-row p{font-size:13px}.app-action{font-size:0;flex:0 0 23px}.app-action>span{font-size:22px;margin:0}.eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;view-transition-name:none!important}}
@media print{.site-header,.site-footer,.search-wrap,.hero-actions,.graphic-toggle,.skip-link{display:none!important}.container{max-width:100%;padding-inline:0}.page-heading{padding-top:0}.career-row{break-inside:avoid;grid-template-columns:130px 1fr}.career{padding-bottom:0}body{font-size:11pt}.career-row p:not(.date),.career-row li{font-size:10pt}a{color:#142b48}.publication-list>li{break-inside:avoid}.downloads{padding-bottom:15px}}

/* Header contact disclosure: native keyboard support and no-JS fallback. */
.contact-menu{position:relative}.contact-menu>summary{list-style:none;cursor:pointer;margin-bottom:0;user-select:none;min-height:44px}.contact-menu>summary::-webkit-details-marker{display:none}.contact-menu>summary:hover{color:var(--blue)}.contact-chevron{font-size:18px;color:var(--blue);margin-left:2px;transition:transform .2s}.contact-menu[open] .contact-chevron{transform:rotate(180deg)}.contact-panel{position:absolute;top:calc(100% + 19px);left:0;width:350px;max-width:calc(100vw - 48px);padding:22px 24px 12px;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:0 0 8px 8px;background:#fff;box-shadow:0 18px 48px #142b4821;z-index:110;transform-origin:top left}.contact-menu[open] .contact-panel{animation:contact-reveal .22s ease-out both}.contact-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-panel .eyebrow{margin:0;font-size:10px}.contact-close{border:0;background:transparent;color:var(--muted);font-size:24px;line-height:1;min-width:44px;min-height:44px;margin:-10px -12px -6px 0;border-radius:4px}.contact-close:hover{background:var(--wash);color:var(--blue)}.contact-name{font-size:23px;letter-spacing:-.04em;color:var(--ink);margin:15px 0 12px}.contact-panel>a{display:grid;grid-template-columns:1fr auto;column-gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.contact-panel>a .contact-label{grid-column:1/-1;font:9px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;color:var(--muted);margin-bottom:3px}.contact-panel>a>span:last-child{grid-column:2}.contact-panel>a:hover{text-decoration:none}.contact-panel>a:hover>span:nth-child(2){text-decoration:underline;text-underline-offset:4px}@keyframes contact-reveal{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:767px){.contact-panel{top:calc(100% + 14px);padding:20px 20px 10px}.contact-chevron{font-size:16px}.contact-menu>summary{gap:9px}}@media(prefers-reduced-motion:reduce){.contact-menu[open] .contact-panel{animation:none}.contact-chevron{transition:none}}@media print{.contact-menu{display:none}}
