@charset "UTF-8";
:root{--paper:#f7f7f2;--white:#fff;--ink:#202e2a;--muted:#596660;--green:#214d3e;--line:#d9dfd7;--soft:#e9eee6;--blue:#244e70;--tight:#dbe8f1;--modtight:#edf3f7;--neutral:#f3f4f0;--modloose:#fcf2e2;--loose:#f5e2c5;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--green);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}img{max-width:100%;display:block}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,svg:focus-visible{outline:3px solid #ae7632;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:#18352b;font-family:var(--serif);font-weight:400;line-height:1.15}h1{font-size:clamp(2.8rem,5.1vw,4.8rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.03em}h3{font-size:1.4rem;line-height:1.35}p+p{margin-top:1.1em}.container{width:min(1120px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:24px;top:-80px;z-index:10;background:var(--green);color:white;padding:10px 20px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line)}.header-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{text-decoration:none;color:var(--ink);font:24px/1.15 var(--serif);letter-spacing:-.025em}.brand span{display:block;font:10px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.19em;color:var(--muted);margin-top:8px}.nav-links{display:flex;align-items:center;gap:25px}.nav-links a{font-size:13px;text-decoration:none;color:var(--muted);padding:12px 0;white-space:nowrap}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--green)}.nav-links a[aria-current=page]{box-shadow:inset 0 -2px var(--green)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 15px;color:var(--ink);border-radius:3px}.eyebrow{font:600 11px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:22px}.hero{display:grid;grid-template-columns:1.35fr .8fr;gap:88px;align-items:center;padding:76px 0 80px}.hero h1{max-width:660px;margin-bottom:28px}.hero .intro{font-size:19px;color:var(--muted);max-width:590px}.hero .intro strong{color:var(--ink);font-weight:500}.portrait{position:relative;margin:0 16px 0 0}.portrait:before{content:'';position:absolute;inset:22px -20px -20px 22px;background:var(--soft);z-index:-1}.portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 25%}.portrait figcaption{margin-top:15px;color:var(--muted);font-size:12px}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:12px 21px;min-height:46px;background:var(--green);border:1px solid var(--green);border-radius:3px;color:white;text-decoration:none;font-size:13px;font-weight:500}.button:hover{background:#173b2e;text-decoration:none}.button.secondary{background:transparent;color:var(--green);border-color:#aab9ad}.button.secondary:hover{background:var(--soft)}.text-link{font-size:14px;font-weight:500}.section{padding:58px 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:12px}.research-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.research-themes .number{font-size:12px;color:var(--muted);display:block;margin-bottom:16px}.research-themes h3{margin-bottom:12px}.research-themes p{font-size:14px;color:var(--muted)}.feature{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center;background:var(--soft);padding:42px}.feature h2{margin-bottom:20px}.feature p{font-size:15px;color:var(--muted)}.mini-chart{width:100%;height:190px;display:block}.feature-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:12px}.page-intro{padding:68px 0 44px;max-width:820px}.page-intro h1{margin-bottom:24px}.page-intro>p:last-child{font-size:18px;color:var(--muted);max-width:760px}.publication-section{display:grid;grid-template-columns:200px 1fr;gap:40px;padding:38px 0;border-top:1px solid var(--line)}.publication-section>h2{font:500 12px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding-top:7px}.paper{padding:0 0 27px;margin-bottom:25px;border-bottom:1px solid var(--line)}.paper:last-child{border:0;margin:0;padding-bottom:0}.paper h3{font-size:24px}.paper .byline{font-size:13px;color:var(--muted);margin-top:9px}.paper .paper-note{font-size:14px;color:var(--muted);margin-top:12px;max-width:700px}.course-list{list-style:none;padding:0;margin:0}.course-list li{display:flex;justify-content:space-between;gap:24px;align-items:baseline;border-bottom:1px solid var(--line);padding:17px 0}.course-list li:first-child{padding-top:0}.course-list .course-title{font-size:17px}.course-list small{font-size:12px;color:var(--muted);display:block}.course-list time{white-space:nowrap;font-size:13px;color:var(--muted)}.reading-text{max-width:720px;color:var(--muted)}.cv-embed{border:1px solid var(--line);width:100%;height:850px;background:white;margin:28px 0 20px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:36px 0 90px;border-top:1px solid var(--line)}.contact-grid h2{font-size:26px;margin-bottom:20px}.contact-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:25px}.contact-grid dd{margin:5px 0 0}.social-links{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}.site-footer{border-top:1px solid var(--line);margin-top:50px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0;font-size:12px;color:var(--muted)}.footer-inner a{color:var(--muted)}.chart-shell{background:var(--white);border:1px solid var(--line);padding:28px 32px}.chart-toolbar{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}.window-label{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:13px}.window-label output{font:27px/1.4 var(--serif);color:var(--green)}input[type=range]{accent-color:var(--green);width:100%;height:34px;margin:8px 0 0}.range-ends{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.chart-latest{text-align:right}.chart-latest small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.chart-latest strong{font:36px/1.3 var(--serif);color:var(--green);display:block}.chart-latest span{font-size:12px;color:var(--muted)}#ngdp-chart{margin-top:20px}#ngdp-chart svg{display:block;width:100%;overflow:visible}#ngdp-chart svg text{font-family:var(--sans);font-size:12px;fill:var(--muted)}.chart-inspector{border-top:1px solid var(--line);padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;font-variant-numeric:tabular-nums;min-height:55px}.chart-inspector label{font-size:12px;color:var(--muted)}.chart-inspector select{max-width:140px;padding:5px 9px;border:1px solid var(--line);background:white;border-radius:3px;color:var(--ink);font-size:14px}.chart-legend{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:20px;font-size:11px;color:var(--muted)}.chart-legend span{display:inline-flex;gap:7px;align-items:center}.swatch{width:13px;height:11px;display:inline-block}.chart-footnote{margin-top:18px;font-size:12px;color:var(--muted)}.chart-error{padding:24px 0;color:#842323}.download-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:26px}.source-note{font-size:12px;color:var(--muted)}.interpretations{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin:32px 0}.interpretations h3{font-size:23px;margin-bottom:12px}.interpretations p{font-size:14px;color:var(--muted)}details{border-top:1px solid var(--line);padding:19px 0}summary{font-weight:500;cursor:pointer;list-style-position:outside;margin-left:20px}details .detail-content{padding:18px 20px 3px;font-size:15px;color:var(--muted);max-width:870px}details li+li{margin-top:10px}.formula{padding:18px;background:var(--soft);margin:18px 0;font-family:var(--serif);color:var(--ink);overflow-wrap:anywhere}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.data-table th{font-weight:500}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.hero{padding:100px 0}.container{width:min(1240px,calc(100% - 96px))}}
@media(max-width:900px){.header-inner{min-height:90px;gap:20px;flex-wrap:wrap;padding:20px 0}.nav-links{gap:17px}.hero{gap:40px;grid-template-columns:1.2fr .8fr;padding:50px 0 60px}.hero .intro{font-size:16px}.feature{gap:30px;padding:30px}.publication-section{grid-template-columns:150px 1fr;gap:30px}.brand{font-size:22px}}
@media(max-width:700px){.container{width:calc(100% - 36px)}.header-inner{min-height:86px}.menu-toggle{display:block}.nav-links{width:100%;display:flex;flex-wrap:wrap;gap:5px 22px;padding-top:10px}.js .nav-links{display:none}.js .nav-links.is-open{display:flex}.nav-links a{padding:10px 0;font-size:14px}.hero{grid-template-columns:1fr;gap:38px;padding:45px 0}.hero h1{font-size:clamp(2.9rem,10vw,4rem);max-width:500px}.hero .intro{font-size:17px}.portrait{max-width:310px;margin-left:auto;margin-right:20px}.portrait img{aspect-ratio:4/5}.eyebrow{font-size:10px;margin-bottom:18px}.research-themes{grid-template-columns:1fr;gap:25px}.research-themes article{padding-bottom:24px;border-bottom:1px solid var(--line)}.research-themes article:last-child{border:0;padding-bottom:0}.research-themes .number{float:left;margin:6px 17px 0 0}.research-themes p{margin-left:32px}.section{padding:40px 0}.feature{grid-template-columns:1fr;padding:25px;gap:25px}.section-heading{align-items:start;flex-direction:column;gap:14px}.page-intro{padding:44px 0 32px}.page-intro h1{font-size:3rem}.page-intro>p:last-child{font-size:16px}.publication-section{grid-template-columns:1fr;gap:22px;padding:28px 0}.paper h3{font-size:22px}.course-list li{flex-direction:column;gap:6px}.cv-embed{height:620px}.contact-grid{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.footer-inner{align-items:start;flex-direction:column;gap:10px}.chart-shell{padding:20px 12px}.chart-toolbar{gap:20px;grid-template-columns:1fr}.chart-latest{text-align:left;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}.chart-latest strong{font-size:27px}.chart-latest span{flex-basis:100%}.window-label output{font-size:24px}.chart-inspector{font-size:12px;gap:10px}.interpretations{grid-template-columns:1fr;gap:25px}.interpretations article{border-left:2px solid var(--line);padding-left:20px}.data-table th,.data-table td{padding:9px 5px;font-size:12px}details .detail-content{padding-inline:5px}.chart-legend{gap:9px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.menu-toggle,.actions,.download-row{display:none}body{background:white;color:black}.container{width:100%}.hero{padding:0}.page-intro{padding:10px 0}.chart-shell{break-inside:avoid}.cv-embed{height:900px}}

/* Keep linked paper titles at the same high contrast as other headings. */
h1 a,h2 a,h3 a{color:inherit}

/* Explicit text colors keep the embedded preview and site legible. */
p,label,summary,output,dd{color:inherit}
.window-label,.window-label label,.range-ends,.range-ends span{color:#18352b}
.window-label label{font-size:15px;font-weight:600}
.window-label output{color:#18352b;font-weight:500}
.range-ends{font-size:12px}
#window-slider{appearance:none;-webkit-appearance:none;background:transparent;opacity:1;padding:0;cursor:ew-resize}
#window-slider::-webkit-slider-runnable-track{height:8px;background:#577063;border-radius:4px}
#window-slider::-moz-range-track{height:8px;background:#577063;border-radius:4px}
#window-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin-top:-8px;background:#18352b;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #18352b}
#window-slider::-moz-range-thumb{width:20px;height:20px;background:#18352b;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #18352b}
details,details summary,details .detail-content,details .detail-content p,details .detail-content li{color:#202e2a}
.contact-grid p,.contact-grid dd{color:#202e2a}
.cv-page{padding-top:8px}
.cv-page .cv-embed{display:block}
.citation-note{font-size:13px}

/* A bounded PDF window keeps document scrolling inside the CV page. */
.cv-page .cv-embed{height:720px;border:1px solid #78887f;border-radius:3px}
@media(max-width:700px){.cv-page .cv-embed{height:560px}}
