@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.overflow-hidden{overflow:hidden}.border{border-width:1px}.uppercase{text-transform:uppercase}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: transparent;--bg2: rgba(13, 13, 26, .55);--surface: rgba(17, 17, 40, .92);--surface2: rgba(22, 22, 42, .95);--border: rgba(124, 58, 237, .15);--border-soft: rgba(255, 255, 255, .06);--text: #f1f0f8;--text-muted: #8b88a8;--accent: #7c3aed;--accent2: #a855f7;--accent-dim: rgba(124, 58, 237, .12);--accent-glow: rgba(124, 58, 237, .35);--white10: rgba(255, 255, 255, .1);--white05: rgba(255, 255, 255, .05);--radius: 16px;--radius-sm: 8px;--radius-lg: 24px;--max-w: 1140px;--nav-h: 72px;--transition: .25s cubic-bezier(.4, 0, .2, 1);color-scheme:dark}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#08080f;color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;cursor:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}a,button,input,textarea,select,[role=button],.cursor-zoom-in,.cursor-zoom-out{cursor:none!important}.dot-grid,.dot-grid__wrap,.dot-grid__canvas{transform:translateZ(0);backface-visibility:hidden;contain:strict}.card{will-change:transform,box-shadow}.btn{will-change:transform,opacity}.logoloop__track{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.text-type,.text-type__cursor,.particle-container,.magic-bento-card{will-change:transform,opacity;backface-visibility:hidden}nav,[style*="position: fixed"],[style*="position:fixed"]{transform:translateZ(0);backface-visibility:hidden}.global-spotlight{will-change:transform,opacity;transform:translateZ(0)}#root>div>div[style*=z-index],#root>div>div[style*=zIndex]{isolation:isolate}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#08080f}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:3px}.container{max-width:var(--max-w);width:100%;margin:0 auto;padding:0 24px}.section{padding:100px 0}.h-display{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;line-height:1.05;letter-spacing:-.03em}.h-xl{font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}.h-lg{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:700;line-height:1.3}.h-section{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.02em}.gradient-text{background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 60%,#c084fc 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card{background:#0f0f1e73;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-soft);border-radius:var(--radius);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.card:hover{transform:translateY(-4px);box-shadow:0 20px 60px #7c3aed26,0 8px 24px #0006;border-color:#7c3aed4d}.card-elevated{background:#111128d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-lg)}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:50px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all var(--transition);border:none;text-decoration:none;white-space:nowrap;letter-spacing:.01em;background:transparent;color:var(--text)}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);color:#fff;box-shadow:0 4px 20px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px var(--accent-glow)}.btn-ghost{background:var(--white05);color:var(--text);border:1px solid var(--border-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-ghost:hover{background:var(--white10);border-color:#7c3aed4d;transform:translateY(-2px)}.btn-glassy{background:#0f0f1e73;color:var(--text);border:1px solid rgba(168,85,247,.15);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 4px 24px #0003,inset 0 0 12px #7c3aed0d}.btn-glassy:hover{background:#7c3aed26;border-color:#a855f766;transform:translateY(-2px);box-shadow:0 8px 32px #7c3aed33,inset 0 0 16px #7c3aed1a;color:#fff}.btn-sm{padding:8px 18px;font-size:.8rem}.btn-icon{padding:10px;width:40px;height:40px;border-radius:50px}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:50px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--accent-dim);color:var(--accent2);border:1px solid rgba(124,58,237,.25)}.divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:0}.section-label{font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--accent2);margin-bottom:12px;display:flex;align-items:center;gap:8px}.section-label:before{content:"";display:block;width:24px;height:2px;background:var(--accent);border-radius:2px}.skill-tag{display:inline-flex;align-items:center;padding:6px 14px;border-radius:8px;font-size:.8rem;font-weight:600;background:var(--white05);border:1px solid var(--border-soft);color:var(--text-muted);transition:all var(--transition)}.skill-tag:hover{background:var(--accent-dim);border-color:#7c3aed4d;color:var(--text)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 40px var(--accent-glow),0 0 80px #7c3aed26}}.animate-fade-up{animation:fadeInUp .6s cubic-bezier(.34,1.56,.64,1) both}.animate-fade{animation:fadeIn .6s ease both}.modal-overlay{position:fixed;inset:0;background:#08080fd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}@media(max-width:768px){.section{padding:72px 0}.container{padding:0 20px}}@media(max-width:480px){.section{padding:56px 0}}.glass-surface{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .26s ease-out}.glass-surface__filter{width:100%;height:100%;pointer-events:none;position:absolute;inset:0;opacity:0;z-index:-1}.glass-surface__content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:inherit;position:relative;z-index:1}.glass-surface--svg{background:light-dark(hsl(0 0% 100% / var(--glass-frost, 0)),hsl(0 0% 0% / var(--glass-frost, 0)));-webkit-backdrop-filter:var(--filter-id, url(#glass-filter)) saturate(var(--glass-saturation, 1));backdrop-filter:var(--filter-id, url(#glass-filter)) saturate(var(--glass-saturation, 1));box-shadow:0 0 2px 1px light-dark(color-mix(in oklch,black,transparent 85%),color-mix(in oklch,white,transparent 65%)) inset,0 0 10px 4px light-dark(color-mix(in oklch,black,transparent 90%),color-mix(in oklch,white,transparent 85%)) inset,0 4px 16px #11111a0d,0 8px 24px #11111a0d,0 16px 56px #11111a0d,0 4px 16px #11111a0d inset,0 8px 24px #11111a0d inset,0 16px 56px #11111a0d inset}.glass-surface--fallback{background:#ffffff0f;backdrop-filter:blur(20px) saturate(1.8) brightness(1.1);-webkit-backdrop-filter:blur(20px) saturate(1.8) brightness(1.1);border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 32px #0006,0 2px 16px #7c3aed26,inset 0 1px #ffffff1a,inset 0 -1px #ffffff0d}.glass-surface:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}.text-type{display:inline-block;white-space:pre-wrap}.text-type__cursor{margin-left:.05rem;display:inline-block;opacity:1;font-weight:400;color:var(--accent2, #a855f7)}.text-type__cursor--hidden{display:none}.logoloop{position:relative;--logoloop-gap: 32px;--logoloop-logoHeight: 28px;--logoloop-fadeColorAuto: #08080f}.logoloop--vertical{height:100%;display:inline-block}.logoloop--scale-hover{padding-top:calc(var(--logoloop-logoHeight) * .1);padding-bottom:calc(var(--logoloop-logoHeight) * .1)}.logoloop__track{display:flex;width:-moz-max-content;width:max-content;will-change:transform;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:0}.logoloop--vertical .logoloop__track{flex-direction:column;height:-moz-max-content;height:max-content;width:100%}.logoloop__list{display:flex;align-items:center;list-style:none;margin:0;padding:0}.logoloop--vertical .logoloop__list{flex-direction:column}.logoloop__item{flex:0 0 auto;margin-right:var(--logoloop-gap);font-size:var(--logoloop-logoHeight);line-height:1}.logoloop--vertical .logoloop__item{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__item:last-child{margin-right:var(--logoloop-gap)}.logoloop--vertical .logoloop__item:last-child{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__node{display:inline-flex;align-items:center;color:#8b88a8b3;transition:color .2s ease}.logoloop__item:hover .logoloop__node{color:#a855f7e6}.logoloop__item img{height:var(--logoloop-logoHeight);width:auto;display:block;-o-object-fit:contain;object-fit:contain;-webkit-user-drag:none;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1)}.logoloop--scale-hover .logoloop__item{overflow:visible}.logoloop--scale-hover .logoloop__item:hover img,.logoloop--scale-hover .logoloop__item:hover .logoloop__node{transform:scale(1.25);transform-origin:center center;color:#a855f7}.logoloop--scale-hover .logoloop__node{transition:transform .3s cubic-bezier(.4,0,.2,1),color .2s ease}.logoloop__link{display:inline-flex;align-items:center;text-decoration:none;border-radius:4px;transition:opacity .2s ease}.logoloop__link:hover{opacity:.85}.logoloop__link:focus-visible{outline:2px solid #a855f7;outline-offset:2px}.logoloop--fade:before,.logoloop--fade:after{content:"";position:absolute;top:0;bottom:0;width:clamp(40px,10%,140px);pointer-events:none;z-index:10}.logoloop--fade:before{left:0;background:linear-gradient(to right,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}.logoloop--fade:after{right:0;background:linear-gradient(to left,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}@media(prefers-reduced-motion:reduce){.logoloop__track{transform:translateZ(0)!important}.logoloop__item img,.logoloop__node{transition:none!important}}.dot-grid{display:flex;align-items:center;justify-content:center;height:100%;width:100%;position:relative}.dot-grid__wrap{width:100%;height:100%;position:relative}.dot-grid__canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
