@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#101316;--panel:#1a1d22;--line:#31353b;--text:#eceff3;--muted:#a5aab0;--lime:#7dadf0;--ink:#131922}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 'DM Sans',Arial,sans-serif}h1,h2,h3,h4,h5,p{margin:0}h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--lime);outline-offset:6px}button:disabled{cursor:wait}::selection{background:var(--lime);color:var(--ink)}.progress{position:fixed;left:0;top:0;height:3px;background:var(--lime);width:0;z-index:100}header{height:100px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(11,17,32,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:18px}.monogram{font:800 36px/1 Manrope,Arial,sans-serif;letter-spacing:-4px;color:var(--lime)}.monogram span{font-size:12px;letter-spacing:0;vertical-align:top;margin-left:4px}.brandName{font-size:11px;letter-spacing:2px;line-height:1.4;font-weight:700;border-left:1px solid var(--line);padding-left:17px}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a{color:#c3c7cd}nav a:hover{color:var(--lime)}.navContact{border:1px solid #647286;border-radius:40px;padding:10px 20px;color:var(--text)}.navContact span{margin-left:18px}.menuButton{display:none}.hero{padding:42px 5.5% 0;max-width:1600px;margin:auto}.heroTop,.heroFoot,.sectionLabel{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:1.6px;font-weight:500}.heroTop{color:var(--muted)}.eyebrow{display:flex;gap:10px;align-items:center}.tinySquare{width:7px;height:7px;background:var(--lime);display:inline-block}.location{font-size:11px}h1{font-size:clamp(60px,8.6vw,136px);font-weight:600;letter-spacing:-.065em;line-height:.98;margin:62px 0 50px}em{font-style:normal;color:var(--lime)}.outlineWord{color:transparent;-webkit-text-stroke:1px #878e97}.heroBottom{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end}.intro{max-width:530px}.intro>p:first-child{font-size:20px;line-height:1.6;color:#ccd1d8}.intro strong{color:white;font-weight:500}.muted{color:var(--muted);font-size:14px;margin-top:18px}.heroActions{display:flex;align-items:center;gap:30px;margin-top:32px}.limeButton{background:var(--lime);color:var(--ink);font-size:14px;font-weight:700;padding:15px 23px;border-radius:4px;display:inline-flex;transition:background .2s,transform .2s}.limeButton:hover{background:#b1cef6;transform:translateY(-2px)}.textLink{font-size:14px;border-bottom:1px solid #858f9c;padding:8px 0}.technicalCard{border:1px solid #3e4857;border-radius:5px;background:linear-gradient(125deg,#242a32,#191d22);padding:21px 25px}.cardTop,.cardBottom{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.3px;color:#a0b1c9}.cardTop{padding-bottom:13px}.cardBottom{padding-top:15px}.focusRow{display:grid;grid-template-columns:30px 1fr;gap:0 5px;padding:12px 0;border-bottom:1px solid #363e4a;align-items:center}.focusRow>span{font-size:11px;color:#8f9bac;grid-row:span 2}.focusRow strong{font-weight:500;font-size:18px;letter-spacing:-.4px}.focusRow small{font-size:10px;color:#9ba7b7;letter-spacing:1px}.heroFoot{border-top:1px solid var(--line);padding:25px 0;color:#7e8692;margin-top:60px;font-size:10px}.strip{display:flex;justify-content:space-around;gap:22px;padding:25px 4%;background:var(--lime);color:var(--ink);align-items:center;font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:clamp(14px,1.65vw,25px);letter-spacing:-.5px;overflow:hidden}.strip i{font-size:24px;font-style:normal}.section{max-width:1600px;margin:auto;padding:94px 5.5%;border-bottom:1px solid var(--line)}.sectionLabel{color:#8a95a5;font-size:11px;margin-bottom:48px}.aboutGrid{display:grid;grid-template-columns:1fr 1fr;gap:10%}h2{font-size:clamp(32px,4vw,61px);line-height:1.12;letter-spacing:-.045em;font-weight:500}.largeCopy{font-size:24px;line-height:1.5;color:#e0e5eb}.bodyCopy{font-size:16px;color:var(--muted);margin-top:22px;line-height:1.8}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:64px;padding-top:36px}.facts>div{border-right:1px solid var(--line);padding:0 25px}.facts>div:first-child{padding-left:0}.facts>div:last-child{border:0}.facts strong{font-family:Manrope,Arial,sans-serif;font-size:54px;font-weight:500;letter-spacing:-3px;line-height:1.1}.facts strong span{font-size:24px;color:var(--lime);letter-spacing:-1px}.facts p{font-size:14px;color:var(--muted);margin-top:15px;line-height:1.5}.expertise{background:#16191d}.sectionTitle{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:46px}.sectionTitle>p{color:var(--muted);font-size:15px;line-height:1.8}.skillTabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.skillTabs button{background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;text-align:left;padding:22px 15px;font-size:15px}.skillTabs button[aria-selected=true]{color:var(--lime);border-bottom-color:var(--lime)}.skillPanel{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:42px 28px 10px;min-height:320px}.panelNumber{font-size:12px;letter-spacing:2px;color:#7e90a9}.skillLead h3{font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:500;margin:12px 0 18px}.skillLead p{font-size:16px;color:var(--muted);max-width:430px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{font-size:13px;border:1px solid #404f64;padding:6px 13px;border-radius:30px;color:#c9d7eb}.skillDetails ul{padding:0;list-style:none;margin:22px 0}.skillDetails li{font-size:15px;color:#b2bccb;border-bottom:1px solid var(--line);padding:9px 0}.skillDetails li:before{content:'+';color:var(--lime);margin-right:12px}.panelNote{font-size:10px;letter-spacing:1px;color:#727f92}.role{display:grid;grid-template-columns:22% 1fr;border-top:1px solid var(--line);padding:36px 0 43px}.roleSide{display:flex;flex-direction:column;gap:45px}.year{font-size:12px;color:var(--muted);letter-spacing:1px}.roleIndex{font:500 64px/1 Manrope,Arial,sans-serif;color:#414955;letter-spacing:-4px}.current .roleIndex{color:var(--lime)}.roleHeader{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.tag{font-size:10px;letter-spacing:1.2px;color:var(--lime);border:1px solid #284978;border-radius:3px;padding:4px 8px;display:inline-block}.tag.neutral{color:#9ea9b9;border-color:#3b434f}.roleDate{font-size:10px;color:#8e98a6;letter-spacing:.7px}.role h3{font-size:34px;line-height:1.2;letter-spacing:-1.4px;font-weight:500}.role h3 span{color:var(--muted)}.role h4{font-size:17px;font-weight:400;color:#b8c2d1;margin-top:14px}.roleSummary{color:var(--muted);margin:20px 0;max-width:710px;font-size:16px}.roleTags{display:flex;gap:10px;flex-wrap:wrap}.roleTags span{font-size:12px;background:#23282e;padding:4px 11px;border-radius:3px;color:#9caabd}details{margin-top:26px}summary{display:flex;justify-content:space-between;cursor:pointer;color:#c0d2ec;font-size:14px;border-top:1px solid var(--line);padding:17px 0;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:22px;line-height:1;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}.responsibilities{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;padding:12px 0 5px}.responsibilities h5{font-size:15px;font-weight:500;color:#cdd4df;margin-bottom:9px}.responsibilities p{font-size:14px;color:#9da7b6;line-height:1.8}.project{background:#7dadf0;color:#131922}.project .sectionLabel{color:#364a67}.projectGrid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.project .tag{color:#2c3f59;border-color:#5273a2;margin-bottom:25px}.project em{color:#30496b}.projectHeading h3{font-size:21px;font-weight:600;margin-top:32px}.project .bodyCopy{color:#31425a}.projectMeta{display:flex;gap:35px;margin-top:33px;padding-top:25px;border-top:1px solid #4c85d4}.projectMeta span{display:block;font-size:10px;letter-spacing:1px;color:#30496b}.projectMeta strong{font-size:14px;font-weight:500;display:block;margin-top:5px}.functionalDiagram{background:#659eee;border:1px solid #4a84d4;padding:23px 26px 30px;border-radius:5px}.diagramLabel{font-size:10px;letter-spacing:1px;color:#2d466a}.platform{border:1px solid #3062a7;margin:35px auto 0;text-align:center;padding:18px 20px;font-size:11px;letter-spacing:1.3px;max-width:235px}.platform strong{font-family:Manrope,Arial,sans-serif;font-size:21px;letter-spacing:-.6px}.connector{height:36px;width:1px;background:#3062a7;margin:auto}.functions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid #3062a7;padding-top:17px}.functions div{text-align:center}.functions span{font-size:10px;color:#2d466a;display:block;margin-bottom:7px}.functions strong{font-size:13px;font-weight:600}.projectText{margin-top:25px}.projectText h4{font-size:18px;font-weight:600}.projectText p{font-size:15px;line-height:1.8;color:#2e4059;margin-top:9px}.education{padding-top:64px;padding-bottom:64px}.educationInner{display:flex;justify-content:space-between;gap:35px;align-items:center}.educationInner h2{font-size:29px}.educationInner p{color:var(--muted);font-size:15px;margin-top:14px}.degreeStats{display:flex;gap:55px}.degreeStats span{color:var(--muted);font-size:10px;letter-spacing:1px;white-space:nowrap}.degreeStats strong{display:block;color:var(--text);font-family:Manrope,Arial,sans-serif;font-size:25px;font-weight:500;letter-spacing:-.5px;margin-top:8px}.contact h2{font-size:clamp(54px,8vw,120px);line-height:1;letter-spacing:-.06em}.contactGrid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:50px}.contactGrid>p{font-size:20px;color:var(--muted);max-width:450px}.contactLinks a{display:block;border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:22px}.contactLinks a span{font-size:10px;letter-spacing:1.6px;color:#8694a8;display:block;margin-bottom:7px}.contactLinks a strong{font-size:clamp(18px,2vw,28px);font-weight:400;overflow-wrap:anywhere}.contactLinks a:hover strong{color:var(--lime)}#copyEmail{border:1px solid #52637a;border-radius:4px;background:transparent;color:#c2d3eb;padding:11px 16px;font-size:13px}#copyStatus{display:block;font-size:13px;color:var(--lime);min-height:24px;margin-top:10px}footer{padding:28px 5.5%;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.footerName{font-size:13px;font-weight:700;letter-spacing:1px;color:var(--text)}.mobileNav[hidden]{display:none}@media(min-width:1600px){header,footer{padding-left:calc((100vw - 1424px)/2);padding-right:calc((100vw - 1424px)/2)}}@media(max-width:1000px){h1{font-size:100px}.heroBottom{gap:5%}.intro>p:first-child{font-size:18px}.focusRow strong{font-size:16px}.section{padding-top:70px;padding-bottom:70px}.sectionTitle>p{max-width:250px}.role{grid-template-columns:18% 1fr}.roleDate{max-width:160px;text-align:right}.educationInner{align-items:start}.degreeStats{gap:25px}.educationInner h2{font-size:25px}.strip{gap:14px}.skillPanel{gap:6%;padding-left:0;padding-right:0}.projectGrid{gap:5%}}
@media(max-width:700px){header{height:78px;padding:0 6%}header nav{display:none}.brandName{font-size:9px}.monogram{font-size:31px}.menuButton{display:flex;align-items:center;gap:15px;background:transparent;color:var(--text);border:1px solid #4c5869;border-radius:30px;padding:7px 14px;font-size:12px}.menuButton span{font-size:19px}.mobileNav{position:fixed;top:78px;left:0;right:0;background:#191d23;z-index:19;display:flex;align-items:stretch;gap:0;flex-direction:column;padding:15px 6% 25px;border-bottom:1px solid var(--line)}.mobileNav a{padding:12px 0;font-size:17px}.hero{padding:30px 6% 0}.heroTop{font-size:10px;letter-spacing:1px}.location{display:none}h1{font-size:clamp(57px,13vw,90px);margin:45px 0 36px;line-height:1.04}.heroBottom{grid-template-columns:1fr;gap:36px}.intro>p:first-child{font-size:18px}.muted{font-size:12px}.heroActions{gap:25px;margin-top:23px}.limeButton{font-size:13px;padding:14px 18px}.technicalCard{padding:18px 20px}.focusRow{padding:10px 0}.heroFoot{margin-top:35px;font-size:8px;letter-spacing:1px;padding:20px 0}.strip{gap:18px;flex-wrap:wrap;justify-content:center;font-size:14px;padding:20px 5%}.strip i{font-size:15px}.strip i:nth-of-type(n+3){display:none}.section{padding:56px 6%}.sectionLabel{font-size:9px;letter-spacing:1px;margin-bottom:30px;gap:20px}.sectionLabel span:last-child{text-align:right}.aboutGrid{grid-template-columns:1fr;gap:28px}h2{font-size:36px}.largeCopy{font-size:21px}.bodyCopy{font-size:15px;margin-top:18px}.facts{grid-template-columns:1fr 1fr;gap:28px 0;padding-top:27px;margin-top:35px}.facts>div{padding-left:20px}.facts>div:nth-child(3){padding-left:0}.facts>div:nth-child(2){border:0}.facts strong{font-size:44px}.facts p{font-size:13px}.sectionTitle{display:block;margin-bottom:30px}.sectionTitle>p{margin-top:20px;font-size:14px;max-width:none}.sectionTitle>p br{display:none}.skillTabs{gap:0}.skillTabs button{font-size:12px;padding:15px 5px;line-height:1.5}.skillPanel{grid-template-columns:1fr;gap:25px;padding-top:25px;min-height:560px}.skillLead h3{font-size:29px}.skillLead p{font-size:15px}.tags span{font-size:12px}.skillDetails li{font-size:14px}.role{grid-template-columns:1fr;gap:20px;padding:27px 0 33px}.roleSide{flex-direction:row;align-items:center;justify-content:space-between;gap:0}.roleIndex{font-size:28px;letter-spacing:-1px}.year{font-size:11px}.roleHeader{align-items:start}.roleDate{font-size:9px;max-width:140px}.role h3{font-size:29px;letter-spacing:-1px}.role h4{font-size:16px}.roleSummary{font-size:15px}.responsibilities{grid-template-columns:1fr;gap:22px}.projectGrid{grid-template-columns:1fr;gap:33px}.projectMeta{gap:30px}.functionalDiagram{padding:20px}.functions strong{font-size:12px}.educationInner{flex-direction:column;gap:25px}.educationInner h2{font-size:26px}.degreeStats{gap:55px}.contact h2{font-size:64px}.contactGrid{grid-template-columns:1fr;gap:32px;margin-top:30px}.contactGrid>p{font-size:18px}.contactLinks a strong{font-size:22px}footer{padding:25px 6%;flex-wrap:wrap;gap:12px}footer p{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{header,.progress,.heroActions,.strip,.menuButton,#copyEmail{display:none}body{background:white;color:black}.section,.hero{padding:25px 0}.section{break-inside:avoid}em,.outlineWord{color:black;-webkit-text-stroke:0}.hero h1{font-size:55px}.technicalCard,.project,.expertise{background:#eee;color:black}details{display:block}details>*{display:block}.role,.projectGrid{break-inside:avoid}}

/* Graphite, machined silver and teal engineering palette. */
:root{--bg:#11191c;--panel:#1a282d;--line:#34464c;--text:#eff5f4;--muted:#a5b8bd;--lime:#6ee0ca;--ink:#102523}
header{background:rgba(17,25,28,.96)}.hero{padding-top:0}.heroTop{display:none}.engineerHero{display:grid;grid-template-columns:1.15fr .85fr;gap:8%;align-items:center;padding:54px 0 64px}.engineeringLabel{font:11px/1.5 monospace;letter-spacing:2px;color:var(--lime)}.engineerIdentity h1{font-size:clamp(62px,7.5vw,112px);margin:26px 0;line-height:1;letter-spacing:-.055em}.engineerIdentity h2{font-size:clamp(21px,2.2vw,31px);letter-spacing:-.025em;line-height:1.4}.engineerIdentity h2 span{font-size:.75em;color:var(--muted)}.engineerIdentity>p{margin:23px 0 28px;color:var(--muted);max-width:530px;font-size:17px}.heroDiscipline{margin-top:32px;font:10px/1.6 monospace;letter-spacing:1.3px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.engineerPortrait{margin:0;position:relative;padding:14px;border:1px solid #53716f;background:repeating-linear-gradient(90deg,transparent 0 27px,#6ee0ca0c 28px),repeating-linear-gradient(0deg,transparent 0 27px,#6ee0ca0c 28px),#1a282d;box-shadow:18px 18px 0 #18282c}.engineerPortrait:before,.engineerPortrait:after{content:'';position:absolute;width:30px;height:30px;border-color:var(--lime);border-style:solid;pointer-events:none}.engineerPortrait:before{left:-1px;top:-1px;border-width:2px 0 0 2px}.engineerPortrait:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}.engineerPortrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%}.engineerPortrait figcaption{display:flex;justify-content:space-between;gap:10px;padding:15px 0 2px;font:9px/1.5 monospace;letter-spacing:1px;color:#c3d4d5}.heroBottom{border-top:1px solid var(--line);padding-top:35px}.technicalCard{background:linear-gradient(125deg,#26383d,#172328);border-color:#40595e}.limeButton:hover{background:#a4f1df}.strip{background:#6ee0ca}.project{background:#dae7e4;color:#17312e}.project em{color:#287365}.project .sectionLabel,.project .bodyCopy,.projectText p{color:#435f59}.functionalDiagram{background:#c4d9d3;border-color:#91b3a8}.platform,.functions{border-color:#71988e}.projectMeta{border-color:#91b3a8}.projectMeta span,.diagramLabel,.functions span{color:#426d61}.project .tag{color:#315d50;border-color:#75998e}
@media(max-width:700px){.engineerHero{grid-template-columns:1fr;gap:30px;padding:34px 0 40px}.engineerIdentity h1{font-size:64px;margin:20px 0}.engineerIdentity h2{font-size:23px}.engineerIdentity>p{font-size:16px}.engineeringLabel{font-size:9px;letter-spacing:1.5px}.engineerPortrait{width:100%;max-width:420px;justify-self:center;box-shadow:8px 8px 0 #18282c}.engineerPortrait img{aspect-ratio:4/5}.heroDiscipline{font-size:9px}.heroBottom{padding-top:28px}}

/* Continuous software marquee. */
.strip{display:flex;flex-wrap:nowrap;gap:0;padding:18px 0;justify-content:initial;align-items:center}
.softwareViewport{flex:1;min-width:0;overflow:hidden}
.softwareTrack{display:flex;width:max-content;animation:softwareSlide 32s linear infinite}
.softwareGroup{display:flex;flex:none;align-items:center;gap:38px;padding-right:38px;white-space:nowrap}
.strip .softwareGroup i{display:block;font-style:normal;font-size:20px}



@keyframes softwareSlide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){.softwareGroup{gap:25px;padding-right:25px}.strip{font-size:16px}}
@media(prefers-reduced-motion:reduce){.softwareTrack{animation:none}.softwareViewport{overflow-x:auto}.softwareGroup[aria-hidden=true],}
