@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Variable.woff2)format("woff2-variations"),url(/fonts/SpaceGrotesk-Variable.woff)format("woff-variations");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Variable.woff2)format("woff2-variations"),url(/fonts/SpaceGrotesk-Variable.woff)format("woff-variations");font-weight:600;font-style:normal;font-display:swap}:root{--font-main:"Space Grotesk";--bg:#fafaf9;--surface:#fff;--ink:#3d3a34;--muted:#61605e;--faint:#bbbbb6;--line:#3d3a340f;--primary:#0087f2;--danger:#f85452;--overlay:#fafaf9c7}@supports (color:lab(0% 0 0)){:root{--bg:lab(98.2685% -.0967681 .365055);--surface:lab(100% 0 0);--ink:lab(24.6433% .427037 4.63657);--muted:lab(40.8737% -.380486 1.46499);--faint:lab(75.6906% -.571489 2.19692);--line:lab(24.6433% .427037 4.63657/.06);--primary:lab(54.6624% .594169 -64.2363);--danger:lab(59.7195% 63.0789 37.7788);--overlay:lab(98.2685% -.0967681 .365055/.78)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0d0c;--surface:#161615;--ink:#efefea;--muted:#a5a5a1;--faint:#5e5e5b;--line:#efefea1f;--primary:#57a8ff;--danger:#f97770;--overlay:#0d0d0cc7}@supports (color:lab(0% 0 0)){:root[data-theme=dark]{--bg:lab(3.71474% -.166163 .639591);--surface:lab(7.24971% -.262067 1.00406);--ink:lab(94.2507% -.573278 2.19566);--muted:lab(67.5622% -.477016 1.83024);--faint:lab(39.7137% -.380337 1.46511);--line:lab(94.2507% -.573278 2.19566/.12);--primary:lab(66.7276% -4.5121 -54.6019);--danger:lab(65.9538% 50.1356 28.6987);--overlay:lab(3.71474% -.166163 .639591/.78)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0d0c;--surface:#161615;--ink:#efefea;--muted:#a5a5a1;--faint:#5e5e5b;--line:#efefea1f;--primary:#57a8ff;--danger:#f97770;--overlay:#0d0d0cc7}@supports (color:lab(0% 0 0)){:root:not([data-theme=light]){--bg:lab(3.71474% -.166163 .639591);--surface:lab(7.24971% -.262067 1.00406);--ink:lab(94.2507% -.573278 2.19566);--muted:lab(67.5622% -.477016 1.83024);--faint:lab(39.7137% -.380337 1.46511);--line:lab(94.2507% -.573278 2.19566/.12);--primary:lab(66.7276% -4.5121 -54.6019);--danger:lab(65.9538% 50.1356 28.6987);--overlay:lab(3.71474% -.166163 .639591/.78)}}}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--ink);font-family:var(--font-main);scroll-behavior:smooth;font-size:15px;overflow-x:clip}body{background:var(--bg);max-width:100vw;color:var(--ink);font-family:var(--font-main);font-size:1rem;line-height:1.65;overflow-x:clip}body,button,input,textarea,select,a,p,span,strong,em,h1,h2,h3,h4,h5,h6,li{font-family:var(--font-main);letter-spacing:0;font-size:1.1rem}h1{font-size:3.75rem}h2{font-size:1.5rem}h3{font-size:1.2rem}button,input{border:0}button{color:inherit;cursor:pointer}a{color:inherit;cursor:pointer;text-decoration:none}[role=button]{cursor:pointer}img{max-width:100%;display:block}strong{font-weight:600}.ats-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:normal;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.main-portfolio-container{background:var(--bg);min-height:100svh;color:var(--ink)}.route-transition{background:var(--bg);min-height:100svh}.classic-portfolio,.case-page{width:min(820px,100vw - 40px);margin:0 auto}.classic-portfolio{padding:clamp(72px,12vh,150px) 0 160px}.classic-hero{padding-top:12px}.hero-signature-heading{width:max-content;max-width:100%;color:var(--ink);white-space:nowrap;margin:0 auto clamp(34px,8vh,80px)}.hero-signature-text,.hero-signature-motion{font-size:inherit;font-weight:inherit;line-height:inherit;display:inline-block}.hero-signature-text .text-type__content,.hero-signature-text .text-type__cursor{font-size:inherit;font-weight:600;line-height:inherit}.text-type{white-space:pre-wrap;display:inline-block}.text-type__content{display:inline}.text-type__cursor{opacity:1;margin-left:.25rem;display:inline-block}.text-type__cursor--hidden{display:none}.classic-hero h1{margin-bottom:42px;font-weight:400}.classic-intro,.classic-timeline,.classic-list{display:grid}.classic-intro{color:var(--muted);gap:18px}.classic-intro-lead{color:var(--ink);margin-bottom:10px}.classic-intro-lines{gap:12px;line-height:1.65;display:grid}.classic-intro-mention.classic-icon-link{white-space:nowrap;min-height:0;line-height:inherit;vertical-align:baseline;margin-left:.25em;display:inline;position:relative}.brand-mark{background:var(--ink);-webkit-mask-image:var(--brand-mark-url);-webkit-mask-image:var(--brand-mark-url);mask-image:var(--brand-mark-url);display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.classic-intro-logo{vertical-align:-.13em;width:.96em;height:.96em;margin-right:.28em;display:inline-block}.classic-intro-title{color:var(--ink);font-weight:600;line-height:inherit}.classic-intro strong,.classic-intro-mention,.classic-muted a,.classic-links a,.classic-link-title,.classic-row strong,.classic-career-heading strong{color:var(--ink)}.classic-link-title{font-weight:600}.classic-section{border-top:1px solid var(--line);margin-top:clamp(50px,8vh,82px);padding-top:clamp(34px,6vh,58px);scroll-margin-top:80px}.classic-section-first{margin-top:0}.classic-section-title{color:var(--faint);text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;font-weight:600;display:flex}.classic-section-title p{letter-spacing:.1rem;font-size:.9rem}.classic-password{color:var(--primary);letter-spacing:.1rem;font-size:.9rem}.classic-links{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;font-weight:600;display:flex}.classic-icon-link{vertical-align:-.08em;align-items:center;gap:5px;min-height:1.35em;line-height:1.35;display:inline-flex;position:relative}.classic-muted a:not(.classic-icon-link){line-height:inherit;vertical-align:baseline;display:inline;position:relative}.classic-icon-link svg{flex:none;width:1em;height:1em}.classic-icon-link .classic-arrow-icon{width:1em;height:1em}.classic-arrow-icon{color:currentColor;flex:none;align-self:center;width:18px;height:18px;display:block}.classic-icon-link:after,.classic-muted a:not(.classic-icon-link):after{content:"";opacity:.35;transform-origin:100%;background:currentColor;height:2px;transition:transform .26s,opacity .26s;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.classic-icon-link:hover:after,.classic-muted a:not(.classic-icon-link):hover:after{opacity:.55;transform-origin:0;transform:scaleX(1)}.classic-muted{color:var(--muted)}.classic-links span,.classic-career-item,.classic-row{color:var(--ink)}.classic-timeline{gap:28px}.classic-career-item{padding-left:30px;position:relative}.classic-career-item:before{content:"";background:var(--ink);width:9px;height:9px;box-shadow:0 0 0 5px var(--bg);border-radius:50%;position:absolute;top:10px;left:5px}.classic-career-item:after{content:"";background:var(--line);width:1px;position:absolute;top:24px;bottom:-28px;left:9px}.classic-career-item:last-child:after{display:none}.classic-career-heading,.classic-career-meta{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.classic-list{gap:14px}.case-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.case-card{border:1px solid var(--line);background:color-mix(in oklch,var(--bg)98%,var(--ink)2%);width:100%;color:var(--ink);text-align:left;box-shadow:0 1px 2px color-mix(in oklch,var(--ink)8%,transparent);border-radius:16px;transition:transform .18s,filter .18s;display:grid;position:relative;overflow:clip}.case-card-copy{z-index:0;background:color-mix(in oklch,var(--bg)98%,var(--ink)2%);width:100%;min-height:54px;color:var(--ink);justify-content:flex-start;align-items:center;margin-bottom:-8px;padding:8px 16px 16px;display:flex;position:relative}.case-card-copy strong{font-weight:600;line-height:1.35}.case-card-arrow{z-index:3;background:var(--ink);width:42px;height:42px;color:var(--bg);border-radius:999px;place-items:center;font-size:30px;line-height:1;display:grid;position:absolute;top:20px;right:20px;box-shadow:0 10px 28px #0000003d}.case-card-image-wrap,.case-card-placeholder{z-index:1;aspect-ratio:2268/2160;border:1px solid var(--line);background:var(--surface);border-radius:16px;width:100%;position:relative;overflow:hidden}.case-card-image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;transition:transform .5s;display:block}.case-card:hover .case-card-image{transform:scale(1.04)}.case-card-placeholder{color:var(--faint);place-items:center;display:grid}.case-card-link{min-height:44px;color:var(--muted);text-align:left;justify-content:flex-start;align-items:center;padding:10px 16px 14px;font-weight:400;display:inline-flex}.classic-row{text-align:left;background:0 0;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr) auto;align-items:baseline;gap:16px;width:100%;line-height:1.65;transition:color .18s,transform .18s;display:grid}.classic-row span{color:var(--muted)}.classic-project-head{align-items:baseline;gap:12px;min-width:0;display:inline-flex}.classic-project-description{min-width:0}.classic-row:hover{color:var(--ink);transform:translate(4px)}.classic-row>.classic-arrow-icon,.case-header-button>.classic-arrow-icon,.craft-card-link>.classic-arrow-icon{justify-self:center}.classic-row em{color:var(--faint);white-space:nowrap;font-style:normal}.classic-dot,.classic-project-mark{flex:none;width:1em;height:1em}.classic-dot{background:linear-gradient(135deg,color-mix(in oklch,var(--primary)40%,white 60%)0 50%,var(--primary)50% 100%);border-radius:999px}.classic-project-mark{color:var(--ink);align-self:center;align-items:center;display:inline-flex}.classic-project-mark svg,.classic-project-mark img,.classic-project-mark-image{flex:none;width:1em;height:1em}.classic-project-mark img{display:block}.classic-skill-list{color:var(--muted);flex-wrap:wrap;gap:10px 16px;display:flex}.craft-section{gap:32px;display:grid}.craft-heading{text-align:center;gap:12px;display:grid}.craft-heading h2{color:var(--faint);font-weight:600;line-height:1.35}.craft-heading p{color:var(--muted)}.craft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.craft-card{border:1px solid var(--line);background:color-mix(in oklch,var(--bg)98%,var(--ink)2%);color:var(--ink);box-shadow:0 1px 2px color-mix(in oklch,var(--ink)8%,transparent);border-radius:16px;transition:transform .18s,filter .18s;display:grid;overflow:clip}.craft-card:hover{transform:translateY(-2px)}.craft-card-meta{background:color-mix(in oklch,var(--bg)98%,var(--ink)2%);min-height:54px;color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-bottom:-8px;padding:8px 16px 16px;display:flex}.craft-card-meta strong{color:var(--ink);font-weight:600;line-height:1.35}.craft-card-meta span{color:var(--faint);white-space:nowrap}.craft-media-frame{z-index:1;aspect-ratio:2268/2160;border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:0 -1px -1px;display:grid;position:relative;overflow:clip}.craft-media{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .5s}.craft-card:hover .craft-media{transform:scale(1.04)}.craft-media-placeholder{min-height:220px;color:var(--muted);text-align:center;place-items:center;padding:30px;display:grid}.craft-note{color:var(--muted);text-align:center;padding:0 14px 14px}.craft-card-link{min-height:44px;color:var(--muted);padding:10px 16px 14px;font-weight:600}.craft-card-link svg{width:18px;height:18px}.craft-card-link:hover{color:var(--ink)}.classic-bottom-nav-shell{left:0;right:0;bottom:max(20px,env(safe-area-inset-bottom));z-index:900;pointer-events:none;justify-content:center;display:flex;position:fixed}.classic-bottom-nav{border:1px solid color-mix(in oklch,var(--ink)10%,var(--surface));background:var(--surface);width:fit-content;min-height:44px;color:var(--ink);transform-origin:50% 50% 0px;will-change:auto;pointer-events:auto;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:12px;display:flex;box-shadow:0 16px 40px #00000014,0 4px 14px #0000000f}:root[data-theme=dark] .classic-bottom-nav{box-shadow:0 20px 48px #00000075,0 6px 18px #0000004d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .classic-bottom-nav{box-shadow:0 20px 48px #00000075,0 6px 18px #0000004d}}.classic-nav-avatar{-o-object-fit:cover;object-fit:cover;filter:grayscale()contrast(1.1);border-radius:50%;width:36px;height:36px}.classic-nav-link{min-height:34px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-weight:600;transition:color .15s ease-out;display:inline-flex;position:relative}.classic-nav-link:hover{color:var(--ink)}.classic-nav-link:focus,.classic-nav-link:focus-visible,.theme-toggle-button:focus,.theme-toggle-button:focus-visible{box-shadow:none;outline:none}.classic-nav-link-active{color:var(--ink)}.classic-nav-dot{background:var(--primary);pointer-events:none;border-radius:999px;width:6px;height:6px;margin-left:-3px;position:absolute;bottom:-2px;left:50%}.classic-theme-toggle{width:34px;height:34px;color:var(--muted);background:0 0;border-radius:999px;flex:none;place-items:center;transition:color .15s ease-out;display:inline-grid}.classic-theme-toggle:hover{color:var(--ink)}.classic-theme-toggle svg{width:18px;height:18px}.modal-layer,.password-modal-overlay{z-index:10000;position:fixed;inset:0}.password-modal-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);place-items:center;padding:20px;display:grid}.password-modal-container{border:1px solid var(--line);background:color-mix(in oklch,var(--surface)92%,transparent);width:min(440px,100%);box-shadow:0 14px 42px color-mix(in oklch,var(--ink)18%,transparent);border-radius:16px}.password-modal-content{padding:28px}.password-modal-title{margin-bottom:10px;font-weight:600}.password-modal-subtitle{color:var(--muted)}.password-modal-form{gap:16px;margin-top:24px;display:grid}.password-modal-input{border:1px solid var(--line);background:var(--bg);width:100%;height:46px;color:var(--ink);border-radius:16px;outline:none;padding:0 14px}.password-modal-input:focus{border-color:var(--faint)}.password-modal-input::placeholder{color:var(--muted)}.password-input-error::placeholder{color:var(--danger)}.password-modal-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.classic-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:600;transition:border-color .18s,background .18s,color .18s,transform .18s;display:inline-flex}.classic-button:hover{border-color:var(--faint);transform:translateY(-1px)}.classic-button-primary{background:var(--ink);color:var(--bg)}.classic-button-primary:hover{border-color:var(--ink)}.classic-button-secondary{background:var(--surface);color:var(--ink)}.classic-button-ghost{color:var(--muted);box-shadow:none;background:0 0;border-color:#0000}.classic-button-ghost:hover{color:var(--ink);background:0 0;border-color:#0000}.case-header{z-index:800;background:linear-gradient(180deg,var(--bg)72%,transparent);justify-content:space-between;gap:12px;width:min(820px,100vw - 40px);margin:0 auto;padding:18px 0;display:flex;position:sticky;top:0}.case-header-actions{gap:8px;display:flex}.case-header-button{border-radius:16px}.case-page{background:var(--bg);width:min(820px,100vw - 40px);color:var(--ink);margin:0 auto;padding:56px 0 130px}.case-hero{width:100%;padding:0 0 56px}.case-hero h1{color:var(--ink);margin-bottom:34px;font-weight:600;line-height:1.35}.case-hero-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:32px;display:grid}.case-hero-meta span{color:var(--muted);letter-spacing:.1rem;text-transform:uppercase;margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.case-hero-meta p{color:var(--ink);font-weight:400;line-height:1.45}.case-hero-image-frame{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.case-hero-image{-o-object-fit:cover;object-fit:cover;width:100%;height:auto}.case-block{border-top:1px solid var(--line);width:100%;margin-top:56px;padding:56px 0 0}.case-block h2{color:var(--ink);margin-bottom:20px;font-weight:600;line-height:1.35}.case-copy{max-width:820px;color:var(--muted);gap:18px;display:grid}.case-block-button{width:fit-content;margin-top:20px}.case-page-cta{width:100%;margin-top:56px;padding-top:56px}.password-modal-button{width:100%}.case-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:36px;display:grid}.case-image-frame{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.case-image-frame-wide{grid-column:1/-1}.case-image{-o-object-fit:cover;object-fit:cover;width:100%;height:auto}@media (max-width:820px){.classic-portfolio,.case-header,.case-page{width:calc(100vw - 32px);max-width:560px}.classic-portfolio{padding-top:56px;padding-bottom:140px}.classic-section-title{flex-wrap:wrap;align-items:flex-start}.classic-links{align-items:flex-start}.hero-signature-heading{white-space:normal;max-width:100%}.classic-intro-lines{gap:10px}.classic-row{grid-template-columns:minmax(0,1fr);gap:10px}.classic-project-head{gap:10px}.case-card-list{grid-template-columns:1fr}.case-card-image-wrap,.case-card-placeholder,.case-card,.craft-card,.case-hero-image-frame,.case-image-frame{width:100%;min-width:0}.case-hero-meta,.case-image-grid,.craft-grid{grid-template-columns:1fr}.case-card-copy,.craft-card-meta{min-height:unset;flex-direction:column;align-items:flex-start;gap:6px}.case-card-copy span,.craft-card-meta span{white-space:normal}.case-page{padding-top:24px;padding-bottom:140px}.classic-skill-list{grid-template-columns:1fr;gap:12px;display:grid}.classic-project-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 10px}.classic-project-row>.classic-project-head{grid-column:1/-1}.classic-project-row>.classic-project-description{grid-column:1}.classic-project-row>.classic-arrow-icon{grid-column:2;place-self:center end;margin-top:.1em}.classic-bottom-nav{justify-content:space-between;width:calc(100vw - 32px);max-width:calc(100vw - 32px);padding:8px 12px;overflow:hidden}.classic-bottom-nav-shell{bottom:max(12px,env(safe-area-inset-bottom))}.classic-nav-link{flex:auto;justify-content:center;min-width:0;padding:0 8px}.password-modal-actions{grid-template-columns:1fr}.case-header{flex-direction:column;padding-top:0;position:static}.case-header-actions{flex-direction:column;width:100%}.case-header-button{justify-content:center;width:100%}}
