:root{--ink:#172331;--muted:#596575;--line:#dce2e5;--paper:#f6f7f5;--white:#fff;--accent:#bb623a;--deep:#142b38;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}img,video{max-width:100%;display:block}img{height:auto}button,a{touch-action:manipulation}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:1rem;z-index:20}.skip:focus{left:1rem}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{max-width:1320px;margin:auto;padding:20px 4vw;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{font-size:1.05rem;font-weight:800;letter-spacing:-.02em;text-decoration:none;line-height:1.2}.brand small{display:block;font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}.nav{display:flex;gap:2rem;align-items:center}.nav a{text-decoration:none;font-size:.88rem;font-weight:700}.nav a:hover,.nav a[aria-current=page]{color:var(--accent)}.wrap{max-width:1320px;margin:auto;padding-left:4vw;padding-right:4vw}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(3rem,7.2vw,7rem);font-weight:700}h2{font-size:clamp(2rem,3.7vw,3.6rem)}h3{font-size:1.25rem;line-height:1.25}.intro-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);min-height:570px;align-items:stretch;border-bottom:1px solid var(--line)}.intro-copy{padding-top:clamp(4rem,8vw,8.5rem);padding-bottom:5rem;padding-right:3rem;align-self:center}.intro-copy h1{margin:1.4rem 0 2rem}.intro-copy p{max-width:540px;font-size:clamp(1.08rem,1.4vw,1.3rem);color:var(--muted);line-height:1.55}.hero-image{background:#dce0df;display:grid;align-items:center;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.text-link{display:inline-flex;gap:.75rem;align-items:center;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:.35rem;font-size:.9rem;font-weight:800;letter-spacing:.02em}.text-link:hover{color:var(--accent)}.home-projects{padding-top:5.2rem;padding-bottom:7rem}.section-topline{display:flex;justify-content:space-between;align-items:end;gap:1rem;border-top:1px solid var(--ink);padding-top:1.3rem;margin-bottom:2.5rem}.section-topline h2{margin:0}.project-card{display:grid;grid-template-columns:1.2fr .8fr;background:var(--white);text-decoration:none;border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}.project-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #142b381a}.project-card img{width:100%;height:400px;object-fit:cover;object-position:center 45%}.project-card-copy{padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:space-between}.project-card-copy h3{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3.2vw,3.5rem);letter-spacing:-.04em;margin:1.5rem 0}.project-card-copy p{color:var(--muted);max-width:400px}.card-bottom{font-weight:800;color:var(--accent)}.footer{border-top:1px solid var(--line);padding:2rem 0 3rem;color:var(--muted);font-size:.86rem}.footer .wrap{display:flex;justify-content:space-between;gap:1rem}.project-banner{padding-top:4.8rem;padding-bottom:3.2rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,.35fr);gap:3rem;align-items:end}.project-banner h1{font-size:clamp(3.5rem,7vw,6.5rem);margin:1rem 0 1.5rem}.project-banner .lead{font-size:clamp(1.12rem,1.7vw,1.42rem);max-width:800px;line-height:1.5;color:#394a57;margin-bottom:0}.project-meta{border-left:1px solid var(--line);padding-left:1.6rem;font-size:.88rem}.project-meta p{margin:.55rem 0}.project-meta strong{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;color:var(--muted)}.project-hero{background:#393e43;min-height:380px}.project-hero img{width:100%;height:clamp(380px,49vw,690px);object-fit:contain}.metric-band{background:var(--deep);color:#fff}.metrics{display:grid;grid-template-columns:repeat(4,1fr)}.metric{padding:2.15rem 1.5rem 2.1rem;border-right:1px solid #ffffff30}.metric:first-child{padding-left:0}.metric:last-child{border:0}.metric b{display:block;font-size:clamp(1.7rem,3vw,2.9rem);line-height:1.1;letter-spacing:-.04em}.metric span{display:block;color:#b8c9cf;text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;font-weight:700;margin-top:.7rem}.article-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(2rem,6vw,7rem);padding-top:5rem;padding-bottom:7rem}.toc{align-self:start;position:sticky;top:2rem;font-size:.82rem}.toc p{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:800;margin-bottom:1rem}.toc a{display:block;text-decoration:none;border-left:1px solid var(--line);padding:.48rem .9rem;color:var(--muted)}.toc a:hover{border-color:var(--accent);color:var(--accent)}.article{max-width:950px;min-width:0}.chapter{border-top:1px solid var(--ink);padding-top:1.7rem;margin-bottom:6rem;scroll-margin-top:2rem}.chapter-head{display:grid;grid-template-columns:80px 1fr;gap:1rem;align-items:baseline;margin-bottom:1.3rem}.chapter-num{font-family:var(--serif);font-size:1.65rem;color:var(--accent)}.chapter h2{margin:0}.chapter .prose{max-width:730px;font-size:1.08rem;color:#374553;line-height:1.72}.chapter .prose p{margin-bottom:1.25rem}.chapter .prose strong{color:var(--ink)}.image-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2.1rem 0}.figure{margin:2.1rem 0}.figure img{width:100%;background:#e9ebea;object-fit:cover}.figure figcaption,.video-figure figcaption{font-size:.8rem;color:var(--muted);margin-top:.7rem;line-height:1.5}.figure.tall img{max-height:560px;object-fit:contain}.figure.wide img{max-height:600px;object-fit:cover}.image-grid .figure{margin:0}.image-grid .figure img{height:320px}.image-grid .figure:nth-child(2) img{object-position:center}.split-text{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0 2.7rem}.callout{background:#e9eeed;padding:1.65rem;border-left:3px solid var(--accent)}.callout h3{margin-bottom:.6rem}.callout p{margin:0;color:#44515b}.spec-table{width:100%;border-collapse:collapse;margin:2rem 0 2.5rem;font-size:.91rem}.spec-table th,.spec-table td{text-align:left;border-bottom:1px solid var(--line);padding:.8rem .5rem}.spec-table th{width:46%;font-weight:500;color:var(--muted)}.control-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:2.3rem 0}.control-flow div{background:#e7ebeb;padding:1rem;min-height:100px}.control-flow b{display:block;font-size:.75rem;color:var(--accent);letter-spacing:.1em;margin-bottom:.5rem}.control-flow span{font-weight:700;line-height:1.3}.video-figure{margin:2rem 0}.video-figure video{width:100%;background:#0d1821;aspect-ratio:16/9;object-fit:contain}.video-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.video-pair .video-figure{margin:0}.video-pair video{aspect-ratio:16/9}.result-box{background:var(--deep);color:white;display:grid;grid-template-columns:1fr 2fr;gap:2rem;padding:2.5rem;margin:2.5rem 0}.result-box b{font-size:clamp(2.5rem,4vw,4rem);line-height:1}.result-box span{color:#d6e2e2;align-self:center}.resource-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.resource-links a{display:inline-block;text-decoration:none;border:1px solid var(--ink);padding:.75rem 1rem;font-weight:700;font-size:.88rem}.resource-links a:hover{background:var(--ink);color:white}.end-note{font-size:.85rem;color:var(--muted)}@media(max-width:900px){.intro-hero{grid-template-columns:1fr}.intro-copy{padding:5rem 0 4rem}.hero-image img{height:400px}.project-card{grid-template-columns:1fr}.project-card img{height:370px}.project-banner{grid-template-columns:1fr;padding-top:3.5rem}.project-meta{display:flex;gap:2rem;border-left:0;border-top:1px solid var(--line);padding:1rem 0 0}.article-shell{grid-template-columns:1fr}.toc{position:static;display:flex;flex-wrap:wrap;gap:.2rem 1rem;border-bottom:1px solid var(--line);padding-bottom:1.2rem}.toc p{width:100%;margin-bottom:.3rem}.toc a{border-left:0;padding:.2rem 0}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid #ffffff30}.metric:nth-child(3){padding-left:0}}@media(max-width:620px){.header-inner{padding:1.1rem 5vw}.brand{font-size:.95rem}.brand small{font-size:.62rem}.nav{gap:1rem}.nav a{font-size:.78rem}.wrap{padding-left:5vw;padding-right:5vw}.intro-hero{min-height:0}.intro-copy h1{font-size:3.3rem}.intro-copy{padding:4rem 0 3rem}.hero-image img{height:280px}.home-projects{padding-top:4rem;padding-bottom:5rem}.project-card img{height:250px}.project-card-copy{min-height:300px}.project-banner{gap:1.5rem}.project-banner h1{font-size:3.5rem}.project-meta{display:block}.project-meta p{display:inline-block;margin-right:1.5rem}.project-hero img{height:310px}.metric{padding:1.4rem .8rem}.metric b{font-size:1.7rem}.article-shell{padding-top:2.5rem;padding-bottom:3rem}.chapter{margin-bottom:4rem}.chapter-head{grid-template-columns:1fr;gap:.25rem}.chapter-num{font-size:1.25rem}.split-text,.image-grid,.video-pair,.result-box{grid-template-columns:1fr}.image-grid .figure img{height:auto;max-height:390px}.control-flow{grid-template-columns:repeat(2,1fr)}.footer .wrap{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card{transition:none}}

.meta-tools{margin-top:1.3rem;padding-top:1.1rem;border-top:1px solid var(--line)}.meta-tools strong{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;color:var(--muted);margin-bottom:.65rem}.tool-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.42rem;padding:0;margin:0}.tool-tags li{border:1px solid #cbd4d5;padding:.24rem .55rem;font-size:.74rem;font-weight:700;line-height:1.4;color:#344651;background:#ecf0ef}.circuit-detail img{height:540px;object-fit:contain;background:#e7ebeb}@media(max-width:900px){.project-meta{flex-wrap:wrap}.meta-tools{width:100%;margin-top:0}}@media(max-width:620px){.circuit-detail img{height:420px}.meta-tools{margin-top:.6rem}}
.intro-copy h1{font-size:clamp(3rem,5vw,4.25rem);max-width:none}.hero-image img{object-position:43% 37%}.resume-main{padding-top:clamp(4rem,9vw,8rem);padding-bottom:clamp(6rem,14vw,12rem);min-height:70vh}.resume-main h1{font-size:clamp(3.5rem,7vw,6rem);margin:1rem 0 3.5rem}.resume-placeholder{display:grid;grid-template-columns:100px minmax(0,1fr);gap:2rem;max-width:820px;border-top:1px solid var(--ink);padding-top:1.7rem}.resume-index{font-weight:800;letter-spacing:.15em;color:var(--accent);font-size:.8rem}.resume-placeholder h2{font:400 clamp(1.8rem,3vw,2.5rem)/1.15 var(--serif);letter-spacing:-.03em;margin-bottom:.75rem}.resume-placeholder p{max-width:570px;color:var(--muted);font-size:1.05rem;margin:0}@media(max-width:620px){.header-inner{gap:1rem}.nav{gap:.8rem}.nav a{font-size:.75rem}.intro-copy h1{font-size:3.25rem}.resume-main{min-height:68vh}.resume-placeholder{grid-template-columns:1fr;gap:.7rem}}

.home-research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;margin-top:1.3rem}.research-card{min-width:0;background:var(--white);border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.research-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #142b381a}.research-card-media{height:315px;overflow:hidden;background:#eef1f1}.research-card-media img{width:100%;height:100%}.crystal-cover img{object-fit:contain;padding:1.2rem}.tensile-cover img{object-fit:cover;object-position:center 51%}.research-card-copy{padding:clamp(1.6rem,3vw,2.5rem);display:flex;flex-direction:column;flex:1}.research-card-copy h3{font:400 clamp(1.65rem,2.5vw,2.6rem)/1.15 var(--serif);letter-spacing:-.035em;margin:1rem 0}.research-card-copy p{color:var(--muted);margin-bottom:1.7rem}.research-card-copy .card-bottom{margin-top:auto}.crystal-hero{background:#e9eeee}.crystal-hero img{padding:2.5rem;object-fit:contain}.tensile-hero{background:#191f23}.tensile-hero img{height:clamp(400px,48vw,620px);object-fit:cover;object-position:center 50%}.research-metrics{grid-template-columns:repeat(3,1fr)}.research-figure img{width:100%;max-height:550px;object-fit:contain;background:#fff}.research-pair .figure img{height:340px;object-fit:contain;background:#f0f2f2}.specimen-figure img{max-height:540px;object-fit:contain;background:#f0f2f2}@media(max-width:900px){.research-card-media{height:270px}}@media(max-width:620px){.home-research-grid{grid-template-columns:1fr}.research-card-media{height:245px}.research-metrics{grid-template-columns:1fr}.research-metrics .metric{padding:1.35rem 0;border-right:0;border-bottom:1px solid #ffffff30}.research-metrics .metric:last-child{border:0}.crystal-hero img{padding:1rem}.research-pair .figure img{height:auto;max-height:340px}}@media(prefers-reduced-motion:reduce){.research-card{transition:none}}

.project-card-compact{margin-top:1.3rem}.project-card-compact img{height:460px;object-position:center 45%}.magnoboard-hero{background:#323331}.magnoboard-hero img{height:clamp(560px,81vw,1180px);object-fit:cover;object-position:center 45%}.tech-figures .figure img{object-fit:contain;background:#fff}.prototype-figure{max-width:600px}.prototype-figure img{width:100%;height:auto;max-height:none;object-fit:contain;background:#eef1f1}@media(max-width:900px){.project-card-compact img{height:420px}}@media(max-width:620px){.project-card-compact img{height:300px}.magnoboard-hero img{height:420px}}

.arc-card{margin-top:1.3rem}.arc-card img{background:#fff;object-fit:contain;padding:1rem}.arc-hero{background:#fff}.arc-hero img{height:auto;max-height:none;object-fit:contain}.arc-system-figure img{max-height:none;object-fit:contain;background:#fff}.arc-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:0;margin:2rem 0}.arc-steps li{background:#e9eeed;padding:1.25rem;min-height:135px}.arc-steps b{display:block;font-size:.92rem;color:var(--accent);margin-bottom:.55rem}.arc-steps span{display:block;font-size:.88rem;line-height:1.45;color:#44515b}.arc-figures .figure img{height:310px;object-fit:contain;background:#eef1f1}.arc-mounted-figure{max-width:680px}.arc-mounted-figure img{max-height:720px;object-fit:contain;background:#eef1f1}.arc-plate-figure{max-width:550px}.arc-plate-figure img{max-height:640px;object-fit:contain;background:#eef1f1}@media(max-width:900px){.arc-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.arc-card img{height:250px;padding:.5rem}.arc-steps{grid-template-columns:1fr}.arc-steps li{min-height:0}.arc-figures .figure img{height:auto;max-height:330px}.arc-mounted-figure img,.arc-plate-figure img{height:auto}}

.arc-test-video video{max-width:640px;aspect-ratio:4/3;margin:auto}.arc-assembly-grid .figure img{height:370px;object-fit:contain;background:#eef1f1}@media(max-width:620px){.arc-assembly-grid .figure img{height:auto;max-height:420px}}

.senior-card{margin-bottom:1.3rem}.senior-card img{object-position:center 40%}.senior-hero{display:flex;justify-content:center;background:#e7ebea;overflow:hidden}.senior-hero img{width:auto;height:clamp(540px,65vw,850px);max-width:100%;object-fit:contain}.senior-system-grid .figure img{height:510px;object-fit:contain;background:#eef1f1}.senior-diagram img{max-height:670px;object-fit:contain;background:#fff}.senior-electronics-photo{max-width:620px}.senior-electronics-photo img{max-height:760px;object-fit:contain;background:#eef1f1}.senior-sequence{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:0;margin:2rem 0}.senior-sequence li{background:#e9eeed;padding:1.25rem}.senior-sequence b{display:block;font-size:.95rem;color:var(--accent);margin-bottom:.55rem}.senior-sequence span{display:block;font-size:.88rem;line-height:1.5;color:#44515b}.senior-fastening-cad{max-width:800px}.senior-fastening-cad img{object-fit:contain;background:#eef1f1}.senior-detail-video video{max-width:360px;aspect-ratio:9/16;margin:0}.senior-installed{max-width:620px}.senior-installed img{max-height:720px;object-fit:contain;background:#eef1f1}.senior-award{max-width:820px}.senior-award img{object-fit:contain;background:#eef1f1}.senior-team-photo img{height:auto;object-fit:contain;background:#eef1f1}@media(max-width:900px){.senior-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.senior-hero img{height:500px}.senior-system-grid .figure img{height:auto;max-height:540px}.senior-sequence{grid-template-columns:1fr}.senior-detail-video video{margin:auto}}

.senior-electronics-photo{max-width:780px;margin-left:auto;margin-right:auto}.senior-electronics-photo img{height:auto;max-height:none;object-fit:contain}.senior-fastening-media{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:1rem;align-items:stretch;margin:2.1rem 0}.senior-fastening-media .figure,.senior-fastening-media .video-figure{min-width:0;margin:0;padding:.8rem;background:#e9eeed;display:flex;flex-direction:column}.senior-fastening-media .figure img{height:560px;object-fit:contain}.senior-fastening-media .video-figure video{width:100%;height:560px;max-width:none;aspect-ratio:auto;object-fit:contain;margin:auto}.senior-fastening-media figcaption{padding:.2rem .35rem;margin-top:.65rem}@media(max-width:700px){.senior-fastening-media{grid-template-columns:1fr}.senior-fastening-media .figure img{height:auto;max-height:470px}.senior-fastening-media .video-figure video{max-width:360px;height:auto;aspect-ratio:9/16}}

/* Let project-card media fill the height of its copy; trim accumulated end spacing on articles. */
.project-card{align-items:stretch}.project-card>img{height:100%;min-height:400px}.senior-card>img{object-fit:contain;object-position:center;background:#fff;padding:.7rem}.article-shell{padding-bottom:3.25rem}.article>.chapter:last-child{margin-bottom:0}@media(max-width:900px){.project-card>img{height:370px;min-height:0}}@media(max-width:620px){.project-card>img{height:250px}.article-shell{padding-bottom:2.2rem}}

.senior-card>img{object-fit:cover;object-position:center;background:#3b3b3b;padding:0}.senior-hero{display:flex;justify-content:center;background:#e7ebea}.senior-hero img{display:block;width:auto;height:clamp(540px,65vw,850px);max-width:100%;object-fit:contain}.senior-cycle-video video{height:auto;aspect-ratio:16/9;object-fit:contain}@media(max-width:620px){.senior-hero img{height:500px}}

.intro-copy .text-link{margin-top:.45rem}.resume-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}.resume-actions a{display:inline-block;text-decoration:none;border:1px solid var(--ink);padding:.7rem 1rem;font-weight:700;font-size:.9rem}.resume-actions a:hover{background:var(--ink);color:#fff}.resume-viewer{max-width:850px;margin:2.3rem 0 0;background:#e9ecec;border:1px solid var(--line)}.resume-viewer object{display:block;width:100%;height:1060px}.resume-main{padding-bottom:5rem}@media(max-width:620px){.resume-viewer object{height:630px}}
