.portfolio-site{--ink:#eaece5;--muted:#a4a89f;--ground:#171a17;--acid:#d0ed97;background:var(--ground);color:var(--ink);font-size:16px;line-height:1.6}.portfolio-site *{box-sizing:border-box}.portfolio-site a{text-decoration:none}.portfolio-site a,.portfolio-site button,.portfolio-site summary{-webkit-tap-highlight-color:transparent}.portfolio-site :focus-visible{outline:2px solid var(--acid);outline-offset:6px}.portfolio-site h1,.portfolio-site h2,.portfolio-site h3,.portfolio-site p{margin:0}.portfolio-site h1,.portfolio-site h2,.portfolio-site h3{font-weight:400;line-height:1.05;letter-spacing:-.055em}.portfolio-site em{font-family:var(--font-lausanne),Arial,sans-serif;font-weight:400}.portfolio-site article,.portfolio-site section{scroll-margin-top:95px}.portfolio-nav{height:88px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20;background:#171a17f5;position:sticky;top:0;z-index:50;backdrop-filter:blur(18px)}.wordmark{font-size:23px;font-weight:750;letter-spacing:-1.2px}.wordmark span{font-weight:400}.portfolio-nav nav{display:flex;align-items:center;gap:30px;font-size:14px}.portfolio-nav nav a:not(.nav-contact):hover{color:var(--acid)}.nav-contact{display:flex;gap:15px;align-items:center;border:1px solid #ffffff45;border-radius:50px;padding:10px 18px}.nav-toggle{display:none}.skip-link{position:fixed;top:-70px;left:20px;z-index:100;background:var(--acid);color:#171a17;padding:12px}.skip-link:focus{top:12px}.reading-progress{position:fixed;top:87px;left:0;height:6px;width:100%;background:linear-gradient(90deg,var(--acid) 0,#a8d8f0 100%);transform:scaleX(var(--page-progress,0));transform-origin:left;z-index:60;pointer-events:none}.portfolio-hero{padding:30px 4.5% 0;max-width:1800px;margin:auto}.company-value span,.data-table,.demo-caption,.demo-destination,.experience-row>span,.eyebrow,.hero-bottom,.hero-topline,.method-line>span,.project-details>div>span,.project-visual-bottom,.project-visual-top,.release-note>span,.system-number{font-family:var(--font-ibm-plex-mono),ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;letter-spacing:.06em}.hero-topline{display:flex;justify-content:space-between;color:var(--muted)}.hero-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:5%;padding:58px 0 62px;align-items:center}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase}.small-rule{width:28px;height:1px;background:var(--acid)}.hero-copy h1{font-size:clamp(65px,7.7vw,134px);line-height:.99;margin:25px 0 29px;letter-spacing:-.067em}.hero-copy h1 em{color:var(--acid);white-space:nowrap;letter-spacing:-.075em}.hero-intro{max-width:470px;color:var(--muted);font-size:17px;line-height:1.8}.pill-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:50px;padding:17px 24px;background:var(--acid);color:#20271b;font-weight:650;font-size:14px;margin-top:30px;transition:transform .2s,background .2s}.pill-button:hover{background:#e1ffac;transform:translateY(-3px)}.hero-portrait{position:relative;margin:20px 0 0 12px}.portrait-frame{position:relative;height:clamp(360px,37vw,620px);overflow:hidden;border-radius:180px 180px 8px 8px;background:#41483c}.portrait-frame img{object-fit:cover;object-position:50% 32%;filter:grayscale(100%)}.portrait-label{display:flex;justify-content:space-between;margin-top:17px;gap:12px;font-size:11px;font-family:var(--font-ibm-plex-mono),ui-monospace,monospace}.portrait-label span:last-child{color:var(--muted)}.portrait-note{position:absolute;left:-32px;bottom:68px;display:flex;align-items:center;gap:14px;padding:18px 24px;background:var(--acid);color:#20271b;font-size:12px;line-height:1.7;transform:rotate(-4deg)}.portrait-note strong{font-size:14px}.hero-bottom{justify-content:space-between;padding:24px 0 28px;border-top:1px solid #ffffff25;color:var(--muted)}.hero-bottom,.hero-bottom a{display:flex;align-items:center}.hero-bottom a{gap:14px;color:var(--ink)}.hero-bottom>span:last-child{text-align:right}.intro-band{padding:115px 7%;display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid #ffffff20}.intro-band h2{font-size:clamp(36px,3.7vw,63px);max-width:900px}.intro-band h2 span{color:var(--muted)}.intro-band p:not(.eyebrow){color:var(--muted);max-width:680px;margin-top:27px;line-height:1.9}.selected-work{background:#f0f1ea;color:#23271f;padding:90px 4.5% 40px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:24px 60px;margin:0 auto 50px;max-width:1500px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{font-size:clamp(40px,4.3vw,72px)}.section-heading h2 span{color:#777d70}.section-heading>p:last-child:not(.eyebrow){max-width:430px;align-self:end;color:#626959;line-height:1.8;margin-bottom:6px}.project-index{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #242b2430;border-bottom:1px solid #242b2430;margin:0 auto 65px;max-width:1500px}.project-index a{padding:20px 10px;display:flex;gap:13px;align-items:center;font-size:14px}.project-index a:hover{background:#e1e5d7}.project-index span{color:#737b68;font-size:11px}.project-index svg{margin-left:auto}.project-chapter{max-width:1500px;margin:0 auto;padding:32px 0 100px;display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:start}.project-visual{position:sticky;top:125px;min-height:560px;height:43vw;max-height:700px;display:flex;flex-direction:column;background:var(--project-accent);border-radius:4px;overflow:hidden;isolation:isolate}.project-visual-bottom,.project-visual-top{display:flex;align-items:center;justify-content:space-between;padding:28px 30px;gap:16px;letter-spacing:0}.project-logotype{font-family:var(--font-lausanne),sans-serif;font-size:28px;font-weight:750;letter-spacing:-1.2px}.project-visual-bottom{margin-top:auto;font-size:11px}.product-image{position:relative;flex:1;width:116%;margin-left:-8%;transform:translateY(var(--drift,0));min-height:330px}.product-image img{object-fit:contain}.product-image.klonyr{width:110%;margin-left:7%;transform:perspective(1100px) rotateY(-12deg) rotate(-5deg) translateY(var(--drift,0));filter:drop-shadow(0 20px 15px #21123133)}.product-image.klonyr img{object-position:left center}.project-story{padding:25px 0 0}.project-story .eyebrow{color:#626959;font-size:11px}.project-story h3{font-size:clamp(37px,3.4vw,59px);margin:22px 0}.muted-line{color:#7a806f}.project-description{font-size:17px;line-height:1.8}.project-details{border-top:1px solid #23271f30;margin-top:30px;padding-top:27px;display:grid;gap:24px}.project-details>div{display:grid;grid-template-columns:110px 1fr;gap:16px}.project-details>div>span{font-size:10px;padding-top:5px;color:#69725e}.project-details p{font-size:14px;line-height:1.85;color:#565e4d}.company-value{display:flex;gap:16px;background:#e2e7d9;padding:22px;margin-top:28px}.company-value svg{flex-shrink:0}.company-value span{font-size:10px;display:block;margin-bottom:9px}.company-value p{font-size:14px;line-height:1.8}.skill-tags{list-style:none;display:flex;gap:7px;flex-wrap:wrap;padding:0;margin:23px 0}.skill-tags li{font-size:11px;border:1px solid #23271f35;border-radius:30px;padding:5px 11px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;font-weight:650;padding:10px 0;border-bottom:1px solid}.product-demo{margin:auto 25px;background:#ffffffd9;border:1px solid #ffffff80;border-radius:10px;padding:24px;box-shadow:0 24px 60px #25341518;transform:translateY(var(--drift,0)) rotate(-3deg)}.demo-toolbar{display:flex;align-items:center;gap:10px;font-size:14px}.demo-app-mark{background:#d1ee91;border-radius:8px;padding:8px}.demo-caption{font-size:9px;color:#707864;margin:19px 0 12px!important}.data-table>div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #29382318;gap:15px;font-size:11px;letter-spacing:0}.data-table>div:first-child{font-size:9px;color:#6b7561}.data-status{gap:5px;color:#4d6c27}.data-status,.demo-destination{display:flex;align-items:center}.demo-destination{justify-content:space-between;gap:8px;padding-top:25px;font-size:10px;letter-spacing:0}.demo-destination strong{padding:8px 10px;background:#d1ee91;border-radius:4px}.commit-demo{transform:translateY(var(--drift,0)) rotate(3deg);width:calc(100% - 50px)}.commit-source{display:grid;gap:8px;padding:14px;background:#252823;color:#d8dfcf;border-radius:5px;font-size:11px}.commit-transform{display:flex;align-items:center;justify-content:center;gap:9px;padding:22px 0;font-size:10px;color:#77604e}.release-note{padding:20px;background:white;border:1px solid #22222215;border-radius:6px}.release-note>span{font-size:9px;color:#87654d}.release-note h4{font-size:18px;letter-spacing:-.04em;line-height:1.3;margin:12px 0}.release-note p{font-size:12px;color:#6c7067}.release-note>div{display:flex;gap:6px;margin-top:15px}.release-note>div span{background:#f6e4d7;font-size:9px;border-radius:3px;padding:3px 7px}.systems-section{padding:110px 7%}.systems-section .section-heading>p:last-child{color:var(--muted)}.systems-section h2 span{color:#9ca591}.systems-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.system-item{border-top:1px solid #ffffff25}.system-item summary{list-style:none;display:flex;gap:22px;align-items:center;padding:26px 0;cursor:pointer}.system-item summary::-webkit-details-marker{display:none}.system-number{color:#8c9585}.system-item small{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:10px;color:var(--muted);margin-bottom:8px}.system-item h3{font-size:28px}.expand-mark{margin-left:auto;font-size:29px;color:var(--acid);font-weight:300}.system-item[open] .expand-mark{transform:rotate(45deg)}.system-content{padding:0 0 28px 39px;color:var(--muted);font-size:14px;line-height:1.85}.system-value{color:var(--acid);margin-top:15px!important}.systems-note{color:var(--muted);font-size:13px;margin-top:34px!important;max-width:700px}.help-section{background:var(--acid);color:#27301c;padding:105px 7%}.help-section h2{font-size:clamp(45px,6.2vw,103px);margin:30px 0 65px}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.help-grid>div{border-top:1px solid #29301f45;padding-top:22px}.help-number{font-size:12px;font-family:var(--font-ibm-plex-mono),ui-monospace,monospace}.help-grid h3{font-size:31px;max-width:300px;margin:25px 0 20px}.help-grid p{font-size:15px;line-height:1.9}.help-grid small{display:block;font-size:11px;margin-top:23px;color:#54653b}.method-line{border-top:1px solid #29301f45;display:flex;justify-content:space-between;gap:35px;padding-top:25px;margin-top:65px}.method-line p{font-size:12px}.method-line b{padding:0 13px;font-weight:400}.about-section{padding:120px 7%;display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#eff0e9;color:#292e24}.about-intro h2{font-size:clamp(38px,4vw,65px);margin:30px 0}.about-intro h2 span{color:#798170}.about-intro>p:not(.eyebrow){color:#606958;font-size:16px;line-height:1.9;margin-bottom:22px}.experience-row{border-top:1px solid #29301f35;padding:22px 0 30px}.experience-row>span{font-size:10px;color:#606958}.experience-row h3{font-size:26px;margin:13px 0 8px}.experience-row h4{font-size:12px;margin:0 0 15px;font-weight:600}.experience-row p{font-size:14px;line-height:1.9;color:#606958}.contact-section{padding:100px 7%}.contact-section h2{font-size:clamp(60px,9.5vw,160px);margin:30px 0 35px}.contact-section h2 em{color:var(--acid)}.contact-section>div{display:flex;justify-content:space-between;align-items:center;gap:40px;max-width:1000px}.contact-section>div p{color:var(--muted);max-width:400px;font-size:17px}.contact-section .pill-button{margin:0}.contact-email{display:inline-block;color:var(--muted);font-size:13px;margin-top:40px}.portfolio-footer{margin:0 4.5%;padding:35px 0;border-top:1px solid #ffffff25;display:flex;align-items:center;gap:30px;font-size:12px;color:var(--muted)}.portfolio-footer .wordmark{color:var(--ink);font-size:18px}.portfolio-footer .wordmark span{font-size:10px;vertical-align:top;margin-left:3px}.portfolio-footer>span:first-of-type{margin-right:auto}.portfolio-footer a:hover{color:var(--acid)}@media(min-width:1700px){.about-section,.contact-section,.help-section,.intro-band,.systems-section{padding-left:max(7%,calc((100vw - 1480px)/2));padding-right:max(7%,calc((100vw - 1480px)/2))}}@media(max-width:1000px){.portfolio-nav nav{gap:18px}.hero-copy h1{font-size:8vw}.hero-layout{gap:4%}.portrait-frame{height:430px}.portrait-label{font-size:9px}.project-chapter{gap:5%;grid-template-columns:1fr 1fr}.project-visual{min-height:470px}.project-visual-bottom,.project-visual-top{padding:23px 20px}.project-story h3{font-size:37px}.project-details>div{grid-template-columns:1fr;gap:7px}.project-demo{padding:17px}.intro-band{grid-template-columns:1fr}.help-grid{gap:24px}.help-grid h3{font-size:27px}.method-line{display:block}.method-line p{margin-top:20px}.about-section{gap:7%}}@media(max-width:760px){.portfolio-nav{height:72px;padding:0 6%}.reading-progress{top:71px}.nav-toggle{display:flex;background:none;border:0;color:var(--ink);padding:9px}.portfolio-nav nav{display:none;position:absolute;left:0;right:0;top:72px;background:#171a17;padding:25px 6%;border-bottom:1px solid #ffffff30;align-items:stretch}.portfolio-nav nav.is-open{display:flex;flex-direction:column;gap:23px}.nav-contact{align-self:start}.hero-topline{font-size:9px}.hero-topline span:last-child{display:none}.portfolio-hero{padding:25px 6% 0}.hero-layout{grid-template-columns:1fr;padding:40px 0 35px}.hero-copy h1{font-size:clamp(66px,13vw,100px)}.hero-intro{font-size:16px;max-width:440px}.hero-portrait{width:85%;margin:55px 0 5px auto}.portrait-frame{height:420px;border-radius:160px 160px 4px 4px}.portrait-note{left:-30px;bottom:60px}.hero-bottom,.portrait-label{font-size:9px}.hero-bottom>span:last-child{display:none}.intro-band{padding:65px 6%;gap:30px}.intro-band h2{font-size:37px}.intro-band p:not(.eyebrow){font-size:15px}.selected-work{padding:65px 6% 10px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.section-heading h2{font-size:39px}.section-heading>p:last-child:not(.eyebrow){font-size:15px}.project-index{grid-template-columns:1fr 1fr;margin-bottom:30px}.project-index a{font-size:12px;padding:15px 7px}.project-index a:nth-child(-n+2){border-bottom:1px solid #242b2430}.project-index span{font-size:10px}.project-chapter{grid-template-columns:1fr;gap:25px;padding:25px 0 65px}.project-visual{position:relative;top:auto;min-height:450px;height:115vw;max-height:560px}.project-story{padding:5px 0 0}.project-story h3{font-size:40px}.project-description{font-size:16px}.project-details{gap:23px}.project-details>div{grid-template-columns:1fr;gap:8px}.project-details>div>span{font-size:11px}.company-value span{font-size:9px}.product-demo{margin:auto 22px}.systems-section{padding:65px 6%}.systems-grid{grid-template-columns:1fr}.systems-section .section-heading h2{font-size:37px}.systems-grid h3{font-size:28px}.system-content{padding-left:0}.help-section{padding:65px 6%}.help-section h2{font-size:47px;margin-bottom:40px}.help-grid{grid-template-columns:1fr;gap:33px}.help-grid h3{max-width:100%;font-size:29px;margin:15px 0}.help-grid small{font-size:11px}.method-line{margin-top:35px}.method-line p{display:flex;flex-direction:column;align-items:start;gap:7px}.method-line b{display:none}.about-section{padding:65px 6%;grid-template-columns:1fr;gap:40px}.about-intro h2{font-size:39px}.contact-section{padding:70px 6%}.contact-section h2{font-size:clamp(57px,12.5vw,90px)}.contact-section>div{flex-direction:column;align-items:start;gap:28px}.contact-section>div p{font-size:16px}.portfolio-footer{margin:0 6%;flex-wrap:wrap;gap:20px}.portfolio-footer>span:first-of-type{width:100%;order:5}.portfolio-footer .wordmark{width:100%}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){.portfolio-site *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.commit-demo,.product-demo,.product-image,.product-image.klonyr{transform:none!important}}.resume-page{background:#f4f5ef;color:#272d22;padding:45px max(6%,calc((100vw - 960px)/2)) 90px}.resume-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:60px;font-size:14px}.resume-actions .pill-button{margin:0;border:0;cursor:pointer}.resume-page header{border-bottom:1px solid #29301f35;padding-bottom:35px}.resume-page h1{font-size:clamp(48px,6vw,80px);margin:20px 0}.resume-page .resume-lead{font-size:21px;margin-bottom:20px}.resume-page header>p:last-child{font-size:13px}.resume-page section{padding-top:35px}.resume-page h2{font-size:25px;margin-bottom:20px}.resume-page article{margin:0 0 25px;break-inside:avoid}.resume-page h3{font-size:18px;letter-spacing:-.025em}.resume-page h4{font-size:13px;margin:8px 0;font-weight:650}.resume-page p{font-size:14px;line-height:1.8}.resume-page small{font-size:11px;color:#637055}.resume-role{display:flex;justify-content:space-between;gap:15px}.resume-role>span{font-size:12px}.resume-systems{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.resume-systems h3{margin-bottom:10px}@media(max-width:600px){.resume-systems{grid-template-columns:1fr}.resume-actions{align-items:start;flex-direction:column}.resume-role{flex-direction:column;gap:5px}}@media print{.portfolio-footer,.portfolio-nav,.resume-actions,.skip-link{display:none!important}.portfolio-site,.resume-page{background:white!important;color:#111!important}.resume-page{padding:0;font-size:10pt}.resume-page h1{font-size:32pt}.resume-page h2{font-size:17pt}.resume-page h3{font-size:12pt}.resume-page p{font-size:10pt;line-height:1.5}.resume-page section{padding-top:20px}.resume-page article{margin-bottom:16px}.resume-page a{color:inherit}.resume-page header{padding-bottom:20px}@page{margin:16mm}}.fictional-screen{position:relative;margin:0 25px 12px;padding:18px 20px;background:#fffffff2;border:1px solid #ffffff80;box-shadow:0 12px 35px #171a1720;border-radius:8px;color:#242b23}.fictional-screen small{display:block;font:8px var(--font-ibm-plex-mono),ui-monospace,monospace;letter-spacing:.05em;color:#697460}.fictional-screen strong{display:block;font-size:13px;margin:9px 0}.fictional-screen p{font-size:12px;line-height:1.5}.fictional-screen>span{display:block;font-size:10px;color:#697460;margin-top:10px}.resume-position{margin-top:15px}.resume-position h4 small{font-weight:400;white-space:nowrap}.resume-company+.resume-company{border-top:1px solid #29301f25;padding-top:20px}