@font-face{font-family:MF-Creative;src:url(/fonts/MFChuangJiHei.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:MF-Creative-Logo;src:url(/fonts/MFChuangJiHei-logo-uppercase-subset.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+20,U+41,U+42,U+43,U+44,U+45,U+46,U+47,U+48,U+49,U+4A,U+4B,U+4C,U+4D,U+4E,U+4F,U+50,U+51,U+52,U+53,U+54,U+55,U+56,U+57,U+58,U+59,U+5A}@font-face{font-family:Inter;src:url(/fonts/inter-v20-latin-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-v20-latin-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-v20-latin-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-v20-latin-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-v22-latin-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-v22-latin-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-v22-latin-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-v22-latin-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg-primary:#09090b;--bg-secondary:#18181b;--bg-card:#1c1c20;--bg-card-hover:#222226;--border-subtle:#6366f126;--border-hover:#a855f766;--gradient-primary:linear-gradient(135deg, #6366f1, #a855f7);--gradient-text:linear-gradient(135deg, #818cf8, #c084fc);--gradient-glow:linear-gradient(135deg, #6366f14d, #a855f74d);--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-indigo:#6366f1;--accent-purple:#a855f7;--accent-light:#818cf8;--bg-overlay:#09090ba8;--max-width:1560px;--content-max-wide:1720px;--section-padding:120px 0;--radius-card:16px;--gap-sm:16px;--gap-md:24px;--gap-lg:48px;--gap-xl:60px;--hover-lift:-4px;--transition-speed:.3s;--text-white:#fff;--border-divider:#ffffff0f;--font-display:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#8b5cf6fa transparent}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}#root{width:100%;min-width:100%}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;border:none;outline:none;font-family:inherit}.container{max-width:var(--max-width);margin:0 auto;padding:0 clamp(24px,4vw,60px)}.container--wide{max-width:var(--content-max-wide)}.site-canvas{width:100%;min-width:0;margin:0 auto;position:relative}.site-scroll-hint{color:#fafafa9e;letter-spacing:.08em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;z-index:3000;background:#09090b6b;border:1px solid #ffffff14;border-radius:999px;padding:8px 14px;font-size:12px;line-height:1;transition:opacity .36s;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.site-scroll-hint.is-visible{opacity:1}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8b5cf6fa;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#818cf8 0%,#a78bfa 50%,#c084fc 100%)}::selection{color:var(--text-primary);background:#6366f14d}.gradient-text{background:linear-gradient(90deg,#6366f1 0%,#dad0fd 25%,#a855f7 50%,#dad0fd 75%,#6366f1 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;animation:3.8s linear infinite gradientFlow}@keyframes gradientFlow{0%{background-position:0%}to{background-position:-200%}}.site-canvas .container{max-width:var(--max-width)}.site-canvas .container.container--wide{max-width:var(--content-max-wide)}.site-canvas .section-title{font-size:48px}.site-canvas .project-card{min-height:820px}.site-canvas .navbar-entrance.scrolled{top:16px}.site-canvas .navbar{padding:20px clamp(20px,2.2vw,32px)}.site-canvas .navbar.scrolled{border-radius:50px;padding:12px 36px}.site-canvas .navbar-inner{grid-template-columns:1fr auto 1fr;gap:clamp(16px,2vw,28px)}.site-canvas .navbar-logo{padding:8px 16px}.site-canvas .logo-text{white-space:normal;text-overflow:clip;font-size:14px;overflow:visible}.site-canvas .navbar-links{border-radius:100px;flex-wrap:nowrap;grid-column:auto;justify-content:flex-start;justify-self:center;gap:36px;padding:8px 20px}.site-canvas .navbar-links a{font-size:14px}.site-canvas .navbar-cta{padding:10px 24px;font-size:13px}.site-canvas .projects-grid{grid-template-columns:repeat(2,1fr)}.site-canvas .project-info{padding:24px 28px 28px}.site-canvas .project-title{font-size:20px}.site-canvas .contact-content{min-height:100vh;padding:80px 60px}.site-canvas .contact-info-grid{width:auto;margin-bottom:var(--gap-lg);flex-flow:row;gap:40px;display:flex}.site-canvas .contact-info-item{text-align:left;flex-direction:row;gap:12px;width:auto;min-width:0;padding:16px 24px}.site-canvas .contact-title{font-size:56px}.site-canvas .contact-desc{margin-bottom:var(--gap-lg);font-size:16px}.site-canvas .contact-cta{justify-content:center;width:auto;padding:16px 40px}.site-canvas .contact-footer{flex-direction:row;align-items:stretch;gap:0;margin-top:0;position:absolute;bottom:40px;left:60px;right:60px}.site-canvas .tilted-card-mobile-alert{display:none!important}.site-canvas .tilted-card-caption{display:block}.navbar-entrance{z-index:1000;transition:top .4s,left .4s,width .4s;position:fixed;top:0}.navbar-entrance.scrolled{top:16px}.navbar{background:0 0;border:1px solid #0000;border-radius:0;padding:20px clamp(20px,2.2vw,32px);transition:padding .4s,border-radius .4s,background-color .4s,border-color .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s}.navbar.scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#09090b4d;border-color:#ffffff14;border-radius:50px;padding:12px 36px}.navbar-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(16px,2vw,28px);width:100%;max-width:100%;margin:0 auto;transition:max-width .4s,gap .4s;display:grid}.navbar.scrolled .navbar-inner{max-width:var(--max-width);gap:0}.navbar-logo{border:1px solid var(--border-subtle);background:#18181b99;border-radius:100px;justify-self:start;align-items:center;gap:8px;padding:8px 16px;transition:all .4s;display:flex}.navbar.scrolled .navbar-logo{background:0 0;border-color:#0000}.navbar-logo:hover{border-color:var(--accent-indigo)}.navbar.scrolled .navbar-logo:hover{opacity:.8;border-color:#0000}.logo-icon{object-fit:contain;filter:brightness(0)invert();width:18px;height:18px}.logo-text{font-family:"MF-Creative-Logo", "MF-Creative", var(--font-display);letter-spacing:0;font-size:14px;font-weight:700}.navbar-logo .gradient-text{background:linear-gradient(90deg,#6366f1 0%,#dad0fd 25%,#a855f7 50%,#dad0fd 75%,#6366f1 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;animation:4.2s linear infinite gradientFlow}.navbar-links{border:1px solid var(--border-subtle);background:#18181b99;border-radius:100px;gap:36px;padding:8px 20px;transition:all .4s;display:flex}.navbar.scrolled .navbar-links{background:0 0;border-color:#0000}.navbar-links a{color:var(--text-secondary);font-size:14px;transition:color .3s;position:relative}.navbar-links a:hover{color:var(--text-primary)}.navbar-links a:after{content:"";background:var(--gradient-primary);width:0;height:1px;transition:width .3s;position:absolute;bottom:-4px;left:0}.navbar-links a:hover:after{width:100%}.navbar-actions{justify-self:end;align-items:center;gap:12px;display:flex}.audio-control{justify-content:center;align-items:center;gap:8px;display:flex;position:relative}.audio-wave-control{justify-content:center;align-items:center;display:flex;position:relative}.audio-wave-control:after{content:"";width:56px;height:14px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.navbar-audio-btn{background:var(--gradient-primary);border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;padding:0;transition:background .3s,border-color .3s,box-shadow .45s,transform .3s,opacity .3s;display:inline-flex;position:relative;overflow:hidden}.navbar-audio-btn:before{content:"";opacity:0;filter:blur(15px);pointer-events:none;background:radial-gradient(circle at 50% 45%,#818cf82e 0%,#a855f714 48%,#6366f108 74%,#0000 100%);transition:opacity .7s;position:absolute;inset:0}.navbar-audio-btn.is-playing:before{opacity:.74}.navbar-audio-btn--skip:before{opacity:.2}.navbar-audio-btn--skip:hover:before{opacity:.3}.navbar-audio-btn.is-disabled{cursor:default;opacity:.56}.navbar-audio-btn:hover{border-color:var(--border-subtle);background:#18181b99;box-shadow:0 0 0 1px #ffffff0f}.navbar-audio-btn:disabled:hover{background:var(--gradient-primary);box-shadow:none;border-color:#0000}.navbar-audio-icon{color:#f4f6fff5;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:relative;overflow:visible}.navbar-audio-icon--wave{width:18px;height:18px}.navbar-audio-icon--skip,.navbar-audio-icon--note{width:20px;height:20px}.navbar-audio-skip-flash{filter:blur(8px);pointer-events:none;background:radial-gradient(circle,#ffffff29 0%,#818cf80f 50%,#0000 82%);border-radius:999px;position:absolute;inset:7px}.navbar-audio-svg--skip{width:20px;height:20px}.navbar-audio-svg__skip-triangle,.navbar-audio-svg__skip-bar{stroke:currentColor;stroke-width:1.75px;transition:opacity .24s,filter .24s}.navbar-audio-svg__skip-triangle{filter:drop-shadow(0 0 2px #818cf81f)}.navbar-audio-svg__skip-bar{opacity:.9}.navbar-audio-skip-spark{fill:#ffffffdb;stroke:none}.navbar-audio-icon--note .navbar-audio-svg{stroke-width:1.9px;width:20px;height:20px}.navbar-audio-icon--note .navbar-audio-svg__mute-slash{stroke-width:2px}.navbar-audio-svg{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:24px;height:24px;display:block;overflow:visible}.navbar-audio-svg__note,.navbar-audio-svg__note-dot,.navbar-audio-svg__mute-slash{transform-origin:50%;transition:opacity .5s,stroke-dashoffset .5s cubic-bezier(.4,0,.2,1),transform .5s,filter .5s}.navbar-audio-svg__note.is-playing,.navbar-audio-svg__note-dot.is-playing{filter:drop-shadow(0 0 3px #818cf83d)drop-shadow(0 0 6px #a855f724)}.navbar-audio-svg__mute-slash{stroke-dasharray:30}.navbar-audio-svg__mute-slash.is-hidden{stroke-dashoffset:30px;opacity:0}.navbar-audio-svg__mute-slash.is-visible{stroke-dashoffset:0;opacity:1}.navbar-audio-wave{height:12px;opacity:var(--wave-opacity,.74);filter:drop-shadow(0 0 3px rgba(129, 140, 248, var(--wave-glow-opacity,.12)));justify-content:center;align-items:flex-end;gap:3px;transition:opacity .32s,filter .32s;display:flex}.navbar-audio-wave__bar{width:3px;height:2px;opacity:var(--wave-bar-opacity,.92);transform-origin:bottom;filter:drop-shadow(0 0 3px rgba(168, 85, 247, calc(var(--wave-glow-opacity,.12) * 1.08)));background:linear-gradient(#fffffffa 0%,#fffffff5 58%,#e7e0fff0 100%);border-radius:999px;transition:height .3s,opacity .3s,filter .3s}.navbar-audio-wave.is-playing .navbar-audio-wave__bar{height:var(--wave-height);animation:1.05s ease-in-out infinite navbarAudioWave;animation-delay:var(--wave-delay)}.audio-volume-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;z-index:8;background:#18181b99;border:1px solid #ffffff14;border-radius:22px;justify-content:center;align-items:center;width:44px;height:132px;padding:12px 0;transition:opacity .22s,transform .22s,visibility .18s;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%,6px)}.audio-volume-panel.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,10px)}.audio-volume-slider{cursor:pointer;outline:none;justify-content:center;align-items:flex-end;width:18px;height:92px;display:flex;position:relative}.audio-volume-track,.audio-volume-fill{border-radius:999px;width:4px;position:absolute;left:50%;transform:translate(-50%)}.audio-volume-track{background:#ffffff1f;top:0;bottom:0}.audio-volume-fill{background:linear-gradient(#6366f1 0%,#8b5cf6 50%,#a855f7 100%);bottom:0}.audio-volume-thumb{background:#fff;border-radius:50%;width:10px;height:10px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #ffffff14}.navbar-cta{background:var(--gradient-primary);border:1px solid #0000;border-radius:100px;padding:10px 24px;font-size:13px;font-weight:500;transition:all .3s}.navbar-cta:hover{border-color:var(--border-subtle);background:#18181b99}.cta-text{color:var(--text-white);transition:all var(--transition-speed) ease}.navbar-cta:hover .cta-text{background:linear-gradient(90deg,#6366f1 0%,#dad0fd 25%,#a855f7 50%,#dad0fd 75%,#6366f1 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;animation:4.2s linear infinite gradientFlow}@keyframes navbarAudioWave{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1)}}@media (width<=960px){.navbar-entrance.scrolled{top:12px;left:16px;right:16px}.navbar{padding:18px 24px}.navbar.scrolled{border-radius:28px;padding:12px 18px}.navbar-inner{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}.navbar-logo{min-width:0;padding:8px 14px}.logo-text{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.navbar-links{border-radius:20px;flex-wrap:wrap;grid-column:1/-1;justify-content:center;justify-self:stretch;gap:14px 20px;padding:10px 14px}.navbar-cta{padding:10px 18px}.navbar-actions{gap:10px}.audio-volume-panel{transform:translate(-50%,6px)}.audio-volume-panel.is-visible{transform:translate(-50%,8px)}.navbar-audio-btn{width:40px;height:40px}}@media (width<=640px){.navbar-entrance.scrolled{left:10px;right:10px}.navbar{padding:14px 16px}.navbar.scrolled{padding:10px 12px}.navbar-inner{gap:10px 12px}.navbar-logo{padding:7px 12px}.logo-icon{width:16px;height:16px}.logo-text{font-size:11px}.navbar-links{gap:10px 16px;padding:10px 12px}.navbar-links a{font-size:13px}.navbar-actions{gap:8px}.audio-volume-panel{width:40px;height:120px;transform:translate(-50%,6px)}.audio-volume-panel.is-visible{transform:translate(-50%,8px)}.audio-volume-slider{height:84px}.navbar-audio-btn{width:36px;height:36px}.navbar-audio-icon--wave{width:16px;height:16px}.navbar-audio-icon{width:18px;height:18px}.navbar-cta{padding:9px 14px;font-size:12px}}.entry-gate{z-index:4000;opacity:1;background:#09090b;justify-content:center;align-items:center;padding:32px;transition:opacity .68s,transform .68s,visibility .68s;display:flex;position:fixed;inset:0;transform:translateY(0)}.entry-gate.is-closing{opacity:0;visibility:hidden;transform:translateY(-2px)}.entry-gate__content{text-align:center;flex-direction:column;align-items:center;width:min(100%,720px);display:flex;transform:translateY(62px)}.entry-gate__hero,.entry-gate__meta,.entry-gate__action{opacity:1;transform:translateY(0)}.entry-gate__hero{flex-direction:column;align-items:center;transition:opacity .58s,transform .58s cubic-bezier(.22,1,.36,1);display:flex}.entry-gate__meta{justify-content:center;transition:opacity .54s,transform .54s cubic-bezier(.22,1,.36,1);display:flex}.entry-gate__action{justify-content:center;transition:opacity .52s,transform .52s cubic-bezier(.22,1,.36,1);display:flex}.entry-gate.is-closing .entry-gate__action{opacity:0;transition-delay:0s;transform:translateY(-26px)}.entry-gate.is-closing .entry-gate__meta{opacity:0;transition-delay:40ms;transform:translateY(-66px)}.entry-gate.is-closing .entry-gate__hero{opacity:0;transition-delay:90ms;transform:translateY(-66px)}.entry-gate__line{background:#fafafaeb;border-radius:999px;width:320px;height:5px}.entry-gate__title{font-family:"MF-Creative-Logo", "MF-Creative", var(--font-display);letter-spacing:.02em;flex-direction:column;gap:2px;margin-top:28px;margin-bottom:28px;font-size:80px;font-weight:700;line-height:1.2;display:flex}.entry-gate__title span{white-space:nowrap;display:block}.entry-gate__title span:first-child{color:#fafafa}.entry-gate__title span:last-child{background:linear-gradient(90deg,#6366f1 0%,#dad0fd 25%,#a855f7 50%,#dad0fd 75%,#6366f1 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;animation:4.2s linear infinite gradientFlow}.entry-gate__subtitle{color:#fafafa3b;margin-top:122px;margin-bottom:38px;font-size:13px;font-weight:400;line-height:1.6}.entry-gate__button{background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;padding:0;transition:transform .3s;display:inline-flex;position:relative}.entry-gate__button:hover,.entry-gate__button:focus-visible{transform:none}.entry-gate__button-core{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(circle,#fff0 40%,#ffffffeb 41% 47%,#fff0 48%);border-radius:50%;width:60px;height:60px;transition:background .28s,-webkit-backdrop-filter .28s,backdrop-filter .28s,opacity .28s;position:relative}.entry-gate__ripple{opacity:0;border:2px solid #e4dcff5c;border-radius:50%;transition:border-color .28s,filter .28s;animation:3.4s cubic-bezier(.22,1,.36,1) infinite entryGateRipple;position:absolute;inset:0;transform:scale(1)}.entry-gate__ripple--two{animation-delay:1.7s}.entry-gate__button:hover .entry-gate__button-core,.entry-gate__button:focus-visible .entry-gate__button-core{-webkit-backdrop-filter:blur(7.2px);backdrop-filter:blur(7.2px);background:radial-gradient(circle,#fff0 38.5%,#fffffffb 39.5% 48.5%,#fff0 49.5%)}.entry-gate__button:hover .entry-gate__ripple,.entry-gate__button:focus-visible .entry-gate__ripple{filter:saturate(1.1)brightness(1.06);border-color:#eee7ff8a}@keyframes entryGateRipple{0%{opacity:.32;transform:scale(1)}70%{opacity:.16;transform:scale(1.9)}to{opacity:0;transform:scale(2.35)}}@media (width<=640px){.entry-gate__content{width:min(100%,560px)}.entry-gate__title{gap:0;margin-top:20px;margin-bottom:20px;font-size:52px;line-height:1.12}.entry-gate__line{width:220px}.entry-gate__subtitle{margin-top:84px;margin-bottom:28px}}.hero{flex-direction:column;justify-content:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 85%,#0000 100%);mask-image:linear-gradient(#000 0% 85%,#0000 100%)}.hero-video-wrapper{z-index:0;position:absolute;inset:0}.hero-video{z-index:0;object-fit:cover;width:100%;height:100%;position:relative}.hero-overlay{z-index:2;background:linear-gradient(#09090b66 0%,#09090b99 50%,#09090b 100%);position:absolute;inset:0}.hero-overlay:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#d9d9d908 2px 4px);position:absolute;inset:0}.hero-shade{z-index:1;pointer-events:none;background:#00000080;position:absolute;inset:0}.hero-content{z-index:4;max-width:var(--content-max-wide);width:100%;margin:0 auto;padding:0 clamp(24px,4vw,60px);position:relative}.hero-text{margin-top:-150px}.hero-title{font-family:var(--font-display);letter-spacing:-2px;flex-direction:column;font-weight:700;line-height:1.05;display:flex}.hero-title--creative{font-family:"MF-Creative-Logo", "MF-Creative", var(--font-display)}.title-line-top{color:var(--text-primary);font-size:clamp(72px,9.5vw,130px)}.title-line-bottom{filter:drop-shadow(0 0 30px #6366f199)drop-shadow(0 0 80px #a855f74d);font-size:clamp(72px,9.5vw,130px)}.hero-subtitle{color:var(--text-secondary);letter-spacing:1px;margin-top:24px;font-size:16px;font-style:italic;font-weight:300}.gallery-strip{z-index:2;background:0 0;height:200px;margin-top:-30vh;position:relative}.circular-gallery{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;height:100%;overflow:hidden}.circular-gallery:active{cursor:grabbing}.tilted-card-figure{perspective:800px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;margin:0;display:flex;position:relative}.tilted-card-mobile-alert{text-align:center;font-size:.875rem;display:none;position:absolute;top:1rem}@media (width<=640px){.tilted-card-mobile-alert{display:block}.tilted-card-caption,.tilted-card-idle-hint{display:none}}.tilted-card-inner{transform-style:preserve-3d;position:relative}.tilted-card-img{object-fit:cover;border-radius:var(--radius-card);will-change:transform;position:absolute;top:0;left:0;transform:translateZ(0)}.tilted-card-caption{pointer-events:none;background:var(--gradient-primary);color:var(--text-white);opacity:0;z-index:3;border-radius:100px;padding:8px 18px;font-size:13px;font-weight:600;position:absolute;top:0;left:0}.tilted-card-idle-hint{pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.01em;color:#fafafab8;opacity:0;z-index:3;white-space:nowrap;background:#0f0f1352;border:1px solid #ffffff14;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:500;position:absolute;top:16px;left:50%}.tilted-card-overlay{z-index:2;will-change:transform;justify-content:center;display:flex;position:absolute;bottom:20px;left:0;right:0;transform:translateZ(30px)}.avatar-overlay-text{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-white);letter-spacing:1px;white-space:nowrap;background:#00000080;border:1px solid #ffffff1a;border-radius:100px;margin:0;padding:10px 20px;font-size:14px;font-weight:600}.border-glow-card{--edge-proximity:0;--cursor-angle:45deg;--edge-sensitivity:30;--color-sensitivity:calc(var(--edge-sensitivity) + 20);--border-radius:16px;--glow-padding:40px;--cone-spread:25;border-radius:var(--border-radius);isolation:isolate;background:var(--card-bg,#1c1c20);transition:transform var(--transition-speed) ease;border:1px solid #ffffff26;display:grid;position:relative;overflow:visible;transform:translateZ(.01px)}.border-glow-card:hover{transform:translateY(var(--hover-lift))}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";border-radius:inherit;z-index:-1;transition:opacity .25s ease-out;position:absolute;inset:0}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{background:linear-gradient(var(--card-bg,#1c1c20) 0 100%) padding-box, linear-gradient(#fff0 0% 100%) border-box, var(--gradient-one) border-box, var(--gradient-two) border-box, var(--gradient-three) border-box, var(--gradient-four) border-box, var(--gradient-five) border-box, var(--gradient-six) border-box, var(--gradient-seven) border-box, var(--gradient-base) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%));border:1px solid #0000}.border-glow-card:after{background:var(--gradient-one) padding-box, var(--gradient-two) padding-box, var(--gradient-three) padding-box, var(--gradient-four) padding-box, var(--gradient-five) padding-box, var(--gradient-six) padding-box, var(--gradient-seven) padding-box, var(--gradient-base) padding-box;-webkit-mask-image:linear-gradient(to bottom, black, black), radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%), radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%), conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);mask-image:linear-gradient(to bottom, black, black), radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%), radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%), conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);opacity:calc(var(--fill-opacity,.5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light;border:1px solid #0000;-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color), inset 0 0 1px 0 var(--glow-color-60), inset 0 0 3px 0 var(--glow-color-50), inset 0 0 6px 0 var(--glow-color-40), inset 0 0 15px 0 var(--glow-color-30), inset 0 0 25px 2px var(--glow-color-20), inset 0 0 50px 2px var(--glow-color-10), 0 0 1px 0 var(--glow-color-60), 0 0 3px 0 var(--glow-color-50), 0 0 6px 0 var(--glow-color-40), 0 0 15px 0 var(--glow-color-30), 0 0 25px 2px var(--glow-color-20), 0 0 50px 2px var(--glow-color-10);position:absolute}.border-glow-inner{border-radius:inherit;z-index:1;flex-direction:column;display:flex;position:relative;overflow:hidden}.experience{padding:var(--section-padding);background:0 0}.section-header{margin-bottom:var(--gap-xl)}.section-title{font-family:var(--font-display);letter-spacing:-1px;align-items:center;gap:12px;font-size:clamp(32px,4vw,48px);font-weight:700;display:flex}.title-icon{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:24px}.section-subtitle{color:var(--text-muted);margin-top:8px;font-size:14px}.experience-grid{gap:var(--gap-xl);grid-template-columns:350px 1fr;align-items:start;display:grid}.experience-avatar{z-index:10;position:relative}.info-label{color:var(--accent-light);letter-spacing:2px;margin-bottom:12px;font-size:11px;font-weight:600}.experience-info{padding-left:clamp(32px,2.6vw,56px)}.info-name{font-family:var(--font-display);text-wrap:balance;margin-bottom:0;font-size:36px;font-weight:700;line-height:1.18}.info-intro{color:#fafafac7;margin:10px 0 18px;font-size:16px;font-weight:500;line-height:1.65}.info-desc{color:var(--text-secondary);max-width:920px;margin-bottom:28px;font-size:14px;line-height:1.8}.info-meta{gap:var(--gap-sm);grid-template-columns:1fr 1fr;margin-bottom:20px;display:grid}.meta-item{flex-direction:column;gap:4px;display:flex}.meta-label{letter-spacing:1px;text-transform:uppercase;background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:11px}.meta-value{color:var(--text-muted);font-size:14px;font-weight:500}.info-contact{gap:var(--gap-sm);grid-template-columns:1fr 1fr;margin-bottom:32px;padding-bottom:28px;display:grid}.tech-stack-section{border-top:2px solid var(--border-divider);margin-top:32px;padding-top:28px}.tech-stack-header{margin-bottom:var(--gap-sm);justify-content:space-between;align-items:baseline;display:flex}.tech-stack-label{color:var(--accent-light);letter-spacing:2px;font-size:11px;font-weight:600}.tech-stack-tags{flex-wrap:wrap;gap:8px;display:flex}.tech-tag{border:1px solid var(--border-subtle);color:var(--text-secondary);transition:border-color var(--transition-speed) ease;background:#6366f114;border-radius:100px;padding:6px 14px;font-size:12px;font-weight:500}.tech-tag:hover{color:#fafafa;background:#a855f72e;border-color:#c084fc}.career-section{margin-top:64px;padding-top:28px}.career-header{align-items:baseline;gap:var(--gap-sm);margin-bottom:32px;display:flex}.career-label{color:var(--text-muted);letter-spacing:2px;font-size:11px}.career-title{color:var(--text-secondary);font-size:14px}.career-grid{gap:var(--gap-md);grid-template-columns:repeat(3,1fr);display:grid}.career-card-wrap,.career-card-wrap .border-glow-card,.career-card-wrap .border-glow-inner{height:100%}.career-card{padding:28px}.career-period{color:var(--accent-light);font-size:12px;font-weight:500}.career-company{font-family:var(--font-display);margin:10px 0 8px;font-size:16px;font-weight:600}.career-role{color:var(--accent-light);background:#6366f11a;border-radius:100px;margin-bottom:12px;padding:4px 10px;font-size:11px;display:inline-block}.career-desc{color:var(--text-muted);font-size:13px;line-height:1.6}.projects{padding:var(--section-padding);background:0 0}.projects-grid{gap:var(--gap-md);grid-template-columns:repeat(2,1fr);align-items:stretch;display:grid}.project-card{height:100%;min-height:clamp(720px,56vw,820px)}.project-card .border-glow-card,.project-card .border-glow-inner{height:100%}.project-image{aspect-ratio:16/9;width:100%;position:relative;overflow:hidden}.project-image-real{object-fit:cover;width:100%;height:100%}.project-placeholder{background:linear-gradient(135deg,#6366f114 0%,#a855f714 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.placeholder-number{font-family:var(--font-display);color:#ffffff0a;font-size:64px;font-weight:700}.project-info{flex-direction:column;gap:18px;height:100%;padding:24px 28px 28px;display:flex}.project-category{color:var(--accent-light);letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:600}.project-title{font-family:var(--font-display);margin:10px 0 8px;font-size:20px;font-weight:700}.project-desc{color:var(--text-muted);margin-bottom:0;font-size:14px;line-height:1.6}.project-details{flex-direction:column;flex:1;gap:16px;display:flex}.project-detail{gap:6px;display:grid}.project-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.project-copy{color:var(--text-secondary);font-size:13px;line-height:1.7}.project-highlights{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.project-highlight{color:var(--text-primary);transition:border-color var(--transition-speed) ease;background:#6366f114;border:1px solid #6366f12e;border-radius:999px;padding:6px 10px;font-size:12px}.project-card .border-glow-card:hover .project-highlight{color:#fafafa;background:#a855f72e;border-color:#c084fc}.project-footer{gap:10px;margin-top:auto;padding-top:4px;display:grid}.project-result{color:var(--text-primary);font-size:13px;line-height:1.7}.project-access{color:var(--accent-light);font-size:12px;line-height:1.6}@media (width<=960px){.projects-grid{grid-template-columns:1fr}.project-card{min-height:auto}}@media (width<=640px){.project-info{padding:20px 20px 24px}.project-title{font-size:18px}}.strengths{padding:var(--section-padding);background:0 0}.strengths-bento{gap:var(--gap-md);grid-template-columns:repeat(6,1fr);align-items:stretch;display:grid}.strength-card-inner{gap:var(--gap-sm);flex-direction:column;height:100%;padding:28px;display:flex}.strength-card-wrap:first-child,.strength-card-wrap:nth-child(2){grid-column:span 3}.strength-card-wrap .border-glow-card,.strength-card-wrap .border-glow-inner{height:100%}.strength-card-wrap:first-child .border-glow-card,.strength-card-wrap:nth-child(2) .border-glow-card{min-height:236px}.strength-card-wrap:nth-child(n+3){grid-column:span 2}.strength-card-wrap:nth-child(n+3) .border-glow-card{min-height:212px}.card-header{justify-content:space-between;align-items:center;display:flex}.card-number{width:32px;height:32px;color:var(--accent-light);background:#6366f126;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.card-type{color:var(--text-muted);letter-spacing:2px;font-size:11px;font-weight:600}.card-title{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1.3}.card-dot{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-left:4px}.strength-card-inner.highlight .card-dot{-webkit-text-fill-color:var(--text-white)}.card-keywords{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.keyword-tag{border:1px solid var(--border-subtle);color:var(--text-secondary);transition:border-color var(--transition-speed) ease;background:#6366f114;border-radius:100px;padding:6px 12px;font-size:11px}.border-glow-card:hover .keyword-tag{color:#fafafa;background:#a855f72e;border-color:#c084fc}.card-glow{opacity:0;pointer-events:none;background:radial-gradient(circle,#6366f11a 0%,#0000 70%);border-radius:50%;width:200px;height:200px;transition:opacity .5s;position:absolute;top:-50%;right:-50%}.contact{background:0 0;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.contact-bg-glow{pointer-events:none;background:radial-gradient(circle,#6366f114 0%,#a855f70a 40%,#0000 70%);border-radius:50%;width:600px;height:600px;animation:6s ease-in-out infinite pulseGlow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulseGlow{0%,to{opacity:.6;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}}.contact-content{z-index:2;text-align:center;min-height:100vh;max-width:var(--max-width);flex-direction:column;justify-content:center;align-items:center;margin:0 auto;padding:80px clamp(24px,4vw,60px);display:flex;position:relative}.contact-main{flex-direction:column;align-items:center;display:flex}.contact-label{letter-spacing:2px;color:var(--accent-light);margin-bottom:20px;font-size:11px;font-weight:600}.contact-title{font-family:var(--font-display);letter-spacing:-1px;margin-bottom:16px;font-size:clamp(36px,5vw,56px);font-weight:700;line-height:1.2}.contact-title .gradient-text{animation-duration:4.2s}.contact-desc{color:var(--text-secondary);margin-bottom:var(--gap-lg);max-width:480px;font-size:16px;line-height:1.85}.contact-info-grid{margin-bottom:var(--gap-lg);gap:40px;display:flex}.contact-info-item{background:var(--bg-card);border-radius:var(--radius-card);border:1px solid var(--border-subtle);align-items:center;gap:12px;padding:16px 24px;display:flex}.info-icon{font-size:20px}.info-type{color:var(--text-white);margin-bottom:2px;font-size:15px;font-weight:600;display:block}.info-link{word-break:break-word;font-size:13px;font-weight:500}.info-link-button{appearance:none;color:inherit;line-height:inherit;text-align:inherit;background-color:#0000;border:0;padding:0}.contact-info-item a.info-link,.contact-info-item button.info-link{transition:opacity var(--transition-speed) ease}.contact-info-item a.info-link:hover,.contact-info-item button.info-link:hover{opacity:.8}.contact-cta-wrap{justify-content:center;width:100%;display:flex}.contact-cta{background:var(--gradient-primary);border:1px solid #0000;border-radius:100px;align-items:center;gap:8px;padding:16px 40px;font-size:15px;font-weight:600;transition:all .3s;display:inline-flex}.contact-cta .cta-text,.contact-cta .cta-arrow{color:var(--text-white);transition:all var(--transition-speed) ease}.contact-cta:hover{border-color:var(--border-subtle);transform:translateY(var(--hover-lift));background:#18181b99}.contact-cta:hover .cta-text,.contact-cta:hover .cta-arrow{background:linear-gradient(90deg,#6366f1 0%,#dad0fd 25%,#a855f7 50%,#dad0fd 75%,#6366f1 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;animation:4.2s linear infinite gradientFlow}.cta-arrow{transition:transform .3s}.contact-cta:hover .cta-arrow{transform:translate(4px)}.contact-footer{justify-content:space-between;display:flex;position:absolute;bottom:40px;left:clamp(24px,4vw,60px);right:clamp(24px,4vw,60px)}.footer-text{color:var(--text-muted);font-size:12px}.qr-overlay{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.qr-modal{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);align-items:center;gap:var(--gap-sm);flex-direction:column;max-width:360px;padding:40px;display:flex}.qr-title{font-family:var(--font-display);color:var(--text-primary);font-size:20px;font-weight:700}.qr-image{object-fit:cover;border-radius:12px;width:240px;height:240px}.qr-hint{color:var(--text-muted);font-size:14px}.qr-close{background:var(--gradient-primary);color:var(--text-white);transition:all var(--transition-speed) ease;border-radius:100px;margin-top:8px;padding:10px 32px;font-size:14px;font-weight:500}.qr-close:hover{opacity:.85;transform:translateY(var(--hover-lift))}@media (width<=960px){.contact-content{padding:96px 32px 132px}.contact-info-grid{flex-wrap:wrap;justify-content:center;gap:16px;width:min(100%,720px)}.contact-info-item{justify-content:center;width:calc(50% - 8px);min-width:240px}.contact-footer{left:32px;right:32px}}@media (width<=640px){.contact-content{min-height:auto;padding:88px 20px 40px}.contact-title{font-size:clamp(32px,10vw,42px)}.contact-desc{margin-bottom:32px;font-size:15px}.contact-info-grid{flex-direction:column;width:min(100%,360px);margin-bottom:32px}.contact-info-item{text-align:center;flex-direction:column;gap:6px;width:100%;min-width:0;padding:14px 18px}.contact-cta{justify-content:center;width:100%;padding:14px 24px}.contact-footer{flex-direction:column;align-items:center;gap:8px;margin-top:40px;position:static}.qr-modal{width:calc(100vw - 32px);padding:28px 20px}.qr-image{width:min(240px,70vw);height:min(240px,70vw)}}.line-waves-container{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.line-waves-container canvas{pointer-events:auto}
