html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}.rotating-text{white-space:nowrap;display:inline-flex;overflow:hidden}.rotating-text__char{display:inline-block}.avatar-canvas{flex-direction:column;justify-content:center;align-items:center;margin:0;display:flex;position:relative}.avatar-canvas__viewport{border:2px solid #ffffff1a;width:100%;height:clamp(230px,40vw,320px);position:relative;overflow:hidden;box-shadow:0 16px 40px #0000004d}.avatar-canvas__skeleton{border-radius:inherit;background:linear-gradient(110deg,#ffffff08 8%,#ffffff14 18%,#ffffff08 33%) 0 0/200% 100%;border:2px solid #ffffff1a;width:100%;height:clamp(230px,40vw,320px);animation:1.5s infinite avatar-shimmer;position:absolute;inset:0}@keyframes avatar-shimmer{to{background-position:-200% 0}}.avatar-canvas__fallback{object-fit:cover;border-radius:inherit;border:2px solid #ffffff1a;width:100%;height:clamp(230px,40vw,320px);display:block;box-shadow:0 16px 40px #0000004d}.avatar-canvas__caption{text-align:center;color:#fff;background:#06b6d4e6;border-radius:10px;margin-top:12px;padding:8px 20px;font-size:15px;font-weight:600}.scroll-float,.scroll-float-text{display:inline}.scroll-float-char{will-change:transform, opacity;display:inline-block}.border-glow-card{--edge-proximity:0;--cursor-angle:45deg;--edge-sensitivity:30;--color-sensitivity:calc(var(--edge-sensitivity) + 20);--border-radius:28px;--glow-padding:40px;--cone-spread:25;border-radius:var(--border-radius);isolation:isolate;background:var(--card-bg,#060010);border:1px solid #ffffff26;display:grid;position:relative;overflow:visible;transform:translateZ(.01px);box-shadow:0 1px 2px #0000001a,0 2px 4px #0000001a,0 4px 8px #0000001a,0 8px 16px #0000001a,0 16px 32px #0000001a,0 32px 64px #0000001a}.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,#060010) 0 100%) padding-box, linear-gradient(#fff0 0% 100%) border-box, var(--gradient-one,radial-gradient(at 80% 55%, #be85ff 0px, transparent 50%)) border-box, var(--gradient-two,radial-gradient(at 69% 34%, #ff7a93 0px, transparent 50%)) border-box, var(--gradient-three,radial-gradient(at 8% 6%, #8fffad 0px, transparent 50%)) border-box, var(--gradient-four,radial-gradient(at 41% 38%, #47daff 0px, transparent 50%)) border-box, var(--gradient-five,radial-gradient(at 86% 85%, #7af2ff 0px, transparent 50%)) border-box, var(--gradient-six,radial-gradient(at 82% 18%, #ffe74c 0px, transparent 50%)) border-box, var(--gradient-seven,radial-gradient(at 51% 4%, #ff8d70 0px, transparent 50%)) border-box, var(--gradient-base,linear-gradient(#c299ff 0 100%)) 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,radial-gradient(at 80% 55%, #be85ff 0px, transparent 50%)) padding-box, var(--gradient-two,radial-gradient(at 69% 34%, #ff7a93 0px, transparent 50%)) padding-box, var(--gradient-three,radial-gradient(at 8% 6%, #8fffad 0px, transparent 50%)) padding-box, var(--gradient-four,radial-gradient(at 41% 38%, #47daff 0px, transparent 50%)) padding-box, var(--gradient-five,radial-gradient(at 86% 85%, #7af2ff 0px, transparent 50%)) padding-box, var(--gradient-six,radial-gradient(at 82% 18%, #ffe74c 0px, transparent 50%)) padding-box, var(--gradient-seven,radial-gradient(at 51% 4%, #ff8d70 0px, transparent 50%)) padding-box, var(--gradient-base,linear-gradient(#c299ff 0 100%)) 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,#f5daa3), inset 0 0 1px 0 var(--glow-color-60,#f5daa399), inset 0 0 3px 0 var(--glow-color-50,#f5daa380), inset 0 0 6px 0 var(--glow-color-40,#f5daa366), inset 0 0 15px 0 var(--glow-color-30,#f5daa34d), inset 0 0 25px 2px var(--glow-color-20,#f5daa333), inset 0 0 50px 2px var(--glow-color-10,#f5daa31a), 0 0 1px 0 var(--glow-color-60,#f5daa399), 0 0 3px 0 var(--glow-color-50,#f5daa380), 0 0 6px 0 var(--glow-color-40,#f5daa366), 0 0 15px 0 var(--glow-color-30,#f5daa34d), 0 0 25px 2px var(--glow-color-20,#f5daa333), 0 0 50px 2px var(--glow-color-10,#f5daa31a);position:absolute}.border-glow-inner{z-index:1;flex-direction:column;display:flex;position:relative;overflow:auto}.section-header__subtitle{text-align:center;color:var(--color-slate-500);font-size:18px;font-weight:var(--font-weight-normal);letter-spacing:-.01em;max-width:600px;margin:0 auto;line-height:1.6}.section-header .section-title{margin-bottom:16px}.services-lamp{flex-shrink:0;margin-bottom:clamp(16px,2vh,32px)}.skills-panel-lamp{margin-bottom:0}.skills-lamp{margin-bottom:40px}.card-spotlight{color:#ffffffe6;background:#0a0a0e99;border:1px solid #ffffff1a;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 16px 40px #0003}.card-spotlight:before{content:"";border-radius:inherit;background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%), var(--spotlight-color,#06b6d440), transparent 80%);opacity:0;pointer-events:none;z-index:0;transition:opacity .4s;position:absolute;inset:0}.card-spotlight:hover:before{opacity:.6}.card-spotlight>*{z-index:1;position:relative}@media (prefers-reduced-motion:reduce){.card-spotlight:before{transition:none}}:root{--color-white:#fff;--color-black:#000;--color-cream-50:#fcfcf9;--color-cream-100:#fffffd;--color-gray-200:#f5f5f5;--color-gray-300:#a7a9a9;--color-gray-400:#777c7c;--color-slate-500:#c8d2d7a6;--color-brown-600:#5e5240;--color-charcoal-700:#1f2121;--color-charcoal-800:#262828;--color-slate-900:#13343b;--color-cyan-300:#06b6d4;--color-cyan-400:#0891b2;--color-cyan-500:#0891b2;--color-cyan-600:#9f1239;--color-cyan-700:#881337;--color-cyan-800:#9f1239;--color-cyan-light:#fda4af;--color-cyan-decorative:#fda4af;--color-red-400:#ff5459;--color-red-500:#c0152f;--color-orange-400:#e68161;--color-orange-500:#a84b2f;--color-brown-600-rgb:94, 82, 64;--color-cyan-500-rgb:8, 145, 178;--color-slate-900-rgb:19, 52, 59;--color-slate-500-rgb:98, 108, 113;--color-red-500-rgb:192, 21, 47;--color-red-400-rgb:255, 84, 89;--color-orange-500-rgb:168, 75, 47;--color-orange-400-rgb:230, 129, 97;--color-bg-1:#3b82f614;--color-bg-2:#f59e0b14;--color-bg-3:#22c55e14;--color-bg-4:#ef444414;--color-bg-5:#9333ea14;--color-bg-6:#f9731614;--color-bg-7:#ec489914;--color-bg-8:#06b6d414;--color-background:var(--color-cream-50);--color-surface:var(--color-cream-100);--color-text:var(--color-slate-900);--color-text-secondary:var(--color-slate-500);--color-primary:var(--color-cyan-500);--color-primary-hover:var(--color-cyan-600);--color-primary-active:var(--color-cyan-700);--color-secondary:rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover:rgba(var(--color-brown-600-rgb), .2);--color-secondary-active:rgba(var(--color-brown-600-rgb), .25);--color-border:rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text:var(--color-cream-50);--color-card-border:rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner:rgba(var(--color-brown-600-rgb), .12);--color-error:var(--color-red-500);--color-success:var(--color-cyan-500);--color-warning:var(--color-orange-500);--color-info:var(--color-slate-500);--color-focus-ring:rgba(var(--color-cyan-500-rgb), .4);--color-select-caret:rgba(var(--color-slate-900-rgb), .8);--focus-ring:0 0 0 3px var(--color-focus-ring);--focus-outline:2px solid var(--color-primary);--status-bg-opacity:.15;--status-border-opacity:.25;--select-caret-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb:33, 128, 141;--color-error-rgb:192, 21, 47;--color-warning-rgb:168, 75, 47;--color-info-rgb:98, 108, 113;--font-family-base:"Satoshi", "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-display:"Clash Display", "Satoshi", -apple-system, sans-serif;--font-family-mono:"Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:15px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:22px;--font-size-4xl:28px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:550;--font-weight-bold:600;--line-height-tight:1.2;--line-height-normal:1.5;--letter-spacing-tight:-.01em;--space-0:0;--space-1:1px;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--radius-sm:6px;--radius-base:8px;--radius-md:10px;--radius-lg:12px;--radius-full:9999px;--shadow-xs:0 1px 2px #00000005;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #00000005;--shadow-md:0 4px 6px -1px #0000000a, 0 2px 4px -1px #00000005;--shadow-lg:0 10px 15px -3px #0000000a, 0 4px 6px -2px #00000005;--shadow-inset-sm:inset 0 1px 0 #ffffff26, inset 0 -1px 0 #00000008;--duration-fast:.15s;--duration-normal:.25s;--ease-standard:cubic-bezier(.16, 1, .3, 1);--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--nav-h:84px;--hero-gap:clamp(56px, 6vw, 180px)}@media (prefers-color-scheme:dark){:root{--color-gray-400-rgb:119, 124, 124;--color-cyan-300-rgb:6, 182, 212;--color-gray-300-rgb:167, 169, 169;--color-gray-200-rgb:245, 245, 245;--color-bg-1:#1d4ed826;--color-bg-2:#b4530926;--color-bg-3:#15803d26;--color-bg-4:#b91c1c26;--color-bg-5:#6b21a826;--color-bg-6:#c2410c26;--color-bg-7:#be185d26;--color-bg-8:#0891b226;--color-background:var(--color-charcoal-700);--color-surface:var(--color-charcoal-800);--color-text:var(--color-gray-200);--color-text-secondary:rgba(var(--color-gray-300-rgb), .7);--color-primary:var(--color-cyan-300);--color-primary-hover:var(--color-cyan-400);--color-primary-active:var(--color-cyan-800);--color-secondary:rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover:rgba(var(--color-gray-400-rgb), .25);--color-secondary-active:rgba(var(--color-gray-400-rgb), .3);--color-border:rgba(var(--color-gray-400-rgb), .3);--color-error:var(--color-red-400);--color-success:var(--color-cyan-300);--color-warning:var(--color-orange-400);--color-info:var(--color-gray-300);--color-focus-ring:rgba(var(--color-cyan-300-rgb), .4);--color-btn-primary-text:var(--color-slate-900);--color-card-border:rgba(var(--color-gray-400-rgb), .2);--color-card-border-inner:rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm:inset 0 1px 0 #ffffff1a, inset 0 -1px 0 #00000026;--button-border-secondary:rgba(var(--color-gray-400-rgb), .2);--color-border-secondary:rgba(var(--color-gray-400-rgb), .2);--color-select-caret:rgba(var(--color-gray-200-rgb), .8);--focus-ring:0 0 0 3px var(--color-focus-ring);--focus-outline:2px solid var(--color-primary);--status-bg-opacity:.15;--status-border-opacity:.25;--select-caret-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb:var(--color-cyan-300-rgb);--color-error-rgb:var(--color-red-400-rgb);--color-warning-rgb:var(--color-orange-400-rgb);--color-info-rgb:var(--color-gray-300-rgb)}}[data-color-scheme=dark]{--color-gray-400-rgb:119, 124, 124;--color-cyan-300-rgb:6, 182, 212;--color-gray-300-rgb:167, 169, 169;--color-gray-200-rgb:245, 245, 245;--color-bg-1:#1d4ed826;--color-bg-2:#b4530926;--color-bg-3:#15803d26;--color-bg-4:#b91c1c26;--color-bg-5:#6b21a826;--color-bg-6:#c2410c26;--color-bg-7:#be185d26;--color-bg-8:#0891b226;--color-background:var(--color-charcoal-700);--color-surface:var(--color-charcoal-800);--color-text:var(--color-gray-200);--color-text-secondary:rgba(var(--color-gray-300-rgb), .7);--color-primary:var(--color-cyan-300);--color-primary-hover:var(--color-cyan-400);--color-primary-active:var(--color-cyan-800);--color-secondary:rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover:rgba(var(--color-gray-400-rgb), .25);--color-secondary-active:rgba(var(--color-gray-400-rgb), .3);--color-border:rgba(var(--color-gray-400-rgb), .3);--color-error:var(--color-red-400);--color-success:var(--color-cyan-300);--color-warning:var(--color-orange-400);--color-info:var(--color-gray-300);--color-focus-ring:rgba(var(--color-cyan-300-rgb), .4);--color-btn-primary-text:var(--color-slate-900);--color-card-border:rgba(var(--color-gray-400-rgb), .15);--color-card-border-inner:rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm:inset 0 1px 0 #ffffff1a, inset 0 -1px 0 #00000026;--color-border-secondary:rgba(var(--color-gray-400-rgb), .2);--color-select-caret:rgba(var(--color-gray-200-rgb), .8);--focus-ring:0 0 0 3px var(--color-focus-ring);--focus-outline:2px solid var(--color-primary);--status-bg-opacity:.15;--status-border-opacity:.25;--select-caret-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb:var(--color-cyan-300-rgb);--color-error-rgb:var(--color-red-400-rgb);--color-warning-rgb:var(--color-orange-400-rgb);--color-info-rgb:var(--color-gray-300-rgb)}[data-color-scheme=light]{--color-brown-600-rgb:94, 82, 64;--color-cyan-500-rgb:8, 145, 178;--color-slate-900-rgb:19, 52, 59;--color-background:var(--color-cream-50);--color-surface:var(--color-cream-100);--color-text:var(--color-slate-900);--color-text-secondary:var(--color-slate-500);--color-primary:var(--color-cyan-500);--color-primary-hover:var(--color-cyan-600);--color-primary-active:var(--color-cyan-700);--color-secondary:rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover:rgba(var(--color-brown-600-rgb), .2);--color-secondary-active:rgba(var(--color-brown-600-rgb), .25);--color-border:rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text:var(--color-cream-50);--color-card-border:rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner:rgba(var(--color-brown-600-rgb), .12);--color-error:var(--color-red-500);--color-success:var(--color-cyan-500);--color-warning:var(--color-orange-500);--color-info:var(--color-slate-500);--color-focus-ring:rgba(var(--color-cyan-500-rgb), .4);--color-success-rgb:var(--color-cyan-500-rgb);--color-error-rgb:var(--color-red-500-rgb);--color-warning-rgb:var(--color-orange-500-rgb);--color-info-rgb:var(--color-slate-500-rgb)}html{font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;box-sizing:border-box}body{margin:0;padding:0}*,:before,:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);letter-spacing:var(--letter-spacing-tight);margin:0}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin:0 0 var(--space-16) 0}a{color:var(--color-primary);transition:color var(--duration-fast) var(--ease-standard);text-decoration:none}a:hover{color:var(--color-primary-hover)}code,pre{font-family:var(--font-family-mono);font-size:calc(var(--font-size-base) * .95);background-color:var(--color-secondary);border-radius:var(--radius-sm)}code{padding:var(--space-1) var(--space-4)}pre{padding:var(--space-16);margin:var(--space-16) 0;border:1px solid var(--color-border);overflow:auto}pre code{background:0 0;padding:0}.btn{justify-content:center;align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-28);min-height:52px;font-size:var(--font-size-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);letter-spacing:.01em;color:var(--color-text);isolation:isolate;background:0 0;border:none;border-radius:999px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 16px 32px #112d3614}.btn:after{content:"";border-radius:inherit;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);pointer-events:none;background:radial-gradient(120% 120% at 10% 10%,#ffffff59,#ffffff0d 55%,#0000 70%);position:absolute;inset:0}.btn:hover:after{opacity:1}.btn i,.btn span{z-index:1;position:relative}.btn i{background:#ffffff24;border-radius:999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-size:1.05rem;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff1f,0 6px 18px #0c34402e}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{color:var(--color-btn-primary-text);background:linear-gradient(135deg,#06b6d4fa,#881337fa);box-shadow:0 22px 45px #0891b261}.btn-primary:hover{background:linear-gradient(135deg,#4acedd,#146e80fa);box-shadow:0 26px 54px #0891b273}.btn-primary:active{transform:translateY(1px);box-shadow:0 10px 26px #0891b257}.btn-primary .btn-depth{background:linear-gradient(135deg,#07273059,#88133733)}.btn-primary i{color:var(--color-btn-primary-text);background:#ffffff2e}.btn-secondary{color:#fffc;-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:#ffffff0f;border:1px solid #ffffff26;box-shadow:0 8px 24px #0003}.btn-secondary:hover{color:#06b6d4;background:#ffffff1f;border-color:#ffffff40;box-shadow:0 12px 32px #0000004d}.btn-secondary:active{transform:translateY(1px);box-shadow:0 12px 26px #1a465233}.btn-secondary .btn-depth{background:linear-gradient(135deg,#0f495729,#ffffff0d)}.btn-secondary i{color:#1b4d59;background:#0891b229}.btn--outline{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.btn--outline:hover{background:var(--color-secondary)}.btn--sm{padding:var(--space-4) var(--space-12);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn--lg{padding:var(--space-10) var(--space-20);font-size:var(--font-size-lg);border-radius:var(--radius-md)}.btn--full-width{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.form-control{width:100%;padding:var(--space-8) var(--space-12);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);line-height:1.5;display:block}textarea.form-control{font-family:var(--font-family-base);font-size:var(--font-size-base)}select.form-control{padding:var(--space-8) var(--space-12);appearance:none;background-image:var(--select-caret-light);background-repeat:no-repeat;background-position:right var(--space-12) center;padding-right:var(--space-32);background-size:16px}@media (prefers-color-scheme:dark){select.form-control{background-image:var(--select-caret-dark)}}[data-color-scheme=dark] select.form-control{background-image:var(--select-caret-dark)}[data-color-scheme=light] select.form-control{background-image:var(--select-caret-light)}.form-control:focus{border-color:var(--color-primary);outline:var(--focus-outline)}.form-label{margin-bottom:var(--space-8);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);display:block}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal) var(--ease-standard);overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card__body{padding:var(--space-16)}.card__header,.card__footer{padding:var(--space-16);border-bottom:1px solid var(--color-card-border-inner)}.status{padding:var(--space-6) var(--space-12);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);align-items:center;display:inline-flex}.status--success{background-color:rgba(var(--color-success-rgb,33, 128, 141), var(--status-bg-opacity));color:var(--color-success);border:1px solid rgba(var(--color-success-rgb,33, 128, 141), var(--status-border-opacity))}.status--error{background-color:rgba(var(--color-error-rgb,192, 21, 47), var(--status-bg-opacity));color:var(--color-error);border:1px solid rgba(var(--color-error-rgb,192, 21, 47), var(--status-border-opacity))}.status--warning{background-color:rgba(var(--color-warning-rgb,168, 75, 47), var(--status-bg-opacity));color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb,168, 75, 47), var(--status-border-opacity))}.status--info{background-color:rgba(var(--color-info-rgb,98, 108, 113), var(--status-bg-opacity));color:var(--color-info);border:1px solid rgba(var(--color-info-rgb,98, 108, 113), var(--status-border-opacity))}.container{width:100%;padding-right:var(--space-16);padding-left:var(--space-16);margin-left:auto;margin-right:auto}@media (width>=640px){.container{max-width:var(--container-sm)}}@media (width>=768px){.container{max-width:var(--container-md)}}@media (width>=1024px){.container{max-width:var(--container-lg)}}@media (width>=1280px){.container{max-width:var(--container-xl)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.gap-8{gap:var(--space-8)}.gap-16{gap:var(--space-16)}.m-0{margin:0}.mt-8{margin-top:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-0{padding:0}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.px-16{padding-left:var(--space-16);padding-right:var(--space-16)}.block{display:block}.hidden{display:none}:focus-visible{outline:var(--focus-outline);outline-offset:2px}[data-color-scheme=dark] .btn--outline{border:1px solid var(--color-border-secondary)}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Regular.woff2)format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Medium.woff2)format("woff2");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Semibold.woff2)format("woff2");font-weight:600;font-display:swap;font-style:normal}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Bold.woff2)format("woff2");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Regular.woff2)format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Medium.woff2)format("woff2");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Bold.woff2)format("woff2");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Italic.woff2)format("woff2");font-weight:400;font-display:swap;font-style:italic}*{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:var(--line-height-normal);color:#ffffffe6;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#0a0a0a;overflow-x:clip}body{background:#0a0a0a;overflow-x:clip}#root{z-index:1;position:relative}.perspective-container{transform-style:preserve-3d;perspective:1200px}.section-3d{transform-style:preserve-3d;padding:100px 0;position:relative}.section-3d:before{display:none}.glass-card-3d{-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);color:#ffffffe6;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 16px 40px #0003}.glass-card-3d:hover{border-color:#ffffff2e;transform:translateY(-8px)translateZ(18px)rotateX(1deg);box-shadow:0 24px 56px #0000004d}.glass-card-3d:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000,#ffffff14,#0000);width:100%;height:100%;transition:left .8s;position:absolute;top:0;left:-100%}.glass-card-3d:hover:before{left:100%}.glass-button-3d{-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);color:#ffffffd9;letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,#ffffff40,#ffffff0d);border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:600;transition:all .35s cubic-bezier(.23,1,.32,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 0 12px #ffffff40,0 8px 25px #0891b22e}.glass-button-3d span{z-index:2;position:relative}.glass-button-3d i{color:#0891b2;background:#0891b22e;border-radius:50%;padding:8px;font-size:1rem;box-shadow:inset 0 0 6px #ffffff4d}.glass-button-3d:before{content:"";z-index:1;background:linear-gradient(120deg,#0000,#ffffff80,#0000);width:200%;height:200%;transition:transform .6s;position:absolute;top:-50%;left:-50%;transform:rotate(25deg)translate(-100%)}.glass-button-3d.btn-primary{color:#fff;text-shadow:0 1px 3px #0000004d;background:linear-gradient(135deg,#0891b2cc,#06b6d4b3);border:1px solid #0891b280}.glass-button-3d.btn-primary:hover{background:linear-gradient(135deg,#06b6d4e6,#881337e6)}.glass-button-3d.btn-secondary{color:#fffc;background:#ffffff0f;border:1px solid #ffffff26}.glass-button-3d.btn-secondary:hover{color:#06b6d4;background:#ffffff1f}.glass-surface{justify-content:center;align-items:center;transition:opacity .26s ease-out;display:flex;position:relative;overflow:hidden}.glass-surface__filter{pointer-events:none;opacity:0;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.glass-surface__content{border-radius:inherit;z-index:1;justify-content:center;align-items:center;width:100%;height:100%;padding:.5rem;display:flex;position:relative}.glass-surface--svg{background: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:inset 0 0 2px 1px oklch(100% 5.96046e-8 none/.35),inset 0 0 10px 4px oklch(100% 5.96046e-8 none/.15),0 4px 16px #11111a0d,0 8px 24px #11111a0d,0 16px 56px #11111a0d,inset 0 4px 16px #11111a0d,inset 0 8px 24px #11111a0d,inset 0 16px 56px #11111a0d}.glass-surface--fallback{-webkit-backdrop-filter:blur(16px)saturate(1.8)brightness(1.1);background:#0a0a0ea6;border:1px solid #ffffff1f;box-shadow:inset 0 1px #ffffff26,inset 0 -1px #ffffff14}.glass-surface:focus-visible{outline-offset:2px;outline:2px solid #0a84ff}.nav{z-index:9999;width:calc(100% - 32px);max-width:860px;margin:0 auto;position:fixed;top:16px;left:0;right:0}.nav-glass{width:100%!important;height:auto!important}.nav-container{justify-content:space-between;align-items:center;width:100%;height:48px;padding:0 8px 0 16px;display:flex}.nav-logo .brand{align-items:center;gap:12px;display:flex}.brand-logo{object-fit:contain;filter:brightness(0)invert();width:auto;height:64px;transition:opacity .25s;display:block}.brand-logo:hover{opacity:.8}.nav-menu{gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:#ffffffb3;letter-spacing:-.01em;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .25s}.nav-link:hover{color:#fff;background:#ffffff1a}.nav-link.active{color:#fff;background:#ffffff1f}.floating-element{transform-style:preserve-3d;animation:8s ease-in-out infinite float3D}.floating-icon{animation:6s ease-in-out infinite floatIcon}.floating-text{animation:9s ease-in-out infinite floatText}@keyframes float3D{0%,to{transform:translateY(0)translateZ(0)rotateY(0)}25%{transform:translateY(-10px)translateZ(8px)rotateY(1deg)}50%{transform:translateY(0)translateZ(15px)rotateY(0)}75%{transform:translateY(10px)translateZ(8px)rotateY(-1deg)}}@keyframes floatIcon{0%,to{transform:translateY(0)rotate(0)scale(1)}50%{transform:translateY(-12px)rotate(8deg)scale(1.05)}}@keyframes floatText{0%,to{transform:translate(0)translateY(0)}25%{transform:translate(3px)translateY(-6px)}75%{transform:translate(-3px)translateY(6px)}}.tilt-element{transform-style:preserve-3d;transition:all .4s cubic-bezier(.23,1,.32,1)}.tilt-card{transform-style:preserve-3d;transition:all .5s cubic-bezier(.23,1,.32,1)}.hover-lift{transform-style:preserve-3d;transition:all .4s cubic-bezier(.23,1,.32,1)}.hover-lift:hover{transform:translateY(-8px)translateZ(25px)rotateX(3deg)}.hover-rotate{transform-style:preserve-3d;transition:all .5s cubic-bezier(.23,1,.32,1)}.hover-rotate:hover{transform:translateY(-6px)translateZ(20px)rotateY(4deg)rotateX(2deg)}.hover-rotate-y{transform-style:preserve-3d;transition:all .5s cubic-bezier(.23,1,.32,1)}.hover-rotate-y:hover{transform:translateY(-8px)translateZ(30px)rotateY(6deg)}.hero-3d{min-height:100dvh;transform-style:preserve-3d;perspective:1500px;padding-top:calc(var(--nav-h) + 24px);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-overlay{display:none}.hero-content{text-align:center;z-index:2;max-width:860px;margin:0 auto;padding:60px 24px;position:relative}.hero-badge{letter-spacing:.04em;color:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:999px;margin-bottom:32px;padding:8px 20px;font-size:14px;font-weight:600;display:inline-block}.avatar-placeholder-3d{color:#fff;width:clamp(120px,20vw,160px);height:clamp(120px,20vw,160px);transform-style:preserve-3d;background:linear-gradient(135deg,#0891b2 0%,#06b6d4 100%);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 40px;font-size:clamp(40px,8vw,60px);transition:all .5s cubic-bezier(.23,1,.32,1);animation:5s ease-in-out infinite alternate avatarGlow;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0891b24d,0 8px 30px #06b6d433,inset 0 1px #ffffff4d}.nav.scrolled{z-index:9999;background:#0a0a0ebf;border:1px solid #ffffff14;border-radius:0;width:100%;max-width:100%;padding:8px 0;top:0;box-shadow:0 10px 40px #0003,inset 0 1px #ffffff0d}@keyframes avatarGlow{0%{box-shadow:0 20px 60px #0891b24d,0 8px 30px #06b6d433,inset 0 1px #ffffff4d}to{box-shadow:0 25px 80px #0891b266,0 12px 40px #06b6d44d,inset 0 1px #fff6}}.avatar-placeholder-3d:before{content:"";background:linear-gradient(45deg,#0000,#ffffff4d,#0000);width:200%;height:200%;animation:4s infinite shimmer3D;position:absolute;top:-50%;left:-50%}@keyframes shimmer3D{0%{transform:translate(-100%)translateY(-100%)rotate(45deg)}to{transform:translate(100%)translateY(100%)rotate(45deg)}}.hero-title{font-family:var(--font-family-display);letter-spacing:-.03em;color:#fff;margin-bottom:24px;font-size:clamp(40px,6vw,72px);font-weight:700;line-height:1.1}.hero-title-accent{font-family:var(--font-family-base);background:linear-gradient(135deg,#fff 0%,#ffffffb3 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:400}.em{font-family:var(--font-family-base);color:inherit;font-style:italic;font-weight:400}.hero-subtitle{color:#ffffffa6;max-width:540px;margin-bottom:48px;margin-left:auto;margin-right:auto;font-size:clamp(16px,2.2vw,20px);font-weight:400;line-height:1.6}.typewriter-text{color:#ffffff80;font-size:20px;font-weight:var(--font-weight-normal);letter-spacing:.02em;margin-bottom:40px}.hero-cta{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.hero-btn{letter-spacing:.01em;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:14px 32px;font-size:15px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.23,1,.32,1);display:inline-flex}.hero-btn-primary{color:#0a0a0a;background:#fff;border:none;box-shadow:0 4px 24px #ffffff26}.hero-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px #ffffff40}.hero-btn-secondary{color:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:0 0;border:1px solid #ffffff40}.hero-btn-secondary:hover{background:#ffffff1a;border-color:#fff6;transform:translateY(-2px)}.scroll-indicator-3d{bottom:max(40px, calc(env(safe-area-inset-bottom) + 16px));cursor:pointer;z-index:3;color:inherit;background:0 0;border:none;padding:0;position:absolute;left:50%;transform:translate(-50%)}.scroll-arrow-3d{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#ffffffb3;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;transition:all .3s;animation:3s infinite bounce3D;display:flex}.scroll-arrow-3d:hover{color:#fff;background:#fff3;transform:scale(1.1)}@keyframes bounce3D{0%,20%,50%,80%,to{transform:translateY(0)translateZ(0)}40%{transform:translateY(-15px)translateZ(8px)}60%{transform:translateY(-8px)translateZ(4px)}}.section-title{font-family:var(--font-family-display);transform-style:preserve-3d;letter-spacing:-.02em;color:#ffffffe6;justify-content:center;align-items:center;gap:16px;margin-bottom:20px;font-size:clamp(36px,4vw,48px);font-weight:600;display:flex;position:relative}.section-title i{color:#0891b2;font-size:.8em}.title-3d:after{content:"";background:linear-gradient(90deg,#0891b2,#06b6d4);border-radius:4px;width:100px;height:4px;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)translateZ(5px);box-shadow:0 2px 8px #0891b24d}.section-subtitle{text-align:center;color:var(--color-slate-500);font-size:18px;font-weight:var(--font-weight-normal);letter-spacing:-.01em;max-width:600px;margin:0 auto;line-height:1.6}.section-header{text-align:center;margin-bottom:80px;padding:40px}section[id]{scroll-margin-top:calc(var(--nav-h) + 20px)}.about-content{max-width:1000px;transform-style:preserve-3d;margin:0 auto}.about-grid{grid-template-columns:minmax(280px,360px) 1fr;align-items:stretch;gap:40px;display:grid}.about-photo{justify-content:center;display:flex}.about-photo .avatar-canvas{height:100%!important}.about-photo .avatar-canvas__viewport,.about-photo .avatar-canvas__skeleton,.about-photo .avatar-canvas__fallback{flex:1;height:100%}.about-rotating-wrapper{min-height:36px;font-size:clamp(16px,3vw,22px);font-weight:var(--font-weight-semibold);color:var(--color-cyan-300);justify-content:center;display:flex}.about-rotating-text{font-size:inherit;font-weight:inherit;color:inherit}.about-header{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none}@property --border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.about-text-card{background:linear-gradient(to bottom, #0a0a0ee6, #101016f2) padding-box, conic-gradient(from var(--border-angle), #64748b4d 80%, #6366f1 86%, #818cf8 90%, #6366f1 94%, #64748b4d) border-box;border:1px solid #0000;border-radius:20px;flex-direction:column;justify-content:center;animation:4s linear infinite border-rotate;display:flex}@keyframes border-rotate{to{--border-angle:360deg}}.about-text{padding:20px 28px}.about-intro h3{background:linear-gradient(135deg,#0891b2,#06b6d4);-webkit-text-fill-color:transparent;font-size:24px;font-weight:var(--font-weight-bold);letter-spacing:-.01em;-webkit-background-clip:text;background-clip:text;margin-top:0;margin-bottom:10px}.about-bio{color:#ffffffe0;font-size:17px;line-height:1.75;font-family:var(--font-family-display);font-weight:var(--font-weight-normal);letter-spacing:-.01em;margin-top:0;margin-bottom:16px}.about-bio:last-child{margin-bottom:0}.about-highlights{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin-top:40px;margin-left:auto;margin-right:auto;display:grid}.highlight-item{flex-direction:column;gap:16px;padding:28px 24px;display:flex}.highlight-item i{color:#06b6d4;background:#06b6d41a;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:28px;display:flex}.highlight-item h4{font-size:17px;font-weight:var(--font-weight-semibold);color:#ffffffeb;margin-bottom:4px}.highlight-item p{color:#ffffff80;font-size:14px;line-height:1.5}.services-bento-grid{grid-template-columns:repeat(2,1fr);gap:24px;max-width:1000px;margin:0 auto;display:grid}@media (width<=768px){.services-bento-grid{grid-template-columns:1fr}}.services-bento-spotlight{height:100%}.services-bento-card{flex-direction:column;height:100%;padding:36px 32px;display:flex}.services-bento-icon{-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,#8b5cf659,#06b6d459);border:1px solid #ffffff1f;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:24px;display:flex;box-shadow:0 8px 24px #06b6d426}.services-bento-icon i{color:#fff;font-size:24px}.services-bento-title{color:#fffffff2;letter-spacing:-.01em;margin-bottom:12px;font-size:clamp(20px,4vw,24px);font-weight:600}.services-bento-desc{color:#fff9;flex-grow:1;margin-bottom:24px;font-size:15px;line-height:1.6}.services-bento-features{margin:0;padding:0;list-style:none}.services-bento-features li{color:#ffffffb3;border-top:1px solid #ffffff0f;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.services-bento-features li:first-child{border-top:none;padding-top:0}.services-bento-features svg{color:var(--color-cyan-400,#22d3ee);flex-shrink:0}section#skills.skills-horizontal{opacity:1;visibility:visible;height:600vh;padding:0;transition:none;position:relative;transform:none}.skills-sticky{width:100%;height:100vh;position:sticky;top:0;overflow:hidden}.skills-track{height:100%;display:flex}.skills-panel{justify-content:center;align-items:center;min-width:100vw;height:100%;display:flex}.skills-panel--header{background:radial-gradient(60% 50% at 50% 40%,#0891b214 0%,#0000 70%)}.skills-panel-header-content{text-align:center;padding:48px 24px}.skills-panel-header-content .section-title{margin-bottom:32px}.skills-scroll-hint{color:var(--color-slate-500);margin-top:48px;font-size:14px;animation:2s ease-in-out infinite hintBounce}.skills-scroll-hint i{margin-right:8px}@keyframes hintBounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.skills-panel-content{width:100%;max-width:880px;padding:32px}.skills-stats{justify-content:center;align-items:center;gap:clamp(24px,4vw,48px);margin-top:16px;display:flex}.skills-stat{flex-direction:column;align-items:center;display:flex}.skills-stat-number{color:#06b6d4;font-variant-numeric:tabular-nums;font-size:clamp(26px,4.5vw,36px);font-weight:700}.skills-stat-label{color:var(--color-slate-500);font-size:14px}.skills-spotlight-card{height:100%}.skills-card{padding:clamp(20px,4vw,48px)}.skills-card-header{align-items:center;gap:24px;margin-bottom:20px;display:flex}.skills-card-icon{-webkit-backdrop-filter:blur(12px);color:#fff;background:linear-gradient(135deg,#8b5cf659,#06b6d459);border:1px solid #ffffff1f;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:30px;display:flex;box-shadow:0 10px 30px #0891b233}.skills-card h3{color:#fffffff2;font-size:clamp(22px,4vw,30px);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.skills-card-desc{color:var(--color-slate-500);margin-bottom:32px;font-size:16px;line-height:1.7}.skills-logo-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px;display:grid}.skill-logo-item{cursor:default;background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:20px 12px;transition:background .3s,border-color .3s,transform .3s;display:flex}.skill-logo-item:hover{border-color:color-mix(in srgb, var(--brand-color) 40%, transparent);background:#ffffff0f;transform:translateY(-4px)}.skill-logo-icon{color:#ffffff80;justify-content:center;align-items:center;font-size:36px;line-height:1;transition:color .3s,filter .3s;display:flex}.skill-logo-item:hover .skill-logo-icon{color:var(--brand-color);filter:drop-shadow(0 0 12px color-mix(in srgb, var(--brand-color) 50%, transparent))}.skill-logo-name{color:#ffffff80;text-align:center;letter-spacing:.02em;white-space:nowrap;font-size:13px;font-weight:500;transition:color .3s}.skill-logo-item:hover .skill-logo-name{color:#ffffffe6}.scroll-marquee{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;contain:layout style paint;flex-direction:column;gap:20px;width:100%;padding:40px 0;display:flex;position:relative;overflow:hidden}.marquee-row{will-change:transform;backface-visibility:hidden;width:max-content;display:flex}.marquee-content{white-space:nowrap;backface-visibility:hidden;flex-shrink:0;align-items:center;display:flex}.marquee-item{text-transform:uppercase;letter-spacing:.03em;color:#ffffff1f;align-items:center;font-size:clamp(2.8rem,6vw,5.5rem);font-weight:800;line-height:1;display:inline-flex}.marquee-item:nth-child(6n+1){font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700}.marquee-item:nth-child(6n+2){font-family:var(--font-sans,system-ui, sans-serif);letter-spacing:-.03em;font-weight:900}.marquee-item:nth-child(6n+3){letter-spacing:.06em;font-family:Courier New,Courier,monospace;font-weight:700}.marquee-item:nth-child(6n+4){font-family:var(--font-sans,system-ui, sans-serif);letter-spacing:.08em;font-style:italic;font-weight:300}.marquee-item:nth-child(6n+5){letter-spacing:-.02em;font-family:Georgia,Times New Roman,serif;font-weight:900}.marquee-item:nth-child(6n+6){font-family:var(--font-mono,monospace);text-transform:lowercase;font-weight:700}.marquee-sep{color:#ffffff0f;font-size:clamp(2rem,4vw,4rem);font-weight:300}.marquee-icon{color:#ffffff1f;vertical-align:middle;font-size:clamp(2.4rem,5vw,4.5rem)}@keyframes marquee-scroll{0%{transform:translate(0,0)}to{transform:translate(-33.333%)}}@media (width<=768px){.scroll-marquee{gap:14px;padding:24px 0}.marquee-item{font-size:2rem}.marquee-icon{font-size:1.8rem}.marquee-css-anim{will-change:transform;animation:25s linear infinite marquee-scroll}.marquee-css-anim.marquee-reverse{animation-direction:reverse}}.skills-header{box-shadow:none;background:0 0;border:none}.skills-grid-mobile{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1200px;margin:0 auto;display:grid}.icon-spin{animation:1s linear infinite iconSpin}@keyframes iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.projects-header{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none}.projects-showcase{max-width:1100px;margin:0 auto 48px}.projects-card-spotlight{width:100%}.projects-card{grid-template-columns:1fr 1fr;gap:0;min-height:420px;display:grid}.projects-card-info{flex-direction:column;justify-content:center;padding:48px;display:flex}.projects-card-badge{color:#06b6d4;font-size:13px;font-weight:var(--font-weight-medium);background:#0891b226;border:1px solid #0891b240;border-radius:20px;align-items:center;gap:8px;width:fit-content;margin-bottom:20px;padding:6px 14px;display:inline-flex}.projects-card-badge i{font-size:12px}.projects-card-title{font-size:clamp(26px,3vw,34px);font-weight:var(--font-weight-bold);color:#fffffff2;letter-spacing:-.02em;margin-bottom:16px;line-height:1.2}.projects-card-desc{color:var(--color-slate-500);margin-bottom:24px;font-size:15px;line-height:1.7}.projects-tech-chips{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.projects-tech-chips .skill-chip{padding:8px 16px;font-size:13px}.projects-github-link{color:#ffffffd9;font-size:15px;font-weight:var(--font-weight-medium);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;align-items:center;gap:10px;width:fit-content;padding:12px 24px;text-decoration:none;transition:all .3s cubic-bezier(.23,1,.32,1);display:inline-flex}.projects-github-link:hover{color:#06b6d4;background:#0891b226;border-color:#0891b259;transform:translate(4px)}.projects-github-link svg:first-child{flex-shrink:0}.projects-github-arrow{font-size:12px;transition:transform .3s}.projects-github-link:hover .projects-github-arrow{transform:translate(4px)}.projects-card-image{background:#ffffff05;border-radius:0 16px 16px 0;justify-content:center;align-items:center;padding:32px;display:flex;position:relative;overflow:hidden}.projects-card-image img{border:1px solid #ffffff14;border-radius:12px;width:100%;height:auto;box-shadow:0 20px 60px #0006}.projects-metrics{justify-content:center;gap:clamp(32px,5vw,64px);max-width:900px;margin-bottom:48px;margin-left:auto;margin-right:auto;display:flex}.projects-metric{text-align:center;flex-direction:column;align-items:center;display:flex}.projects-metric-value{color:#06b6d4;font-variant-numeric:tabular-nums;font-size:clamp(28px,3.5vw,40px);font-weight:700;line-height:1.2}.projects-metric-label{color:var(--color-slate-500);margin-top:4px;font-size:13px}.projects-features{grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:0 auto 48px;display:grid}.projects-feature-spotlight{height:100%}.projects-feature{padding:32px 28px}.projects-feature-icon{-webkit-backdrop-filter:blur(12px);color:#fff;background:linear-gradient(135deg,#8b5cf659,#06b6d459);border:1px solid #ffffff1f;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;font-size:20px;display:flex;box-shadow:0 8px 24px #0891b233}.projects-feature h4{font-size:17px;font-weight:var(--font-weight-semibold);color:#ffffffeb;margin-bottom:8px}.projects-feature p{color:var(--color-slate-500);font-size:14px;line-height:1.6}.projects-gradcam{background:#0a0a0e99;border:1px solid #ffffff14;border-radius:16px;max-width:900px;margin:0 auto;overflow:hidden}.projects-gradcam-label{color:var(--color-slate-500);border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;padding:16px 24px;font-size:14px;display:flex}.projects-gradcam-label i{color:#06b6d4;font-size:16px}.projects-gradcam img{width:100%;height:auto;display:block}@media (width<=768px){.projects-card{grid-template-columns:1fr;min-height:auto}.projects-card-info{padding:28px}.projects-card-image{border-radius:0 0 16px 16px;padding:20px}.projects-features{grid-template-columns:1fr;gap:16px}.projects-metrics{flex-wrap:wrap;gap:24px}.projects-metric{min-width:120px}.projects-feature{padding:24px}.projects-gradcam-label{padding:12px 16px;font-size:13px}}.contact-grid{grid-template-columns:1fr 1.15fr;align-items:start;gap:60px;margin-top:60px;display:grid}.contact-info-col{padding-top:20px}.contact-info-title{color:#ffffffe6;font-size:28px;font-weight:var(--font-weight-semibold);letter-spacing:-.01em;margin-bottom:16px}.contact-description{color:var(--color-slate-500);margin-bottom:40px;font-size:16px;line-height:1.7}.contact-details{flex-direction:column;gap:16px;display:flex}.contact-item-3d{-webkit-backdrop-filter:blur(12px);transform-style:preserve-3d;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;align-items:center;gap:20px;padding:18px 20px;transition:all .4s cubic-bezier(.23,1,.32,1);display:flex}.contact-item-3d:hover{background:#ffffff14;border-color:#8b5cf640;transform:translate(8px)translateZ(10px);box-shadow:0 8px 25px #0003}.contact-icon{-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,#8b5cf659,#06b6d459);border:1px solid #ffffff1f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:all .4s cubic-bezier(.23,1,.32,1);display:flex}.contact-item-3d:hover .contact-icon{box-shadow:0 4px 16px #0891b266}.contact-icon i{color:#fff;font-size:18px}.contact-item-3d h4{font-size:15px;font-weight:var(--font-weight-semibold);color:#ffffffe6;margin-bottom:4px}.contact-item-3d p{color:var(--color-slate-500);margin:0;font-size:14px}.contact-form-spotlight{-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);background:#0a0a0ed9}.contact-form{padding:40px}.form-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.form-group{margin-bottom:20px}.form-group label{font-weight:var(--font-weight-medium);color:#ffffffe6;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.form-group label i{color:#0891b2;font-size:14px}.form-input-3d{color:#ffffffe6;width:100%;transform-style:preserve-3d;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;padding:14px 18px;font-family:inherit;font-size:16px;transition:all .4s cubic-bezier(.23,1,.32,1)}.form-input-3d:focus{background:#ffffff1a;border-color:#0891b2;outline:none;transform:translateY(-2px)translateZ(8px);box-shadow:0 10px 30px #0891b226}.form-input-3d::placeholder{color:#ffffff4d}textarea.form-input-3d{resize:vertical;min-height:120px}.form-submit{width:100%;margin-top:12px}.contact-submit{-webkit-backdrop-filter:blur(12px);color:#fff;letter-spacing:.01em;cursor:pointer;background:linear-gradient(135deg,#8b5cf673,#06b6d473);border:1px solid #ffffff26;border-radius:14px;justify-content:center;align-items:center;gap:12px;width:100%;margin-top:8px;padding:16px 32px;font-family:inherit;font-size:16px;font-weight:600;transition:all .35s cubic-bezier(.23,1,.32,1);display:flex;position:relative;overflow:hidden}.contact-submit:hover{background:linear-gradient(135deg,#8b5cf699,#06b6d499);border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 12px 32px #8b5cf640,0 4px 16px #06b6d433}.contact-submit:active{transform:translateY(0);box-shadow:0 4px 12px #0891b240}.contact-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.contact-submit i{font-size:14px;transition:transform .3s cubic-bezier(.23,1,.32,1)}.contact-submit:hover i{transform:translate(4px)}@media (width<=1024px){.contact-grid{gap:32px}}@media (width<=968px){.contact-grid{grid-template-columns:1fr;gap:40px}.contact-info-col{padding-top:0}}@media (width<=768px){.contact-form{padding:28px}}@media (width<=480px){.contact-form{padding:20px}.contact-info-title{font-size:24px}.contact-description{font-size:15px}}.footer-reveal{background:linear-gradient(#0000 0%,#0a0a0e 50%);justify-content:center;align-items:center;padding:80px 40px;display:flex;position:relative;overflow:clip}.footer-reveal-inner{flex-direction:column;gap:0;width:100%;max-width:1400px;display:flex}.footer-top-row{border-bottom:1px solid #06b6d426;justify-content:space-between;align-items:center;padding-bottom:24px;display:flex}.footer-social-links{gap:20px;display:flex}.footer-social-link{color:#fff6;align-items:center;font-size:18px;text-decoration:none;transition:color .3s;display:flex}.footer-social-link:hover{color:#06b6d4}.footer-copyright{color:#ffffff4d;font-size:14px}.footer-brand-text{font-family:var(--font-family-display);color:#f5f5f0;letter-spacing:-.02em;white-space:nowrap;text-align:center;cursor:pointer;box-sizing:border-box;width:100vw;margin-left:calc(50% - 50vw);padding:40px 0;font-size:clamp(32px,9.5vw,180px);font-weight:700;line-height:.85;transition:all .4s cubic-bezier(.16,1,.3,1)}.footer-brand-text:hover{-webkit-text-stroke:2px #06b6d4;color:#0000}.footer-bottom-row{border-top:1px solid #06b6d426;justify-content:space-between;align-items:center;padding-top:24px;display:flex}.footer-bottom-email{color:#fff6;font-size:14px;text-decoration:none;transition:color .3s}.footer-bottom-email:hover{color:#06b6d4}.footer-bottom-role{color:#ffffff4d;font-size:14px}@media (width<=768px){.footer-reveal{padding:48px 20px}.footer-brand-text{font-size:clamp(48px,22vw,160px)}.footer-top-row,.footer-bottom-row{text-align:center;flex-direction:column;gap:12px}}.hamburger{cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:44px;min-height:44px;padding:10px;transition:all .3s;display:none}.hamburger:hover{background:#ffffff2e}.hamburger span{background:#fffc;border-radius:2px;width:22px;height:2px;transition:all .3s cubic-bezier(.23,1,.32,1)}@media (width<=768px){:root{--nav-h:0px}.nav{display:none}.hero-content{padding:40px 20px}.hero-cta{flex-direction:column;align-items:center;gap:16px}.section-3d{transform-style:flat;padding:72px 0}.perspective-container{transform-style:flat;perspective:none}.section-header{margin-bottom:60px;padding:30px 20px}.about-grid{grid-template-columns:1fr;gap:32px}.about-photo{order:-1}.about-highlights{grid-template-columns:repeat(2,1fr);gap:20px}.skills-grid-mobile,.form-row{grid-template-columns:1fr}.footer-content{text-align:center;flex-direction:column;gap:30px}.about-text{padding:24px 20px}.glass-card-3d:hover{transform:translateY(-6px)translateZ(15px)}.hover-lift:hover{transform:translateY(-6px)translateZ(16px)rotateX(2deg)}.hover-rotate:hover,.hover-rotate-y:hover{transform:translateY(-6px)translateZ(20px)rotateY(4deg)}}@media (width<=480px){.hero-content,.section-header,.glass-card-3d{padding:20px}.hero-title{font-size:36px}.section-title{font-size:28px}.skills-stat-label{font-size:12px}.nav-container{padding:4px 16px}.about-highlights{grid-template-columns:1fr}.footer-brand-text{white-space:normal;word-break:break-word;font-size:clamp(28px,16vw,80px)}.floating-element,.floating-icon,.floating-text{animation:none}}.glass-card-3d,.glass-button-3d,.hover-lift,.hover-rotate,.hover-rotate-y,.tilt-card{will-change:transform;backface-visibility:hidden;transform:translateZ(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.floating-element,.floating-icon,.floating-text{animation:none}.skill-chip{transition:none}.skills-scroll-hint{animation:none}}@media (hover:none) and (pointer:coarse){.glass-card-3d:hover,.hover-lift:hover,.hover-rotate:hover,.hover-rotate-y:hover{transform:none}.contact-item-3d:hover{box-shadow:none;background:#ffffff0a;border-color:#ffffff0f;transform:none}.contact-submit:hover{box-shadow:none;transform:none}.footer-brand-text:hover{-webkit-text-stroke:unset;color:#f5f5f0}}section[id]{opacity:0;visibility:hidden;transition:opacity .42s var(--ease-standard), transform .42s var(--ease-standard), visibility 0s linear .42s;transform:translateY(40px)}section[id].is-visible{opacity:1;visibility:visible;transition:opacity .42s var(--ease-standard), transform .42s var(--ease-standard), visibility 0s;transform:translateY(0)}section[id].is-visible .highlight-item,section[id].is-visible .contact-item-3d{animation:.6s cubic-bezier(.23,1,.32,1) both slideInUp3D}@media (prefers-reduced-motion:reduce){section[id]{opacity:1!important;visibility:visible!important;transition:none!important;transform:none!important}}@keyframes slideInUp3D{0%{opacity:0;transform:translateY(60px)translateZ(-30px)rotateX(15deg)}to{opacity:1;transform:translateY(0)translateZ(0)rotateX(0)}}@keyframes heroEntrance{0%{opacity:0;transform:translateY(40px)translateZ(-40px)rotateX(20deg)scale(.95)}to{opacity:1;transform:translateY(0)translateZ(0)rotateX(0)scale(1)}}@keyframes successPulse{0%{transform:scale(1)}50%{background-color:#0891b2;transform:scale(1.05)translateZ(20px)}to{transform:scale(1)translateZ(0)}}@keyframes fadeInComplete{0%{opacity:.8}to{opacity:1}}.animate-in{opacity:1;transform:translateY(0)translateZ(0)}body:not(.loaded) .glass-card-3d{opacity:0;transform:translateY(40px)translateZ(-30px)}body.loaded .glass-card-3d{opacity:1;transition:all 1s cubic-bezier(.23,1,.32,1);transform:translateY(0)translateZ(0)}.form-input-3d.error{background:#c0152f1a;border-color:#c0152f;box-shadow:0 0 0 3px #c0152f1a}.field-error{color:#c0152f;margin-top:6px;font-size:12px;animation:.3s ease-out slideInUp3D;display:block}.form-status{text-align:center;opacity:0;border-radius:12px;margin-top:24px;padding:16px 20px;font-weight:500;transition:all .4s cubic-bezier(.23,1,.32,1);transform:translateY(-15px)}.form-status.success{color:#0891b2;background:#0891b21a;border:1px solid #0891b24d}.form-status.error{color:#c0152f;background:#c0152f1a;border:1px solid #c0152f4d}.contact-icon{transition:all .4s cubic-bezier(.23,1,.32,1)}.floating-icon i{transition:all .3s}
