@view-transition{navigation:auto;types:page}html:active-view-transition-type(page)::view-transition-group(root){animation-duration:.32s;animation-timing-function:cubic-bezier(.22,1,.36,1)}html:active-view-transition-type(page)::view-transition-old(root){animation:.32s cubic-bezier(.4,0,.2,1) both page-fade-out}html:active-view-transition-type(page)::view-transition-new(root){animation:.32s cubic-bezier(.4,0,.2,1) both page-fade-in}html:active-view-transition-type(page) .theme-toggle{view-transition-name:none}@keyframes page-fade-out{to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}.resume-page{background:var(--bg);height:100dvh;color:var(--text);scroll-behavior:smooth;scroll-padding-top:100px;overflow:hidden auto}.resume-site-header{z-index:10;height:calc(68px + env(safe-area-inset-top));background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.resume-index-actions{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.resume-index-actions .resume-download{gap:8px;width:100%;padding:12px;font-size:.625rem}.resume-profile{justify-content:flex-start;align-items:center;gap:28px;display:flex}.resume-profile-copy{min-width:0}.resume-portrait{object-fit:cover;object-position:54% center;border:1px solid var(--line);border-radius:28px;flex:none;width:144px;height:144px;display:block}.resume-layout{grid-template-columns:160px minmax(0,850px);align-items:start;gap:clamp(36px,5vw,88px);max-width:1220px;margin:0 auto;padding:64px 32px 48px;display:grid}.resume-index{position:sticky;top:118px}.resume-index nav{flex-direction:column;gap:4px;display:flex}.resume-index nav p{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-size:.625rem;font-weight:600}.resume-index nav a{color:var(--muted);padding:8px 0;font-size:.75rem}.resume-index nav a:hover{color:var(--text)}.resume-index>span{color:var(--muted);margin-top:28px;font-size:.625rem;display:block}.resume-document{outline:none;min-width:0;font-size:.875rem;line-height:1.7}.resume-identity h1{letter-spacing:-.055em;font-size:clamp(2rem,4vw,3.25rem);font-weight:750;line-height:1.08}.resume-role{color:var(--text);margin-top:12px;font-size:1.125rem;font-weight:500}.resume-location{color:var(--muted);margin-top:4px;font-size:.8125rem}.resume-identity address{flex-wrap:wrap;gap:5px 20px;margin-top:20px;font-size:.75rem;font-style:normal;display:flex}.resume-identity address a{color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:4px;display:inline-flex}.resume-identity address a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.resume-document>section{border-top:1px solid var(--line);margin-top:44px;padding-top:26px}.resume-document h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:22px;font-size:.75rem;font-weight:650}.resume-summary{color:var(--text);font-size:1rem;line-height:1.75}.resume-entry+.resume-entry{margin-top:32px}.resume-entry>header{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:14px;display:flex}.resume-entry h3{letter-spacing:-.025em;font-size:1.125rem;font-weight:650;line-height:1.3}.resume-entry-role{color:var(--text);margin-top:2px;font-size:.875rem}.resume-dates{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;font-size:.6875rem}.resume-entry ul{gap:8px;margin:0;padding-left:1.2em;display:grid}.resume-entry li{padding-left:.2em}.resume-entry li::marker{color:var(--muted)}.resume-stack{color:var(--muted);margin-top:16px;font-size:.75rem}.resume-stack strong,.resume-paper strong{color:var(--text);font-weight:600}.resume-paper{color:var(--muted);margin-top:12px}.resume-skill-list{gap:20px;margin:0;display:grid}.resume-skill-list dt{color:var(--text);font-size:.875rem;font-weight:600}.resume-skill-list dd{color:var(--muted);margin:4px 0 0}.resume-languages{flex-wrap:wrap;gap:12px 28px;margin:0;padding:0;list-style:none;display:flex}.resume-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:52px;padding-top:24px;font-size:.75rem;display:flex}.resume-footer a{align-items:center;gap:7px;display:inline-flex}@media (max-width:900px){.resume-layout{max-width:850px;padding:40px 24px;display:block}.resume-index{margin-bottom:36px;position:static}.resume-index-actions{margin-top:18px;padding-top:18px}.resume-index-actions .resume-download{width:auto}.resume-index nav{flex-flow:wrap;gap:8px 22px}.resume-index nav p,.resume-index>span{display:none}}@media (max-width:600px){.resume-profile{align-items:flex-start;gap:16px}.resume-portrait{border-radius:20px;width:96px;height:112px}.resume-layout{padding:28px 20px 36px}.resume-entry>header{display:block}.resume-dates{margin-top:7px}.resume-document{font-size:.8125rem}.resume-role{font-size:1rem}.resume-summary{font-size:.875rem}.resume-identity address{flex-direction:column;gap:8px}.resume-document>section{margin-top:32px;padding-top:22px}.resume-entry h3{font-size:1rem}}@media (prefers-reduced-motion:reduce){.resume-page{scroll-behavior:auto}}@media print{@page{size:A4;margin:15mm}html,body,#root,.resume-page{color:#111!important;background:#fff!important;height:auto!important;overflow:visible!important}.resume-site-header,.resume-download,.resume-index,.resume-footer,.skip-link{display:none!important}.resume-layout{max-width:none;margin:0;padding:0;display:block}.resume-document{font-size:10pt;line-height:1.45}.resume-identity h1{font-size:25pt}.resume-role{font-size:13pt}.resume-summary{font-size:10pt}.resume-document h2{color:#333;font-size:10pt}.resume-entry h3{font-size:12pt}.resume-entry-role{font-size:10pt}.resume-document p,.resume-document a,.resume-document dd,.resume-document dt{color:#222}.resume-document>section{border-color:#ccc;margin-top:20px;padding-top:12px}.resume-entry>header,.resume-document h2{break-after:avoid}.resume-entry li{break-inside:avoid}.resume-entry+.resume-entry{margin-top:20px}.resume-identity address{font-size:9pt}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#101114;--color-surface:#18191e;--color-surface-raised:#202127;--color-surface-hover:#292b33;--color-text-primary:#f1f2f5;--color-text-secondary:#adb0be;--color-text-tertiary:#969baa;--color-border:#32343e;--color-border-strong:#757b8c;--color-accent:#b4a7ff;--color-accent-surface:#5c4bc4;--color-on-accent:#fff;--color-focus:#b4a7ff;--color-action:#e9eaf0;--color-on-action:#202127;--color-selection:#51439a;--color-on-selection:#fff;--color-overlay:#07080bb8;--shadow-soft:0 10px 35px #00000024;--shadow-dialog:0 24px 100px #0006;--timeline-tint-start:.24;--timeline-tint-middle:.12;--timeline-tint-end:.045;--timeline-tint-detail:.09;--logo-glow-opacity:.8;--bg:var(--color-canvas);--surface:var(--color-surface);--surface-2:var(--color-surface-raised);--text:var(--color-text-primary);--muted:var(--color-text-secondary);--line:var(--color-border);--accent:var(--color-accent);--button:var(--color-action);--button-text:var(--color-on-action);--shadow:var(--shadow-soft)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#f7f8fa;--color-surface:#fff;--color-surface-raised:#eef0f4;--color-surface-hover:#e5e8ef;--color-text-primary:#22242d;--color-text-secondary:#555b6c;--color-text-tertiary:#5c6374;--color-border:#d9dce5;--color-border-strong:#787f90;--color-accent:#5945c2;--color-accent-surface:#5945c2;--color-on-accent:#fff;--color-focus:#5945c2;--color-action:#292b35;--color-on-action:#fff;--color-selection:#e1dcff;--color-on-selection:#35246f;--color-overlay:#18203840;--shadow-soft:0 10px 35px #2026400d;--shadow-dialog:0 24px 100px #20264026;--timeline-tint-start:.12;--timeline-tint-middle:.06;--timeline-tint-end:.025;--timeline-tint-detail:.055;--logo-glow-opacity:.34}@font-face{font-family:Bricolage Grotesque;src:url(/assets/bricolage-grotesque-latin-H69Fsr2u.woff2)format("woff2");font-style:normal;font-weight:200 800;font-display:swap}@font-face{font-family:Bricolage Fallback;src:local(Arial);size-adjust:99.7002%;ascent-override:93.2797%;descent-override:27.0812%;line-gap-override:0%}:root{color:var(--text);background:var(--bg);font-synthesis:none;font-optical-sizing:auto;font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:34px}body{background:var(--bg);color:var(--text);margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--color-focus);outline-offset:5px}::selection{background:var(--color-selection);color:var(--color-on-selection)}p{line-height:1.65}h1,h2,h3,p{margin:0}button svg,a svg{flex-shrink:0}svg{vertical-align:middle}h1,h2,h3{font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif}button{border:0}a,button{transition:background .2s,color .2s,border-color .2s,box-shadow .2s}a:hover{color:var(--accent)}.mini-app{transition:transform .5s cubic-bezier(.2,.8,.2,1);transform:translateY(12px)rotate(-2deg)}.project-card.orange .mini-app{transform:translateY(6px)rotate(2deg)}.project-card:hover .mini-app{transform:translateY(0)rotate(0)}.project-info{justify-content:space-between;align-items:center;gap:16px;padding:24px 26px;display:flex}.project-info>div{flex:1}.project-title{align-items:center;gap:14px;display:flex}.project-title h3{letter-spacing:-.6px;font-size:1.375rem;font-weight:550}.project-title>span{border:1px solid var(--line);color:var(--muted);border-radius:30px;padding:4px 9px;font-size:.625rem}.project-info p{color:var(--muted);margin-top:6px;font-size:.8125rem}.project-tech{color:var(--muted);justify-content:space-between;gap:10px;margin-top:22px;font-size:.6875rem;display:flex}.project-tech>span{opacity:.75}.project-arrow{border:1px solid var(--line);border-radius:50%;justify-content:center;align-self:flex-start;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.project-card:hover .project-arrow{background:var(--button);color:var(--button-text);transform:rotate(45deg)}.work-note{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin-top:23px;font-size:.75rem;display:flex}.about-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:100px;margin-top:85px;padding:73px 0;display:grid}.about-intro h2{letter-spacing:-1.8px;margin:17px 0 25px;font-size:2.6875rem;font-weight:500;line-height:1.2}.about-intro p{color:var(--muted);margin-top:13px;font-size:.9375rem}.about-intro .text-link{margin-top:25px}.about-details{padding-top:9px}.principle{gap:17px;margin-bottom:30px;display:flex}.principle-icon{background:var(--surface-2);border:1px solid var(--line);width:43px;height:43px;color:var(--accent);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.principle h3{letter-spacing:-.2px;margin-bottom:6px;font-size:1rem;font-weight:550}.principle p{color:var(--muted);font-size:.8125rem;line-height:1.65}.toolbox{border-top:1px solid var(--line);padding-top:22px}.toolbox .tags{margin-top:13px}.experience-section{padding-top:76px}.experience-list{border:1px solid var(--line);background:var(--surface);border-radius:20px;overflow:hidden}.experience-row+.experience-row{border-top:1px solid var(--line)}.experience-row summary{cursor:pointer;align-items:center;gap:19px;padding:25px 27px;list-style:none;display:flex}.experience-row summary::-webkit-details-marker{display:none}.experience-row summary:hover{background:var(--surface-2)}.company-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif;font-size:1.6875rem;font-weight:700;display:flex}.atlassian{color:#7eadfc;background:#172b49}.getir{color:#fbd650;background:#392b53}.intense{color:#b9d0be;background:#333d38}.r10{color:#afd4ee;background:#283a46}.job-title{flex-direction:column;gap:6px;display:flex}.job-title b{font-size:.9375rem;font-weight:550}.job-title>span{color:var(--muted);font-size:.75rem}.job-date{color:var(--muted);margin-left:auto;font-size:.75rem}.expand-icon{color:var(--muted);margin-left:15px;transition:transform .2s}.experience-row[open] .expand-icon{transform:rotate(45deg)}.job-detail{max-width:760px;padding:0 86px 27px 90px}.job-detail p{color:var(--muted);margin-bottom:16px;font-size:.875rem}.contact-section{border:1px solid var(--line);background:var(--surface);border-radius:26px;justify-content:space-between;align-items:center;gap:30px;margin-top:88px;padding:44px;display:flex}.contact-section h2{letter-spacing:-1.6px;margin-top:16px;font-size:2.4375rem;font-weight:500;line-height:1.25}.contact-section p{color:var(--muted);margin-top:16px;font-size:.8125rem}.contact-actions{flex-direction:column;align-items:center;gap:17px;display:flex}.copy-email{color:var(--muted);background:0 0;align-items:center;gap:7px;padding:7px;font-size:.6875rem;display:flex}.copy-email:hover{color:var(--accent)}.site-footer{color:var(--muted);align-items:center;gap:22px;padding:36px 0;display:flex}.site-footer .wordmark{color:var(--text);font-size:1.5rem}.site-footer .wordmark span{font-size:1.125rem}.site-footer>span{font-size:.6875rem}.site-footer>div{gap:22px;margin-left:auto;display:flex}.site-footer>div a{align-items:center;gap:4px;font-size:.6875rem;display:flex}.mini-app{text-align:left;color:#2c3328;border:1px solid #ffffff91;border-radius:12px;font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif;overflow:hidden;box-shadow:0 20px 50px #26302335}.folio-app{background:#fafbf7;min-height:320px;display:flex}.mini-sidebar{background:#f0f2ea;border-right:1px solid #e5e7de;flex-direction:column;flex-shrink:0;width:25%;padding:24px 17px;display:flex}.mini-brand{letter-spacing:-.8px;align-items:center;gap:7px;margin-bottom:32px;font-size:1.25rem;font-weight:600;display:flex}.mini-nav{color:#717968;border-radius:6px;align-items:center;gap:7px;padding:9px;font-size:.625rem;display:flex}.mini-nav.active{color:#394b2f;background:#e1e7d7}.mini-sidebar-bottom{color:#838a7b;margin-top:auto;font-size:.5rem;line-height:1.5}.mini-main{flex:1;min-width:0;padding:19px 27px}.mini-top{color:#8a8e82;justify-content:space-between;align-items:center;font-size:.5rem;display:flex}.mini-avatar{color:#35412d;background:#dae1cd;border-radius:50%;padding:7px;font-size:.5rem}.mini-main h3{letter-spacing:-.9px;margin-top:13px;font-size:1.4375rem;font-weight:550;line-height:1.2}.mini-tabs{color:#8b9082;border-bottom:1px solid #e6e9dd;gap:19px;padding:19px 0 10px;font-size:.5625rem;display:flex}.mini-tabs b{color:#3d4a34}.mini-tabs svg{margin-left:auto}.mini-project{background:#f0f4e9;border:1px solid #e1e6d7;border-radius:9px;align-items:center;gap:10px;margin-top:14px;padding:12px;display:flex}.project-symbol{color:#637c4a;background:#dbe5cd;border-radius:7px;justify-content:center;align-items:center;width:31px;height:31px;font-size:1.6875rem;display:flex}.mini-project>div{flex-direction:column;gap:4px;display:flex}.mini-project b{font-size:.625rem;font-weight:500}.mini-project div span{color:#7e8775;font-size:.5rem}.progress-track{background:#dde3d5;border-radius:5px;width:50px;height:4px;margin-left:auto;display:block}.progress-track i{background:#7f9569;border-radius:5px;width:60%;height:100%;display:block}.mini-task-head{color:#6f7864;justify-content:space-between;margin:17px 0 9px;font-size:.5625rem;display:flex}.mini-task{color:#5b6650;text-align:left;background:0 0;align-items:center;gap:8px;width:100%;padding:6px 0;font-size:.5625rem;display:flex}.mini-task.done span{color:#99a28f;text-decoration:line-through}.mini-task:enabled:hover{color:#142b04}.hue-app{color:#38313e;background:#f7f5fa;min-height:246px;padding:20px 20px 17px}.hue-top,.tempo-top{justify-content:space-between;align-items:center;display:flex}.hue-top b,.tempo-top b{letter-spacing:-.7px;font-size:1.125rem;font-weight:550}.hue-top b span{vertical-align:middle;font-size:1.25rem}.hue-top>span,.tempo-top>span{color:#7d7782;font-size:.5rem}.hue-heading{margin:23px 0 17px}.hue-heading>span{letter-spacing:1.4px;color:#8b8196;font-size:.4375rem}.hue-heading h3{letter-spacing:-.7px;margin-top:6px;font-size:1.25rem;font-weight:500}.swatches{border-radius:7px;height:105px;display:flex;overflow:hidden}.swatches button{text-align:left;flex-direction:column;flex:1;justify-content:space-between;min-width:0;padding:9px 7px;font-size:.5rem;display:flex}.swatches button b{font-size:.4375rem;font-weight:500}.swatches button:enabled:hover{flex:1.3}.hue-bottom{color:#8b8196;justify-content:space-between;align-items:center;gap:8px;margin-top:15px;font-size:.4375rem;display:flex}.hue-bottom>span:last-child{color:#4b4055}.tempo-app{color:#4b3c2b;background:#f8f4ee;min-height:253px;padding:20px}.timer-modes{justify-content:center;gap:5px;margin-top:23px;display:flex}.timer-modes button{color:#948574;background:0 0;border-radius:20px;padding:6px 11px;font-size:.5rem}.timer-modes button.active{color:#5e4b33;background:#e9ddcd}.timer{text-align:center;margin-top:13px}.timer>span{letter-spacing:-3px;font-variant-numeric:tabular-nums;font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif;font-size:4rem;font-weight:450;line-height:1.2;display:block}.timer em{color:#b2a28b;font-style:normal}.timer small{color:#a0907b;font-size:.5rem}.timer-controls{justify-content:center;align-items:center;gap:10px;margin-top:15px;display:flex}.timer-play{color:#fff;background:#5b6045;border-radius:20px;justify-content:center;align-items:center;gap:7px;padding:9px 17px;font-size:.5625rem;display:flex}.tempo-bottom{color:#a19481;border-top:1px solid #e5ddcf;justify-content:space-between;gap:10px;margin-top:22px;padding-top:12px;font-size:.4375rem;display:flex}.tempo-bottom>span:first-child{align-items:center;gap:5px;display:flex}.tempo-bottom>span:last-child{letter-spacing:1px;font-size:.375rem}.project-dialog{border:1px solid var(--line);background:var(--surface);width:calc(100% - 32px);max-width:780px;max-height:90dvh;color:var(--text);border-radius:26px;padding:30px;overflow:auto;box-shadow:0 30px 100px #0005}.project-dialog::backdrop{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#050705ba}.dialog-top{justify-content:space-between;align-items:center;gap:15px;display:flex}.project-dialog h2{letter-spacing:-1.5px;margin-top:8px;font-size:2.625rem}.project-dialog>p{color:var(--muted);max-width:600px;margin-top:12px;font-size:.9375rem}.dialog-demo{background:#bdcbb1;border-radius:18px;margin-top:25px;padding:28px}.dialog-demo.purple{background:#c4b8d2}.dialog-demo.orange{background:#d9bd9e}.dialog-demo .mini-app{min-height:330px}.dialog-demo .mini-main{padding:22px 30px}.dialog-demo .mini-main h3{font-size:1.75rem}.dialog-demo .mini-top,.dialog-demo .mini-nav,.dialog-demo .mini-task,.dialog-demo .mini-task-head,.dialog-demo .mini-tabs{font-size:.75rem}.dialog-demo .mini-project b{font-size:.8125rem}.dialog-demo .mini-project div span,.dialog-demo .mini-sidebar-bottom{font-size:.6875rem}.dialog-demo .mini-task{padding:9px 0}.dialog-demo .hue-app,.dialog-demo .tempo-app{padding:25px}.dialog-demo .hue-top>span,.dialog-demo .tempo-top>span,.dialog-demo .hue-heading>span,.dialog-demo .hue-bottom,.dialog-demo .timer small,.dialog-demo .tempo-bottom{font-size:.75rem}.dialog-demo .hue-heading h3{font-size:1.875rem}.dialog-demo .swatches{height:145px}.dialog-demo .swatches button,.dialog-demo .swatches button b{font-size:.75rem}.dialog-demo .timer-modes button,.dialog-demo .timer-play{font-size:.8125rem}.dialog-demo .timer>span{font-size:5.125rem}.dialog-demo .timer small{margin-top:8px;display:block}.dialog-demo .tempo-bottom{margin-top:30px}.dialog-demo .tempo-bottom>span:last-child{font-size:.625rem}.dialog-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;font-size:.75rem;display:flex}.task-form{gap:8px;margin-top:15px;display:flex}.task-form input{color:#34412b;background:#fff;border:1px solid #d8e0ce;border-radius:8px;width:100%;min-width:0;padding:10px;font-size:.8125rem}.task-form .icon-button{color:#34412b;background:#e4eadc;border-color:#d8e0ce;flex-shrink:0}.demo-button{color:#4d385c;background:#e5ddeb;border-radius:20px;align-items:center;gap:7px;padding:9px 13px;font-size:.75rem;display:flex}.timer-controls .icon-button{color:#5e4b33;background:#e9ddcd;border-color:#dfd2bf}html,body,#root{height:100%;overflow:hidden}html{scroll-behavior:auto}body{margin:0}.single-screen{height:100vh;background:var(--bg);grid-template-rows:88px minmax(0,1fr) 267px;height:100dvh;padding:0 4.5vw;display:grid;overflow:hidden}.compact-header{align-items:center;gap:29px;min-width:0;display:flex}.wordmark{letter-spacing:-2px;align-items:center;gap:5px;font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif;font-size:2rem;font-weight:800;display:inline-flex}.wordmark span{color:var(--accent);letter-spacing:0;font-size:1.625rem;line-height:1;display:block}.header-name{letter-spacing:1.6px;color:var(--muted);font-size:.625rem}.header-name>span{opacity:.5;padding:0 9px}.header-actions{align-items:center;gap:22px;margin-left:auto;display:flex}.header-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.6875rem}.icon-button{border:1px solid var(--line);background:var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.icon-button:hover{background:var(--color-surface-hover);color:var(--accent);border-color:var(--color-border-strong)}.overview{scrollbar-width:thin;scrollbar-color:var(--line) transparent;grid-template-columns:1fr 1.08fr;align-items:center;gap:6vw;min-height:0;padding:15px 0 28px;display:grid;overflow:auto}.intro{max-width:580px}.eyebrow{color:var(--muted);letter-spacing:1.8px;font-size:.625rem;font-weight:550}.intro h1{letter-spacing:-2.5px;white-space:nowrap;margin-top:21px;font-size:clamp(2.125rem,4.1vw,4.375rem);font-weight:500;line-height:1.16}.intro h1>span{color:var(--muted)}.intro>p{color:var(--muted);text-wrap:pretty;max-width:425px;margin-top:25px;font-size:clamp(.875rem,1.08vw,1.0625rem);line-height:1.8}.current-work{color:var(--muted);align-items:center;gap:9px;margin-top:25px;font-size:.75rem;display:flex}.current-work img{border-radius:6px;width:22px;height:22px}.current-work b{color:var(--text);font-weight:500}.intro-links{flex-wrap:wrap;align-items:center;gap:9px;margin-top:26px;display:flex}.button{border:1px solid var(--line);background:var(--surface-2);border-radius:40px;justify-content:center;align-items:center;gap:18px;padding:13px 20px;font-size:.8125rem;font-weight:550;display:inline-flex}.button.primary{background:var(--button);color:var(--button-text)}.button:hover{background:var(--color-accent-surface);border-color:var(--color-accent-surface);color:var(--color-on-accent);transform:translateY(-2px)}.resume-link{color:var(--muted);align-items:center;gap:8px;margin-left:8px;font-size:.75rem;display:flex}.work-masonry{align-self:center;width:100%;min-width:0;max-width:700px;margin-left:auto}.work-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;display:flex}.work-heading h2{color:var(--muted);font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif;font-size:.75rem;font-weight:400}.work-heading>span{letter-spacing:1.3px;color:var(--muted);font-size:.5625rem}.masonry-columns{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.masonry-column{flex-direction:column;gap:14px;min-width:0;display:flex}.masonry-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;position:relative;overflow:hidden;box-shadow:0 5px 18px #0000000a}.masonry-preview{background:#b9c8ac;height:145px;padding:24px 20px 0;position:relative;overflow:hidden}.masonry-card.folio .masonry-preview{height:224px;padding:25px 15px 0}.masonry-card.hue .masonry-preview{background:#c4bad1}.masonry-card.tempo .masonry-preview{background:#d6bfa4;height:168px;padding-top:18px}.masonry-preview .mini-app{transform-origin:0 0;pointer-events:none;width:390px;transition:transform .4s;transform:scale(.7)rotate(-3deg)}.masonry-card.folio .mini-app{width:360px;transform:scale(.77)rotate(-3deg)}.masonry-card.tempo .mini-app{transform:scale(.69)rotate(3deg)}.masonry-card:hover .mini-app{transform:scale(.72)rotate(0)}.masonry-card.folio:hover .mini-app{transform:scale(.8)rotate(0)}.masonry-caption{justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;display:flex}.masonry-caption h3{letter-spacing:-.5px;font-size:1rem;font-weight:550}.masonry-caption p{color:var(--muted);margin-top:3px;font-size:.625rem}.project-arrow{border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:background .2s;display:flex}.masonry-card:hover .project-arrow{background:var(--button);color:var(--button-text)}.project-open{background:0 0;border-radius:18px;width:100%;height:100%;position:absolute;inset:0}.project-open:focus-visible{outline-offset:-5px}.project-note{border:1px dashed var(--line);border-radius:17px;grid-template-columns:27px 1fr;align-items:center;gap:9px 12px;min-height:116px;padding:19px;display:grid}.project-note>span:first-child{color:var(--accent);font-size:2rem}.project-note p{color:var(--muted);font-size:.8125rem;line-height:1.5}.note-label{color:var(--muted);letter-spacing:1.15px;opacity:.75;grid-column:1/-1;margin-top:5px;font-size:.5rem}.timeline{border-top:1px solid var(--line);flex-direction:column;min-height:0;padding-top:16px;display:flex;position:relative}.timeline-heading{flex-shrink:0;align-items:center;gap:25px;height:18px;margin-bottom:12px;display:flex}.timeline-heading h2{letter-spacing:.1px;font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif;font-size:.75rem;font-weight:500}.timeline-key{color:var(--muted);gap:15px;font-size:.625rem;display:flex}.timeline-key>span{align-items:center;gap:6px;display:flex}.timeline-key i{border-radius:50%;width:5px;height:5px;display:block}.key-education{background:#94a986}.key-work{background:#8497b3}.timeline-hint{color:var(--muted);margin-left:auto;font-size:.625rem}.timeline-viewport{scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior-x:contain;outline-offset:-2px;flex:1;overflow:auto hidden}.timeline-canvas{min-width:1080px;height:213px;margin-left:18px;margin-right:22px;position:relative}.year-guides{pointer-events:none;position:absolute;inset:0 0 42px}.year-guides>span{border-left:1px dashed var(--line);opacity:.6;position:absolute;top:0;bottom:0}.timeline-tracks{position:absolute;inset:0 0 42px}.timeline-item{text-align:left;--track:#8da9c9;min-width:0;height:49px;color:var(--track);z-index:1;background:0 0;padding:0;position:absolute}.timeline-item.sage{--track:#a0b08f}.timeline-item.sand{--track:#bda582}.timeline-item.violet{--track:#b09bc9}.timeline-item .timeline-label{white-space:nowrap;transform-origin:0;align-items:center;gap:9px;transition:transform .25s;display:flex;position:absolute;top:2px;left:0}.timeline-label img{object-fit:contain;background:#fff;border:1px solid #ffffff18;border-radius:8px;flex-shrink:0;width:29px;height:29px}.education .timeline-label img{padding:3px}.timeline-label>span:not(.current-badge){flex-direction:column;gap:4px;display:flex}.timeline-label b{color:var(--text);font-size:.75rem;font-weight:500}.timeline-label small{color:var(--muted);font-size:.5625rem}.timeline-item:hover .timeline-label,.timeline-item:focus-visible .timeline-label{filter:drop-shadow(0 3px 9px var(--bg));transform:translateY(-3px)}.timeline-item:hover .duration-line{height:3px}.current-badge{background:var(--surface-2);color:var(--muted);border-radius:20px;margin-left:2px;padding:4px 7px;font-size:.5rem}.duration-line{background:var(--track);opacity:.8;height:1.5px;transition:height .2s;position:absolute;top:42px;left:0;right:0}.duration-line>i{background:var(--track);border-radius:50%;width:5px;height:5px;position:absolute;top:50%;transform:translateY(-50%)}.duration-line>i:first-child{left:0}.duration-line>i:last-child{right:0}.education .duration-line{background:linear-gradient(to right,transparent,var(--track) 10%,var(--track))}.education .duration-line>i:first-child{background:var(--bg);border:1px solid var(--track)}.today-line{pointer-events:none;border-left:1px solid var(--accent);opacity:.4;position:absolute;top:1px;bottom:47px}.today-line>span{color:var(--accent);letter-spacing:1px;font-size:.5rem;position:absolute;top:3px;right:5px}.ruler{border-top:1px solid var(--line);height:41px;position:absolute;bottom:0;left:0;right:0}.ruler-tick{position:absolute;top:0}.ruler-tick i{background:var(--line);width:1px;height:5px;display:block}.ruler-tick.quarter i{background:var(--color-border-strong);opacity:1;height:10px}.ruler-tick.year i{background:var(--color-border-strong);opacity:1;height:15px}.ruler-tick b{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.625rem;font-weight:500;position:absolute;top:22px;transform:translate(-50%)}.ruler-tick small{color:var(--color-text-tertiary);opacity:1;font-size:.4375rem;position:absolute;top:18px;transform:translate(-50%)}.timeline-scroll-controls{gap:5px;margin-left:auto;display:none}.timeline-scroll-controls button{background:var(--surface);border:1px solid var(--line);border-radius:7px;justify-content:center;align-items:center;width:28px;height:26px;display:flex}.career-dialog{max-width:570px}.career-logo{object-fit:contain;background:#fff;border-radius:17px;width:66px;height:66px;margin-top:25px;padding:7px}.career-dialog h2{font-size:1.875rem}.career-dialog h3{color:var(--muted);margin-top:8px;font-size:1rem;font-weight:450}.career-dialog .text-link{margin-top:25px}.text-link{align-items:center;gap:10px;font-size:.875rem;display:inline-flex}.tags{flex-wrap:wrap;gap:7px;display:flex}.tags>span{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:8px;padding:6px 10px;font-size:.6875rem}.accent{color:var(--accent)}.skip-link{z-index:10;background:var(--button);color:var(--button-text);border-radius:10px;padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:16px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.dialog-demo .mini-task,.dialog-demo .timer-modes button,.dialog-demo .timer-play,.demo-button{min-height:44px}::view-transition-old(root){animation:.25s fade-out}::view-transition-new(root){animation:.4s fade-in}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}@media (min-width:1600px){.single-screen{grid-template-rows:106px minmax(0,1fr) 300px;padding:0 5vw}.overview{gap:8vw}.timeline{padding-top:24px}.timeline-heading{margin-bottom:18px}.timeline-canvas{height:229px}.timeline-tracks{top:8px}.timeline-label img{width:33px;height:33px}.timeline-label b{font-size:.875rem}.timeline-label small{font-size:.6875rem}.timeline-heading h2{font-size:.875rem}.masonry-preview{height:180px}.masonry-card.folio .masonry-preview{height:280px}.masonry-card.tempo .masonry-preview{height:201px}.masonry-preview .mini-app{transform:scale(.88)rotate(-3deg)}.masonry-card.folio .mini-app{transform:scale(.96)rotate(-3deg)}.masonry-card.tempo .mini-app{transform:scale(.85)rotate(3deg)}.masonry-caption{padding:19px}.masonry-caption h3{font-size:1.125rem}.project-note{min-height:140px}}@media (max-height:950px) and (min-width:801px){.single-screen{grid-template-rows:65px minmax(0,1fr) 235px}.overview{gap:5vw;padding:6px 0 20px}.intro h1{margin-top:13px;font-size:clamp(2rem,3.7vw,3.4375rem)}.intro>p{max-width:395px;margin-top:17px;font-size:.875rem;line-height:1.65}.current-work{margin-top:15px}.intro-links{margin-top:19px}.timeline{padding-top:12px}.timeline-heading{margin-bottom:9px}.timeline-canvas{height:192px}.timeline-item{height:44px;transform:translateY(calc(var(--lane,0)*-7px))}.timeline-tracks{transform-origin:top;transform:scaleY(.9)}.timeline-label{transform-origin:0;transform:scaleY(1.1)}.masonry-card.folio .masonry-preview{height:166px}.masonry-preview{height:100px;padding-top:16px}.masonry-card.tempo .masonry-preview{height:111px}.masonry-caption{padding:11px 14px}.masonry-caption h3{font-size:.875rem}.masonry-caption p{font-size:.5625rem}.masonry-column.offset{padding-top:14px}.project-note{min-height:86px;padding:12px}.project-note p{font-size:.6875rem}.note-label{font-size:.4375rem}.work-heading{margin-bottom:10px}}@media (max-width:1190px){.single-screen{padding:0 3vw}.overview{gap:4vw}.intro h1{font-size:clamp(2rem,4.2vw,3.1875rem)}.intro>p{font-size:.875rem}.timeline-hint{display:none}.timeline-scroll-controls{display:flex}.header-name{letter-spacing:1px;font-size:.5625rem}.masonry-preview .mini-app{transform:scale(.6)rotate(-3deg)}.masonry-card.folio .mini-app{transform:scale(.68)rotate(-3deg)}.masonry-card.tempo .mini-app{transform:scale(.6)rotate(3deg)}.project-note{padding:13px}.project-note p{font-size:.6875rem}.note-label{font-size:.4375rem}}@media (max-width:800px){.single-screen{grid-template-rows:67px minmax(0,1fr) 222px;padding:0 22px}.header-name{display:none}.header-time{font-size:.625rem}.header-actions{gap:14px}.wordmark{font-size:1.75rem}.wordmark span{font-size:1.4375rem}.overview{overscroll-behavior:contain;padding:12px 3px 26px;display:block;overflow-y:auto}.intro h1{letter-spacing:-1.6px;margin-top:14px;font-size:clamp(2.125rem,6.4vw,3.0625rem)}.intro>p{max-width:480px;margin-top:18px;font-size:.875rem}.current-work{margin-top:16px}.intro-links{margin-top:19px}.work-masonry{max-width:580px;margin-top:30px;margin-left:0;margin-right:auto}.masonry-card.folio .masonry-preview{height:200px}.masonry-preview{height:130px}.masonry-card.tempo .masonry-preview{height:151px}.timeline{padding-top:10px}.timeline-heading{gap:13px;margin-bottom:8px}.timeline-heading h2{font-size:.6875rem}.timeline-key{gap:9px;font-size:.5rem}.timeline-canvas{min-width:1080px;height:187px;margin-left:5px}.timeline-tracks{transform-origin:top;transform:scaleY(.85)}.timeline-label{transform-origin:0;transform:scaleY(1.17)}.timeline-label b{font-size:.75rem}.timeline-label small{font-size:.625rem}.timeline-label img{width:28px;height:28px}.timeline-item:hover .timeline-label{transform:scaleY(1.17)}.ruler{height:39px}.timeline-scroll-controls{gap:4px}.timeline-scroll-controls button{width:25px;height:24px}.project-dialog{max-height:92dvh;padding:21px}.dialog-demo{padding:12px}.dialog-demo .mini-sidebar{display:none}.dialog-demo .mini-main{padding:20px}.dialog-demo .hue-app,.dialog-demo .tempo-app{padding:16px}.dialog-demo .hue-heading h3{font-size:1.5rem}.dialog-demo .hue-top>span,.dialog-demo .tempo-top>span{font-size:.5625rem}.dialog-demo .swatches button{padding:10px 4px}.dialog-demo .swatches button b{font-size:.5625rem}.dialog-demo .hue-bottom{flex-wrap:wrap;gap:16px}.dialog-demo .timer-modes button{padding:8px;font-size:.6875rem}.dialog-demo .tempo-bottom>span:last-child{display:none}.dialog-top .eyebrow{max-width:220px}.dialog-demo .mini-project b{font-size:.6875rem}.dialog-demo .mini-project div span{font-size:.5625rem}.career-dialog h2{font-size:1.625rem}}@media (max-width:440px){.single-screen{padding:0 18px}.intro h1{letter-spacing:-1.6px;font-size:2.1875rem}.intro>p{font-size:.875rem}.intro-links{gap:7px}.intro-links .icon-button{width:36px;height:36px}.resume-link{margin-left:3px;font-size:.6875rem}.masonry-columns,.masonry-column{gap:10px}.masonry-preview{height:105px;padding:15px 9px 0}.masonry-card.folio .masonry-preview{height:173px;padding:20px 9px 0}.masonry-card.tempo .masonry-preview{height:118px;padding:12px 9px 0}.masonry-preview .mini-app{transform:scale(.42)rotate(-3deg)}.masonry-card.folio .mini-app{transform:scale(.5)rotate(-3deg)}.masonry-card.tempo .mini-app{transform:scale(.44)rotate(3deg)}.masonry-caption{padding:11px}.masonry-caption h3{font-size:.875rem}.masonry-caption p{font-size:.5625rem}.masonry-caption p span{display:none}.project-arrow{width:24px;height:24px}.project-note{grid-template-columns:1fr;gap:6px;min-height:115px;padding:12px}.project-note>span:first-child{font-size:1.4375rem}.project-note p{font-size:.6875rem}.note-label{font-size:.375rem}.timeline-key{display:none}.timeline-heading h2{font-size:.6875rem}.header-time{font-size:.625rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}::view-transition-group(root){animation:none}}.single-screen{grid-template-columns:minmax(0,1fr)}.overview,.timeline,.timeline-viewport{min-width:0}.overview{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}@media (min-width:801px){.timeline-canvas{min-width:0}.timeline-scroll-controls{display:none}}@media (min-width:801px) and (max-width:1050px){.timeline-label{gap:6px}.timeline-label img{width:25px;height:25px}.timeline-label b{font-size:.6875rem}.timeline-label small{font-size:.5rem}}:root{--page-gutter:4.5vw}.single-screen{padding-inline:var(--page-gutter);grid-template-rows:80px minmax(0,1fr) 240px}.intro h1{text-transform:uppercase;letter-spacing:-1.9px;margin-top:0;font-size:clamp(1.875rem,3.35vw,3.75rem);font-weight:800;line-height:1.13}.intro>p{font-size:.9375rem;line-height:1.75}.button,button,.resume-link,.text-link{text-transform:uppercase;letter-spacing:.65px;font-weight:750}.button{padding:14px 22px;font-size:.75rem}.resume-link{font-size:.6875rem}.wordmark{font-weight:800}.header-time,.current-work{text-transform:uppercase;letter-spacing:1px;font-size:.625rem;font-weight:600}.current-work b{font-weight:750}.overview{padding-bottom:24px}.work-masonry{max-width:700px}.masonry-columns,.masonry-column{gap:15px}.masonry-column.offset{padding-top:20px}.masonry-card{background:0 0;border:0;border-radius:18px}.masonry-preview{height:150px;padding-top:24px}.masonry-card.folio .masonry-preview{height:250px;padding-top:30px}.masonry-card.tempo .masonry-preview{height:155px;padding-top:10px}.masonry-card.index .masonry-preview{background:#aebfc9;height:205px;padding:25px 15px 0}.masonry-card.metric .masonry-preview{background:#cbb5b3;height:175px;padding:18px 18px 0}.masonry-card .mini-app{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.masonry-caption{color:#fff;opacity:0;z-index:2;pointer-events:none;background:linear-gradient(#0000,#0d110f9e 48%,#0d110ff5);padding:55px 18px 19px;transition:opacity .25s,transform .25s;position:absolute;bottom:0;left:0;right:0;transform:translateY(10px)}.masonry-caption h3{text-transform:uppercase;letter-spacing:.3px;font-size:1.125rem;font-weight:800}.masonry-caption p{color:#d2d5d0;text-transform:uppercase;letter-spacing:.65px;font-size:.625rem;font-weight:600}.masonry-caption p span{opacity:.8}.masonry-caption .project-arrow{color:#fff;border-color:#ffffff40}.masonry-card:hover .masonry-caption,.masonry-card:focus-within .masonry-caption{opacity:1;transform:translateY(0)}.project-open{z-index:3}.masonry-card:hover .project-arrow{color:#fff;background:#ffffff20}.timeline{width:100vw;margin-left:calc(-1 * var(--page-gutter));border:0;padding-top:8px;overflow:hidden}.timeline-canvas{height:220px;margin:0 20px}.timeline-tracks{top:5px;transform:none}.timeline-item{isolation:isolate;--tint:73,130,214;--track:#81a9df;background:linear-gradient(90deg,rgba(var(--tint),.19),rgba(var(--tint),.13) 45%,rgba(var(--tint),.085) 80%,rgba(var(--tint),.07) 100%);border-radius:9px 0 0 9px;height:48px;transition:background .25s;transform:none}.timeline-item:before{content:"";border-radius:inherit;z-index:-1;background:radial-gradient(ellipse at 0% 50%,rgba(var(--tint),.17),transparent 75%);opacity:.7;transition:opacity .25s;position:absolute;inset:0}.timeline-item.sage{--tint:93,132,94;--track:#8da583}.timeline-item.silver{--tint:126,147,168;--track:#90a3b8}.timeline-item.red{--tint:202,67,46;--track:#c67663}.timeline-item.violet{--tint:113,78,180;--track:#ac8ed3}.timeline-label{padding:7px 9px;filter:none!important;gap:8px!important;top:0!important;transform:none!important}.timeline-label img{border:0;box-shadow:0 2px 9px #00000016;width:29px!important;height:29px!important}.timeline-label b{text-transform:uppercase;letter-spacing:.4px;font-weight:800;font-size:.6875rem!important}.timeline-label small{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600;font-size:.5rem!important}.current-badge{letter-spacing:.6px;background:rgba(var(--tint),.13);font-size:.4375rem}.year-guides>span{opacity:.3}.ruler{border-top:0}.ruler-tick.year b{letter-spacing:.5px;font-weight:700}.ruler-tick:first-child b{transform:none}.ruler-tick:last-child b{transform:translate(-100%)}.timeline-scroll-controls{z-index:5;position:absolute;top:0;right:15px}.timeline-scroll-controls button{background:var(--bg)}.project-dialog h2,.career-dialog h3{text-transform:uppercase;font-weight:800}.dialog-top .eyebrow,.dialog-foot,.tags{text-transform:uppercase;letter-spacing:.5px;font-weight:650}.project-dialog button{font-weight:650}.mini-app button{letter-spacing:0}.index-app{color:#30404d;background:#f0f4f6;min-height:282px;padding:22px}.index-app .mini-brand{margin:0;font-size:1.25rem}.index-app .mini-brand>span{letter-spacing:1px;margin-left:auto;font-size:.375rem;font-weight:500}.index-app h3{letter-spacing:-1.2px;margin:24px 0 17px;font-size:1.8125rem;font-weight:650}.index-filters{gap:6px;margin-bottom:12px;display:flex}.index-filters button{color:#7d8e9b;background:0 0;border-radius:20px;padding:6px 12px;font-size:.5625rem}.index-filters button.active{color:#334b5d;background:#d8e3e9}.reading-item{border-top:1px solid #dce3e8;align-items:center;gap:11px;padding:13px 0;display:flex}.reading-item>span{color:#5c7786;background:#dce7ec;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.25rem;display:flex}.reading-item>div{flex-direction:column;flex:1;gap:4px;display:flex}.reading-item b{font-size:.625rem;font-weight:600}.reading-item small{color:#8797a3;font-size:.5rem}.index-foot{color:#8797a3;margin-top:14px;font-size:.5rem}.metric-app{color:#593c3c;background:#f7f0ee;min-height:260px;padding:22px}.metric-top{justify-content:space-between;align-items:center;display:flex}.metric-top b{letter-spacing:-.9px;font-size:1.3125rem}.metric-top b>span{vertical-align:top;margin-left:2px;font-size:.625rem}.metric-top>span{letter-spacing:1.3px;color:#ab9290;font-size:.4375rem}.metric-toolbar{color:#9c827f;justify-content:space-between;align-items:center;margin-top:24px;font-size:.625rem;display:flex}.metric-toolbar>div{gap:4px;display:flex}.metric-toolbar button{color:#9c827f;background:0 0;border-radius:15px;padding:5px 9px;font-size:.5rem}.metric-toolbar button.active{color:#65423e;background:#e9d9d5}.metric-stat{align-items:center;gap:13px;margin-top:6px;display:flex}.metric-stat strong{letter-spacing:-1.6px;font-size:2.3125rem;font-weight:600}.metric-stat>span{color:#657e58;background:#e3e7d9;border-radius:12px;padding:4px 7px;font-size:.5625rem}.metric-chart{align-items:flex-end;gap:7px;height:90px;margin-top:16px;display:flex}.metric-chart>span{background:linear-gradient(#a7746b,#ddbbb4);border-radius:4px 4px 0 0;flex:1;transition:height .35s}.metric-bottom{color:#ab9290;letter-spacing:.6px;justify-content:space-between;margin-top:10px;font-size:.4375rem;display:flex}.dialog-demo.blue{background:#aebfc9}.dialog-demo.pink{background:#cbb5b3}.dialog-demo .index-app,.dialog-demo .metric-app{min-height:350px;padding:28px}.dialog-demo .index-filters button,.dialog-demo .metric-toolbar button{min-height:40px;font-size:.75rem}.dialog-demo .reading-item b{font-size:.9375rem}.dialog-demo .reading-item small,.dialog-demo .index-foot,.dialog-demo .metric-bottom{font-size:.75rem}.dialog-demo .metric-chart{height:130px}.dialog-demo .metric-stat strong{font-size:3.25rem}.dialog-demo .metric-toolbar{font-size:.875rem}.dialog-demo .metric-stat>span{font-size:.8125rem}@media (min-width:1600px){:root{--page-gutter:5vw}.single-screen{grid-template-rows:95px minmax(0,1fr) 255px}.intro h1{font-size:clamp(3rem,3.45vw,4.5rem)}.masonry-card.folio .masonry-preview{height:285px}.masonry-card.index .masonry-preview{height:230px}.masonry-preview{height:160px}.masonry-card.tempo .masonry-preview{height:175px}.masonry-card.metric .masonry-preview{height:190px}.timeline-canvas{height:233px}.timeline-tracks{top:13px}}@media (max-width:1190px){:root{--page-gutter:3vw}.intro h1{font-size:clamp(1.8125rem,3.5vw,2.625rem)}.intro>p{font-size:.875rem}.masonry-card.folio .masonry-preview{height:215px}.masonry-card.index .masonry-preview{height:175px}.masonry-preview{height:125px}.masonry-card.tempo .masonry-preview{height:140px}.masonry-card.metric .masonry-preview{height:145px}.timeline-canvas{margin-inline:14px}}@media (max-height:950px) and (min-width:801px){.single-screen{grid-template-rows:65px minmax(0,1fr) 215px}.intro h1{font-size:clamp(1.75rem,3.2vw,3rem)}.masonry-card.folio .masonry-preview{height:201px}.masonry-card.index .masonry-preview{height:165px}.masonry-preview{height:110px}.masonry-card.tempo .masonry-preview{height:125px}.masonry-card.metric .masonry-preview{height:133px}.masonry-columns,.masonry-column{gap:13px}.masonry-column.offset{padding-top:12px}.timeline-canvas{height:202px}.timeline-tracks{transform-origin:top;top:0;transform:scaleY(.91)}.timeline-label{transform-origin:0;transform:scaleY(1.09)!important}.timeline-item{height:47px}}@media (max-width:800px){:root{--page-gutter:22px}.single-screen{grid-template-rows:67px minmax(0,1fr) 215px}.intro h1{white-space:normal;letter-spacing:-1px;font-size:clamp(1.75rem,5.6vw,2.625rem)}.intro>p{font-size:.875rem}.work-masonry{margin-top:27px}.timeline{padding-top:20px}.timeline-canvas{min-width:1080px;height:191px}.timeline-tracks{transform-origin:top;top:0;transform:scaleY(.87)}.timeline-label{transform-origin:0;transform:scaleY(1.14)!important}.timeline-item{height:47px}.timeline-label b{font-size:.6875rem!important}.timeline-label small{font-size:.5625rem!important}.header-time{font-size:.5625rem}.intro-links .button{font-size:.6875rem}.masonry-caption{padding:35px 13px 13px}.masonry-caption h3{font-size:.9375rem}.masonry-caption p{font-size:.5625rem}.masonry-card.folio .masonry-preview{height:220px}.masonry-card.index .masonry-preview{height:180px}}@media (max-width:440px){:root{--page-gutter:18px}.intro h1{letter-spacing:-1.1px;font-size:1.8125rem;line-height:1.18}.intro>p{font-size:.875rem}.current-work{letter-spacing:.6px;font-size:.5rem}.masonry-card.folio .masonry-preview{height:180px}.masonry-card.index .masonry-preview{height:145px}.masonry-preview{height:98px}.masonry-card.tempo .masonry-preview{height:113px}.masonry-card.metric .masonry-preview{height:116px}.masonry-columns,.masonry-column{gap:10px}.masonry-card.index .masonry-preview,.masonry-card.metric .masonry-preview{padding:17px 9px 0}.masonry-card.index .mini-app,.masonry-card.metric .mini-app{transform:scale(.43)rotate(-3deg)}.header-time{font-size:.5rem}.resume-link{font-size:.625rem}.masonry-caption h3{font-size:.8125rem}.masonry-caption p{font-size:.5rem}}@media (hover:none){.masonry-caption{opacity:1;padding-top:35px;transform:none}.masonry-caption .project-arrow{width:24px;height:24px}}.intro h1{letter-spacing:-1.4px;font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif;font-weight:500;line-height:1.16}.button,button,.resume-link,.text-link{letter-spacing:.5px;font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif;font-weight:550}.masonry-caption h3,.project-dialog h2,.career-dialog h3{font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif;font-weight:550}.timeline-label b{font-weight:550}.timeline-label small,.header-time,.current-work,.current-work b,.dialog-top .eyebrow,.dialog-foot,.tags{font-weight:500}.single-screen{isolation:isolate;position:relative}.full-height-guides{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.guide-axis{width:calc(100% - 40px);position:absolute;top:0;bottom:0;left:20px}.guide-axis>span{background:linear-gradient(#0000 0%,#9aa39506 12%,#9aa3951a 48%,#9aa3953d 85%,#9aa39552 100%);width:1px;position:absolute;top:0;bottom:43px}.timeline-row-guides{pointer-events:none;z-index:0;position:absolute;inset:0}.timeline-row-guides>span{background:linear-gradient(90deg,#0000,#9aa39511 4% 96%,#0000);height:1px;position:absolute;left:-20px;right:-20px}.timeline-item .timeline-label{align-items:center;padding-block:0;display:flex;bottom:0;top:0!important;transform:none!important}.timeline-tracks{transform:none!important}.span-end{background:linear-gradient(to bottom,rgba(var(--tint),.22),rgba(var(--tint),.8) 28%,rgba(var(--tint),.8) 72%,rgba(var(--tint),.22));width:1px;box-shadow:1px 0 8px rgba(var(--tint),.08);pointer-events:none;position:absolute;top:0;bottom:0;right:0}@media (max-height:950px) and (min-width:801px){.timeline-canvas{height:202px}.timeline-tracks{top:0}.timeline-item{height:44px}.timeline-row-guides>span{margin-top:-4px}}@media (max-width:800px){.timeline-canvas{height:195px}.timeline-tracks{top:0}.timeline-item{height:42px}.timeline-row-guides>span{margin-top:-6px}.guide-axis{width:1080px;left:14px}.intro h1{letter-spacing:-.8px}}.timeline-item{height:var(--timeline-box-height);border-right:0}.timeline-row-guides>span{margin-top:0}@media (max-height:950px) and (min-width:801px){.timeline{--timeline-row-height:52px;--timeline-box-height:44px}}@media (max-width:800px){.timeline{--timeline-row-height:50px;--timeline-box-height:42px}}.overview.honeycomb{grid-template-columns:minmax(0,1fr) minmax(360px,1.5fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,80px);padding:35px 0;display:grid;overflow:visible}.honeycomb .intro{text-align:center;justify-self:center;min-width:0;max-width:510px}.hero-brand{justify-content:center;align-items:center;margin-bottom:34px;display:inline-flex;position:relative}.hero-brand .wordmark{letter-spacing:-3px;gap:5px;font-size:2.6875rem}.hero-brand .wordmark>span{font-size:1.9375rem}.hero-brand .theme-toggle{width:32px;height:32px;color:var(--muted);view-transition-name:theme-control;background:0 0;border:0;position:absolute;top:-15px;left:calc(100% + 6px)}.hero-brand .theme-toggle:hover{color:var(--accent);background:var(--surface-2)}.honeycomb .intro h1{white-space:nowrap;margin:0;font-size:clamp(1.875rem,3.05vw,3.5625rem);line-height:1.18}.honeycomb .intro>p{max-width:400px;margin:25px auto 0;font-size:.875rem}.honeycomb .current-work,.honeycomb .intro-links{justify-content:center}.honeycomb .intro-links{flex-wrap:wrap;gap:8px}.project-wing{justify-self:center;width:100%;min-width:0;max-width:310px}.project-wing .masonry-card{border-radius:22px;transition:box-shadow .35s;box-shadow:0 15px 45px #0000000c}.wing-left .masonry-card:first-child{margin-right:20px}.wing-left .masonry-card:last-child,.wing-right .masonry-card:nth-child(odd){margin-left:20px}.wing-right .masonry-card:nth-child(2){margin-right:20px}.honeycomb .masonry-card.hue .masonry-preview{height:130px}.honeycomb .masonry-card.metric .masonry-preview{height:165px}.honeycomb .masonry-card.tempo .masonry-preview{height:145px}.guide-axis>span{background:linear-gradient(#0000,#9aa39506 45%,#9aa3951a 100%)}:root[data-theme=light] .guide-axis>span{background:linear-gradient(#0000,#4c574305 45%,#4c574316 100%)}.timeline-row-guides>span{background:linear-gradient(90deg,#0000,#9aa39509 4% 96%,#0000)}:root[data-theme=light] .timeline-row-guides>span{background:linear-gradient(90deg,#0000,#4c574309 4% 96%,#0000)}.timeline{--timeline-row-height:59px;--timeline-box-height:50px}.timeline-canvas{min-width:1200px;height:227px}.timeline-item{background:var(--bg);outline-offset:2px;border:0;transition:filter .3s}.timeline-item:before{background:linear-gradient(90deg,rgba(var(--tint),var(--timeline-tint-start)),rgba(var(--tint),var(--timeline-tint-middle)) 48%,rgba(var(--tint),var(--timeline-tint-end)) 78%,rgba(var(--tint),0) 100%);opacity:1;transition:opacity .3s}.timeline-item:hover:before,.timeline-item:focus-visible:before{opacity:1}.timeline-item:after{content:"";background:var(--bg);border-radius:inherit;pointer-events:none;opacity:0;z-index:0;transition:opacity .3s;position:absolute;inset:0}.timeline-tracks.has-highlight .timeline-item:not(.is-highlighted):after{opacity:.65}@media (hover:hover){.timeline-tracks.has-highlight .timeline-item:not(.is-highlighted):after{opacity:.65}}.timeline-item:hover,.timeline-item:focus-visible{z-index:3}.timeline-item .timeline-label{z-index:1;padding-inline:9px;gap:9px!important}.timeline-label img{width:32px!important;height:32px!important}.timeline-label b{letter-spacing:.25px;align-items:center;gap:7px;font-weight:600;display:flex;font-size:.8125rem!important}.timeline-label small{letter-spacing:.1px;text-transform:none;margin-top:4px;font-weight:450;font-size:.6875rem!important}.degree-label{letter-spacing:0;color:var(--muted);text-transform:none;font-size:.625rem;font-style:normal;font-weight:500}@media (min-width:1600px){.single-screen{grid-template-rows:minmax(0,1fr) 255px}.timeline-canvas{height:239px}.project-wing{max-width:340px}.honeycomb .masonry-card.folio .masonry-preview{height:280px}.honeycomb .masonry-card.index .masonry-preview{height:225px}.honeycomb .masonry-card.hue .masonry-preview{height:160px}.honeycomb .masonry-card.metric .masonry-preview{height:195px}.honeycomb .masonry-card.tempo .masonry-preview{height:175px}.timeline-label b{font-size:.875rem!important}.timeline-label small{font-size:.75rem!important}}@media (max-height:850px) and (min-width:801px){.single-screen{grid-template-rows:minmax(0,1fr) 220px}.overview.honeycomb{padding-block:22px}.hero-brand{margin-bottom:22px}.honeycomb .intro>p{margin-top:16px}.project-wing .masonry-column{gap:15px}.honeycomb .masonry-card.folio .masonry-preview{height:190px}.honeycomb .masonry-card.index .masonry-preview{height:150px}.honeycomb .masonry-card.hue .masonry-preview{height:100px}.honeycomb .masonry-card.metric .masonry-preview{height:130px}.honeycomb .masonry-card.tempo .masonry-preview{height:115px}.timeline{--timeline-row-height:54px;--timeline-box-height:46px}.timeline-canvas{height:207px}}@media (max-width:1250px) and (min-width:801px){.overview.honeycomb{grid-template-columns:minmax(0,1fr) 360px minmax(0,1fr);gap:25px}.honeycomb .intro h1{font-size:2.0625rem}.honeycomb .intro>p{font-size:.8125rem}.honeycomb .intro-links .button{padding:12px 16px;font-size:.625rem}.project-wing .masonry-card{border-radius:18px;margin-inline:0}.wing-left{transform:translateY(-20px)}.wing-right{transform:translateY(20px)}.timeline-scroll-controls{display:flex}}@media (max-width:800px){.single-screen{grid-template-rows:minmax(0,1fr) 224px}.overview.honeycomb{grid-template-columns:1fr 1fr;align-content:start;gap:25px 16px;padding:40px 0 25px;overflow-y:auto}.honeycomb .intro{grid-area:1/1/auto/-1;max-width:480px}.hero-brand{margin-bottom:24px}.honeycomb .intro h1{font-size:clamp(1.75rem,5.7vw,2.6875rem)}.honeycomb .intro>p{margin-top:20px;font-size:.875rem}.honeycomb .intro-links{margin-top:20px}.honeycomb .current-work{margin-top:18px}.project-wing{align-self:start;max-width:330px}.project-wing .masonry-card{border-radius:18px;margin-inline:0}.project-wing .masonry-column{gap:14px}.wing-right{padding-top:25px}.honeycomb .masonry-card.folio .masonry-preview{height:210px}.honeycomb .masonry-card.index .masonry-preview{height:180px}.honeycomb .masonry-card.hue .masonry-preview{height:105px}.honeycomb .masonry-card.metric .masonry-preview{height:140px}.honeycomb .masonry-card.tempo .masonry-preview{height:125px}.timeline{--timeline-row-height:54px;--timeline-box-height:46px;padding-top:16px}.timeline-canvas{height:208px}.timeline-scroll-controls{top:0}.timeline-label b{font-size:.8125rem!important}.timeline-label small{font-size:.6875rem!important}}@media (max-height:650px) and (min-width:801px){.overview.honeycomb{align-items:start;overflow-y:auto}.hero-brand{margin-bottom:14px}.honeycomb .intro h1{font-size:1.8125rem}.honeycomb .intro>p{font-size:.75rem}.honeycomb .current-work{margin-top:10px}.honeycomb .intro-links{margin-top:12px}}.timeline-label{transition:opacity .3s!important}.timeline-tracks.has-highlight .timeline-item:not(.is-highlighted) .timeline-label{opacity:1}@media (hover:hover){.timeline-tracks.has-highlight .timeline-item:not(.is-highlighted) .timeline-label{opacity:1}}.overview.honeycomb{grid-template-columns:minmax(0,1fr) minmax(340px,1.02fr) minmax(0,1fr);gap:clamp(24px,3vw,56px)}.project-wing{max-width:540px}.wing-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:16px;display:grid}.project-wing .masonry-column{gap:16px}.project-wing .masonry-card:nth-child(n){border-radius:16px;margin-inline:0}.wing-left .masonry-column:first-child{transform:translateY(-28px)}.wing-right .masonry-column:last-child{transform:translateY(28px)}.honeycomb .masonry-card .masonry-preview{height:145px;padding:15px 11px 0}.honeycomb .masonry-card.folio .masonry-preview{height:185px}.honeycomb .masonry-card.index .masonry-preview{height:155px}.honeycomb .masonry-card.atlas .masonry-preview,.honeycomb .masonry-card.signal .masonry-preview{height:210px}.honeycomb .masonry-card.form .masonry-preview,.honeycomb .masonry-card.orbit .masonry-preview{height:175px}.honeycomb .masonry-card .mini-app{width:360px;transform:scale(.53)rotate(-3deg)}.honeycomb .masonry-card:nth-child(2n) .mini-app{transform:scale(.53)rotate(3deg)}.honeycomb .masonry-card:hover .mini-app{transform:scale(.55)rotate(0)}.honeycomb .masonry-caption{gap:6px;padding:42px 12px 13px}.honeycomb .masonry-caption h3{font-size:.875rem}.honeycomb .masonry-caption p{letter-spacing:.15px;font-size:.5rem}.honeycomb .masonry-caption p span{display:none}.hero-brand .theme-toggle{width:28px;height:28px;top:0;left:-23px}.timeline-label>span:not(.current-badge){gap:0}.timeline-label b,.timeline-label small{line-height:1.3}.timeline-label small{margin-top:0}.ruler-tick{transition:opacity .25s}.ruler.has-highlight .ruler-tick,.ruler.has-highlight .ruler-tick.in-range{opacity:1}.ruler.has-highlight .ruler-tick.in-range i{background:var(--muted);opacity:1}.ruler.has-highlight .ruler-tick.in-range b,.ruler.has-highlight .ruler-tick.in-range small{color:var(--text);opacity:1}.collection-app{color:#32464b;background:#edf0f2;min-height:340px;padding:24px}.collection-brand{letter-spacing:-.8px;justify-content:space-between;align-items:center;font-size:1.375rem;font-weight:600;display:flex}.collection-brand>span{letter-spacing:1px;font-size:.4375rem;font-weight:400}.collection-app h3{letter-spacing:-1px;margin-top:24px;font-size:1.8125rem;font-weight:500}.collection-app>p{opacity:.6;margin-top:5px;font-size:.625rem}.collection-art{background:#aac1c3;border-radius:10px;place-items:center;height:130px;margin:20px 0;display:grid;position:relative;overflow:hidden}.collection-art>span{z-index:1;color:#f1f1e7;font-size:5.625rem;line-height:1}.collection-art>i{border:1px solid #ffffff50;border-radius:50%;width:140px;height:140px;position:absolute;top:10px;left:-30px}.collection-art>i:last-child{width:210px;height:210px;top:-35px;left:auto;right:-30px}.collection-form{color:#695642;background:#f4eee4}.collection-form .collection-art{background:#cdb89b}.collection-form .collection-art>span{transform:rotate(-30deg)}.collection-grove{color:#495b40;background:#edf1e7}.collection-grove .collection-art{background:#a1b18d}.collection-signal{color:#514261;background:#ece7f3}.collection-signal .collection-art{background:#a390b8}.collection-signal .collection-art>span{color:#47384e}.collection-orbit{color:#785647;background:#f3e9e4}.collection-orbit .collection-art{background:#c69c88}.masonry-card.atlas .masonry-preview{background:#9bb5bb}.masonry-card.form .masonry-preview{background:#cbb89e}.masonry-card.grove .masonry-preview{background:#b2c09e}.masonry-card.signal .masonry-preview{background:#b5a4c7}.masonry-card.orbit .masonry-preview{background:#d1b3a2}.collection-filters{gap:5px;margin-bottom:10px;display:flex}.collection-filters button{color:inherit;background:0 0;border-radius:16px;min-height:28px;padding:6px 10px;font-size:.5625rem}.collection-filters button.active{background:#fff9}.collection-list>button{text-align:left;width:100%;color:inherit;background:0 0;border-top:1px solid #00000010;justify-content:space-between;align-items:center;padding:11px 0;font-size:.6875rem;display:flex}.collection-list small{opacity:.6;text-transform:none;margin-top:3px;font-size:.5625rem;font-weight:400;display:block}.dialog-demo .collection-app{max-width:540px;margin:auto}.dialog-demo .collection-filters button{min-height:40px;font-size:.75rem}.dialog-demo .collection-list>button{min-height:52px;font-size:.875rem}.dialog-demo .collection-list small{font-size:.75rem}@media (min-width:1600px){.honeycomb .masonry-card .mini-app{transform:scale(.64)rotate(-3deg)}.honeycomb .masonry-card:nth-child(2n) .mini-app{transform:scale(.64)rotate(3deg)}.honeycomb .masonry-card:hover .mini-app{transform:scale(.67)rotate(0)}.honeycomb .masonry-card .masonry-preview{height:175px}.honeycomb .masonry-card.folio .masonry-preview{height:210px}.honeycomb .masonry-card.index .masonry-preview{height:180px}.honeycomb .masonry-card.atlas .masonry-preview,.honeycomb .masonry-card.signal .masonry-preview{height:250px}.honeycomb .masonry-card.form .masonry-preview,.honeycomb .masonry-card.orbit .masonry-preview{height:205px}}@media (max-width:1250px) and (min-width:801px){.overview.honeycomb{grid-template-columns:minmax(0,1fr) 340px minmax(0,1fr);gap:20px}.wing-columns,.project-wing .masonry-column{gap:10px}.wing-left,.wing-right{transform:none}.honeycomb .masonry-card .mini-app{transform:scale(.4)rotate(-3deg)}.honeycomb .masonry-card:nth-child(2n) .mini-app{transform:scale(.4)rotate(3deg)}.honeycomb .masonry-card:hover .mini-app{transform:scale(.42)rotate(0)}.honeycomb .masonry-card .masonry-preview{padding-inline:8px}.honeycomb .intro h1{font-size:1.9375rem}}@media (max-height:850px) and (min-width:801px){.honeycomb .masonry-card .masonry-preview{height:110px}.honeycomb .masonry-card.folio .masonry-preview{height:150px}.honeycomb .masonry-card.index .masonry-preview{height:120px}.honeycomb .masonry-card.atlas .masonry-preview,.honeycomb .masonry-card.signal .masonry-preview{height:170px}.honeycomb .masonry-card.form .masonry-preview,.honeycomb .masonry-card.orbit .masonry-preview{height:135px}}@media (max-width:800px){.overview.honeycomb{grid-template-columns:1fr;gap:32px}.project-wing{grid-column:1;max-width:540px;padding-top:0}.wing-columns,.project-wing .masonry-column{gap:14px}.wing-left .masonry-column:first-child,.wing-right .masonry-column:last-child{padding-top:30px;transform:none}.honeycomb .masonry-card .masonry-preview{height:135px}.honeycomb .masonry-card.folio .masonry-preview{height:195px}.honeycomb .masonry-card.index .masonry-preview{height:160px}.honeycomb .masonry-card.atlas .masonry-preview,.honeycomb .masonry-card.signal .masonry-preview{height:225px}.honeycomb .masonry-card.form .masonry-preview,.honeycomb .masonry-card.orbit .masonry-preview{height:190px}.honeycomb .masonry-card .mini-app{transform:scale(.53)rotate(-3deg)}.honeycomb .masonry-card:nth-child(2n) .mini-app{transform:scale(.53)rotate(3deg)}}.timeline{--ruler-height:43px}.ruler{height:var(--ruler-height)}.ruler-tick b{font-size:.75rem;top:22px}.ruler-tick small{font-size:.5625rem;top:20px}.timeline-projections{pointer-events:none;z-index:4;position:absolute;inset:0}.timeline-projection{bottom:var(--ruler-height);clip-path:inset(16px -1px 0 0);opacity:0;border:0;transition:opacity .25s;position:absolute}.timeline-projection:before,.timeline-projection:after{content:"";background:repeating-linear-gradient(to top,var(--color-border-strong) 0 8px,transparent 8px 14px);width:1px;position:absolute;top:0;bottom:0}.timeline-projection:before{left:0}.timeline-projection:after{left:100%;right:auto}.timeline-projection.is-active{opacity:1}@media (min-width:1600px){.ruler-tick b{font-size:.8125rem}.ruler-tick small{font-size:.625rem}}.timeline-item.is-highlighted{z-index:5}.single-screen{--timeline-height:240px;grid-template-rows:36px minmax(0,1fr) var(--timeline-height)}.token-banner{z-index:6;width:100vw;margin-left:calc(-1 * var(--page-gutter));border-bottom:1px solid var(--line);background:var(--surface);height:36px;color:var(--muted);letter-spacing:1.1px;text-transform:uppercase;align-items:center;font-size:.625rem;display:flex;position:relative;overflow:hidden}.token-mock-label{letter-spacing:1px;border-right:1px solid var(--line);flex:none;align-items:center;gap:8px;height:100%;padding:0 18px;font-size:.5rem;font-weight:600;display:flex}.token-mock-label>span{background:var(--accent);border-radius:50%;width:4px;height:4px}.token-marquee-viewport{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000)}.token-marquee-track{width:max-content;animation:42s linear infinite token-scroll;display:flex}.token-marquee-group{flex-shrink:0;align-items:center;gap:0;display:flex}.token-marquee-group>span{white-space:nowrap;align-items:center;gap:26px;padding-right:26px;display:flex}.token-marquee-group i{color:var(--accent);opacity:.75;font-size:.8125rem;font-style:normal}.token-marquee-group strong{color:var(--text);font-weight:550}.marquee-control{width:36px;height:36px;color:var(--muted);border-left:1px solid var(--line);background:0 0;flex:none;place-items:center;display:grid}.marquee-control:hover{color:var(--text);background:var(--surface-2)}.marquee-control:focus-visible{outline-offset:-4px}.token-banner.is-paused .token-marquee-track{animation-play-state:paused}@keyframes token-scroll{to{transform:translate(-50%)}}.project-wing .masonry-card{backface-visibility:hidden;transform-origin:50%;will-change:transform}.project-wing .masonry-card:hover{z-index:2;box-shadow:0 20px 40px #00000018}@media (min-width:1600px){.single-screen{--timeline-height:255px}}@media (max-height:850px) and (min-width:801px){.single-screen{--timeline-height:220px}}@media (max-width:800px){.single-screen{--timeline-height:224px}.token-mock-label{padding-inline:10px;font-size:.4375rem}.token-banner{font-size:.5625rem}.token-marquee-group>span{gap:20px;padding-right:20px}}@media (prefers-reduced-motion:reduce){.token-marquee-track{animation:none}.token-marquee-group:nth-child(2){display:none}.token-marquee-viewport{scrollbar-width:none;overflow-x:auto}.marquee-control{display:none}.project-wing .masonry-card{will-change:auto}}.token-banner{background:linear-gradient(to bottom,color-mix(in srgb,var(--surface-2) 80%,transparent),transparent);color:var(--muted);border:0}.token-banner:hover .token-marquee-track{animation-play-state:paused}.token-marquee-viewport{-webkit-mask-image:linear-gradient(90deg,#0000,#000 35px calc(100% - 35px),#0000);mask-image:linear-gradient(90deg,#0000,#000 35px calc(100% - 35px),#0000)}.project-cursor{z-index:50;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.project-cursor-shape{background:var(--accent);color:var(--button-text);justify-content:center;align-items:center;display:flex;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 4px 15px #00000012}.project-cursor-shape>span{white-space:nowrap;letter-spacing:.6px;text-transform:uppercase;font-size:.625rem;font-weight:600;line-height:1}@media (hover:hover) and (pointer:fine){:root[data-project-cursor] .project-wing,:root[data-project-cursor] .project-wing .project-open{cursor:none}}@media (prefers-reduced-motion:reduce){.project-cursor{display:none}:root[data-project-cursor] .project-wing{cursor:auto}:root[data-project-cursor] .project-wing .project-open{cursor:pointer}}.token-marquee-unit{flex:none;align-items:center;display:flex}.token-marquee-unit>span{white-space:nowrap;align-items:center;gap:26px;padding-right:26px;display:flex}.token-marquee-unit i{color:var(--accent);opacity:.75;font-size:.8125rem;font-style:normal}.token-marquee-unit strong{color:var(--text);font-weight:550}.honeycomb .masonry-card .mini-app,.honeycomb .masonry-card:nth-child(2n) .mini-app,.honeycomb .masonry-card:hover .mini-app{transition:none;transform:scale(.53)!important}.project-wing .masonry-card,.project-wing .masonry-card:hover{box-shadow:none}@media (min-width:1600px){.honeycomb .masonry-card .mini-app,.honeycomb .masonry-card:nth-child(2n) .mini-app,.honeycomb .masonry-card:hover .mini-app{transform:scale(.64)!important}}@media (max-width:1250px) and (min-width:801px){.honeycomb .masonry-card .mini-app,.honeycomb .masonry-card:nth-child(2n) .mini-app,.honeycomb .masonry-card:hover .mini-app{transform:scale(.4)!important}}.projects-trigger{background:0 0;gap:7px;padding:0}.folder-trigger-slot{flex:none;width:25px;height:25px;display:block}.folder-mini{background:var(--surface-2);grid-template-columns:repeat(3,1fr);gap:2px;width:25px;height:25px;padding:4px;display:grid}.folder-mini>span,.folder-mini .project-glyph{border-radius:1px;width:100%;min-width:0;height:100%;font-size:0;display:block}.project-glyph{border-radius:inherit;color:#35412c;background:#c3ceb4;place-items:center;width:100%;height:100%;font-family:Bricolage Grotesque,Bricolage Fallback,Arial,sans-serif;font-size:2.8125rem;font-weight:500;line-height:1;display:grid}.project-glyph.purple{color:#574362;background:#c4b8d2}.project-glyph.orange{color:#715537;background:#d9bd9e}.project-glyph.blue{color:#3b5766;background:#aebfc9}.project-glyph.pink{color:#714b47;background:#cbb5b3}.motion-overlay{z-index:70;overscroll-behavior:contain;background:var(--color-overlay);-webkit-backdrop-filter:blur(14px);justify-content:center;align-items:flex-start;padding:5vh 24px;display:flex;position:fixed;inset:0;overflow-y:auto}.folder-overlay{z-index:60;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);align-items:center;padding:30px}.projects-folder{background:color-mix(in srgb,var(--surface) 65%,transparent);width:min(580px,100%);max-height:calc(100dvh - 60px);padding:24px;overflow-y:auto}.projects-folder>header{justify-content:space-between;align-items:center;margin-bottom:34px;padding:0 6px;display:flex}.projects-folder h2{letter-spacing:-.8px;margin-top:7px;font-size:1.8125rem;font-weight:500}.folder-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:27px 19px;display:grid}.folder-app{flex-direction:column;align-items:center;gap:10px;min-width:0;display:flex}.folder-app-button{background:0 0;width:78px;height:78px;padding:0;display:block;box-shadow:0 10px 24px #00000014}.folder-app-icon,.folder-app-icon>span{border-radius:20px;width:100%;height:100%;display:block}.folder-app-name{color:var(--text);font-size:.75rem}.expanded-project,.expanded-career{background:var(--surface);width:min(780px,100%);color:var(--text);flex:none;min-width:0;position:relative;overflow:hidden;box-shadow:0 25px 100px #0003}.expanded-project-hero{background:#bdcbb1;height:280px;padding:35px 50px 0;overflow:hidden}.expanded-project-hero.purple{background:#c4b8d2}.expanded-project-hero.orange{background:#d9bd9e}.expanded-project-hero.blue{background:#aebfc9}.expanded-project-hero.pink{background:#cbb5b3}.expanded-preview{pointer-events:none}.expanded-preview .mini-app{width:100%;min-height:330px;margin:auto;transform:none}.detail-close{z-index:5;background:var(--surface);position:absolute;top:18px;right:18px;box-shadow:0 2px 10px #0001}.expanded-project-copy{padding:32px}.expanded-project-copy h2{letter-spacing:-1.5px;margin-top:8px;font-size:2.625rem;font-weight:500}.expanded-project-copy>p{color:var(--muted);margin-top:12px;font-size:.9375rem;line-height:1.7}.expanded-career{background:linear-gradient(120deg,rgba(var(--detail-tint,73,130,214),var(--timeline-tint-detail)),transparent 70%),var(--surface);max-width:660px;padding:32px}.expanded-career.sage{--detail-tint:93,132,94}.expanded-career.silver{--detail-tint:126,147,168}.expanded-career.red{--detail-tint:202,67,46}.expanded-career.violet{--detail-tint:113,78,180}.expanded-career h2{letter-spacing:-1px;align-items:center;gap:12px;margin:16px 0 12px;font-size:2.1875rem;font-weight:500;display:flex}.expanded-career h2 .degree-label{letter-spacing:0;font-size:1rem}.expanded-career h3{font-size:1.125rem;font-weight:500}.expanded-career p{color:var(--muted);margin-top:20px;font-size:.9375rem}.expanded-career .text-link{color:var(--muted);align-items:center;gap:8px;margin-top:28px;font-size:.75rem;display:inline-flex}.expanded-career .career-logo{object-fit:contain;background:#fff;border-radius:15px;width:64px;height:64px;margin-top:22px}@media (max-width:800px){.motion-overlay{padding:20px 12px}.folder-overlay{padding:20px}.projects-folder{max-height:calc(100dvh - 40px);padding:18px}.folder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 12px}.folder-app-button{width:70px;height:70px}.projects-folder>header{margin-bottom:28px}.projects-trigger{font-size:.625rem}.expanded-project-hero{height:210px;padding:25px 20px 0}.expanded-project-copy,.expanded-career{padding:23px}.expanded-project-copy h2{font-size:2.125rem}.expanded-career h2{font-size:1.6875rem}.expanded-career h3{font-size:1rem}.expanded-project .dialog-demo{padding:12px}.expanded-project .mini-sidebar{display:none}}.intro-secondary-links{align-items:center;gap:12px;display:inline-flex}.intro-secondary-links .resume-link{margin-left:0}.expanded-project .dialog-demo .mini-app{transform:none}.career-detail-overlay{align-items:safe center}:root{--page-row:calc(100dvh / 20);--grid-color:color-mix(in srgb,var(--muted) 12%,transparent)}.single-screen{grid-template-rows:var(--page-row) minmax(0,1fr) calc(var(--page-row) * 5);--timeline-height:calc(var(--page-row) * 5);height:100dvh}.token-banner{height:var(--page-row)}.timeline{padding-top:var(--page-row);--timeline-row-height:var(--page-row);--timeline-box-height:calc(var(--page-row) * .8);--ruler-height:var(--page-row)}.timeline-tracks{top:0}.timeline-row-guides{display:none}:root .full-height-guides .guide-axis>span{background:var(--grid-color);top:0;bottom:0}.page-row-guides{pointer-events:none;position:absolute;inset:0}.page-row-guides>span{background:var(--grid-color);height:1px;position:absolute;left:0;right:0}.page-row-guides>span:nth-child(n+15){background:color-mix(in srgb,var(--muted) 10%,transparent)}.calendar-layout.overview.honeycomb{width:100vw;margin-left:calc(-1 * var(--page-gutter));grid-template-columns:var(--project-inset) var(--project-width) var(--project-gap) var(--project-width) minmax(0,1fr) var(--project-width) var(--project-gap) var(--project-width) var(--project-end-inset);grid-template-rows:repeat(14,minmax(0,1fr));align-items:stretch;gap:0;padding:0}.calendar-layout .project-wing,.calendar-layout .wing-columns{display:contents}.calendar-layout .project-wing .masonry-column{grid-row:1/-1;grid-template-rows:repeat(14,minmax(0,1fr));align-self:stretch;gap:0;min-width:0;padding:0;display:grid;transform:translate(0,0)}.calendar-layout .wing-left .masonry-column:first-child{grid-column:2}.calendar-layout .wing-left .masonry-column:last-child{grid-column:4}.calendar-layout .wing-right .masonry-column:first-child{grid-column:6}.calendar-layout .wing-right .masonry-column:last-child{grid-column:8}.calendar-layout .project-slot{--preview-scale:.5;grid-row:var(--column-start) / span var(--card-rows);min-width:0;min-height:0;position:relative}.calendar-layout .project-slot:nth-child(2){grid-row:calc(var(--column-start) + var(--card-rows) + 1) / span var(--card-rows)}.calendar-layout .project-slot:nth-child(3){grid-row:calc(var(--column-start) + (var(--card-rows) + 1) * 2) / span var(--card-rows)}.calendar-layout .intro{grid-area:1/5/-1;align-self:center;width:100%;max-width:32rem;height:max-content;padding-inline:1rem;container-type:inline-size}.calendar-layout .intro h1{font-size:clamp(1.5rem,9.7cqw,3.55rem)}.calendar-layout .project-wing .masonry-card{width:100%;height:100%;box-shadow:none;border-radius:.75rem;-webkit-mask-image:none;mask-image:none}.calendar-layout .project-wing .masonry-card:after{content:none}.calendar-layout .project-slot .masonry-card .masonry-preview{aspect-ratio:auto;width:100%;height:100%;max-height:none;padding:0}.calendar-layout .project-slot .masonry-card .mini-app{transform-origin:50%;width:360px;max-width:none;box-shadow:none;border-radius:0;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(var(--preview-scale))!important}.calendar-layout[data-layout=compact].overview.honeycomb{grid-template-columns:var(--project-inset) var(--project-width) var(--project-gap) var(--project-width) var(--project-end-inset);grid-template-rows:calc(var(--intro-rows,12) * var(--page-row)) auto auto;row-gap:var(--page-row);background-color:var(--bg);background-image:linear-gradient(to right,var(--grid-color) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-color) 1px,transparent 1px);background-size:var(--quarter-width) var(--page-row);background-position:var(--quarter-origin) 0,0 0;background-attachment:local;align-content:start;overflow:hidden auto}.calendar-layout[data-layout=compact] .intro{grid-area:1/2/auto/5;max-width:32rem;padding-inline:0}.calendar-layout[data-layout=compact] .intro h1{white-space:normal;font-size:clamp(1.5rem,8.6cqw,2.5rem)}.calendar-layout[data-layout=compact] .wing-left .masonry-column{grid-row:2}.calendar-layout[data-layout=compact] .wing-right .masonry-column{grid-row:3}.calendar-layout[data-layout=compact] .wing-right .masonry-column:first-child{grid-column:2}.calendar-layout[data-layout=compact] .wing-right .masonry-column:last-child{grid-column:4}.calendar-layout[data-layout=compact] .project-wing .masonry-column{grid-template-rows:repeat(14,var(--page-row))}.calendar-layout[data-layout=compact] .project-slot{--card-rows:4;--column-start:1}:root{--grid-edge-fade:clamp(2rem,8vmin,7rem)}.full-height-guides{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--grid-edge-fade),#000 calc(100% - var(--grid-edge-fade)),transparent), linear-gradient(to bottom,transparent,#000 var(--grid-edge-fade),#000 calc(100% - var(--grid-edge-fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--grid-edge-fade),#000 calc(100% - var(--grid-edge-fade)),transparent), linear-gradient(to bottom,transparent,#000 var(--grid-edge-fade),#000 calc(100% - var(--grid-edge-fade)),transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.calendar-layout[data-layout=compact].overview.honeycomb{background-image:linear-gradient(to right,var(--bg),transparent var(--grid-edge-fade),transparent calc(100% - var(--grid-edge-fade)),var(--bg)), linear-gradient(to bottom,var(--bg),transparent var(--grid-edge-fade),transparent calc(100% - var(--grid-edge-fade)),var(--bg)), linear-gradient(to right,var(--grid-color) 1px,transparent 1px), linear-gradient(to bottom,var(--grid-color) 1px,transparent 1px);background-size:100vw 100dvh,100vw 100dvh,var(--quarter-width) var(--page-row),var(--quarter-width) var(--page-row);background-position:0 0,0 0,var(--quarter-origin) 0,0 0;background-attachment:fixed,fixed,local,local}:root{--grid-color:color-mix(in srgb,var(--muted) 4%,transparent);--grid-faint:color-mix(in srgb,var(--muted) 2%,transparent);--grid-timeline:color-mix(in srgb,var(--muted) 11%,transparent)}:root .full-height-guides .guide-axis>span{background:linear-gradient(to bottom, var(--grid-faint) 0%, var(--grid-faint) 45%, var(--grid-color) 65%, var(--grid-timeline) 75%, var(--grid-timeline) 100%)}.calendar-layout[data-layout=compact].overview.honeycomb{background-image:linear-gradient(to right,var(--bg),transparent var(--grid-edge-fade),transparent calc(100% - var(--grid-edge-fade)),var(--bg)), linear-gradient(to bottom,var(--bg),transparent var(--grid-edge-fade),transparent calc(100% - var(--grid-edge-fade)),var(--bg)), linear-gradient(to right,var(--grid-faint) 1px,transparent 1px), linear-gradient(to bottom,var(--grid-color) 1px,transparent 1px)}.overview.honeycomb.home-overview{grid-template-rows:minmax(min-content,1fr);grid-template-columns:minmax(0,1fr);place-items:safe center;gap:0;min-height:0;padding:1.5rem 0;display:grid;overflow:auto}.home-overview .intro{grid-area:1/1;width:100%;max-width:38rem}.home-overview .intro h1{white-space:normal;font-size:clamp(1.8rem,4vw,3.5rem)}.home-overview .intro>p{max-width:28rem}.motion-overlay,.folder-overlay{-webkit-backdrop-filter:none;isolation:isolate;background:0 0}.overlay-backdrop{z-index:-1;pointer-events:none;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(12px);position:fixed;inset:0}.project-detail-overlay .overlay-backdrop{background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:none}.projects-folder{background:var(--surface);will-change:transform}.folder-app-icon,.folder-app-icon>span{border-radius:inherit}.folder-app-button,.folder-mini,.folder-app-icon{transition:none}.folder-app-button:hover{filter:brightness(1.08)}.expanded-project{will-change:transform}.project-detail-header{background:var(--surface-2);align-items:center;gap:20px;padding:32px 72px 24px 32px;display:flex}.detail-project-icon{flex:none;width:64px;height:64px;display:block;overflow:hidden}.detail-project-icon .project-glyph{font-size:2.125rem}.project-detail-header h2{letter-spacing:-1px;font-size:2rem;font-weight:500}.project-detail-header p{color:var(--muted);margin-top:5px;font-size:.75rem}.expanded-project-copy>p{margin-top:0}@media (max-width:600px){.project-detail-header{gap:14px;padding:24px 60px 20px 24px}.detail-project-icon{width:48px;height:48px}.project-detail-header h2{font-size:1.625rem}.project-detail-header p{font-size:.6875rem}.home-overview .intro h1{font-size:clamp(1.6rem,7vw,2.6rem)}}.single-screen{grid-template-rows:var(--page-row) minmax(0,1fr) calc(var(--page-row) * (5 + var(--project-rows)))}.timeline-canvas{height:calc(var(--page-row) * (4 + var(--project-rows)))}.timeline-projects{height:calc(var(--timeline-row-height) * var(--project-card-scale));z-index:6;pointer-events:none;position:absolute;inset:0 0 auto}.timeline-project-stack{pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%)}.timeline-project-thumb{background:var(--surface);width:100%;height:100%;box-shadow:0 0 0 1px var(--line),0 3px 10px #0002;padding:0;display:block;position:relative}.project-thumbnail{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.detail-project-thumbnail{aspect-ratio:1.5;border-radius:9px;flex-shrink:0;width:90px;display:block;overflow:hidden}.timeline-item .timeline-label{max-width:none;overflow:visible}.timeline-label b,.timeline-label small{text-overflow:clip;white-space:nowrap;overflow:visible}.timeline-project-stack{width:calc(var(--timeline-row-height) * 1.5 * var(--project-card-scale));height:calc(var(--timeline-box-height) * var(--project-card-scale));transition:opacity .16s,filter .16s}.timeline-project-stack.is-dimmed{opacity:.35;filter:brightness(.7)}.timeline-project-thumb{z-index:1;border:0;overflow:hidden}.straight-deck-back{box-shadow:0 0 0 1px var(--line),0 3px 8px #0003;pointer-events:none;border-radius:8px;position:absolute;inset:0;overflow:hidden}.straight-deck-back .project-thumbnail{filter:brightness(.8)}.timeline-project-thumb:focus-visible,.folder-project-card:focus-visible{outline:2px solid var(--text);outline-offset:4px}.deck-folder{background:var(--surface);flex-direction:column;width:min(720px,100%);min-height:0;max-height:85dvh;padding:24px;display:flex;overflow:hidden;box-shadow:0 24px 100px #0003}.deck-folder>header{flex:none;justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px;display:flex}.deck-folder h2{letter-spacing:-.5px;font-size:1.375rem}.deck-folder header p{color:var(--muted);margin-top:4px;font-size:.8125rem}.deck-folder-grid{overscroll-behavior:contain;scrollbar-width:thin;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px;min-height:0;padding:5px;display:grid;overflow-y:auto}.deck-folder-cell{text-align:center;min-width:0}.folder-project-card{aspect-ratio:1.5;background:var(--surface-2);width:100%;box-shadow:0 0 0 1px var(--line);padding:0;transition:filter .15s;display:block}.folder-project-card:hover{filter:brightness(1.08)}.deck-folder-cell>span{color:var(--muted);margin-top:9px;font-size:.6875rem;display:block}.timeline-cursor-position{z-index:120;pointer-events:none;position:fixed;top:0;left:0}.timeline-cursor{white-space:nowrap;background:var(--text);color:var(--bg);letter-spacing:.5px;border-radius:30px;align-items:center;gap:9px;padding:10px 13px;font-size:.625rem;font-weight:600;display:flex;box-shadow:0 3px 18px #0002}@media (hover:hover) and (pointer:fine){[data-cursor]{cursor:none}}@media (max-width:600px){.folder-overlay{padding:18px}.deck-folder{max-height:84dvh;padding:18px}.deck-folder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}}.portfolio-shell{width:100%;height:100dvh;overflow:hidden}.portfolio-shell>.single-screen{width:100vw;min-width:0;container-type:inline-size}.portfolio-shell .token-banner,.portfolio-shell .timeline{width:calc(100% + var(--page-gutter) * 2)}.portfolio-shell .home-overview .intro{max-width:52rem}.portfolio-shell .home-overview .intro h1{letter-spacing:-.055em;font-size:clamp(2.25rem,min(5.2vw,8dvh),5.5rem);font-weight:750;line-height:.98}.detail-modal-layer{z-index:40;pointer-events:none;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.detail-modal{background:var(--surface);border:1px solid var(--line);width:min(780px,100%);min-width:0;height:min(760px,88dvh);box-shadow:var(--shadow-dialog);pointer-events:auto;border-radius:28px;flex-direction:column;display:flex;position:relative;overflow:hidden}.panel-back{color:var(--muted);background:0 0;align-items:center;gap:8px;padding:8px 0;font-size:.6875rem;display:flex}.panel-back:hover{color:var(--text)}.detail-modal-pages{isolation:isolate;flex:1;min-height:0;position:relative}.modal-view{overscroll-behavior:contain;scrollbar-width:thin;background:var(--surface);position:absolute;inset:0;overflow:hidden auto}.modal-view[aria-hidden=true]{pointer-events:none}.detail-modal .expanded-project,.detail-modal .expanded-career{width:100%;max-width:none;box-shadow:none;will-change:auto;border-radius:0}.detail-modal .project-detail-header{background:0 0;flex-direction:column;align-items:flex-start;gap:18px;padding:28px 24px;display:flex}.detail-modal .project-detail-header h2{overflow-wrap:anywhere;letter-spacing:-.8px;font-size:clamp(1.5625rem,2.1vw,2.25rem)}.detail-modal .detail-project-thumbnail{aspect-ratio:1.5;border-radius:16px;width:100%}.detail-modal .expanded-project-copy{padding:0 24px 32px}.detail-modal .expanded-project-copy>p{font-size:.875rem;line-height:1.7}.detail-modal .dialog-demo{border-radius:16px;padding:12px}.detail-modal .dialog-demo .mini-sidebar{display:none}.detail-modal .dialog-demo .mini-main{min-width:0;padding:18px}.detail-modal .dialog-demo .mini-app{min-height:0}.detail-modal .dialog-demo .hue-app,.detail-modal .dialog-demo .tempo-app,.detail-modal .dialog-demo .index-app,.detail-modal .dialog-demo .metric-app{padding:16px}.detail-modal .dialog-demo .timer>span{font-size:clamp(2.75rem,5vw,4.5rem)}.detail-modal .dialog-demo .timer-modes{flex-wrap:wrap}.detail-modal .dialog-demo .hue-top,.detail-modal .dialog-demo .tempo-top,.detail-modal .dialog-demo .hue-bottom,.detail-modal .dialog-demo .tempo-bottom{flex-wrap:wrap;gap:8px}.detail-modal .dialog-demo .swatches button,.detail-modal .dialog-demo .swatches button b{padding-inline:4px;font-size:.5625rem}.detail-modal .expanded-career{min-height:100%;padding:28px 24px}.detail-modal .expanded-career h2{flex-wrap:wrap;font-size:1.875rem;line-height:1.15}.detail-modal .expanded-career p{line-height:1.8}.detail-modal .deck-folder{width:100%;height:100%;max-height:none;box-shadow:none;background:0 0;border-radius:0;padding:28px 24px}.detail-modal .deck-folder>header{padding-bottom:28px}.detail-modal .deck-folder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px}@media (min-width:1800px){.detail-modal .deck-folder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.detail-modal-layer{padding:12px}.detail-modal{border-radius:22px;height:calc(100dvh - 24px)}.detail-modal .deck-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-modal .expanded-project-copy,.detail-modal .expanded-career,.detail-modal .deck-folder,.detail-modal .project-detail-header{padding-inline:20px}.detail-modal .project-detail-header h2{font-size:1.875rem}.detail-modal .dialog-demo .timer>span{font-size:4rem}}@media (prefers-reduced-motion:reduce){.portfolio-shell>.single-screen{transition:none}}.modal-view:focus{outline:none}.modal-dismiss-area{z-index:39;background:var(--color-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;border:0;border-radius:0;padding:0;display:block;position:fixed;inset:0}.tilt-card-content{border-radius:inherit;width:100%;height:100%;display:block;overflow:hidden}@media (max-width:700px){.portfolio-shell .home-overview .intro h1{font-size:clamp(2.25rem,8vw,3.6rem)}}.detail-modal .folder-project-card{aspect-ratio:auto;text-align:left;min-height:132px}.folder-card-copy{min-height:132px;color:var(--text);flex-direction:column;gap:10px;padding:18px;display:flex}.folder-card-copy>small{letter-spacing:1px;color:var(--muted);font-size:.5625rem}.folder-card-copy>strong{font-size:1rem;font-weight:650;line-height:1.15}.folder-card-copy>span{color:var(--muted);margin-top:auto;font-size:.6875rem}.portfolio-shell .overview.home-overview{padding-block:10px}.portfolio-shell .home-overview .intro>p{max-width:34rem;margin-top:12px;line-height:1.65}.portfolio-shell .home-overview .current-work{margin-top:10px}.portfolio-shell .home-overview .intro-links{margin-top:12px}.portfolio-shell .home-overview .intro h1{text-transform:none}.modal-view-header{z-index:2;background:var(--surface);flex:none;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 24px 24px;display:flex;position:sticky;top:0}.modal-heading-copy{flex:1;min-width:0}.detail-modal .modal-view-header h2{letter-spacing:-.8px;overflow-wrap:anywhere;text-transform:none;margin:0;font-size:1.75rem;font-weight:650;line-height:1.2;display:block}.modal-view-header h2 button{color:var(--muted);font:inherit;letter-spacing:inherit;text-transform:none;cursor:pointer;background:0 0;padding:0;display:inline}.modal-view-header h2 button:hover{color:var(--accent)}.modal-category,.breadcrumb-slash{color:var(--muted)}.modal-view-header p{color:var(--muted);margin:8px 0 0;font-size:.8125rem;line-height:1.5}.modal-view-header .icon-button{margin-left:auto}.modal-view-header .degree-label{white-space:nowrap;margin-left:10px;font-size:.875rem}.detail-modal .deck-folder{padding:0}.detail-modal .deck-folder>.modal-view-header{align-items:flex-start;padding:28px 24px 24px}.detail-modal .deck-folder-grid{margin:0 19px 24px;padding:5px}.detail-modal .expanded-career{min-height:0;padding-top:0}.detail-modal .expanded-career .career-logo{margin-top:0;margin-bottom:20px}.folder-card-thumbnail{aspect-ratio:1.5;width:100%;display:block;overflow:hidden}.detail-modal .folder-card-copy{min-height:120px;padding:16px}@media (max-width:700px){.modal-view-header,.detail-modal .deck-folder>.modal-view-header{gap:16px;padding:22px 20px}.detail-modal .modal-view-header h2{font-size:1.4375rem}.detail-modal .deck-folder-grid{margin-inline:15px}.detail-modal .folder-card-copy{min-height:116px;padding:12px}.folder-card-copy>strong{font-size:.875rem}}.timeline-grid{inset:0 0 var(--ruler-height);pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--grid-edge-fade),#000 calc(100% - var(--grid-edge-fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--grid-edge-fade),#000 calc(100% - var(--grid-edge-fade)),transparent);position:absolute;overflow:hidden}.timeline-column-guides,.timeline-horizontal-guides{position:absolute;inset:0}.timeline-column-guides>span{background:var(--grid-color);width:1px;position:absolute;top:0;bottom:0}.timeline-column-guides>.year-guide{background:var(--grid-timeline)}.timeline-horizontal-guides>span{background:color-mix(in srgb,var(--muted) 10%,transparent);height:1px;position:absolute;left:0;right:0}.timeline-horizontal-guides>span:last-child{bottom:0;top:auto!important}.timeline-box{--timeline-size-scale:1;--timeline-rendered-height:calc(var(--timeline-box-height) * var(--timeline-size-scale));--timeline-media-inset:calc(var(--timeline-rendered-height) * .09);height:var(--timeline-rendered-height)}.timeline-box-content{padding:var(--timeline-media-inset);align-items:center;gap:9px;display:flex;position:absolute;inset:0}.timeline-box-media{border-radius:6px;flex:none;height:100%;display:block;position:relative}.timeline-box-media>img{border-radius:inherit;object-fit:contain;background:#fff;border:0;width:100%;height:100%;padding:0;display:block}.timeline-box .timeline-label{flex:none;padding:0;display:block;position:static}.timeline-project-box{--timeline-size-scale:var(--project-card-scale);width:100%;box-shadow:none;padding:0;position:relative;overflow:visible}.timeline-box-media .timeline-project-thumb{border-radius:inherit;box-shadow:none;isolation:isolate}.timeline-box-media .straight-deck-back{border-radius:inherit;box-shadow:0 0 0 1px var(--line)}.timeline-box-media .deck-layer-1{translate:6%}.timeline-box-media .deck-layer-2{translate:12%}.timeline-project-box.project-tint-green{--tint:137,155,116}.timeline-project-box.project-tint-purple{--tint:175,152,196}.timeline-project-box.project-tint-orange{--tint:197,160,120}.timeline-project-box.project-tint-blue{--tint:148,178,191}.timeline-project-box.project-tint-pink{--tint:191,151,148}.hero-brand .theme-toggle{width:40px;height:40px;position:static}.hero-brand .theme-toggle svg{width:22px;height:22px}.site-header.hero-brand{width:max-content;top:max(12px,env(safe-area-inset-top));z-index:2;flex-direction:column;align-items:center;gap:0;margin:0;display:flex;position:absolute;left:50%;translate:-50%}.site-header .theme-toggle{width:28px;height:28px}.pekcan-logo-link{width:var(--wordmark-width);border-radius:8px;line-height:0;display:block}.pekcan-logo{--logo-face:var(--text);--logo-halo-opacity:var(--logo-glow-opacity);width:100%;height:auto;display:block;overflow:visible}.pekcan-logo-face{fill:var(--logo-face)}.pekcan-logo-halo{opacity:var(--logo-halo-opacity)}.overview.honeycomb.home-overview{padding-block:4px}.portfolio-shell .home-overview .hero-brand{margin-bottom:8px}.portfolio-shell{--wordmark-width:clamp(150px,min(16vw,24dvh),220px);--brand-height:calc(28px + var(--wordmark-width) * .346)}.portfolio-shell .home-overview{grid-row:2}.portfolio-shell .single-screen>.timeline{grid-row:3}html{font-size:112.5%}.portfolio-shell .home-overview .intro{padding-top:calc(var(--brand-height) - var(--page-row) + 12px)}@media (max-width:700px){.portfolio-shell .home-overview .intro h1{font-size:clamp(2.25rem,9vw,3.6rem)}}.portfolio-shell .home-overview .intro{max-width:none;padding-top:0;container-type:inline-size}.portfolio-shell .home-overview .intro h1{white-space:nowrap;font-size:clamp(1rem,5.5cqw,5.5rem)}.page-theme-control{top:max(12px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:3;position:absolute}.page-theme-control .theme-toggle{width:44px;height:44px;color:var(--muted);view-transition-name:theme-control;background:0 0;border:0}.page-theme-control .theme-toggle:hover{color:var(--accent);background:var(--surface-2)}.timeline-scroll-controls{display:flex}.timeline-viewport{--timeline-edge-fade:clamp(18px,3vw,56px);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--timeline-edge-fade),#000 calc(100% - var(--timeline-edge-fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--timeline-edge-fade),#000 calc(100% - var(--timeline-edge-fade)),transparent)}.portfolio-shell{--timeline-responsive-row:clamp(48px,5dvh,64px);--header-height:calc(var(--wordmark-width) * .346 + 24px + env(safe-area-inset-top))}.portfolio-shell>.single-screen{grid-template-rows:var(--header-height) minmax(0,1fr) calc(var(--timeline-responsive-row) * (5 + var(--project-rows)))}.portfolio-shell .overview.home-overview{align-content:normal;padding-block:16px}.portfolio-shell .home-overview .intro h1{font-size:clamp(1.5rem,5.5cqw,5.5rem)}.portfolio-shell .timeline{--timeline-row-height:var(--timeline-responsive-row);--timeline-box-height:calc(var(--timeline-responsive-row) - 8px);--ruler-height:var(--timeline-responsive-row);padding-top:var(--timeline-responsive-row)}.timeline-viewport{scrollbar-width:none;overflow-x:auto}.timeline-viewport::-webkit-scrollbar{display:none}.timeline-canvas{width:100%;min-width:70rem;height:calc(var(--timeline-responsive-row) * (4 + var(--project-rows)));margin-inline:0}.timeline-box .timeline-label b,.timeline-box .timeline-label small{line-height:1.1}.timeline-scroll-controls{top:8px}.timeline-scroll-controls button{width:32px;height:32px}@media (max-width:800px){.portfolio-shell .home-overview .intro h1{font-size:clamp(1.5rem,7.5cqw,3rem)}}@media (max-height:700px){.portfolio-shell{--timeline-responsive-row:44px}.portfolio-shell .overview.home-overview{padding-block:8px}.portfolio-shell .home-overview .intro>p{margin-top:8px;line-height:1.45}.portfolio-shell .home-overview .intro-links,.portfolio-shell .home-overview .current-work{margin-top:8px}}.portfolio-shell{--header-height:calc(68px + env(safe-area-inset-top))}.site-header.hero-brand{top:calc(max(12px,env(safe-area-inset-top)) + 10px)}.pekcan-logo-link,.pekcan-logo{width:auto;height:24px}.portfolio-shell .home-overview .intro{flex-direction:column;align-items:center;gap:clamp(20px,3dvh,32px);display:flex}.portfolio-shell .home-overview .intro>p{max-width:65ch;margin:0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75}.portfolio-shell .home-overview .current-work,.portfolio-shell .home-overview .intro-links{margin-top:0}@media (max-height:700px){.portfolio-shell .home-overview .intro{gap:18px}.portfolio-shell .home-overview .intro>p{line-height:1.6}}.hero-phrase{white-space:nowrap}.portfolio-shell .home-overview .intro h1>span{color:inherit}.hero-illustration{--art-size:1.9em;width:calc(var(--art-size) * var(--art-width));height:var(--art-size);vertical-align:-.55em;margin-inline-start:.2em;display:inline-block;position:relative;overflow:hidden}.hero-illustration>img{top:0;left:calc(var(--art-size) * var(--art-left) * -1);width:var(--art-size);height:var(--art-size);object-fit:contain;max-width:none;position:absolute}.hero-actions{flex-direction:column;align-items:center;gap:16px;display:flex}.hero-actions .intro-links{flex-wrap:nowrap;gap:10px;margin:0}.social-links{justify-content:center;align-items:center;gap:10px;display:flex}.social-links .icon-button{width:32px;height:32px;color:var(--muted);border-color:var(--line);background:0 0}.social-links .icon-button svg{width:15px;height:15px}.social-links .icon-button:hover{color:var(--text);background:var(--surface-2);border-color:var(--color-border-strong)}.timeline-box-content{z-index:1}.timeline-label b,.timeline-label small{transition:color .2s}.timeline-tracks.has-highlight .timeline-item:not(.is-highlighted) .timeline-label b,.timeline-tracks.has-highlight .timeline-item:not(.is-highlighted) .timeline-label small{color:var(--color-text-secondary)}.timeline-tracks.has-highlight .timeline-item:not(.is-highlighted) .timeline-box-media{opacity:.5}.timeline-item.is-highlighted .timeline-label small{color:var(--text)}.ruler.has-highlight .ruler-tick:not(.in-range) b,.ruler.has-highlight .ruler-tick:not(.in-range) small{color:var(--color-text-tertiary)}.ruler.has-highlight .ruler-tick:not(.in-range) i{background:var(--line)}.icon-button,.timeline-scroll-controls button{border-color:var(--color-border-strong)}.timeline-scroll-controls button:hover{background:var(--color-surface-hover);color:var(--accent)}.expanded-career .text-link{color:var(--accent)}.expanded-career .text-link:hover{text-underline-offset:4px;text-decoration:underline}.timeline-project-thumb:focus-visible,.folder-project-card:focus-visible{outline-color:var(--color-focus)}.modal-view,.overview{scrollbar-color:var(--color-border-strong) transparent}@media (forced-colors:active){.timeline-item{border:1px solid buttontext}.timeline-item:before,.timeline-item:after{display:none}.timeline-tracks.has-highlight .timeline-item:not(.is-highlighted) .timeline-box-media{opacity:1}.timeline-projection:before,.timeline-projection:after{background:canvastext}.ruler-tick i{background:canvastext!important}}.modal-identity{flex:1;align-items:center;gap:20px;min-width:0;display:flex}.modal-identity-media{background:#fff;border-radius:16px;flex:none;width:72px;height:72px;overflow:hidden}.modal-identity-media>img{object-fit:contain;width:100%;height:100%;display:block}.modal-header-actions{flex:none;align-items:center;gap:8px;display:flex}.modal-view-header .modal-header-actions .icon-button{margin:0}.career-detail-view{--detail-tint:73,130,214;background:linear-gradient(110deg,rgba(var(--detail-tint),var(--timeline-tint-detail)),transparent 90%),var(--surface);flex-direction:column;display:flex;overflow:hidden}.career-detail-view.sage{--detail-tint:93,132,94}.career-detail-view.silver{--detail-tint:126,147,168}.career-detail-view.red{--detail-tint:202,67,46}.career-detail-view.violet{--detail-tint:113,78,180}.career-detail-view .modal-view-header{background:0 0;align-items:flex-start;gap:20px;padding:32px;position:relative}.career-detail-view .modal-view-header h2{letter-spacing:-.04em;font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.15}.career-detail-view .modal-view-header .modal-subtitle{color:var(--text);margin-top:8px;font-size:.9375rem;font-weight:500;line-height:1.4}.career-detail-view .modal-view-header .modal-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:5px;font-size:.75rem;line-height:1.4}.career-detail-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;flex:1;min-height:0;padding:0 32px 32px;overflow-y:auto}.career-section+.career-section{margin-top:28px}.career-section h3{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 14px;font-size:.6875rem;font-weight:650}.career-highlights{color:var(--text);gap:14px;margin:0;padding-left:1.1em;font-size:.9375rem;line-height:1.65;display:grid}.career-highlights li{padding-left:.3em}.career-highlights li::marker{color:var(--muted);font-size:.8em}.career-paper p{color:var(--text);text-wrap:pretty;font-size:1rem;line-height:1.6}.career-skills{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.career-skills li{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;padding:7px 10px;font-size:.6875rem;line-height:1.3}.career-detail-footer{border-top:1px solid var(--line);margin-top:32px;padding-top:22px}.career-detail-footer .text-link{color:var(--accent);align-items:center;gap:10px;font-size:.6875rem;display:inline-flex}.career-detail-footer .text-link:hover{text-underline-offset:4px;text-decoration:underline}@media (max-width:700px){.career-detail-view .modal-view-header{gap:12px;padding:24px 20px}.modal-identity{align-items:flex-start;gap:14px}.modal-identity-media{border-radius:12px;width:52px;height:52px}.career-detail-view .modal-view-header h2{font-size:1.25rem}.career-detail-view .modal-view-header .modal-subtitle{font-size:.8125rem}.career-detail-view .modal-view-header .modal-meta{font-size:.6875rem}.modal-header-actions .icon-button{width:32px;height:32px}.career-detail-body{padding:0 20px 24px}.career-highlights{gap:12px;font-size:.875rem}}.modal-view-header{display:block}.modal-header-top{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.modal-heading-copy{flex-direction:column;gap:0;display:flex}.career-detail-view .modal-heading-copy h2,.career-detail-view .modal-heading-copy .modal-subtitle,.career-detail-view .modal-heading-copy .modal-meta{margin:0}.modal-header-tools{min-width:0;margin-top:20px}.modal-header-tools .career-skills{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;gap:7px;max-height:126px;padding:2px;overflow:auto}.modal-header-tools .career-skills li{border-radius:999px;flex:none;align-items:center;gap:7px;padding:5px 9px 5px 5px;font-size:.625rem;display:flex}.tool-icon{width:16px;height:16px;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;overflow:hidden}.tool-icon-brand{background:#fff}.tool-icon img{object-fit:contain;width:100%;height:100%;display:block}.career-detail-view .modal-view-header{z-index:2;padding-bottom:24px}.modal-header-fade{pointer-events:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--surface) 75%,transparent),transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);height:28px;position:absolute;top:100%;left:0;right:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.career-detail-body{padding-top:12px;scroll-padding-block:20px}.career-detail-body:focus{outline:none}.career-detail-body:focus-visible{outline:2px solid var(--color-focus);outline-offset:-4px}.button.ghost{color:var(--muted);box-shadow:none;background:0 0;border-color:#0000}.button.ghost:hover{background:var(--color-surface-hover);color:var(--text);border-color:#0000}@media (max-width:700px){.modal-header-top{gap:12px}.modal-header-tools{margin-top:16px}.modal-header-tools .career-skills{flex-wrap:nowrap;max-height:none;padding-bottom:4px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 12px),#0000)}.career-detail-view .modal-view-header{padding-bottom:16px}}@media (prefers-reduced-motion:reduce){.modal-header-fade{-webkit-backdrop-filter:none;backdrop-filter:none}}
