:root{color-scheme:light;--ink:#163a3d;--ink-soft:#3c5c5d;--paper:#f7f3e8;--paper-deep:#eee6d3;--white:#fffdf7;--sun:#f3cb58;--clay:#d8613f;--blue:#79aeb5;--green:#8cab75;--line:#163a3d33;--shadow:0 22px 60px #163a3d1f;--content-max:88rem;--grid-gap:clamp(1rem, 2vw, 2rem);--space-xs:.5rem;--space-s:.875rem;--space-m:clamp(1.25rem, 2vw, 1.75rem);--space-l:clamp(2.25rem, 4vw, 3.5rem);--space-xl:clamp(3rem, 5vw, 4.5rem);--section-space:var(--space-l);background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:20rem;margin:0;line-height:1.6}a{color:inherit;text-underline-offset:.18em}a:focus-visible,button:focus-visible{outline:.2rem solid var(--clay);outline-offset:.25rem}.skip-link{z-index:20;background:var(--ink);color:#fff;border-radius:.5rem;padding:.7rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header,.site-footer,.shell{width:min(var(--content-max), calc(100% - 4rem));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:2rem;min-height:5.5rem;display:flex}.wordmark{letter-spacing:-.02em;align-items:center;gap:.75rem;font-size:1.05rem;font-weight:780;text-decoration:none;display:inline-flex}.wordmark-mark{object-fit:contain;width:2.5rem;height:2.5rem;display:block}nav ul{gap:.35rem;margin:0;padding:0;list-style:none;display:flex}nav a{border-radius:999px;padding:.55rem .8rem;font-weight:650;text-decoration:none;display:block}nav a:hover,nav a[aria-current=page]{background:var(--paper-deep)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance;line-height:1.08}h1{max-width:13ch;margin-bottom:var(--space-m);font-size:clamp(3rem,6vw,5.75rem)}h2{font-size:clamp(1.9rem,3.5vw,3.25rem)}h3{font-size:clamp(1.3rem,2vw,1.85rem)}.lede{max-width:42rem;color:var(--ink-soft);font-size:clamp(1.08rem,1.5vw,1.3rem)}.eyebrow,.project-kind,.step-number{color:var(--clay);letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;font-weight:800;line-height:1.25}.text-link{margin-top:.85rem;font-weight:800;display:inline-flex}.status-label{width:fit-content;color:var(--ink-soft);margin-top:1rem;font-size:.85rem;font-weight:750}.supporting-line{max-width:38rem;color:var(--ink-soft);margin-top:1.25rem}.identity-link{text-decoration-thickness:.08em}.hero-strapline{max-width:30rem;margin:calc(var(--space-m) * -.25) 0 0;color:var(--ink-soft);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:720;line-height:1.2}.hero,.research-callout,.page-intro,.feature-section,.profile-hero,.profile-overview,.experience-section,.outside-work,.gallery-preview,.personal-preview,.project-list article,.site-footer{column-gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.hero{padding-block:var(--space-l) var(--space-s);align-items:start}.hero-copy{grid-column:1/span 7}.media-placeholder span,.map-placeholder span,.media-placeholder-row span{letter-spacing:.09em;text-align:center;text-transform:uppercase;max-width:18ch;padding:1rem;font-size:.72rem;font-weight:800;line-height:1.35}.research-callout{padding-block:var(--space-s) 0}.research-callout article{column-gap:var(--grid-gap);padding-block:var(--space-l);border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.research-callout-copy{grid-column:1/span 5}.research-callout-copy>p:not(.eyebrow){max-width:34rem;color:var(--ink-soft)}.recent-work{padding-left:var(--grid-gap);border-left:1px solid var(--line);grid-column:7/-1}.recent-work-image{aspect-ratio:4/3;border:1px solid var(--line);background:var(--white);width:min(100%,36rem);margin:0;position:relative;overflow:hidden;box-shadow:0 .55rem 1.25rem #143d4124}.recent-work-image img{object-fit:contain;width:100%;height:100%;display:block}.recent-work-image:after{content:"";pointer-events:none;background:linear-gradient(#0c272a00,#0c272ae6 58%,#0c272afa);position:absolute;inset:28% 0 0}.recent-work-image figcaption{z-index:1;color:var(--white);padding:clamp(1rem,2.4vw,1.65rem);position:absolute;bottom:0;left:0;right:0}.recent-work-image .eyebrow{color:var(--sun);margin-bottom:.55rem}.recent-work-image h3{color:var(--white);text-shadow:0 1px 2px #00000059}.recent-work-image .recent-work-meta{color:#fffdf7d1}.recent-work-image .text-link{color:var(--white)}.recent-work h3{max-width:24ch;margin-bottom:.55rem}.recent-work-meta{color:var(--ink-soft);margin:0 0 1rem}.research-callout h2{max-width:18ch}.research-callout h2,.conversation .section-heading h2,.personal-preview h2{font-size:clamp(1.75rem,3vw,2.8rem)}.conversation{padding-block:var(--space-l);border-top:1px solid var(--line)}.gallery-preview{margin-top:var(--space-l);padding-block:var(--space-l)}.section-heading{margin-bottom:var(--space-m)}.section-heading .eyebrow{margin-bottom:.6rem}.section-heading h2{max-width:18ch;margin:0}.project-strip{gap:var(--grid-gap);grid-template-columns:repeat(3,1fr);display:grid}.project-card{border-top:.25rem solid var(--sun);padding:1.1rem 0 1.35rem}.project-card p{color:var(--ink-soft)}.gallery-preview{border-top:1px solid var(--line);align-items:start}.gallery-preview>div:first-child{grid-column:1/span 6}.gallery-preview>div:nth-child(2){grid-column:8/-1;max-width:38rem}.media-placeholder-row{gap:var(--grid-gap);margin-top:var(--space-m);grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.media-placeholder-row span{border:1px dashed var(--line);min-height:clamp(10rem,16vw,14rem);color:var(--ink-soft);place-items:center;display:grid}.personal-preview{padding-block:var(--space-l);border-top:1px solid var(--line);align-items:start;margin-top:0}.personal-preview>div:first-child{grid-column:1/span 5}.personal-preview h2{max-width:14ch}.personal-preview-images{gap:var(--grid-gap);grid-column:7/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;display:grid}.personal-preview-images figure{aspect-ratio:4/3;border:1px solid var(--line);background:var(--paper-deep);margin:0;position:relative;overflow:hidden;box-shadow:0 .6rem 1.4rem #143d4124}.personal-preview-images figure:first-child{transform:rotate(-1.5deg)}.personal-preview-images figure:nth-child(2){aspect-ratio:3/4;transform:rotate(1.4deg)}.personal-preview-images figure:nth-child(3){transform:rotate(-.6deg)}.personal-preview-images img{object-fit:cover;width:100%;height:100%}.personal-preview-images figure:first-child img{object-position:50% 50%}.personal-preview-images figure:nth-child(2) img{object-position:50% 15%}.personal-preview-images figure:nth-child(3) img{object-position:70% 65%}.page-intro{padding-block:var(--space-xl) var(--space-m);align-items:start}.page-intro>.eyebrow{margin-bottom:var(--space-s);grid-area:1/1/auto/-1}.page-intro-heading{grid-area:2/1/auto/span 7}.page-intro-detail{grid-area:2/9/auto/-1}.page-intro h1,.profile-hero h1{max-width:18ch;font-size:clamp(2.75rem,4.4vw,4.35rem)}.academic-section-nav{display:none}.academic-research-intro{padding-top:var(--space-l);border-top:1px solid var(--line);scroll-margin-top:2rem}.academic-research-intro h2{max-width:20ch;margin-bottom:0}.content-section{padding-block:var(--space-m) 0}.scaffold-grid{column-gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.scaffold-grid article{border-top:.25rem solid var(--blue);grid-column:span 4;min-height:0;padding:1.35rem 1.5rem 1.35rem 0}.scaffold-grid article+article{padding-left:var(--grid-gap);border-left:1px solid var(--line)}.research-themes{margin-bottom:0}.step-number{color:var(--blue)}.feature-section{margin-block:var(--space-m) var(--space-l)}.tournament-panel{column-gap:var(--grid-gap);width:100%;padding:var(--space-m) 0 0;border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.tournament-panel-heading{grid-column:1/span 4}.tournament-panel-copy{grid-column:5/-1;max-width:58rem}.tournament-panel .eyebrow{margin-bottom:var(--space-xs)}.tournament-panel h2{max-width:20ch;margin-bottom:var(--space-m)}.tournament-panel-copy p:last-child{margin-bottom:0}.project-list{margin-bottom:var(--section-space);display:grid}.project-list article{padding-block:var(--space-m);border-top:1px solid var(--line);align-items:start;scroll-margin-top:2rem}.project-list article>div:first-child{grid-column:1/span 4}.project-list article>div:last-child{grid-column:5/span 7}.project-list h2{margin-bottom:.5rem}.project-links{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.tool-screenshot{width:100%;height:auto;margin-bottom:var(--space-s);background:#fff;border:1px solid #163a3d3d;display:block;box-shadow:0 .75rem 1.8rem #163a3d1f}.media-placeholder{min-height:clamp(7rem,12vw,10rem);margin-bottom:var(--space-s);border:1px dashed var(--line);color:var(--ink-soft);background:#fffdf759;place-items:center;display:grid}.profile-hero{padding-block:var(--space-xl) var(--space-l);align-items:start}.profile-hero-copy{grid-column:1/span 7}.profile-hero-copy>p:not(.eyebrow,.lede){max-width:45rem}.affiliation{border-left:.3rem solid var(--sun);color:var(--ink-soft);margin-top:1.5rem;padding-left:1rem}.portrait-frame{aspect-ratio:11/14;border:1px solid var(--line);background:var(--paper-deep);border-radius:1rem;grid-column:9/-1;justify-self:end;width:86%;margin:0;position:relative;overflow:hidden}.portrait-frame img{object-fit:cover;object-position:100% 58%;width:109%;max-width:none;height:109%;display:block;position:absolute;top:-5.22%;left:-9%}.profile-overview{margin-block:var(--space-s) var(--space-m);align-items:start}.profile-overview--editorial{padding-top:var(--space-m);border-top:1px solid var(--line)}.profile-overview-heading{grid-column:1/span 3}.profile-overview-heading h2{margin-bottom:0;font-size:clamp(1.65rem,2.5vw,2.4rem)}.profile-overview-copy{grid-column:4/span 7;max-width:48rem}.profile-overview-copy p{color:var(--ink-soft);font-size:clamp(1rem,1.35vw,1.12rem)}.profile-overview-copy p:last-child{margin-bottom:0}.personal-collage-heading{padding-top:var(--space-m);border-top:1px solid var(--line);scroll-margin-top:2rem}.personal-collage-heading h2{max-width:19ch;margin-bottom:0}.experience-section{margin-bottom:var(--space-l);padding-top:var(--space-m);border-top:1px solid var(--line);align-items:start}.experience-heading{grid-column:1/span 4}.experience-heading h2{max-width:13ch;font-size:clamp(1.55rem,2.5vw,2.3rem)}.experience-list{border-bottom:1px solid var(--line);grid-column:5/-1;margin:0;padding:0;list-style:none}.experience-list li{gap:.15rem var(--grid-gap);border-top:1px solid var(--line);grid-template-columns:10rem minmax(0,1fr);padding-block:.8rem;display:grid}.experience-list li:first-child{border-top:0;padding-top:0}.experience-list h3,.experience-list p{grid-column:2;margin:0}.experience-list h3{font-size:clamp(1.05rem,1.5vw,1.3rem)}.experience-list p{color:var(--ink-soft);font-size:.92rem}.experience-meta{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;grid-area:1/1/span 3;font-size:.76rem;font-weight:800;display:flex}.community-content{grid-column:5/-1}.community-list{margin-bottom:var(--space-m)}.community-list li{grid-template-columns:10rem minmax(0,1fr)}.experience-period{letter-spacing:.04em;text-transform:uppercase;grid-row:1/span 5;font-weight:800;grid-column:1!important;font-size:.76rem!important}.experience-role{font-weight:700;color:var(--ink)!important}.experience-links{flex-wrap:wrap;gap:.25rem 1rem;font-weight:750;display:flex;margin-top:.35rem!important}.community-photo{aspect-ratio:16/9;border:1px solid var(--line);width:59%;margin:0;position:relative;overflow:hidden}.community-photo img{object-fit:cover;object-position:22% 22%;width:100%;height:100%;display:block;position:absolute;inset:0}.service-photo{margin-top:var(--space-s);grid-column:2}.service-photo figcaption{z-index:1;color:var(--white);background:#143d41e0;padding:.25rem .4rem;font-size:.7rem;font-weight:750;line-height:1.2;position:absolute;bottom:.45rem;right:.45rem}.outside-work{margin-block:var(--space-l);padding-block:var(--space-m);border-block:1px solid var(--line);align-items:start}.outside-work-heading{grid-column:1/span 4}.outside-work-copy{grid-column:5/-1}.outside-work-copy>p{max-width:42rem}.not-found{min-height:62vh;padding-block:clamp(5rem,12vw,10rem)}.not-found h1{max-width:14ch}.not-found>p:not(.eyebrow){max-width:36rem;color:var(--ink-soft);font-size:clamp(1rem,1.35vw,1.12rem)}.motorcycle-photo{aspect-ratio:21/16;width:57%;margin:var(--space-m) 0 0;border:1px solid var(--line);overflow:hidden}.motorcycle-photo a{width:100%;height:100%;display:block;position:relative}.motorcycle-photo img{object-fit:cover;object-position:29% 54%;width:100%;height:100%;display:block;position:absolute;inset:0}.research-record,.academic-activities{margin-block:var(--space-l);padding-top:var(--space-m);border-top:1px solid var(--line);scroll-margin-top:2rem}.record-heading{max-width:48rem}.record-heading h2{margin-bottom:.75rem}.publication-list{margin:var(--space-m) 0 0;border-bottom:1px solid var(--line);padding:0;list-style:none;display:grid}.publication-entry{gap:.12rem var(--grid-gap);border-top:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));padding-block:.78rem;line-height:1.34;display:grid}.publication-entry h3{grid-column:3/span 7;margin:0;font-size:clamp(1.02rem,1.35vw,1.25rem);line-height:1.2}.publication-title-link{color:inherit;text-decoration:none}.publication-title-link:hover,.publication-title-link:focus-visible{color:var(--clay);text-decoration:underline}.publication-entry p{grid-column:3/span 7;margin:0;font-size:.9rem}.publication-meta{color:var(--ink-soft);letter-spacing:.035em;text-transform:uppercase;flex-direction:column;grid-area:1/1/span 5/span 2;gap:.08rem;font-size:.74rem;font-weight:800;display:flex}.publication-authors{color:var(--ink-soft)}.publication-venue{color:var(--ink-soft);font-style:italic;font-size:.88rem!important}.publication-publisher,.publication-pages{color:var(--ink-soft)}.publication-links{flex-wrap:wrap;grid-area:1/10/span 4/-1;place-content:start flex-end;gap:.55rem;font-size:.84rem;font-weight:800;display:flex}.activity-year-groups{margin-top:var(--space-m);border-bottom:1px solid var(--line)}.activity-year{gap:var(--grid-gap);border-top:1px solid var(--line);grid-template-columns:7rem minmax(0,1fr);padding-block:.8rem;display:grid}.activity-year>h3{color:var(--ink-soft);letter-spacing:.04em;margin:0;font-size:.82rem;font-weight:800}.activity-year ul{margin:0;padding:0;list-style:none}.activity-year li{padding-block:.18rem}.activity-year strong{letter-spacing:.035em;text-transform:uppercase;font-size:.8rem}.activity-list{margin:var(--space-m) 0 0;border-bottom:1px solid var(--line);padding:0;list-style:none}.activity-list li{gap:var(--grid-gap);border-top:1px solid var(--line);grid-template-columns:7rem minmax(0,1fr);padding-block:.7rem;display:grid}.activity-list li>span{color:var(--ink-soft);font-size:.8rem;font-weight:800}.activity-list h3,.activity-list p{margin:0}.activity-list h3{font-size:1.1rem}.activity-list p{color:var(--ink-soft);font-size:.9rem}.site-footer{padding-block:var(--space-l);border-top:1px solid var(--line);color:var(--ink-soft);align-items:start;font-size:.95rem}.site-footer>div{grid-column:1/span 6}.site-footer p{margin:0}.footer-links{grid-column:7/-1}.footer-links ul{flex-wrap:wrap;justify-content:flex-end;gap:.2rem}.footer-links a{padding:.2rem .25rem;text-decoration:underline}.footer-links a:hover{color:var(--clay);background:0 0}.external-mark{text-decoration:none}@media (width<=64rem){.site-header,.site-footer,.shell{width:min(var(--content-max), calc(100% - 3rem))}.page-intro-heading,.profile-hero-copy{grid-column:1/span 8}.page-intro-detail,.portrait-frame{grid-column:9/-1}.publication-entry h3,.publication-entry p{grid-column:3/-1}.publication-links{grid-area:auto/3/auto/-1;justify-content:flex-start}}@media (width<=54rem){.site-header{align-items:flex-start;padding-block:1rem}.site-header nav ul{flex-wrap:wrap;justify-content:flex-end}.hero,.research-callout,.page-intro,.feature-section,.profile-hero,.profile-overview,.experience-section,.outside-work,.gallery-preview,.personal-preview,.project-list article,.site-footer{grid-template-columns:1fr}.hero-copy,.page-intro>.eyebrow,.page-intro-heading,.page-intro-detail,.research-callout article,.research-callout-copy,.recent-work,.tournament-panel,.profile-hero-copy,.portrait-frame,.profile-overview-heading,.profile-overview-copy,.experience-heading,.experience-list,.community-content,.outside-work-heading,.outside-work-copy,.gallery-preview>div:first-child,.gallery-preview>div:nth-child(2),.personal-preview>div:first-child,.personal-preview-images,.project-list article>div:first-child,.project-list article>div:last-child,.site-footer>div,.footer-links{grid-column:1}.hero{row-gap:2rem;min-height:auto}.page-intro>.eyebrow,.page-intro-heading,.page-intro-detail{grid-row:auto}.page-intro-detail{margin-top:var(--space-s)}.research-callout article{row-gap:var(--space-s);grid-template-columns:1fr}.recent-work{padding:var(--space-s) 0 0;border-top:1px solid var(--line);border-left:0}.project-strip,.media-placeholder-row{grid-template-columns:1fr 1fr}.gallery-preview{row-gap:1rem}.personal-preview{row-gap:var(--space-m)}.personal-preview-images,.media-placeholder-row{grid-column:1}.scaffold-grid{grid-template-columns:1fr}.scaffold-grid article{grid-column:1;padding:1.35rem 0}.scaffold-grid article+article{border-left:0;padding-left:0}.profile-overview--editorial{row-gap:var(--space-s)}.tournament-panel{row-gap:var(--space-s);grid-template-columns:1fr}.tournament-panel-heading,.tournament-panel-copy{grid-column:1}.tournament-panel h2{margin-bottom:0}.portrait-frame{justify-self:start}.experience-section{row-gap:var(--space-m)}.footer-links ul{justify-content:flex-start;margin-top:1.5rem}.academic-section-nav{margin-bottom:var(--space-m);border-block:1px solid var(--line);scrollbar-width:thin;gap:1rem;padding-block:.65rem;display:flex;overflow-x:auto}.academic-section-nav a{flex:none;font-size:.82rem;font-weight:760;text-decoration:none}}@media (width<=38rem){:root{--space-l:1.9rem;--space-xl:2.4rem;--section-space:1.9rem}.site-header,.site-footer,.shell{width:min(100% - 2rem, var(--content-max))}.site-header{gap:.5rem;min-height:0;padding-block:.7rem;display:grid}.wordmark{gap:.55rem;font-size:1rem}.wordmark-mark{width:2.15rem;height:2.15rem}.site-header nav ul{justify-content:flex-start}nav a{padding:.4rem .65rem .4rem .15rem}h1,.page-intro h1,.profile-hero h1{font-size:clamp(2.4rem,11vw,2.8rem)}h2,.research-callout h2,.conversation .section-heading h2,.personal-preview h2,.profile-overview-heading h2,.experience-heading h2{font-size:clamp(1.72rem,8vw,2rem)}.hero{padding-top:2.25rem}.page-intro,.profile-hero{padding-top:var(--space-l)}.project-strip,.media-placeholder-row{grid-template-columns:1fr}.personal-preview{row-gap:var(--space-s)}.personal-preview-images{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.personal-preview-images figure,.personal-preview-images figure:nth-child(2){aspect-ratio:1}.publication-entry{grid-template-columns:1fr;gap:.14rem;padding-block:.68rem}.publication-entry h3,.publication-entry p,.publication-links,.publication-meta{grid-column:1}.publication-meta{flex-direction:row;grid-row:auto;gap:.75rem}.publication-links{grid-row:auto}.activity-list li{grid-template-columns:1fr;gap:.2rem;padding-block:.58rem}.activity-year{grid-template-columns:1fr;gap:.25rem;padding-block:.62rem}.experience-list li,.community-list li{grid-template-columns:1fr;gap:.16rem;padding-block:.65rem}.experience-list h3,.experience-list p,.experience-meta,.experience-period{grid-row:auto;grid-column:1!important}.service-photo{width:min(100%,24rem);grid-column:1!important}.experience-meta{flex-direction:row;gap:.75rem}.project-list article{padding-block:1rem}.site-footer{padding-block:var(--space-l)}.footer-links ul{margin-top:var(--space-s);gap:.1rem .35rem}.footer-links a{align-items:center;min-height:2.5rem;display:inline-flex}}@media (pointer:coarse),(any-pointer:coarse){.text-link,.project-links a,.publication-links a,.experience-links a{align-items:center;min-height:2.65rem;padding-block:.35rem;display:inline-flex}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
