:root{--muted-text:#555550}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}a:focus-visible,button:focus-visible{outline:3px solid #725cff;outline-offset:6px}a{text-underline-offset:4px}body:before{display:none}.skip-link{position:fixed;top:-100px;left:20px;background:#b7ff72;color:#111;padding:12px;z-index:999}.skip-link:focus{top:12px}.site-header{background:#0d0d0ef5;position:sticky;top:0;color:#fff;height:80px}.site-header nav{gap:24px}.site-header nav a{font-size:14px;min-height:44px;display:flex;align-items:center}.site-header nav a[aria-current]{color:#b7ff72}.nav-status{font-size:11px}.home-page .site-header{position:absolute;background:transparent}.hero{min-height:860px;height:calc(100svh - 0px);padding-top:140px}.hero-name{margin:0;font-size:clamp(5rem,16.3vw,18rem)}.name-line{animation:none!important}.hero-bottom{gap:32px}.hero-intro{color:#c6c6cb;font-size:16px}.hero-statement{font-size:22px}.hero-coordinate{color:#bab8c7}.discover-link{font-size:14px}.hero-orb{pointer-events:none}.orb-ring{animation:none!important}.identity-strip{background:var(--acid);padding:17px 24px;text-align:center;font:700 12px monospace;letter-spacing:.15em}.identity-strip span{padding:0 18px}.home-section{padding-top:100px;padding-bottom:100px}.section-marker{font:12px monospace;letter-spacing:.14em;margin-bottom:45px;color:#545450}.home-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.home-section h2{font-size:clamp(36px,4.3vw,66px);letter-spacing:-.045em;line-height:1.08;margin-bottom:30px}.home-section h2 em{font-style:normal;color:#6550dd}.home-intro p{font-size:18px;line-height:1.75;margin-bottom:22px;max-width:620px}.home-intro h3{font-size:28px;letter-spacing:-.025em;margin-bottom:16px}.text-link{display:block;width:fit-content;font-size:15px;font-weight:700;margin-top:20px;border-bottom:1px solid;padding-bottom:5px}.dark-section{background:#111113;color:#fafaf7}.dark-section .section-marker{color:#aaa9b8}.pillar-list{margin-top:55px}.pillar-list>a{display:grid;grid-template-columns:50px 1fr 30px;gap:25px;border-top:1px solid #414148;padding:30px 0;align-items:baseline}.pillar-list>a:hover h3{color:#b7ff72}.pillar-list h3{font-size:clamp(24px,3vw,40px);letter-spacing:-.03em;margin-bottom:8px}.pillar-list p{color:#bdbdc5;max-width:780px;line-height:1.7}.pillar-list>a>span:first-child{font:13px monospace;color:#b3a5ff}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.editorial-row{border-top:1px solid #c4c4c0;display:grid;grid-template-columns:45px 1fr 25px;gap:24px;padding:30px 0}.editorial-row:hover h2,.editorial-row:hover h3{color:#5841c5}.row-number{font:12px monospace;color:#60605c;padding-top:8px}.eyebrow{font:12px monospace;letter-spacing:.1em;color:#57536d;text-transform:uppercase;display:block;margin-bottom:12px}.editorial-row h2,.editorial-row h3{font-size:28px;letter-spacing:-.025em;line-height:1.25;margin-bottom:12px}.editorial-row p{color:#555550;font-size:16px;line-height:1.65}.photo-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:35px}.photo-grid img{width:100%;height:auto;object-fit:cover}.photo-grid figcaption{font-size:14px;color:#555;padding-top:12px}.editorial-footer{background:#0d0d0e;color:#f5f5ef;padding:70px max(30px,4.2vw)}.footer-top{display:flex;justify-content:space-between;align-items:end;gap:35px;padding-bottom:45px;border-bottom:1px solid #39393d}.footer-wordmark{font-size:clamp(28px,5vw,70px);letter-spacing:-.06em;font-weight:900}.footer-wordmark span{color:#b7ff72}.footer-top p{color:#bbb;line-height:1.7;font-size:14px}.footer-columns{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:40px;padding-top:35px}.footer-columns nav{display:flex;flex-direction:column;gap:14px}.footer-columns a{font-size:14px}.footer-columns a:hover{color:#b7ff72}.footer-columns .muted{color:#aaa;line-height:1.8;font-size:13px;margin-top:25px}.reading-shell{max-width:1030px;margin:0 auto;padding:36px 40px 90px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;line-height:1.6;font-size:13px;color:#575752;margin-bottom:52px}.breadcrumbs a{text-decoration:underline}.article-header{padding-bottom:42px;border-bottom:1px solid #c4c4c0;margin-bottom:38px}.article-header h1{font-size:clamp(36px,4.6vw,66px);line-height:1.08;letter-spacing:-.045em;margin-bottom:24px}.standfirst{font-size:20px;line-height:1.65;max-width:830px;color:#4d4d49}.byline{font-size:13px;color:#565650;margin-top:25px;line-height:1.8}.byline a{text-decoration:underline}.toc{background:#e5e5e1;border-left:3px solid #725cff;padding:24px 30px;margin:0 0 46px;max-width:820px}.toc>p{font-weight:700;margin-bottom:12px}.toc ol{margin:0;padding-left:22px}.toc li{padding:4px 0}.toc a{text-decoration:underline;font-size:15px}.prose{max-width:820px;font-size:18px;line-height:1.8}.prose p{margin:0 0 23px}.prose h2{font-size:32px;line-height:1.2;letter-spacing:-.025em;margin:50px 0 23px;scroll-margin-top:110px}.prose h3{font-size:23px;line-height:1.3;margin:30px 0 16px;scroll-margin-top:110px}.prose a{color:#5137be;text-decoration:underline;overflow-wrap:anywhere}.prose ul,.prose ol{padding-left:24px;margin:12px 0 26px}.prose li{margin:8px 0}.prose blockquote{border-left:3px solid #725cff;margin:25px 0;padding:12px 24px;background:#e9e7f0}.prose blockquote p{margin:0}.prose code{font:14px/1.7 monospace;overflow-wrap:anywhere;background:#e7e6ec;padding:2px 5px}.prose pre{background:#141419;color:#eaeaea;padding:25px;overflow:auto;margin:25px 0}.prose pre code{color:inherit;background:none;padding:0;white-space:pre}.prose table{border-collapse:collapse;display:block;overflow-x:auto;font-size:15px;line-height:1.6;margin:25px 0;max-width:100%}.prose th,.prose td{text-align:left;padding:12px 14px;border:1px solid #c8c8c3;min-width:125px}.prose th{background:#e4e4df}.author-box{display:flex;gap:25px;border-top:1px solid #c4c4c0;padding:32px 0;margin-top:50px;max-width:820px}.author-monogram{background:#111;color:#b7ff72;width:60px;height:60px;display:grid;place-items:center;flex-shrink:0;font-size:23px;font-weight:800}.author-box p{font-size:15px;line-height:1.7;margin-bottom:10px}.author-box a{font-size:15px;text-decoration:underline}.related{margin-top:35px;border-top:1px solid #c4c4c0;padding-top:30px;max-width:820px}.related h2{font-size:25px;margin-bottom:20px}.related a{display:flex;justify-content:space-between;gap:25px;padding:16px 0;border-bottom:1px solid #d2d2ce;font-size:17px}.error-page{padding-top:100px}.error-page h1{font-size:48px;line-height:1.1;margin-bottom:30px}.reveal,[data-reveal]{opacity:1!important;transform:none!important}
@media(max-width:900px){.site-header{padding:0 22px;grid-template-columns:auto 1fr;gap:28px}.site-header nav{justify-content:flex-end;gap:18px}.nav-status{display:none}.section-shell{width:calc(100% - 44px)}.hero{min-height:730px;padding:130px 22px 40px}.hero-name{font-size:18vw}.hero-bottom{grid-template-columns:1fr 1fr}.hero-statement{font-size:20px}.hero-intro{font-size:15px}.hero .discover-link{grid-column:1/-1;justify-self:start}.hero-orb{width:55vw;height:55vw;right:-8vw;top:35%}.top-coordinate{top:100px;right:22px;font-size:9px}.home-intro{gap:40px;grid-template-columns:1fr 1fr}.home-section{padding-top:65px;padding-bottom:65px}.home-intro p{font-size:17px}.footer-columns{grid-template-columns:1fr 1fr}.footer-columns>div{grid-column:1/-1}.section-heading{display:block}.section-heading>a{margin-bottom:30px}}
@media(max-width:600px){.site-header{height:72px;padding:0 16px;gap:15px}.site-header nav{gap:14px}.site-header nav a{font-size:12px}.site-header .monogram{font-size:17px}.site-header nav a:first-child{display:none}.hero{min-height:690px;height:auto}.hero-name{font-size:20vw}.name-line--two{margin-left:9vw}.hero-bottom{position:relative;bottom:auto;left:auto;right:auto;margin-top:175px;display:block;padding-top:25px}.hero-bottom>*{margin-bottom:22px}.hero-statement{font-size:21px}.hero-intro{font-size:16px;max-width:none}.hero-orb{top:230px;width:230px;height:230px;right:-20px}.hero-coordinate{font-size:8px}.identity-strip{font-size:10px;line-height:2.2;padding:12px}.identity-strip span{padding:0 5px}.home-intro{grid-template-columns:1fr;gap:20px}.home-section h2{font-size:38px}.section-marker{margin-bottom:30px}.pillar-list>a{grid-template-columns:25px 1fr 18px;gap:14px;padding:25px 0}.pillar-list p{font-size:15px}.pillar-list h3{font-size:25px}.editorial-row{grid-template-columns:25px 1fr 15px;gap:12px}.editorial-row h2,.editorial-row h3{font-size:23px}.editorial-row .eyebrow{font-size:10px}.photo-grid{grid-template-columns:1fr;gap:30px}.footer-top{display:block}.footer-top p{margin-top:25px}.footer-columns{grid-template-columns:1fr;gap:35px}.footer-columns>div{grid-column:auto}.reading-shell{padding:25px 22px 55px}.breadcrumbs{margin-bottom:32px;font-size:12px}.article-header h1{font-size:38px}.standfirst{font-size:18px}.prose{font-size:17px}.prose h2{font-size:28px}.toc{padding:20px}.author-box{gap:16px}.author-monogram{width:45px;height:45px}.eyebrow{font-size:11px}.error-page h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.hero-name{text-transform:uppercase}
.site-header nav{display:flex}.home-page .site-header{position:fixed}.site-header.is-scrolled nav a[aria-current]{color:#5137be}.hero .discover-link{width:max-content;max-width:100%;display:inline-flex;white-space:nowrap;gap:16px}

/* Engineering portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0 40px}
.prose .portfolio-card{background:#fff;border:1px solid #d2d2cf;border-radius:4px;padding:24px;min-width:0}
.prose .portfolio-card h3{font-size:22px;margin:10px 0 18px;overflow-wrap:anywhere}
.prose .portfolio-card p{font-size:16px;line-height:1.6;margin:0 0 16px}
.prose .portfolio-card .portfolio-status{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#5137be}
.prose .portfolio-card .portfolio-stack{font-size:13px;color:#545451;border-top:1px solid #dededa;padding-top:14px}
.prose .portfolio-card .portfolio-links{font-size:14px;margin-bottom:0}
@media(max-width:700px){.portfolio-grid{grid-template-columns:1fr}.prose .portfolio-card{padding:22px}}
