:root{--ink:#171513;--paper:#fff0bd;--purple:#6d45e7;--coral:#ff5d49;--mint:#70d8b6;--line:#17151340}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fffaf0;margin:0;font-family:Noto Sans SC,Microsoft YaHei,Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.nav{border-bottom:1px solid var(--line);z-index:20;background:#fffaf0;justify-content:space-between;align-items:center;height:76px;padding:0 5vw;display:flex;position:relative}.mark{font:900 24px Arial}.mark span{color:var(--coral)}.nav>div{gap:34px;font-size:14px;display:flex}.available{font:800 11px;letter-spacing:.08em}.available i{background:#34b56d;border-radius:50%;width:8px;height:8px;margin-right:7px;animation:1.8s infinite pulse;display:inline-block}.cover{background:var(--paper);flex-direction:column;justify-content:center;min-height:calc(100vh - 76px);padding:7vh 8vw 5vh;display:flex;position:relative;overflow:hidden}.coverTitle{z-index:2;position:relative}.coverTitle>p,.pageHead p,.caseHead>div>p,.experience>div>p,.skills>div>p,.contactPage>div>p{letter-spacing:.22em;font:800 12px Arial}.coverTitle h1{letter-spacing:-.12em;white-space:nowrap;color:var(--ink);filter:drop-shadow(10px 10px 0 var(--purple));margin:8vh 0 6vh;font-family:STKaiti,KaiTi,Microsoft YaHei,sans-serif;font-size:clamp(110px,21vw,310px);line-height:.7}.coverTitle h1 i{font-style:normal;display:inline-block;transform:rotate(-2deg)}.coverTitle h1 i:nth-child(2){transform:translateY(-4%)rotate(2deg)}.coverTitle h1 i:nth-child(3){transform:rotate(-1deg)}.nameLine{align-items:center;gap:20px;display:flex}.nameLine strong{font-size:34px}.nameLine span{background:var(--coral);color:#fff;border:2px solid var(--ink);border-radius:99px;padding:8px 16px;font-weight:800;transform:rotate(-2deg)}.manifesto{z-index:2;max-width:650px;margin:28px 0 20px;font-size:16px;line-height:1.9;position:relative}.heroActions{gap:12px;display:flex}.heroActions a,.external,.topLink{border:1.5px solid var(--ink);border-radius:99px;padding:13px 22px;font-size:13px;font-weight:800}.heroActions a:first-child{background:var(--ink);color:#fff}.orb{border:2px solid var(--ink);border-radius:45% 55% 60% 40%;animation:12s ease-in-out infinite float;position:absolute}.o1{background:var(--mint);width:280px;height:280px;top:14%;right:5%}.o2{background:var(--coral);width:90px;height:90px;animation-delay:-4s;bottom:8%;right:25%}.ticker{border-block:2px solid var(--ink);background:var(--mint);z-index:3;position:relative;overflow:hidden;transform:rotate(-1deg)}.ticker>div{white-space:nowrap;width:max-content;padding:15px 0;font-weight:900;animation:38s linear infinite marquee}.homeIntro{grid-template-columns:1.3fr .7fr;gap:8vw;padding:12vw 8vw;display:grid}.homeIntro h2{margin:14px 0;font-size:clamp(42px,6vw,90px);line-height:1.08}.homeIntro h2 em{color:var(--purple);font-style:normal}.homeIntro>div:last-child{align-self:end;line-height:1.9}.textLink{margin-top:24px;font-weight:900;display:inline-block}.pageHead{border-bottom:1px solid var(--line);background:var(--paper);padding:10vw 8vw 7vw;position:relative;overflow:hidden}.pageHead h1{letter-spacing:-.08em;margin:10px 0 0;font-size:clamp(70px,13vw,180px)}.pageHead span{letter-spacing:.08em;font:800 16px Arial}.profile{grid-template-columns:.8fr 1.2fr;align-items:center;gap:8vw;padding:8vw;display:grid}.photoWrap{justify-content:center;align-items:flex-end;height:620px;display:flex;position:relative;overflow:hidden}.photoWrap img{z-index:2;width:auto;max-height:94%;position:relative}.photoBlob{border-radius:50%;animation:10s infinite float;position:absolute}.b1{background:var(--mint);border:2px solid var(--ink);width:90%;height:70%;bottom:2%}.b2{background:var(--purple);width:45%;height:45%;animation-delay:-3s;top:6%;right:0}.profile h2{margin:0;font-size:70px}.profile h2 em{background:var(--coral);color:#fff;border-radius:20px;padding:8px 13px;font-size:16px;font-style:normal}.role{color:var(--purple);font-weight:900}.infoGrid{grid-template-columns:1fr 1fr;gap:12px;margin-top:40px;display:grid}.infoGrid span{border-top:1px solid;padding:17px 0;font-size:12px}.infoGrid strong{margin-top:8px;font-size:15px;display:block}.experience,.skills{border-top:1px solid var(--line);padding:8vw}.experience{grid-template-columns:.6fr 1.4fr;gap:8vw;display:grid}.experience h2,.skills h2{margin:8px 0;font-size:60px}.experienceHead{border-bottom:1px solid;justify-content:space-between;padding-bottom:18px;display:flex}.experienceHead div{flex-direction:column;gap:8px;display:flex}.experience>div:last-child>p{max-width:800px;line-height:1.8}.experience ol{grid-template-columns:1fr 1fr;gap:10px;margin-top:40px;padding:0;list-style:none;display:grid}.experience li{background:#fff;border:1px solid;border-radius:10px;padding:16px}.experience li b{color:var(--purple);margin-right:12px}.skillGrid{grid-template-columns:repeat(7,1fr);gap:12px;display:grid}.skill{aspect-ratio:1;background:#fff;border:1.5px solid;border-radius:18px;flex-direction:column;justify-content:space-between;padding:18px;transition:all .3s;display:flex}.skill:hover{background:var(--paper);transform:translateY(-8px)rotate(2deg)}.skill i{color:var(--purple);font:900 34px Arial}.skill span{font-size:12px;font-weight:800}.projectsHead{background:var(--mint)}.projectCards{grid-template-columns:1fr 1fr;gap:7vw 3vw;padding:7vw 8vw;display:grid}.projectCard>div{background:#eee;border:1.5px solid;height:38vw;min-height:330px;max-height:590px;position:relative;overflow:hidden}.projectCard img{object-fit:contain;background:#fff;width:100%;height:100%;transition:all .6s}.projectCard:hover img{transform:scale(1.035)}.projectCard>div span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:15px;left:15px}.projectCard h2{margin:20px 0 6px;font-size:34px}.projectCard p{color:#625d56;margin:0 0 16px}.projectCard b{font-size:13px}.moreWork{padding:5vw 0 8vw}.moreWork>.sectionLabel{margin-inline:8vw}.moreWork>div:last-child{gap:14px;padding:20px 8vw;display:flex;overflow-x:auto}.moreWork img{object-fit:contain;background:#fff;border:1px solid;width:auto;height:260px}.sectionLabel{border-bottom:1px solid;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:14px;display:flex}.sectionLabel span{font-size:22px;font-weight:900}.sectionLabel small{letter-spacing:.12em}.caseHead{background:var(--paper);grid-template-columns:1.3fr .7fr;align-items:end;gap:6vw;padding:8vw;display:grid}.caseHead h1{letter-spacing:-.07em;margin:10px 0;font-size:clamp(58px,9vw,130px)}.caseHead span{letter-spacing:.14em;font:800 13px Arial}.caseHead>div:last-child p{line-height:1.9}.caseHero{padding:4vw 8vw 8vw}.caseHero img{object-fit:contain;background:#fff;width:100%;max-height:85vh}.caseGroup,.deckSection{padding:5vw 8vw}.verticalGrid{grid-template-columns:repeat(3,1fr);align-items:start;gap:20px;display:grid}.verticalGrid img,.squareGrid img,.horizontalGrid img{object-fit:contain;border:1px solid var(--line);background:#fff;width:100%;height:auto}.squareGrid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.horizontalGrid{grid-template-columns:1fr;gap:26px;display:grid}.deck{cursor:pointer;width:100%;box-shadow:16px 16px 0 var(--purple);background:#e9e0ff;border:1.5px solid;padding:4vw;position:relative}.deck img{object-fit:contain;width:100%;max-height:42vh}.deck span{background:var(--ink);color:#fff;border-radius:20px;padding:8px 12px;font-size:11px;position:absolute;bottom:12px;right:16px}.nextLink{margin:4vw 8vw 9vw;font-weight:900;display:block}.articleCards{gap:30px;padding:7vw 8vw;display:grid}.articleCards a{background:#fff;border:1.5px solid;grid-template-columns:.8fr 1.2fr;display:grid}.articleCards img{object-fit:contain;background:#f2ece1;width:100%;height:100%;min-height:310px}.articleCards a>div{align-self:center;padding:5vw}.articleCards h2{margin:14px 0;font-size:40px}.articleCards p{line-height:1.8}.articleHead{background:var(--paper);grid-template-columns:1.3fr .7fr;align-items:end;gap:6vw;padding:8vw;display:grid}.articleHead h1{margin:20px 0;font-size:clamp(45px,7vw,100px);line-height:1.15}.articleHead>div:last-child p{margin-bottom:28px;line-height:1.8}.longform{background:#fff;max-width:820px;margin:7vw auto}.longform .reveal{margin:0}.longform img{width:100%;margin:0}.contactPage{background:var(--paper);min-height:calc(100vh - 76px);padding:8vw;position:relative;overflow:hidden}.contactPage h1{letter-spacing:-.06em;margin:18px 0;font-size:clamp(58px,10vw,140px);line-height:.98}.contactPage h1 em{color:var(--purple);font-style:normal}.contactIntro{max-width:600px;line-height:1.8}.contactGrid{align-items:end;gap:50px;margin-top:50px;display:flex}.contactGrid>div{flex-direction:column;gap:10px;display:flex}.contactGrid a,.contactGrid strong{font-size:20px}.contactGrid img{border:8px solid #fff;width:190px}.copy{cursor:pointer;background:#fff;border:1px solid;border-radius:30px;width:max-content;padding:9px 14px}.topLink{margin-top:50px;display:inline-block}.o3{background:var(--mint);width:400px;height:400px;top:7%;right:-8%}.endTicker{margin-top:-10px}footer{letter-spacing:.1em;padding:30px 8vw;font-size:11px}.reveal{opacity:0;transition:opacity .7s ease var(--delay),transform .7s cubic-bezier(.2,.7,.2,1) var(--delay);transform:translateY(14px)}.reveal.title{clip-path:inset(0 0 100%);transform:translateY(30px)}.reveal.image{transform:translateY(14px)scale(.985)}.reveal.show{opacity:1;clip-path:inset(0);transform:none}@keyframes marquee{to{transform:translate(-50%)}}@keyframes float{50%{transform:translate(12px,-18px)rotate(8deg)}}@keyframes pulse{50%{box-shadow:0 0 0 6px #34b56d2e}}@media (max-width:800px){.nav{padding:0 20px}.nav>div{gap:15px}.available{display:none}.cover{padding:70px 24px}.coverTitle h1{filter:drop-shadow(6px 6px 0 var(--purple));font-size:28vw}.manifesto br{display:none}.homeIntro,.profile,.experience,.caseHead,.articleHead{grid-template-columns:1fr;padding:70px 24px}.photoWrap{height:480px}.infoGrid,.experience ol,.projectCards,.squareGrid{grid-template-columns:1fr}.skillGrid{grid-template-columns:repeat(3,1fr)}.projectCards{padding:60px 24px}.projectCard>div{height:72vw}.pageHead{padding:80px 24px}.pageHead h1{font-size:20vw}.verticalGrid{grid-template-columns:1fr 1fr}.caseHero,.caseGroup,.deckSection{padding:45px 24px}.articleCards{padding:50px 24px}.articleCards a{grid-template-columns:1fr}.articleCards h2{font-size:28px}.contactPage{padding:70px 24px}.contactGrid{flex-direction:column;align-items:flex-start}.o3{opacity:.35}.longform{margin:40px 16px}.moreWork img{height:190px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}.reveal{opacity:1!important;clip-path:none!important;transition:none!important;transform:none!important}}.coverTitle h1{letter-spacing:-.13em;filter:drop-shadow(10px 10px 0 var(--purple));font-family:Microsoft YaHei UI,PingFang SC,Noto Sans SC,sans-serif;font-weight:1000;font-stretch:75%;line-height:.72}.coverTitle h1 i{transform:none!important}.aboutOne{background:#fffaf0;padding:7vw 8vw 8vw;scroll-margin-top:20px}.aboutBar{border-bottom:1.5px solid var(--ink);grid-template-columns:1fr auto 1fr;align-items:end;margin-bottom:36px;padding-bottom:18px;display:grid}.aboutBar>span{letter-spacing:.18em;font:800 12px Arial}.aboutBar h2{letter-spacing:-.06em;margin:0;font-size:clamp(48px,6vw,88px);line-height:.9}.aboutBar small{text-align:right;letter-spacing:.12em}.aboutLayout{grid-template-columns:minmax(320px,.72fr) 1.28fr;align-items:stretch;gap:28px;display:grid}.aboutLeft,.aboutRight{border:1.5px solid var(--ink);background:#fff}.compactPhoto{background:var(--paper);justify-content:center;align-items:flex-end;height:450px;display:flex;position:relative;overflow:hidden}.compactPhoto img{z-index:2;width:auto;height:95%;position:relative}.compactPhoto .b1{width:78%;height:66%;bottom:-6%;left:8%}.compactPhoto .b2{width:35%;height:35%;top:8%;right:7%}.baseInfo{padding:25px}.baseInfo h3{margin:0;font-size:34px}.baseInfo h3 em{color:#fff;background:var(--coral);vertical-align:middle;border-radius:99px;padding:7px 11px;font-size:13px;font-style:normal}.baseInfo>p{color:var(--purple);font-weight:800}.baseInfo dl{margin:24px 0 0}.baseInfo dl>div{border-top:1px solid var(--line);grid-template-columns:60px 1fr;padding:10px 0;font-size:13px;display:grid}.baseInfo dt{color:#777}.baseInfo dd{word-break:break-all;margin:0;font-weight:800}.aboutRight{padding:30px}.internTop>p{letter-spacing:.18em;color:var(--purple);font:800 11px Arial}.internTop>div{border-bottom:1px solid;grid-template-columns:1fr auto;align-items:center;gap:8px 20px;padding-bottom:18px;display:grid}.internTop h3{margin:0;font-size:27px}.internTop span{font-weight:800}.internTop time{grid-area:1/2/3;font-weight:900}.internTop>p:last-child{max-width:760px;line-height:1.75}.workList{grid-template-columns:1fr 1fr;gap:9px;margin:25px 0 0;padding:0;list-style:none;display:grid}.workList li{border:1px solid var(--line);background:#fffaf0;border-radius:8px;align-items:center;min-height:58px;padding:13px;font-size:13px;display:flex}.workList b{color:var(--purple);margin-right:10px}.skillsFull{margin-top:36px}.logoSkills{grid-template-columns:repeat(7,1fr);gap:12px;display:grid}.logoSkill{border:1.5px solid var(--ink);background:#fff;border-radius:16px;flex-direction:column;justify-content:space-between;align-items:flex-start;height:155px;padding:19px;transition:all .3s;display:flex}.logoSkill:hover{background:var(--paper);transform:translateY(-7px)rotate(1deg)}.logoSkill img{object-fit:contain;width:58px;height:58px}.logoSkill span{font-size:12px;font-weight:900}.projectsOne{background:var(--mint);padding-top:7vw;scroll-margin-top:20px}.projectsOne>header{padding:0 8vw 4vw}.projectsOne>header p{letter-spacing:.18em;font:800 12px Arial}.projectsOne>header h2{letter-spacing:-.08em;margin:15px 0;font-size:clamp(65px,10vw,145px);line-height:.85}.projectsOne .projectCards{background:#fffaf0}.projectCard h3{margin:20px 0 6px;font-size:34px}.contactStrip{background:var(--paper);grid-template-columns:1.2fr .8fr;align-items:end;gap:7vw;padding:9vw 8vw;scroll-margin-top:20px;display:grid}.contactStrip h2{letter-spacing:-.06em;margin:15px 0;font-size:clamp(52px,7vw,105px);line-height:1.03}.contactStrip>div:last-child>p{line-height:1.8}.contactInline{flex-direction:column;align-items:flex-start;gap:10px;margin-top:25px;display:flex}.contactInline a,.contactInline span{font-weight:900}@media (max-width:800px){.coverTitle h1{letter-spacing:-.14em;filter:drop-shadow(6px 6px 0 var(--purple));font-size:27vw}.aboutOne{padding:60px 20px}.aboutBar{grid-template-columns:1fr;gap:8px}.aboutBar small{text-align:left}.aboutLayout{grid-template-columns:1fr}.compactPhoto{height:420px}.internTop>div{grid-template-columns:1fr}.internTop time{grid-area:auto/1}.workList{grid-template-columns:1fr}.logoSkills{grid-template-columns:repeat(2,1fr)}.logoSkill{height:135px}.projectsOne>header{padding:60px 24px 35px}.contactStrip{grid-template-columns:1fr;padding:70px 24px}}.aboutOne,.projectsOne,.singleContact{position:relative;overflow:hidden}.aboutOne>:not(.decorations),.projectsOne>:not(.decorations),.singleContact>:not(.decorations){z-index:2;position:relative}.decorations{pointer-events:none;z-index:1;position:absolute;inset:0}.deco{place-items:center;font-style:normal;animation:12s ease-in-out infinite decoDrift;display:grid;position:absolute}.deco.ball{border:2px solid var(--ink);background:var(--coral);border-radius:46% 54% 58% 42%;width:80px;height:80px;top:14%;left:3%}.deco.star{color:var(--purple);font-size:52px;animation-delay:-3s;top:9%;right:4%}.deco.dot{color:var(--mint);font-size:32px;animation-delay:-5s;bottom:12%;right:9%}.deco.cross{color:var(--coral);font-size:48px;animation-delay:-7s;bottom:8%;left:4%}.cover .deco.ball{background:var(--mint);width:240px;height:240px;top:10%;left:auto;right:4%}.cover .deco.star{top:22%;right:22%}.cover .deco.dot{color:var(--coral);bottom:8%;right:25%}.aboutOne .deco,.projectsOne .deco{opacity:.7}.internTitle{letter-spacing:-.05em;margin:8px 0 20px!important;font-size:36px!important}.internTop>div h4{margin:0;font-size:24px}.softwareBlock{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.softwareBlock .sectionLabel{margin-bottom:14px}.softwareBlock .sectionLabel span{font-size:20px}.softwareBlock .logoSkills{grid-template-columns:repeat(3,1fr);gap:9px}.softwareBlock .logoSkill{height:118px;padding:14px}.softwareBlock .logoSkill img{width:44px;height:44px}.softwareBlock .logoSkill span{font-size:10px}.projectCards button.projectCard{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0}.projectCard>div{border-radius:24px;box-shadow:0 7px #1715131a}.projectCard img{object-fit:cover;background:0 0}.projectCard{border-radius:24px}.portfolioDialog{background:#fffaf0!important;border:0!important;border-radius:22px!important;gap:0!important;width:min(1120px,100vw - 96px)!important;max-width:none!important;height:calc(100vh - 56px)!important;max-height:none!important;padding:0!important;overflow:hidden!important}.portfolioDialog>[data-slot=dialog-close]{z-index:20;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;background:var(--ink)!important;color:#fff!important;opacity:1!important;top:14px!important;right:14px!important}.modalScroll{overscroll-behavior:contain;height:100%;overflow-y:auto}.modalHead{background:var(--paper);padding:70px 7vw 45px;position:relative}.modalHead p{letter-spacing:.18em;font:800 11px Arial}.modalHead h2{letter-spacing:-.07em;margin:16px 0;font-size:clamp(50px,8vw,100px);line-height:.92}.modalHead>span{color:var(--purple);font-weight:900}.modalHead em{max-width:650px;margin-top:24px;font-style:normal;line-height:1.8;display:block}.modalHero{object-fit:contain;background:#fff;border-radius:16px;width:calc(100% - 10vw);max-height:80vh;margin:5vw auto}.modalGroup{padding:4vw 5vw}.modalLabel{border-bottom:1px solid;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;display:flex}.modalLabel span{letter-spacing:.1em;font-size:10px}.modalVertical{grid-template-columns:repeat(3,1fr);align-items:start;gap:14px;display:grid}.modalSquare{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.modalHorizontal{gap:18px;display:grid}.modalVertical img,.modalSquare img,.modalHorizontal img{object-fit:contain;background:#fff;border-radius:12px;width:100%;height:auto}.shelfRail{scrollbar-width:thin;background:#e9e0ff;border-radius:14px;padding:24px 0;overflow-x:auto}.shelfRail>div{gap:12px;width:max-content;padding:0 12px;animation:34s linear infinite shelfMove;display:flex}.shelfRail:hover>div{animation-play-state:paused}.shelfRail img{border-radius:10px;flex:none;width:auto;height:180px}.modalArticles{gap:18px;padding:4vw 5vw;display:grid}.modalArticles>button{text-align:left;border:1px solid var(--ink);cursor:pointer;background:#fff;border-radius:18px;grid-template-columns:.8fr 1.2fr;padding:0;display:grid;overflow:hidden}.modalArticles img{object-fit:cover;width:100%;height:100%;min-height:260px}.modalArticles button>div{padding:30px}.modalArticles h3{margin:0 0 12px;font-size:27px}.modalArticles p{line-height:1.7}.modalBack{cursor:pointer;background:#fff;border:1px solid;border-radius:99px;margin:24px 5vw 0;padding:10px 16px}.articleModalHead{padding:35px 5vw}.articleModalHead h3{margin:0;font-size:40px}.articleModalHead p{line-height:1.8}.articleModalHead a{border:1px solid;border-radius:99px;padding:10px 16px;font-weight:800;display:inline-block}.articleLong{max-width:760px;margin:0 auto 5vw}.articleLong img{width:100%;height:auto}.singleContact{min-height:100vh}.singleContact .contactGrid{z-index:2;position:relative}@keyframes shelfMove{to{transform:translate(-50%)}}@keyframes decoDrift{50%{transform:translate(12px,-16px)rotate(12deg)scale(1.05)}}@media (max-width:800px){.cover{min-height:calc(100svh - 76px);padding:55px 20px}.coverTitle h1{white-space:nowrap;max-width:100%;filter:drop-shadow(5px 5px 0 var(--purple));letter-spacing:-.1em!important;font-size:clamp(72px,25vw,104px)!important;line-height:.9!important}.coverTitle h1 i{display:inline!important}.cover .deco.ball{width:120px;height:120px;top:8%;right:-35px}.cover .deco.star{font-size:32px;top:35%;right:8%}.aboutOne .deco,.projectsOne .deco{opacity:.35}.softwareBlock .logoSkills{grid-template-columns:repeat(2,1fr)}.portfolioDialog{border-radius:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important}.modalHead{padding:70px 24px 40px}.modalHead h2{font-size:52px}.modalHero{width:calc(100% - 32px);margin:30px 16px}.modalGroup{padding:35px 16px}.modalVertical{grid-template-columns:1fr 1fr}.modalSquare{grid-template-columns:1fr}.modalArticles{padding:25px 16px}.modalArticles>button{grid-template-columns:1fr}.modalArticles img{min-height:190px}.modalArticles button>div{padding:22px}.shelfRail img{height:125px}.singleContact{padding:70px 24px}.singleContact .contactGrid{flex-direction:column;align-items:flex-start}.deco.cross{display:none}}.nav{grid-template-columns:1fr auto 1fr;justify-content:normal;display:grid}.nav .mark{grid-area:1/1}.nav>div{grid-area:1/2}.routeLoader{z-index:300;background:var(--paper);place-items:center;animation:.2s both loaderIn;display:grid;position:fixed;inset:0;overflow:hidden}.routeLoader .decorations{z-index:0}.routeLoaderCenter{z-index:2;text-align:center;width:min(440px,78vw);position:relative}.routeLoaderCenter small{letter-spacing:.2em;margin-bottom:14px;font-size:12px;font-weight:800;display:block}.routeLoaderCenter h2{margin:0 0 26px;font-size:clamp(28px,5vw,52px);line-height:1}.routeLoaderCenter p{margin:14px 0 0;font-size:13px}.progressTrack{border:2px solid var(--ink);background:#fff;border-radius:999px;height:14px;overflow:hidden}.progressTrack i{border-radius:inherit;background:var(--purple);transform-origin:0;width:100%;height:100%;animation:.55s cubic-bezier(.22,.84,.32,1) both routeProgress;display:block}.caseShelfRail{border:var(--line);scrollbar-width:thin;background:#e9e0ff;border-radius:22px;margin-top:18px;padding:18px 0;overflow-x:auto}.caseShelfRail>div{gap:16px;width:max-content;padding-inline:16px;animation:32s linear infinite shelfMove;display:flex}.caseShelfRail:hover>div{animation-play-state:paused}.caseShelfRail img{border:var(--line);object-fit:contain;background:#fff;border-radius:14px;flex:none;width:auto;height:176px}.caseShelfLabel{opacity:.65;margin:8px 4px 0;font-size:12px;font-weight:700}@keyframes routeProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes loaderIn{0%{opacity:0}to{opacity:1}}@media (max-width:900px){.nav{grid-template-columns:auto 1fr}.nav>div{grid-column:2;justify-self:end}.coverTitle,.coverTitle.reveal.title.show{clip-path:none;width:100%;max-width:100%;overflow:visible}.coverTitle h1{white-space:nowrap;justify-content:center;align-items:center;gap:0;width:100%;max-width:none;overflow:visible;letter-spacing:0!important;margin:42px 0 34px!important;font-size:clamp(60px,21vw,138px)!important;line-height:1!important;display:flex!important;transform:none!important}.coverTitle h1 i{flex:0 auto;margin:0 -.035em;display:block!important;transform:none!important}.caseShelfRail img{height:128px}}.coverTitle.reveal{animation:.72s cubic-bezier(.2,.75,.2,1) both heroEnter;opacity:1!important;clip-path:none!important;transform:none!important}.routeLoader.isLeaving{opacity:0;transition:opacity .3s}.progressTrack i{animation-duration:1.05s}@keyframes heroEnter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.nav>.navBrand{grid-area:1/1;justify-self:start;align-items:center;gap:12px;display:flex}.nav>.navLinks{grid-area:1/2;justify-self:center;gap:34px;display:flex}.navBack{border:1.5px solid var(--ink);width:38px;height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;place-items:center;padding:0;font-size:21px;font-weight:900;transition:transform .25s,background .25s;display:grid}.navBack:hover{background:var(--paper);transform:translate(-3px)}.baseInfo dd strong,.baseInfo dd span{display:block}.baseInfo dd span{color:#666;margin-top:5px;font-size:12px;font-weight:600}.workTags{flex-wrap:wrap;gap:10px;margin-top:25px;display:flex}.workTags span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:800;transition:transform .25s,background .25s}.workTags span:hover{background:var(--paper);transform:translateY(-3px)rotate(-1deg)}.projectCards{gap:46px 34px}.projectCard{--mx:0px;--my:0px;--rx:0deg;--ry:0deg;color:inherit;border:1.5px solid var(--ink);transform-style:preserve-3d;background:#fff;border-radius:26px;padding:16px;transition:transform .22s cubic-bezier(.2,.75,.2,1),box-shadow .25s;display:block;box-shadow:0 8px #1715131a}.projectCard>.projectCardMedia{height:clamp(300px,31vw,470px);min-height:0;max-height:none;box-shadow:none;background:#fffaf0;border:0;border-radius:18px;justify-content:center;align-items:center;padding:24px;display:flex;overflow:hidden}.projectCard>.projectCardMedia img{object-fit:contain;background:0 0;width:100%;height:100%;transition:transform .35s}.projectCard>.projectCardBody{height:auto;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:22px 8px 10px;overflow:visible}.projectCardBody h3{margin:0 0 8px;font-size:32px}.projectCardBody p{margin:0 0 18px}.projectCardBody b{display:inline-block}.projectCard:focus-visible{outline:3px solid var(--purple);outline-offset:5px}.projectCard:active{transform:scale(.985)}@media (hover:hover) and (pointer:fine){.projectCard{transform:perspective(950px) translate3d(var(--mx),var(--my),0) rotateX(var(--rx)) rotateY(var(--ry))}.projectCard:hover{box-shadow:0 16px 30px #17151326}.projectCard:hover .projectCardMedia img{transform:scale(1.025)}}.caseShelfGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.caseShelfGrid img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;height:auto}.pageHead span{max-width:940px;line-height:1.8;display:block}.backToTop{z-index:160;border:2px solid var(--ink);background:var(--coral);color:#fff;cursor:pointer;width:52px;height:52px;box-shadow:4px 4px 0 var(--ink);border-radius:50%;place-items:center;font-size:24px;font-weight:900;transition:transform .25s,box-shadow .25s;display:grid;position:fixed;bottom:24px;right:24px}.backToTop:hover{box-shadow:6px 8px 0 var(--ink);transform:translateY(-5px)rotate(4deg)}@media (max-width:900px){.nav>.navBrand{grid-column:1;justify-self:start;gap:8px}.nav>.navLinks{grid-column:2;justify-self:end;gap:15px}.navBack{width:34px;height:34px}.projectCards{gap:28px}.projectCard{padding:12px}.projectCard>.projectCardMedia{height:72vw;min-height:250px;padding:16px}.projectCard>.projectCardBody{padding:18px 6px 8px}.projectCardBody h3{font-size:28px}.caseShelfGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.backToTop{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:46px;height:46px;font-size:21px}}@media (prefers-reduced-motion:reduce){.projectCard,.navBack,.backToTop,.workTags span{transition:none!important;transform:none!important}}.caseHead>.reveal.title,.pageHead .reveal.title,.articleHead .reveal.title{opacity:1!important;clip-path:none!important;transform:none!important}.mainVisualGroup .sectionLabel{margin-inline:0}.mainVisual{width:100%}.mainVisual img{object-fit:contain;background:#fff;width:100%;max-height:85vh;display:block}.routeLoader .progressTrack i{animation-duration:1.55s}.routeLoader{min-height:100dvh}.routeLoader.isLeaving{pointer-events:none}@media (max-width:800px){.caseHead>.reveal.title{width:100%;min-height:0;display:block!important}.caseHead h1{letter-spacing:-.07em!important;white-space:normal!important;margin:14px 0!important;font-size:clamp(48px,15vw,78px)!important;line-height:1.05!important;display:block!important}.caseHead span{line-height:1.6;display:block}.mainVisualGroup{padding-top:38px}.mainVisual img{max-height:none}}.projectNav{z-index:220;-webkit-backdrop-filter:blur(12px);background:#fffaf0f5;grid-template-columns:1fr minmax(0,2fr) 1fr;position:fixed;inset:0 0 auto}.projectNav>.navBrand{grid-column:1}.navProjectTitle{text-overflow:ellipsis;white-space:nowrap;text-align:center;letter-spacing:.04em;grid-area:1/2;justify-self:center;min-width:0;max-width:100%;font-size:15px;overflow:hidden}.navBalance{grid-area:1/3}.projectNav+.caseHead,.projectNav+.pageHead,.projectNav+.articleHead{margin-top:76px}@media (max-width:800px){.projectNav{grid-template-columns:minmax(112px,auto) minmax(0,1fr) minmax(112px,auto);padding-inline:16px}.projectNav>.navBrand{gap:7px}.projectNav .mark{font-size:21px}.navProjectTitle{letter-spacing:0;font-size:13px}.projectNav .navBalance{width:112px;display:block}.projectNav+.caseHead,.projectNav+.pageHead,.projectNav+.articleHead{margin-top:76px}}
