.portfolio-content{padding-bottom:64px}.kinetic-page>main{min-height:calc(100svh - 76px)}.portfolio-intro{padding-block:clamp(48px,5vw,80px) 40px}.portfolio-title{overflow-wrap:anywhere;margin:0 0 20px;font-size:clamp(72px,10vw,150px)}.portfolio-subtitle{color:var(--home-muted);font-size:clamp(17px,1.7vw,24px);line-height:1.5}.portfolio-title-word{white-space:nowrap;display:inline-block}.work-toolbar,.work-toolbar-end,.work-filters,.work-view-toggle{align-items:center;gap:12px;display:flex}.work-toolbar{border-bottom:1px solid var(--home-line);justify-content:space-between;gap:24px;padding-bottom:32px}.work-filters button,.work-view-toggle button{border:1px solid var(--home-line);min-height:46px;color:var(--home-ink);background:var(--home-paper);justify-content:center;align-items:center;padding:12px 28px;font-size:14px;transition:background .15s,color .15s;display:inline-flex}.work-filters button[aria-pressed=true],.work-view-toggle button[aria-pressed=true]{background:var(--home-ink);color:var(--home-paper);border-color:var(--home-ink)}.work-filters button:hover,.work-view-toggle button:hover{border-color:var(--home-ink)}.work-view-toggle button{width:48px;padding:12px}.work-sort{border:1px solid var(--home-line);background:var(--home-paper);white-space:nowrap;align-items:center;min-height:46px;font-size:13px;display:flex;position:relative}.work-sort>span{padding-left:16px}.work-sort select{-webkit-appearance:none;appearance:none;background:var(--home-paper);width:100%;min-height:46px;color:var(--home-ink);cursor:pointer;border:0;padding:12px 40px 12px 8px}.work-sort>svg{pointer-events:none;width:16px;height:16px;position:absolute;right:12px}.work-feed{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;display:grid}.work-card{border-bottom:1px solid var(--home-line);grid-template-rows:auto 1fr auto;min-width:0;padding-block:32px;display:grid}.work-card[data-product=true] .work-kind:before,.work-filters button[data-product=true]:before{content:"";background:var(--home-ink);vertical-align:2px;width:5px;height:5px;margin-right:8px;display:inline-block;transform:rotate(45deg)}.work-filters button[data-product=true]:before{background:currentColor;flex-shrink:0;margin-right:10px}.work-preview{aspect-ratio:16/10;background:var(--home-hover);border:1px solid var(--home-line);width:100%;min-width:0;transition:transform .4s var(--home-ease);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.work-preview img{object-fit:contain;width:100%;height:100%}.work-preview:focus-visible{transform:scale(1.025)}@media (hover:hover) and (pointer:fine){.work-preview:hover{transform:scale(1.025)}}.work-preview-fallback{max-width:90%;color:var(--home-muted);text-align:center;overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:12px;display:flex}.work-preview-fallback .kinetic-display{color:var(--home-ink);font-size:clamp(32px,5vw,76px);line-height:1.15}.work-preview-fallback svg{width:32px;height:32px}.work-card-copy{min-width:0;padding-top:20px}.work-kind{color:var(--home-muted);font-size:13px}.work-card-title{white-space:nowrap;text-overflow:ellipsis;margin-block:6px 12px;font-size:clamp(28px,3vw,44px);line-height:1.15;overflow:hidden}.work-description{-webkit-line-clamp:2;max-width:65ch;color:var(--home-muted);-webkit-box-orient:vertical;font-size:15px;line-height:1.6;display:-webkit-box;overflow:hidden}.work-tooltip{z-index:70;max-width:min(420px,100vw - 32px);max-height:var(--radix-tooltip-content-available-height);border:1px solid var(--home-line);overflow-wrap:anywhere;transform-origin:var(--radix-tooltip-content-transform-origin);padding:12px 16px;font-size:14px;font-weight:400;line-height:1.6;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.work-tooltip[data-state=delayed-open],.work-tooltip[data-state=instant-open]{animation:.18s cubic-bezier(0,0,.2,1) both work-tooltip-enter}.work-tooltip[data-state=closed]{pointer-events:none;animation:.12s cubic-bezier(.4,0,1,1) both work-tooltip-exit}@keyframes work-tooltip-enter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes work-tooltip-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}.work-open{min-height:44px;color:var(--home-ink);text-align:left;background:0 0;border:0;justify-self:start;margin-top:16px;font-size:14px}.work-open:hover svg{transform:translate(3px)}.work-open svg{transition:transform .16s}.work-feed[data-view=list]{grid-template-columns:minmax(0,1fr)}.work-feed[data-view=list] .work-card{grid-template-rows:auto;grid-template-columns:minmax(180px,32%) minmax(0,1fr) auto;align-items:center;gap:32px;padding-block:24px}.work-feed[data-view=list] .work-card-copy{padding-top:0}.work-feed[data-view=list] .work-open{justify-self:end;margin-top:0}.work-feed[data-view=list] .work-card-title{font-size:clamp(26px,3vw,40px)}.work-loading{color:var(--home-muted);justify-content:center;align-items:center;gap:12px;padding-block:24px;font-size:14px;display:flex}.work-loading svg{animation:1s linear infinite work-spin}@keyframes work-spin{to{transform:rotate(360deg)}}.work-count{color:var(--home-muted);padding-top:24px;font-size:12px}.work-next-page{outline-offset:8px}.work-skeleton .work-preview{border:0}.work-skeleton-label{width:64px;height:1.5em}.work-skeleton-title{width:65%;height:1.15em}.work-skeleton-description{width:90%;height:3.2em}.work-skeleton-action{width:110px;height:1em;display:block}.work-message{color:var(--home-muted);flex-direction:column;align-items:flex-start;gap:24px;padding-block:64px;display:flex}.work-dialog-overlay{z-index:60;background:#000000b3;animation:.18s ease-out work-overlay-enter;position:fixed;inset:0}@keyframes work-overlay-enter{0%{opacity:0}to{opacity:1}}.resume-intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:48px;display:flex}.resume-intro .portfolio-title{font-size:clamp(64px,9.5vw,140px)}.resume-introduction{max-width:65ch;color:var(--home-muted);margin-top:16px;font-size:16px;line-height:1.6}.resume-downloads{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.resume-section{border-top:1px solid var(--home-line);grid-template-columns:minmax(140px,20%) minmax(0,1fr);gap:32px;padding-block:40px;display:grid}.resume-label{font-size:16px;font-weight:600}.resume-role{grid-template-columns:minmax(130px,22%) minmax(0,1fr);gap:24px;padding-block:24px;display:grid}.resume-role:first-child{padding-top:0}.resume-role:last-child{padding-bottom:0}.resume-role+.resume-role{border-top:1px solid var(--home-line)}.resume-timeline .resume-role{border-left:1px solid var(--home-line);margin-left:5px;padding:0 0 28px 24px;position:relative}.resume-timeline .resume-role+.resume-role{padding-top:28px}.resume-timeline .resume-role:before{content:"";background:var(--home-ink);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;left:-4px}.resume-timeline .resume-role+.resume-role:before{top:34px}.resume-role h3{font-size:22px;font-weight:600;line-height:1.4}.resume-date{color:var(--home-muted);font-size:14px;line-height:1.6}.resume-role-name{color:var(--home-muted);margin-top:6px;line-height:1.6}.resume-summary{max-width:60ch;color:var(--home-muted);margin-top:12px;font-size:15px;line-height:1.7}.resume-location{color:var(--home-muted);margin-top:8px;font-size:14px;line-height:1.6}.resume-highlights{max-width:70ch;color:var(--home-muted);gap:12px;margin-top:20px;padding-left:18px;font-size:15px;line-height:1.7;list-style:outside;display:grid}.resume-strengths li{padding-block:20px;font-size:22px;font-weight:500}.resume-strengths li:first-child{padding-top:0}.resume-strengths li:last-child{padding-bottom:0}.resume-strengths li+li{border-top:1px solid var(--home-line)}.resume-credentials-list{min-width:0}.resume-certificate{grid-template-columns:100px minmax(0,1fr);gap:28px;padding-block:32px;display:grid}.resume-certificate+.resume-certificate{border-top:1px solid var(--home-line)}.resume-certificate:first-child{padding-top:0}.resume-certificate:last-child{padding-bottom:0}.resume-certificate-image{object-fit:contain;background:#fff;width:100px;height:100px;padding:10px}.resume-certificate h3{font-size:20px;font-weight:600;line-height:1.5}.resume-certificate-issuer{color:var(--home-muted);margin-top:8px;font-size:14px;line-height:1.6}.resume-certificate-issuer a{color:var(--home-ink);text-underline-offset:3px;text-decoration:underline}.resume-certificate-description{color:var(--home-muted);margin-block:16px 12px;font-size:15px;line-height:1.7}.resume-certificate .kinetic-text-link{color:var(--home-ink);text-decoration:none}.resume-contact{border-top:1px solid var(--home-line);padding-block:48px 8px}.resume-contact h2{max-width:25ch;margin-bottom:32px;font-size:clamp(42px,5.5vw,84px);line-height:1.12}@media (max-width:1100px){.work-feed[data-view=list] .work-card{grid-template-columns:minmax(160px,32%) minmax(0,1fr);gap:0 24px}.work-feed[data-view=list] .work-preview{grid-row:span 2}.work-feed[data-view=list] .work-open{grid-column:2;justify-self:start}.resume-role{grid-template-columns:minmax(0,1fr);gap:8px}}@media (max-width:800px){.portfolio-content{padding-bottom:40px}.portfolio-intro{padding-block:36px 28px}.portfolio-title{margin-bottom:16px;font-size:clamp(64px,12vw,96px)}.portfolio-subtitle{font-size:16px}.work-toolbar{flex-direction:column;align-items:stretch;gap:16px;padding-bottom:24px}.work-filters{gap:12px}.work-filters button{min-width:100px}.work-toolbar-end{width:100%}.work-sort{flex:1}.work-sort select{flex:1;width:auto}.work-view-toggle{display:none}.work-feed,.work-feed[data-view=list]{grid-template-columns:minmax(0,1fr)}.work-feed .work-card,.work-feed[data-view=list] .work-card{grid-template-rows:1fr auto;grid-template-columns:minmax(0,36%) minmax(0,1fr);align-items:center;gap:0 18px;padding-block:24px}.work-feed .work-preview{aspect-ratio:4/3;grid-row:span 2}.work-feed .work-card-copy{padding-top:0}.work-feed .work-card-title,.work-feed[data-view=list] .work-card-title{margin-block:6px 4px;font-size:clamp(22px,4.5vw,32px)}.work-feed .work-description{font-size:13px}.work-feed .work-open,.work-feed[data-view=list] .work-open{grid-column:2;justify-self:start;gap:8px;min-height:40px;margin:0;font-size:12px}.work-kind{font-size:12px}.work-preview-fallback .kinetic-display{font-size:clamp(20px,6vw,26px)}.resume-intro .portfolio-title{font-size:clamp(52px,12vw,88px)}.resume-intro{align-items:stretch;gap:24px;padding-bottom:32px}.resume-downloads{gap:20px;width:100%}.resume-downloads .kinetic-button{width:100%}.resume-section{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:32px}.resume-label{font-family:var(--font-kinetic-display), Impact, sans-serif;font-size:30px;font-weight:400}.resume-role h3,.resume-strengths li{font-size:20px}.resume-certificate{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:24px}.resume-certificate-image{width:80px;height:80px}.resume-contact{padding-top:32px}.resume-contact h2{font-size:clamp(38px,8vw,60px)}}@media (max-width:380px){.kinetic-page{--home-gutter:calc(20px - var(--home-frame-inset))}.work-feed .work-card,.work-feed[data-view=list] .work-card{gap:0 12px}.work-feed .work-open{font-size:11px}.work-sort{font-size:12px}.work-sort>span{padding-left:12px}}@media (prefers-reduced-motion:reduce){.work-preview,.work-open svg{transition:none;transform:none}.work-loading svg,.work-dialog-overlay{animation:none}}
