@import"https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;1,8..60,400;1,8..60,500&family=Inter:wght@400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #8A2E2E;--navy-dark: #5E1F1F;--gold: #8A2E2E;--light-gold: #EFE8DC;--bg: #F7F3EC;--bg-subtle: #EFE8DC;--white: #FFFDF9;--text: #1C1A17;--text-light: #5E5A54;--border: #DAD2C5;--link: #8A2E2E;--link-hover: #1C1A17;--max-width: 1040px;--serif: "Source Serif 4", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{font-family:var(--serif);font-size:17px;line-height:1.65;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em;text-decoration-color:#8a2e2e66;transition:color .15s,text-decoration-color .15s}a:hover{color:var(--link-hover);text-decoration-color:currentColor}h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.15;color:var(--text);letter-spacing:-.005em}p{margin-bottom:1rem}strong,b{font-weight:600}.label,.kicker,.card h2,.cv-section h2{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-light)}h2.label,.section>.label{display:flex;align-items:center;gap:.9rem;margin-bottom:1.4rem}h2.label:after,.section>.label:after{content:"";flex:1;height:1px;background:var(--border)}.kicker{color:var(--navy);margin-bottom:.6rem}header{background-color:var(--bg);border-bottom:1px solid var(--border);position:relative;z-index:100}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:64px}.site-name{font-family:var(--serif);font-size:1.35rem;font-weight:500;color:var(--text);letter-spacing:.01em;white-space:nowrap}nav ul{list-style:none;display:flex;gap:.25rem}nav a{font-family:var(--sans);color:var(--text-light);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.45rem .7rem;border-bottom:2px solid transparent;text-decoration:none;transition:color .15s,border-color .15s}nav a:hover,nav a.active{color:var(--text);border-bottom-color:var(--navy);text-decoration:none}.hero{background:var(--bg);border-bottom:1px solid var(--border);padding:2.25rem 1.5rem 2.75rem}.hero-inner{max-width:var(--max-width);margin:0 auto}.hero-inner:after{content:"";display:table;clear:both}.hero-kicker{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-bottom:.9rem;padding-top:.8rem;border-top:2px solid var(--text)}.hero h1{font-family:var(--serif);font-size:4.2rem;font-weight:500;line-height:1;letter-spacing:-.015em;color:var(--text);margin-bottom:1.4rem}.hero-dek{font-family:var(--serif);font-size:1.45rem;font-weight:500;line-height:1.35;color:var(--text);max-width:40ch;margin-bottom:1.75rem}.hero-meta{display:grid;grid-template-columns:repeat(2,auto);gap:1.1rem 2.5rem;justify-content:start;border-top:1px solid var(--border);padding-top:1.25rem;margin-bottom:1.75rem}.hero-sub{font-size:1.08rem;line-height:1.6;color:var(--text-light);max-width:62ch;margin-bottom:1.75rem}.hero-meta dt{font-family:var(--sans);font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-light);margin-bottom:.2rem}.hero-meta dd{font-size:.95rem;line-height:1.4;color:var(--text)}.hero-figure{float:right;width:360px;margin:0 0 1.25rem 2.25rem;padding-top:.2rem;border-top:2px solid var(--text)}.hero-photo{width:100%;aspect-ratio:1 / 1;border-radius:0;margin-top:.6rem;object-fit:cover;object-position:center;display:block}.hero-photo-placeholder{width:100%;aspect-ratio:1 / 1;border-radius:2px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background-color:var(--light-gold);color:var(--text-light);font-size:.8rem;text-align:center;line-height:1.4}.hero .subtitle{font-size:1.2rem;color:var(--text);margin-bottom:.2rem}.hero .institution{font-size:1.05rem;color:var(--text-light);font-style:italic}.hero-links{display:flex;gap:.6rem;flex-wrap:wrap}.btn{display:inline-block;padding:.65rem 1.25rem;border-radius:2px;font-size:.72rem;font-family:var(--sans);font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.2;border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s;text-decoration:none}.btn-outline{border-color:var(--text);color:var(--text);background:transparent}.btn-outline:hover{background:var(--text);color:var(--bg);text-decoration:none}.btn-solid{background:var(--navy);border-color:var(--navy);color:#fff}.btn-solid:hover{background:var(--navy-dark);border-color:var(--navy-dark);color:#fff;text-decoration:none}.page-container{max-width:var(--max-width);margin:0 auto;padding:2.25rem 1.5rem 4rem}.page-head{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;padding-bottom:1.4rem;margin-bottom:2.25rem;border-bottom:1px solid var(--border)}.page-head h1{font-size:2.5rem;letter-spacing:-.015em;line-height:1;margin-bottom:.7rem}.dek{font-family:var(--serif);font-size:1.1rem;line-height:1.5;color:var(--text-light);max-width:58ch;margin-bottom:0}.page-head-actions{padding-bottom:.35rem}.page-title{font-family:var(--serif);font-size:2.75rem;font-weight:500;letter-spacing:-.01em;color:var(--text);margin-bottom:2.5rem}.page-title:after{content:"";display:block;width:48px;height:2px;background:var(--navy);margin-top:.9rem}.section{margin-bottom:3.25rem}.section:last-child{margin-bottom:0}.prose{max-width:64ch;font-size:1.08rem;line-height:1.72}.dropcap>p:first-of-type:first-letter{float:left;font-family:var(--serif);font-size:4.6rem;font-weight:500;line-height:.78;padding:.5rem .55rem 0 0;color:var(--navy)}.coda{max-width:64ch;font-size:1.08rem;font-style:italic;color:var(--text-light);border-left:2px solid var(--navy);padding-left:1.25rem;margin-top:.5rem}.layout-rail{display:grid;grid-template-columns:170px 1fr;gap:4rem;align-items:start}.rail{position:sticky;top:1.5rem;display:flex;flex-direction:column;border-left:1px solid var(--border)}.rail a{font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);text-decoration:none;padding:.45rem 0 .45rem 1rem;margin-left:-1px;border-left:2px solid transparent;transition:color .15s,border-color .15s}.rail a:hover{color:var(--text);border-left-color:var(--navy)}.rail-content{min-width:0}.features{padding:2rem 0 2.25rem;margin-bottom:3.5rem;border-bottom:1px solid var(--border)}.features>.label{display:flex;align-items:center;gap:.9rem;margin-bottom:1.6rem}.features>.label:after{content:"";flex:1;height:1px;background:var(--border)}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 2rem}.feature{display:block;color:var(--text);text-decoration:none;padding-left:1.5rem;border-left:1px solid var(--border)}.feature:first-child{padding-left:0;border-left:0}.feature-num{display:block;font-family:var(--serif);font-size:.95rem;color:var(--navy);margin-bottom:.75rem}.feature-kicker{display:block;font-family:var(--sans);font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-light);margin-bottom:.4rem}.feature h3{font-size:1.45rem;line-height:1.15;margin-bottom:.5rem;transition:color .15s}.feature p{font-size:.98rem;line-height:1.5;color:var(--text-light);margin-bottom:0}.feature:hover h3{color:var(--navy)}.home-layout{display:grid;grid-template-columns:1fr 300px;gap:5rem;align-items:start}.sidebar .section{margin-bottom:2.75rem}.course-list{list-style:none;margin:0 0 1.25rem}.course-list li{display:grid;grid-template-columns:110px 1fr;gap:0 1.25rem;align-items:baseline;padding:.45rem 0;border-bottom:1px solid var(--border);font-size:1.02rem}.course-list time{font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light)}.course-list small{display:block;font-size:.9rem;color:var(--text-light)}.interest-list{list-style:none;counter-reset:interest;columns:2;column-gap:2.5rem;margin-bottom:1.25rem}.interest-list li{counter-increment:interest;break-inside:avoid;display:flex;gap:.8rem;align-items:baseline;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:1.02rem}.interest-list li:before{content:counter(interest,decimal-leading-zero);font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.08em;color:var(--navy);flex:0 0 auto}.timeline{list-style:none;border-left:1px solid var(--border)}.timeline li{position:relative;padding:0 0 1.4rem 1.25rem}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;left:-4px;top:.42rem;width:7px;height:7px;border-radius:50%;background:var(--navy)}.timeline time{display:block;font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);margin-bottom:.25rem}.timeline p{font-size:.95rem;line-height:1.55;margin-bottom:0}.link-list{list-style:none}.link-list li{border-bottom:1px solid var(--border)}.link-list a{display:block;padding:.6rem 0;font-size:.98rem;color:var(--text);text-decoration:none}.link-list a.ext:after{content:" ↗";font-size:.8em;color:var(--text-light)}.link-list a:hover{color:var(--navy)}.thread{display:grid;grid-template-columns:64px 1fr;gap:1.5rem;margin-top:2rem;max-width:72ch}.thread-num{font-family:var(--serif);font-size:2.4rem;font-weight:500;line-height:1;color:var(--navy);padding-top:.15rem}.thread-body h3{font-size:1.4rem;margin-bottom:.5rem}.thread-body p{font-size:1.04rem;margin-bottom:0}.project{display:grid;grid-template-columns:64px 1fr;gap:1.5rem;padding:2rem 0;border-top:1px solid var(--border)}.project:first-of-type{border-top:0;padding-top:.5rem}.project-num{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--navy);padding-top:.55rem}.project-body h3{font-size:1.55rem;line-height:1.15;margin-bottom:.4rem}.project-body p{font-size:1.02rem;max-width:72ch}.project-body p:last-child{margin-bottom:0}.project-body .more a{font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 1rem}.tag{display:inline-block;background:var(--light-gold);color:var(--navy-dark);font-family:var(--sans);font-size:.64rem;padding:.25rem .55rem;border-radius:2px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}h3.sub{font-family:var(--serif);font-size:1.15rem;font-style:italic;font-weight:500;color:var(--text-light);margin:1.75rem 0 .5rem}h3.sub:first-of-type{margin-top:0}.pub{display:grid;grid-template-columns:100px 1fr;gap:1.5rem;padding:.9rem 0;border-top:1px solid var(--border)}.pub-year{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);padding-top:.35rem}.pub p{font-size:.98rem;line-height:1.6;margin-bottom:0}.pub a{word-break:break-all}.card{background:var(--white);border:1px solid var(--border);border-radius:2px;padding:1.75rem;margin-bottom:1.75rem}.card h2{margin-bottom:1.1rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.card h3{font-size:1.25rem;color:var(--text);margin-bottom:.4rem}main.editorial .card{background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:1.6rem 0 .75rem;margin-bottom:1.5rem}main.editorial .card h2{border-bottom:0;padding-bottom:0;margin-bottom:1rem}.home-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:0 3.5rem}.research-project{margin-bottom:2.25rem;padding-bottom:2.25rem;border-bottom:1px solid var(--border)}.research-project:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.research-project h3{font-size:1.5rem;margin-bottom:.35rem}.cv-section{margin-bottom:3rem}.cv-section h2{display:flex;align-items:center;gap:.9rem;margin-bottom:1.4rem}.cv-section h2:after{content:"";flex:1;height:1px;background:var(--border)}.cv-section h3{font-family:var(--serif);font-size:1.1rem;font-style:italic;font-weight:500;color:var(--text-light);margin:1.75rem 0 .35rem}.cv-section h2+h3{margin-top:0}.cv-entry{display:grid;grid-template-columns:150px 1fr;gap:0 1.5rem;padding:.7rem 0;align-items:baseline;border-top:1px solid var(--border)}.cv-section h2+.cv-entry,.cv-section h3+.cv-entry{border-top:0;padding-top:0}.cv-year{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.08em;line-height:1.5;text-transform:uppercase;color:var(--text-light);text-align:right}.cv-details>*+*{margin-top:.15rem}.cv-details strong{display:block;color:var(--text);font-size:1.08rem;font-weight:500;line-height:1.35}.cv-details em{display:block;color:var(--text-light);font-size:.95rem;font-style:italic;line-height:1.5}.cv-details span{display:block;font-size:.95rem;color:var(--text-light);line-height:1.55}.cv-details span em,.cv-details strong em{display:inline;font-size:inherit;line-height:inherit;color:inherit}.cv-download-bar{background:var(--light-gold);border:1px solid var(--border);border-radius:2px;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem}.cv-download-bar p{margin:0;color:var(--text);font-size:.95rem}.toolkit-embed{width:100%;min-height:650px;border:1px solid var(--border);border-radius:2px;background:var(--white)}.toolkit-placeholder{background:var(--white);border:1px dashed var(--border);border-radius:2px;padding:4rem 2rem;text-align:center;color:var(--text-light)}.toolkit-placeholder svg{width:56px;height:56px;fill:var(--border);margin-bottom:1rem}.toolkit-placeholder h3{color:var(--text-light);font-size:1.2rem;margin-bottom:.5rem}footer{background-color:var(--bg);color:var(--text-light);text-align:center;padding:2rem 1.5rem;font-family:var(--sans);font-size:.76rem;letter-spacing:.01em;margin-top:2rem;border-top:1px solid var(--border)}footer a{color:var(--navy)}.text-muted{color:var(--text-light)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.btn-dropdown{position:relative;display:inline-block}.btn-dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--white);border:1px solid var(--border);border-radius:2px;box-shadow:0 8px 24px #1c1a171a;min-width:150px;padding:.3rem 0;z-index:200}.btn-dropdown:hover .btn-dropdown-menu,.btn-dropdown:focus-within .btn-dropdown-menu{display:block}.btn-dropdown-menu a{display:block;padding:.5rem 1.1rem;font-family:var(--sans);font-size:.7rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.1em;text-decoration:none;white-space:nowrap}.btn-dropdown-menu a:hover{background-color:var(--light-gold);color:var(--text);text-decoration:none}@media(max-width:900px){.hero-figure{width:250px;margin-left:1.75rem}.hero h1{font-size:3.4rem}.home-layout{grid-template-columns:1fr;gap:3rem}.layout-rail{grid-template-columns:1fr;gap:1.5rem}.rail{position:static;flex-direction:row;flex-wrap:wrap;gap:.25rem .5rem;border-left:0;border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:1rem}.rail a{padding:.3rem .5rem;margin-left:0;border-left:0;border-bottom:2px solid transparent}.rail a:hover{border-bottom-color:var(--navy)}.features-grid{grid-template-columns:1fr;gap:1.5rem 0}.feature{padding-left:0;border-left:0;padding-top:1.5rem;border-top:1px solid var(--border)}.feature:first-child{padding-top:0;border-top:0}}@media(max-width:720px){.hero{padding:2rem 1.5rem}.hero-figure{float:none;width:180px;margin:0 0 1.5rem;border-top:0;padding-top:0}.hero h1{font-size:2.8rem}.hero-dek{font-size:1.25rem}.hero-meta{grid-template-columns:1fr;gap:.9rem}.page-head{grid-template-columns:1fr;gap:1.25rem;align-items:start}.page-head h1,.page-title{font-size:2.1rem}.interest-list{columns:1}.thread,.project{grid-template-columns:1fr;gap:.5rem}.thread-num{font-size:1.6rem}.pub{grid-template-columns:1fr;gap:.25rem}}@media(max-width:600px){.header-inner{flex-direction:column;height:auto;padding:.75rem 1rem;gap:.5rem}nav ul{flex-wrap:wrap;justify-content:center}.cv-entry{grid-template-columns:1fr;gap:.15rem 0}.cv-year{text-align:left}}
