@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/4f44eef8b40a8db3-s.178-y_nl5hbfa.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ca9f58a3326e9478-s.p.0s_ltfx_pu-sa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1161364fd42bb995-s.p.0aonh7vjr8u3t.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.TnjDNq_className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal;font-weight:700}.TnjDNq_variable{--font-display:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/ffc7b595a48b6846-s.2k_u76ydap2io.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/276a8f4fe816cb6b-s.31_i6ngnt52xa.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/82b67ad56d243b47-s.2p5l8hwveaaiz.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/33ee198db9637ef4-s.1_g-53zz09yvy.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fbb7028efdf70529-s.p.2gp_y-cmv6-ey.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/82450a180bcad83c-s.p.2ywnh8m32q6p0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.QrsitG_className{font-family:Manrope,Manrope Fallback;font-style:normal}.QrsitG_variable{--font-body:"Manrope", "Manrope Fallback"}
.hero{padding-top:clamp(2.25rem,5vw,4.9rem)}.hero-grid{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);align-items:center;gap:clamp(2.25rem,5vw,5.5rem);display:grid}.hero-role{color:var(--acid);align-items:center;gap:.7rem;margin-bottom:clamp(1.1rem,2.3vw,2rem);display:flex}.hero-role:before{content:"";background:currentColor;width:1.45rem;height:1px}.hero h1{font:700 clamp(4rem, 8.5vw, 8rem) / .86 var(--font-display), sans-serif;letter-spacing:-.063em}.hero h1>span{color:var(--acid);display:block}.hero-intro{max-width:25rem;color:var(--muted);margin-block:1.55rem;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.56}.hero-figure{min-width:0}.hero-caption{color:var(--muted);justify-content:space-between;gap:.65rem;padding-top:.7rem;display:flex}.hero-caption>:first-child{color:var(--acid)}.hero-foot{border-top:1px solid var(--line);min-height:3.5rem;color:var(--muted);justify-content:space-between;align-items:center;gap:.65rem;margin-top:clamp(1.55rem,3.2vw,3.1rem);display:flex}.hero-foot a,.hero-location{align-items:center;gap:.55rem;min-height:2.75rem;display:inline-flex}.hero-location>span{aspect-ratio:1;background:var(--acid);border-radius:50%;width:.4rem}.work-section{background:var(--paper);color:var(--ink-text);padding-block:clamp(3.5rem,7.1vw,7rem)}.section-intro{grid-template-columns:minmax(0,1fr) minmax(15rem,21rem);align-items:end;gap:1.1rem 2rem;margin-bottom:clamp(1.75rem,4vw,3.75rem);display:grid}.section-intro>p{max-width:30rem;color:var(--paper-muted);padding-bottom:.1em}.work-section .section-index,.project-copy .eyebrow,.project-index>.eyebrow{color:var(--paper-muted)}.project-grid{grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr);gap:clamp(1.75rem,4.5vw,4.5rem);display:grid}.featured-project:nth-child(2n){margin-top:clamp(1.25rem,4.2vw,3.75rem)}.project-visual{isolation:isolate;aspect-ratio:1.57;perspective:900px;border-radius:5px;position:relative;overflow:clip}.project-visual--fern{--screen-line:#465137;--grid-line:#5661422b;background:#d5dfb8}.project-visual--orchid{--screen-line:#53475b;--grid-line:#51455529;background:#ded0e4}.project-visual:before{z-index:-1;background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);content:"";background-position:50%;background-size:2rem 2rem;position:absolute;inset:0}.project-surface{transform-style:preserve-3d;position:absolute;inset:0}.project-screen,.project-inset{border:1px solid var(--screen-line);background:#202324;position:absolute;overflow:hidden;box-shadow:0 12px 25px #251e2933}.project-screen{border-radius:6px;width:82%;top:16%;left:7%;transform:rotate(-4deg)translateZ(12px)}.project-screen--portrait{aspect-ratio:.65;border-width:4px;border-radius:clamp(.55rem,1.8vw,1.1rem);width:44%;max-width:18rem;max-height:100%;top:7.5%;left:50%;transform:translate(-50%)rotate(-9deg)translateZ(18px)}.project-inset{border-radius:clamp(.35rem,1.2vw,.75rem);width:21%;max-width:13.5rem;top:24%;right:6%;transform:rotate(8deg)translateZ(30px)}.project-screen img,.project-inset img{width:100%;height:auto;display:block}.project-screen--portrait img{object-fit:cover;object-position:top;height:100%}.project-copy{padding-top:1.3rem}.project-copy h3{font:700 clamp(1.9rem, 3.25vw, 3.2rem) / 1 var(--font-display), sans-serif;letter-spacing:-.045em;margin-block:.45rem}.project-summary{max-width:33rem;color:var(--paper-muted);margin-block:.65rem .4rem}.project-index{margin-top:clamp(2rem,5vw,4rem)}.project-index>h3{margin-bottom:.7rem}.project-index li{border-top:1px solid var(--paper-line)}.project-index li:last-child{border-bottom:1px solid var(--paper-line)}.index-link{grid-template-columns:minmax(0,1fr) minmax(8rem,16rem) auto;align-items:center;gap:.7rem;min-height:3.65rem;padding-block:.6rem;display:grid}.index-title{font-weight:800}.index-category{color:var(--paper-muted);font-size:.84rem}.about-section{grid-template-columns:minmax(0,.69fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,8vw,8rem);padding-block:clamp(3.5rem,7.2vw,7rem);display:grid}.profile-portrait{justify-self:center;max-width:26rem}.profile-portrait img{aspect-ratio:1;object-fit:cover;object-position:center;border-radius:50%;width:100%;height:auto}.profile-portrait figcaption{color:var(--muted);text-align:center;margin-top:.75rem}.about-copy .section-index,.detail-intro .section-index{color:var(--acid)}.about-bio{max-width:34rem;color:var(--muted);margin-block:1.25rem 1.55rem;font-size:clamp(1rem,1.35vw,1.15rem)}.skill-list>div{border-top:1px solid var(--line);grid-template-columns:minmax(6rem,.37fr) 1fr;gap:.3rem 1rem;padding-block:.65rem;display:grid}.skill-list dt{font-weight:800}.skill-list dd{color:var(--muted);font-size:.92rem}.experience-list{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));gap:1rem 1.5rem;margin-top:.4rem;padding-top:1rem;display:grid}.experience-list h3{font-weight:800}.experience-list p{color:var(--muted);font-size:.9rem}.contact-section{background:var(--acid);color:var(--ink-text)}.contact-main{justify-content:space-between;align-items:flex-end;gap:1.5rem 2.5rem;padding-block:clamp(2.75rem,6vw,5.75rem);display:flex}.contact-main .section-title{max-width:13ch;margin-block:.9rem}.contact-main .button{flex:none}.contact-foot{border-top:1px solid #647423;justify-content:space-between;align-items:center;gap:.6rem 1.25rem;min-height:4.65rem;padding-block:.55rem;display:flex}.footer-name{align-items:center;width:fit-content;min-height:2.75rem;font-weight:800;display:inline-flex}.social-links{flex-wrap:wrap;gap:0 1.45rem;display:flex}.social-links a,.back-top{align-items:center;gap:.42rem;min-height:2.75rem;font-size:.85rem;font-weight:800;display:inline-flex}.back-top{border:1px solid #647423;border-radius:2px;justify-content:center;min-width:2.75rem}.project-detail,.not-found-page{padding-block:clamp(2.4rem,6vw,5.5rem)}.detail-intro{max-width:65rem;margin-block:clamp(2rem,5vw,4rem)}.detail-intro h1,.not-found-page h1{font:700 clamp(2.9rem, 8.2vw, 7.25rem) / .95 var(--font-display), sans-serif;letter-spacing:-.054em;text-wrap:balance}.detail-intro>p:not(.eyebrow),.not-found-page>p:not(.eyebrow){max-width:37rem;color:var(--muted);margin-top:1.2rem;font-size:clamp(1.05rem,1.8vw,1.4rem)}.detail-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.5rem;display:flex}.project-detail .project-visual{max-width:66rem}.project-detail .project-visual--orchid{max-width:44rem}.detail-facts{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr) minmax(0,.75fr);gap:1.25rem 2.5rem;margin-block:clamp(2rem,5vw,4rem);display:grid}.detail-facts>section{border-top:1px solid var(--line);padding-top:1.1rem}.detail-facts h2,.next-project .eyebrow{color:var(--acid);margin-bottom:.65rem}.detail-facts p,.detail-facts ul{color:var(--muted)}.detail-facts ul{padding-inline-start:1.15rem;list-style-type:disc}.detail-facts li+li{margin-top:.35rem}.next-project{border-block:1px solid var(--line);font:700 clamp(1.65rem, 4.3vw, 3rem) / 1.1 var(--font-display), sans-serif;letter-spacing:-.05em;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.2rem;display:flex}.next-project span{display:block}.next-project svg{flex:none}.not-found-page h1{margin-top:.75rem}.not-found-page .text-link{margin-top:1rem}.not-found-bilingual h1 span{color:var(--acid);display:block}.not-found-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.5rem 2.75rem;max-width:49rem;margin-top:2rem;display:grid}.not-found-options p{color:var(--muted)}@media (max-width:760px){.hero-grid,.section-intro,.project-grid,.about-section,.detail-facts{grid-template-columns:minmax(0,1fr)}.hero-grid{gap:1.8rem}.hero h1{font-size:clamp(3.75rem,13.8vw,6.3rem)}.hero-intro{margin-block:1.2rem}.hero-foot{margin-top:1rem}.featured-project:nth-child(2n){margin-top:0}.project-copy{padding-top:1rem}.profile-portrait{grid-row:2;max-width:20rem}.contact-main{flex-direction:column;align-items:flex-start}}@media (max-width:440px){.hero-caption,.hero-foot{font-size:.63rem}.index-link{grid-template-columns:minmax(0,1fr) auto;gap:.1rem .8rem}.index-category{grid-area:2/1}.index-link svg{grid-area:1/2/3}.contact-foot{grid-template-columns:1fr auto;display:grid}.contact-foot .footer-name{grid-column:1/-1}}
.scene-viewport{isolation:isolate;aspect-ratio:4/3;perspective:1050px;position:relative}.scene-orbit,.scene-plane,.scene-art,.scene-art>picture{position:absolute;inset:0}.scene-orbit,.scene-plane{transform-style:preserve-3d}.scene-plane{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.scene-art{background:#211522;border:1px solid #59434f;border-radius:5px;overflow:hidden}.hero-image{object-fit:cover}.scene-rule{pointer-events:none;border:1px solid #f9e6fa38;border-radius:2px;position:absolute;inset:4%;transform:translateZ(23px)}.scene-origin{color:var(--acid);position:absolute;top:7%;right:6%;transform:translateZ(35px)}@media (hover:hover){.button-accent:hover{background:#e4ff87}.button-dark:hover{background:#393039}.button-outline:hover{background:#332b34}.site-nav a:hover,.language-link:hover,.hero-foot a:hover{color:var(--acid)}.text-link:hover,.index-link:hover .index-title,.next-project:hover span,.social-links a:hover{text-underline-offset:.28em;text-decoration:underline}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.scene-plane{transition:transform .22s ease-out}.button,.site-nav a,.language-link{transition:color .15s ease-out,background-color .15s ease-out}.button svg,.text-link svg,.index-link svg,.next-project svg{transition:translate .18s ease-out}:is(.button,.text-link,.index-link,.next-project):hover svg{translate:2px -2px}@supports (animation-timeline:view()){.portfolio-home .site-header:after{background:var(--acid);content:"";pointer-events:none;transform-origin:0;height:2px;animation:linear both reading-progress;animation-timeline:scroll(root);position:absolute;inset:auto 0 -1px}.scene-orbit{animation:linear both scene-scroll;animation-timeline:scroll(root);animation-range:0 38rem}[data-depth] .project-surface{animation:linear both project-scroll;animation-timeline:view();animation-range:entry cover 58%}[data-reveal]{animation:linear both heading-scroll;animation-timeline:view();animation-range:entry cover 33%}}}@keyframes reading-progress{0%{scale:0 1}to{scale:1}}@keyframes scene-scroll{to{transform:translateY(1.2rem)translateZ(-60px)rotateY(-9deg)rotateX(7deg)}}@keyframes project-scroll{0%{transform:rotateX(12deg)rotateY(-9deg)scale(.94)}to{transform:rotateX(0)rotateY(0)scale(1)}}@keyframes heading-scroll{0%{transform:translateY(.85rem)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.scene-plane{transform:none}}
@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,figure,dl,dd,ul,ol{margin:0}h1,h2,h3{font-size:inherit;font-weight:inherit}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}img,svg{display:block}img{max-width:100%;height:auto}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#181419;--ink-text:#221c22;--paper:#f5f0e8;--text:#f6f0e8;--muted:#c1b7c0;--paper-muted:#5c505a;--line:#453b44;--paper-line:#c9bec2;--acid:#d7f74d;--gutter:clamp(1.25rem, 4.6vw, 4.25rem);--header-height:4.5rem}html{scroll-padding-top:calc(var(--header-height) + .75rem)}body{background:var(--ink);min-width:0;color:var(--text);font-family:var(--font-body), sans-serif;font-size:1rem;line-height:1.55}::selection{background:var(--acid);color:var(--ink)}:focus-visible{outline-offset:5px;outline:2px solid}main:focus{outline:none}.shell{width:min(calc(100% - var(--gutter) - var(--gutter)), 78rem);margin-inline:auto}.eyebrow{letter-spacing:.13em;text-transform:uppercase;font-size:.73rem;font-weight:800;line-height:1.45}.section-title{font:700 clamp(2.65rem, 5.9vw, 6.1rem) / .96 var(--font-display), sans-serif;letter-spacing:-.056em;text-wrap:balance}.section-index{margin-bottom:1rem}.button,.text-link{justify-content:space-between;align-items:center;gap:.8rem;width:fit-content;min-height:2.75rem;font-size:.875rem;font-weight:800;display:inline-flex}.button{border:1px solid #0000;border-radius:3px;min-height:3.25rem;padding:.75rem 1.15rem}.button-accent{background:var(--acid);color:var(--ink-text)}.button-accent:focus-visible{outline-color:var(--text)}.button-outline{border-color:var(--muted);color:var(--text)}.button-dark{background:var(--ink);color:var(--text)}.button-dark:focus-visible{outline-color:var(--ink)}.text-link{text-underline-offset:.28em;text-decoration:underline;text-decoration-thickness:1px}.site-header{z-index:5;background:var(--ink);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{min-height:var(--header-height);grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(1rem,3vw,2.75rem);display:grid}.skip-link{z-index:1;background:var(--acid);color:var(--ink-text);padding:.6rem 1rem;font-weight:800;position:absolute;inset:.5rem auto auto .5rem;translate:0 -200%}.skip-link:focus{translate:0}.brand{white-space:nowrap;align-items:center;gap:.65rem;width:fit-content;min-height:2.75rem;font-weight:800;display:inline-flex}.brand-mark{aspect-ratio:1;background:var(--acid);width:2.125rem;color:var(--ink);font:700 .82rem / 1 var(--font-display), sans-serif;letter-spacing:-.05em;border-radius:2px;place-items:center;display:grid}.site-nav,.language-switch{align-items:center;display:flex}.site-nav{gap:clamp(1.25rem,3.3vw,3rem)}.site-nav a{min-height:2.75rem;color:var(--muted);white-space:nowrap;align-items:center;font-size:.86rem;font-weight:750;display:inline-grid}.language-switch{justify-self:end;gap:.25rem}.language-link{min-width:2.75rem;min-height:2.75rem;color:var(--muted);letter-spacing:.07em;border:1px solid #0000;border-radius:2px;place-items:center;font-size:.72rem;font-weight:800;display:grid}.language-link[aria-current=page]{border-color:var(--line);color:var(--acid)}@media (max-width:690px){:root{--header-height:6.1rem}.header-inner{grid-template-rows:3.35rem 2.75rem;grid-template-columns:minmax(0,1fr) auto;gap:0 .375rem}.brand{grid-column:1/-1}.site-nav{grid-area:2/1;justify-content:space-between;gap:.1875rem}.site-nav a{justify-items:center;min-width:2.75rem;font-size:clamp(.75rem,3.5vw,.86rem)}.language-switch{grid-area:2/2;gap:.125rem}}
