.particle-text{width:100%;height:100%;position:relative;overflow:hidden}.particle-text__canvas{touch-action:none;width:100%;height:100%;display:block}.particle-text__sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cat-experience{isolation:isolate;cursor:none;touch-action:none;-webkit-user-select:none;user-select:none;background:#071a47;width:100%;height:100svh;min-height:100%;position:relative;overflow:hidden}.cat-video,.cat-gaze{z-index:1;width:100%;height:100%;position:absolute;inset:0}.cat-video{object-fit:cover;object-position:center;pointer-events:none;opacity:0;display:block}.cat-gaze{object-fit:cover;object-position:center;pointer-events:none;opacity:1;display:block}.cat-experience.is-idle .cat-video{opacity:1}.cat-experience.is-idle .cat-gaze{opacity:0}.cinematic-vignette{z-index:3;pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(at 50% 47%,#0000 54%,#00071c21 77%,#0005146e 122%),linear-gradient(#00081b1c,#0000 22% 76%,#00051238);position:absolute;inset:0}.dish-tray{z-index:4;pointer-events:none;opacity:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4.5vw,77px);width:min(76vw,760px);display:grid;position:absolute;top:min(clamp(66%,72vh,75%) + 200px,100% - clamp(140px,10vw,152px));left:50%;transform:translate(-50%,22px)}.dish-tray.is-visible{opacity:1;transform:translate(-50%)}.dish{--proximity:0;--air-lift:126px;aspect-ratio:1.5;opacity:0;min-width:0;transform-style:preserve-3d;filter:drop-shadow(0 16px 12px #00051340);will-change:transform, filter;color:inherit;cursor:pointer;pointer-events:auto;place-items:center;text-decoration:none;display:grid;position:relative;transform:perspective(520px)translateY(46px)scale(.76)}.dish:before,.dish:after{pointer-events:none;content:"";border-radius:50%;display:none;position:absolute}.dish-plate{z-index:0;object-fit:contain;pointer-events:none;width:117.04%;height:120.89%;position:absolute;inset:-10.45% -8.52%}.dish:before{z-index:0;background:radial-gradient(circle at 33% 26%,#fffffffa 0 4%,#0000 15%),radial-gradient(circle at 50% 48%,#fbfcfd 0 41%,#cbd1d8 42% 47%,#fdfefe 48% 59%,#aeb8c3 60% 63%,#f8fafb 64% 69%,#83909f 70% 72%,#f6f8fa 73% 100%);inset:-11%;box-shadow:inset 0 2px 4px #fffffffa,inset 0 -6px 9px #46556638,0 12px 14px #00071a57}.dish:after{z-index:1;border:1px solid #9da9b56b;inset:14%;box-shadow:inset 0 5px 9px #717f8f2e,inset 0 -2px 3px #ffffffe6}.dish-tray.is-visible .dish{animation:dish-arrive 1.56s cubic-bezier(.2, .76, .3, 1) var(--delay) both}.dish.is-near{transform:perspective(520px) translateY(calc(-5px - 7px * var(--proximity))) scale(calc(1 + .06 * var(--proximity)));filter:drop-shadow(0 19px 16px #0005135e) drop-shadow(0 0 calc(18px * var(--proximity)) rgba(255, 184, 107, calc(var(--proximity) * .62)))}.dish.is-dropping{animation:.54s cubic-bezier(.2,.8,.25,1) both dish-receive}.dish-label{z-index:1;color:#3d5163;-webkit-text-fill-color:currentColor;letter-spacing:.02em;text-align:center;text-shadow:0 1px #ffffffe6;transform-origin:50%;background:0 0;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(20.4px,1.848vw,26.4px);font-weight:800;line-height:1;position:relative;transform:translateY(-4%)}@keyframes dish-arrive{0%{opacity:0;transform:perspective(620px)translateY(270px)scale(.62)}35%{opacity:1;transform:perspective(620px) translateY(calc(-1 * var(--air-lift))) scale(1.07)}56%{transform:perspective(620px)translateY(10px)scaleX(1.07)scaleY(.91)}68%{transform:perspective(620px)translateY(-20px)scale(1.035)}78%{transform:perspective(620px)rotate(.9deg)translateY(4px)scaleX(1.035)scaleY(.96)}87%{transform:perspective(620px)rotate(-.65deg)translateY(-7px)scale(1.015)}94%{transform:perspective(620px)rotate(.3deg)translateY(1px)scale(1.005)}to{opacity:1;transform:perspective(620px)translateY(0)scale(1)}}@keyframes dish-receive{0%,to{filter:brightness()}28%{filter:brightness(1.16);transform:perspective(520px)translateY(5px)scale(.9)}62%{filter:brightness(1.06);transform:perspective(520px)translateY(-4px)scale(1.07)}}.salmon-cursor{z-index:10;opacity:0;filter:drop-shadow(0 9px 10px #00000061);pointer-events:none;transform-origin:50%;will-change:transform, opacity;width:clamp(96px,8.4vw,136px);max-width:22vw;height:auto;transition:opacity .15s;position:fixed;top:0;left:0}.salmon-cursor.is-visible{opacity:1}.legal-footer{z-index:11;left:50%;bottom:max(10px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:.72;background:#040c2229;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:11px;padding:4px 9px;transition:background .2s,opacity .2s;display:flex;position:fixed;transform:translate(-50%)}.legal-footer a{color:#fff6;letter-spacing:.035em;white-space:nowrap;font:400 10px/1.2 Noto Sans SC,Microsoft YaHei,sans-serif;text-decoration:none;transition:color .2s}.public-security-footer{align-items:center;gap:4px;display:inline-flex}.public-security-footer img{object-fit:contain;width:13px;height:14px}.legal-footer:hover,.legal-footer:focus-within{opacity:1;background:#040c2252}.legal-footer a:hover,.legal-footer a:focus-visible{color:#ffffffb8}@media (pointer:coarse){.cat-experience{cursor:auto}.salmon-cursor{width:clamp(76px,24vw,108px)}.legal-footer{bottom:max(8px, env(safe-area-inset-bottom));gap:8px;padding:3px 7px}.legal-footer a{font-size:9px}.public-security-footer img{width:12px;height:13px}}@media (aspect-ratio<=3/4){.cat-video{object-position:50% 47%}.cinematic-vignette{background:radial-gradient(at 50% 46%,#0000 31%,#00071c29 70%,#00051485 122%),linear-gradient(#0317423d,#0000 31% 67%,#00081f4a)}.dish-tray{grid-template-columns:repeat(2,minmax(112px,148px));gap:26px 36px;width:auto;top:min(67% + 200px,100% - 260px);transform:translate(-50%,22px)}.dish-tray.is-visible{transform:translate(-50%)}.dish{width:clamp(112px,30vw,148px)}}@media (prefers-reduced-motion:reduce){.salmon-cursor{transition:none}.dish-tray,.dish{transition:none;animation:none!important}.dish-tray.is-visible .dish{opacity:1;transform:perspective(520px)}}.cat-experience .legal-footer{left:max(16px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));transform:none}@media (aspect-ratio<=3/4){.cat-experience .legal-footer{bottom:max(10px, env(safe-area-inset-bottom))}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;background:#05050c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}main{background:0 0;place-items:center;min-height:100vh;padding:0;display:grid;position:relative;overflow:hidden}main:before{z-index:0;content:"";opacity:1;background:radial-gradient(circle at 50% 40%,#8b5cf61f,#0000 34rem),#09090f;transition:opacity .9s linear;position:absolute;inset:0}main:after{z-index:0;content:"";pointer-events:none;opacity:0;filter:blur(2px);background:radial-gradient(at 50% 52%,#c084fceb 0%,#8b5cf6a8 19%,#6d28d938 43%,#0000 68%),radial-gradient(at 50% 52%,#efe9ffd1 0%,#0000 17%);position:absolute;inset:0;transform:scale(.35)}main.is-fading:before{opacity:0}main.is-fading:after{animation:2.2s cubic-bezier(.16,.78,.22,1) both portal-bloom}@keyframes portal-bloom{0%{opacity:0;transform:scale(.28)}30%{opacity:.28;transform:scale(.64)}62%{opacity:.9;transform:scale(1.12)}to{opacity:.42;transform:scale(1.46)}}.portfolio-hero{z-index:1}.portfolio-hero.is-transitioning{pointer-events:none}.portfolio-hero{width:100%;min-height:100vh;position:relative}.video-transition{z-index:20;pointer-events:none;visibility:hidden;opacity:0;background:0 0;transition:opacity .26s linear,visibility 0s linear .26s;position:fixed;inset:0;overflow:hidden}.video-transition.is-active{visibility:visible;transition-delay:0s}.video-transition.is-visible{opacity:1}.video-transition__media{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.particle-stage{cursor:pointer;width:100%;height:100vh}.title-particle .particle-text__canvas{filter:drop-shadow(0 0 2px #a78bfabf)drop-shadow(0 0 9px #8b5cf64d)}.particle-contact-stage{grid-template-columns:minmax(190px,240px) minmax(250px,310px) minmax(340px,420px);justify-content:center;align-items:center;width:min(1020px,100%);height:clamp(76px,8vw,104px);margin:0;display:grid;position:absolute;top:calc(50% + clamp(130px,13vw,190px));left:50%;transform:translate(-50%)}.contact-particle{height:100%}@media (width<=640px){.particle-stage{height:100vh}.particle-contact-stage{grid-template-columns:1fr;height:190px;top:calc(50% + 120px)}}
