:root{--purple:#142d4e;--purple-dark:#10253f;--gold:#e5b92e;--ink:#334155;--muted:#64748b;--line:#e2e8f0;--paper:#f8fafc;--white:#fff;--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:16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--purple);text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px;color:var(--purple-dark)}a:focus-visible{outline:3px solid #be9600;outline-offset:5px;border-radius:2px}img{max-width:100%;display:block}p{margin:0 0 16px}p:last-child{margin-bottom:0}ul,ol{padding-left:23px;margin:12px 0 18px}li{margin-bottom:8px}li:last-child{margin-bottom:0}li p{margin-bottom:6px}h1,h2,h3{line-height:1.25;margin-top:0;overflow-wrap:break-word}h1{font:700 clamp(38px,4.5vw,58px)/1.1 var(--serif);letter-spacing:-.035em;color:var(--purple);margin-bottom:20px}h2{font-size:23px;font-weight:750;letter-spacing:-.02em;color:var(--purple);margin-bottom:18px}strong{font-weight:750}.site-header{background:var(--purple);border-top:5px solid var(--gold);box-shadow:0 2px 10px #10253f10}.site-header nav{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:center;gap:32px;padding:0 24px;flex-wrap:wrap}.site-header nav a{color:white;text-decoration:none;padding:22px 0 18px;font-size:15px;line-height:1.4;border-bottom:4px solid transparent;white-space:nowrap}.site-header nav a:hover{color:var(--gold)}.site-header nav a[aria-current=page]{border-color:var(--gold);color:var(--gold);font-weight:700}.skip{position:absolute;top:0;left:-9999px;z-index:100}.skip:focus{left:16px;background:var(--gold);padding:12px 18px}main{max-width:1180px;margin:0 auto;padding:54px 30px 80px;min-height:75vh}.page-heading{max-width:860px;margin-bottom:36px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.19em;font-weight:750;color:var(--purple);margin-bottom:13px}.page-summary{font-size:18px;line-height:1.6;color:var(--muted);max-width:760px}.page-heading h1::after{content:'';display:block;height:4px;width:56px;background:var(--gold);margin-top:21px}.card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:30px 34px;margin-bottom:25px;box-shadow:0 5px 20px #25123804}.card:last-child{margin-bottom:0}.intro-text{max-width:990px;font-size:17px;line-height:1.85;margin-bottom:25px}.section-title{font:700 31px/1.2 var(--serif);margin:46px 0 24px;color:var(--purple)}.document-link{margin-bottom:30px}.document-link a,.document-links a,.text-link{font-weight:650;font-size:14px}.document-links{display:flex;gap:26px;flex-wrap:wrap;margin:24px 0}.card-top{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.card-top h2{margin-bottom:9px}.date{font-size:13px;line-height:1.5;font-weight:750;color:var(--purple);white-space:nowrap;background:#edf6f7;padding:5px 12px;border-radius:4px;display:inline-block}.institution{color:var(--muted);font-size:15px;margin-bottom:21px}.details{border-top:1px solid var(--line);padding-top:21px}.details:empty{display:none}.details p{margin-bottom:13px}.education-card{border-left:4px solid var(--gold)}.visual-card{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:30px;padding:30px;align-items:start}.visual-card figure{margin:0;min-width:0;background:white;border:1px solid #efebf3;border-radius:6px;overflow:hidden;align-self:start}.visual-card figure a{display:block}.visual-card figure img{width:100%;height:auto;max-height:300px;object-fit:contain;padding:14px}.card-copy{min-width:0}.card-copy h2{font-size:23px;font-weight:800;margin-bottom:18px}.card-copy p,.card-copy li{font-size:15px;line-height:1.8}.research-card figure{margin-top:5px}.research-card{border-top:3px solid var(--purple)}.award-card{align-items:center}.award-card figure img{padding:0;max-height:340px;object-fit:contain}.award-card{border-left:4px solid var(--gold)}.software-card figure img{min-height:150px;max-height:220px}.project-subtitle{font-weight:650;color:var(--muted);font-size:13px!important;line-height:1.5!important;margin-top:-9px}.skills-card{align-items:center}.skills-card ul{margin-top:0}.section-intro>p{max-width:880px}.section-intro{margin-bottom:28px}.job-heading{display:flex;align-items:baseline;gap:20px}.job-heading h2{font-size:21px;margin:0}.teaching-card .institution{margin-top:10px;margin-bottom:0}.responsibilities{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.responsibilities ul{margin-top:0;margin-bottom:0}.teaching-card{border-left:4px solid var(--purple)}blockquote{margin:26px 0;border-left:4px solid var(--gold);padding:8px 0 8px 24px;font:italic 22px/1.6 var(--serif);color:var(--purple)}blockquote cite{display:block;font:500 12px/1.8 var(--sans);color:var(--muted);margin-top:5px}.conference-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:26px;background:white;border:1px solid var(--line);padding:28px;border-radius:10px;margin:0 0 32px}.conference-logos img{width:100%;height:90px;object-fit:contain}.conference-card h2{font-size:20px}.conference-card{border-left:4px solid var(--gold)}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:45px;align-items:center;background:var(--purple);border-radius:12px;border-bottom:6px solid var(--gold);padding:45px;margin-bottom:32px;color:white;position:relative}.home-hero .eyebrow{color:var(--gold)}.home-hero h1{color:white;font-size:clamp(36px,4vw,53px);line-height:1.14;margin:20px 0 24px}.home-hero .degree{font-size:.5em;white-space:nowrap;letter-spacing:0}.role{font-size:19px;font-weight:600;line-height:1.5;max-width:480px;margin-bottom:10px}.division{font-size:15px;color:#e9dfF6;max-width:450px}.portrait{width:280px;height:340px;object-fit:cover;object-position:center 25%;border-radius:7px;box-shadow:9px 9px 0 #e5b92e}.hero-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:28px}.hero-links a{color:white;font-size:14px;font-weight:650}.hero-links a:hover{color:var(--gold)}.hero-links span{color:var(--gold);margin-left:5px}.biography h2{font:700 30px/1.2 var(--serif)}.biography{font-size:17px;padding:32px 38px}.interest-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.interest-strip span{font-size:12px;color:var(--purple);padding:6px 13px;border:1px solid #d4e9eb;border-radius:30px;background:#edf6f7}footer{background:var(--purple-dark);border-top:4px solid var(--gold);color:white;padding:29px max(30px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:13px}footer strong{display:block;font-size:14px}footer span{display:block;color:#d9e5f0;margin-top:2px}footer a{color:white}
@media(min-width:1000px){.research-card figure{position:sticky;top:25px}}
@media(max-width:900px){.site-header nav{gap:23px}.home-hero{grid-template-columns:minmax(0,1fr) 230px;padding:30px;gap:30px}.portrait{width:230px;height:310px}.visual-card{grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:24px;padding:24px}.card-copy h2{font-size:21px}.job-heading{gap:14px}.job-heading h2{font-size:19px}}
@media(max-width:700px){.site-header nav{gap:0 23px;padding:8px 16px}.site-header nav a{font-size:13px;padding:10px 0 8px}main{padding:32px 18px 50px}.page-heading{margin-bottom:28px}.page-summary{font-size:16px}.card{padding:23px}.card-top{flex-direction:column;gap:4px}.card-top .date{margin-bottom:12px}.card-top h2{font-size:21px}.institution{font-size:14px}.visual-card{display:flex;flex-direction:column;gap:22px}.visual-card figure{width:100%;margin:0}.visual-card figure img{max-height:245px;min-height:0;padding:12px}.award-card figure img{padding:0;max-height:330px}.card-copy h2{font-size:22px}.home-hero{display:flex;flex-direction:column-reverse;align-items:stretch;gap:32px;padding:28px 25px}.portrait{align-self:center;width:200px;height:265px}.home-hero h1{font-size:37px}.home-hero .role{font-size:17px}.biography{font-size:16px}.job-heading{flex-wrap:wrap;gap:12px}.job-heading h2{font-size:20px}.conference-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:20px}.conference-logos img{height:65px}.section-title{font-size:28px}.intro-text{font-size:16px}footer{flex-direction:column;align-items:flex-start;padding:26px 22px}.skills-card li{font-size:14px}.interest-strip{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Navy, white and teal with golden accents */
.site-header{background:#fff;border-top:4px solid #087e8b;border-bottom:3px solid #e5b92e;box-shadow:none}.site-header nav a{color:#334155}.site-header nav a[aria-current=page],.site-header nav a:hover{color:#087e8b}.site-header nav a[aria-current=page]{border-color:#087e8b}
a{color:#087e8b}h1,h2,h3{color:#142d4e}.eyebrow{color:#087e8b}.card{border-color:#e2e8f0;border-top:3px solid #e5b92e;box-shadow:none}.home-hero{background:#fff;color:#334155;border:1px solid #e2e8f0;border-bottom:3px solid #e5b92e;padding:38px 44px}.home-hero h1{color:#142d4e}.home-hero .eyebrow{color:#087e8b}.home-hero .role{color:#142d4e}.home-hero .division{color:#64748b}.portrait{box-shadow:none}.date{background:#edf6f7;color:#087e8b}.interest-strip span{background:#edf6f7;color:#176773;border-color:#d4e9eb}footer{background:#142d4e;border-top:3px solid #e5b92e}footer a{color:white}
@media(max-width:700px){.home-hero{padding:28px 25px}}

/* Keep footer contact details together on the left. */
footer{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;align-items:start;justify-items:start}
footer>div{display:contents}
footer strong{grid-row:1}
footer>a{grid-row:2}
footer span{grid-row:3;margin-top:0}
