.portfolio{--p-text:#f4f6fa;--p-muted:#c1c7d0;color:var(--p-text);background:#030406;font-weight:400;overflow:clip}:is(body:has(.portfolio),html:has(.portfolio)){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#030406}html:has(.portfolio){scroll-padding-top:0}.portfolio *{box-sizing:border-box}.p-container{width:min(1440px,100% - 96px);margin-inline:auto}.p-nav{z-index:20;background:#03040600;border-bottom:1px solid #0000;justify-content:center;align-items:center;min-height:76px;transition:background-color .2s,border-color .2s;display:flex;position:sticky;top:0}.p-nav.is-scrolled{background:#030406f5;border-color:#1b2028}.p-nav nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px clamp(16px,3vw,34px);display:flex}.p-nav nav a{color:#d3d8e0;align-items:center;min-height:44px;padding-inline:4px;font-size:16px;transition:color .2s;display:inline-flex}.p-nav nav a:hover{color:#fff}.p-nav nav a span{margin-left:5px;font-size:13px}.portfolio a:focus-visible{outline-offset:6px;outline:2px solid #2563eb}.skip-link{z-index:10;background:#080a0d;padding:10px;position:absolute;top:-100px;left:24px}.skip-link:focus{top:12px}.p-hero{grid-template-columns:42% 58%;align-items:center;gap:0;min-height:580px;padding-inline:0;display:grid}.portrait-wrap{align-self:center;width:100%;height:550px;position:relative;-webkit-mask-image:linear-gradient(#000 78%,#0000 100%);mask-image:linear-gradient(#000 78%,#0000 100%)}.portrait-wrap img{object-fit:contain;object-position:bottom center;width:100%;height:100%;display:block}.p-hero-copy{text-align:center;padding:0 0 25px 12px}.lit-title{isolation:isolate;color:#f4f6fa;position:relative}.lit-title:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#1246a31f,#0b2c640d 38%,#0000 70%);width:320px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.p-hero h1{letter-spacing:-.058em;margin:0;font-size:clamp(48px,5.2vw,80px);font-weight:550;line-height:1.06}.p-hero h1:before{opacity:.8;width:500px;height:240px}.p-roles{letter-spacing:-.02em;color:#d3d8e0;margin:25px 0 0;font-size:18px}.p-roles span{color:#59616e;padding-inline:9px}.p-hero-support{color:#aeb6c2;max-width:34rem;margin:18px auto 0;font-size:16px;line-height:1.6}.p-hero-actions{justify-content:center;gap:30px;margin-top:28px;display:flex}.work-link{color:#e0e4eb;align-items:center;gap:12px;min-height:44px;font-size:15px;display:inline-flex}.work-link span{transition:transform .2s}.work-link:hover span{transform:translateY(4px)}.p-section{padding-block:68px;scroll-margin-top:84px}.p-section h2{text-align:center;letter-spacing:-.045em;width:fit-content;margin:0 auto 46px;font-size:40px;font-weight:570;line-height:1.2}.p-about{padding-top:40px;padding-bottom:68px}.p-about h2{margin-bottom:30px}.about-copy{text-align:center;max-width:820px;color:var(--p-muted);margin:0 auto;font-size:18px;line-height:1.8}.about-copy p{margin:0}.about-copy p+p{margin-top:18px}.p-timeline{width:100%;max-width:1200px;margin:0 auto}.p-job{grid-template-columns:100px 1fr;column-gap:60px;padding:0 0 34px;display:grid;position:relative}.p-job:before{content:"";background:repeating-linear-gradient(#756f67 0 7px,#0000 7px 14px);width:2px;position:absolute;top:12px;bottom:-12px;left:125px}.p-job:last-child{padding-top:34px;padding-bottom:0}.p-job:last-child:before{top:0;bottom:6px}.p-timeline-point{background:#030406;border:1px solid #a49a8d;border-radius:50%;width:7px;height:7px;position:absolute;top:10px;left:122px}.p-job:last-child .p-timeline-point{top:44px}.company-logo{aspect-ratio:1;border-radius:8px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto;display:flex;overflow:hidden}.company-logo img{object-fit:contain;width:100%;height:100%}.agility-logo{background:#fff}.agility-logo img{object-fit:contain;width:100%;height:100%}.job-copy{position:relative}.p-job+.p-job .job-copy:before{content:"";background:#181d25;width:100%;height:1px;position:absolute;top:-34px}.job-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.job-heading h3{letter-spacing:.015em;margin:0;font-size:22px;font-weight:620}.job-heading time{color:#c7ced8;white-space:nowrap;background:#0b0e13;border:1px solid #303640;border-radius:999px;flex-shrink:0;align-items:center;padding:5px 11px;font-size:14px;line-height:1.4;display:inline-flex}.job-role{color:#e0e4eb;margin:5px 0 0;font-size:18px}.job-location{color:#aab3c0;margin:5px 0 0;font-size:15px}.job-responsibilities{color:#d3d8e0;max-width:900px;margin:24px 0 0;padding-left:18px;font-size:18px;line-height:1.85}.job-responsibilities li+li{margin-top:8px}.job-responsibilities li::marker{color:#aeb8c7;font-size:12px}.job-technologies{color:#98a4b5;letter-spacing:.01em;margin:22px 0 0;font-size:14px}.p-projects{grid-template-columns:repeat(3,minmax(0,400px));justify-content:center;gap:24px;display:grid}.p-project{isolation:isolate;background:#080a0d;border:1px solid #252b33;border-radius:9px;flex-direction:column;justify-content:flex-end;min-width:0;min-height:360px;transition:border-color .2s;display:flex;position:relative;overflow:hidden}a.p-project:hover,a.p-project:focus-visible{border-color:#41516c}.project-top{align-items:center;gap:10px;min-height:32px;margin-bottom:13px;display:flex}.project-logo{object-fit:contain;flex-shrink:0;width:30px;height:30px}.project-logo-wide{width:96px}.project-logo-light{background:#fff;border-radius:5px;padding:3px}.project-top h3{letter-spacing:-.02em;margin:0;font-size:19px;font-weight:600}.project-arrow{color:#d3d8e0;margin-left:auto;font-size:21px;transition:transform .2s}a.p-project:hover .project-arrow{transform:translate(2px,-2px)}.project-content>p{color:#e0e4eb;min-height:3.3em;margin:0 0 12px;font-size:15px;line-height:1.6}.project-stackline{color:#bbc3ce;font-size:14px}.project-domain{color:#bbc3ce;margin-top:15px;font-size:13px;display:block}.project-legacy{color:#9da7b5;border:1px solid #454d58;border-radius:4px;padding:2px 6px;font-size:10px;line-height:1.5}.product-preview{z-index:-2;background:#0b0e13;position:absolute;inset:0;overflow:hidden}.project-content{isolation:isolate;margin-top:112px;padding:22px;position:relative}.project-content:before{content:"";z-index:-1;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#0000 0%,#05070ae0 22%,#05070af7 48%,#05070a 100%);position:absolute;inset:-65px 0 0;-webkit-mask-image:linear-gradient(#0000,#000 25%);mask-image:linear-gradient(#0000,#000 25%)}.project-screenshot{object-fit:cover;object-position:top center;transition:transform .35s}a.p-project:hover .project-screenshot,a.p-project:focus-visible .project-screenshot{transform:scale(1.03)}.p-toolbox{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1200px;margin:0 auto;display:grid}.skill-block{background:#0b0e13;border:1px solid #252d37;border-radius:10px;min-width:0;padding:22px}.skill-block h3{color:#f4f6fa;letter-spacing:.01em;margin:0 0 20px;font-size:17px;font-weight:550}.skill-tags{flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none;display:flex}.skill-tags li{color:#dce2ea;background:#121820;border:1px solid #343d49;border-radius:999px;align-items:center;gap:8px;padding:5px 10px;font-size:14px;line-height:1.5;display:inline-flex}.skill-icon{object-fit:contain;filter:brightness(0)invert(.82);opacity:.78;flex-shrink:0;width:18px;height:18px}.p-contact{text-align:center;padding-top:90px;padding-bottom:82px;scroll-margin-top:84px}.p-contact h2{letter-spacing:-.04em;margin:0;font-size:clamp(28px,3.2vw,40px);font-weight:550;line-height:1.3}.p-contact h2:before{width:450px;height:170px}.p-contact>p{color:#c1c7d0;max-width:650px;margin:14px auto 29px;font-size:18px;line-height:1.7}.p-contact-links{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.p-contact-links>*{color:#c4cbd5;border:1px solid #272e3a;border-radius:6px;align-items:center;gap:21px;min-height:44px;padding:12px 20px;font-size:16px;transition:background .2s;display:inline-flex}.p-contact-links a:hover{background:#121722}.p-contact-links .p-primary{color:#fff;background:#2563eb;border-color:#2563eb}.p-contact-links .p-primary:hover{background:#1d4ed8}.contact-email-address{color:#aeb7c5;text-underline-offset:4px;margin-top:22px;font-size:15px;-webkit-text-decoration:underline #3b4655;text-decoration:underline #3b4655;display:inline-block}.contact-email-address:hover{color:#fff}.p-footer{text-align:center;color:#b6becb;border-top:1px solid #161b22;padding:27px 0 32px;font-size:14px}@media (min-width:1400px){.p-hero{min-height:620px}.portrait-wrap{height:570px}}@media (max-width:1100px){.p-container{width:calc(100% - 48px)}.p-section{padding-block:60px}.p-hero{min-height:510px}.portrait-wrap{height:460px}.p-hero h1{font-size:clamp(44px,5.5vw,64px)}.p-job{grid-template-columns:82px minmax(0,1fr);column-gap:42px}.p-job:before{left:102px}.p-timeline-point{left:99px}.p-projects{grid-template-columns:repeat(2,minmax(0,400px))}.p-project:last-child{grid-column:1/-1;justify-self:center;width:min(100%,400px)}.p-toolbox{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (max-width:700px){.p-container{width:calc(100% - 40px)}.p-nav{min-height:68px;padding-block:6px}.p-nav nav{gap:0 13px}.p-nav nav a{min-height:38px;font-size:13px}.p-hero{flex-direction:column;min-height:0;padding-top:14px;display:flex}.portrait-wrap{align-self:center;max-width:320px;height:clamp(270px,65vw,360px)}.p-hero-copy{padding:0 0 26px}.p-hero h1{font-size:clamp(40px,9vw,54px)}.p-hero h1 br{display:none}.p-roles{margin-top:17px;font-size:clamp(13px,3.3vw,16px)}.p-roles span{padding-inline:3px}.p-hero-support{margin-top:14px;font-size:15px}.p-hero-actions{gap:28px;margin-top:18px}.p-section{padding-block:52px;scroll-margin-top:90px}.p-section h2{margin-bottom:34px;font-size:34px}.about-copy{font-size:16px;line-height:1.75}.p-job{grid-template-columns:50px minmax(0,1fr);column-gap:25px}.company-logo{border-radius:6px;width:44px;height:44px}.p-job:before{left:59px}.p-timeline-point{left:56px}.job-heading{display:block}.job-heading h3{font-size:19px}.job-heading time{margin-top:8px;font-size:13px}.job-role{font-size:16px}.job-location{font-size:14px}.job-responsibilities{margin-top:18px;font-size:15px;line-height:1.65}.job-responsibilities li+li{margin-top:9px}.job-technologies{font-size:13px;line-height:1.6}.p-projects{grid-template-columns:minmax(0,400px);gap:18px}.p-project:last-child{grid-column:auto;width:auto}.p-project{min-height:350px}.p-toolbox{grid-template-columns:1fr;max-width:430px}.skill-block{padding:20px}.p-contact{padding-block:72px}.p-contact>p{font-size:16px}.p-contact-links{gap:8px}.p-contact-links>*{gap:12px;padding:9px 12px;font-size:14px}}@media (max-width:390px){.p-container{width:calc(100% - 32px)}.p-nav nav{gap:0 9px}.p-nav nav a{font-size:12px}.p-contact{scroll-margin-top:102px}.project-content{padding:20px}.project-top{gap:8px}.project-top h3{font-size:17px}}@media (prefers-reduced-motion:reduce){.p-project,.project-screenshot,.project-arrow,.p-nav,.work-link span{transition:none!important}}
