:root{color:#fff;text-rendering:geometricprecision;--max:min(1700px, calc(100vw - 56px));--chrome-gutter:clamp(28px, 4.4vw, 92px);--chrome-width:min(1840px, calc(100vw - var(--chrome-gutter) - var(--chrome-gutter)));--home-card-scale:.8;--cursor:url(data:image/png;base64,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) 2 2, auto;background:#000;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box;cursor:var(--cursor)}body{background:#000;min-width:320px;min-height:100vh;margin:0}button,a{color:inherit;font:inherit;cursor:var(--cursor)}button{border:0}a{text-decoration:none}.site-nav{z-index:20;width:var(--chrome-width);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0000008a;border:1px solid #ffffff29;border-radius:12px;justify-content:space-between;align-items:center;height:64px;padding:10px 12px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%)}.brand{text-align:left;background:0 0;align-items:center;gap:12px;display:inline-flex}.avatar,.portrait{color:#000;background:#fff;border:1px solid #ffffff47;place-items:center;font-weight:900;display:grid}.avatar{border-radius:50%;width:40px;height:40px;font-size:12px;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.brand strong,.brand small{display:block}.brand strong{font-size:14px}.brand small{color:#ffffff94;margin-top:2px;font-size:12px}.site-nav nav{align-items:center;gap:34px;display:flex}.site-nav nav button,.site-nav nav a{background:0 0;border:1px solid #0000;border-radius:12px;min-height:40px;padding:0 16px}.site-nav nav button.active{color:#000;background:#fff;border-color:#fff;border-radius:10px;font-weight:900}.site-nav nav a{color:#000;background:#fff;border-color:#fff;align-items:center;font-weight:800;display:inline-flex}.home{background:#000;height:100svh;min-height:100svh;position:relative;overflow:hidden}.home:before,.work-shell:before,.resume-page:before{z-index:0;content:"";opacity:.12;pointer-events:none;background-image:radial-gradient(circle,#fff 0 2px,#0000 2px);background-position:6px 6px;background-size:28px 28px;position:absolute;inset:0}.home-inner{z-index:1;width:var(--chrome-width);grid-template-rows:auto 1fr;gap:16px;height:100svh;min-height:0;margin:0 auto;padding:124px 0 46px;transition:filter .26s,opacity .26s,transform .26s;display:grid;position:relative}.work-shell,.resume-page{position:relative}.work-shell>*,.resume-page>*{z-index:1;position:relative}.home.previewing .home-inner{filter:blur(14px);opacity:.38;transform:scale(.985)}.home-heading{z-index:2;will-change:transform;justify-items:center;gap:18px;animation:.68s cubic-bezier(.18,.86,.22,1) 1.18s forwards homeHeadingFlow;display:grid;transform:translateY(calc(50svh - 176px))scale(1.03)}.home h1{text-align:center;margin:0;font-size:clamp(78px,6.8vw,132px);font-weight:900;line-height:.9}.split-parent{text-align:center;white-space:normal;word-wrap:break-word;display:inline-block;overflow:hidden}.split-char{opacity:0;transform:translateY(var(--split-y,40px));animation:splitTextIn var(--split-duration,.8s) cubic-bezier(.18, .86, .22, 1) forwards;animation-delay:var(--split-delay,0s);will-change:transform, opacity;display:inline-block}.home-heading p,.home-subtitle-text{color:#ffffffb3;text-align:center;max-width:720px;margin:0;font-size:clamp(15px,1vw,18px);line-height:1.65}.project-stage{opacity:0;pointer-events:none;perspective:1400px;min-height:0;transform:translateY(24px) scale(var(--home-card-scale));transform-origin:50%;animation:.36s 1.46s forwards homeStageReveal;position:relative}.project-card{z-index:1;background:var(--card-bg);color:#050505;isolation:isolate;text-align:left;width:370px;height:480px;transform:translate(-50%, -50%) translate(var(--pile-x), var(--pile-y)) rotate(var(--pile-rotate));transform-origin:50%;transition:transform .46s cubic-bezier(.2,.8,.18,1),box-shadow .18s,filter .14s;transition-delay:var(--delay);border-radius:24px;grid-template-rows:auto auto auto 1fr;gap:20px;padding:30px;display:grid;position:absolute;top:calc(54% - 20px);left:50%;overflow:hidden;box-shadow:0 42px 90px #0000009e}.project-card:after,.preview-card:after{z-index:4;content:"";border-radius:inherit;background-image:var(--card-texture);mix-blend-mode:multiply;pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:0}.project-card>*,.preview-card>*{z-index:1;position:relative}.home.spread .project-stage{pointer-events:auto}.project-card:first-child{z-index:1}.project-card:nth-child(2){z-index:2}.project-card:nth-child(3){z-index:3}.project-card:nth-child(4){z-index:4}.project-card:nth-child(5){z-index:5}.home.spread .project-card{transform:translate(-50%, -50%) translate(var(--spread-x), var(--spread-y)) rotate(var(--spread-rotate))}.home.spread:not(.previewing) .project-card:hover{filter:brightness(1.04);transform:translate(-50%, -50%) translate(var(--spread-x), var(--spread-y)) rotate(var(--spread-rotate)) scale(1.045);transition-duration:.12s,.16s,.14s,.12s;transition-delay:0s;box-shadow:0 54px 110px #000000b8}.card-meta{align-items:baseline;gap:12px;font-size:clamp(13px,1vw - 2px,18px);display:flex}.card-rule{background:#050505;width:100%;height:1px;display:block}.project-card strong,.preview-card strong{white-space:nowrap;font-size:clamp(26px,2vw - 4px,38px);font-weight:500;line-height:1.16}.project-card img,.preview-card img{aspect-ratio:1.72;object-fit:cover;border-radius:16px;align-self:end;width:100%}.project-preview{z-index:50;place-items:center;display:grid;position:fixed;inset:0}.preview-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0003;position:absolute;inset:0}@keyframes splitTextIn{0%{opacity:0;transform:translateY(var(--split-y,40px))}to{opacity:1;transform:translateY(0)}}@keyframes homeHeadingFlow{0%{transform:translateY(calc(50svh - 176px))scale(1.03)}to{transform:translateY(40px)scale(1)}}@keyframes homeStageReveal{0%{opacity:0;transform:translateY(24px) scale(var(--home-card-scale))}to{opacity:1;transform:translateY(-10px) scale(var(--home-card-scale))}}@keyframes mobileProjectListReveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width>=1500px){:root{--home-card-scale:.9}}@media (width>=1680px){:root{--home-card-scale:1}}@media (width>=1920px){:root{--home-card-scale:1.1}}@media (width>=2240px){:root{--home-card-scale:1.16}}.preview-card{z-index:1;background:var(--card-bg);color:#050505;isolation:isolate;border-radius:24px;grid-template-rows:auto auto auto 1fr;gap:20px;width:min(370px,68vw);height:min(520px,72svh);padding:30px;display:grid;position:relative;overflow:hidden;transform:rotate(-3deg);box-shadow:0 52px 150px #000000c7}.preview-bubble{z-index:2;color:#000;background:#fff;border-radius:28px;width:min(330px,100vw - 48px);padding:24px;position:absolute;top:50%;left:calc(50% + 240px);transform:translateY(-50%)}.preview-bubble:before{content:"";background:#fff;border-radius:6px;width:28px;height:28px;position:absolute;top:44px;left:-12px;transform:rotate(45deg)}.preview-bubble span{color:#00000080;font-size:12px;font-weight:800}.preview-bubble h2{margin:12px 0;font-size:34px;line-height:1.1}.preview-bubble p{color:#000000ad;font-size:14px;line-height:1.75}.preview-bubble button{color:#fff;background:#000;border-radius:999px;width:100%;min-height:46px;font-weight:800}.work-shell{width:var(--max);perspective:1500px;grid-template-columns:clamp(250px,17vw,320px) minmax(0,1fr);gap:clamp(28px,3.7vw,72px);height:100svh;margin:0 auto;padding:154px 0 32px;display:grid;overflow:hidden}.work-sidebar{background:0 0;grid-template-rows:auto 1fr;align-content:start;height:calc(100svh - 186px);display:grid;overflow:hidden}.work-shell.work-page-entering .work-sidebar{animation:.62s cubic-bezier(.18,.86,.22,1) both workSidebarEnter}.work-shell.work-page-entering .work-frame:not(.frame-exiting):not(.frame-entering){animation:.68s cubic-bezier(.18,.86,.22,1) 90ms both workFrameEnter}.work-logo{background:0 0;place-self:start;margin:64px 0 72px 28px;padding:0;font-size:clamp(42px,3.1vw,56px);font-weight:900;line-height:.95}.toc{align-content:start;gap:28px;padding-left:28px;display:grid}.toc-track{align-content:start;gap:28px;display:grid}.toc::-webkit-scrollbar{display:none}.toc button{color:#fff;opacity:.38;text-align:left;background:0 0;grid-template-rows:auto;grid-template-columns:58px minmax(0,1fr);align-items:center;min-height:30px;padding:0;transition:opacity .18s,color .18s;display:grid;position:relative}.toc button:before{content:"";opacity:0;transform-origin:0;background:#ffffffb8;width:42px;height:1px;transition:opacity .18s,transform .18s;transform:scaleX(.55)}.toc button.active,.toc button:hover{color:#fff;opacity:1}.toc button.active:before,.toc button:hover:before{opacity:1;transform:scaleX(1)}.toc span{display:none}.toc strong{color:inherit;grid-area:1/2;font-size:clamp(17px,1.15vw,22px);font-weight:500;line-height:1.25;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.toc button.active strong,.toc button:hover strong{transform:translate(14px)}.toc small{display:none}.work-frame{transform-origin:50% 108%;will-change:transform, opacity, filter;background:#282828;border-radius:42px;min-width:0;height:calc(100svh - 186px);min-height:520px;padding:18px;position:relative}@media (width>=921px){.work-frame:before,.work-frame:after{z-index:2;content:"";pointer-events:none;height:60px;position:absolute;left:18px;right:18px}.work-frame:before{background:linear-gradient(#000000e0 0%,#0000008f 32%,#00000038 68%,#0000 100%);border-radius:30px 30px 0 0;top:18px}.work-frame:after{background:linear-gradient(#0000 0%,#00000038 32%,#0000008f 68%,#000000e0 100%);border-radius:0 0 30px 30px;bottom:18px}}.work-frame.frame-exiting{pointer-events:none;animation:.33s cubic-bezier(.74,0,.22,1) forwards workFrameSlideAway}.work-frame.frame-entering{pointer-events:none;animation:.5s cubic-bezier(.18,.92,.22,1) both workFrameSlideIn}@keyframes workSidebarEnter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes workFrameEnter{0%{opacity:0;filter:blur(1px);transform:translateY(26px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.paperclip{z-index:3;pointer-events:none;filter:drop-shadow(0 8px 14px #00000061);width:clamp(42px,3.6vw,64px);height:auto;position:absolute;top:-34px;right:82px}.case-study{scrollbar-width:none;background:#000;border-radius:30px;align-content:start;gap:64px;width:100%;min-width:0;height:100%;margin:0;padding:78px 14px 110px 0;display:grid;overflow:hidden auto}.case-study::-webkit-scrollbar{width:0;height:0}.case-study::-webkit-scrollbar-thumb{background:0 0}.case-study::-webkit-scrollbar-track{background:0 0}.case-scrollbar{z-index:4;opacity:0;pointer-events:none;touch-action:none;width:28px;transition:opacity .18s;position:absolute;top:74px;bottom:74px;right:24px}.case-scrollbar.visible{opacity:1;pointer-events:auto}.work-frame.frame-exiting .case-scrollbar,.work-frame.frame-entering .case-scrollbar{opacity:0;pointer-events:none}.case-scrollbar span{top:var(--scroll-top,0%);width:7px;height:var(--scroll-height,100%);background:#ffffff47;border-radius:99px;min-height:56px;transition:background .16s;position:absolute;right:6px;box-shadow:0 0 0 1px #0000001f}.case-scrollbar:hover span{background:#ffffff6b}@keyframes workFrameSlideAway{0%{opacity:1;filter:blur();transform:translate(0,0)rotate(0)scale(1)}38%{opacity:.92;transform:translateY(-22px)rotate(-1.6deg)scale(1.01)}to{opacity:0;filter:blur(1.4px);transform:translateY(-116%)rotate(-7deg)scale(1.03)}}@keyframes workFrameSlideIn{0%{opacity:0;filter:blur(1.2px);transform:translateY(112%)rotate(4deg)scale(.985)}68%{opacity:1;filter:blur();transform:translateY(-8px)rotate(-.5deg)scale(1.002)}to{opacity:1;filter:blur();transform:translate(0,0)rotate(0)scale(1)}}.case-study>*{justify-self:center;width:min(1120px,100% - 140px)}.case-study.expiry-case{gap:76px;width:100%;padding:92px 14px 148px 0}.case-study.expiry-case>*{width:min(1120px,100% - 140px)}.eyebrow{color:#ffffff7a;margin:0;font-size:11px}.case-hero,.case-section{gap:24px;display:grid}.case-hero h1{margin:0;font-size:clamp(28px,2.45vw,40px);line-height:1.2}.case-meta{grid-template-columns:repeat(3,1fr);gap:24px;margin:0;display:grid}.case-meta dt{color:#ffffff61;font-size:10px}.case-meta dd{color:#ffffffc7;margin:7px 0 0;font-size:10px}.case-study.image-case{gap:76px;padding:92px 14px 148px 0}.case-study.image-case>*{width:min(1120px,100% - 140px)}.image-case-hero{gap:28px;padding-top:0}.image-case-gallery{justify-self:stretch;gap:0;width:100%;min-width:0;display:grid}.case-study.image-case>.image-case-gallery{justify-self:center;width:min(1120px,100% - 140px);max-width:none}.image-case-figure{content-visibility:auto;contain-intrinsic-size:1200px 1800px;background:#000;min-width:0;margin:0}.image-case-figure img{width:100%;min-width:0;max-width:100%;height:auto;display:block;transform:translateZ(0)}.case-image,.expiry-figure{background:#eeeeec;border-radius:6px;margin:0;overflow:hidden;box-shadow:0 0 0 1px #ffffff09}.case-image img,.expiry-figure img{object-fit:contain;width:100%;height:auto;display:block}.expiry-switcher{isolation:isolate;position:relative}.expiry-switcher img{animation:6.3s ease-in-out infinite expiry-page-fade;animation-delay:calc((var(--switch-index) * 2.2s) - .33s);opacity:0;will-change:opacity;transform:translateZ(0)}.expiry-switcher img:first-child{position:relative}.expiry-switcher img+img{position:absolute;inset:0}.expiry-input-figure{isolation:isolate;position:relative}.expiry-input-vessel{z-index:2;pointer-events:none;background:#fff4e5;border-radius:16% 16% 14% 14%;width:5.1%;height:16.35%;position:absolute;top:58.2%;left:62.1%;overflow:visible}.expiry-input-liquid{will-change:height;background:#ff9a00;border-radius:0 0 14% 14%;width:100%;height:54%;animation:2.8s ease-in-out infinite expiry-liquid-fill;position:absolute;bottom:0;left:0}.expiry-input-liquid:before{content:"";background:#ff9a00;border-radius:999px;height:2px;position:absolute;top:-1px;left:-12%;right:-12%}.booking-carousel{position:relative}.booking-carousel img{animation-duration:5.2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;transform:translateZ(0)}.booking-carousel img+img{position:absolute;inset:0}.booking-carousel img:first-child{animation-name:booking-carousel-primary}.booking-carousel img:last-child{animation-name:booking-carousel-secondary}.booking-assignment-figure{background:#f7f4f1;position:relative}.booking-assignment-stage{isolation:isolate;position:relative;overflow:hidden}.booking-assignment-base{z-index:1;position:relative}.booking-assignment-done{z-index:2;opacity:0;animation:4.8s ease-in-out infinite booking-done-reveal;position:absolute;inset:0}.booking-assignment-figure .booking-assignment-card{z-index:3;filter:drop-shadow(0 18px 24px #00000024);transform-origin:50%;width:13.1%;height:auto;animation:4.8s cubic-bezier(.22,1,.36,1) infinite booking-card-drag;position:absolute;top:59.4%;left:29.3%}.booking-assignment-toast{z-index:4;color:#fff;letter-spacing:0;opacity:0;background:#000000bd;border-radius:999px;justify-content:center;align-items:center;min-width:190px;min-height:44px;padding:0 24px;font-size:18px;font-weight:600;animation:4.8s ease-in-out infinite booking-toast;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.96)}@keyframes booking-carousel-primary{0%,44%{opacity:1}50%,94%{opacity:0}to{opacity:1}}@keyframes booking-carousel-secondary{0%,44%{opacity:0}50%,94%{opacity:1}to{opacity:0}}@keyframes expiry-page-fade{0%{opacity:0}3%,34%{opacity:1}40%,to{opacity:0}}@keyframes expiry-liquid-fill{0%,to{height:54%}45%,58%{height:72%}}@keyframes booking-card-drag{0%,10%{opacity:0;transform:translate(0,0)scale(.98)}16%{opacity:1;transform:translate(0,0)scale(1)}48%{opacity:1;transform:translate(176%,-246%)scale(.92)}54%,to{opacity:0;transform:translate(176%,-246%)scale(.92)}}@keyframes booking-done-reveal{0%,50%{opacity:0}58%,88%{opacity:1}96%,to{opacity:0}}@keyframes booking-toast{0%,54%{opacity:0;transform:translate(-50%,-50%)scale(.96)}62%,74%{opacity:1;transform:translate(-50%,-50%)scale(1)}86%,to{opacity:0;transform:translate(-50%,-50%)scale(.98)}}.case-image.muted img{opacity:.82;filter:grayscale(.12)}.case-intro,.case-section-copy{grid-template-columns:1fr;gap:12px;display:grid}.case-intro h2,.case-section-copy h2{color:#ffa826;margin:0;font-size:17px;font-weight:600;line-height:1.45}.case-intro h2:before,.case-section-copy h2:before,.expiry-split h2:before{content:"";vertical-align:-.18em;background:url(/assets/idea-icon-ClbWNMNB.png) 50%/contain no-repeat;width:1.05em;height:1.05em;margin-right:.34em;display:inline-block}.case-intro p,.case-section-copy p{color:#ffffff9e;margin:0;font-size:13px;line-height:1.9}.case-section-copy>div{gap:18px;display:grid}.case-section-copy span{color:#ffffff6b;font-size:10px;display:none}.expiry-hero{gap:28px;display:grid}.expiry-hero:after{content:"";background:#ffffff80;width:100%;height:1px;margin-top:8px;display:block}.expiry-hero+*{margin-top:-38px}.expiry-hero p{color:#ffffff5c;letter-spacing:0;margin:0;font-size:12px;font-weight:600}.expiry-copy span{color:#fff;letter-spacing:0;background:#ff9a00;border-radius:999px;justify-self:start;width:fit-content;margin:0;padding:7px 14px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.expiry-hero h1{color:#fff;margin:-12px 0 0;font-size:clamp(28px,3.05vw,42px);font-weight:650;line-height:1.12}.expiry-hero dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:70px;width:min(560px,100%);margin:0;display:grid}.expiry-hero dt{color:#ffffff57;font-size:9px}.expiry-hero dd{color:#ffffffad;margin:6px 0 0;font-size:12px;font-weight:600}.expiry-block{gap:34px;display:grid;position:relative}.expiry-block.major-spaced{margin-top:24px}.expiry-copy{gap:14px;display:grid}.expiry-copy h2{color:#fff;margin:0;font-size:clamp(18px,1.65vw,24px);font-weight:520;line-height:1.42}.expiry-copy p,.expiry-split p{color:#ffffff75;margin:0;font-size:12px;line-height:1.88}.expiry-list{grid-template-columns:repeat(2,max-content);justify-content:start;gap:10px 68px;margin:0;padding:0;list-style:none;display:grid}.expiry-list li{color:#ffffff80;padding-left:14px;font-size:12px;line-height:1.7;position:relative}.expiry-list li:before{content:"";background:#ff9a00;border-radius:50%;width:5px;height:5px;position:absolute;top:.78em;left:0}.expiry-split{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}.expiry-table+.expiry-split,.expiry-copy.full+.expiry-split{margin-top:42px}.expiry-table+.expiry-split.compact-top,.expiry-copy.full+.expiry-split.compact-top{margin-top:6px}.expiry-figure+.expiry-split.booking-problem-gap{margin-top:42px}.expiry-split h2{color:#ffa826;margin:0;font-size:clamp(15px,1.3vw,19px);font-weight:500;line-height:1.42}.expiry-table{border-collapse:collapse;color:#ffffffa8;table-layout:fixed;width:100%;margin-top:4px}.expiry-table th,.expiry-table td{text-align:left;border-bottom:1px solid #ffffff52;padding:12px 4px;font-size:12px;line-height:1.4}.expiry-table thead th{border-bottom-color:#ffffff8a}.expiry-table th{color:#ffffffdb;font-weight:700}.expiry-table td:first-child{color:#ffffffd1;font-weight:700}.expiry-note{color:#ffffff75;margin:0;font-size:12px;line-height:1.88}.process-flow{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.process-flow span{color:#ffffffd1;background:#ff9a001a;border:1px solid #ff9a006b;border-radius:6px;place-items:center;min-height:52px;font-size:12px;font-weight:600;display:grid;position:relative}.process-flow span:not(:last-child):after{z-index:1;content:"";background:#ff9a00b3;width:8px;height:1px;position:absolute;top:50%;right:-9px}.resume-page{width:var(--max);place-items:center;height:100svh;margin:0 auto;padding:0;display:grid;position:relative;overflow:hidden}.resume-stage{place-items:center;width:min(1700px,100%);height:min(840px,100svh - 150px);min-height:650px;display:grid;position:relative}.resume-stack{aspect-ratio:1700/840;width:min(1615px,95%,191.9svh - 287.85px);position:relative}.resume-folder{z-index:1;filter:drop-shadow(0 34px 28px #00000075);opacity:0;--resume-x:0px;--resume-y:0px;--resume-rotate:3deg;width:68.2%;transform:translate(var(--resume-x), var(--resume-y)) translateY(-180px) translateX(32px) rotate(-6deg) scale(1.08);animation:.72s cubic-bezier(.16,.98,.32,1.16) .12s forwards slam-folder;position:absolute;top:8.6%;left:27.8%}.resume-sheet{z-index:2;filter:drop-shadow(0 42px 76px #0000005c);opacity:0;--resume-x:0px;--resume-y:0px;--resume-rotate:0deg;width:69.3%;height:auto;transform:translate(var(--resume-x), var(--resume-y)) translateY(-210px) rotate(2deg) scale(1.04);animation:.78s cubic-bezier(.14,1.02,.34,1.08) .68s forwards slam-paper;display:block;position:absolute;top:3.2%;left:15.35%}.resume-card{z-index:3;filter:drop-shadow(0 34px 58px #00000061);opacity:0;--resume-x:0px;--resume-y:0px;--resume-rotate:0deg;width:29.9%;height:auto;transform:translate(var(--resume-x), var(--resume-y)) translateY(-220px) translateX(-32px) rotate(-3deg) scale(1.07);animation:.76s cubic-bezier(.12,1.08,.34,1.08) 1.26s forwards slam-card;display:block;position:absolute;top:39.8%;left:1.8%}.resume-mobile-card,.resume-mobile-sheet{display:none}@keyframes slam-folder{0%{opacity:0;transform:translate(var(--resume-x), var(--resume-y)) translateY(-180px) translateX(32px) rotate(-6deg) scale(1.08)}70%{opacity:1;transform:translate(var(--resume-x), var(--resume-y)) translateY(14px) rotate(var(--resume-rotate)) scale(.99)}to{opacity:1;transform:translate(var(--resume-x), var(--resume-y)) rotate(var(--resume-rotate)) scale(1)}}@keyframes slam-paper{0%{opacity:0;transform:translate(var(--resume-x), var(--resume-y)) translateY(-210px) rotate(2deg) scale(1.04)}68%{opacity:1;transform:translate(var(--resume-x), var(--resume-y)) translateY(12px) rotate(var(--resume-rotate)) scale(.992)}to{opacity:1;transform:translate(var(--resume-x), var(--resume-y)) rotate(var(--resume-rotate)) scale(1)}}@keyframes slam-card{0%{opacity:0;transform:translate(var(--resume-x), var(--resume-y)) translateY(-220px) translateX(-32px) rotate(-3deg) scale(1.07)}70%{opacity:1;transform:translate(var(--resume-x), var(--resume-y)) translateY(12px) rotate(var(--resume-rotate)) scale(.99)}to{opacity:1;transform:translate(var(--resume-x), var(--resume-y)) rotate(var(--resume-rotate)) scale(1)}}@media (width<=1300px){.project-card{width:300px;height:382px;padding:24px}.project-card:first-child{--spread-x:-360px}.project-card:nth-child(2){--spread-x:-184px}.project-card:nth-child(4){--spread-x:184px}.project-card:nth-child(5){--spread-x:360px}.resume-stage{width:min(1120px,100%);min-height:580px}}@media (width<=920px){:root{--max:calc(100vw - 24px);--chrome-width:var(--max);--home-card-scale:.8}.home-inner{padding-top:120px}.project-stage{min-height:520px}.project-card{width:205px;height:260px}.project-card:first-child{--spread-x:-175px;--spread-y:116px}.project-card:nth-child(2){--spread-x:-86px;--spread-y:52px}.project-card:nth-child(4){--spread-x:86px;--spread-y:52px}.project-card:nth-child(5){--spread-x:175px;--spread-y:116px}.project-card strong,.preview-card strong{font-size:21px}.card-meta{font-size:12px}.work-shell{grid-template-columns:1fr;gap:28px;height:auto;min-height:100svh;padding:112px 0 32px;overflow:visible}.work-shell.work-page-entering .work-frame:not(.frame-exiting):not(.frame-entering),.work-frame.frame-exiting,.work-frame.frame-entering{animation:none}.work-sidebar{grid-template-rows:auto auto;height:auto;position:relative;overflow:visible}.work-logo{margin:20px 0 26px 32px;font-size:42px}.toc{grid-auto-flow:unset;grid-auto-columns:unset;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:none;gap:0;max-width:calc(100vw - 24px);margin-left:0;padding:0 18px 24px 32px;scroll-padding-left:32px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 0% calc(100% - 58px),#0000 100%);mask-image:linear-gradient(90deg,#000 0% calc(100% - 58px),#0000 100%)}.toc-track{flex:0 0 max-content;transform:translateX(calc(var(--toc-shift,0px) * -1));will-change:transform;gap:12px;display:flex}.toc.toc-shifting{overflow-x:hidden}.toc.toc-shifting .toc-track{transition:transform .68s cubic-bezier(.56,.01,.16,1)}.toc button{order:var(--mobile-order);color:#000;opacity:1;white-space:nowrap;background:#424242;border-radius:16px;flex:none;grid-template-columns:none;justify-content:center;align-items:center;min-height:56px;padding:0 24px;display:inline-flex}.toc button:before{display:none}.toc button:after{content:"";opacity:0;background:#fff;border-radius:6px;width:28px;height:28px;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)rotate(45deg)}.toc button.active{color:#000;background:#fff}.toc button.active:after{opacity:1}.toc strong{grid-column:auto;font-size:16px;font-weight:500;line-height:1;transform:none}.toc button.active strong,.toc button:hover strong{transform:none}.preview-bubble{top:auto;bottom:22px;left:50%;transform:translate(-50%)}.preview-bubble:before{top:-10px;left:50%;transform:translate(-50%)rotate(45deg)}.case-study,.case-study.expiry-case{border-radius:32px;height:auto;min-height:70svh;overflow:visible}.case-study.image-case{border-radius:32px;gap:76px;height:auto;min-height:70svh;padding:92px 14px 148px 0;overflow:visible}.work-frame{border-radius:30px;height:auto;min-height:70svh;padding:18px}.paperclip{width:42px;top:-22px;right:32px}.case-study>*,.case-study.expiry-case>*,.case-study.image-case>.image-case-hero{width:min(760px,100% - 40px)}.image-case-hero{gap:28px;padding-top:0}.expiry-hero+*{margin-top:-40px}.expiry-list,.process-flow{grid-template-columns:1fr}.process-flow span:not(:last-child):after{width:1px;height:6px;top:auto;bottom:-6px;right:50%}.case-study.image-case>.image-case-gallery{justify-self:center;width:min(760px,100% - 40px);max-width:none}.resume-page{width:calc(100vw - 64px);height:auto;min-height:auto;padding:110px 0 44px;overflow:visible}.resume-stage{gap:0;height:auto;min-height:0;display:grid}.resume-stack{aspect-ratio:auto;justify-items:center;gap:20px;width:min(100%,680px);display:grid}.resume-folder,.resume-sheet,.resume-card{display:none}.resume-mobile-card,.resume-mobile-sheet{width:100%;min-width:0;height:auto;display:block}}@media (width<=620px){.site-nav{padding:10px 8px}.brand{gap:0}.brand strong,.brand small{display:none}.site-nav nav{gap:8px}.site-nav nav button,.site-nav nav a{padding:0 10px;font-size:13px}.home{height:auto;min-height:100svh;overflow:visible}.home-inner{grid-template-rows:auto auto;gap:46px;height:auto;min-height:100svh;padding:136px 0 44px}.home.previewing .home-inner{transform:none}.home-heading{width:100%;padding:0 8px;animation:none;transform:none}.split-parent{max-width:100%}.home h1{font-size:54px}.home-heading p,.home-subtitle-text{max-width:calc(100vw - 40px);font-size:13px;line-height:1.55}.project-stage{perspective:none;justify-self:center;gap:20px;width:min(100%,360px);min-height:0;margin-top:8px;animation:.38s 1.46s forwards mobileProjectListReveal;display:grid;transform:none}.project-card{border-radius:24px;gap:16px;width:100%;height:332px;padding:24px;transition:transform .14s,box-shadow .14s,filter .14s;position:relative;top:auto;left:auto;transform:translateY(18px);box-shadow:0 28px 64px #00000085}.home.spread .project-card,.home.spread:not(.previewing) .project-card:hover{transform:translateY(0)}.home.spread:not(.previewing) .project-card:hover{filter:brightness(1.04);transform:translateY(-4px)scale(1.01);box-shadow:0 34px 76px #0009}.project-card strong,.preview-card strong{white-space:normal;font-size:17px}.card-meta{gap:7px;font-size:10px}.project-preview{place-items:center;padding:0 28px}.preview-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000057}.preview-card{display:none}.preview-bubble{border-radius:28px;width:min(100%,420px);padding:32px;position:relative;top:auto;left:auto;transform:none}.preview-bubble:before{display:none}.preview-bubble span{font-size:13px}.preview-bubble h2{margin:14px 0 84px;font-size:34px}.preview-bubble p{margin:0 0 28px;font-size:14px}.case-study,.case-study.expiry-case,.case-study.image-case{gap:92px;width:100%;padding:44px 0 92px}.case-study>*,.case-study.expiry-case>*,.case-study.image-case>.image-case-hero{width:calc(100% - 32px);max-width:none}.expiry-hero+*{margin-top:-56px}.case-study.image-case>.image-case-gallery{justify-self:center;width:calc(100% - 32px);max-width:none}.case-meta,.case-intro,.case-section-copy,.expiry-hero dl,.expiry-split{grid-template-columns:1fr}.expiry-hero dl,.expiry-split{gap:24px}.expiry-table{table-layout:auto;min-width:0}.expiry-table th,.expiry-table td{padding:10px 3px;font-size:10px}.expiry-block{overflow-x:visible}.site-nav nav a{display:none}.resume-stage{gap:16px}.resume-card{width:min(100%,330px)}}
