:root{color-scheme:dark;--ink:#181b1c;--paper:#f7f8f7;--text:#f2f4f0;--muted:#b0b7b3;--accent:#d3ed91;--line:#3c4240;--dark-muted:#57605c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{background:var(--ink);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}a:hover{color:var(--accent)}::selection{background:var(--accent);color:var(--ink)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:500}svg{width:100%;display:block}.wrap{width:min(1280px,100% - 112px);margin-inline:auto}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.875rem;font-weight:500}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:110px;display:flex}.brand{letter-spacing:-.09em;font-size:1.75rem;font-weight:700}.brand span{color:var(--accent)}nav{gap:2.4rem;font-size:.875rem;display:flex}nav a:last-child{margin-left:1rem}nav a{padding:.5rem 0}.skip-link{z-index:100;background:var(--accent);color:var(--ink);padding:10px 20px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.hero{grid-template-columns:1.2fr 1fr;column-gap:5%;padding-top:78px;display:grid}.hero-heading>.eyebrow{color:var(--muted);margin-bottom:25px}h1{letter-spacing:-.073em;margin-left:-.055em;font-size:clamp(5.4rem,11vw,10.5rem);font-weight:700;line-height:.88}.period{color:var(--accent)}.hero-intro{align-self:center;max-width:450px;padding-top:26px}.hero-line{background:var(--accent);width:46px;height:3px;margin-bottom:28px;display:block}.hero-intro h2{letter-spacing:-.035em;font-size:clamp(1.75rem,2.6vw,2.6rem);line-height:1.16}.hero-intro h2>span{color:var(--accent)}.hero-intro p{color:var(--muted);max-width:365px;margin-top:25px;line-height:1.7}.text-link{align-items:center;gap:30px;margin-top:26px;font-size:.9375rem;display:inline-flex}.text-link>span{color:var(--accent);font-size:1.4rem}.hero-bottom{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:1.5rem;margin-top:68px;padding:24px 0 26px;font-size:.875rem;display:flex}.light-section{background:var(--paper);color:var(--ink);color-scheme:light}.light-section a:focus-visible{outline-color:#375315}.section-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:54px;display:flex}.section-heading .eyebrow{color:var(--dark-muted);margin-bottom:17px}.section-heading h2,.about h2{letter-spacing:-.045em;font-size:clamp(2rem,3.25vw,3rem);line-height:1.12}.section-heading>p{color:var(--dark-muted);font-size:.9375rem;line-height:1.65}.work{padding:88px 0 84px}.project{border-top:1px solid #d4d9d5;grid-template-columns:.94fr 1fr;align-items:stretch;gap:7%;padding:45px 0;display:grid}.project-meta{letter-spacing:.03em;color:var(--dark-muted);align-items:center;gap:18px;margin-bottom:20px;font-size:.8125rem;display:flex}.project-meta>span:first-child{color:#263023;font-family:monospace;font-size:.875rem}.project h3{letter-spacing:-.035em;margin-bottom:18px;font-size:clamp(1.85rem,2.5vw,2.4rem);line-height:1.14}.project-copy>p:not(.project-note){color:var(--dark-muted);max-width:460px;line-height:1.75}.tags{flex-wrap:wrap;gap:7px;margin-top:23px;display:flex}.tags>span{color:#3e4940;border:1px solid #cfd6cf;border-radius:4px;padding:4px 9px;font-size:.8125rem;line-height:1.5}.project-note{color:#657066;margin-top:20px;font-size:.875rem}.project-visual{border-radius:7px;flex-direction:column;min-width:0;min-height:355px;padding:23px 25px;display:flex;overflow:hidden}.meter-visual{background:#e7ebe4}.visual-caption{letter-spacing:.02em;color:#485444;justify-content:space-between;gap:10px;font-size:.75rem;display:flex}.visual-caption>span:last-child{text-align:right}.diagram{flex:1;min-height:225px}.connections,.architecture-path,.power-path{stroke:#707d66;stroke-width:1.5px;fill:none}.architecture-path{marker-end:url(#meter-arrow)}.power-path{stroke:#9ba995;stroke-dasharray:4 4}.diagram-box{fill:#f6f8f1;stroke:#aab5a0;stroke-width:1.2px}.meter-boxes path{fill:none}.meter-boxes .input-box,.meter-boxes .host-box{fill:#edf2e5}.meter-boxes .afe-box{fill:#e1ebcf;stroke:#829768}.meter-boxes .power-box{fill:#edf1e9}.diagram-label{fill:#263023;text-anchor:middle;font-family:Arial,Helvetica,sans-serif;font-size:15px}.meter-diagram .diagram-label{font-size:13px}.meter-diagram .box-kicker{letter-spacing:.09em;fill:#637259;font-size:9px;font-weight:700}.meter-diagram .box-detail{fill:#697366;font-size:9.5px}.meter-diagram .rail-label{letter-spacing:.06em;text-anchor:end;fill:#768172;font-size:8.5px}.isolation-line{stroke:#6d8256;stroke-width:1.5px;stroke-dasharray:3 4}.isolation-label{letter-spacing:.08em;fill:#637756;text-anchor:start;font-family:Arial,Helvetica,sans-serif;font-size:8px;font-weight:700}.nodes{fill:#668044}.visual-foot{color:#4b5747;border-top:1px solid #bcc6b6;align-items:center;gap:13px;padding-top:13px;font-size:.8125rem;display:flex}.visual-foot>span{color:#718363}.visual-source{color:#697467;margin-top:9px;font-size:.69rem;line-height:1.45}.visual-source a{text-underline-offset:3px;text-decoration:underline 1px}.power-visual{color:#f2f4ef;background:#1f2927}.power-visual .visual-caption{color:#becac2}.power-specs{flex:1;align-items:center;gap:34px;padding:25px 0;display:flex}.power-specs>div{flex-direction:column;display:flex}.spec-number{letter-spacing:-.045em;white-space:nowrap;font-size:clamp(1.8rem,3.2vw,3.35rem);line-height:1.2}.spec-number>span{color:var(--accent);margin-left:5px;font-size:1.15rem}.spec-label{color:#b6c3bb;margin-top:8px;font-size:.875rem}.power-modes{color:var(--accent);flex-wrap:wrap;gap:12px 25px;padding-bottom:25px;font-size:.875rem;display:flex}.power-visual .visual-foot{color:#becac2;border-color:#48554f;display:block}.control-visual{background:#e8ecf0}.control-visual .visual-caption,.control-visual .visual-foot{color:#4c5967}.control-visual .visual-foot{border-color:#bec9d2}.control-visual .connections{stroke:#6c8297}.control-visual .diagram-box{fill:#f5f7f9;stroke:#a9b9c8}.control-visual .diagram-label{fill:#293d4e}.sub-label{fill:#566e82;font-size:13px}.feedback-label-bg{fill:#e8ecf0}.control-visual .nodes{fill:#536f88}.experience{padding-top:90px;padding-bottom:96px}.experience .section-heading .eyebrow{color:var(--muted)}.experience-grid{border-top:1px solid var(--line);grid-template-columns:.72fr 1fr;gap:10%;padding-top:40px;display:grid}.experience-role .eyebrow{color:var(--accent);font-size:.8125rem}.experience-role h3{letter-spacing:-.025em;margin-top:17px;font-size:1.65rem;line-height:1.25}.experience-role>p:last-child{color:var(--muted);margin-top:12px}.experience-body .lead{letter-spacing:-.025em;color:var(--text);margin-bottom:20px;font-size:1.35rem;line-height:1.5}.experience-body>p{color:var(--muted)}.experience-points{color:var(--muted);margin:28px 0 0;padding:0;list-style:none}.experience-points li{border-top:1px solid var(--line);padding:13px 0 13px 23px;position:relative}.experience-points li:before{content:"+";color:var(--accent);position:absolute;left:0}.about{padding:90px 0 95px}.about-grid{grid-template-columns:1fr .8fr;gap:13%;display:grid}.about .eyebrow{color:var(--dark-muted);margin-bottom:19px}.about-bio{color:var(--dark-muted);max-width:520px;margin-top:26px;line-height:1.8}.education{gap:25px;margin-top:35px;display:grid}.education>div{border-left:2px solid #c7d6b2;padding-left:18px}.education-status{color:#627149;margin-bottom:4px;font-size:.8125rem;display:block}.education h3{font-size:1rem;font-weight:600}.education p{color:var(--dark-muted);margin-top:3px;font-size:.9375rem}.education .education-detail{max-width:410px;margin-top:7px;font-size:.875rem}.expertise{padding-top:42px}.expertise>h3{margin-bottom:23px;font-size:1.2rem}.expertise-group{border-top:1px solid #d4d9d5;grid-template-columns:28px 1fr;gap:13px;padding:24px 0;display:grid}.expertise-index{color:#778270;padding-top:3px;font-family:monospace;font-size:.8125rem}.expertise h4{margin-bottom:9px;font-size:1rem;font-weight:600}.expertise p{color:var(--dark-muted);font-size:.9375rem;line-height:1.8}.contact{padding-top:86px;padding-bottom:80px}.contact>.eyebrow{color:var(--muted);margin-bottom:25px}.contact-row{justify-content:space-between;align-items:center;gap:2rem;display:flex}.contact h2{letter-spacing:-.06em;font-size:clamp(2.7rem,5.5vw,5.3rem);line-height:1.1}.contact h2>span{color:var(--accent)}.contact-link{border-bottom:1px solid #616a63;padding-bottom:9px;font-size:clamp(1rem,1.8vw,1.35rem)}.contact-link>span{color:var(--accent);margin-left:20px;display:inline-block}.contact>p:last-child{color:var(--muted);max-width:530px;margin-top:28px}.footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:1.5rem;padding-top:24px;padding-bottom:30px;font-size:.8125rem;display:flex}.footer a{font-size:.875rem}.footer a>span{margin-left:12px}@media (width>=1600px){.hero{padding-top:100px}.hero-bottom{margin-top:90px}}@media (width<=1000px){.wrap{width:calc(100% - 64px)}.hero{grid-template-columns:1fr 1fr;column-gap:6%}.hero-intro{padding-top:25px}.hero-intro h2{font-size:1.8rem}.hero-intro p{font-size:.9375rem}.hero-bottom{font-size:.8125rem}.section-heading>p{max-width:280px}.project{grid-template-columns:1fr 1fr;gap:5%}.project-visual{padding:20px 17px}.visual-caption{font-size:.75rem}.visual-caption>span:last-child{display:none}.power-specs{gap:22px}.experience-grid{gap:7%}.about-grid{gap:8%}}@media (width<=720px){.wrap{width:calc(100% - 40px)}.header{height:85px}nav{gap:18px;font-size:.875rem}nav a:last-child{margin-left:0}nav a:last-child>span{display:none}.brand{font-size:1.6rem}.hero{grid-template-columns:1fr;padding-top:49px}.hero-heading>.eyebrow{margin-bottom:26px}h1{font-size:clamp(5rem,22vw,9rem)}.hero-intro{max-width:100%;padding-top:44px}.hero-line{width:35px;margin-bottom:21px}.hero-intro h2{font-size:1.9rem;line-height:1.18}.hero-intro p{max-width:450px;margin-top:20px;font-size:1rem}.text-link{margin-top:20px}.hero-bottom{flex-direction:column;gap:8px;margin-top:43px;padding-block:20px;font-size:.8125rem}.work,.about{padding:58px 0}.section-heading{margin-bottom:35px;display:block}.section-heading h2,.about h2{font-size:2.15rem}.section-heading>p{max-width:100%;margin-top:18px}.desktop-break{display:none}.project{grid-template-columns:1fr;gap:27px;padding:33px 0}.project h3{font-size:2rem}.project-copy>p:not(.project-note){max-width:100%}.project-meta{gap:14px;font-size:.8125rem}.project-visual{min-height:290px;padding:20px}.visual-caption>span:last-child{display:block}.diagram{min-height:210px}.meter-visual .visual-foot{gap:7px;font-size:.75rem}.power-specs{justify-content:space-between;gap:15px}.spec-number{font-size:clamp(2rem,8.3vw,3.3rem)}.project-note{margin-top:16px}.experience{padding-top:58px;padding-bottom:60px}.experience-grid{grid-template-columns:1fr;gap:28px;padding-top:29px}.experience-role h3{font-size:1.6rem}.experience-body .lead{font-size:1.25rem}.about-grid{grid-template-columns:1fr;gap:38px}.expertise{padding-top:0}.about-bio{margin-top:21px}.contact{padding-top:57px;padding-bottom:50px}.contact-row{flex-direction:column;align-items:flex-start;gap:25px}.contact h2{font-size:3.1rem}.contact-link{font-size:1.1rem}.contact>p:last-child{margin-top:24px}.footer{padding-block:23px;font-size:.75rem}.footer a{font-size:.8125rem}.education h3{line-height:1.5}}@media (width<=380px){nav{gap:13px;font-size:.8125rem}.brand{font-size:1.4rem}.wrap{width:calc(100% - 32px)}.visual-caption>span:last-child{display:none}.project-visual{padding:17px}.power-modes{font-size:.8125rem}.contact h2{font-size:2.7rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.contact-methods{flex-direction:column;gap:22px;min-width:0;display:flex}.contact-link>.contact-type{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:.8125rem;display:block}.contact-link{display:block}.contact-row{align-items:flex-start}@media (width<=720px){.contact-methods{gap:24px;width:100%;max-width:340px}}.header nav a[aria-current=page]{color:var(--accent);box-shadow:0 1px 0 var(--accent)}@media (width<=720px){.header{flex-wrap:wrap;gap:10px;height:auto;min-height:85px;padding-block:18px}.header nav{flex-wrap:wrap;gap:4px 18px;width:100%}.header nav a{padding:6px 0}}@media (width<=380px){.header nav{gap:3px 14px}}
