@font-face{font-family:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-0.ttf)format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-1.ttf)format("truetype")}@font-face{font-family:Rethink Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-2.ttf)format("truetype")}@font-face{font-family:Rethink Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-3.ttf)format("truetype")}@font-face{font-family:Rethink Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-4.ttf)format("truetype")}@font-face{font-family:Rethink Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-5.ttf)format("truetype")}@font-face{font-family:Rethink Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/font-6.ttf)format("truetype")}:root{color:#d4d4d4;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--cream:#ffefd9;--pink:#d6576e;--bright-pink:#ff8db4;--burgundy:#a8384c;--chalk:"Chalkduster","Marker Felt",fantasy;background:#111;font-family:Rethink Sans,sans-serif}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth;scroll-padding-top:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button{background:0 0;border:0}h1,h2,p{margin:0}img,video{max-width:100%;display:block}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--bright-pink);outline-offset:6px}h2{font-family:var(--chalk);color:var(--cream);font-size:clamp(48px,5.3vw,80px);font-weight:400;line-height:1.25}button:disabled{opacity:.3}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--cream);color:#111;padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.progress{inset:env(safe-area-inset-top,0px) 0 auto;z-index:100;pointer-events:none;height:4px;position:fixed}.progress span{background:var(--pink);transform-origin:0;width:100%;height:100%;transition:transform .7s;display:block}.site-header{z-index:50;justify-content:space-between;align-items:center;width:calc(100% - 128px);max-width:1480px;min-height:64px;padding:8px 20px;display:flex;position:fixed;top:40px;left:50%;transform:translate(-50%)}.social-links{justify-content:space-between;width:159px;height:24px;display:flex;position:relative}.social-links img{pointer-events:none;width:159px;height:24px;position:absolute}.social-links a{z-index:1;width:32px;height:44px;margin-top:-10px}.site-header nav{align-items:center;gap:clamp(20px,4.7vw,80px);display:flex}.site-header nav button,.cv-link{letter-spacing:.04em;white-space:nowrap;padding:8px 0;font-size:18px;font-weight:600;line-height:32px}.site-header nav button[aria-current]{color:var(--pink);text-shadow:0 0 12px #a8384c80}.cv-link{align-items:center;gap:10px;display:flex}.cv-link img{width:28px;height:28px}.unavailable{opacity:.4}.menu-toggle{display:none}.presentation-section{scroll-snap-align:start;scroll-snap-stop:always;background:linear-gradient(112deg,#111 18%,#181214 55%,#3f1e24 100%);min-height:100svh;padding:168px 64px 64px;position:relative;overflow:clip}.section-inner{max-width:1480px;min-height:calc(100svh - 232px);margin:auto}.section-main{padding-top:184px}.hero-layout{grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(40px,7vw,140px);min-height:calc(100svh - 248px);display:grid}.hero-copy{flex-direction:column;align-self:stretch;min-width:0;display:flex}.intro-name{letter-spacing:.08em;color:#dc5c72;white-space:nowrap;margin-bottom:8px;font-size:clamp(22px,2.4vw,36px);font-weight:500}.hero-title{width:100%;max-width:720px;font-size:clamp(48px,5.3vw,80px);font-weight:400;line-height:1.1;position:relative}.product{color:var(--cream);margin-bottom:16px;font-family:Archivo Black,sans-serif;display:block}.designer{color:var(--cream);white-space:nowrap;align-items:center;gap:16px;font-family:Archivo Black,sans-serif;display:flex}.sign{font-family:var(--chalk);background:var(--burgundy);border-radius:12px;padding:2px 32px;line-height:1.25;transform:rotate(4deg)}.er{color:#121212;text-align:center;background:#cf5269;border-radius:12px;flex:1;padding:0 26px;font-family:IBM Plex Mono,monospace;font-weight:700}.hero-description{margin-top:64px;font-size:clamp(22px,2.4vw,36px);line-height:1.2}.hero-actions{white-space:nowrap;align-items:center;gap:64px;margin-top:auto;padding-top:60px;font-weight:600;display:flex}.primary-button{color:var(--cream);background:linear-gradient(90deg,#d7566e,#c7445c);border-radius:12px;padding:12px 40px;font-size:clamp(18px,2.1vw,32px);box-shadow:0 4px 2px #000}.hero-actions>a:nth-child(2){font-size:clamp(16px,1.6vw,24px)}.portrait-composition{width:100%;max-width:610px;margin-left:auto;position:relative}.portrait{width:100%;height:auto}.portrait-star{width:128px;position:absolute;top:-28px;right:-24px;transform:rotate(-14deg)}.portrait-heart{width:128px;position:absolute;bottom:-22px;left:-22px;transform:rotate(-18deg)}.selection-overlay{pointer-events:none;position:absolute;inset:-12px -16px}.selection-frame{transform-origin:0 0;border:2px dashed #ed577d;animation:9s infinite paused selection-drag;position:absolute;inset:0}.is-playing .selection-frame,.is-playing .selection-cursor{animation-play-state:running}.handle{width:10px;height:10px;animation:9s infinite handles;animation-play-state:inherit;background:#fff0d6;border:2px solid #ed577d;position:absolute;transform:translate(-50%,-50%)}.handle-0{top:0;left:0}.handle-1{top:0;left:50%}.handle-2{top:0;left:100%}.handle-3{top:50%;left:0}.handle-4{top:50%;left:100%}.handle-5{top:100%;left:0}.handle-6{top:100%;left:50%}.handle-7{top:100%;left:100%}.selection-cursor{width:42px;height:auto;animation:9s infinite paused cursor-drag;position:absolute}@keyframes selection-drag{0%,12%{opacity:0;transform:scale(0)}13%{opacity:1;transform:scale(.01)}24%,92%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes handles{0%,24%{opacity:0}28%,92%{opacity:1}to{opacity:0}}@keyframes cursor-drag{0%,5%{opacity:0;top:-5%;left:-5%}12%{opacity:1;top:0;left:0}24%,28%{opacity:1;top:100%;left:100%}32%,to{opacity:0;top:100%;left:100%}}.project-carousel{outline-offset:12px;min-height:calc(100svh - 232px)}.project-content{min-height:inherit;grid-template-rows:auto 1fr auto;grid-template-columns:49% 51%;animation:.4s project-enter;display:grid;position:relative}.project-content h2{grid-column:1/-1;margin-bottom:56px}.project-copy{z-index:2;flex-direction:column;grid-area:2/1;min-width:0;display:flex}.contributions{flex-direction:column;gap:40px;display:flex}.contribution{align-items:center;gap:20px;display:flex}.contribution img{flex:none;width:44px;height:auto}.contribution p{color:var(--bright-pink);margin-bottom:4px;font-size:24px;font-weight:500}.contribution strong{font-size:clamp(24px,2.1vw,32px);line-height:1.2;display:block}.project-description{white-space:pre-line;max-width:510px;margin-bottom:52px;font-size:clamp(20px,1.85vw,28px);font-weight:600;line-height:1.25}.carousel-controls{color:var(--cream);font-family:var(--chalk);z-index:3;grid-area:3/1;align-items:center;gap:32px;width:max-content;margin-top:40px;display:flex}.carousel-controls button{font:inherit;width:48px;height:56px;padding:0;font-size:64px;line-height:1}.carousel-controls output{text-align:center;min-width:65px;font-size:40px}.project-media{grid-area:2/2/4;min-width:0;min-height:540px;position:relative}.phones .phone{transform-origin:50%;width:355px;position:absolute;transform:rotate(26.49deg)}.phone-one{top:80px;left:30px}.phone-two{top:-100px;left:430px}.single-mobile-mockup .phone-one{width:355px;top:-160px;left:170px}.phone img{width:100%;height:auto}.laptop{align-self:center;width:1053px;min-height:0;margin-left:-60px}.laptop img{width:100%;height:auto}.side-quest .project-content{grid-template-rows:auto 1fr;grid-template-columns:39% 61%}.side-quest .carousel-controls{grid-area:1/2;place-self:start end;margin-top:0}.side-quest .project-content h2{grid-column:1/3}.side-quest .project-copy{padding-right:64px}.side-quest .project-media{grid-row:2;min-height:540px}.side-quest .contribution img{display:none}.paper-showcase{padding:28px 0}.paper-back{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.paper-media{background:#fff;width:104%;height:100%;min-height:490px;margin-left:-2%;position:relative;overflow:hidden}.paper-media img{object-fit:cover;width:100%;height:100%}.paper-media video{width:100%}.media-placeholder{height:100%;min-height:490px}.showcase-sticker{width:128px;position:absolute;bottom:-20px;left:-32px;transform:rotate(-14deg)}.creative-showcase .project-media{grid-area:2/1;width:90%}.creative-showcase .project-copy{grid-column:2;padding:0 0 0 80px}.paper-link{color:#a8384c;background:url(/assets/e8248.svg) 50%/100% 100% no-repeat;align-self:start;margin-top:auto;margin-bottom:60px;padding:24px;font-size:24px;font-weight:700;position:relative;transform:rotate(-2deg)}.paper-link:after{content:"";pointer-events:none;background:url(/assets/4854c.svg) 50%/100% 100% no-repeat;position:absolute;inset:-34px}.extra-media{margin-top:24px}.empty-projects{padding-top:100px;font-size:24px}@keyframes project-enter{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.experience-content h2{margin-bottom:100px}.experience-content h2 span{background:var(--burgundy);border-radius:12px;padding:0 40px;font-size:clamp(48px,4.8vw,72px);display:inline-block;transform:rotate(2deg)}.constellation{aspect-ratio:1384/564;width:100%;margin-top:40px;position:relative}.constellation-line{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.milestone{opacity:0;z-index:2;transition:opacity .25s;position:absolute}.milestone[data-revealed=true],.milestone:focus-within{opacity:1}.milestone-marker{width:52px;height:52px;padding:2px;transition:transform .25s;position:absolute;top:-26px;left:-26px}.milestone-marker:hover{transform:scale(1.15)}.milestone-marker img{width:100%;height:auto}.milestone-label{width:240px;color:var(--pink);letter-spacing:.06em;white-space:pre-line;pointer-events:auto;cursor:help;font-size:clamp(16px,1.6vw,24px);font-weight:600;line-height:1.2;position:absolute;top:34px;left:-20px}.milestone-bachelor .milestone-label{top:-20px;left:34px}.milestone-industrial .milestone-label{text-align:center;width:310px;top:-85px;left:-18px}.milestone-gamedev .milestone-label{text-align:right;left:-90px}.milestone-future .milestone-label{width:130px;top:34px;left:-78px}.milestone-future .milestone-marker{width:36px;height:36px;top:-18px;left:-18px}.experience-annotation{white-space:pre-line;letter-spacing:.04em;opacity:0;max-width:290px;font-size:clamp(15px,1.45vw,22px);font-weight:600;line-height:1.2;transition:opacity .25s;position:absolute}.experience-annotation[data-revealed=true]{opacity:1}.experience-note{z-index:5;color:#33252c;background:var(--cream) url(/assets/78bb4.svg) center/100% 100%;width:430px;max-width:90%;padding:36px 28px;position:absolute;top:48%;right:7%;transform:rotate(-1deg);box-shadow:3px 5px 8px #0005}.experience-note p{white-space:pre-line;font-size:20px;line-height:1.3}.contacts-content{flex-direction:column;min-height:calc(100svh - 232px);display:flex}.contact-collage{flex:1;min-height:580px;margin-top:40px;position:relative}.contact-card{isolation:isolate;width:44%;height:243px;transition:transform .25s;position:absolute}.contact-card:hover{transform:rotate(0)translateY(-5px)}.contact-paper{z-index:-1;width:100%;height:100%;position:absolute}.contact-text{flex-direction:column;gap:8px;display:flex;position:absolute;top:30%;left:10%}.contact-text strong{font-size:48px;font-weight:700;line-height:1.1}.contact-text>span{font:700 clamp(18px,1.6vw,24px) IBM Plex Mono,monospace}.contact-text strong span{font-size:42px;font-weight:400}.contact-sticker{width:128px;position:absolute;top:-24px;right:-28px}.telegram{color:var(--cream);top:0;left:6%;transform:rotate(5deg)}.email{color:#33252c;top:140px;right:0;transform:rotate(-4deg)}.instagram{color:#33252c;top:320px;left:10%;transform:rotate(4deg)}.email .contact-sticker,.instagram .contact-sticker{top:auto;bottom:-15px}footer{color:#bdbdbd;justify-content:space-between;padding:20px;font-size:23px;display:flex}@media (width>=1024px) and (width<=1250px){.site-header{width:calc(100% - 64px);padding-inline:0}.site-header nav{gap:24px}.site-header nav button{font-size:14px}.presentation-section{padding-inline:32px}.hero-layout{gap:50px}.designer{gap:10px}.sign{padding-inline:20px}.er{padding-inline:16px}.hero-actions{gap:30px}.contact-text strong{font-size:36px}.phone-one{left:-10px}.single-mobile-mockup .phone-one{left:70px}.contact-card{height:210px}.experience-note{width:360px}}@media (width<=1023px){html{scroll-snap-type:none}.site-header{width:auto;min-height:64px;padding:0;top:23px;left:32px;transform:none}.social-links{display:none}.menu-toggle{background:#ffffff05;border:1px solid #ffffff30;border-radius:24px;justify-content:center;align-items:center;width:72px;height:64px;font-size:32px;display:flex;box-shadow:0 4px 2px #0002}.menu-toggle img{width:32px;height:32px}.site-header nav{display:none}.site-header nav.is-open{background:#24181ded;border:1px solid #d6576e;border-radius:12px;flex-direction:column;align-items:stretch;gap:8px;width:min(326px,100vw - 64px);padding:24px;display:flex;position:absolute;top:80px;left:0;box-shadow:0 10px 25px #0008}.site-header nav button{text-align:left;font-size:16px}.presentation-section,.section-main{min-height:100svh;padding:120px 32px 64px}.section-inner{max-width:650px;min-height:0}.hero-layout{flex-direction:column;gap:52px;min-height:0;display:flex}.hero-copy{width:100%}.intro-name{margin-bottom:8px;font-size:20px}.hero-title{max-width:420px;font-size:32px}.product{margin-bottom:20px}.designer{gap:16px}.sign{padding:0 18px;font-size:32px;line-height:1.2}.er{max-width:100px;padding:0 16px}.hero-description{margin-top:34px;font-size:20px;line-height:1.2}.desktop-break{display:none}.hero-actions{justify-content:space-between;gap:32px;max-width:420px;margin-top:40px;padding:0}.primary-button{padding:12px 24px;font-size:14px}.hero-actions>a:nth-child(2){font-size:14px}.portrait-composition{width:100%;max-width:430px;margin:auto}.portrait-star{width:83px;top:-12px;right:-15px}.portrait-heart{width:83px;bottom:-16px;left:-12px}.selection-overlay{inset:-8px -16px -12px}.selection-frame{opacity:1;animation:none;top:calc(50% - 2px);transform:none}.handle{opacity:1;width:8px;height:8px;animation:none}.selection-cursor{width:19px;animation:none;top:100%;left:100%}h2{font-size:40px}.project-carousel{min-height:0}.project-content,.side-quest .project-content{flex-direction:column;min-height:0;display:flex}.project-content h2{order:0;margin-bottom:20px}.project-copy,.creative-showcase .project-copy,.side-quest .project-copy{order:1;padding:0}.contributions{gap:20px}.contribution{gap:8px}.contribution img{width:31px}.contribution p{margin-bottom:4px;font-size:16px}.contribution strong{font-size:16px;line-height:1.3}.carousel-controls,.side-quest .carousel-controls{order:2;align-self:flex-start;gap:19px;margin:40px 0 30px}.carousel-controls button{width:44px;height:44px;font-size:32px}.carousel-controls output{min-width:40px;font-size:20px}.project-media,.side-quest .project-media{order:3;width:100%;height:auto;min-height:0;margin:0}.phones{height:560px;min-height:560px}.phones .phone{width:238px;top:0}.phones .phone-one{left:-80px;transform:rotate(35deg)}.phones .phone-two{top:50px;left:170px;transform:rotate(35deg)}.single-mobile-mockup .phone-one{width:238px;top:0;left:50%;transform:translate(-50%)}.laptop{width:725px;max-width:none;margin-left:-73px}.project-description{max-width:none;margin-bottom:24px;font-size:16px;line-height:1.3}.side-quest .contribution img{display:block}.paper-showcase,.creative-showcase .project-media{width:100%;height:301px;min-height:301px;padding:26px 0}.paper-media,.media-placeholder{height:256px;min-height:0}.paper-media img{object-fit:cover}.showcase-sticker{width:70px;bottom:-10px;left:-15px}.paper-link{margin:30px 0 0;padding:20px;font-size:16px}.paper-link:after{inset:-15px}.creative-showcase .paper-media{background:#fff}.experience-content h2{white-space:nowrap;margin:0 0 70px}.experience-content h2 span{max-width:calc(100% + 36px);margin-left:-20px;padding:3px 22px;font-size:clamp(28px,10.25vw,40px)}.constellation{aspect-ratio:326/1428;max-width:326px;margin:0 auto}.milestone-marker{width:40px;height:40px;top:-20px;left:-20px}.milestone-label,.milestone-bachelor .milestone-label,.milestone-industrial .milestone-label,.milestone-gamedev .milestone-label,.milestone-future .milestone-label{text-align:right;letter-spacing:.03em;width:150px;font-size:16px;line-height:1.2;top:0;left:auto;right:26px;transform:translateY(-15%)}.milestone.right .milestone-label{text-align:left;width:145px;left:24px;right:auto}.milestone-industrial .milestone-label{width:145px}.milestone-gamedev .milestone-label{width:150px}.experience-annotation{letter-spacing:.03em;max-width:138px;font-size:16px}.experience-note{width:auto;max-width:none;padding:40px 24px;position:fixed;inset:auto 32px 24px;transform:none}.experience-note p{font-size:18px}.contacts-content{min-height:0}.contacts-content h2{max-width:350px}.contact-collage{flex-direction:column;gap:20px;min-height:0;margin:40px 0;display:flex}.contact-card{aspect-ratio:324/143;width:100%;max-width:440px;height:auto;position:relative;top:auto;left:auto;right:auto;transform:rotate(2deg)}.email{transform:rotate(-2deg)}.contact-text{gap:8px;top:28%;left:10%}.contact-text strong{font-size:28px}.contact-text strong span{font-size:26px}.contact-text>span{font-size:clamp(12px,3.4vw,16px)}.contact-sticker{width:70px;top:-12px;right:-12px}.email .contact-sticker,.instagram .contact-sticker{top:-12px;bottom:auto}footer{gap:10px;padding:0;font-size:12px;line-height:1.3}}@media (width<=374px){.presentation-section,.section-main{padding-inline:24px}.site-header{left:24px}.intro-name{font-size:17px}.hero-title{font-size:28px}.sign{padding:0 12px;font-size:28px}.designer{gap:12px}.hero-description{font-size:18px}.hero-actions{gap:16px}.primary-button{padding-inline:16px}.milestone-label,.milestone.right .milestone-label{width:125px;font-size:13px}.experience-annotation{max-width:116px;font-size:13px}.contact-text strong{font-size:24px}}.title-artwork{object-fit:contain;object-position:left;width:auto;max-width:100%;height:.9em}.creative-showcase .title-artwork{height:1.25em}.sign img{width:2.94em;max-width:none;height:auto}.sign{padding:10px 40px;line-height:1}.contacts-content h2 img{width:1019px;max-width:100%;height:auto}.experience-content h2>span>img{width:516px;max-width:100%;height:auto}.experience-content h2>span{padding:12px 40px}.milestone[data-revealed=true] .milestone-marker{animation:.3s ease-out milestone-pop}.milestone-label{opacity:0;transition:opacity .2s .12s}.milestone[data-revealed=true] .milestone-label,.milestone:focus-within .milestone-label{opacity:1}.constellation-line path{stroke-dasharray:10000;stroke-dashoffset:10000px}.contact-collage{min-height:540px}.hero-title .er{flex:none;width:2.575em}.portrait-composition{max-width:min(610px,77.8svh - 192.944px)}.hero-copy{max-width:720px}.sign{padding-inline:clamp(20px,2.65vw,40px)}@keyframes milestone-pop{0%{transform:scale(.8)}to{transform:scale(1)}}@media (width<=1023px){.sign{padding:3px 18px}.sign img{width:2.94em}.hero-title .er{width:2.575em}.portrait-composition{max-width:430px}.title-artwork{height:.9em}.creative-showcase .title-artwork{height:1em}.contacts-content h2 img{width:326px}.experience-content h2>span{padding:6px 22px}.experience-content h2>span>img{width:286px}.phones .phone-one{left:-75px}.phones .phone-two{left:160px}.phones{height:620px;min-height:620px}.single-mobile-mockup .phone-one{left:50%}.contact-collage{min-height:0}.milestone-marker{width:44px;height:44px;top:-22px;left:-22px}}@media (width<=374px){.sign{padding-inline:12px}}.phone{height:759px}.phone img,.phone video{width:159.61%;max-width:none;height:auto;position:absolute;top:-2.9%;left:-17.45%}.mobile-mockups .phone{transform:rotate(17.07deg)}.mobile-mockups .phone-one{top:40px;left:30px}.mobile-mockups .phone-two{top:-167px;left:430px}.experience-content h2 .sr-only{background:0 0;margin:0;padding:0;transform:none}@media (width<=1023px){.phone{height:508px}.mobile-mockups .phone-one{top:0;left:-80px;transform:rotate(35deg)}.mobile-mockups .phone-two{top:40px;left:190px;transform:rotate(35deg)}.hero-layout{gap:62px}.portrait-composition{margin-top:12px}}.project-content{animation:none}.project-content h2{grid-row:1}.media-gallery{width:100%;min-width:0;height:100%}.media-gallery figure{width:100%;height:100%;margin:0}.multiple-media{scroll-snap-type:x mandatory;scrollbar-color:var(--pink) transparent;display:flex;overflow-x:auto}.multiple-media figure{scroll-snap-align:start;flex:0 0 100%}.extra-media{padding-top:760px;position:relative}.phones:has(.extra-media){height:auto;min-height:900px}.milestone-future .milestone-marker{width:44px;height:44px;padding:7px;top:-22px;left:-22px}@media (width<=1023px){.extra-media{padding-top:560px}.phones:has(.extra-media){height:auto;min-height:760px}}@media (prefers-reduced-motion:reduce){.selection-frame{opacity:1;transform:none}.selection-cursor{display:none}.handle,.milestone,.experience-annotation,.milestone-label{opacity:1}.constellation-line path{stroke-dashoffset:0!important}}.contacts-content h2{min-width:0;max-width:100%}.contacts-content h2 picture{display:block}.contacts-content h2 img{object-fit:contain;width:min(1019px,100%);height:auto}.floating-note{z-index:80;visibility:hidden;width:min(430px,100vw - 40px);max-width:none;max-height:calc(100dvh - 40px);margin:0;position:fixed;inset:auto;overflow-y:auto;transform:none}.paper-action{isolation:isolate;place-items:center;width:min(378px,100%);min-height:77px;margin-top:auto;margin-bottom:60px;display:grid;position:relative;transform:rotate(-2deg)}.paper-action-background{z-index:-1;width:100%;height:auto;position:absolute}.paper-action-circle{z-index:-1;pointer-events:none;width:122%;max-width:none;height:auto;position:absolute;transform:rotate(-8deg)}.paper-action-label{color:var(--burgundy);padding:20px;font-size:clamp(16px,1.6vw,24px);font-weight:700}@media (width>=1024px) and (height<=540px){.side-quest .paper-action{flex-shrink:0;width:min(280px,100%);min-height:64px;margin-bottom:16px}.side-quest .paper-action-label{padding:16px;font-size:16px}}@media (width>=1024px){.section-experience,.section-design-cases,.section-side-quests{--section-top:clamp(120px, 17.1svh, 168px);--section-bottom:clamp(32px, 6.5svh, 64px);--content-height:calc(100svh - var(--section-top) - var(--section-bottom));padding-top:var(--section-top);padding-bottom:var(--section-bottom)}.section-experience .section-inner,.section-design-cases .section-inner,.section-side-quests .section-inner{min-height:0}.experience-content{--heading-height:clamp(68px, 11svh, 112px);--chart-gap:clamp(20px, 4.8svh, 48px);--chart-height:max(210px, calc(var(--content-height) - var(--heading-height) - var(--chart-gap) - 30px));min-height:var(--content-height);gap:var(--chart-gap);flex-direction:column;display:flex}.experience-content h2{height:var(--heading-height);flex:none;margin:0}.experience-content h2>span{padding:10px 32px}.experience-content h2>span>img{width:min(516px, calc((var(--heading-height) - 20px) * 5.93))}.constellation{width:min(calc(100% - 40px), calc(var(--chart-height) * 2.4539));aspect-ratio:1384/564;flex:none;margin:0 auto}.milestone-label{font-size:clamp(16px,min(1.6vw,2.5svh),24px)}.experience-annotation{font-size:clamp(15px,min(1.45vw,2.3svh),22px)}.project-carousel{min-height:0;height:var(--content-height)}.project-content{grid-template-rows:auto minmax(0,1fr) 56px;grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:clamp(16px,3svh,32px) 20px;height:100%;min-height:0}.project-content h2{margin:0;font-size:clamp(44px,8svh,80px)}.project-copy{min-height:0}.contributions{gap:clamp(16px,4svh,40px)}.contribution p{font-size:clamp(16px,2.45svh,24px)}.contribution strong{font-size:clamp(20px,min(2.1vw,3.3svh),32px)}.contribution img{width:clamp(30px,4.5svh,44px)}.carousel-controls{align-self:end;margin:0}.carousel-controls button{font-size:clamp(44px,6.5svh,64px)}.carousel-controls output{font-size:clamp(28px,4.1svh,40px)}.project-media{grid-row:2;height:100%;min-height:0}.laptop{align-self:center;width:min(1053px,100% + 90px);max-width:none;height:100%;margin-left:-50px}.laptop .media-gallery,.laptop figure{height:100%}.laptop img,.laptop video{object-fit:contain;object-position:left center;width:100%;height:100%}.phones{--phone-width:min(355px, 47%, calc((var(--content-height) - 90px) * .43));grid-row:1/4;align-self:stretch;height:100%}.phones .phone{width:var(--phone-width);aspect-ratio:355/759;height:auto}.mobile-mockups .phone-one{top:20%;left:4%}.mobile-mockups .phone-two{top:-2%;left:60%}.single-mobile-mockup .phone-one{width:min(355px, 65%, calc((var(--content-height) - 40px) * .43));top:2%;left:34%}.side-quest .project-content{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,39fr) minmax(0,61fr)}.side-quest .carousel-controls{align-self:start}.side-quest .project-media{height:100%;min-height:0}.side-quest .project-copy{padding-right:clamp(24px,4vw,64px)}.project-description{margin-bottom:clamp(24px,5svh,52px);font-size:clamp(18px,min(1.85vw,3svh),28px)}.paper-showcase{padding-block:min(28px,3svh)}.paper-media,.media-placeholder{height:100%;min-height:0}.paper-media img,.paper-media video{object-fit:cover;width:100%;height:100%}.creative-showcase .project-media{width:min(90%, calc((var(--content-height) - 110px) * .85));justify-self:start}.creative-showcase .project-copy{padding:0 0 0 clamp(24px,5vw,80px)}.paper-action{margin-bottom:32px}.showcase-sticker{width:clamp(70px,12svh,128px)}}@media (width>=1024px) and (height<=650px){.section-experience,.section-design-cases,.section-side-quests{--section-top:108px;--section-bottom:28px}.site-header{top:24px}.project-content{row-gap:16px}.contributions{gap:16px}.contribution{gap:12px}.contribution p{font-size:16px}.contribution strong{font-size:20px}}@media (width<=1023px){.contacts-content h2{width:min(350px,100%)}.contacts-content h2 img{width:min(326px,100%)}.paper-action{width:min(280px,100%);min-height:64px;margin:32px 0 0}.paper-action-label{padding:16px;font-size:16px}.floating-note{padding:36px 24px}}@media (width>=1024px){.milestone-future .milestone-label{left:-96px}.milestone-industrial .milestone-label{text-align:left;top:calc(-2lh - 30px);left:34px}}@media (width>=1024px) and (height<=750px){.experience-annotation[data-annotation="3"],.experience-annotation[data-annotation="4"]{transform:translateY(12px)}.milestone-bachelor .milestone-label{top:-45px}.experience-annotation[data-annotation="1"]{transform:translate(-36px)}.experience-annotation[data-annotation="2"]{transform:none}}@media (width>=1024px) and (height<=599px){.experience-content{--chart-height:350px;min-height:calc(var(--heading-height) + var(--chart-gap) + 380px)}}.experience-note.floating-note{pointer-events:auto;width:fit-content;min-width:min(220px,100vw - 40px);max-width:min(460px,100vw - 40px);height:auto;max-height:calc(100dvh - 40px);box-shadow:none;filter:drop-shadow(3px 5px 5px #0005);background:url(/assets/milestone-paper.svg) 50%/100% 100% no-repeat;padding:32px;overflow:visible}.milestone-note-body{scrollbar-width:thin;scrollbar-color:#c9a99e transparent;max-height:calc(100dvh - 104px);overflow-y:auto}.milestone-note-body p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:20px;line-height:1.35}@media (width<=1023px){.experience-note.floating-note{padding:28px 24px}.milestone-note-body{max-height:calc(100dvh - 96px)}.milestone-note-body p{font-size:18px}}.project-title-text,.project-description,.contribution{overflow-wrap:anywhere}.project-description-group{min-width:0}@media (hover:hover) and (pointer:fine){.milestone-label,.secondary-label{transition:opacity .2s .12s,scale .18s;scale:1}.milestone:hover .milestone-label,.experience-annotation:hover .secondary-label{scale:1.04}}.project-description-group .project-description+.project-description{margin-top:16px}@media (width>=1024px){.side-quest .project-content h2{padding-right:260px}}@media (width<=1023px){.project-title-text{white-space:normal}.project-copy{flex:none}.contributions,.contribution,.project-description-group{flex-shrink:0}}@media (width>=1024px) and (hover:hover) and (pointer:fine){.constellation .milestone-label,.constellation .secondary-label{cursor:pointer}.milestone:hover>.milestone-marker{transform:scale(1.15)}.constellation .experience-annotation:hover>.secondary-star{transform:scale(1.1)}}.site-header{border-radius:24px;transition:background-color .3s,box-shadow .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s}.site-header.is-floating{background:#1f171ce6;box-shadow:inset 0 0 0 1px #ffffff24,inset 0 1px #ffffff12,0 8px 24px #0002}@supports ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){.site-header.is-floating{-webkit-backdrop-filter:blur(20px)saturate(125%);backdrop-filter:blur(20px)saturate(125%);background:#1f171cb8}}@media (width<=1023px){.site-header.is-floating{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.site-header.is-floating .menu-toggle,.site-header.is-floating nav.is-open{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#24181deb}}.constellation .milestone-label,.constellation .secondary-label{cursor:pointer}.constellation-hit-bridge{display:none}@media (width>=1024px){.milestone-industrial .milestone-label{text-align:left;top:calc(-2lh - 8px);left:34px}.constellation-hit-bridge{cursor:pointer;width:46px;height:48px;display:block;position:absolute;top:0;left:-20px}.milestone-bachelor .constellation-hit-bridge{width:44px;height:40px;top:-20px;left:0}.milestone-industrial .constellation-hit-bridge{width:44px;height:66px;top:-40px;left:0}.constellation .milestone-marker,.constellation .secondary-star{z-index:1;transition:transform .25s}.constellation .milestone-label{z-index:1}.constellation .milestone-label,.constellation .secondary-label{transition:opacity .2s .12s,scale .25s}.constellation .milestone:is(:hover,:focus-within)>.milestone-marker{transform:scale(1.15)}.constellation .experience-annotation:is(:hover,:focus-within)>.secondary-star{transform:scale(1.1)}.constellation .milestone:is(:hover,:focus-within)>.milestone-label{scale:1.03}.constellation .milestone-industrial>.milestone-label{transform-origin:0}.constellation .experience-annotation:is(:hover,:focus-within)>.secondary-label{scale:1.03}}@keyframes constellation-attention{0%,3%,33%,to{filter:drop-shadow(0 0 #0000)}16%{filter:drop-shadow(0 0 7px #d6576e80)}}@media (prefers-reduced-motion:no-preference){.milestone-industrial[data-revealed=true] .milestone-marker img,.milestone-industrial[data-revealed=true] .milestone-label{animation:12s ease-in-out infinite constellation-attention}.milestone-gamedev[data-revealed=true] .milestone-marker img,.milestone-gamedev[data-revealed=true] .milestone-label{animation:12s ease-in-out -6s infinite constellation-attention}.milestone:is(:hover,:focus-within) .milestone-marker img,.milestone:is(:hover,:focus-within) .milestone-label{filter:none;animation:none}}@media (prefers-reduced-motion:reduce){.site-header,.constellation .milestone-marker,.constellation .secondary-star,.constellation .milestone-label,.constellation .secondary-label{transition:none}}@media (width>=1024px){.constellation :is(.milestone,.experience-annotation):has(>[aria-expanded=true])>:is(.milestone-marker,.secondary-star){filter:drop-shadow(0 0 6px #ffaac680);animation:none;transform:scale(1)}.constellation :is(.milestone,.experience-annotation):has(>[aria-expanded=true])>:is(.milestone-label,.secondary-label){filter:none;text-shadow:0 0 8px #ffaac666;animation:none;scale:1}.constellation .milestone:has(>[aria-expanded=true]) .milestone-marker img{filter:none;animation:none}}.contact-stage{display:contents}@media (width>=1024px){.section-contacts{padding-bottom:18px}.section-contacts .section-inner,.contacts-content{min-height:calc(100svh - 186px)}.contacts-content footer{flex:none;padding-block:20px 0}.contact-stage{flex:1;align-items:center;min-height:650px;padding-top:40px;display:flex}.contact-stage .contact-collage{flex:none;width:100%;height:610px;min-height:610px;margin:0}}.project-content h2{min-width:0}.project-title-text{display:block}.design .contribution strong{font-size:clamp(17px,min(1.6vw,2.45svh),24px)}.laptop-composite{aspect-ratio:1053/610;width:100%;position:relative}.laptop-composite>img:not(.laptop-screen){width:100%;height:auto;position:relative}.laptop-composite>.laptop-screen{object-fit:cover;object-position:left top;width:78%;height:87%;position:absolute;top:2.1%;left:11.1%}.phone-hardware{background:linear-gradient(#ded5db,#56535d 2%,#08090b 8%,#151318 85%,#77717b 98%,#d4c6ce);border:3px solid #84818a;border-radius:15.7%/7.4%;width:100%;height:100%;padding:3%;position:relative;box-shadow:22px 38px 48px #0009,45px 85px 100px 7px #0007}.composed-mockups .phone-hardware img{object-fit:cover;border:2px solid #030405;border-radius:13.4%/6%;width:100%;height:100%;position:static}.dynamic-island{background:#050507;border-radius:24px;width:28.3%;height:3.8%;position:absolute;top:3.25%;left:35.5%}.dynamic-island:after{content:"";aspect-ratio:1;background:radial-gradient(circle at 40% 35%,#32486c,#080c18 65%);border-radius:50%;width:10%;position:absolute;top:28%;right:12%}.phone-speaker{background:#525058;border-radius:2px;width:15.7%;height:.28%;position:absolute;top:.8%;left:42%}.secondary-star{width:44px;height:44px;padding:9px;position:absolute;top:-8px;left:-40px;transform:translate(-3px)}.secondary-star img{filter:grayscale()brightness(3);width:100%;height:auto}.secondary-star:hover{transform:translate(-3px)scale(1.15)}.experience-annotation:focus-within{opacity:1}.constellation .experience-annotation{align-items:flex-start;gap:12px;width:max-content;max-width:none;margin:0;display:flex;transform:none}.experience-annotation .secondary-label{max-width:290px;display:block}.constellation .secondary-star{flex:0 0 44px;width:44px;height:44px;margin:0;padding:9px;position:relative;top:auto;left:auto;transform:none}.constellation .secondary-star:hover{transform:scale(1.1)}.experience-annotation[data-star-side=right]{flex-direction:row-reverse}@media (width>=1024px){.annotation-hackathons .secondary-label{max-width:388px}.annotation-speaker .secondary-label{max-width:347px}}@media (width<=1023px){.experience-annotation .secondary-label{max-width:140px}}@media (width<=600px){.experience-annotation .secondary-label{max-width:112px}}@media (width<=374px){.constellation .experience-annotation{flex-direction:column}}.milestone-note-body h3{white-space:pre-line;color:#a8384c;margin:0 0 12px;font-size:24px;line-height:1.2}.side-quest .paper-action{z-index:4;grid-area:1/2;place-self:start end;width:min(378px,85%);margin:0}.side-quest .paper-action-label{white-space:nowrap;font-size:clamp(14px,1.6vw,24px)}.side-quest .paper-action-circle{width:114%;transform:none}.side-quest .project-content{grid-template-rows:auto minmax(0,1fr) 56px}.side-quest .project-content h2{max-width:72%;padding-right:0}.side-quest .carousel-controls{grid-area:3/1;place-self:end start}.side-quest .project-copy{grid-area:2/1}.side-quest .creative-showcase .project-copy{padding:0}.side-quest .creative-showcase{grid-template-columns:minmax(0,54fr) minmax(0,46fr)}.side-quest .creative-showcase .project-media{width:min(100%,calc((var(--content-height) - 150px) * .9));grid-column:2;justify-self:end}.side-quest .paper-media{background:0 0;width:96%;margin-inline:2%}.side-quest .creative-showcase .paper-media{width:83%;margin-inline:auto}.side-quest .paper-media img{object-fit:contain}.side-quest .project-description{margin-bottom:0}.side-quest .creative-showcase .project-description{max-width:none}.side-quest .creative-showcase .paper-back{height:90%;top:5%}.side-quest .project-description-group{flex-direction:column;gap:clamp(20px,4svh,40px);display:flex}.side-quest .project-description-group .project-description+.project-description{margin-top:0}.side-quest .contributions{margin-top:24px}.side-quest .contribution strong{font-size:clamp(18px,min(1.85vw,3svh),28px)}@media (width>=1024px){.side-quest .project-content{--previous-row-gap:clamp(16px,3svh,32px);--header-gap:calc(var(--previous-row-gap) + 24px);row-gap:var(--header-gap)}.side-quest .game-showcase .project-media{align-self:start;height:calc(100% + 48px)}.side-quest .creative-showcase .project-media{grid-row:2/4;padding-block:0}.side-quest .creative-showcase .paper-media{width:92%}.annotation-hackathons{max-width:388px}.annotation-speaker{max-width:347px}}@media (width<=1023px){.design .contribution strong{font-size:16px}.project-content h2{font-size:clamp(30px,7vw,48px)}.side-quest .project-content{row-gap:32px}.side-quest .project-content h2{max-width:100%;margin-bottom:0}.side-quest .paper-action{order:1;align-self:flex-start;width:min(280px,100%);margin:0}.side-quest .paper-action-label{white-space:normal;text-align:center;font-size:16px}.side-quest .carousel-controls{order:3;margin:12px 0 2px}.side-quest .project-media{order:4}.side-quest .creative-showcase .project-media{width:min(400px,100%);height:540px;margin-inline:auto}.side-quest .creative-showcase .paper-media{height:100%}.side-quest .project-copy{order:2;padding:0}.side-quest .project-description-group{gap:24px}.phones.composed-mockups{height:min(660px,120vw);min-height:0;margin-top:20px}.composed-mockups .phone{aspect-ratio:355/759;width:38%;height:auto}.composed-mockups .phone-one{top:18%;left:11%;transform:rotate(17.07deg)}.composed-mockups .phone-two{top:5%;left:50%;transform:rotate(17.07deg)}.laptop{width:100%;max-width:100%;margin:0}.laptop-composite{width:100%}.secondary-star{width:40px;height:40px;padding:10px;left:-32px}.annotation-horizons{margin-left:28px}.annotation-hackathons{transform:translateY(-36px)}.experience-annotation{max-width:140px;font-size:14px}}@media (width>=768px) and (width<=1023px){.section-inner{max-width:800px}.hero-title{max-width:560px;font-size:64px}.sign{font-size:64px}.hero-title .er{max-width:none}.intro-name,.hero-description{font-size:24px}.hero-actions{justify-content:flex-start;gap:40px;max-width:500px}.primary-button{padding-inline:40px;font-size:24px}.hero-actions>a:nth-child(2){font-size:22px}.portrait-composition{max-width:321px}.contribution p,.design .contribution strong{font-size:20px}.contributions{gap:28px}.phones.composed-mockups{width:min(650px,100%);height:700px;margin-inline:auto}.composed-mockups .phone{width:32%}.composed-mockups .phone-one{left:16%;transform:rotate(26deg)}.composed-mockups .phone-two{top:15%;left:53%;transform:rotate(26deg)}.side-quest .project-description{font-size:22px}.side-quest .paper-showcase{height:440px}.side-quest .paper-media{height:100%}.contact-card{max-width:540px}.contact-collage{align-items:center}}@media (width>=1024px) and (height<=800px){.design .contributions{gap:20px}.design .contribution p,.design .contribution strong{font-size:17px}.side-quest .project-description,.side-quest .contribution strong{font-size:18px}.side-quest .project-description-group{gap:20px}.side-quest .contributions{margin-top:16px}}@media (width>=1024px) and (height<=599px){.project-carousel{height:auto}.project-content{height:auto;min-height:600px}}@media (width>=1024px) and (height<=650px){.side-quest .project-content{--previous-row-gap:16px}}.paper-action>img{pointer-events:none}.design .project-media{overflow:visible}@media (width>=1024px){.design .phones{--phone-width:clamp(320px,23.5vw,420px);--phone-gap:clamp(12px,1vw,16px);--phone-one-top:clamp(180px,15vw,240px)}.design .composed-mockups .phone-one{left:calc(var(--phone-width) * .18);top:var(--phone-one-top)}.design .composed-mockups .phone-two{left:calc(var(--phone-width) * .18 + (var(--phone-width) + var(--phone-gap) + (var(--phone-one-top) - 24px) * sin(17.07deg)) / cos(17.07deg));top:24px}.design .laptop{align-self:stretch;width:100%;max-width:none;height:100%;margin:0}.design .laptop-composite{width:clamp(1053px,69.65vw,1340px);max-width:none;position:absolute;top:0;left:-80px}}@media (width<=767px){.design .phones.composed-mockups{--phone-width:clamp(210px,60vw,270px);--phone-gap:10px;height:600px}.design .composed-mockups .phone{width:var(--phone-width);transform:rotate(37.18deg)}.design .composed-mockups .phone-one{top:40px;left:-18%}.design .composed-mockups .phone-two{left:calc(-18% + (var(--phone-width) + var(--phone-gap) - 48px * sin(37.18deg)) / cos(37.18deg));top:88px}.design .laptop{width:100%;min-height:380px;margin:0;position:relative}.design .laptop-composite{width:clamp(640px,160vw,820px);max-width:none;position:absolute;top:0;left:-28px}}@media (width>=768px) and (width<=1023px){.design .phones.composed-mockups{--phone-width:clamp(270px,39vw,355px);--phone-gap:12px;width:100%;height:760px}.design .composed-mockups .phone{width:var(--phone-width);transform:rotate(37.18deg)}.design .composed-mockups .phone-one{top:40px;left:18%}.design .composed-mockups .phone-two{left:calc(18% + (var(--phone-width) + var(--phone-gap) - 48px * sin(37.18deg)) / cos(37.18deg));top:88px}.design .laptop{width:100%;min-height:620px;margin:0;position:relative}.design .laptop-composite{width:clamp(900px,125vw,1100px);max-width:none;position:absolute;top:0;left:-40px}}.hero-actions>a{align-items:center;min-height:44px;display:inline-flex}@media (width>=1024px) and (height<=850px) and (orientation:landscape){.section-main{padding-top:clamp(128px,100svh - 656px,184px)}.section-main .hero-description{margin-top:clamp(24px,100svh - 760px,64px)}.section-main .hero-actions{padding-top:clamp(24px,100svh - 764px,60px)}}@media (width<=1023px){.hero-actions{flex-wrap:wrap;justify-content:flex-start;gap:16px 36px;width:fit-content;max-width:100%}.section-contacts{--contacts-bottom:max(18px, env(safe-area-inset-bottom,0px));min-height:100dvh;padding-bottom:var(--contacts-bottom)}.section-contacts .contacts-content{min-height:calc(100dvh - 120px - var(--contacts-bottom))}.contacts-content footer{flex:none;margin-top:auto}}@media (width<=374px){.hero-actions{column-gap:24px}}@media (width>=1024px) and (width<=1199px) and (orientation:portrait){html{scroll-snap-type:none}.presentation-section{scroll-snap-align:none;scroll-snap-stop:normal}.section-main,.section-design-cases,.section-side-quests{min-height:0;padding:144px 48px 64px}.section-main .section-inner,.section-design-cases .section-inner,.section-side-quests .section-inner{max-width:800px;min-height:0}.hero-layout{flex-direction:column;gap:62px;min-height:0;display:flex}.hero-copy{width:100%;max-width:none}.intro-name{font-size:24px}.hero-title{max-width:560px;font-size:64px}.product{margin-bottom:20px}.designer{gap:16px}.sign{padding:3px 18px}.er{padding-inline:16px}.hero-description{margin-top:34px;font-size:24px;line-height:1.2}.desktop-break{display:none}.hero-actions{gap:40px;margin-top:40px;padding:0}.primary-button{font-size:24px}.hero-actions>a:nth-child(2){font-size:22px}.portrait-composition{width:100%;max-width:321px;margin:12px auto 0}.portrait-star{width:83px;top:-12px;right:-15px}.portrait-heart{width:83px;bottom:-16px;left:-12px}.project-carousel{height:auto;min-height:0}.project-content,.side-quest .project-content{flex-direction:column;gap:32px;height:auto;min-height:0;display:flex}.project-content h2,.side-quest .project-content h2{order:0;max-width:100%;margin:0;padding:0;font-size:48px}.project-copy,.side-quest .project-copy{flex:none;order:1;padding:0}.contributions{gap:28px}.contribution{gap:16px}.contribution p,.design .contribution strong{font-size:20px}.contribution strong,.side-quest .contribution strong{font-size:22px}.project-description,.side-quest .project-description{max-width:none;margin-bottom:0;font-size:22px}.side-quest .project-description-group{gap:24px}.paper-action,.side-quest .paper-action{order:2;align-self:flex-start;width:280px;min-height:64px;margin:0}.paper-action-label,.side-quest .paper-action-label{padding:16px;font-size:16px}.carousel-controls,.side-quest .carousel-controls{order:3;align-self:flex-start;gap:24px;margin:0}.carousel-controls button{font-size:44px}.carousel-controls output{font-size:28px}.project-media,.side-quest .project-media{flex:none;order:4;align-self:center;width:100%;min-height:0;margin:0}.design .phones.composed-mockups{--phone-width:312px;height:800px}.design .composed-mockups .phone{width:var(--phone-width);transform:rotate(37.18deg)}.design .composed-mockups .phone-one{top:40px;left:18%}.design .composed-mockups .phone-two{left:calc(18% + (var(--phone-width) + 12px - 48px * sin(37.18deg)) / cos(37.18deg));top:88px}.design .single-mobile-mockup .phone-one{width:312px;top:20px;left:50%;transform:translate(-50%)}.design .single-mobile-mockup{height:720px}.design .laptop{max-width:none;height:620px;position:relative}.design .laptop-composite{width:1000px;top:0;left:-40px}.side-quest .game-showcase .project-media{height:500px}.side-quest .creative-showcase .project-media{width:420px;max-width:100%;height:600px;padding-block:0}.side-quest .paper-media{height:100%}.section-experience{min-height:0;padding-block:144px 80px}.experience-content{min-height:0}}.portfolio-home[hidden]{display:none}.project-gallery{width:100%}@media (width>=1024px){.section-design-cases,.section-side-quests{--content-top:var(--section-top)}.section-contacts{--content-top:168px}:is(.section-design-cases,.section-side-quests,.section-contacts)>.section-inner{top:max(calc(var(--content-top) / -2), calc(112px - var(--content-top)));position:relative}}@media (width>=1024px) and (width<=1199px) and (orientation:portrait){.section-design-cases,.section-side-quests{--content-top:144px}}@media (width>=1200px) and (height<=850px){.section-design-cases,.section-side-quests{--content-top:130px}}@media (width>=1200px) and (height>=851px){.section-design-cases,.section-side-quests{--content-top:144px}}.project-gallery h2{margin:0 0 40px;font-size:clamp(40px,4.76vw,72px)}.project-gallery-grid{grid-template-columns:repeat(3,minmax(0,420px));justify-content:space-between;gap:40px 32px;display:grid}.project-preview-card{isolation:isolate;aspect-ratio:420/300;color:#33252c;flex-direction:column;justify-content:space-between;gap:16px;min-width:0;padding:20px;transition:transform .18s;display:flex;position:relative}.preview-paper{z-index:-1;width:calc(100% + 2px);max-width:none;height:calc(100% + 2px);position:absolute;inset:-1px}.preview-image{aspect-ratio:380/180;object-fit:cover;width:100%;height:auto}.preview-caption h3{overflow-wrap:anywhere;margin:0;font-size:clamp(18px,1.85vw,28px);font-weight:700;line-height:1.2}.preview-caption h3 span{white-space:nowrap;font-family:IBM Plex Mono,monospace}.preview-tags{color:#33252c80;flex-wrap:wrap;gap:4px 8px;margin:4px 0 0;padding:0;font-size:clamp(12px,1.19vw,18px);font-weight:700;line-height:1.2;list-style:none;display:flex}.project-preview-card:hover{transform:translateY(-4px)rotate(-.4deg)}.project-preview-card:focus-visible{outline:3px solid var(--bright-pink);outline-offset:8px}.project-loading{min-height:100svh;padding:180px 64px}.project-detail{--content-height:calc(100svh - 208px);background:linear-gradient(112deg,#111 18%,#181214 55%,#3f1e24 100%);min-height:100svh;padding:144px 64px 64px;overflow-x:clip}.project-detail>.project-content{max-width:1480px;min-height:var(--content-height);grid-template-rows:auto minmax(540px,1fr) auto;row-gap:64px;height:auto;margin:auto}.detail-heading{z-index:2;grid-area:1/1/auto/-1;align-items:baseline;gap:24px;min-width:0;display:flex}.detail-heading h1{color:var(--cream);font-family:var(--chalk);overflow-wrap:anywhere;margin:0;font-size:clamp(36px,5.29vw,80px);font-weight:400;line-height:1.25}.detail-heading h1:focus{outline:none}.back-to-gallery{font-family:var(--chalk);color:var(--cream);flex:none;min-width:44px;min-height:44px;font-size:64px;line-height:1}.project-detail .project-copy{grid-area:2/1;padding-right:20px}.project-detail .project-media{grid-area:2/2}.project-detail.design .project-content{grid-template-columns:minmax(0,48fr) minmax(0,52fr)}.project-detail.design .contributions{gap:40px}.project-detail.design .contribution strong,.project-detail .contribution p{font-size:clamp(18px,1.59vw,24px)}.project-detail.design .laptop{height:100%;min-height:540px;position:relative}.project-detail.design .laptop-composite{width:clamp(900px,69.65vw,1200px);top:0;left:-32px}.project-detail.design .laptop>.media-gallery{width:clamp(900px,69.65vw,1200px);position:absolute;left:-32px}.project-detail.design .laptop>.media-gallery img{object-position:left top}.project-detail.design .phones{grid-row:1/4;min-height:700px}.project-detail.design .composed-mockups .phone{--phone-width:clamp(300px,23.5vw,420px);transform:rotate(17.07deg)}.project-detail.design .composed-mockups .phone-one{top:230px;left:4%}.project-detail.design .composed-mockups .phone-two{top:24px;left:68%}.project-detail.side-quest .project-content{grid-template-columns:minmax(0,39fr) minmax(0,61fr)}.project-detail.side-quest .creative-showcase{grid-template-columns:minmax(0,58fr) minmax(0,42fr)}.project-detail.side-quest .detail-heading{grid-column:1/-1;padding-right:0}.project-detail.side-quest:has(.detail-actions) .detail-heading{padding-right:380px}.detail-actions{z-index:3;grid-area:1/2;place-self:center end;width:min(371px,100%)}.project-detail.side-quest .detail-actions .paper-action{width:100%;margin:0;display:block;position:relative}.project-detail.side-quest .detail-actions .paper-action-label{font-size:clamp(14px,1.59vw,24px)}.project-detail.side-quest .project-media{width:100%;height:569px;min-height:0}.project-detail.side-quest .game-showcase .project-media{height:569px}.project-detail.side-quest .creative-showcase .project-media{grid-row:2;width:100%;height:610px}.project-detail.side-quest .creative-showcase .project-copy{grid-column:1;padding:0 40px 0 0}.project-detail .project-description,.project-detail.side-quest .contribution strong{font-size:clamp(20px,1.85vw,28px)}.project-status{color:var(--bright-pink);margin-bottom:24px;font-weight:600}.detail-coming-soon{color:#a8384c;text-transform:uppercase;background:#eac9d3;grid-area:1/2;place-self:center end;padding:20px;font-weight:700}.project-detail .project-chapter-navigation{grid-area:3/1/auto/-1}@media (width>=1200px) and (height<=850px){:is(.section-design-cases:has(.project-gallery),.section-side-quests:has(.project-gallery)){padding-top:130px}.project-gallery h2{margin-bottom:24px;font-size:48px}.project-gallery-grid{grid-template-columns:repeat(3,minmax(0,360px));gap:24px 32px}.project-preview-card{gap:12px;padding:16px}.preview-caption h3{font-size:23px}.preview-tags{font-size:14px}}@media (width<=1199px){.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.project-preview-card{aspect-ratio:auto;min-height:280px}.preview-caption h3{font-size:24px}.preview-tags{font-size:16px}.project-detail{padding:140px 40px 64px}.project-detail>.project-content{flex-direction:column;gap:32px;min-height:0;display:flex}.project-detail .detail-heading{order:0;padding-right:0!important}.project-detail .detail-actions,.project-detail .detail-coming-soon{order:1;align-self:flex-start}.project-detail .project-copy,.project-detail.side-quest .creative-showcase .project-copy{order:2;padding:0}.project-detail .project-media{order:3}.project-detail .project-chapter-navigation{order:4}.project-detail.design .contribution strong,.project-detail .contribution p{font-size:22px}.project-detail.design .laptop{width:100%;height:auto;min-height:0}.project-detail.design .laptop-composite{width:100%;position:relative;left:0}.project-detail.design .laptop>.media-gallery{width:100%;height:auto;position:relative;left:0}.project-detail.design .laptop>.media-gallery img{height:auto}.project-detail.design .phones.composed-mockups{width:100%;max-width:700px;height:700px;min-height:0}.project-detail.design .composed-mockups .phone{--phone-width:34%;width:34%;transform:rotate(17.07deg)}.project-detail.design .composed-mockups .phone-one{top:100px;left:10%}.project-detail.design .composed-mockups .phone-two{top:24px;left:55%}.project-detail.side-quest .project-media,.project-detail.side-quest .game-showcase .project-media{aspect-ratio:813/569;height:auto}.project-detail.side-quest .paper-media{height:100%;min-height:0}.project-detail.side-quest .creative-showcase .project-media{max-width:528px;height:610px;margin:auto}}@media (width<=600px){.project-gallery h2{margin-bottom:32px;font-size:clamp(28px,7.8vw,44px)}.project-gallery-grid{grid-template-columns:minmax(0,1fr);gap:28px}.project-preview-card{gap:18px;min-height:0;padding:18px}.preview-caption h3{font-size:clamp(20px,5.5vw,28px)}.preview-tags{font-size:14px}.project-detail{padding:120px 24px 48px}.detail-heading{align-items:flex-start;gap:12px}.detail-heading h1{font-size:clamp(28px,7.5vw,42px)}.back-to-gallery{min-width:32px;font-size:44px}.project-detail.design .contributions{gap:28px}.project-detail.design .contribution strong,.project-detail .contribution p{font-size:18px}.project-detail .project-description,.project-detail.side-quest .contribution strong{font-size:20px}.project-detail.design .phones.composed-mockups{height:125vw;max-height:650px}.project-detail.design .composed-mockups .phone-one{top:60px}.project-detail.side-quest .creative-showcase .project-media{aspect-ratio:528/610;width:min(100%,360px);height:auto}.project-detail .showcase-sticker{width:72px;left:-12px}.project-loading{padding:140px 24px}}@media (prefers-reduced-motion:reduce){.project-preview-card{transition:none}}@media (width>=1200px) and (height>=851px){:is(.section-design-cases:has(.project-gallery),.section-side-quests:has(.project-gallery)){padding-top:144px}}.project-detail.side-quest .detail-actions .paper-action{isolation:isolate;justify-content:center;align-items:center;min-height:78px;display:flex}.project-detail .detail-actions .paper-action-background{object-fit:fill;height:100%;inset:0}.project-detail .detail-actions .paper-action-circle{width:124%;top:50%;left:50%;transform:translate(-50%,-50%)}.project-detail .detail-actions .paper-action-label{text-align:center;padding:18px 12px;position:relative}@media (width>=1200px){.project-detail.side-quest .creative-showcase .project-media{width:min(528px,100%)}.project-detail.side-quest .creative-showcase .paper-media{width:82%}}.detail-coming-soon{isolation:isolate;background:0 0;position:relative}.detail-coming-soon img{z-index:-1;width:100%;height:100%;position:absolute;inset:0}@media (width>=1200px){.project-detail.side-quest .creative-showcase .project-media{height:569px;padding:0}.project-detail.side-quest .creative-showcase .paper-back{height:100%;top:0}.project-detail.side-quest .creative-showcase .paper-media{width:81.63%;height:623px;margin:0;position:absolute;top:-27px;left:9.09%}.project-detail.side-quest .creative-showcase .paper-media img{object-fit:cover}.project-detail.side-quest [data-source-node="160:2999"] .paper-media{height:592px;top:-11px}.project-detail.side-quest .creative-showcase .showcase-sticker{bottom:-40px}}@media (width<=600px){.project-detail.design:has(>.project-content.mobile-mockups>.phones.composed-mockups){padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}.project-detail.design>.project-content.mobile-mockups>.phones.composed-mockups{--detail-phone-width:calc((100vw - 48px) * .34);--detail-phone-height:calc(var(--detail-phone-width) * 759 / 355);height:calc(60px + (var(--detail-phone-height) * (1 + cos(17.07deg)) + var(--detail-phone-width) * sin(17.07deg)) / 2)}}@media (width>=1200px){.project-detail.design>.project-content.mobile-mockups{grid-template-rows:auto minmax(0,1fr) auto}.project-detail.design>.project-content.mobile-mockups:not(:has(>.project-chapter-navigation)){grid-template-rows:auto minmax(0,1fr)}.project-detail.design>.project-content.mobile-mockups>.phones.composed-mockups{overflow-clip-margin:64px;grid-row:1/-1;min-height:0;overflow:clip}}.detail-image-slot{display:contents}@media (width>=1200px){.project-detail.side-quest{--content-height:calc(100svh - 144px);padding-bottom:0}.project-detail.side-quest>.project-content{grid-template-rows:auto minmax(0,1fr) auto}.project-detail.side-quest>.project-content:not(:has(>.project-chapter-navigation)){grid-template-rows:auto minmax(0,1fr)}.project-detail.side-quest .detail-image-slot{width:100%;min-width:0;height:var(--composition-height,569px);grid-area:2/2;align-self:start;display:block;position:relative}.project-detail.side-quest .creative-showcase .detail-image-slot{width:min(528px,100%)}.project-detail.side-quest .detail-image-slot>.project-media{top:var(--composition-offset,0px);left:var(--composition-left,0px);transform-origin:0 0;transform:scale(var(--composition-scale,1));position:absolute}}@media (width>=1601px){.project-detail.design>.project-content.mobile-mockups>.phones.composed-mockups{clip-path:inset(-144px -100vw -64px);overflow:visible}.project-detail.design .mobile-mockups>.composed-mockups .phone{width:34%}.project-detail.design .mobile-mockups>.composed-mockups .phone-one{top:148px;left:10%}.project-detail.design .mobile-mockups>.composed-mockups .phone-two{top:72px;left:55%}}@media (width>=1200px) and (prefers-reduced-motion:no-preference){.project-detail.design .mobile-mockups>.composed-mockups .phone{transition:width .3s,left .3s,top .3s}}
