:root{--r-site-name-x:4.36%;--r-site-name-y:2.34%;--r-site-name-w:15.1%;--r-site-name-h:4.3%;--r-site-name-cap:25px;--r-site-name-font:36px;--r-nav-projects-x:39.97%;--r-nav-projects-y:3.13%;--r-nav-projects-w:4.88%;--r-nav-projects-h:3.13%;--r-nav-projects-cap:12px;--r-nav-projects-font:17px;--r-nav-articles-x:45.44%;--r-nav-articles-y:3.13%;--r-nav-articles-w:4.95%;--r-nav-articles-h:3.13%;--r-nav-articles-cap:12px;--r-nav-articles-font:18px;--r-nav-cheatsheets-x:51.95%;--r-nav-cheatsheets-y:3.13%;--r-nav-cheatsheets-w:7.1%;--r-nav-cheatsheets-h:3.13%;--r-nav-cheatsheets-cap:12px;--r-nav-cheatsheets-font:18px;--r-nav-about-x:61.85%;--r-nav-about-y:3.13%;--r-nav-about-w:4.04%;--r-nav-about-h:3.13%;--r-nav-about-cap:12px;--r-nav-about-font:18px;--r-nav-social-divider-x:79.8%;--r-nav-social-divider-y:3.52%;--r-nav-social-divider-w:0.2%;--r-nav-social-divider-h:2.73%;--r-nav-linkedin-x:82.9%;--r-nav-linkedin-y:3.13%;--r-nav-linkedin-w:5.14%;--r-nav-linkedin-h:3.13%;--r-nav-linkedin-cap:11px;--r-nav-linkedin-font:17px;--r-nav-github-x:89.3%;--r-nav-github-y:3.13%;--r-nav-github-w:4.69%;--r-nav-github-h:3.13%;--r-nav-github-cap:11px;--r-nav-github-font:17px;--r-header-rule-x:0.0%;--r-header-rule-y:9.18%;--r-header-rule-w:100.0%;--r-header-rule-h:0.2%;--r-hero-eyebrow-rule-x:4.69%;--r-hero-eyebrow-rule-y:12.01%;--r-hero-eyebrow-rule-w:3.78%;--r-hero-eyebrow-rule-h:0.29%;--r-hero-eyebrow-x:9.83%;--r-hero-eyebrow-y:10.94%;--r-hero-eyebrow-w:19.86%;--r-hero-eyebrow-h:2.44%;--r-hero-eyebrow-cap:10px;--r-hero-eyebrow-font:15px;--r-hero-name-first-x:4.43%;--r-hero-name-first-y:14.45%;--r-hero-name-first-w:23.44%;--r-hero-name-first-h:9.96%;--r-hero-name-first-cap:91px;--r-hero-name-first-font:137px;--r-hero-name-first-family:"DM Serif Display";--r-hero-name-first-weight:400;--r-hero-name-second-x:4.43%;--r-hero-name-second-y:24.32%;--r-hero-name-second-w:30.92%;--r-hero-name-second-h:9.96%;--r-hero-name-second-cap:99px;--r-hero-name-second-font:149px;--r-hero-name-second-family:"DM Serif Display";--r-hero-name-second-weight:400;--r-hero-role-x:4.69%;--r-hero-role-y:35.06%;--r-hero-role-w:39.71%;--r-hero-role-h:5.27%;--r-hero-role-cap:38px;--r-hero-role-font:55px;--r-hero-summary-x:4.69%;--r-hero-summary-y:41.11%;--r-hero-summary-w:30.99%;--r-hero-summary-h:5.66%;--r-hero-summary-cap:17px;--r-hero-summary-font:24px;--r-hero-geometry-x:48.24%;--r-hero-geometry-y:12.3%;--r-hero-geometry-w:45.57%;--r-hero-geometry-h:39.64%;--r-projects-separator-x:0.0%;--r-projects-separator-y:51.94%;--r-projects-separator-w:100.0%;--r-projects-separator-h:0.29%;--r-projects-heading-rule-x:4.69%;--r-projects-heading-rule-y:54.18%;--r-projects-heading-rule-w:0.26%;--r-projects-heading-rule-h:2.83%;--r-projects-heading-x:9.83%;--r-projects-heading-y:53.5%;--r-projects-heading-w:15.04%;--r-projects-heading-h:2.73%;--r-projects-heading-cap:9px;--r-projects-heading-font:13px;--r-project-one-frame-x:4.69%;--r-project-one-frame-y:57.7%;--r-project-one-frame-w:30.01%;--r-project-one-frame-h:20.7%;--r-project-one-art-x:4.75%;--r-project-one-art-y:57.8%;--r-project-one-art-w:11.46%;--r-project-one-art-h:20.51%;--r-project-one-title-x:13.87%;--r-project-one-title-y:66.68%;--r-project-one-title-w:14.0%;--r-project-one-title-h:8.2%;--r-project-one-title-cap:28px;--r-project-one-title-font:41px;--r-project-one-arrow-x:30.86%;--r-project-one-arrow-y:72.54%;--r-project-one-arrow-w:1.89%;--r-project-one-arrow-h:3.32%;--r-project-two-frame-x:35.61%;--r-project-two-frame-y:57.7%;--r-project-two-frame-w:29.62%;--r-project-two-frame-h:20.7%;--r-project-two-art-x:48.31%;--r-project-two-art-y:57.8%;--r-project-two-art-w:16.86%;--r-project-two-art-h:20.51%;--r-project-two-title-x:37.83%;--r-project-two-title-y:66.68%;--r-project-two-title-w:11.91%;--r-project-two-title-h:8.2%;--r-project-two-title-cap:28px;--r-project-two-title-font:41px;--r-project-two-arrow-x:61.52%;--r-project-two-arrow-y:72.54%;--r-project-two-arrow-w:1.89%;--r-project-two-arrow-h:3.32%;--r-writing-divider-x:67.38%;--r-writing-divider-y:54.96%;--r-writing-divider-w:0.13%;--r-writing-divider-h:21.19%;--r-writing-heading-rule-x:72.59%;--r-writing-heading-rule-y:54.18%;--r-writing-heading-rule-w:0.26%;--r-writing-heading-rule-h:2.83%;--r-writing-heading-x:74.74%;--r-writing-heading-y:53.5%;--r-writing-heading-w:13.67%;--r-writing-heading-h:2.73%;--r-writing-heading-cap:10px;--r-writing-heading-font:14px;--r-article-one-x:72.79%;--r-article-one-y:58.38%;--r-article-one-w:22.46%;--r-article-one-h:3.32%;--r-article-one-cap:14px;--r-article-one-font:20px;--r-article-one-arrow-x:94.53%;--r-article-one-arrow-y:58.29%;--r-article-one-arrow-w:1.37%;--r-article-one-arrow-h:3.22%;--r-article-rule-one-x:72.79%;--r-article-rule-one-y:62.29%;--r-article-rule-one-w:22.53%;--r-article-rule-one-h:0.2%;--r-article-two-x:72.79%;--r-article-two-y:63.75%;--r-article-two-w:21.94%;--r-article-two-h:4.88%;--r-article-two-cap:14px;--r-article-two-font:20px;--r-article-two-arrow-x:94.53%;--r-article-two-arrow-y:63.95%;--r-article-two-arrow-w:1.37%;--r-article-two-arrow-h:4.39%;--r-article-rule-two-x:72.79%;--r-article-rule-two-y:69.52%;--r-article-rule-two-w:22.53%;--r-article-rule-two-h:0.2%;--r-article-three-x:72.79%;--r-article-three-y:70.88%;--r-article-three-w:21.68%;--r-article-three-h:3.52%;--r-article-three-cap:14px;--r-article-three-font:20px;--r-article-three-arrow-x:94.53%;--r-article-three-arrow-y:70.79%;--r-article-three-arrow-w:1.37%;--r-article-three-arrow-h:3.52%;--r-article-rule-three-x:72.79%;--r-article-rule-three-y:74.5%;--r-article-rule-three-w:22.53%;--r-article-rule-three-h:0.2%;--r-all-articles-x:72.79%;--r-all-articles-y:75.57%;--r-all-articles-w:12.04%;--r-all-articles-h:3.42%;--r-content-rule-x:0.0%;--r-content-rule-y:79.96%;--r-content-rule-w:100.0%;--r-content-rule-h:0.2%;--r-about-heading-rule-x:4.75%;--r-about-heading-rule-y:82.89%;--r-about-heading-rule-w:0.26%;--r-about-heading-rule-h:2.64%;--r-about-heading-x:9.96%;--r-about-heading-y:82.11%;--r-about-heading-w:6.77%;--r-about-heading-h:3.22%;--r-about-heading-cap:10px;--r-about-heading-font:15px;--r-about-copy-x:4.75%;--r-about-copy-y:87.68%;--r-about-copy-w:28.52%;--r-about-copy-h:6.05%;--r-about-copy-cap:14px;--r-about-copy-font:21px;--r-connect-divider-x:67.38%;--r-connect-divider-y:82.21%;--r-connect-divider-w:0.13%;--r-connect-divider-h:11.04%;--r-connect-heading-rule-x:72.27%;--r-connect-heading-rule-y:82.89%;--r-connect-heading-rule-w:0.26%;--r-connect-heading-rule-h:2.64%;--r-connect-heading-x:74.48%;--r-connect-heading-y:82.11%;--r-connect-heading-w:9.96%;--r-connect-heading-h:3.22%;--r-connect-heading-cap:31px;--r-connect-heading-font:46px;--r-social-linkedin-x:72.46%;--r-social-linkedin-y:88.56%;--r-social-linkedin-w:4.49%;--r-social-linkedin-h:7.52%;--r-social-github-x:79.04%;--r-social-github-y:88.56%;--r-social-github-w:4.49%;--r-social-github-h:7.52%}.comp-frame{aspect-ratio:1536/1024;width:100%;position:relative;overflow:hidden}.r-site-name{left:var(--r-site-name-x);top:var(--r-site-name-y);width:var(--r-site-name-w);height:var(--r-site-name-h);position:absolute}.r-nav-projects{left:var(--r-nav-projects-x);top:var(--r-nav-projects-y);width:var(--r-nav-projects-w);height:var(--r-nav-projects-h);position:absolute}.r-nav-articles{left:var(--r-nav-articles-x);top:var(--r-nav-articles-y);width:var(--r-nav-articles-w);height:var(--r-nav-articles-h);position:absolute}.r-nav-cheatsheets{left:var(--r-nav-cheatsheets-x);top:var(--r-nav-cheatsheets-y);width:var(--r-nav-cheatsheets-w);height:var(--r-nav-cheatsheets-h);position:absolute}.r-nav-about{left:var(--r-nav-about-x);top:var(--r-nav-about-y);width:var(--r-nav-about-w);height:var(--r-nav-about-h);position:absolute}.r-nav-social-divider{left:var(--r-nav-social-divider-x);top:var(--r-nav-social-divider-y);width:var(--r-nav-social-divider-w);height:var(--r-nav-social-divider-h);position:absolute}.r-nav-linkedin{left:var(--r-nav-linkedin-x);top:var(--r-nav-linkedin-y);width:var(--r-nav-linkedin-w);height:var(--r-nav-linkedin-h);position:absolute}.r-nav-github{left:var(--r-nav-github-x);top:var(--r-nav-github-y);width:var(--r-nav-github-w);height:var(--r-nav-github-h);position:absolute}.r-header-rule{left:var(--r-header-rule-x);top:var(--r-header-rule-y);width:var(--r-header-rule-w);height:var(--r-header-rule-h);position:absolute}.r-hero-eyebrow-rule{left:var(--r-hero-eyebrow-rule-x);top:var(--r-hero-eyebrow-rule-y);width:var(--r-hero-eyebrow-rule-w);height:var(--r-hero-eyebrow-rule-h);position:absolute}.r-hero-eyebrow{left:var(--r-hero-eyebrow-x);top:var(--r-hero-eyebrow-y);width:var(--r-hero-eyebrow-w);height:var(--r-hero-eyebrow-h);position:absolute}.r-hero-name-first{left:var(--r-hero-name-first-x);top:var(--r-hero-name-first-y);width:var(--r-hero-name-first-w);height:var(--r-hero-name-first-h);position:absolute}.r-hero-name-second{left:var(--r-hero-name-second-x);top:var(--r-hero-name-second-y);width:var(--r-hero-name-second-w);height:var(--r-hero-name-second-h);position:absolute}.r-hero-role{left:var(--r-hero-role-x);top:var(--r-hero-role-y);width:var(--r-hero-role-w);height:var(--r-hero-role-h);position:absolute}.r-hero-summary{left:var(--r-hero-summary-x);top:var(--r-hero-summary-y);width:var(--r-hero-summary-w);height:var(--r-hero-summary-h);position:absolute}.r-hero-geometry{left:var(--r-hero-geometry-x);top:var(--r-hero-geometry-y);width:var(--r-hero-geometry-w);height:var(--r-hero-geometry-h);position:absolute}.r-projects-separator{left:var(--r-projects-separator-x);top:var(--r-projects-separator-y);width:var(--r-projects-separator-w);height:var(--r-projects-separator-h);position:absolute}.r-projects-heading-rule{left:var(--r-projects-heading-rule-x);top:var(--r-projects-heading-rule-y);width:var(--r-projects-heading-rule-w);height:var(--r-projects-heading-rule-h);position:absolute}.r-projects-heading{left:var(--r-projects-heading-x);top:var(--r-projects-heading-y);width:var(--r-projects-heading-w);height:var(--r-projects-heading-h);position:absolute}.r-project-one-frame{left:var(--r-project-one-frame-x);top:var(--r-project-one-frame-y);width:var(--r-project-one-frame-w);height:var(--r-project-one-frame-h);position:absolute}.r-project-one-art{left:var(--r-project-one-art-x);top:var(--r-project-one-art-y);width:var(--r-project-one-art-w);height:var(--r-project-one-art-h);position:absolute}.r-project-one-title{left:var(--r-project-one-title-x);top:var(--r-project-one-title-y);width:var(--r-project-one-title-w);height:var(--r-project-one-title-h);position:absolute}.r-project-one-arrow{left:var(--r-project-one-arrow-x);top:var(--r-project-one-arrow-y);width:var(--r-project-one-arrow-w);height:var(--r-project-one-arrow-h);position:absolute}.r-project-two-frame{left:var(--r-project-two-frame-x);top:var(--r-project-two-frame-y);width:var(--r-project-two-frame-w);height:var(--r-project-two-frame-h);position:absolute}.r-project-two-art{left:var(--r-project-two-art-x);top:var(--r-project-two-art-y);width:var(--r-project-two-art-w);height:var(--r-project-two-art-h);position:absolute}.r-project-two-title{left:var(--r-project-two-title-x);top:var(--r-project-two-title-y);width:var(--r-project-two-title-w);height:var(--r-project-two-title-h);position:absolute}.r-project-two-arrow{left:var(--r-project-two-arrow-x);top:var(--r-project-two-arrow-y);width:var(--r-project-two-arrow-w);height:var(--r-project-two-arrow-h);position:absolute}.r-writing-divider{left:var(--r-writing-divider-x);top:var(--r-writing-divider-y);width:var(--r-writing-divider-w);height:var(--r-writing-divider-h);position:absolute}.r-writing-heading-rule{left:var(--r-writing-heading-rule-x);top:var(--r-writing-heading-rule-y);width:var(--r-writing-heading-rule-w);height:var(--r-writing-heading-rule-h);position:absolute}.r-writing-heading{left:var(--r-writing-heading-x);top:var(--r-writing-heading-y);width:var(--r-writing-heading-w);height:var(--r-writing-heading-h);position:absolute}.r-article-one{left:var(--r-article-one-x);top:var(--r-article-one-y);width:var(--r-article-one-w);height:var(--r-article-one-h);position:absolute}.r-article-one-arrow{left:var(--r-article-one-arrow-x);top:var(--r-article-one-arrow-y);width:var(--r-article-one-arrow-w);height:var(--r-article-one-arrow-h);position:absolute}.r-article-rule-one{left:var(--r-article-rule-one-x);top:var(--r-article-rule-one-y);width:var(--r-article-rule-one-w);height:var(--r-article-rule-one-h);position:absolute}.r-article-two{left:var(--r-article-two-x);top:var(--r-article-two-y);width:var(--r-article-two-w);height:var(--r-article-two-h);position:absolute}.r-article-two-arrow{left:var(--r-article-two-arrow-x);top:var(--r-article-two-arrow-y);width:var(--r-article-two-arrow-w);height:var(--r-article-two-arrow-h);position:absolute}.r-article-rule-two{left:var(--r-article-rule-two-x);top:var(--r-article-rule-two-y);width:var(--r-article-rule-two-w);height:var(--r-article-rule-two-h);position:absolute}.r-article-three{left:var(--r-article-three-x);top:var(--r-article-three-y);width:var(--r-article-three-w);height:var(--r-article-three-h);position:absolute}.r-article-three-arrow{left:var(--r-article-three-arrow-x);top:var(--r-article-three-arrow-y);width:var(--r-article-three-arrow-w);height:var(--r-article-three-arrow-h);position:absolute}.r-article-rule-three{left:var(--r-article-rule-three-x);top:var(--r-article-rule-three-y);width:var(--r-article-rule-three-w);height:var(--r-article-rule-three-h);position:absolute}.r-all-articles{left:var(--r-all-articles-x);top:var(--r-all-articles-y);width:var(--r-all-articles-w);height:var(--r-all-articles-h);position:absolute}.r-content-rule{left:var(--r-content-rule-x);top:var(--r-content-rule-y);width:var(--r-content-rule-w);height:var(--r-content-rule-h);position:absolute}.r-about-heading-rule{left:var(--r-about-heading-rule-x);top:var(--r-about-heading-rule-y);width:var(--r-about-heading-rule-w);height:var(--r-about-heading-rule-h);position:absolute}.r-about-heading{left:var(--r-about-heading-x);top:var(--r-about-heading-y);width:var(--r-about-heading-w);height:var(--r-about-heading-h);position:absolute}.r-about-copy{left:var(--r-about-copy-x);top:var(--r-about-copy-y);width:var(--r-about-copy-w);height:var(--r-about-copy-h);position:absolute}.r-connect-divider{left:var(--r-connect-divider-x);top:var(--r-connect-divider-y);width:var(--r-connect-divider-w);height:var(--r-connect-divider-h);position:absolute}.r-connect-heading-rule{left:var(--r-connect-heading-rule-x);top:var(--r-connect-heading-rule-y);width:var(--r-connect-heading-rule-w);height:var(--r-connect-heading-rule-h);position:absolute}.r-connect-heading{left:var(--r-connect-heading-x);top:var(--r-connect-heading-y);width:var(--r-connect-heading-w);height:var(--r-connect-heading-h);position:absolute}.r-social-linkedin{left:var(--r-social-linkedin-x);top:var(--r-social-linkedin-y);width:var(--r-social-linkedin-w);height:var(--r-social-linkedin-h);position:absolute}.r-social-github{left:var(--r-social-github-x);top:var(--r-social-github-y);width:var(--r-social-github-w);height:var(--r-social-github-h);position:absolute}@font-face{font-family:Manrope;src:url(/fonts/manrope-latin.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:DM Serif Display;src:url(/fonts/dm-serif-display-latin.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{color-scheme:dark;--plum:#251333;--coral:#fc4056;--green:#0efb69;--paper:#fff9f5;--muted:#c7b9d0;--line:#e8cbf233;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body.homepage{background:var(--plum);color:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,sans-serif;position:relative}body.homepage #main{width:100%;max-width:1536px;margin:0 auto;display:block}body.homepage>a[href=\#main]{z-index:20;background:var(--green);color:var(--plum);padding:.75rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-160%)}body.homepage>a[href=\#main]:focus{transform:none}body.homepage .page-header{z-index:2;margin-bottom:-76px;position:relative}.portfolio{aspect-ratio:1536/1024;isolation:isolate;background:radial-gradient(at 59% 23%,#591a5230,#0000 38%),linear-gradient(122deg,#251333 0%,#1e0e29 62%,#251333 100%);width:min(100%,1536px);margin:0 auto;position:relative;overflow:hidden}.portfolio :where(h1,h2,h3,p,ul){margin:0}.portfolio a{color:inherit;text-decoration:none}.portfolio a:focus-visible{outline:2px solid var(--green);outline-offset:5px}.portfolio svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.horizontal-rule,.writing-divider,.connect-divider,.article-rule{background:var(--line)}.hero-eyebrow-rule,.section-rule,.hero-tagline-rule{background:var(--green)}.hero-eyebrow-rule{height:3px}.hero-eyebrow{color:var(--green);font:700 clamp(12px, .98vw, 15px)/1.2 var(--mono);letter-spacing:.22em;text-transform:uppercase}.hero-heading{margin:0}.hero-name-first,.hero-name-second{color:var(--paper);letter-spacing:-.04em;white-space:nowrap;font:400 clamp(54px,8.92vw,137px)/.78 DM Serif Display,Georgia,serif;display:block;overflow:visible}.hero-name-second{color:var(--coral);font-size:clamp(60px,9.7vw,149px)}.hero-role{color:var(--paper);letter-spacing:-.025em;white-space:nowrap;font:700 clamp(21px,2.15vw,33px)/1.2 Manrope,sans-serif}.hero-summary{color:var(--muted);font:400 clamp(14px,1.25vw,19px)/1.45 Manrope,sans-serif}.hero-systems{justify-content:center;align-items:center;margin:0;display:flex}.hero-architecture{object-fit:contain;width:100%;height:100%;display:block}.section-label{color:var(--green);font:700 clamp(12px, .88vw, 14px)/1.2 var(--mono);letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}.section-rule{width:4px}.project-card{border:1px solid var(--line);background:linear-gradient(116deg,#30163bb3,#1e0e29eb);transition:border-color .18s,background-color .18s;display:block;overflow:hidden}.project-card:hover{border-color:#0efb6999}.project-copy{z-index:2;flex-direction:column;display:flex;position:absolute;top:8%;bottom:10%}.project-copy-one,.project-copy-two{width:84%;left:7.5%}.project-endpoint{border-bottom:1px solid var(--line);color:var(--green);font:500 clamp(12px, .75vw, 12px)/1.2 var(--mono);letter-spacing:.02em;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;display:flex}.project-endpoint-icon{flex:0 0 13px;width:13px!important;height:13px!important}.project-title-wrap{width:100%;margin:0;position:static}.project-title{color:var(--paper);letter-spacing:-.025em;font:700 clamp(18px,1.75vw,27px)/1.18 Manrope,sans-serif;display:block;width:auto!important;height:auto!important;position:static!important}.project-description{max-width:34ch;color:var(--muted);font:400 clamp(11px,.86vw,13px)/1.45 Manrope,sans-serif;margin-top:8px!important}.project-metadata{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-top:auto;padding-top:10px;display:flex}.project-field{color:var(--green);font:600 clamp(12px, .7vw, 12px)/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.project-tags{flex-wrap:wrap;gap:6px 10px;padding:0;list-style:none;display:flex}.project-tags li{color:var(--paper);font:500 12px/1.2 var(--mono)}.project-card:hover .project-title{color:var(--green)}.project-arrow{z-index:2;color:var(--paper);display:block;position:absolute;right:4%;width:22px!important;height:22px!important;top:13%!important;bottom:auto!important;left:auto!important}.project-arrow svg{transition:transform .18s}.project-card:hover .project-arrow svg{transform:translate(4px)}.writing-divider{width:2px}.article-list{padding:0;list-style:none}.article-row{font:600 clamp(12px,1.15vw,18px)/1.4 Manrope,sans-serif}.article-row>a{padding-right:1.6em;display:block}.article-row>a:hover,.all-articles:hover{color:var(--green)}.article-arrow{color:var(--paper);display:block;right:0;transform:translateY(-50%);width:20px!important;height:20px!important;top:50%!important;left:auto!important}.article-arrow svg{width:100%;height:100%}.all-articles{white-space:nowrap;font:500 clamp(12px, 1vw, 15px)/1 var(--mono);align-items:center;gap:.65em;display:inline-flex}.all-articles svg{width:1.15em;height:1.15em;color:var(--paper);flex:none}.about-copy{max-width:29%;color:var(--muted);font:400 clamp(14px,1.15vw,18px)/1.55 Manrope,sans-serif}.contact-links{align-items:center;gap:1.65%;display:flex}.contact-link{border:1px solid var(--line);color:var(--paper);border-radius:4px;justify-content:center;align-items:center;transition:border-color .18s,color .18s;display:flex}.contact-link:hover{border-color:var(--green);color:var(--green)}.contact-link svg{fill:currentColor;stroke:none;width:44%;height:44%}@media (width<=1050px){.portfolio{aspect-ratio:auto;background:radial-gradient(at 83% 14%,#591a5247,#0000 24rem),linear-gradient(145deg,#251333,#1e0e29 72%,#251333);flex-direction:column;width:100%;min-height:100vh;padding:0 22px 30px;display:flex;overflow:hidden}.portfolio :where([class*=r-]){width:auto!important;height:auto!important;position:static!important;inset:auto!important}body.homepage .page-header{min-height:0;margin-bottom:0}.hero{border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:12px;padding:44px 0 34px;display:flex;position:relative}.hero>:not(.hero-systems){z-index:2;position:relative}.hero-systems{align-self:center;max-width:680px;margin-top:8px;width:100%!important;height:auto!important;position:relative!important;inset:auto!important}.hero-architecture{height:auto;max-height:360px}.hero-heading{flex-direction:column;margin-top:8px;display:flex}.hero-name-first,.hero-name-second{font-size:clamp(66px,17vw,110px);line-height:.82}.hero-role{text-wrap:balance;white-space:normal;max-width:100%;margin-top:4px;font-size:clamp(24px,6.1vw,38px);width:100%!important}.hero-summary{max-width:34ch;margin-top:4px;font-size:14px;line-height:1.55}.projects{grid-template-columns:1fr;gap:13px;padding:27px 0 29px;display:grid;position:relative}.section-label{font-size:12px}.projects-heading-rule,.writing-heading-rule,.about-heading-rule,.connect-heading-rule,.projects-separator,.writing-divider,.article-rule,.content-rule,.connect-divider{display:none}.projects-heading{margin:0 0 4px!important}.project-card{isolation:isolate;min-height:0;padding:18px 42px 16px 18px;width:100%!important;position:relative!important}.project-copy{width:auto;position:relative;inset:auto}.project-title-wrap{width:auto!important;position:static!important}.project-title{font-size:clamp(18px,5.4vw,23px);display:block;position:static!important}.project-description{max-width:34ch;font-size:13px;line-height:1.5;margin-top:7px!important}.project-metadata{margin-top:16px}.project-arrow{width:21px!important;height:21px!important;position:absolute!important;inset:17px 13px auto auto!important}.writing{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:15px;padding:22px 0 24px;display:flex;position:relative}.writing-heading{margin-bottom:0}.article-list{gap:0;display:grid}.article-row{border-bottom:1px solid var(--line);min-height:50px;padding:13px 29px 13px 0;font-size:15px;width:100%!important;position:relative!important}.article-row:last-child{border-bottom:0}.article-row>a{padding:0}.article-arrow{transform:translateY(-50%);width:20px!important;height:20px!important;position:absolute!important;inset:50% 0 auto auto!important}.all-articles{margin-top:1px;font-size:12px}.about{flex-direction:column;align-items:flex-start;gap:14px;padding:25px 0 22px;display:flex;position:relative}.about-copy{max-width:44ch;font-size:14px;line-height:1.65}.contact{border-top:1px solid var(--line);flex-direction:column;gap:16px;padding:19px 0 0;display:flex;position:relative}.contact-links{gap:11px}.contact-link{width:52px!important;height:52px!important}}@media (width<=420px){.portfolio{padding-left:18px;padding-right:18px}.hero{padding-top:37px}.hero-name-first,.hero-name-second{font-size:clamp(60px,17vw,74px)}.hero-role{font-size:clamp(21px,6.2vw,26px)}.hero-summary{max-width:30ch}.project-card{padding-right:38px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
