@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;700;900&display=swap";:root{color:#f4f7f7;--bg:#061118;--panel:#101d25;--lime:#c9ff32;--muted:#91a0a8;--deep:#03090e;background:#061118;font-family:Inter,Noto Sans SC,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);margin:0}button,a{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none}.section{border-top:1px solid #ffffff0b;min-height:100svh;padding:120px clamp(28px,4.2vw,72px) 80px;position:relative}.eyebrow{letter-spacing:.16em;color:var(--lime);font:700 11px/1 Inter}.pill-nav{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a161dcc;border:1px solid #ffffff26;border-radius:30px;align-items:center;width:min(620px,100vw - 34px);height:46px;padding:4px;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%);box-shadow:0 16px 38px #0005}.nav-logo{background:var(--lime);color:#071017;border:0;border-radius:20px;width:40px;height:36px;font-weight:900}.nav-links{flex:1;justify-content:center;gap:3px;display:flex}.nav-links a{color:#aab5bb;border-radius:21px;padding:10px 16px;font-size:12px}.nav-links a:hover,.nav-links a.active{color:#071017;background:var(--lime)}.nav-menu{background:0 0;border:0;margin-left:auto;font-size:11px;display:none}.hero{background:radial-gradient(circle at 82% 18%,#566c271f,transparent 30%),radial-gradient(circle at 15% 82%,#143c492c,transparent 45%),var(--bg);height:100svh;min-height:780px;padding:110px clamp(32px,7vw,118px) 26px;position:relative}.ambient{filter:blur(90px);opacity:.23;border-radius:50%;position:absolute}.ambient-one{background:#2e6571;width:430px;height:430px;top:38%;left:-230px}.ambient-two{background:#8aa334;width:380px;height:380px;top:4%;right:-220px}.hero-grid{grid-template-columns:50% 50%;align-items:center;max-width:1460px;height:62%;margin:auto;display:grid}.hero-copy{z-index:3}.hero-copy h1{letter-spacing:-.04em;margin:22px 0 27px;font:500 clamp(55px,7.4vw,115px)/.77 Barlow Condensed,Noto Sans SC}.hero-copy h1 b{color:var(--lime);text-shadow:0 0 26px #bdff3440;font-family:Noto Sans SC;font-size:1.06em;font-weight:900}.hero-copy h2{color:var(--lime);margin:0;font:800 clamp(23px,2.3vw,39px)/1 Noto Sans SC}.hero-copy>p{color:#b2bfc4;margin:21px 0 34px;font-size:13px}.hero-actions{gap:12px;display:flex}.btn{border:1px solid #ffffff18;border-radius:30px;align-items:center;gap:10px;padding:13px 22px;font-size:13px;display:inline-flex}.btn svg{width:17px}.btn.lime{background:var(--lime);border-color:var(--lime);color:#071017;font-weight:700;box-shadow:0 0 35px #c9ff3230}.btn.dark{background:#142129}.chips{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.chips span{color:#c0c9cd;background:#0e1c23;border:1px solid #ffffff1c;border-radius:10px;padding:13px 16px;font-size:11px}.chips span:nth-child(2){color:#18200b;background:#ecf8d8}.portrait-wrap{place-items:center;height:100%;display:grid;position:relative}.portrait{aspect-ratio:1;background:linear-gradient(110deg,#d0d0ce,#4d565a 42%,#12191d 43% 60%,#a9abad 61%,#30383b);border:4px solid #8a969a;border-radius:50%;width:min(37vw,520px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #1a252b,0 0 70px #9bbb3822}.portrait-light{background:linear-gradient(90deg,#fff6 0 18%,#0000 38% 60%,#fff2 78%,#0000);position:absolute;inset:0}.portrait-face{background:linear-gradient(105deg,#1e2427,#b8b8b6 45%,#22292c 46% 60%,#838888 61%,#11181c);border-radius:48% 48% 20% 20%;place-items:center;display:grid;position:absolute;inset:11% 21% -2%;box-shadow:inset 0 0 60px #0009}.portrait-face span{color:#ffffff18;font:800 90px Barlow Condensed}.portrait-scan{background:#091218d6;width:18%;position:absolute;top:0;bottom:0;left:43%;transform:skew(-4deg);box-shadow:0 0 40px #000}.now-card{background:#0c171ecc;border:1px solid #ffffff1c;border-radius:12px;padding:13px 20px;position:absolute;top:56%;right:0}.now-card b{color:var(--lime);font-size:17px;display:block}.now-card span{font-size:10px}.hero-bottom{align-items:flex-end;height:38%;display:flex;position:relative}.outline-word{color:#0000;-webkit-text-stroke:1px #ffffff10;font:500 clamp(100px,16vw,260px)/1 Barlow Condensed;position:absolute;top:-40px;right:-2vw}.mini-cards{z-index:2;align-items:flex-end;gap:12px;width:100%;display:flex}.mini-cards span{color:#91a0a8;background:linear-gradient(145deg,#14242d,#0a151b);border:1px solid #52616a;border-radius:16px 16px 24px 24px;width:20%;height:175px;padding:16px;font-size:12px;position:relative;box-shadow:0 20px 30px #0005}.mini-cards i{position:absolute;top:48%;left:50%}.section-head{max-width:1400px;margin:0 auto 55px}.section-head h2{margin:16px 0 11px;font:800 clamp(42px,5vw,76px)/1 Barlow Condensed,Noto Sans SC}.section-head p{color:var(--muted);font-size:11px}.experience{background:radial-gradient(circle at 20% 10%,#314b352d,transparent 38%),var(--bg)}.timeline{gap:24px;max-width:1400px;margin:auto;padding-left:50%;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(var(--lime),#566045);width:2px;position:absolute;top:0;bottom:0;left:50%}.timeline article{min-height:250px;padding-left:24px;position:relative}.timeline article:nth-child(odd) .job{width:calc(100% - 20px);position:absolute;right:calc(100% + 18px)}.timeline article:before{content:"";background:var(--lime);width:13px;height:13px;box-shadow:0 0 0 4px #071017,0 0 0 6px var(--lime);border-radius:50%;position:absolute;top:54px;left:-8px}.date{color:var(--lime);margin-top:52px;font-size:15px;font-weight:700;display:block}.job{background:linear-gradient(135deg,#354438dd,#1a252bdd);border:1px solid #68746d;border-radius:12px;padding:24px}.job h3{margin:0 0 5px;font-size:24px}.job b{color:var(--lime);font-size:13px}.job p{color:#c4cccf;font-size:13px;line-height:1.75}.job>span{color:#829097;font-size:10px}.portfolio{background:radial-gradient(circle at 78% 8%,#59722f24,#0000 30%),#061118}.masonry{grid-template-rows:270px 270px;grid-template-columns:1.05fr 1fr 1.05fr;gap:14px;max-width:1400px;margin:auto;display:grid}.work-card{text-align:left;background:#172319;border:1px solid #41503d;border-radius:16px;padding:0;position:relative;overflow:hidden}.work-card.card-1{grid-row:1/3}.work-card.card-3{grid-area:1/3/3}.work-card img{object-fit:cover;filter:saturate(.75)brightness(.65);width:100%;height:100%;transition:all .55s}.work-card:hover img{filter:saturate()brightness(.78);transform:scale(1.035)}.work-shade{background:linear-gradient(#0000 40%,#071016e8);position:absolute;inset:0}.work-copy{flex-direction:column;display:flex;position:absolute;inset:auto 20px 18px}.work-copy small{color:var(--lime);font-size:9px}.work-copy b{margin:8px 0 2px;font:700 25px Noto Sans SC}.work-copy em{color:#9aa7ac;font-size:10px}.work-copy i{border:1px solid #ffffff34;border-radius:20px;align-items:center;gap:5px;padding:7px 10px;font-size:10px;font-style:normal;display:flex;position:absolute;bottom:0;right:0}.work-copy svg{width:12px}.advantages{background:radial-gradient(circle at 13% 10%,#456e2d44,transparent 34%),var(--deep)}.adv-grid{grid-template-columns:repeat(3,1fr);gap:12px;max-width:1200px;margin:auto;display:grid}.adv-grid article{background:linear-gradient(145deg,#17242c,#0c151c);border:1px solid #34424b;border-radius:20px;min-height:330px;padding:26px;position:relative}.adv-grid .featured{background:var(--lime);color:#061118;transform:translateY(-12px)}.adv-grid small{font-size:10px;font-weight:800}.adv-grid h3{letter-spacing:-.08em;margin:45px 0 25px;font:900 clamp(34px,4vw,60px)/1 Noto Sans SC}.adv-grid p{font-size:13px;line-height:1.8}.adv-grid article>span{color:#ffffff09;font:800 55px Barlow Condensed;position:absolute;bottom:20px;right:25px}.skill-cloud{flex-wrap:wrap;gap:9px;max-width:1200px;margin:40px auto 0;display:flex}.skill-cloud span{color:#9caaaf;border:1px solid #ffffff1a;border-radius:30px;padding:10px 18px;font-size:11px}.contact{background:radial-gradient(circle at 75% 25%,#5a7b312b,#0000 35%),#071017;flex-direction:column;justify-content:center;min-height:86svh;display:flex}.contact>h2{letter-spacing:-.08em;margin:28px 0 60px;font:900 clamp(58px,9vw,140px)/.95 Noto Sans SC}.contact>h2 b{color:var(--lime)}.contact-links{flex-wrap:wrap;gap:14px;display:flex}.contact-links a{background:#101c23;border:1px solid #fff2;border-radius:40px;align-items:center;gap:12px;padding:17px 23px;display:flex}.contact-links svg{width:18px}.contact footer{color:#849399;border-top:1px solid #ffffff1c;justify-content:space-between;padding-top:18px;font-size:10px;display:flex;position:absolute;bottom:28px;left:clamp(28px,4.2vw,72px);right:clamp(28px,4.2vw,72px)}.detail-page{min-height:100svh;padding-top:1px}.detail-page>.pill-nav{position:fixed}.detail-hero{background:radial-gradient(circle at 80% 20%,#6b852c30,#0000 35%);min-height:650px;padding:150px clamp(28px,7vw,120px) 70px}.back{color:#9eabb0;background:0 0;border:0;align-items:center;gap:8px;margin-bottom:70px;display:flex}.back svg{width:17px}.detail-hero h1{letter-spacing:-.08em;margin:20px 0 12px;font:900 clamp(65px,11vw,170px)/.9 Noto Sans SC}.detail-hero>p{color:var(--lime);font:700 clamp(23px,3vw,45px) Barlow Condensed}.detail-meta{border-top:1px solid #fff2;grid-template-columns:1fr 1fr 2fr;gap:30px;margin-top:70px;padding-top:22px;display:grid}.detail-meta span{font-size:13px}.detail-meta small{color:#75848b;margin-bottom:10px;font-size:9px;display:block}.detail-cover{border-radius:24px;height:min(76vw,900px);margin:0 clamp(20px,4vw,70px);overflow:hidden}.detail-cover img{object-fit:cover;width:100%;height:100%}.detail-intro{padding:150px clamp(28px,12vw,210px)}.detail-intro h2{letter-spacing:-.055em;max-width:1100px;margin:30px 0;font:700 clamp(35px,5vw,72px)/1.25 Noto Sans SC}.detail-intro p{color:#a6b3b8;max-width:720px;line-height:1.8}.detail-sections{padding:20px clamp(28px,12vw,210px) 120px}.detail-sections article{border-top:1px solid #ffffff20;grid-template-columns:130px 1fr;padding:42px 0;display:grid}.detail-sections article>span{color:var(--lime)}.detail-sections h3{margin:0 0 20px;font:700 clamp(25px,3vw,42px) Noto Sans SC}.detail-sections p{color:#aeb9bd;max-width:770px;line-height:1.9}.detail-gallery{grid-template-columns:1fr 1fr;gap:14px;padding:0 clamp(20px,4vw,70px) 130px;display:grid}.detail-gallery img{object-fit:cover;border-radius:20px;width:100%;height:50vw;max-height:800px}.next-project{background:#0c171d;padding:110px clamp(28px,7vw,120px)}.next-project button{background:0 0;border:0;border-top:1px solid #ffffff25;justify-content:space-between;align-items:center;width:100%;margin-top:25px;padding:35px 0;display:flex}.next-project button span{letter-spacing:-.07em;font:800 clamp(45px,7vw,105px) Noto Sans SC}.next-project button svg{width:60px;height:60px;color:var(--lime)}@media (width<=760px){.pill-nav{height:42px;top:12px}.nav-logo{height:32px}.nav-menu{display:block}.nav-links{background:#08141af5;border:1px solid #fff2;border-radius:18px;flex-direction:column;padding:10px;display:none;position:absolute;top:48px;left:0;right:0}.nav-links.open{display:flex}.nav-links a{text-align:center}.hero{height:auto;min-height:860px;padding:95px 20px 22px}.hero-grid{flex-direction:column;align-items:stretch;height:auto;display:flex}.hero-copy h1{font-size:68px}.hero-copy h2{font-size:24px}.portrait-wrap{height:390px;margin-top:35px}.portrait{width:330px}.hero-bottom{height:auto}.outline-word{display:none}.mini-cards{gap:7px}.mini-cards span{width:25%;height:95px;padding:10px;font-size:8px}.mini-cards span:nth-child(n+5){display:none}.section{padding:100px 20px 60px}.timeline{padding-left:15px}.timeline:before{left:15px}.timeline article{min-height:0;margin-bottom:25px;padding-left:25px}.timeline article:nth-child(odd) .job{width:auto;position:static}.timeline article:before{left:-6px}.date{margin:0 0 13px}.job{padding:20px}.job h3{font-size:19px}.masonry{flex-direction:column;display:flex}.work-card{height:350px}.work-card.card-1,.work-card.card-3{height:450px}.adv-grid{grid-template-columns:1fr}.adv-grid .featured{transform:none}.contact>h2{font-size:58px}.contact-links{flex-direction:column}.contact footer{flex-wrap:wrap;gap:12px;margin-top:90px;position:static}.detail-hero{min-height:600px;padding:110px 20px 60px}.back{margin-bottom:55px}.detail-meta{grid-template-columns:1fr;gap:18px;margin-top:45px}.detail-cover{height:105vw}.detail-intro{padding:95px 20px}.detail-sections{padding:10px 20px 80px}.detail-sections article{grid-template-columns:45px 1fr}.detail-gallery{grid-template-columns:1fr;padding:0 14px 80px}.detail-gallery img{height:110vw}.next-project{padding:80px 20px}.next-project button svg{width:36px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.section>.pill-nav{top:52px}.pill-nav{position:fixed}main{overflow:visible}.pill-nav{top:22px!important}.nav-links a:hover{transform:translateY(-2px);box-shadow:0 0 18px #c9ff3266}.nav-links a.active{box-shadow:0 0 20px #c9ff3277,0 0 42px #c9ff3238}.portrait-photo{object-fit:cover;object-position:52% 43%;filter:none;width:116%;height:116%;position:absolute;inset:-9% -8%;transform:rotate(-2.4deg)scale(1.03)}.portrait-light{z-index:2;mix-blend-mode:screen;background:linear-gradient(90deg,#fff3 0 17%,#0000 38% 61%,#ffffff12 79%,#0000)}.portrait-scan{z-index:3;opacity:.84}@media (width<=760px){.portrait-photo{object-position:51% 42%;width:114%;height:114%;inset:-8% -7%;transform:rotate(-2deg)scale(1.04)}}.scroll-progress{z-index:120;transform-origin:0;background:linear-gradient(90deg,#7c9d15,var(--lime));width:100%;height:3px;position:fixed;top:0;left:0;box-shadow:0 0 14px #c9ff3288}.cursor-ring,.cursor-dot{z-index:200;pointer-events:none;will-change:transform;border-radius:50%;position:fixed;top:0;left:0}.cursor-ring{border:1px solid #c9ff32aa;width:36px;height:36px;margin:-18px;transition:width .2s,height .2s,margin .2s,background .2s;box-shadow:0 0 20px #c9ff3225}.cursor-ring.is-hover{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#c9ff3218;width:62px;height:62px;margin:-31px}.cursor-dot{background:var(--lime);width:5px;height:5px;margin:-2.5px}.intro-screen{z-index:300;clip-path:inset(0);background:#03090e;place-items:center;transition:clip-path .85s cubic-bezier(.76,0,.24,1),visibility .85s;display:grid;position:fixed;inset:0}.intro-screen span{color:var(--lime);letter-spacing:-.08em;font:800 clamp(70px,15vw,210px)/1 Barlow Condensed;animation:.75s cubic-bezier(.2,.8,.2,1) both intro-mark}.intro-screen i{background:#ffffff1c;height:1px;position:absolute;bottom:18%;left:15%;right:15%;overflow:hidden}.intro-screen i:after{content:"";background:var(--lime);width:100%;height:100%;animation:1s both intro-line;display:block}.intro-screen.intro-done{clip-path:inset(0 0 100%);visibility:hidden}.reveal-item{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(45px)scale(.985)}.reveal-item.in-view{opacity:1;transform:translateY(0)scale(1)}.timeline article:nth-child(2n).reveal-item{transform:translate(45px)}.timeline article:nth-child(odd).reveal-item{transform:translate(-45px)}.timeline article.in-view{transform:translate(0)}.portrait{transform:perspective(900px) rotateX(var(--py,0deg)) rotateY(var(--px,0deg));will-change:transform;transition:transform .16s ease-out}.portrait-photo{transition:transform .9s cubic-bezier(.22,1,.36,1)}.portrait:hover .portrait-photo{transform:rotate(-1deg)scale(1.09)}.portrait-scan{animation:4.6s ease-in-out infinite alternate scan-drift}.now-card{animation:3.2s ease-in-out infinite float-card}.mini-cards span{transition:border-color .25s,background .25s,box-shadow .25s;animation:4s ease-in-out infinite mini-float}.mini-cards span:nth-child(2){animation-delay:-.7s}.mini-cards span:nth-child(3){animation-delay:-1.4s}.mini-cards span:nth-child(4){animation-delay:-2.1s}.mini-cards span:nth-child(5){animation-delay:-2.8s}.mini-cards span:hover{background:#13262d;border-color:#c9ff32aa;box-shadow:0 24px 45px #0008,0 0 28px #c9ff321a}.btn,.contact-links a,.back,.next-project button{transform:translate(var(--mx,0),var(--my,0));transition:transform .22s ease-out,background .25s,border-color .25s;position:relative;overflow:hidden}.click-ripple{pointer-events:none;background:#e8ff9a88;border-radius:50%;width:16px;height:16px;margin:-8px;animation:.65s ease-out forwards ripple;position:absolute}.work-card,.adv-grid article,.job{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform .28s ease-out,border-color .25s}.work-card:after,.adv-grid article:after,.job:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),#ffffff25,transparent 38%);transition:opacity .25s;position:absolute;inset:0}.work-card:hover:after,.adv-grid article:hover:after,.job:hover:after{opacity:1}.work-copy{transform:translateZ(30px)}.work-card:hover .work-copy i{background:var(--lime);color:#071017;border-color:var(--lime)}.pill-nav{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}.pill-nav:hover{transform:translate(-50%)translateY(2px);box-shadow:0 22px 50px #0008}.nav-links a{transition:color .25s,background .25s,transform .2s;position:relative;overflow:hidden}.nav-links a:active{transform:scale(.92)}.timeline:before{transform-origin:top;transform:scaleY(var(--section-progress,0));transition:transform .12s linear}.outline-word{transform:translateX(calc(var(--section-progress,0) * -35px));transition:transform .1s linear}.detail-cover img{transition:transform 1.1s cubic-bezier(.22,1,.36,1),filter .5s}.detail-cover:hover img{filter:saturate(1.1);transform:scale(1.035)}.detail-page{animation:.7s cubic-bezier(.22,1,.36,1) both page-enter}.next-project button:hover svg{transform:rotate(45deg)scale(1.15)}.next-project button svg{transition:transform .4s cubic-bezier(.22,1,.36,1)}@keyframes intro-mark{0%{opacity:0;filter:blur(16px);transform:scale(.7)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes intro-line{0%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@keyframes scan-drift{0%{left:28%;transform:skew(-4deg)}to{left:61%;transform:skew(4deg)}}@keyframes float-card{50%{transform:translateY(-9px)}}@keyframes mini-float{50%{translate:0 -7px}}@keyframes ripple{to{opacity:0;transform:scale(14)}}@keyframes page-enter{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.light-field{z-index:0;pointer-events:none;mix-blend-mode:screen;opacity:.9;position:fixed;inset:0}.hero,.section,.detail-page{isolation:isolate}.hero>:not(.ambient),.section>*{z-index:1;position:relative}.section-head h2,.detail-hero h1,.contact>h2{transform:skewY(calc(var(--scroll-velocity,0) * -.018deg)) scaleY(calc(1 + var(--scroll-velocity,0) * .002));transform-origin:0;transition:transform .18s ease-out}.portrait:after{content:"";z-index:5;background:radial-gradient(circle at var(--lens-x,55%) var(--lens-y,45%),#ffffff52,transparent 15%),conic-gradient(from 120deg,transparent,#c9ff3216,transparent,#59dbff18,transparent);mix-blend-mode:screen;filter:blur(9px);pointer-events:none;border-radius:44%;animation:8s linear infinite lens-orbit;position:absolute;inset:-16%}.portrait:hover{box-shadow:inset 0 0 0 2px #1a252b,0 0 100px #c9ff3240}.portrait:hover:before{content:"";z-index:4;background:repeating-radial-gradient(circle at 55% 44%,#0000 0 28px,#ffffff08 29px 31px);animation:1.7s ease-out infinite lens-pulse;position:absolute;inset:0}.masonry{scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;gap:18px;max-width:none;margin-left:calc(-1*clamp(28px,4.2vw,72px));margin-right:calc(-1*clamp(28px,4.2vw,72px));padding:18px 8vw 34px;display:flex;overflow:auto hidden}.masonry::-webkit-scrollbar{display:none}.masonry.is-dragging{cursor:grabbing;scroll-snap-type:none}.masonry .work-card,.masonry .work-card.card-1,.masonry .work-card.card-3{scroll-snap-align:center;flex:0 0 min(64vw,850px);grid-area:auto;height:min(62vh,620px);transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s,opacity .45s}.masonry .work-card:not(:hover){filter:saturate(.78)}.masonry .work-card:hover{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(1.018)}.portfolio:before{content:"DRAG  —  DRAG  —  DRAG";letter-spacing:.22em;color:#c9ff3270;font:700 10px/1 Inter;position:absolute;top:135px;right:4vw}.detail-cover{z-index:0;clip-path:inset(calc((1 - var(--section-progress,0)) * 8%) round 24px);position:sticky;top:0}.detail-hero{z-index:2;position:relative}.detail-intro,.detail-sections,.detail-gallery,.next-project{z-index:3;background:var(--bg);position:relative}.detail-intro:before{content:"";background:var(--lime);transform-origin:0;width:80px;height:2px;animation:1s both detail-line;position:absolute;top:100px;left:clamp(28px,12vw,210px)}.work-card img{view-transition-name:none}::view-transition-old(root){animation:.58s cubic-bezier(.76,0,.24,1) both page-old}::view-transition-new(root){animation:.72s cubic-bezier(.22,1,.36,1) both page-new}.contact{background-color:#071017;background-image:radial-gradient(circle at calc(50% + var(--scroll-velocity,0) * 1%),25%,#5a7b3138,transparent 36%)}@keyframes lens-orbit{to{transform:rotate(360deg)}}@keyframes lens-pulse{0%{opacity:.6;transform:scale(.8)}to{opacity:0;transform:scale(1.25)}}@keyframes detail-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes page-old{to{opacity:0;filter:blur(12px);transform:scale(.96)}}@keyframes page-new{0%{opacity:0;clip-path:inset(12% 10% round 28px);transform:translateY(5vh)}to{opacity:1;clip-path:inset(0);transform:none}}.intro-screen{background:#020608;overflow:hidden}.intro-eye{aspect-ratio:1;filter:saturate(1.08)contrast(1.05);background:url(/images/tang-mei-portrait.jpg) 52% 39%/cover no-repeat;border-radius:50%;width:min(145vw,1300px);animation:1.25s cubic-bezier(.76,0,.24,1) both eye-pullback;position:absolute;transform:scale(2.1)}.intro-eye:after{content:"";border-radius:inherit;background:linear-gradient(90deg,#02060888,#0000 30% 70%,#020608aa),radial-gradient(circle,#0000 45%,#020608 78%);position:absolute;inset:0}.intro-screen>span{z-index:3;mix-blend-mode:difference;font-size:clamp(90px,18vw,280px);position:absolute;bottom:9vh;left:6vw}.intro-screen>small{z-index:4;letter-spacing:.3em;color:#d9e2e4;font-size:10px;position:absolute;top:8vh;right:6vw}.intro-screen>i{z-index:4}.intro-shutter{z-index:2;background:#020608;width:36vw;position:absolute;top:-20%;bottom:-20%;box-shadow:0 0 80px #000}.shutter-a{animation:1.1s cubic-bezier(.76,0,.24,1) both shutter-left;left:-6vw;transform:rotate(8deg)}.shutter-b{animation:1.1s cubic-bezier(.76,0,.24,1) both shutter-right;right:-6vw;transform:rotate(-8deg)}.hero-grid{transform:scale(calc(1 + (1 - var(--section-progress,0)) * .11));transform-origin:68% 40%;transition:transform .12s linear}.hero-copy{transform:translateX(calc(var(--section-progress,0) * -5vw));transition:transform .12s linear}.portrait-wrap{transform:translate(calc(var(--section-progress,0) * 7vw),calc(var(--section-progress,0) * 5vh)) scale(calc(1 - var(--section-progress,0) * .13));transition:transform .12s linear}.cursor-ring span{letter-spacing:.16em;color:#081017;opacity:0;place-items:center;font:800 8px/1 Inter;transition:opacity .2s;display:grid;position:absolute;inset:0}.cursor-ring.is-hover{-webkit-backdrop-filter:invert(.12)blur(5px);backdrop-filter:invert(.12)blur(5px);mix-blend-mode:difference;background:#c9ff32cc;border-color:#efffc1;width:110px;height:110px;margin:-55px}.cursor-ring.is-hover span{opacity:1}.masonry{perspective:1000px;padding-top:60px;padding-bottom:80px}.masonry .work-card,.masonry .work-card.card-1,.masonry .work-card.card-3{height:min(68vh,680px);transform:translateZ(calc(var(--tunnel-abs,0) * -420px)) rotateY(calc(var(--tunnel-x,0) * -42deg)) rotateZ(calc(var(--tunnel-x,0) * 7deg)) scale(calc(1 - var(--tunnel-abs,0) * .18));opacity:calc(1 - var(--tunnel-abs,0) * .5);filter:blur(calc(var(--tunnel-abs,0) * 2px)) saturate(calc(1 - var(--tunnel-abs,0) * .35));flex-basis:min(58vw,820px);transition:transform .15s linear,opacity .3s,filter .3s}.masonry.is-dragging .work-card{transition:none}.masonry .work-card:hover{opacity:1;filter:none;transform:translateZ(80px)rotateY(0)rotate(0)scale(1.04)}.portfolio .section-head h2{white-space:nowrap;letter-spacing:-.06em;font-size:clamp(70px,10vw,150px)}.portfolio .section-head{overflow:visible}.experience{overflow:hidden}.job{position:relative;overflow:hidden}.job:before{content:"";z-index:4;background:linear-gradient(90deg,transparent,var(--lime),#fff,transparent);height:2px;box-shadow:0 0 22px var(--lime);animation:3.4s ease-in-out infinite archive-scan;position:absolute;top:-5%;left:-10%;right:-10%}.timeline article.in-view .date{animation:.8s cubic-bezier(.16,1,.3,1) both date-punch}.timeline article.in-view .job h3,.timeline article.in-view .job b,.timeline article.in-view .job p{animation:.7s steps(8,end) both data-reveal}.timeline article.in-view .job b{animation-delay:.12s}.timeline article.in-view .job p{animation-delay:.24s}.detail-hero h1{transform:translateX(calc(var(--scroll-velocity,0) * -1.8px)) skewY(calc(var(--scroll-velocity,0) * -.035deg)) scaleY(calc(1 + var(--scroll-velocity,0) * .006));font-size:clamp(90px,15vw,220px)}.detail-cover{border-radius:0;height:100svh;margin:0}.detail-cover:after{content:"SCROLL TO EXPLORE";letter-spacing:.3em;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #fff4;border-radius:30px;padding:12px 18px;font:700 9px/1 Inter;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.detail-intro{flex-direction:column;justify-content:center;min-height:95svh;display:flex}.detail-gallery{perspective:1200px}.detail-gallery img{box-shadow:0 50px 90px #0008}.detail-gallery img:nth-child(odd){transform:translateY(90px)rotateY(7deg)}.detail-gallery img:nth-child(2n){transform:translateY(-40px)rotateY(-7deg)}.detail-gallery img.in-view{transform:none}.next-project button:hover span{letter-spacing:.02em;transform:translate(3vw)}.next-project button span{transition:transform .5s cubic-bezier(.16,1,.3,1),letter-spacing .5s}.contact>h2{font-size:clamp(80px,13vw,200px)}@keyframes eye-pullback{0%{filter:blur(6px)saturate(1.3);transform:scale(2.8)}55%{filter:blur()saturate(1.1);transform:scale(1.35)}to{transform:scale(.92)}}@keyframes shutter-left{0%{transform:translate(0)rotate(8deg)}to{transform:translate(-72vw)rotate(18deg)}}@keyframes shutter-right{0%{transform:translate(0)rotate(-8deg)}to{transform:translate(72vw)rotate(-18deg)}}@keyframes archive-scan{0%,15%{opacity:0;top:-8%}25%{opacity:1}75%{opacity:1}90%,to{opacity:0;top:108%}}@keyframes date-punch{0%{opacity:0;filter:blur(10px);transform:scale(3.2)}to{opacity:1;filter:none;transform:scale(1)}}@keyframes data-reveal{0%{clip-path:inset(0 100% 0 0);opacity:.2}to{clip-path:inset(0);opacity:1}}@media (width<=760px),(pointer:coarse){.cursor-ring,.cursor-dot{display:none}.work-card,.adv-grid article,.job{transform:none}.intro-screen span{font-size:110px}.intro-eye{width:170vw;transform:scale(1)}.reveal-item{transform:translateY(28px)}.masonry{margin:0 -20px;padding:5px 20px 30px}.masonry .work-card,.masonry .work-card.card-1,.masonry .work-card.card-3{opacity:1;filter:none;flex-basis:84vw;height:58vh;transform:none}.portfolio:before{display:none}.detail-cover{height:85svh;position:relative}.section-head h2,.detail-hero h1,.contact>h2,.hero-grid,.hero-copy,.portrait-wrap,.detail-gallery img:nth-child(n){transform:none}}@media (prefers-reduced-motion:reduce){.intro-screen{display:none}.reveal-item{opacity:1;transform:none}.portrait,.portrait-scan,.now-card,.mini-cards span{animation:none!important;transform:none!important}.light-field{display:none}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.masonry:has(.work-card:hover) .work-card:not(:hover){opacity:.24;filter:blur(3px)saturate(.35)}.masonry:has(.work-card:hover) .work-card:hover{filter:none}.work-card .work-shade{transition:opacity .55s cubic-bezier(.22,1,.36,1)}.work-card:hover .work-shade{opacity:.2}}.work-card{cursor:pointer;touch-action:pan-y}.work-card>*{pointer-events:none}.work-card:active{scale:.985}.masonry.is-auto-scrolling{scroll-snap-type:none}.masonry.is-auto-scrolling .work-card,.masonry.is-auto-scrolling .work-card:hover{pointer-events:none;transition:none;transform:translateZ(calc(var(--tunnel-abs,0) * -420px)) rotateY(calc(var(--tunnel-x,0) * -42deg)) rotateZ(calc(var(--tunnel-x,0) * 7deg)) scale(calc(1 - var(--tunnel-abs,0) * .18))!important;opacity:calc(1 - var(--tunnel-abs,0) * .5)!important;filter:blur(calc(var(--tunnel-abs,0) * 2px)) saturate(calc(1 - var(--tunnel-abs,0) * .35))!important}.masonry.is-auto-scrolling .work-card:after{opacity:0}.masonry.is-auto-scrolling .work-shade{opacity:1}.cursor-ring.is-hover{width:105px;height:105px;margin:-52.5px;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;mix-blend-mode:normal!important;background:#c9ff3255!important;border-color:#efffc188!important;box-shadow:0 0 35px #c9ff3270!important}.timeline article{min-height:390px}.job ul{color:#c4cccf;margin:16px 0;padding:0;font-size:13px;line-height:1.65;list-style:none}.job li{margin:5px 0;padding-left:16px;position:relative}.job li:before{content:"+";color:var(--lime);font-weight:800;position:absolute;left:0}.timeline article.in-view .job li{animation:.7s steps(8,end) .24s both data-reveal}@media (width<=760px){.timeline article{min-height:0}.job ul{font-size:12px}}@media (width>=761px){.hero-copy h1{white-space:nowrap;font-size:clamp(48px,5.4vw,86px);line-height:.92}.hero-copy h1 br{display:none}.hero-copy h1 b{margin-right:.12em}.hero-copy{transform:translateX(calc(120px + var(--section-progress,0) * -5vw))}.pill-nav{top:-104px}.hero-grid{height:67%;position:relative;top:-98px}.portrait{width:min(31vw,440px)}.portrait-wrap{transform-origin:55% 43%;transform:translate(calc(-120px + var(--section-progress,0) * 7vw), calc(var(--section-progress,0) * 5vh)) scale(calc(1 - var(--section-progress,0) * .13))}.now-card{top:59%;right:5%}.hero-bottom{align-items:flex-end;height:33%;margin-inline:calc(clamp(32px,7vw,118px)/-1.81818);transform:translateY(-88px)}.outline-word{font-size:clamp(96px,13vw,205px);top:-6px;right:2vw}.mini-cards{justify-content:center;align-items:flex-end;gap:clamp(7px,.7vw,12px);padding-inline:20px;transform:translateY(40px)}.mini-cards span{transform-origin:50% 82%;will-change:transform;background:#071117;border-radius:13px 13px 20px 20px;flex:0 0 calc(11.1111% - clamp(49px,5.6vw,96px)/9);width:auto;min-width:0;height:clamp(180px,11vh + 68px,206px);margin-inline:2.5px;padding:13px 12px;font-size:clamp(8px,.62vw,11px);transition:transform .46s cubic-bezier(.18,.89,.32,1.28),border-color .28s,border-width .28s,box-shadow .38s,opacity .28s;position:relative;overflow:hidden;transform:translateY(var(--card-y)) rotate(var(--card-r)) scale(1)!important}.mini-cards span img{object-fit:cover;filter:saturate(.96)brightness(.96)contrast(1.03);width:100%;height:100%;transition:transform .65s cubic-bezier(.22,1,.36,1),filter .45s;position:absolute;inset:0;transform:scale(1.02)}.mini-cards span:hover img{filter:saturate(1.08)brightness(1.02)contrast(1.04);transform:scale(1.12)}.mini-cards span:first-child{--card-y:25px;--card-r:-4deg}.mini-cards span:nth-child(2){--card-y:14px;--card-r:-2.7deg}.mini-cards span:nth-child(3){--card-y:7px;--card-r:-1.5deg}.mini-cards span:nth-child(4){--card-y:2px;--card-r:-.6deg}.mini-cards span:nth-child(5){--card-y:0px;--card-r:0deg}.mini-cards span:nth-child(6){--card-y:3px;--card-r:.7deg}.mini-cards span:nth-child(7){--card-y:8px;--card-r:1.7deg}.mini-cards span:nth-child(8){--card-y:16px;--card-r:3deg}@media (hover:hover) and (pointer:fine){.mini-cards:hover span:not(:hover){opacity:.68}.mini-cards span:hover{z-index:20;border-width:2px;border-color:var(--lime);box-shadow:0 34px 55px #000b,0 0 0 1px #d9ff73aa,0 0 34px #c9ff3266;transform:translateY(calc(var(--card-y) - 38px)) rotate(0deg) scale(1.18)!important}.mini-cards span:has(~span:hover){z-index:10;transform:translateX(-14px) translateY(var(--card-y)) rotate(var(--card-r)) scale(1)!important}.mini-cards span:hover~span{z-index:10;transform:translateX(14px) translateY(var(--card-y)) rotate(var(--card-r)) scale(1)!important}}}@media (width<=760px){.hero-copy h1{white-space:nowrap;font-size:clamp(42px,13vw,56px);line-height:.95}.hero-copy h1 br{display:none}.hero-copy h1 b{margin-right:.1em}.portrait{width:min(78vw,290px)}.portrait-wrap{height:340px;margin-top:24px}.mini-cards span:nth-child(n){flex:0 0 23%;height:88px;display:block}.mini-cards{scrollbar-width:none;padding:8px 2px 18px;overflow-x:auto}}.adv-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.adv-grid article{grid-column:span 5;min-height:350px}.adv-grid article:first-child,.adv-grid article:nth-child(4){grid-column:span 7}.adv-grid .featured{transform:none}.adv-grid p{max-width:62ch}@media (width<=760px){.adv-grid{grid-template-columns:1fr}.adv-grid article,.adv-grid article:first-child,.adv-grid article:nth-child(4){grid-column:1;min-height:330px}}.contact-layout{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(48px,8vw,150px);width:min(100%,1540px);margin-inline:auto;display:grid}.contact-copy{min-width:0}.contact-copy h2{letter-spacing:-.08em;margin:28px 0 60px;font:900 clamp(58px,9vw,140px)/.95 Noto Sans SC}.contact-copy h2 b{color:var(--lime)}.wechat-card{background:linear-gradient(145deg,#122129e8,#081319f2);border:1px solid #c9ff325c;border-radius:24px;width:clamp(220px,19vw,286px);padding:14px;box-shadow:0 26px 70px #0008,0 0 38px #c9ff3214}.wechat-card>span{color:var(--lime);letter-spacing:.16em;padding:3px 4px 12px;font:800 10px/1 Inter,sans-serif;display:block}.wechat-code{background:#fff;border-radius:15px;padding:10px;overflow:hidden}.wechat-code img{aspect-ratio:1;object-fit:contain;width:100%;image-rendering:crisp-edges;display:block}.wechat-card p{color:#b8c3c7;letter-spacing:.08em;margin:12px 4px 2px;font-size:11px}@media (hover:hover) and (pointer:fine){.wechat-card{transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s}.wechat-card:hover{border-color:var(--lime);transform:translateY(-8px);box-shadow:0 34px 80px #0009,0 0 48px #c9ff3230}}@media (width<=760px){.contact-layout{grid-template-columns:1fr;gap:46px}.contact-copy h2{margin-bottom:42px;font-size:58px}.wechat-card{justify-self:start;width:min(72vw,270px)}}.project-scroll{background:radial-gradient(circle at 82% 8%,#526c2420,#0000 26%),#03090e;min-height:100dvh;position:relative;overflow:visible}.project-scroll>.pill-nav{position:fixed}.project-back{z-index:55;color:#dbe3e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#081319d9;border:1px solid #ffffff2b;border-radius:999px;align-items:center;gap:9px;padding:10px 14px;display:inline-flex;position:fixed;top:27px;left:clamp(24px,3.5vw,62px)}.project-back svg,.project-next svg{width:17px;height:17px}.project-scroll-layout{grid-template-columns:minmax(310px,.72fr) minmax(0,1.55fr);gap:clamp(34px,5vw,86px);width:min(1480px,100%);margin:0 auto;padding:118px clamp(24px,4.5vw,78px) 72px;display:grid}.project-info{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#66757c transparent;align-self:start;max-height:calc(100dvh - 136px);padding:12px 18px 32px 0;position:sticky;top:112px;overflow-y:auto}.project-info.scrollbar-active,.project-info.scrollbar-scrolling{scrollbar-color:#c9ff32 transparent;box-shadow:inset -8px 0 13px #c9ff3228}.project-info::-webkit-scrollbar{width:9px}.project-info::-webkit-scrollbar-track{background:0 0}.project-info::-webkit-scrollbar-thumb{background:#66757c;border:2px solid #03090e;border-radius:999px}.project-info::-webkit-scrollbar-thumb:hover{background:#9ac51f;box-shadow:0 0 10px #c9ff3266}.project-info::-webkit-scrollbar-thumb:active{background:#c9ff32;box-shadow:0 0 7px #c9ff32,0 0 18px #c9ff32cc,0 0 34px #c9ff3270}.project-info.scrollbar-active::-webkit-scrollbar-thumb{background:#c9ff32;box-shadow:0 0 7px #c9ff32,0 0 18px #c9ff32cc,0 0 34px #c9ff3270}.project-info.scrollbar-scrolling::-webkit-scrollbar-thumb{background:#c9ff32;box-shadow:0 0 7px #c9ff32,0 0 18px #c9ff32cc,0 0 34px #c9ff3270}.project-info.scrollbar-active::-webkit-scrollbar-track{background:0 0;box-shadow:inset 0 0 9px #c9ff3275}.project-info.scrollbar-scrolling::-webkit-scrollbar-track{background:0 0;box-shadow:inset 0 0 9px #c9ff3275}.project-index{color:#c9ff32;letter-spacing:.14em;font-size:10px;font-weight:800;animation:.62s cubic-bezier(.16,1,.3,1) 80ms both project-label-in;display:inline-block}.project-info h1{letter-spacing:-.065em;margin:16px 0 5px;font:900 clamp(52px,6vw,94px)/.92 Noto Sans SC,sans-serif}.project-title span{transform-origin:50% 90%;animation:project-char-pop .72s calc(.13s + var(--char-index) * 70ms) cubic-bezier(.18,1.55,.34,1) both;display:inline-block}.project-info>b{color:#c9ff32;font:700 16px Barlow Condensed,sans-serif}.project-en{width:max-content;max-width:100%;animation:.72s cubic-bezier(.16,1,.3,1) .55s both project-label-in;display:block;overflow:hidden}.project-intro{color:#e1e7e9;margin:34px 0 12px;font-size:15px;line-height:1.75;animation:.78s cubic-bezier(.16,1,.3,1) .66s both project-line-in}.project-result{color:#91a0a8;margin:0;font-size:12px;line-height:1.75;animation:.78s cubic-bezier(.16,1,.3,1) .82s both project-line-in}.project-reading{color:#69777e;letter-spacing:.12em;grid-template-columns:auto 1fr;align-items:center;gap:16px;margin-top:24px;font:700 10px/1 Barlow Condensed,sans-serif;animation:.65s cubic-bezier(.16,1,.3,1) .94s both project-line-in;display:grid}.project-reading>span b{color:#c9ff32;font-size:16px}.project-reading>i{background:#ffffff18;height:2px;overflow:hidden}.project-reading>i b{transform-origin:0;background:#c9ff32;width:100%;height:100%;transition:transform .55s cubic-bezier(.22,1,.36,1);display:block;box-shadow:0 0 12px #c9ff32}.project-info dl{border-top:1px solid #ffffff1c;border-bottom:1px solid #ffffff1c;gap:17px;margin:30px 0 0;padding:24px 0;display:grid}.project-info dl div{animation:project-meta-in .62s calc(1.02s + var(--meta-index) * 90ms) cubic-bezier(.16,1,.3,1) both;grid-template-columns:70px 1fr;gap:12px;display:grid}.project-info dt{color:#728188;font-size:10px}.project-info dd{color:#c7d0d3;margin:0;font-size:11px;line-height:1.6}.project-notes{gap:24px;padding-top:28px;display:grid}.project-notes article{opacity:1;border-left:1px solid #c9ff32;padding-left:12px;transform:none}.project-notes article.is-active{opacity:1;border-color:#c9ff32;animation:.58s cubic-bezier(.16,1,.3,1) project-note-shift;transform:none}.project-notes h2{margin:0 0 9px;font-size:16px}.project-notes p{color:#8f9ca2;margin:0;font-size:11px;line-height:1.8}.project-gallery{gap:clamp(18px,2.2vw,34px);min-width:0;animation:.95s cubic-bezier(.16,1,.3,1) .42s both project-visual-in;display:grid}.project-gallery figure{opacity:.48;clip-path:inset(7% 0 round 22px);filter:saturate(.68)brightness(.74);background:#091218;border:1px solid #ffffff18;border-radius:16px;place-items:center;min-height:58dvh;margin:0;transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),clip-path .9s cubic-bezier(.22,1,.36,1),filter .75s,border-color .75s;display:grid;overflow:hidden;transform:translateY(30px)scale(.95);box-shadow:0 28px 70px #01060980}.project-gallery figure.is-active{opacity:1;clip-path:inset(0 round 16px);filter:none;border-color:#c9ff3260;transform:none}.project-gallery img{object-fit:contain;width:100%;height:auto;transition:transform 1s cubic-bezier(.22,1,.36,1);display:block;transform:scale(1.045)}.project-gallery figure.is-active img{transform:scale(1)}.project-next{color:#edf2f3;text-align:left;background:#0c171d;border:1px solid #ffffff1c;border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:8px 20px;width:100%;min-height:190px;padding:32px clamp(24px,4vw,58px);display:grid}.project-next small{color:#c9ff32;grid-column:1/-1;font-size:10px}.project-next span{letter-spacing:-.06em;font:900 clamp(38px,5vw,72px)/1 Noto Sans SC,sans-serif}.project-next svg{color:#c9ff32;width:38px;height:38px;transition:transform .3s}.project-next:hover svg{transform:translate(5px,-5px)}.project-next:active{transform:scale(.99)}::view-transition-group(project-zhixing){animation-duration:.9s;animation-timing-function:cubic-bezier(.22,1,.36,1);overflow:clip}::view-transition-group(project-qitan){animation-duration:.9s;animation-timing-function:cubic-bezier(.22,1,.36,1);overflow:clip}::view-transition-group(project-yazhixuan){animation-duration:.9s;animation-timing-function:cubic-bezier(.22,1,.36,1);overflow:clip}@supports (animation-timeline:view()){@media (width>=761px) and (prefers-reduced-motion:no-preference){.project-gallery figure img{animation:linear both project-parallax;animation-timeline:view();animation-range:entry exit}}}@keyframes project-parallax{0%{transform:translateY(4%)scale(1.09)}to{transform:translateY(-4%)scale(1.09)}}@keyframes project-char-pop{0%{opacity:0;filter:blur(13px);transform:translateY(38px)scale(.2)rotate(7deg)}68%{opacity:1;filter:blur();transform:translateY(-5px)scale(1.08)rotate(-1deg)}to{opacity:1;filter:blur();transform:none}}@keyframes project-label-in{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-20px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes project-line-in{0%{opacity:0;clip-path:inset(0 0 100%);filter:blur(7px);transform:translateY(24px)}to{opacity:1;clip-path:inset(0);filter:blur();transform:none}}@keyframes project-meta-in{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:none}}@keyframes project-note-shift{0%{opacity:.25;filter:blur(5px);transform:translateY(16px)}to{opacity:1;filter:blur();transform:none}}@keyframes project-visual-in{0%{opacity:0;filter:blur(15px)saturate(.6);transform:translateY(44px)scale(.92)}to{opacity:1;filter:none;transform:none}}@media (width<=760px){.project-scroll>.pill-nav{display:none}.project-back{top:16px;left:16px}.project-scroll-layout{padding:82px 16px 40px;display:block}.project-info{max-height:none;padding:16px 2px 42px;position:static;overflow:visible}.project-info h1{font-size:54px}.project-intro{margin-top:26px}.project-gallery{gap:14px}.project-gallery figure{border-radius:12px;min-height:0}.project-gallery img{min-height:0}.project-next{border-radius:12px;min-height:150px}.project-next span{font-size:38px}}@media (prefers-reduced-motion:reduce){.project-gallery figure,.project-gallery figure.is-active,.project-gallery img,.project-gallery figure.is-active img{opacity:1;clip-path:none;filter:none;transition:none;animation:none;transform:none}.project-notes article{opacity:1;transform:none}.project-index,.project-title span,.project-en,.project-intro,.project-result,.project-reading,.project-info dl div,.project-notes article.is-active,.project-gallery{opacity:1;clip-path:none;filter:none;animation:none;transform:none}}
