:root{--ink:#152a28;--muted:#586966;--paper:#f6f4ee;--surface:#fffdf8;--deep:#0b302d;--accent:#d36b3d;--sage:#b9cec4;--line:#152a2829;--radius:18px;--shadow:0 18px 55px #122b2717;--container:min(1160px,calc(100% - 40px));color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Avenir,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);margin:0;line-height:1.65}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.08}h2{max-width:850px;margin-bottom:24px;font-size:clamp(2.25rem,5vw,4.6rem)}h3{font-size:1.25rem}section{scroll-margin-top:88px}.container{width:var(--container);margin-inline:auto}.skip-link{z-index:1000;background:#fff;padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:22px;font-size:.72rem;font-weight:750}.section{padding:130px 0}.section-intro{margin-bottom:70px}.section-intro>p:last-child:not(.eyebrow){max-width:680px;color:var(--muted);font-size:1.08rem}.subheading{text-transform:uppercase;letter-spacing:.16em;margin-bottom:25px;font-size:.72rem;font-weight:800}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.header{z-index:100;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f4eee6;position:fixed;inset:0 0 auto}.nav-shell{justify-content:space-between;align-items:center;width:min(1380px,100% - 32px);height:74px;margin:auto;display:flex}.wordmark{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:flex}.wordmark span{color:#fff;background:var(--deep);border-radius:50%;place-items:center;width:35px;height:35px;font-size:.72rem;display:grid}.nav-panel nav{align-items:center;gap:18px;display:flex}.nav-panel a{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:25px 0;font-size:.72rem;font-weight:700;text-decoration:none;position:relative}.nav-panel a:after{content:"";background:var(--accent);height:2px;transition:transform .2s;position:absolute;inset:auto 0 17px;transform:scaleX(0)}.nav-panel a:hover,.nav-panel a[aria-current]{color:var(--ink)}.nav-panel a[aria-current]:after{transform:scaleX(1)}.menu-button{background:0 0;border:0;width:44px;height:44px;padding:10px;display:none}.menu-button i{background:var(--ink);height:2px;margin:6px 0;display:block}.hero{background:linear-gradient(140deg,var(--paper) 0 65%,#dce7df 65%);place-items:center;min-height:100svh;padding:150px 0 70px;display:grid;position:relative;overflow:hidden}.hero-inner{z-index:1;grid-template-columns:1.7fr .65fr;align-items:end;gap:8vw;display:grid;position:relative}.hero h1{letter-spacing:-.06em;margin-bottom:38px;font-family:Georgia,serif;font-size:clamp(3.6rem,8.3vw,8.2rem);font-weight:400;line-height:.89}.hero h1 em,.contact-section h2 em{color:var(--accent);font-weight:400}.headline{margin-bottom:18px;font-size:clamp(1rem,2vw,1.28rem);font-weight:700}.headline b{color:var(--accent);padding:0 5px}.hero-lead{max-width:680px;color:var(--muted);font-size:1.08rem}.actions{gap:12px;margin-top:38px;display:flex}.button{border-radius:999px;align-items:center;gap:25px;min-height:50px;padding:12px 22px;font-weight:750;text-decoration:none;display:inline-flex}.button.primary{background:var(--deep);color:#fff}.button.secondary{border:1px solid var(--line);background:#ffffff80}.button:hover{transform:translateY(-2px)}.hero-note{border-left:1px solid var(--line);margin-bottom:20px;padding-left:28px}.hero-note>p{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}.hero-note ul{margin:22px 0;padding:0;list-style:none}.hero-note li{border-top:1px solid var(--line);padding:11px 0;font-family:Georgia,serif;font-size:1.4rem}.hero-note li span{color:var(--accent);margin-right:14px;font:700 .65rem Inter,sans-serif}.hero-note small{color:var(--muted)}.hero-orbit{border:1px solid #0e4f491f;border-radius:50%;width:560px;height:560px;position:absolute;top:80px;right:-220px}.hero-orbit span{border:1px solid #0e4f491f;border-radius:50%;position:absolute;inset:14%}.hero-orbit span:nth-child(2){inset:30%}.hero-orbit span:nth-child(3){background:var(--accent);border:0;inset:47%}.scroll-cue{text-transform:uppercase;letter-spacing:.14em;writing-mode:vertical-rl;font-size:.65rem;position:absolute;bottom:30px;left:30px}.scroll-cue span{background:var(--ink);width:1px;height:55px;margin-top:12px;display:inline-block}.about-section{background:var(--deep);color:#fff}.about-section .section-intro{border-bottom:1px solid #ffffff26;padding-bottom:55px}.about-grid{grid-template-columns:1.45fr .75fr;gap:9vw;display:grid}.about-lead{max-width:700px;font-size:1.3rem}.about-lead p:last-child{color:#b9cac6;font-size:1.02rem}.facts{margin:0}.facts div{border-top:1px solid #ffffff2b;padding:18px 0}.facts dt{color:#e88b5d;font-family:Georgia,serif;font-size:2rem}.facts dd{color:#bdd0cc;margin:3px 0;font-size:.88rem}.education{margin-top:100px}.education-row{border-top:1px solid #ffffff2b;grid-template-columns:1fr 1fr;gap:45px;padding:35px 0;display:grid}.education-row h3{margin:8px 0;font-size:1.5rem}.education-row p{color:#d5dfdc;margin-bottom:5px}.education-row small{color:#9eb6b1}.period{color:#9eb6b1;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.edu-meta{font-weight:750;color:#fff!important}.timeline{border-top:1px solid var(--line)}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:260px 1fr;gap:50px;padding:42px 0;display:grid}.time{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);flex-direction:column;font-size:.78rem;font-weight:750;display:flex}.time small{text-transform:none;letter-spacing:0;color:var(--muted);margin-top:6px;font-size:.72rem}.timeline-content h3{margin-bottom:5px;font-size:1.6rem}.organization{color:var(--muted);font-weight:650}.timeline-content ul{max-width:760px;color:var(--muted);margin:20px 0 0;padding-left:20px}.timeline-content li{margin:8px 0;padding-left:8px}.projects-section{background:#dfe9e2}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.filter-row button{min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #152a282e;border-radius:999px;padding:8px 16px}.filter-row button.active{color:#fff;background:var(--deep);border-color:var(--deep)}.result-count{color:var(--muted);margin:20px 0 30px;font-size:.8rem}.project-grid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.project-card{background:var(--surface);border-radius:var(--radius);border:1px solid #152a2814;flex-direction:column;min-height:360px;padding:36px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 1px #152a280d}.project-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.project-number{color:var(--accent);margin-bottom:35px;font:italic 1.25rem Georgia,serif}.category-line{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.67rem;position:absolute;top:35px;right:28px}.project-card h3{max-width:430px;font-size:1.6rem}.project-card>p{color:var(--muted)}.project-card .focus{margin-top:auto;padding-top:15px;font-size:.84rem}.focus strong{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;display:block}.tags{border-top:1px solid var(--line);flex-wrap:wrap;gap:7px;margin:0;padding:18px 0 0;list-style:none;display:flex}.tags li{background:#edf0eb;border-radius:99px;padding:5px 9px;font-size:.69rem}.teaching-section{background:var(--surface)}.research-grid{grid-template-columns:1.1fr 1fr;gap:15px;display:grid}.research-card{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-height:330px;padding:35px;display:flex}.research-card.featured{background:var(--deep);color:#fff;grid-row:span 2}.research-card>span,.community-list span{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:.69rem;font-weight:800}.research-card h3{margin-top:40px;font-family:Georgia,serif;font-size:1.65rem;font-weight:400}.featured h3{font-size:2.4rem}.research-card p{color:var(--muted)}.featured p{color:#bcd0cb}.research-card a{margin-top:auto;font-weight:750;text-decoration:none}.link-pair{gap:25px;margin-top:auto;display:flex}.community-section{background:#e8ddd1}.community-list{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.community-list article{padding:40px 6vw 40px 0}.community-list article+article{border-left:1px solid var(--line);padding-left:6vw}.community-list h3{margin:25px 0 14px;font:400 2rem Georgia,serif}.community-list p{color:var(--muted)}.org-list{border-top:1px solid var(--line)}.org-row{border-bottom:1px solid var(--line);grid-template-columns:170px 1fr 1fr;align-items:center;gap:30px;padding:25px 0;display:grid}.org-row span{color:var(--accent);font-size:.75rem;font-weight:750}.org-row h3,.org-row p{margin:0}.org-row p{color:var(--muted)}.skills-section{background:var(--deep);color:#fff}.skills-grid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.skill-group{border-radius:var(--radius);border:1px solid #ffffff2b;padding:32px}.skill-group:last-child{grid-column:1/-1}.skill-group h3{color:#e78a5c;margin-bottom:28px}.skill-group ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-group li{color:#dce7e4;border:1px solid #ffffff29;border-radius:999px;padding:7px 12px;font-size:.8rem}.cert-list{border-top:1px solid var(--line);padding:0;list-style:none}.cert-list li{border-bottom:1px solid var(--line);align-items:center;padding:21px 0;font-family:Georgia,serif;font-size:clamp(1.2rem,2.2vw,1.75rem);display:flex}.cert-list span{color:var(--accent);width:65px;font:700 .65rem Inter,sans-serif}.contact-section{background:var(--accent);color:#1c2524;padding:130px 0}.contact-inner h2{max-width:1050px;font-family:Georgia,serif;font-size:clamp(3rem,7vw,7rem);font-weight:400}.contact-section .eyebrow{color:var(--deep)}.contact-inner>p:not(.eyebrow){max-width:620px;font-size:1.15rem}.contact-email{overflow-wrap:anywhere;align-items:center;gap:15px;margin:35px 0;font-size:clamp(1.2rem,3vw,2rem);font-weight:800;display:inline-flex}.socials{border-top:1px solid #152a2840;gap:28px;padding-top:25px;display:flex}.socials a{font-weight:750;text-decoration:none}.socials span{margin-left:auto}footer{color:#b7c7c4;background:#071f1d;padding:35px 0}.footer-inner{justify-content:space-between;gap:20px;font-size:.72rem;display:flex}.footer-inner p{margin:0}.footer-inner nav{gap:18px;display:flex}.footer-inner a{text-decoration:none}.back-top{z-index:30;background:var(--ink);color:#fff;width:48px;height:48px;box-shadow:var(--shadow);opacity:0;pointer-events:none;cursor:pointer;border:0;border-radius:50%;transition:all .2s;position:fixed;bottom:22px;right:22px;transform:translateY(10px)}.back-top.visible{opacity:1;pointer-events:auto;transform:none}.reveal{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(18px)}.reveal.visible{opacity:1;transform:none}@media (width<=980px){.nav-panel{background:var(--surface);border-bottom:1px solid var(--line);opacity:0;visibility:hidden;padding:15px 24px 28px;transition:all .22s;position:fixed;inset:74px 0 auto;transform:translateY(-130%)}.nav-panel.is-open{opacity:1;visibility:visible;transform:none}.nav-panel nav{grid-template-columns:repeat(2,1fr);gap:0 25px;display:grid}.nav-panel a{border-bottom:1px solid var(--line);padding:14px 0}.nav-panel a:after{display:none}.menu-button{display:block}.hero-inner{grid-template-columns:1fr}.hero-note{display:none}.hero{background:linear-gradient(160deg,var(--paper) 0 76%,#dce7df 76%)}.project-grid,.research-grid{grid-template-columns:1fr}.research-card.featured{grid-row:auto}.timeline-item{grid-template-columns:190px 1fr}}@media (width<=680px){:root{--container:min(100% - 28px,1160px)}.section{padding:90px 0}.section-intro{margin-bottom:45px}.hero{align-items:start;padding-top:120px}.hero h1{margin-top:35px;font-size:clamp(3.25rem,17vw,5rem)}.headline b{display:none}.headline{gap:3px;display:grid}.actions{flex-direction:column;align-items:stretch}.button{justify-content:space-between}.scroll-cue{display:none}.about-grid,.education-row,.community-list,.skills-grid{grid-template-columns:1fr}.facts{margin-top:30px}.education{margin-top:70px}.education-row{gap:15px}.timeline-item{grid-template-columns:1fr;gap:15px}.time{flex-direction:row;justify-content:space-between}.project-card{min-height:390px;padding:27px}.category-line{text-align:right;margin:-60px 0 42px;padding-left:50px;position:static}.research-card,.research-card.featured{min-height:350px;padding:27px}.featured h3{font-size:1.8rem}.community-list article{padding:32px 0}.community-list article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.org-row{grid-template-columns:1fr;gap:5px;padding:25px 0}.skill-group:last-child{grid-column:auto}.socials{display:grid}.socials span{margin-left:0}.footer-inner{flex-direction:column}.footer-inner>p:last-child{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}@media (prefers-contrast:more){:root{--line:#152a2873}.tags li,.filter-row button{border:2px solid}}.project-link{color:var(--deep);align-self:flex-start;margin:4px 0 18px;font-size:.78rem;font-weight:800;text-decoration:none}.project-link:hover{text-underline-offset:4px;text-decoration:underline}.cert-list span{flex:0 0 65px}.cert-list a{justify-content:space-between;align-items:center;gap:25px;width:100%;text-decoration:none;display:flex}.cert-list a:hover{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.external-arrow{flex:0 0 13px;width:13px;height:13px;display:inline-block;position:relative}.external-arrow:before{content:"";border-top:1.7px solid;border-right:1.7px solid;width:7px;height:7px;position:absolute;top:1px;right:1px}.external-arrow:after{content:"";transform-origin:0;background:currentColor;border-radius:2px;width:11px;height:1.7px;position:absolute;bottom:3px;left:1px;transform:rotate(-45deg)}@media (width<=680px){.headline{gap:6px;line-height:1.25}.headline span{display:block}}.cert-list li>.external-arrow,.cert-list a>.external-arrow{flex:0 0 13px;width:13px;height:13px}
