@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--paper:#f7f7ed;--ink:#123d32;--green:#145341;--lime:#d9ef78;--line:#cbd2bf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #5479cf;outline-offset:6px}.skip{position:absolute;left:10px;top:-100px;z-index:5;background:white;padding:10px}.skip:focus{top:10px}header,main>section,footer{padding-left:max(6vw,calc((100vw - 1320px)/2));padding-right:max(6vw,calc((100vw - 1320px)/2))}header{display:flex;align-items:center;justify-content:space-between;height:108px;border-bottom:1px solid var(--line)}.brand{font-family:'Space Grotesk',sans-serif;font-size:40px;font-weight:700;letter-spacing:-4px;line-height:1}.brand span{display:inline-block;font-size:35px;color:var(--green);margin-left:8px}nav{display:flex;gap:34px;align-items:center;font-size:14px;font-weight:600}.nav-contact{border:1px solid var(--ink);padding:10px 20px}.nav-contact span{margin-left:25px}h1,h2,h3{font-family:'Space Grotesk',sans-serif;line-height:1.1;font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(46px,5.1vw,78px);margin:26px 0}h1 em,h2 em{font-style:normal;color:#477747}h2{font-size:clamp(34px,3.3vw,48px);margin:20px 0 28px}h3{font-size:26px;margin:0 0 12px;letter-spacing:-.025em}p{margin:0 0 18px}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:700;display:block}.dot{display:inline-block;width:8px;height:8px;background:#438151;border-radius:50%;margin-right:8px}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;align-items:center;padding-top:78px;padding-bottom:76px}.hero-copy>p{max-width:520px;font-size:17px;color:#4e6257;line-height:1.8}.actions{display:flex;gap:25px;align-items:center;margin-top:32px;font-size:13px;font-weight:600}.button{display:inline-flex;background:var(--ink);color:var(--paper);padding:15px 22px;gap:28px}.button:hover{background:#24664b}.text-link{border-bottom:1px solid var(--ink);padding-bottom:3px}.hero-note{font-size:11px;margin-top:30px;color:#627369}.hero-art{transform:rotate(2deg);background:var(--ink);padding:17px 18px 10px;box-shadow:9px 10px 0 #dfe4d2;max-width:480px}.art-top,.art-bottom{color:var(--paper);display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}.art-top{padding-bottom:15px}.art-bottom{padding-top:10px;align-items:center}.art-bottom span:last-child{font-size:23px}.art-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shape{aspect-ratio:1;display:grid;place-items:center;overflow:hidden}.yellow{background:#eed36d}.blue{background:#88a8df}.mint{background:#d8e8bd}.peach{background:#eebba1}.asterisk{font-size:clamp(80px,12vw,165px);line-height:1}.brackets{font-family:monospace;font-size:clamp(50px,7vw,100px);font-weight:700;letter-spacing:-14px;margin-left:-12px}.orb{width:70%;height:70%;border-radius:50%;background:repeating-linear-gradient(0deg,var(--ink),var(--ink) 3px,transparent 3px,transparent 8px);border:2px solid var(--ink)}.shape svg{width:57%}.skill-strip{display:flex;justify-content:space-evenly;align-items:center;gap:18px;background:var(--lime);padding:22px 5%;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-family:'Space Grotesk',sans-serif;font-weight:500}.skill-strip i{font-style:normal;font-size:22px}.section{padding-top:90px;padding-bottom:90px}.section-heading{display:flex;justify-content:space-between;gap:8%;align-items:center;margin-bottom:35px}.section-heading>p{max-width:350px;font-size:15px;color:#5b6c60}.work-row{display:grid;grid-template-columns:190px 1fr 100px;gap:40px;border-top:1px solid var(--line);padding:36px 0}.work-row:last-child{padding-bottom:0}.work-meta{display:flex;flex-direction:column;gap:24px;font-size:10px;letter-spacing:1px}.index{font-family:'Space Grotesk',sans-serif;font-size:23px;color:#6b846c}.organization{font-size:14px;font-weight:600}.work-row p:not(.organization){max-width:670px;font-size:14px;color:#516358}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tags span{border:1px solid var(--line);padding:4px 10px;font-size:10px}.work-symbol{width:85px;height:85px;display:grid;place-items:center;font-size:48px}.green-symbol{background:var(--lime);border-radius:50%}.blue-symbol{background:#b9cbeb;font-family:monospace;font-size:30px;transform:rotate(-5deg)}.about{background:#e8eddd;display:grid;grid-template-columns:1fr 1fr;gap:10%}.about>div>p{font-size:15px;max-width:520px;color:#4d6355}.accent{color:#6a8c3a}.authorization{margin-top:32px;font-size:12px!important}.education{background:var(--paper);border:1px solid var(--line);padding:34px}.education .eyebrow{margin-bottom:26px}.education h3{font-size:23px}.education p{font-size:13px;margin-bottom:12px}.education-detail{display:flex;gap:14px;justify-content:space-between;font-size:11px}.education-detail strong{background:var(--lime);padding:2px 8px}.education hr{border:0;border-top:1px solid var(--line);margin:24px 0}.small{font-size:11px!important}.publication{display:grid;grid-template-columns:180px 1fr 30px;gap:35px;border-top:1px solid var(--line);padding:28px 0}.pub-date{font-family:'Space Grotesk',sans-serif;font-size:24px}.pub-date small{display:block;font-family:'DM Sans',sans-serif;letter-spacing:1px;font-size:9px;margin-top:8px}.publication h3{font-size:22px;max-width:790px;line-height:1.3}.publication p{font-size:12px;color:#5b6c60;margin:0;line-height:1.9}.pub-mark{font-size:26px}.credentials{padding-top:0;display:grid;grid-template-columns:1.3fr 1fr;gap:10%}.certifications{list-style:none;padding:0;margin:0}.certifications li{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:18px 0;font-size:14px}.certifications li span{font-size:9px;letter-spacing:1px;white-space:nowrap}.award{position:relative;background:#eddaa0;padding:32px;border:1px solid #d2c28e}.award .eyebrow{margin:8px 0 25px}.award h3{font-size:32px}.award p{font-size:13px;max-width:300px}.award-star{position:absolute;right:25px;top:15px;font-size:65px}.award-years{display:block;font-family:'Space Grotesk',sans-serif;font-size:22px;margin:24px 0 12px}.contact{background:var(--ink);color:var(--paper);padding-top:75px;padding-bottom:40px}.contact h2{font-size:clamp(40px,5.4vw,78px);margin:25px 0 35px}.contact h2 em{color:var(--lime)}.email{font-family:'Space Grotesk',sans-serif;font-size:clamp(19px,2.8vw,38px);border-bottom:1px solid #819581;display:inline-flex;gap:65px;padding-bottom:12px;max-width:100%;overflow-wrap:anywhere}.contact-bottom{display:flex;justify-content:space-between;margin-top:60px;font-size:12px;color:#c1cebd}footer{display:flex;justify-content:space-between;align-items:center;padding-top:25px;padding-bottom:25px;font-size:11px}footer .brand{font-size:30px}footer .brand span{font-size:27px}@media(min-width:1500px){.hero{gap:100px}}@media(max-width:900px){.hero{gap:35px}.hero-art{padding:10px}.art-top{font-size:7px}.hero-copy>p{font-size:15px}.actions{flex-wrap:wrap}.work-row{grid-template-columns:130px 1fr;gap:25px}.work-symbol{display:none}.skill-strip{flex-wrap:wrap;font-size:13px}.skill-strip i{font-size:15px}.section-heading{align-items:start}.section-heading>p{max-width:260px}.about{gap:35px}.credentials{gap:35px}.publication{grid-template-columns:130px 1fr 20px;gap:25px}}@media(max-width:640px){header{height:80px}nav{gap:16px;font-size:11px}nav .nav-contact{padding:7px 9px}nav .nav-contact span{display:none}nav a[href='#about']{display:none}.brand{font-size:32px}.brand span{font-size:25px}.hero{grid-template-columns:1fr;padding-top:44px;padding-bottom:45px;gap:40px}h1{font-size:49px}.hero-art{width:85%;margin:0 auto;padding:14px}.art-top{font-size:8px}.asterisk{font-size:120px}.brackets{font-size:75px}.hero-note{margin-top:22px}.skill-strip{gap:10px 17px;justify-content:center}.skill-strip i{display:none}.section{padding-top:55px;padding-bottom:55px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{max-width:none}.work-row{grid-template-columns:1fr;gap:18px;padding:28px 0}.work-meta{flex-direction:row;align-items:center;gap:20px}.index{font-size:18px}.about{grid-template-columns:1fr}.education{padding:25px}.publication{grid-template-columns:1fr;gap:12px}.pub-date{font-size:19px;display:flex;align-items:center;gap:18px}.pub-date small{margin:0}.pub-mark{display:none}.publication h3{font-size:21px}.credentials{grid-template-columns:1fr;padding-top:0}.contact{padding-top:50px}.email{gap:15px}.contact-bottom{flex-direction:column;gap:12px;margin-top:35px}footer{gap:15px}footer .brand{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,.hero-art,.skill-strip,.actions,.contact,footer{display:none}.section,.hero{padding:20px 0;display:block}.work-row,.publication{break-inside:avoid}body{background:white}.work-symbol{display:none}}

/* Full-name branding */
.brand{font-size:25px;letter-spacing:-1px;white-space:nowrap}.brand span{font-size:26px}footer .brand{font-size:22px}

/* A colorful conference palette, with dark text on soft backgrounds. */
:root{--coral:#f39b80;--lavender:#e5dcfa;--sky:#dbe9fb;--sun:#f8dd79}
header{border-top:7px solid transparent;border-image:linear-gradient(90deg,#eed36d 0% 25%,#88a8df 25% 50%,#b7cf8b 50% 75%,#eea087 75%) 1;background:#fffaf0}
.brand span{color:#b74c39}
.nav-contact{background:var(--lavender)}
.nav-contact:hover{background:#d3c3f0}
.hero{background:linear-gradient(115deg,#fff8e9 0%,#f7f7ed 60%,#e8eefb 100%)}
.hero h1 em{color:#4e58a2}
.hero .button{background:#4d4d91}
.hero .button:hover{background:#37376d}
.hero-art{box-shadow:10px 11px 0 #c6b9df}
.yellow{background:#f7d66b}.blue{background:#8daef0}.mint{background:#bfe3b0}.peach{background:#f3a58c}
.skill-strip{background:#f9df8a;flex-wrap:wrap;gap:12px 18px}
.skill-strip>span{padding:4px 13px;border:1px solid #123d3240;background:#fff6d9}
.skill-strip>span:nth-of-type(3n+1){background:#d9e8fc}
.skill-strip>span:nth-of-type(3n+2){background:#f9c8b5}
.skill-strip>span:nth-of-type(3n){background:#e6ddf5}
#work .work-row:nth-of-type(1){border-top:3px solid #92addb}
#work .work-row:nth-of-type(2){border-top:3px solid #df9c84}
.work-row:nth-of-type(1) .index{color:#435b96}
.work-row:nth-of-type(2) .index{color:#a24e3b}
.tags span:nth-child(3n+1){background:#e2eaf9;border-color:#b9cae6}
.tags span:nth-child(3n+2){background:#f9e0ce;border-color:#e4bda2}
.tags span:nth-child(3n){background:#e9e0f7;border-color:#ccbce3}
.green-symbol{background:#f7d66b}.blue-symbol{background:#cbb9ee}
.about{background:#e5edf9;border-top:1px solid #bccce7;border-bottom:1px solid #bccce7}
.about .accent{color:#bb5946}
.education{background:#fffaf1;border-color:#b9c7de;border-top:6px solid #a48acb;box-shadow:7px 7px 0 #cddbf0}
.education-detail strong{background:#f5d878}
.research{background:#faf5ff}
.publication{border-color:#d8cbe6}
.publication .pub-date{color:#65528e}
.publication:nth-of-type(1) .pub-mark{color:#a24e3b}
.publication:nth-of-type(2) .pub-mark{color:#435b96}
.publication:nth-of-type(3) .pub-mark{color:#42734d}
.credentials{background:#faf5ff;padding-top:25px}
.certifications li{border-color:#d8cbe6}
.certifications li span{padding:3px 8px;background:#e4d9f4;color:#483762}
.award{background:#f8d2bc;border-color:#dba78c}
.award-star{color:#a24e3b}
.contact{background:#263d62;border-top:8px solid #e9af92}
.contact h2 em{color:#f7d878}
.contact-bottom{color:#d4e0ed}
footer{background:#e6eddc}
@media print{header,.hero,.about,.research,.credentials,footer{background:white}.education{box-shadow:none}}
@media(max-width:640px){header{height:auto;min-height:95px;flex-wrap:wrap;gap:16px;padding-top:18px;padding-bottom:18px}header .brand{font-size:24px}header nav{width:100%;justify-content:space-between;gap:12px}}


/* Local SVG images render independently of emoji fonts and CSS masks. */
.icon{display:inline-block;width:1em;height:1em;flex-shrink:0;object-fit:contain;vertical-align:-.12em}
.icon-arrow-down-right{transform:rotate(90deg)}
.icon-arrow-up{transform:rotate(-45deg)}
.brand .icon{width:26px;height:26px;margin-left:0}
.nav-contact .icon{margin-left:0}
.shape .asterisk{width:72%;height:72%;display:grid;place-items:center;font-size:inherit}
.shape .asterisk .icon{width:100%;height:100%}
.shape .brackets{width:64%;height:64%;font-size:inherit;margin:0;display:grid;place-items:center}
.shape .brackets .icon{width:100%;height:100%}
.shape .icon-shield{width:57%;height:63%}
.work-symbol .icon{width:1em;height:1em}
.button .icon,.art-bottom .icon,.contact .icon{filter:invert(1)}
.award-star .icon{width:65px;height:65px}
@media(max-width:640px){nav .nav-contact .icon{display:inline-block}}
