:root{
  --ink:#15243a;--text:#465a70;--muted:#718196;--blue:#176ca7;--cyan:#36a6c5;
  --line:#dce5eb;--soft:#f5f8fa;--warm:#fbfcfd;--white:#fff;
  --shell:min(1120px,calc(100% - 48px));--shadow:0 18px 45px rgba(28,52,74,.1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--warm);color:var(--ink);font:16px/1.65 "DM Sans",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}figure{margin:0}.shell{width:var(--shell);margin-inline:auto}.section{padding:74px 0}
.kicker,.eyebrow{margin:0 0 13px;color:var(--blue);font:700 11px/1.2 "Manrope",sans-serif;letter-spacing:.15em;text-transform:uppercase}
h1,h2,h3{margin:0;font-family:"Manrope",sans-serif;letter-spacing:-.035em;line-height:1.1}h1{font-size:clamp(38px,3.2vw,42px)}h2{font-size:clamp(40px,4vw,52px)}h3{font-size:22px}
.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}.skip-link{position:fixed;left:12px;top:12px;z-index:2000;padding:9px 14px;background:var(--ink);color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid rgba(54,166,197,.55);outline-offset:4px}

.site-header{position:fixed;inset:0 0 auto;z-index:1000;transition:.25s}.site-header.is-scrolled{background:rgba(251,252,253,.94);backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(18,33,58,.09)}.nav-shell{width:var(--shell);height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between}.wordmark{display:flex;align-items:center;gap:11px;font-family:"Manrope",sans-serif}.wordmark span{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--ink);color:#fff;font-size:11px;letter-spacing:.05em}.wordmark b{font-size:14px}.site-nav{display:flex;gap:7px}.site-nav a{padding:8px 10px;border-radius:7px;color:#53657a;font-size:13px;font-weight:600}.site-nav a:hover,.site-nav a.is-active{color:var(--blue);background:#edf5f8}.nav-toggle{display:none;border:0;background:none;padding:8px}.nav-toggle span{display:block;width:23px;height:2px;margin:5px;background:var(--ink);transition:.2s}

.hero{padding:124px 0 70px;background:linear-gradient(135deg,#fff 0%,#f8fbfc 65%,#eef6f8 100%);border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.hero-role{margin:11px 0 0;color:var(--blue);font:700 clamp(52px,5vw,64px)/1.08 "Manrope",sans-serif;letter-spacing:-.04em}.hero-lede{max-width:680px;margin:24px 0 0;color:var(--text);font-size:20px;line-height:1.58}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:0 22px;border:1px solid transparent;border-radius:99px;font-weight:700;transition:.2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--ink);color:#fff}.primary:hover{background:var(--blue)}.secondary{background:#fff;border-color:#cbd8e3}.secondary:hover{border-color:var(--blue);color:var(--blue)}.hero-portrait{padding:10px;background:#fff;border:1px solid #dfe8ee;border-radius:18px;box-shadow:var(--shadow)}.hero-portrait img{width:100%;height:auto;border-radius:11px}

.section-heading{display:flex;justify-content:space-between;align-items:end;gap:64px;margin-bottom:34px}.section-heading>div{min-width:0}.section-heading h2{color:var(--ink)}.section-heading-stacked{display:block}.section-tagline{margin:9px 0 0;color:var(--blue);font:600 clamp(18px,1.7vw,23px)/1.35 "Manrope",sans-serif;letter-spacing:-.02em}.section-intro{max-width:700px;margin:13px 0 0;color:var(--text);font-size:17px}.section-heading>p{max-width:455px;margin:0;color:var(--text);font-size:15px}.expertise,.experience,.projects,.community,.credentials{background:#fff}.education,.product,.research,.awards{background:var(--soft)}
.skills-list{border-top:1px solid var(--line)}.focus-intersection{position:relative;display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--line)}.focus-intersection:before{content:"";position:absolute;inset:0 50% 0 auto;border-left:1px solid var(--line)}.focus-intersection:after{content:"";position:absolute;inset:50% 0 auto;border-top:1px solid var(--line)}.skill-group{min-height:250px;padding:30px 38px;border:0}.skill-group:nth-child(odd){padding-left:0;padding-right:140px}.skill-group:nth-child(even){padding-left:140px;padding-right:0}.skill-group:nth-child(-n+2){padding-bottom:130px}.skill-group:nth-child(n+3){padding-top:130px}.skill-group h3{font-size:19px}.skill-group p{max-width:420px;margin:10px 0 0;color:var(--text);line-height:1.6}.focus-center{position:absolute;z-index:1;left:50%;top:50%;display:grid;place-items:center;width:180px;height:180px;margin:0;padding:21px;border:1px solid #cbdbe5;border-radius:50%;background:#fff;color:var(--blue);box-shadow:0 8px 24px rgba(31,55,78,.06);font:700 12px/1.45 "Manrope",sans-serif;text-align:center;transform:translate(-50%,-50%)}

.education-list{border-block:1px solid #cedbe4}.education-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;align-items:center;padding:24px 0}.education-row+article{border-top:1px solid #cedbe4}.education-row img{justify-self:center;width:72px;height:72px;object-fit:contain}.education-copy{min-width:0}.education-heading{display:flex;align-items:baseline;justify-content:space-between;gap:32px}.education-row p,.project-meta,.project-row>p,.community-row div>p,.research-list article>p,.awards-list article>p{margin:0 0 7px;color:var(--blue);font-size:12px;line-height:1.35;font-weight:700;text-transform:uppercase;letter-spacing:.075em}.education-heading p{flex:none;margin:0}.education-row h3{font-size:20px}.education-row span{display:block;margin-top:7px;color:var(--text);font-size:14px;line-height:1.5}.education-primary{padding-block:29px}.education-primary img{width:82px;height:82px}.education-primary h3{font-size:24px}.education-primary span{font-size:15px}.education-secondary img{width:66px;height:66px}.education-secondary h3{font-size:21px}.education-tertiary{padding-block:20px}.education-tertiary img{width:54px;height:54px}.education-tertiary h3{font-size:17px}.education-tertiary span{font-size:13px}

.experience-list{border-top:1px solid var(--line)}.experience-row{position:relative;display:grid;grid-template-columns:130px 1fr;gap:28px;padding:29px 0;border-bottom:1px solid var(--line)}.experience-logo{display:grid;place-items:center;width:110px;height:80px;overflow:hidden}.experience-logo img{max-width:none;object-fit:contain}.logo-trc img{width:132px;height:132px}.logo-prs img,.logo-soair img{width:110px;height:auto;max-width:100%;max-height:100%}.logo-um img{width:134px;height:134px}.experience-date{position:absolute;top:34px;right:0;color:var(--blue);font:700 13px/1.35 "Manrope",sans-serif;white-space:nowrap}.experience-content{grid-column:2;min-width:0}.experience-row h3{padding-right:175px;font-size:22px}.experience-row .company{margin:5px 0 9px;color:var(--blue);font-size:13px;font-weight:700}.experience-content>p:last-of-type{max-width:830px;margin:0;color:var(--text)}.experience-impact{margin-top:17px}.experience-impact summary{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;font-weight:700;cursor:pointer;list-style:none;border-bottom:1px solid #aac9db}.experience-impact summary::-webkit-details-marker{display:none}.experience-impact summary:after{content:"+";font-size:15px;line-height:1}.experience-impact[open] summary:after{content:"–"}.evidence-list{max-width:850px;margin:15px 0 0;padding-left:19px;color:var(--text);font-size:14px}.evidence-list li{padding:3px 0 3px 4px}.evidence-list b{color:var(--ink)}.experience-row.compact{padding-block:24px}.experience-row.compact .experience-date{top:29px}.experience-row.compact h3{font-size:19px}

.product-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:50px;align-items:center;padding-block:4px}.product-copy h3{max-width:640px;font-size:32px}.product-copy>p:not(.project-meta){max-width:670px;margin:16px 0 0;color:var(--text);font-size:16px}.product-copy .product-role{margin-top:14px;color:var(--blue);font-size:14px;font-weight:700;line-height:1.55}.text-link,.inline-links a,.early-project a,.research-list a{display:inline-block;margin-top:20px;color:var(--blue);font-size:13px;font-weight:700;border-bottom:1px solid #aac9db}.product-image{display:block;width:100%;max-width:420px;aspect-ratio:1.44/1;align-self:start;overflow:hidden;padding:7px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(31,55,78,.08);transition:.2s}.product-image:hover{transform:translateY(-2px)}.product-image img{width:100%;height:100%;object-fit:contain;border-radius:7px}

.subsection-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:5px 0 14px}.subsection-heading h3{font-size:20px}.subsection-heading p{max-width:570px;margin:0;color:var(--text);font-size:14px}.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:23px 0;border-bottom:1px solid var(--line)}.project-row h3{font-size:19px}.project-row div p{max-width:760px;margin:7px 0 0;color:var(--text);font-size:14px}.earlier-heading{margin-top:46px}.early-projects{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.early-project{display:grid;grid-template-columns:112px 1fr;gap:17px;padding:19px 22px 19px 0;border-bottom:1px solid var(--line)}.early-project:nth-child(even){padding-left:22px;border-left:1px solid var(--line)}.early-project img{width:112px;height:88px;object-fit:cover;border-radius:7px}.early-project h3{font-size:17px}.early-project p{margin:6px 0 0;color:var(--text);font-size:13px;line-height:1.5}.early-project a{margin-top:7px;font-size:12px}
.early-project.no-image,.community-row.no-image{grid-template-columns:1fr}.early-project.no-image>div,.community-row.no-image>div{max-width:470px}

.research-feature{display:grid;grid-template-columns:260px 1fr;gap:38px;align-items:center;padding:27px 0;border-block:1px solid #cedbe4}.research-feature img{width:260px;height:220px;object-fit:cover;border-radius:10px}.research-feature h3{font-size:29px}.research-feature div>p:not(.project-meta){max-width:720px;color:var(--text)}.inline-links{display:flex;flex-wrap:wrap;gap:24px}.inline-links a{margin-top:8px}.research-list{display:grid;grid-template-columns:1fr;border-bottom:1px solid #cedbe4}.research-list article{max-width:760px;padding:25px 0}.research-list h3{font-size:18px}.research-list span{display:block;margin-top:8px;color:var(--text);font-size:14px}.research-list a{margin-top:9px}

.current-community{display:grid;grid-template-columns:repeat(2,1fr);border-block:1px solid var(--line)}.current-community.single{grid-template-columns:1fr}.current-community.single article{max-width:820px}.current-community article{padding:22px 26px 22px 0}.current-community article+article{padding-left:26px;border-left:1px solid var(--line)}.current-community p{margin:0 0 7px;color:var(--blue);font-size:12px;line-height:1.35;font-weight:700;text-transform:uppercase;letter-spacing:.075em}.current-community h3{font-size:18px}.current-community span{display:block;margin-top:7px;color:var(--text);font-size:13px}.community-list{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--line)}.community-row{display:grid;grid-template-columns:96px 1fr;gap:15px;padding:20px 24px 20px 0}.community-row+article{padding-left:24px;border-left:1px solid var(--line)}.community-row img{width:96px;height:82px;object-fit:cover;border-radius:7px}.community-row h3{font-size:17px}.community-row span{display:block;margin-top:6px;color:var(--text);font-size:13px;line-height:1.5}

.awards-list{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #cedbe4}.awards-list article{padding:24px 26px 24px 0}.awards-list article+article{padding-left:26px;border-left:1px solid #cedbe4}.awards-list h3{font-size:18px}.awards-list span{display:block;margin-top:7px;color:var(--text);font-size:13px}.memberships{margin:0;padding:20px 0 0;color:var(--text);font-size:14px}.memberships b{color:var(--ink)}

.certification-groups{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.cert-group{padding:23px 28px 0 0}.cert-group+section{padding-left:28px;border-left:1px solid var(--line)}.cert-group h3{margin-bottom:13px;font-size:18px}.cert-group>a{display:block;padding:10px 0;border-bottom:1px solid var(--line);color:var(--text);font-size:13px}.cert-group>a:hover{color:var(--blue)}

.contact{padding:64px 0;background:linear-gradient(135deg,#edf6f8,#f7f8fb);border-top:1px solid var(--line)}.contact-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:76px;align-items:end}.contact-prompt{max-width:720px;margin:10px 0 0;color:var(--blue);font:600 clamp(20px,2.2vw,28px)/1.3 "Manrope",sans-serif;letter-spacing:-.02em}.contact-inner>div>p:last-child{max-width:640px;color:var(--text)}.contact-links{border-top:1px solid #cad8e3}.contact-links a{display:block;padding:13px 0;border-bottom:1px solid #cad8e3;font-weight:700}.contact-links a:hover{color:var(--blue)}footer{padding:25px 0;background:#fff}footer .shell{display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer .shell>a:last-child{color:var(--muted);font-size:12px}footer .wordmark span{width:30px;height:30px}footer .wordmark b{font-size:12px}

.reveal{opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:950px){.section{padding:64px 0}.hero-grid{gap:38px}.hero h1{font-size:40px}.certification-groups{grid-template-columns:1fr}.cert-group+section{padding-left:0;border-left:0;border-top:1px solid #cedbe4}.cert-group,.cert-group+section{padding:21px 0}.product-feature{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:32px}.project-row{grid-template-columns:150px 1fr}.early-projects,.community-list{grid-template-columns:1fr}.early-project:nth-child(even){padding-left:0;border-left:0}.community-row+article{padding-left:0;border-left:0;border-top:1px solid var(--line)}.contact-inner{gap:42px}}
@media(max-width:720px){:root{--shell:calc(100% - 32px)}html{scroll-padding-top:68px}.nav-shell{height:68px}.nav-toggle{display:block;z-index:3}.site-nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:rgba(251,252,253,.98);opacity:0;visibility:hidden;transition:.2s}.site-nav.is-open{opacity:1;visibility:visible}.site-nav a{font:700 22px "Manrope",sans-serif}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}h2{font-size:36px}.section{padding:50px 0}.section-heading{display:block;margin-bottom:25px}.section-tagline{margin-top:7px;font-size:18px}.section-intro{margin-top:11px;font-size:16px}.section-heading>p{margin-top:15px;font-size:14px}.hero{padding:92px 0 44px}.hero-grid{grid-template-columns:1fr;gap:26px}.hero h1{font-size:32px}.hero-role{margin-top:8px;font-size:42px}.hero-lede{margin-top:20px;font-size:17px}.hero-actions{display:grid;margin-top:23px}.hero-actions .button{width:100%}.hero-portrait{width:min(78vw,300px);margin:auto}.skill-group{min-height:225px;padding-block:25px}.skill-group:nth-child(odd){padding-left:0;padding-right:108px}.skill-group:nth-child(even){padding-left:108px;padding-right:0}.skill-group:nth-child(-n+2){padding-bottom:108px}.skill-group:nth-child(n+3){padding-top:108px}.skill-group h3{font-size:17px}.skill-group p{font-size:14px}.focus-center{width:150px;height:150px;padding:18px;font-size:10px}.education-row{grid-template-columns:72px minmax(0,1fr);gap:16px;padding:20px 0}.education-row img{width:56px;height:56px}.education-primary{padding-block:24px}.education-primary img{width:66px;height:66px}.education-primary h3{font-size:21px}.education-primary span{font-size:14px}.education-secondary h3{font-size:19px}.education-tertiary{padding-block:18px}.education-tertiary img{width:48px;height:48px}.education-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.education-heading p{margin:0}.experience-row{grid-template-columns:88px 1fr;gap:14px;padding:24px 0}.experience-logo{width:82px;height:64px}.logo-trc img{width:100px;height:100px}.logo-prs img,.logo-soair img{width:82px;height:auto}.logo-um img{width:110px;height:110px}.experience-date,.experience-row.compact .experience-date{position:static;grid-column:2;grid-row:1;align-self:center;margin:0;padding:0;color:var(--blue);font-size:13px}.experience-content{grid-column:1/-1;grid-row:2}.experience-row h3{padding-right:0}.evidence-list{padding-left:17px;font-size:13px}.product-feature{grid-template-columns:1fr;gap:23px}.product-copy h3{font-size:26px}.product-image{width:min(100%,390px);max-width:none;aspect-ratio:1.44/1}.project-row{grid-template-columns:1fr;gap:7px;padding:20px 0}.subsection-heading{display:block}.subsection-heading p{margin-top:9px}.earlier-heading{margin-top:40px}.early-project,.community-row{grid-template-columns:104px 1fr;gap:14px;padding:17px 0}.early-project img,.community-row img{width:104px;height:84px}.research-feature{grid-template-columns:1fr;gap:20px}.research-feature img{width:100%;height:auto;max-height:310px}.research-list,.awards-list,.current-community{grid-template-columns:1fr}.research-list article,.research-list article+article,.awards-list article,.awards-list article+article,.current-community article,.current-community article+article{padding:19px 0;border-left:0;border-top:1px solid #cedbe4}.cert-group,.cert-group+section{padding:19px 0}.contact-inner{grid-template-columns:1fr;gap:27px}.contact-prompt{font-size:21px}footer .shell{align-items:flex-start;flex-direction:column}footer p{order:3}}
@media(max-width:600px){.focus-intersection{display:flex;flex-direction:column}.focus-intersection:before,.focus-intersection:after{display:none}.focus-center{position:static;order:-1;display:block;width:auto;height:auto;margin:0;padding:19px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;color:var(--text);font:600 15px/1.55 "Manrope",sans-serif;text-align:left;transform:none}.skill-group,.skill-group:nth-child(odd),.skill-group:nth-child(even),.skill-group:nth-child(-n+2),.skill-group:nth-child(n+3){min-height:0;padding:20px 0;border-bottom:1px solid var(--line)}}
@media(max-width:440px){.early-project,.community-row{grid-template-columns:92px 1fr}.early-project img,.community-row img{width:92px;height:78px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
