.mobile-resume-editorial{display:none}
@font-face{font-family:ResumeCondensed;src:url('assets/barlow-condensed-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 body .personal-introduction{background:#f7f7f7!important;color:#242424!important;padding:72px 0 0!important;height:auto!important;min-height:100svh;overflow:visible!important;display:block!important}
 .personal-introduction>.about-heading,.personal-introduction>.about-portrait,.personal-introduction>.career-orbit,.personal-introduction>.resume-toggle,.personal-introduction>.about-footer{display:none!important}
 .mobile-resume-editorial{display:block;width:100%;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
 .resume-portrait-hero{height:340px;position:relative;overflow:hidden;background:#f7f7f7;isolation:isolate}
 .resume-portrait-hero img{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:100%;width:100%;object-fit:cover;object-position:50% 45%;z-index:-1;mix-blend-mode:multiply}
 .resume-portrait-hero h2{position:absolute;left:6%;top:32%;font-size:27px;font-weight:500;line-height:1.2;margin:0;letter-spacing:-.5px}
 .resume-portrait-hero>p{position:absolute;right:5%;top:33%;font-size:12px;line-height:1.8;margin:0;font-weight:500;text-align:right}
 .resume-dark-content{padding:33px 7% 55px;background:#252724;color:#f2f2ef}
 .resume-profile-intro>h2,.resume-history>h2{font-size:13px;letter-spacing:1px;font-weight:500;color:#aeb1a8;margin:0 0 18px}
 .resume-summary{font-size:16px;line-height:1.9;color:#deded9;margin:0 0 20px}
 .resume-expertise{display:flex;flex-wrap:wrap;gap:7px 8px}.resume-expertise span{background:#e7e9e3;color:#30332d;border-radius:7px;padding:6px 10px;font-size:11px;line-height:1.4}
 .resume-history{margin-top:44px}
 .resume-history .job{display:flex!important;flex-direction:column;gap:0!important;padding:25px 0 29px!important;margin:0!important;border:0!important;border-top:1px solid #ffffff20!important;background:transparent!important}
 .resume-history .job>.period{order:2;font-size:12px!important;color:#92958c!important;line-height:1.6!important;margin:0!important;letter-spacing:0!important}
 .resume-history .job>div:not(.period){display:contents}
 .resume-history .job h2{order:0;font-size:21px!important;font-weight:400!important;line-height:1.4!important;margin:0 0 6px!important;letter-spacing:-.3px!important;color:#f0f0eb!important}
 .resume-history .job h3{order:1;font-size:14px!important;font-weight:400!important;color:#c6c8bf!important;line-height:1.6!important;margin:0 0 5px!important}
 .resume-history .job small{order:3;font-size:11px!important;line-height:1.7!important;color:#8e9188!important;margin-top:10px!important}
 .resume-history .job p{order:4;font-size:15px!important;line-height:1.85!important;color:#cbcdc3!important;margin:14px 0 0!important}
 .resume-history .job ul{order:5;padding:0 0 0 17px!important;margin:11px 0 0!important}.resume-history .job li{font-size:14px!important;line-height:1.9!important;color:#a9ada1!important;padding-left:2px;margin:0 0 5px!important}
 .resume-history .job blockquote,.resume-history .job .anchor{display:none}
 html body.mobile-resume-visible header{background:#f7f7f7!important;transition:background .2s!important}html body.mobile-resume-visible header .logo,html body.mobile-resume-visible .mobile-menu-toggle{color:#252724!important}html body.mobile-resume-visible header::after{display:none!important}
 html body.mobile-resume-dark header{background:#252724!important}html body.mobile-resume-dark header .logo,html body.mobile-resume-dark .mobile-menu-toggle{color:#f1f2eb!important}
 .mobile-hero-caption>small{font-family:ResumeCondensed,sans-serif!important;font-weight:600!important;font-size:52px!important;line-height:1!important;letter-spacing:0!important;font-variant-numeric:tabular-nums}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 body .personal-introduction{background:#f7f7f7!important}
 .resume-portrait-hero{position:sticky;top:72px;z-index:12;height:285px;background:#f7f7f7;box-shadow:0 1px 0 #00000008}
 .resume-portrait-hero img{width:100%;height:100%;object-fit:contain;object-position:50% 100%;mix-blend-mode:multiply;transform:translateX(-50%) scale(.87);transform-origin:50% 100%}
 .resume-portrait-hero h2{top:52%;left:6%;font-size:25px}.resume-portrait-hero>p{top:53%;right:5%;font-size:11px}
 .resume-profile-intro>h2,.resume-history>h2{display:none!important}
 .resume-dark-content{padding-top:29px}.resume-history{margin-top:29px}
 html body.mobile-resume-visible header,html body.mobile-resume-dark header{background:#f7f7f7!important;box-shadow:none!important}
 html body.mobile-resume-visible header .logo,html body.mobile-resume-visible .mobile-menu-toggle,html body.mobile-resume-dark header .logo,html body.mobile-resume-dark .mobile-menu-toggle{color:#252724!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 body .personal-introduction,.resume-portrait-hero,html body.mobile-resume-visible header,html body.mobile-resume-dark header{background:#f6f6f6!important}
 .resume-portrait-hero img{mix-blend-mode:normal!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .resume-portrait-hero{height:245px}
 .resume-portrait-hero img{transform:translateX(-50%) scale(1);object-fit:cover;object-position:50% 53%}
 .resume-portrait-hero h2{top:44%}.resume-portrait-hero>p{top:45%}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .resume-portrait-hero{height:265px}
 .resume-portrait-hero img{height:100%;width:100%;object-fit:contain;object-position:50% 100%;transform:translateX(-50%) scale(1);transform-origin:50% 100%}
 .resume-portrait-hero h2{top:49%}.resume-portrait-hero>p{top:50%}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .resume-portrait-hero{border-radius:0 0 12px 12px;box-shadow:none;transition:box-shadow .25s ease}
 .resume-portrait-hero.has-scroll-shadow{box-shadow:0 10px 24px #00000028,0 2px 5px #00000014}
 .resume-dark-content{margin-top:-12px;padding-top:41px}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction{scroll-snap-align:none!important;scroll-snap-stop:normal!important}
 .resume-portrait-hero{overflow:visible!important;background:linear-gradient(145deg,#f6f6f6fa,#f6f6f6d9 70%,#ffffff9e)!important;border:1px solid #ffffffa6;border-top:0;border-radius:0 0 12px 12px;backdrop-filter:blur(20px) saturate(115%);-webkit-backdrop-filter:blur(20px) saturate(115%);isolation:isolate}
 .resume-portrait-hero img{border-radius:0 0 12px 12px;mask-image:linear-gradient(to bottom,#000 0%,#000 82%,#000f 92%,#000d 100%)}
 .resume-portrait-hero::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;border-bottom:1px solid #ffffffc9;box-shadow:inset 1px 0 0 #ffffff9c,inset -1px 0 0 #b4bab64a,inset 0 -3px 3px #ffffff60;background:linear-gradient(125deg,#ffffff12,transparent 45%,#ffffff0a 80%,#ffffff24)}
 .resume-portrait-hero.has-scroll-shadow{box-shadow:0 2px 0 #a9b1ac6b,0 4px 0 #ffffff3d,0 12px 25px #00000030}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .resume-portrait-hero,.resume-portrait-hero.has-scroll-shadow{border:0!important;box-shadow:none!important;background:#f6f6f6f5!important;transition:none!important;mask-image:linear-gradient(to bottom,#000 0%,#000 94%,#000f 97%,#000e 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 94%,#000f 97%,#000e 100%)}
 .resume-portrait-hero::after{border:0!important;box-shadow:none!important;background:none!important}
 .resume-portrait-hero img{mask-image:linear-gradient(to right,#000e 0%,#000 5%,#000 95%,#000e 100%);-webkit-mask-image:linear-gradient(to right,#000e 0%,#000 5%,#000 95%,#000e 100%)}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .resume-portrait-hero img{width:100%;height:auto;min-height:100%;max-width:none;object-fit:initial;left:0;bottom:0;transform:none!important;mask-image:none!important;-webkit-mask-image:none!important}
 .resume-portrait-hero{overflow:hidden!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .resume-portrait-hero{position:relative!important;top:auto!important;height:auto!important;aspect-ratio:2872/2160;overflow:hidden!important}
 .resume-portrait-hero img{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;object-position:center!important;transform:none!important;mask-image:none!important;-webkit-mask-image:none!important}
 .resume-dark-content{margin-top:0!important;padding-top:29px!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction{overflow:visible!important;scroll-snap-align:start!important;scroll-snap-stop:always!important}
 .mobile-resume-editorial,.resume-dark-content{overflow:visible!important;height:auto!important;max-height:none!important}
 .resume-portrait-hero{position:relative!important;top:auto!important;mask-image:linear-gradient(to bottom,#000 0%,#000 72%,#000f 80%,#000c 89%,#0008 96%,#0005 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,#000f 80%,#000c 89%,#0008 96%,#0005 100%)!important}
 .resume-portrait-hero img{mask-image:linear-gradient(to right,#000b 0%,#000e 7%,#000 17%,#000 83%,#000e 93%,#000b 100%)!important;-webkit-mask-image:linear-gradient(to right,#000b 0%,#000e 7%,#000 17%,#000 83%,#000e 93%,#000b 100%)!important}
}
/* Final mobile portrait behaviour: document scroll, full image, visible edge fade. */
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 body .personal-introduction{background:linear-gradient(#f6f6f6 0 72px,#252724 72px)!important;scroll-snap-align:none!important;scroll-snap-stop:normal!important}
 .resume-portrait-hero{position:relative!important;top:auto!important;height:auto!important;aspect-ratio:2872/2160;background:#f6f6f6!important;border:0!important;box-shadow:none!important;overflow:hidden!important;mask-image:linear-gradient(#000 0%,#000 75%,#000f 83%,#000c 91%,#0008 97%,#0005 100%)!important;-webkit-mask-image:linear-gradient(#000 0%,#000 75%,#000f 83%,#000c 91%,#0008 97%,#0005 100%)!important}
 .resume-portrait-hero img{inset:0!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;transform:none!important;mask-image:none!important;-webkit-mask-image:none!important}
 .resume-portrait-hero::after{display:none!important}
 .resume-portrait-hero h2,.resume-portrait-hero>p{z-index:1}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 body .personal-introduction{height:100svh!important;min-height:0!important;padding-top:72px!important;padding-bottom:0!important;overflow:hidden!important;scroll-snap-align:none!important}
 .mobile-resume-editorial{height:100%!important;display:flex!important;flex-direction:column;overflow:hidden!important}
 .resume-portrait-hero{flex:0 0 auto;height:clamp(200px,29svh,285px)!important;aspect-ratio:auto!important}
 .resume-dark-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden!important;padding:20px 7% 0!important}
 .resume-profile-intro{flex:0 0 auto;padding-bottom:20px}
 .resume-profile-intro .resume-summary{font-size:14px;line-height:1.8;margin-bottom:13px}
 .resume-history{flex:1;min-height:0;overflow-y:auto!important;overscroll-behavior-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;margin-top:0!important;padding-bottom:25px;scrollbar-width:none}
 .resume-history::-webkit-scrollbar{display:none}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .resume-portrait-hero{flex:0 0 auto!important;height:auto!important;aspect-ratio:2872/2160!important;background:#f6f6f6!important;mask-image:none!important;-webkit-mask-image:none!important}
 .resume-portrait-hero img{object-fit:contain!important;object-position:center!important;mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent)!important;-webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent)!important}
 .resume-dark-content{display:block!important;overflow-y:auto!important;overscroll-behavior-y:auto;touch-action:pinch-zoom;-webkit-overflow-scrolling:touch;padding:24px 7% 30px!important;scrollbar-width:none}
 .resume-history{height:auto!important;max-height:none!important;overflow:visible!important;padding-bottom:0!important;margin-top:26px!important}
 .resume-profile-intro{padding-bottom:0}
}
.mobile-section-next{display:none}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .mobile-section-next{display:flex;position:absolute;z-index:40;left:50%;bottom:8px;transform:translateX(-50%);width:92px;height:44px;align-items:center;justify-content:center;padding:8px;color:#e7e9e2;touch-action:manipulation}
 .mobile-section-next svg{width:72px;height:24px;overflow:visible}.mobile-section-next path{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
 .resume-dark-content{padding-bottom:58px!important}
 .projects-screen .mobile-section-next{bottom:8px}.perspective-archive .mobile-section-next{bottom:8px}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .resume-dark-content{mask-image:linear-gradient(to bottom,transparent 0px,#0006 15px,#000d 38px,#000 60px,#000 calc(100% - 72px),#000d calc(100% - 45px),#0006 calc(100% - 18px),transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0px,#0006 15px,#000d 38px,#000 60px,#000 calc(100% - 72px),#000d calc(100% - 45px),#0006 calc(100% - 18px),transparent 100%)!important}
 .personal-introduction{background:#252724!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction{position:relative!important;isolation:isolate}
 .resume-dark-content{position:relative;z-index:2;transition:transform .65s cubic-bezier(.2,.9,.25,1);will-change:transform}
 .resume-pulling .resume-dark-content{transition:none!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .projects-screen.folder-projects{overflow:hidden!important;height:100svh!important;min-height:650px!important;padding-top:92px!important;position:relative}
 .falling-project-folders{display:block!important;position:absolute!important;inset:135px 0 66px!important;width:100%!important;height:auto!important;margin:0!important;perspective:1100px}
 .falling-project-folders>button{--angle:-14deg;--folder-color:#a5b9d5;position:absolute!important;width:72%!important;height:29%!important;left:8%;top:0;padding:0!important;border-radius:12px 22px 18px 18px!important;background:var(--folder-color)!important;overflow:visible!important;box-shadow:0 2px 0 #ffffff60,0 5px 0 #1c26331f,0 18px 30px #00000030;transform:translateY(-110svh) rotate(calc(var(--angle) - 20deg));opacity:0;text-align:left;isolation:isolate}
 .falling-project-folders>button:nth-child(2){--angle:12deg;--folder-color:#b9accb;left:21%;top:23%;z-index:3}
 .falling-project-folders>button:nth-child(3){--angle:-11deg;--folder-color:#8c9ebe;left:5%;top:47%;z-index:4}
 .falling-project-folders>button:nth-child(4){--angle:10deg;--folder-color:#97b9ac;left:20%;top:70%;z-index:5}
 .mobile-folder-tab{position:absolute;left:0;top:-17px;width:43%;height:35px;background:var(--folder-color);border-radius:13px 18px 0 0;z-index:-1;box-shadow:inset 0 1px 0 #ffffff80}
 .falling-project-folders>button::after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid #ffffff65;border-radius:inherit;background:linear-gradient(135deg,#ffffff35,transparent 45%,#00000015);box-shadow:inset 0 -4px 0 #ffffff20,inset 0 -7px 0 #0000000c}
 .falling-project-folders>button strong{position:absolute;left:19px;right:17px;top:26%;font-size:19px!important;line-height:1.25!important;font-weight:500!important;color:#1b2827!important;text-shadow:0 1px 0 #ffffff35;z-index:2;margin:0!important}
 .falling-project-folders>button small{position:absolute;left:19px;bottom:20px;font-size:10px!important;color:#33463e!important;z-index:2;margin:0!important}
 .folders-arrived>button{animation:mobile-folder-fall 1.25s cubic-bezier(.18,.75,.25,1) calc(var(--folder-index)*.16s) both}
 @keyframes mobile-folder-fall{0%{opacity:0;transform:translateY(-110svh) rotate(calc(var(--angle) - 20deg))}12%{opacity:1}78%{transform:translateY(9px) rotate(calc(var(--angle) + 2deg))}100%{opacity:1;transform:translateY(0) rotate(var(--angle))}}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))) and (prefers-reduced-motion:reduce){.folders-arrived>button{animation:none;opacity:1;transform:rotate(var(--angle))}}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){.projects-screen .reference-folder-stage.reference-folder-grid.project-page-grid{display:none!important;visibility:hidden!important;pointer-events:none!important}}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .falling-project-folders>button strong{top:22%!important;left:18px!important;right:16px!important;font-size:17px!important;line-height:1.3!important}
 .falling-project-folders>button small{top:calc(22% + 49px)!important;bottom:auto!important;left:18px!important;right:15px!important;font-size:10px!important;line-height:1.5!important}
 .falling-project-folders>button:nth-child(1) small,.falling-project-folders>button:nth-child(3) small{top:calc(22% + 32px)!important}
}
.mobile-project-note{display:none}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .falling-project-folders{inset:177px 0 130px!important}
 .falling-project-folders>button{height:31%!important}
 .falling-project-folders>button:nth-child(2){top:22%!important}.falling-project-folders>button:nth-child(3){top:44%!important}.falling-project-folders>button:nth-child(4){top:66%!important}
 .falling-project-folders>button small,.falling-project-folders>button:nth-child(1) small,.falling-project-folders>button:nth-child(3) small{top:calc(22% + 32px)!important}
 .falling-project-folders>button strong{font-size:16px!important;white-space:nowrap;letter-spacing:-.4px}
 .mobile-project-title{position:relative;z-index:10}
 .mobile-project-note{display:block;position:absolute;bottom:68px;left:7%;right:7%;font-size:11px;line-height:1.8;color:#a7ada0;margin:0;text-align:center;pointer-events:none}
 .folders-arrived>button{animation:mobile-folder-fall 1.25s cubic-bezier(.18,.75,.25,1) calc(var(--folder-index)*.16s) both,mobile-folder-sway 6s ease-in-out calc(1.25s + var(--folder-index)*.16s) infinite}
 @keyframes mobile-folder-sway{0%,100%{transform:translateY(0) rotate(var(--angle))}50%{transform:translateY(-3px) rotate(calc(var(--angle) + 1.1deg))}}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))) and (prefers-reduced-motion:reduce){.folders-arrived>button{animation:none!important;opacity:1;transform:rotate(var(--angle))}}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .falling-project-folders>button{--folder-color:#c4d9ed!important}
 .falling-project-folders>button:nth-child(2){--folder-color:#a1bedc!important}
 .falling-project-folders>button:nth-child(3){--folder-color:#729bc5!important}
 .falling-project-folders>button:nth-child(4){--folder-color:#4778a8!important}
 .falling-project-folders>button strong{top:18%!important;right:18px!important;left:16px!important;text-align:right!important}
 .falling-project-folders>button small,.falling-project-folders>button:nth-child(1) small,.falling-project-folders>button:nth-child(3) small{top:calc(18% + 32px)!important;right:18px!important;left:16px!important;text-align:right!important}
 .falling-project-folders>button:nth-child(4) strong{color:#f3f7fc!important;text-shadow:none!important}.falling-project-folders>button:nth-child(4) small{color:#d6e5f4!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .falling-project-folders{inset:155px 0 140px!important}
 .falling-project-folders>button{--folder-color:#5d91bf!important}.falling-project-folders>button:nth-child(2){--folder-color:#447cac!important}.falling-project-folders>button:nth-child(3){--folder-color:#326695!important}.falling-project-folders>button:nth-child(4){--folder-color:#24517b!important}
 .falling-project-folders>button strong,.falling-project-folders>button small,.falling-project-folders>button:nth-child(4) strong,.falling-project-folders>button:nth-child(4) small{color:#fff!important;text-shadow:none!important}
 .falling-project-folders>button strong{top:16px!important}.falling-project-folders>button small,.falling-project-folders>button:nth-child(1) small,.falling-project-folders>button:nth-child(3) small{top:47px!important}
 .folders-arrived>button{animation:mobile-folder-fall 1.25s cubic-bezier(.18,.75,.25,1) calc(var(--folder-index)*.16s) both,mobile-folder-float 4.8s ease-in-out calc(1.3s + var(--folder-index)*.35s) infinite!important}
 @keyframes mobile-folder-float{0%,100%{rotate:-1.2deg;translate:0 0}50%{rotate:1.2deg;translate:0 -5px}}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))) and (prefers-reduced-motion:reduce){.folders-arrived>button{animation:none!important;opacity:1;transform:rotate(var(--angle))}}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .projects-screen.folder-projects .mobile-project-title{position:absolute!important;left:5%!important;top:108px!important;z-index:260!important;margin:0!important;font-size:27px!important;font-weight:400!important;color:#f1f2eb!important;opacity:1!important;filter:none!important;transform:none!important}
 .falling-project-folders{inset:190px 0 105px!important}
 .folders-arrived>button{animation:mobile-folder-fall 1.25s cubic-bezier(.18,.75,.25,1) calc(var(--folder-index)*.16s) both!important;rotate:0deg!important;translate:none!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))) and (prefers-reduced-motion:reduce){.folders-arrived>button{animation:none!important;opacity:1;transform:rotate(var(--angle))}}
.mobile-project-title-overlay{display:none}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .projects-screen.folder-projects .mobile-project-title{visibility:hidden!important}
 .mobile-project-title-overlay.is-visible{display:block;position:fixed;z-index:500;top:108px;left:5%;margin:0;font-size:27px;font-weight:400;line-height:1.3;color:#f1f2eb;pointer-events:none;filter:none}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){header .mobile-project-title-overlay.is-visible{position:fixed!important;z-index:10!important;color:#f1f2eb!important;opacity:1!important;filter:none!important;backdrop-filter:none!important}}
/* Frosted resume sheet overlaps the lower portrait, without a visible image edge. */
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .mobile-resume-editorial{position:relative;isolation:isolate}
 .resume-portrait-hero{position:relative!important;z-index:10!important;overflow:visible!important;border-radius:0!important;mask-image:none!important;-webkit-mask-image:none!important}
 .resume-portrait-hero img{border-radius:0!important;mask-image:none!important;-webkit-mask-image:none!important}
 .personal-introduction .resume-dark-content{z-index:20!important;flex:1;position:relative;margin:-48px 9px 0!important;padding:35px 20px 58px!important;border-radius:30px 30px 18px 18px;border:1px solid #ffffff30;background:linear-gradient(145deg,#5f6a60b0 0%,#303a32db 28%,#172019eb 76%,#111812f5 100%)!important;backdrop-filter:blur(34px) saturate(85%);-webkit-backdrop-filter:blur(34px) saturate(85%);box-shadow:inset 0 1px 0 #ffffff5c,0 12px 30px #00000026;mask-image:none!important;-webkit-mask-image:none!important}
 .resume-dark-content::before{content:'';position:sticky;display:block;top:0;width:35px;height:3px;margin:-19px auto 22px;background:#f3f5ec9e;border-radius:3px;pointer-events:none}
 .resume-dark-content .resume-summary{color:#e6e8e0!important}.resume-dark-content .resume-history .job h2{color:#f0f1eb!important}
 .resume-dark-content .resume-history .job{border-top-color:#ffffff26!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .resume-dark-content{border:0!important;border-radius:55px 55px 20px 20px!important;box-shadow:none!important;margin-top:-58px!important;padding-top:37px!important;background:linear-gradient(180deg,#39433938 0%,#202a2066 15%,#111a13a8 43%,#0b140de0 100%)!important;backdrop-filter:blur(24px) saturate(90%)!important;-webkit-backdrop-filter:blur(24px) saturate(90%)!important}
 .resume-dark-content::before{display:none!important}
 .personal-introduction .mobile-resume-editorial::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,transparent 0%,transparent 15%,#2527247a 58%,#252724 100%),url('assets/portrait-first-frame.jpg') center top / 100% auto no-repeat;pointer-events:none}
 .resume-portrait-hero{background:transparent!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .mobile-resume-editorial::before{background:linear-gradient(to bottom,#f6f6f600 0%,#f6f6f600 24%,#25272470 55%,#252724 85%),url('assets/portrait-first-frame.jpg') center top / auto 620px no-repeat!important;filter:blur(18px);inset:-20px!important}
}
/* Edge-to-edge glass, with the portrait fading behind its rounded shoulders. */
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .resume-dark-content{margin-left:0!important;margin-right:0!important;padding-left:28px!important;padding-right:28px!important;border-radius:55px 55px 0 0!important}
 .personal-introduction .resume-portrait-hero img{mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .resume-dark-content{border-radius:28px 28px 0 0!important}
 .personal-introduction .mobile-resume-editorial::before{background:linear-gradient(to bottom,#f6f6f6 0%,#f6f6f6 38%,#555a55 61%,#252724 85%)!important;filter:none!important;inset:0!important}
 .personal-introduction .resume-portrait-hero img{mask-image:none!important;-webkit-mask-image:none!important}
}
/* Readable text over restrained, genuinely translucent frosting. */
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .resume-dark-content{background:linear-gradient(180deg,rgba(27,34,29,.74),rgba(19,27,22,.79) 40%,rgba(12,21,15,.91))!important;backdrop-filter:blur(9px) saturate(95%)!important;-webkit-backdrop-filter:blur(9px) saturate(95%)!important}
 .personal-introduction .mobile-resume-editorial::before{background:linear-gradient(to bottom,transparent 0%,transparent 48%,#252724a6 73%,#252724 100%),url('assets/portrait-first-frame.jpg') center top / auto 620px no-repeat!important}
 .personal-introduction .resume-dark-content .resume-history .job>.period,.personal-introduction .resume-dark-content .resume-history .job small{color:#d1d4d0!important;opacity:1!important}
 .personal-introduction .resume-dark-content .resume-history .job h3,.personal-introduction .resume-dark-content .resume-history .job p,.personal-introduction .resume-dark-content .resume-history .job li{color:#e0e3df!important;opacity:1!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .mobile-resume-editorial{background:#252724;--portrait-height:min(calc(100vw * 2160 / 2872), 30svh)}
 .personal-introduction .mobile-resume-editorial::before{top:calc(var(--portrait-height) - 58px + var(--resume-pull,0px))!important;left:0!important;right:0!important;bottom:auto!important;height:var(--portrait-height)!important;background:url('assets/portrait-first-frame.jpg') center / auto 100% no-repeat!important;transform:scaleY(-1);mask-image:linear-gradient(to bottom,transparent,#000 88%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 88%);filter:none!important}
 .personal-introduction .resume-portrait-hero{height:calc(var(--portrait-height) + var(--resume-pull,0px))!important;aspect-ratio:auto!important;overflow:hidden!important;background:#f6f6f6!important;transition:height .45s cubic-bezier(.22,.75,.25,1)}
 .personal-introduction .resume-portrait-hero img{transform:scale(var(--portrait-zoom,1))!important;transform-origin:center bottom;transition:transform .45s cubic-bezier(.22,.75,.25,1)}
 .personal-introduction .resume-portrait-hero h2,.personal-introduction .resume-portrait-hero>p{opacity:var(--portrait-label-opacity,1);transition:opacity .3s}
 .personal-introduction.resume-pulling .resume-portrait-hero,.personal-introduction.resume-pulling .resume-portrait-hero img,.personal-introduction.resume-pulling .resume-portrait-hero h2,.personal-introduction.resume-pulling .resume-portrait-hero>p{transition:none!important}
}
/* Stretch the portrait surface as one piece; never expose its image rectangle. */
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .resume-portrait-hero img{top:auto!important;bottom:0!important;left:0!important;right:0!important;height:var(--portrait-height)!important;object-fit:contain!important;transform:scale(var(--portrait-zoom,1))!important;transform-origin:center bottom!important}
 .personal-introduction .resume-portrait-hero{overflow:hidden!important;background:#f6f6f6!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .resume-dark-content .resume-history .job>.period{font-family:ResumeCondensed,sans-serif!important;font-weight:600!important;font-size:14px!important;letter-spacing:.15px!important;font-variant-numeric:tabular-nums}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .mobile-resume-editorial{background:#000!important}
 .personal-introduction.resume-pulling .resume-dark-content{background-color:#101710!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .mobile-resume-editorial{background:#0e1710!important}
 .personal-introduction .resume-dark-content{background:linear-gradient(180deg,rgba(27,34,29,.74),rgba(19,27,22,.79) 40%,#0e1710 92%,#0e1710 100%)!important}
 .personal-introduction.resume-pulling .resume-dark-content{background-color:transparent!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .folder-open-cue{position:absolute;right:18px;top:72px;z-index:6;color:#fff;border:1px solid #ffffff90;border-radius:20px;padding:5px 11px;font-size:11px;line-height:1;pointer-events:none}
 dialog.kemi-viewer{width:100vw!important;max-width:none!important;height:100svh!important;max-height:100svh!important;margin:0!important;padding:64px 20px 24px!important;box-sizing:border-box;border-radius:0!important;overflow-y:auto!important;background:#252724!important}
 .kemi-viewer .kemi-viewer-layout{display:flex!important;flex-direction:column!important;height:auto!important;gap:28px!important}
 .kemi-viewer .kemi-slideshow{flex:none!important;height:auto!important;padding:0 8px 0 0!important;overflow:visible!important}
 .kemi-viewer .kemi-slide-stage{height:37svh!important;min-height:240px!important;position:relative!important;overflow:visible!important;isolation:isolate}
 .kemi-viewer .kemi-slide-stage::before,.kemi-viewer .kemi-slide-stage::after{content:'';position:absolute;inset:0;border-radius:17px;background:#858b83;transform:translate(7px,8px) scale(.98);z-index:-1;pointer-events:none}
 .kemi-viewer .kemi-slide-stage::after{transform:translate(13px,15px) scale(.96);opacity:.45;z-index:-2}
 .kemi-viewer .kemi-slide{width:100%!important;height:100%!important;object-fit:contain!important;background:#161a17;border-radius:16px!important}
 .kemi-viewer .kemi-slide-controls{position:relative!important;inset:auto!important;margin-top:23px;display:flex!important;justify-content:space-between}
 .kemi-viewer .kemi-project-copy{height:auto!important;min-height:33svh!important;overflow:visible!important;background:none!important}
 .kemi-viewer .kemi-next-preview{display:none!important}
 .kemi-viewer .kemi-copy-glass{padding:0!important;background:none!important;backdrop-filter:none!important;height:auto!important;overflow:visible!important}
 .kemi-viewer .kemi-copy-glass h2{font-size:27px!important;line-height:1.25!important;margin:12px 0 14px!important}
 .kemi-viewer .kemi-story{margin-top:18px!important}.kemi-viewer .kemi-story section{margin:0 0 16px!important}.kemi-viewer .kemi-story p{font-size:13px!important;line-height:1.75!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 dialog.kemi-viewer{padding:48px 0 0!important;background:#ededeb!important;isolation:isolate}
 .kemi-viewer .kemi-viewer-layout{gap:0!important}
 .kemi-viewer .kemi-slideshow{padding:0!important;background:#ededeb!important}
 .kemi-viewer .kemi-slide-stage{height:45svh!important;min-height:300px!important;overflow:hidden!important;background:radial-gradient(ellipse at 70% 30%,#fff,#d9dad6)!important}
 .kemi-viewer .kemi-slide-stage>.kemi-slide,.kemi-viewer .kemi-slide-stage::before,.kemi-viewer .kemi-slide-stage::after{display:none!important}
 .mobile-project-ribbon{position:absolute;inset:0;perspective:900px;pointer-events:none}
 .mobile-project-ribbon img{position:absolute!important;left:16%!important;top:50%!important;width:68%!important;height:39%!important;object-fit:contain!important;background:#161916;border-radius:9px;box-shadow:0 12px 22px #0002;transform:translateY(calc(-50% + var(--ribbon-offset)*96px)) rotate(calc(var(--ribbon-offset)*-8deg)) rotateY(calc(var(--ribbon-offset)*5deg));z-index:2}
 .mobile-project-ribbon img:nth-child(3){z-index:3}
 .kemi-viewer .kemi-slide-controls{margin:0!important;padding:14px 26px 26px!important;background:#ededeb!important;color:#242724!important}
 .kemi-viewer .kemi-project-copy{margin:0!important;padding:30px 28px 36px!important;min-height:39svh!important;box-sizing:border-box;border-radius:28px 28px 0 0!important;background:linear-gradient(180deg,#263029be,#0e1710 96%)!important;position:relative;isolation:isolate;overflow:hidden!important}
 .kemi-viewer .kemi-project-copy::before{content:'';position:absolute;inset:-20px;background:var(--project-glass-image) center/cover;transform:scaleY(-1);filter:blur(9px);opacity:.2;z-index:-1}
 .kemi-viewer .kemi-copy-glass{text-align:left!important;color:#eceee9!important}
 .kemi-viewer .kemi-copy-glass>small,.kemi-viewer .kemi-story h3{display:none!important}
 .kemi-viewer .kemi-copy-glass h2{font-size:25px!important;margin:0 0 14px!important}
 .kemi-viewer .kemi-project-meta{font-size:11px!important;color:#c7ccc5!important;flex-wrap:wrap}
 .kemi-viewer .kemi-story{margin-top:20px!important;border:0!important}
 .kemi-viewer .kemi-story section{margin-bottom:12px!important}.kemi-viewer .kemi-story p{margin:0!important;color:#e0e4dd!important;font-size:13px!important;line-height:1.8!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 dialog.kemi-viewer{padding:0!important;overflow:hidden!important;background:#e5e6e2!important}
 .kemi-viewer .kemi-viewer-layout{position:relative!important;height:100svh!important;display:block!important}
 .kemi-viewer .kemi-slideshow{position:absolute!important;inset:0!important;height:100%!important;padding:0!important;overflow:hidden!important}
 .kemi-viewer .kemi-slide-stage{height:100%!important;min-height:0!important;background:radial-gradient(ellipse at 65% 30%,#f3f3f0,#c9ccc5)!important}
 .kemi-viewer .kemi-slide-controls{display:none!important}
 .mobile-project-ribbon{inset:-15% 0!important;transform:none!important}
 .mobile-project-ribbon img{left:5%!important;top:47%!important;width:90%!important;height:auto!important;max-height:none!important;object-fit:initial!important;background:transparent!important;border-radius:10px!important;box-shadow:0 12px 24px #0002;transform:translateY(calc(-50% + var(--ribbon-offset)*32svh)) rotate(calc(var(--ribbon-offset)*-8deg))!important;animation:project-ribbon-flow 4.2s linear infinite!important}
 @keyframes project-ribbon-flow{from{translate:0 16svh}to{translate:0 -16svh}}
 .kemi-viewer .kemi-project-copy{position:absolute!important;z-index:5!important;left:0!important;right:0!important;bottom:0!important;height:auto!important;max-height:49svh!important;min-height:0!important;overflow-y:auto!important;margin:0!important;padding:26px 28px 32px!important;border:0!important;box-shadow:none!important;border-radius:26px 26px 0 0!important;background:linear-gradient(180deg,#263029b8,#0e1710dc)!important;backdrop-filter:blur(9px) saturate(95%)!important;-webkit-backdrop-filter:blur(9px) saturate(95%)!important}
 .kemi-viewer .kemi-project-copy::before{display:none!important}
 .kemi-viewer .kemi-copy-glass,.kemi-viewer .kemi-copy-glass *{border:0!important;outline:0!important;box-shadow:none!important}
 .kemi-viewer .kemi-copy-glass{background:transparent!important}
 .kemi-viewer .kemi-close{position:fixed!important;top:16px!important;right:16px!important;z-index:30!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))) and (prefers-reduced-motion:reduce){.mobile-project-ribbon img{animation:none!important}}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .kemi-viewer .mobile-project-ribbon{display:none!important}
 .kemi-viewer .kemi-slide-stage{background:#dfe1e2!important}
 .curved-project-ribbon{position:absolute;inset:0;overflow:hidden;touch-action:none;isolation:isolate}
 .curved-project-ribbon img{position:absolute;left:50%;top:0;width:73%;height:auto;max-height:none;border-radius:5px;box-shadow:0 3px 7px #0000000c;will-change:transform;pointer-events:none;background:transparent}
 .kemi-viewer .kemi-project-copy{max-height:39svh!important;padding:25px 28px 30px!important;background:linear-gradient(180deg,#263029a8,#0e1710dc)!important;backdrop-filter:blur(9px)!important;-webkit-backdrop-filter:blur(9px)!important}
 .kemi-viewer .kemi-copy-glass h2{font-size:23px!important}.kemi-viewer .kemi-story{margin-top:14px!important}.kemi-viewer .kemi-story section{margin-bottom:9px!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .curved-project-ribbon img{left:50%!important;width:73%!important;box-shadow:0 3px 8px #0000000a!important}
 .kemi-viewer .kemi-project-copy{max-height:none!important;height:35svh!important;min-height:270px!important;overflow:hidden!important;padding:26px 28px 24px!important;background:linear-gradient(180deg,rgba(14,23,16,0) 0%,rgba(14,23,16,.65) 28%,rgba(14,23,16,.9) 65%,#0e1710 100%)!important;border-radius:0!important}
 .kemi-viewer .kemi-copy-glass h2{font-size:21px!important;line-height:1.2!important;margin:0 0 10px!important}
 .kemi-viewer .kemi-project-meta{padding:0!important;margin:0!important;line-height:1.4!important}
 .kemi-viewer .kemi-story{padding:0!important;margin:16px 0 0!important}
 .kemi-viewer .kemi-story section{padding:0!important;margin:0 0 10px!important}
 .kemi-viewer .kemi-story p{font-size:12px!important;line-height:1.6!important;margin:0!important}
 .kemi-viewer .kemi-story section:last-child{display:none!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 dialog.kemi-viewer,.kemi-viewer .kemi-slideshow,.kemi-viewer .kemi-slide-stage{background:#252724!important}
 .curved-project-ribbon img{box-shadow:0 18px 38px -4px #0009,0 6px 15px #0005!important}
 .kemi-viewer .kemi-project-copy{height:auto!important;min-height:0!important;max-height:32svh!important;padding:32px 28px 18px!important;background:linear-gradient(180deg,#25272400 0%,#25272480 16%,#252724dd 42%,#252724 90%)!important;backdrop-filter:blur(9px)!important;-webkit-backdrop-filter:blur(9px)!important;mask-image:linear-gradient(to bottom,transparent,#000 25px);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 25px)}
 .kemi-viewer .kemi-story{margin-top:12px!important}.kemi-viewer .kemi-story section{margin-bottom:8px!important}.kemi-viewer .kemi-story section:last-child{margin-bottom:0!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .curved-project-ribbon img{box-shadow:0 22px 35px -8px #000b,0 8px 16px #0007!important}
 .kemi-viewer .kemi-project-copy{padding-top:47px!important;max-height:34svh!important;background:linear-gradient(180deg,#25272400 0%,#25272455 13%,#252724b8 32%,#252724ed 65%,#252724 100%)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;mask-image:linear-gradient(to bottom,transparent 0,#0005 17px,#000c 34px,#000 52px)!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#0005 17px,#000c 34px,#000 52px)!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .curved-project-ribbon img{width:66%!important;box-shadow:0 3px 5px #0002,0 14px 22px -7px #0006,0 25px 42px -16px #0004!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .curved-project-ribbon img{width:55%!important;box-shadow:0 3px 5px #0006,0 17px 17px -5px #000b,0 30px 30px -9px #0008!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .curved-project-ribbon img{width:70%!important;box-shadow:0 8px 14px -5px #0005,0 24px 36px -8px #0009,0 40px 60px -15px #0006!important}
 .kemi-viewer .kemi-project-copy{border-radius:16px 16px 0 0!important;padding-top:42px!important;background:linear-gradient(to bottom,#25272400 0%,#25272430 12%,#25272499 32%,#252724dd 62%,#252724 100%)!important;mask-image:linear-gradient(to bottom,transparent,#0004 15px,#000a 32px,#000 52px)!important;-webkit-mask-image:linear-gradient(to bottom,transparent,#0004 15px,#000a 32px,#000 52px)!important;overflow:hidden!important}
 .kemi-viewer .kemi-copy-glass{width:100%!important;min-width:0!important;box-sizing:border-box!important}.kemi-viewer .kemi-story p{white-space:normal!important;overflow-wrap:anywhere}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .curved-project-ribbon img{box-shadow:0 6px 9px -3px #0005,0 25px 34px -7px #000b,0 42px 64px -12px #0008!important}
}
@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 header:has(.mobile-project-title-overlay.is-visible)::after{height:72px!important;max-height:72px!important}
 .curved-project-ribbon img{pointer-events:auto!important;cursor:zoom-in;transition:opacity .45s,scale .55s}
 .curved-project-ribbon.has-focused-card img:not(.is-focused){pointer-events:none!important}
 .curved-project-ribbon.has-focused-card img.is-focused{z-index:100!important;cursor:default}
 .curved-project-ribbon img{box-shadow:0 8px 16px -3px rgba(37,39,36,.92),0 28px 42px -5px rgba(37,39,36,.9),0 46px 82px 3px rgba(37,39,36,.78)!important}
}

/* Desktop shares the mobile project ribbon and focus interaction. */
@media((min-width: 768px) and ((orientation: landscape) or (width > 1400px))){
 dialog.kemi-viewer,dialog.kemi-viewer.timeshop-viewer{width:96vw!important;height:90vh!important;max-width:none!important;max-height:94vh!important;aspect-ratio:auto!important;padding:0!important;background:#252724!important;border-radius:10px!important;overflow:hidden!important}
 .kemi-viewer .kemi-viewer-layout{position:absolute!important;inset:0!important;display:block!important;height:100%!important;overflow:hidden!important}
 .kemi-viewer .kemi-slideshow{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;padding:0!important;background:#252724!important}
 .kemi-viewer .kemi-slide-stage{position:absolute!important;inset:0!important;height:100%!important;background:#252724!important;overflow:hidden!important}
 .kemi-viewer .kemi-slide,.kemi-viewer .kemi-slide-controls,.kemi-viewer .mobile-project-ribbon{display:none!important}
 .curved-project-ribbon{position:absolute;inset:0;overflow:hidden;isolation:isolate;touch-action:none}
 .curved-project-ribbon img{position:absolute;left:50%;top:0;width:40%;height:auto;max-height:none;border-radius:5px;background:transparent;cursor:zoom-in;will-change:transform;box-shadow:0 8px 16px -3px #252724eb,0 28px 42px -5px #252724e6,0 46px 82px 3px #252724c7}
 .curved-project-ribbon.has-focused-card img:not(.is-focused){pointer-events:none}
 .curved-project-ribbon.has-focused-card img.is-focused{z-index:100!important}
 .kemi-viewer .kemi-project-copy{position:absolute!important;inset:0 0 0 auto!important;width:46%!important;height:100%!important;min-height:0!important;padding:0!important;border:0!important;border-radius:12px!important;background:linear-gradient(90deg,#25272400,#25272480 15%,#252724d9 45%,#252724f5)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);mask-image:linear-gradient(90deg,transparent,#000 70px);z-index:5!important;overflow:auto!important;box-shadow:none!important}
 .kemi-viewer .kemi-project-copy::before{display:none!important}
 .kemi-viewer .kemi-copy-glass{box-sizing:border-box!important;width:100%!important;min-height:100%!important;height:auto!important;padding:54px 7% 44px 80px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;background:transparent!important;backdrop-filter:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;color:#f1f2eb}
 .kemi-viewer .kemi-copy-glass h2{font-size:clamp(26px,2.1vw,38px)!important;line-height:1.25!important}
 .kemi-viewer .kemi-story{display:grid!important;gap:20px!important}.kemi-viewer .kemi-story section{display:block!important}.kemi-viewer .kemi-story p{font-size:13px!important;line-height:1.85!important}
 .kemi-viewer .kemi-close{position:absolute!important;top:16px!important;right:16px!important;z-index:200!important}
}
@media((min-width: 768px) and ((orientation: landscape) or (width > 1400px))){.kemi-viewer .kemi-next-preview{display:none!important}}

@media((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))){
 .personal-introduction .mobile-resume-editorial::after{content:'';position:absolute;left:0;right:0;bottom:0;height:86px;z-index:50;pointer-events:none;background:linear-gradient(to bottom,rgba(14,23,16,0),rgba(14,23,16,.65) 65%,#0e1710);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);mask-image:linear-gradient(transparent,#000 75%);-webkit-mask-image:linear-gradient(transparent,#000 75%)}
 .personal-introduction .mobile-next-screen{z-index:230!important}
}

@media ((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))) {
 .resume-portrait-hero { touch-action: pinch-zoom; }
 :is(#project-cases, #work-collection, #mobile-contact) > :not(.mobile-section-next) {
  translate: var(--page-pull, none);
  transition: translate .44s cubic-bezier(.22,.75,.25,1);
 }
 .is-page-pulling > :not(.mobile-section-next) { transition: none !important; }
 :is(#project-cases, #work-collection):has(> .mobile-section-next)::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 86px;
  z-index: 39;
  pointer-events: none;
  background: linear-gradient(transparent, #252724a6 65%, #252724);
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
  mask-image: linear-gradient(transparent, #000 75%);
 }
 #work-collection .mobile-collection-deck .collection-deck-stage { padding-bottom: 86px; }
 .mobile-contact-copy {
  margin-inline-start: 6px;
  padding: 5px 10px;
  border: 1px solid #ffffff42;
  border-radius: 999px;
  color: #f1f2eb;
  font: inherit;
  touch-action: manipulation;
 }
}
@media ((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))) and (prefers-reduced-motion: reduce) {
 :is(#project-cases, #work-collection, #mobile-contact) > :not(.mobile-section-next) { transition: none; }
}

/* Keep the portrait layouts within a usable height on compact phones and tablets. */
@media ((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))) {
 .projects-screen.folder-projects{min-height:0!important}
 .falling-project-folders{left:50%!important;right:auto!important;width:min(100%,720px)!important;transform:translateX(-50%)}
}
@media ((max-width: 767px) or ((orientation: portrait) and (max-width: 1400px))) and (max-height: 680px) {
 .falling-project-folders{top:105px!important;bottom:62px!important}
 .projects-screen.folder-projects .mobile-project-title{top:78px!important;font-size:22px!important}
 .falling-project-folders>button strong{font-size:clamp(11px,3.6vw,16px)!important}
}
