:root{--paper:#f7f6f2;--ink:#29312c;--muted:#687068;--accent:#9c4f39;--line:#d9ddd5;--sage:#edf0e9;--body:'Lora',Georgia,serif;--heading:'Roboto Mono',monospace;--page:1160px;--gutter:clamp(24px,5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.8 var(--body);letter-spacing:0}a{color:inherit}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--heading);font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(36px,3.5vw,48px);line-height:1.25;white-space:nowrap}h2{font-size:clamp(27px,2.55vw,34px);line-height:1.4}h3{font-size:22px;line-height:1.5}h4{font-size:19px;line-height:1.55}h1 em,h2 em{color:var(--accent);font:inherit}p+p{margin-top:16px}p{max-width:72ch}.section-label,.eyebrow,.tag{font-family:var(--heading);font-size:11px;font-weight:400;letter-spacing:.09em;line-height:1.65}.section-label{color:var(--muted);margin-bottom:20px}.tag{display:block;color:var(--accent);margin-bottom:14px}.skip-link{position:fixed;top:-100px;z-index:50;background:white;padding:12px}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
header{height:80px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:28px;position:sticky;top:0;z-index:20;background:rgba(247,246,242,.97);border-bottom:1px solid var(--line)}.wordmark{font:500 19px/1.3 var(--heading);letter-spacing:-.04em;text-decoration:none;white-space:nowrap}nav{display:flex;align-items:center;gap:26px}nav a{font:400 13px/1.5 var(--body);text-decoration:none;white-space:nowrap}nav a:hover,nav a.active{color:var(--accent)}.resume-nav{border:1px solid #b8bdb4;padding:10px 16px;font-family:var(--heading);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.menu-toggle{display:none}
.hero{position:relative;min-height:580px;height:calc(84svh - 80px);max-height:680px;display:flex;align-items:center;overflow:hidden;background:var(--paper)}.hero-image{position:absolute;right:0;top:0;height:100%;width:51%;object-fit:cover;object-position:65% 67%}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 38%,rgba(247,246,242,.92) 43%,rgba(247,246,242,.35) 51%,transparent 63%)}.hero-content{position:relative;width:50%;padding:55px 0 70px var(--gutter);z-index:1}.hero-content .eyebrow{margin-bottom:24px;font-size:10px;letter-spacing:.1em;color:var(--muted)}.hero-content h1{margin-bottom:24px}.hero-content>p:not(.eyebrow){max-width:380px;font-size:17px;line-height:1.85}.pill{display:inline-block;text-decoration:none;border:1px solid var(--ink);border-radius:0;padding:15px 24px;font:400 11px/1.5 var(--heading);letter-spacing:.12em;text-transform:uppercase}.pill.dark{margin-top:30px;background:var(--ink);color:var(--paper)}.pill:hover,.resume-nav:hover{background:var(--accent);border-color:var(--accent);color:white}.hero-note{position:absolute;bottom:24px;right:var(--gutter);font:400 10px/1.7 var(--heading);letter-spacing:.06em;background:rgba(247,246,242,.93);padding:12px 16px}.hero-note span{font:400 12px/1.6 var(--body);letter-spacing:0;color:var(--muted)}
.section{max-width:calc(var(--page) + var(--gutter)*2);padding:88px var(--gutter);margin:auto}.about{display:grid;grid-template-columns:180px minmax(0,1fr);gap:54px}.about>.section-label{margin-top:7px;font-size:13px;letter-spacing:0;color:var(--ink)}.about h2{font-size:27px;line-height:1.5;margin-bottom:26px}.about-copy>p{max-width:730px;color:var(--muted)}.about-copy>.lead{font-size:18px;line-height:1.8;color:var(--ink)}.about-facts{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:22px;margin-top:30px;padding:22px 0;border-top:1px solid var(--line)}.about-facts span{display:block;font:400 10px/1.6 var(--heading);letter-spacing:.06em;color:var(--muted);margin-bottom:7px}.about-facts strong{font-size:13px;font-weight:400}.text-link{display:inline-block;border:0;border-bottom:1px solid var(--ink);padding:0 0 3px;text-decoration:none;background:none;font:400 13px/1.6 var(--body);cursor:pointer}.text-link:hover{color:var(--accent);border-color:var(--accent)}.resume-download{padding:14px 24px;border:1px solid #c7cbc3;font:400 10px/1.6 var(--heading);letter-spacing:.2em;text-transform:uppercase;border-radius:0;margin-top:5px}.resume-download:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.research{border-top:1px solid var(--line)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:64px;margin-bottom:38px}.section-top>div{min-width:0}.section-intro{max-width:310px;color:var(--muted);font-size:15px;line-height:1.85}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}.project-card{background:white;border:1px solid var(--line);display:flex;flex-direction:column}.project-open{display:flex;flex-direction:column;text-align:left;border:0;padding:0;width:100%;height:100%;background:none;cursor:pointer}.project-visual{height:260px;width:100%;position:relative;overflow:hidden;background:#e3e8db;flex-shrink:0}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project-open:hover .project-visual img{transform:scale(1.025)}.project-visual.polymer img{object-position:40% 43%}.project-number{position:absolute;top:16px;left:16px;background:#f7f6f2ec;border:1px solid #ffffff66;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font:400 11px var(--heading)}.type-visual{height:100%;display:flex;flex-direction:column;justify-content:center;padding:34px;background:#e3e8db}.type-visual>span{font:400 49px/1.2 var(--heading);letter-spacing:-.06em}.type-visual small{font:400 10px/1.8 var(--heading);letter-spacing:.08em;margin-top:20px}.kneepads .type-visual{background:#e9dfd5}.kneepads .type-visual>span{font-size:34px}.project-body{padding:27px;width:100%;display:flex;flex-direction:column;flex:1}.project-body h3{font-size:22px;line-height:1.5;margin-bottom:14px;max-width:440px}.project-body>.tag{font-size:10px;letter-spacing:.05em}.project-body>p{color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:26px}.project-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;line-height:1.6;border-top:1px solid var(--line);padding-top:17px;margin-top:auto}.open-label{white-space:nowrap;color:var(--accent)}
.card-resources{display:grid;grid-template-columns:1fr 1.5fr;column-gap:40px;row-gap:10px;border-top:1px solid var(--line);padding:30px 0 0;margin-top:38px}.card-resources>.tag{margin:0;max-width:260px}.card-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;grid-column:2;grid-row:1/4}.card-thumbnails .image-button{border:1px solid var(--line);background:white}.card-thumbnails img{height:132px;width:100%;object-fit:contain;padding:8px}.paper-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.paper-actions a{display:inline-block;border:1px solid #aeb6a9;padding:8px 13px;text-decoration:none;font:400 11px/1.6 var(--heading);letter-spacing:0}.paper-actions a:first-child{background:var(--ink);color:white;border-color:var(--ink)}.paper-actions a:hover{background:var(--accent);border-color:var(--accent);color:white}.source-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:12px;max-width:72ch}.card-resources .paper-actions{margin-top:4px}.card-resources .source-note{margin:0}.publications{display:grid;grid-template-columns:230px minmax(0,1fr);gap:45px;margin-top:45px;padding-top:32px;border-top:1px solid var(--line)}.publications h3{font-size:21px}.publication-list article+article{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.publication-list span{font:400 10px/1.7 var(--heading);letter-spacing:.04em;color:var(--muted)}.publication-list h4{font-size:18px;line-height:1.65;margin-top:8px}.recognition{padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:36px}summary{cursor:pointer;font-size:14px;line-height:1.7}summary span{font-size:12px;color:var(--muted);margin-left:18px}details figure{max-width:780px;margin:24px auto 0}
.image-button{display:block;border:0;padding:0;background:none;width:100%;overflow:hidden;cursor:zoom-in}.image-button img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .35s}.image-button:hover img{transform:scale(1.018)}figcaption{font-size:12px;line-height:1.8;color:var(--muted);margin-top:11px}.community{background:var(--sage);max-width:none}.community>.section-top,.community>.outreach-feature,.community>.story-images,.community>.community-notes{max-width:var(--page);margin-left:auto;margin-right:auto}.outreach-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:46px;align-items:center}.feature-image{position:relative}.feature-image img{height:430px;object-position:50% 50%}.image-note{position:absolute;bottom:16px;left:16px;background:var(--paper);padding:9px 13px;font:400 9px/1.7 var(--heading);letter-spacing:.03em}.feature-copy h3{font-size:25px;line-height:1.5;margin-bottom:22px}.feature-copy p{font-size:15px;color:var(--muted)}.impact{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin-top:28px}.impact strong{display:block;font:400 31px/1.2 var(--heading);letter-spacing:-.05em;margin-bottom:6px}.impact span{font-size:12px;color:var(--muted)}p.funding{font-size:12px;margin-top:22px}.story-images{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}.story-images img{height:300px;object-position:center}.story-images figure:nth-child(2) img{object-position:50% 28%}.community-notes{display:grid;grid-template-columns:1fr 1fr;gap:64px;border-top:1px solid #cdd4c6;padding-top:35px;margin-top:44px}.community-notes h3{font-size:22px;margin-bottom:18px}.community-notes p{font-size:15px;color:var(--muted)}.community-notes .small-note{font-size:12px}
.activity-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:54px;align-items:center;margin-top:45px}.activity-feature img{height:360px}.activity-feature h3{font-size:25px;line-height:1.5;margin-bottom:20px}.activity-feature p{color:var(--muted);font-size:15px}.activity-feature .text-link{margin-top:23px}.activity-feature.reverse{grid-template-columns:1fr 1.15fr;margin-top:60px}.activity-feature.reverse figure{order:2}.activity-feature.reverse img{object-position:50% 40%}.soccer-band{display:grid;grid-template-columns:1.15fr 1fr;gap:38px;align-items:center;margin-top:55px;background:#efebe4}.soccer-band img{height:275px}.soccer-band>div{padding:24px 32px 24px 0}.soccer-band h3{font-size:23px;line-height:1.5;margin-bottom:16px}.soccer-band p{color:var(--muted);font-size:15px}.extra-row{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;border-top:1px solid var(--line);padding-top:34px;margin-top:42px}.extra-row h3{font-size:22px;margin-bottom:18px}.extra-row p{color:var(--muted);font-size:15px}.tool-list{display:flex;gap:8px;flex-wrap:wrap}.tool-list span{font-size:12px;line-height:1.6;border:1px solid #c8d0c0;padding:6px 12px;border-radius:0}.education{display:grid;grid-template-columns:230px 1fr;gap:45px;border-top:1px solid var(--line);padding-top:60px;padding-bottom:60px}.education h2{font-size:27px}.education article>span{font:400 10px/1.7 var(--heading);letter-spacing:.04em;color:var(--muted)}.education h3{font-size:21px;margin:8px 0}.education article+article{margin-top:28px}.education p{font-size:14px;color:var(--muted)}
.contact{background:var(--ink);color:var(--paper);padding:65px max(var(--gutter),calc((100% - var(--page))/2))}.contact .section-label{color:#bdc7b7}.contact h2{font-size:36px;line-height:1.5}.contact h2 em{color:#e3b19d}.contact>p:not(.section-label){font-size:15px;color:#c3cdc0;margin-top:18px}.email{display:inline-block;font-size:25px;line-height:1.6;text-decoration:none;border-bottom:1px solid #82917a;margin-top:24px;max-width:100%;overflow-wrap:anywhere}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:34px}.contact .pill{color:var(--paper);border-color:#82917a;font-size:10px;letter-spacing:.18em}.back-top{font-size:12px;text-decoration:none}footer{display:flex;justify-content:space-between;gap:24px;padding:22px var(--gutter);font-size:11px;color:var(--muted)}
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-height:90svh;width:min(900px,94vw)}dialog::backdrop{background:#18201bbd;backdrop-filter:blur(4px)}.dialog-close{display:block;position:sticky;top:0;z-index:3;border:0;border-bottom:1px solid var(--line);background:var(--paper);text-align:right;width:100%;padding:14px 22px;cursor:pointer;font-size:13px}#detail-content{padding:30px 6% 45px}#detail-content h2{font-size:28px;line-height:1.5;margin:12px 0 20px;white-space:normal}#detail-content .detail-role{color:var(--accent);font-size:12px;margin-bottom:7px}#detail-content .project-time{font-size:13px;color:var(--muted);margin-bottom:24px}#detail-content>p,#detail-content li{font-size:15px;line-height:1.85}#detail-content h3{font-size:20px;line-height:1.5;margin:28px 0 14px}#detail-content ul{padding-left:20px}#detail-content li{margin:12px 0}#detail-content img{width:100%;height:auto;margin-top:25px}#detail-content .tool-list{margin-top:24px}.detail-paper{padding:23px;background:var(--sage);margin:28px 0}.detail-paper h3{font-size:19px!important;line-height:1.6;margin:8px 0 15px!important}.detail-paper p{font-size:12px;color:var(--muted);margin-top:5px}.detail-media{margin-top:32px;border-top:1px solid var(--line)}.gallery-intro{font-size:13px;color:var(--muted)}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px 22px;margin-top:22px}.detail-gallery figure:first-child{grid-column:1/-1}.detail-gallery .image-button{border:1px solid var(--line);background:white;display:flex;align-items:center;justify-content:center}.detail-gallery .image-button img{height:290px!important;width:100%!important;object-fit:contain!important;padding:10px;margin:0!important}.detail-gallery figure:first-child img{height:auto!important;max-height:520px}.detail-gallery figure:nth-child(2) img,.detail-gallery figure:nth-child(3) img{height:340px!important}.detail-gallery figure:nth-child(n+4) img{object-fit:cover!important;padding:0}.detail-gallery figcaption strong{display:block;color:var(--ink);font-size:13px;font-weight:500;margin-bottom:5px}#image-dialog{background:#19201b;color:white;width:min(1200px,96vw)}#image-dialog .dialog-close{background:#19201b;color:white;border-color:#ffffff25}#full-image{display:block;max-height:74svh;max-width:100%;width:auto;object-fit:contain;margin:auto}#full-caption{padding:15px 24px;font-size:13px;text-align:center;color:#d6dfd1}.body-locked{overflow:hidden}
@media(min-width:1600px){.hero-content{padding-left:max(var(--gutter),calc((100vw - var(--page))/2))}.hero-note{right:max(var(--gutter),calc((100vw - var(--page))/2))}}
@media(max-width:1050px){header{gap:20px}nav{gap:17px}nav a{font-size:12px}.wordmark{font-size:17px}.resume-nav{font-size:9px;padding:9px 12px}.hero-content h1{font-size:36px}.hero-content>p:not(.eyebrow){font-size:16px;max-width:330px}.about{grid-template-columns:135px 1fr;gap:36px}.publications,.education{grid-template-columns:180px 1fr;gap:30px}.project-visual{height:235px}.project-body{padding:23px}.project-body h3{font-size:20px}.feature-copy h3,.activity-feature h3{font-size:22px}.outreach-feature,.activity-feature,.activity-feature.reverse{gap:32px}.feature-image img{height:410px}.activity-feature img{height:340px}.section-top{gap:40px}.section-intro{max-width:270px}.card-resources{column-gap:26px}.story-images img{height:270px}.soccer-band img{height:290px}.soccer-band>div{padding-right:24px}}
@media(max-width:800px){html{scroll-padding-top:84px}header{height:72px}.wordmark{font-size:18px}.menu-toggle{display:block;font:400 12px/1.5 var(--heading);border:1px solid #c1c8b8;background:none;padding:7px 12px;cursor:pointer}nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:22px var(--gutter);box-shadow:0 12px 20px #0000000d;align-items:start;gap:18px;flex-direction:column}nav.open{display:flex}nav a{font-size:14px}.resume-nav{font-size:10px}.hero{min-height:520px;max-height:590px;height:78svh}.hero-content{width:57%}.hero-image{width:49%;object-position:66% 60%}.hero-wash{background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 41%,rgba(247,246,242,.8) 48%,transparent 65%)}.hero-content h1{font-size:32px}.hero-content .eyebrow{font-size:9px;letter-spacing:.04em}.hero-content>p:not(.eyebrow){font-size:15px;max-width:290px}.hero-note{font-size:9px;right:20px;bottom:20px}.hero-note span{font-size:11px}.section{padding-top:65px;padding-bottom:65px}.section-top{display:block}.section-intro{margin-top:20px;max-width:550px}.about{grid-template-columns:1fr;gap:18px}.about>.section-label{margin:0}.about h2{font-size:25px}.about-copy>.lead{font-size:17px}.about-facts{gap:18px}.project-grid{gap:20px}.project-visual{height:210px}.project-body{padding:20px}.project-body h3{font-size:19px}.project-body>p{font-size:14px}.project-bottom{font-size:10px;gap:8px;flex-wrap:wrap}.type-visual{padding:25px}.type-visual>span{font-size:39px}.kneepads .type-visual>span{font-size:26px}.type-visual small{font-size:9px}.outreach-feature{grid-template-columns:1fr;gap:30px}.feature-image img{height:360px}.feature-copy{max-width:650px}.impact{grid-template-columns:repeat(4,1fr);gap:20px}.story-images img{height:235px}.community-notes,.extra-row{gap:36px}.community-notes h3,.extra-row h3{font-size:20px}.activity-feature,.activity-feature.reverse{gap:28px}.activity-feature img{height:290px}.activity-feature h3{font-size:21px}.soccer-band{gap:28px}.soccer-band img{height:280px}.soccer-band h3{font-size:20px}.publications,.education{grid-template-columns:150px 1fr}.contact{padding-top:55px;padding-bottom:55px}.contact h2{font-size:31px}.email{font-size:23px}}
@media(max-width:560px){:root{--gutter:24px}body{font-size:16px;line-height:1.8}header{height:68px;gap:10px}.wordmark{font-size:16px;letter-spacing:-.045em}.menu-toggle{font-size:11px;padding:7px 11px}nav{top:68px}.hero{height:auto;max-height:none;min-height:0;display:flex;flex-direction:column;align-items:stretch}.hero-content{width:100%;padding:45px var(--gutter) 38px;order:0}.hero-content .eyebrow{font-size:9px;letter-spacing:.075em;margin-bottom:20px}.hero-content h1{font-size:clamp(28px,7.3vw,38px);margin-bottom:20px;line-height:1.3}.hero-content>p:not(.eyebrow){font-size:16px;max-width:38ch;line-height:1.8}.hero-content .pill{margin-top:24px;padding:13px 22px;font-size:10px}.hero-image{position:relative;top:0;right:auto;width:100%;height:300px;object-position:64% 66%;order:1}.hero-wash{display:none}.hero-note{bottom:15px;right:15px;padding:9px 12px;max-width:90%;font-size:8px;letter-spacing:.025em}.hero-note span{font-size:10px}h2{font-size:25px;line-height:1.5}h3{font-size:20px;line-height:1.5}.section{padding:52px var(--gutter)}.section-label{font-size:10px;margin-bottom:17px;letter-spacing:.06em}.about h2{font-size:22px;line-height:1.55;margin-bottom:22px}.about-copy>.lead{font-size:17px}.about-facts{grid-template-columns:1fr;padding:20px 0;gap:17px}.about-facts>div{display:grid;grid-template-columns:115px 1fr;gap:15px;align-items:start}.about-facts span{font-size:9px;margin:0}.about-facts strong{font-size:12px}.resume-download{padding:13px 20px;font-size:9px;letter-spacing:.18em}.section-top{margin-bottom:28px}.section-intro{font-size:15px;line-height:1.8;margin-top:18px}.project-grid{grid-template-columns:1fr;gap:24px}.project-visual{height:230px}.type-visual{padding:30px}.type-visual>span{font-size:44px}.kneepads .type-visual>span{font-size:29px}.project-body{padding:23px}.project-body h3{font-size:21px}.project-body>p{font-size:15px;margin-bottom:23px}.project-body>.tag{font-size:9px}.project-bottom{font-size:11px;gap:10px}.card-resources{display:block;padding-top:24px;margin-top:30px}.card-resources>.tag{max-width:none;margin-bottom:18px;font-size:10px}.card-thumbnails{gap:9px}.card-thumbnails img{height:100px;padding:5px}.card-resources .paper-actions{margin-top:20px}.card-resources .source-note{margin-top:13px;font-size:10px}.paper-actions a{font-size:10px;padding:9px 12px}.publications{grid-template-columns:1fr;gap:20px;margin-top:32px;padding-top:26px}.publications .section-label{margin-bottom:9px}.publication-list h4{font-size:17px}.publication-list span{font-size:9px}.recognition{margin-top:30px}summary{font-size:13px}summary span{display:block;margin:8px 0 0 18px;font-size:11px}.feature-image img{height:300px}.feature-copy h3{font-size:23px;line-height:1.5}.image-note{font-size:8px;padding:8px 10px;left:12px;bottom:12px}.impact{grid-template-columns:1fr 1fr;gap:24px}.impact strong{font-size:29px}.story-images{grid-template-columns:1fr;gap:28px;margin-top:30px}.story-images img{height:270px}.community-notes{grid-template-columns:1fr;gap:32px;padding-top:28px;margin-top:35px}.community-notes h3{font-size:21px}.activity-feature,.activity-feature.reverse{grid-template-columns:1fr;gap:23px;margin-top:35px}.activity-feature.reverse figure{order:0}.activity-feature.reverse>div{order:1}.activity-feature img{height:280px}.activity-feature h3{font-size:22px}.activity-feature .text-link{margin-top:19px}.soccer-band{grid-template-columns:1fr;gap:0;margin-top:36px}.soccer-band img{height:auto;aspect-ratio:1.9;object-fit:cover}.soccer-band>div{padding:24px}.soccer-band h3{font-size:21px}.extra-row{grid-template-columns:1fr;gap:32px;margin-top:34px;padding-top:27px}.extra-row h3{font-size:21px}.education{grid-template-columns:1fr;gap:24px}.education .section-label{margin-bottom:10px}.education h2{font-size:25px}.education h3{font-size:19px}.education p{font-size:13px}.contact{padding:46px var(--gutter)}.contact h2{font-size:27px}.contact>p:not(.section-label){font-size:14px}.email{font-size:19px;margin-top:20px}.contact-bottom{margin-top:28px;gap:20px;align-items:center}.contact .pill{font-size:9px;letter-spacing:.1em;padding:12px 17px}.back-top{font-size:11px}footer{padding:20px var(--gutter);flex-wrap:wrap;font-size:10px}dialog{width:94vw;max-height:92svh}#detail-content{padding:25px 6% 35px}#detail-content h2{font-size:23px;line-height:1.5}#detail-content h3{font-size:19px}#detail-content>p,#detail-content li{font-size:14px}.detail-paper{padding:19px}.detail-paper h3{font-size:17px!important}.detail-gallery{grid-template-columns:1fr;gap:25px}.detail-gallery figure:first-child{grid-column:auto}.detail-gallery .image-button img,.detail-gallery figure:nth-child(2) img,.detail-gallery figure:nth-child(3) img{height:auto!important;max-height:650px}.source-note{font-size:11px}#full-caption{font-size:12px;padding:14px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Blended introduction and expanded project galleries. */
.wordmark{font-family:var(--body);font-weight:400;font-size:19px;letter-spacing:0}
.hero-image{width:65%;height:110%;top:-10%;object-position:66% 62%}
.hero-wash{background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 32%,rgba(247,246,242,.98) 37%,rgba(247,246,242,.84) 44%,rgba(247,246,242,.35) 54%,transparent 68%)}
.project-bottom{justify-content:flex-end}.paper-actions{align-items:flex-start;align-content:flex-start}.paper-actions a{align-self:flex-start;white-space:nowrap}.card-resources{align-items:start}.card-thumbnails{align-self:start}
.activity-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:26px 0 44px}.activity-gallery .image-button{background:#fff;border:1px solid var(--line)}.activity-gallery img{height:290px;object-fit:contain;padding:8px}.activity-gallery+.activity-feature{margin-top:48px}.activity-gallery.soccer-gallery img{height:310px}.story-images{row-gap:30px}.story-images figure:nth-child(3) img{object-position:50% 60%}.story-images figure:nth-child(4) img{object-position:50% 55%}
.measurement-section{margin-top:30px}.measurement-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.measurement-table caption{text-align:left;color:var(--muted);font-size:12px;margin-bottom:12px}.measurement-table th,.measurement-table td{border-top:1px solid var(--line);padding:11px 12px;vertical-align:top}.measurement-table th{font-weight:400;width:47%}.measurement-table td{color:var(--muted)}.measurement-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:14px}.microscopy-gallery figure:nth-child(n) img{height:auto!important;max-height:460px;object-fit:contain!important;padding:10px}.microscopy-gallery figure:first-child img{max-height:none}.microscope-resources{margin-top:30px}
@media(max-width:1050px){.activity-gallery img{height:260px}}
@media(max-width:800px){.wordmark{font-size:18px}.hero-image{width:64%;height:110%;top:-10%;object-position:67% 60%}.hero-wash{background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 32%,rgba(247,246,242,.95) 39%,rgba(247,246,242,.65) 49%,transparent 70%)}.activity-gallery{gap:20px}.activity-gallery img{height:240px}}
@media(max-width:560px){.wordmark{font-size:18px}.hero-image{position:relative;width:100%;height:300px;top:0;object-position:64% 66%;mask-image:linear-gradient(to bottom,transparent 0,#000 45px)}.hero-wash{display:none}.hero-content{padding-bottom:22px}.activity-gallery{gap:18px;grid-template-columns:1fr 1fr;margin-top:22px;margin-bottom:34px}.activity-gallery img,.activity-gallery.soccer-gallery img{height:210px;padding:5px}.activity-gallery figure:only-child{grid-column:1/-1}.activity-gallery figcaption{font-size:11px;line-height:1.7}.measurement-table{font-size:12px}.measurement-table th,.measurement-table td{padding:10px 8px}.measurement-note{font-size:11px}.microscopy-gallery figure:nth-child(n) img{max-height:600px}}
/* Microscope photo carousel. Controls sit above the image and remain clickable. */
.project-card.has-carousel>.project-open{height:auto;flex:1}.microscope-carousel{isolation:isolate}.carousel-frame,.carousel-slide,.carousel-slide>.image-button{height:100%;width:100%}.carousel-slide[hidden]{display:none}.carousel-slide img{height:100%;width:100%;object-fit:cover;object-position:50% 50%}.carousel-slide img.microscope-hands-on{object-position:50% 17%}.carousel-controls{position:absolute;top:13px;left:56px;right:13px;z-index:4;display:flex;justify-content:center;align-items:center;gap:12px;pointer-events:none}.carousel-dots{display:flex;gap:4px;padding:3px 7px;background:rgba(247,246,242,.92);border:1px solid #ffffff70;border-radius:22px;pointer-events:auto}.carousel-dot{display:grid;place-items:center;width:24px;height:24px;padding:0;background:none;border:0;border-radius:50%;cursor:pointer}.carousel-dot::after{content:'';width:7px;height:7px;background:#9aab9b;border-radius:50%;border:1px solid #6c7f6b}.carousel-dot[aria-pressed="true"]::after{background:var(--ink);border-color:var(--ink);transform:scale(1.25)}.carousel-playback{pointer-events:auto;font:400 10px/1.5 var(--body);background:rgba(247,246,242,.92);border:1px solid #ffffff70;padding:5px 9px;border-radius:20px;cursor:pointer;position:absolute;right:0}.carousel-caption{position:absolute;bottom:13px;left:14px;right:14px;z-index:3;pointer-events:none;font:400 11px/1.5 var(--body);color:white;text-shadow:0 1px 4px #000;background:#1e2924b8;padding:7px 10px;width:max-content;max-width:calc(100% - 28px)}.microscope-carousel>.project-number{z-index:4;pointer-events:none}.microscope-carousel:focus-within .carousel-dot:focus-visible{outline-offset:0}.project-card.has-carousel:hover .carousel-slide img{transform:none}@media(max-width:560px){.carousel-controls{left:50px;right:10px;top:11px}.carousel-caption{font-size:10px}.carousel-playback{font-size:10px}.carousel-slide img.microscope-hands-on{object-position:50% 20%}}

/* Ongoing atomic simulation: preserve the scientific figures at their native aspect ratios. */
.helium-visual{background:#fff;position:relative;display:flex;align-items:center;justify-content:center}
.helium-visual>img{height:100%;width:100%;object-fit:contain;padding:8px 0;transform:none!important}
.ongoing-badge{position:absolute;right:15px;top:17px;background:#eef0e6;color:var(--ink);border:1px solid #d9dfd0;padding:6px 10px;font:400 10px/1.5 var(--body)}
.detail-status{display:inline-block;margin-left:13px;border:1px solid #d9dfd0;background:#eef0e6;padding:4px 9px;font:400 11px/1.5 var(--body)}
.detail-gallery.helium-gallery{grid-template-columns:1fr 1fr;gap:34px 24px}
.detail-gallery.helium-gallery figure{min-width:0;margin:0}
.detail-gallery.helium-gallery figure:first-child{grid-column:auto}
.detail-gallery.helium-gallery figure:nth-child(n+3){grid-column:1/-1}
.detail-gallery.helium-gallery .image-button{display:block;width:100%;background:#fff;border:1px solid #dadfd6}
.detail-gallery.helium-gallery .image-button img{height:auto!important;max-height:none!important;width:100%;object-fit:contain;padding:0;display:block}
.detail-gallery.helium-gallery figure:nth-child(-n+2) .image-button{height:270px;display:flex;align-items:center;justify-content:center}
.detail-gallery.helium-gallery figure:nth-child(-n+2) .image-button img{height:100%!important;width:100%;object-fit:contain}
.helium-gallery figcaption{font-size:13px;line-height:1.8;padding-top:12px}
.helium-gallery figcaption strong{font-family:var(--body);font-size:16px;line-height:1.5;margin-bottom:7px}
@media(max-width:560px){.detail-gallery.helium-gallery{grid-template-columns:1fr;gap:28px}.detail-gallery.helium-gallery figure:nth-child(n){grid-column:auto}.detail-status{margin:10px 0 0;display:table}.helium-gallery figcaption{font-size:12px}}

/* About: four balanced profile facts with an explicit external lab link. */
.about-facts{grid-template-columns:.95fr .95fr 1.25fr 1.6fr;gap:24px;padding:25px 0 27px;align-items:start}
.about-facts>div{min-width:0}.about-facts strong,.about-facts .lab-link{font:400 13px/1.75 var(--body)}
.about-facts .lab-link{color:var(--ink);text-decoration:underline;text-decoration-color:#b8c1b0;text-underline-offset:4px;display:inline-block}
.about-facts .lab-link:hover{color:var(--accent);text-decoration-color:currentColor}
.about-facts .lab-link span{display:inline;font:inherit;color:inherit;letter-spacing:0;margin:0;white-space:nowrap}
.about-facts .lab-fact small{display:block;font:400 11px/1.7 var(--body);color:var(--muted);margin-top:5px}
@media(max-width:1050px) and (min-width:561px){.about-facts{grid-template-columns:1fr 1fr;gap:25px 35px}}
@media(max-width:560px){.about-facts{grid-template-columns:1fr;gap:20px;padding:22px 0}.about-facts>div{grid-template-columns:108px minmax(0,1fr);gap:12px}.about-facts strong,.about-facts .lab-link{font-size:13px}.about-facts>div>span{padding-top:3px}}

/* Section hierarchy: compact titles, nearby descriptions, and a shared left edge. */
.section{padding-top:68px;padding-bottom:68px}
.section-top{display:block;margin-bottom:30px;max-width:none}
.section-top h2,.contact h2{font:400 clamp(28px,2.5vw,34px)/1.25 var(--body);letter-spacing:-.025em;color:var(--ink)}
.section-top .section-intro{font:400 15px/1.8 var(--body);letter-spacing:0;max-width:650px;margin:12px 0 0;color:var(--muted)}
.about{display:block}.about .section-top{margin-bottom:23px}.about-copy>.lead{font-size:17px;line-height:1.8;max-width:780px}.about-copy>p{max-width:780px}
.project-body h3,.feature-copy h3,.activity-feature h3,.soccer-band h3,.community-notes h3,.extra-row h3,.education h3{font-family:var(--body);letter-spacing:-.015em;font-weight:400;line-height:1.45}
.project-body h3{font-size:23px}.feature-copy h3,.activity-feature h3{font-size:25px}.community-notes h3,.extra-row h3,.soccer-band h3{font-size:23px}
.beyond>.activity-feature{margin-top:0}.beyond>.activity-feature.reverse{margin-top:52px}
.education{display:block;padding-top:58px;padding-bottom:58px}.education>.section-top{margin-bottom:28px}.education>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:48px}.education article+article{margin-top:0}.education h3{font-size:21px}
.contact h2{color:var(--paper)}.contact>p:not(.section-label){margin-top:12px;line-height:1.8}.contact{padding-top:56px;padding-bottom:56px}
@media(max-width:800px){.section{padding-top:54px;padding-bottom:54px}.section-top{margin-bottom:27px}.section-top .section-intro{margin-top:10px;max-width:600px}.project-body h3{font-size:21px}.education>div:last-child{gap:28px}}
@media(max-width:560px){.section{padding-top:44px;padding-bottom:44px}.section-top h2,.contact h2{font-size:28px;line-height:1.3}.section-top{margin-bottom:25px}.section-top .section-intro{font-size:14px;line-height:1.8;max-width:100%;margin-top:10px}.about .section-top{margin-bottom:20px}.about-copy>.lead{font-size:16px}.about-copy>p{font-size:15px}.project-body h3{font-size:21px}.feature-copy h3,.activity-feature h3,.soccer-band h3{font-size:23px}.community-notes h3,.extra-row h3{font-size:22px}.education>div:last-child{grid-template-columns:1fr;gap:26px}.education h3{font-size:20px}.contact{padding-top:44px;padding-bottom:44px}}

/* Keep the hero introduction in the same type family as its greeting and CTA. */
.hero-content>p:not(.eyebrow){font:400 15px/1.9 var(--heading);letter-spacing:-.025em;max-width:410px;text-wrap:pretty}
@media(max-width:800px){.hero-content>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:310px}}
@media(max-width:560px){.hero-content>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:340px}}

/* Compact contact details and a direct LinkedIn profile shortcut. */
.contact-links{display:flex;align-items:center;gap:21px;margin-top:23px;flex-wrap:wrap}
.contact .email{font:400 18px/1.7 var(--body);margin-top:0;letter-spacing:0}
.linkedin-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--paper);border:1px solid #82917a;text-decoration:none;border-radius:3px;flex-shrink:0}
.linkedin-link svg{display:block;width:21px;height:21px}
.linkedin-link:hover{color:#fff;background:#0a66c2;border-color:#0a66c2}
@media(max-width:560px){.contact .email{font-size:16px}.contact-links{gap:16px;margin-top:20px}.linkedin-link{width:36px;height:36px}.linkedin-link svg{width:20px;height:20px}}

/* One reading typeface across the hero, sections and project details. Mono is reserved for small labels and controls. */
h1,h2,h3,h4{font-family:var(--body)}
.hero-content h1{font-family:var(--body);font-size:clamp(40px,4vw,54px);line-height:1.25;letter-spacing:-.035em;font-weight:400}
.hero-content>p:not(.eyebrow){font:400 17px/1.85 var(--body);letter-spacing:0;max-width:390px;text-wrap:pretty}
.gratitude{border-top:1px solid var(--line)}
.gratitude-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center}
.gratitude-copy p{font:400 15px/1.9 var(--body);color:var(--muted);max-width:68ch}
.gratitude-copy p+p{margin-top:20px}
.gratitude-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.gratitude-photos figure{min-width:0}
.gratitude-photos .image-button img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 20%}
.gratitude-photos figure:first-child .image-button img{object-position:center}
.gratitude-photos figcaption{font:400 11px/1.7 var(--body);margin-top:9px}
@media(max-width:800px){.hero-content h1{font-size:36px}.hero-content>p:not(.eyebrow){font-size:15px;line-height:1.85;max-width:310px}.gratitude-layout{grid-template-columns:1fr;gap:28px}.gratitude-photos{max-width:520px}.gratitude-copy p{max-width:100%}}
@media(max-width:560px){.hero-content h1{font-size:34px}.hero-content>p:not(.eyebrow){font-size:15px;max-width:340px}.gratitude-photos{gap:14px}.gratitude-copy p{font-size:14px;line-height:1.9}.gratitude-photos figcaption{font-size:10px}}
