:root{--color-background:#fcfcf9;--color-surface:#fffffd;--color-text:#13343b;--color-text-secondary:#626c71;--color-primary:#21808d;--color-primary-hover:#1d7480;--color-primary-active:#1a6873;--color-secondary:#5e52401f;--color-secondary-hover:#5e524033;--color-secondary-active:#5e524040;--color-border:#5e524033;--color-btn-primary-text:#fcfcf9;--color-card-border:#5e52401f;--color-card-border-inner:#5e52401f;--color-error:#c0152f;--color-success:#21808d;--color-warning:#a84b2f;--color-info:#626c71;--color-focus-ring:#21808d66;--color-select-caret:#13343bcc;--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:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono:"Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs:.6875rem;--font-size-sm:.75rem;--font-size-base:.875rem;--font-size-md:.875rem;--font-size-lg:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.25rem;--font-size-3xl:1.5rem;--font-size-4xl:clamp(1.5rem, 5vw, 1.875rem);--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:.0625rem;--space-2:.125rem;--space-4:.25rem;--space-6:.375rem;--space-8:.5rem;--space-10:.625rem;--space-12:.75rem;--space-16:1rem;--space-20:1.25rem;--space-24:1.5rem;--space-32:2rem;--radius-sm:.375rem;--radius-base:.5rem;--radius-md:.625rem;--radius-lg:.75rem;--radius-full:999rem;--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:40rem;--container-md:48rem;--container-lg:64rem;--container-xl:80rem;--navbar-height:4.375rem;--section-padding:6.25rem;--section-padding-mobile:3.75rem;--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-dark-primary:#0a0a0a;--color-dark-secondary:#1a1a2e;--color-electric-blue:#00d4ff;--color-electric-blue-hover:#06c;--color-accent-teal:#14b8a6;--animation-speed:.3s;--animation-curve:cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme:dark){:root:not([data-color-scheme=light]){--color-background:var(--color-dark-primary);--color-surface:var(--color-dark-secondary);--color-primary:var(--color-electric-blue);--color-primary-hover:var(--color-electric-blue-hover)}}html,body{max-width:100vw;overflow-x:hidden}[data-color-scheme=dark]{--color-background:var(--color-dark-primary);--color-surface:var(--color-dark-secondary);--color-primary:var(--color-electric-blue);--color-primary-hover:var(--color-electric-blue-hover);--color-text:#f5f5f5;--color-text-secondary:#a7a9a9b3;--color-primary-active:#2996a1;--color-secondary:#777c7c26;--color-secondary-hover:#777c7c40;--color-secondary-active:#777c7c4d;--color-border:#777c7c4d;--color-error:#ff5459;--color-success:#32b8c6;--color-warning:#e68161;--color-info:#a7a9a9;--color-focus-ring:#32b8c666;--color-btn-primary-text:#13343b;--color-card-border:#777c7c33;--color-card-border-inner:#777c7c26;--color-border-secondary:#777c7c33;--color-select-caret:#f5f5f5cc;--shadow-inset-sm:inset 0 1px 0 #ffffff1a, inset 0 -1px 0 #00000026;--color-success-rgb:50, 184, 198;--color-error-rgb:255, 84, 89;--color-warning-rgb:230, 129, 97;--color-info-rgb:167, 169, 169}html{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;box-sizing:border-box;scroll-behavior:smooth}body{margin:0;padding:0}*,:before,:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);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{padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-size:var(--font-size-base);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:none;justify-content:center;align-items:center;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex;position:relative}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn--primary:hover{background:var(--color-primary-hover)}.btn--primary:active{background:var(--color-primary-active)}.btn--secondary{background:var(--color-secondary);color:var(--color-text)}.btn--secondary:hover{background:var(--color-secondary-hover)}.btn--secondary:active{background:var(--color-secondary-active)}.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{-webkit-appearance:none;-moz-appearance:none;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}[data-color-scheme=dark] select.form-control{background-image:var(--select-caret-dark)}.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}.form-group{margin-bottom:var(--space-16)}.card-base{border-radius:var(--radius-lg);background:#ffffff0d;border:1px solid #ffffff1a;transition:transform .3s,background .3s,border-color .3s}.card-base:hover{border-color:var(--color-electric-blue);background:#ffffff14}.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), var(--status-bg-opacity));color:var(--color-success);border:1px solid rgba(var(--color-success-rgb), var(--status-border-opacity))}.status--error{background-color:rgba(var(--color-error-rgb), var(--status-bg-opacity));color:var(--color-error);border:1px solid rgba(var(--color-error-rgb), var(--status-border-opacity))}.status--warning{background-color:rgba(var(--color-warning-rgb), var(--status-bg-opacity));color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb), var(--status-border-opacity))}.status--info{background-color:rgba(var(--color-info-rgb), var(--status-bg-opacity));color:var(--color-info);border:1px solid rgba(var(--color-info-rgb), var(--status-border-opacity))}.container{width:100%;padding:0 var(--space-16);margin:0 auto}@media (min-width:40rem){.container{max-width:var(--container-sm)}}@media (min-width:48rem){.container{max-width:var(--container-md)}}@media (min-width:64rem){.container{max-width:var(--container-lg)}}@media (min-width:80rem){.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)}.p-0{padding:0}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.block{display:block}.hidden{display:none}.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}:focus-visible{outline:var(--focus-outline);outline-offset:2px}.loading-screen{background:linear-gradient(135deg, var(--color-dark-primary) 0%, var(--color-dark-secondary) 100%);z-index:10000;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .5s ease-out,visibility .5s ease-out;display:flex;position:fixed;top:0;left:0}.loading-screen.hidden{opacity:0;visibility:hidden}.loading-animation{gap:var(--space-10);display:flex}.loading-dot{background:var(--color-electric-blue);border-radius:50%;width:.75rem;height:.75rem;animation:1.4s ease-in-out infinite both loadingPulse}.loading-dot:first-child{animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes loadingPulse{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.navbar{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1000;width:100%;transition:background-color .4s var(--ease-standard), backdrop-filter .4s var(--ease-standard), box-shadow .4s var(--ease-standard);background-color:#0000;position:fixed;top:0;left:0}.navbar.scrolled{-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);background-color:#0a0a0ad9;box-shadow:0 .375rem 3.125rem #f5f5f51a}.navbar:after{content:"";background:radial-gradient(ellipse var(--glow-size,50px 5px) at var(--glow-position-x,50%) 50%, var(--glow-color,#14b8a680) 0%, transparent 80%);width:100%;height:2px;opacity:var(--glow-opacity,0);transition:opacity .5s ease-in-out;position:absolute;bottom:-2px;left:0}.nav-container{max-width:75rem;padding:0 var(--space-16);height:var(--navbar-height);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-brand{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);background:linear-gradient(135deg, var(--color-electric-blue) 0%, var(--color-accent-teal) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.nav-menu{gap:var(--space-32);align-items:center;display:flex;position:relative}.nav-link{color:var(--color-text);font-weight:var(--font-weight-medium);transition:all var(--animation-speed) var(--animation-curve);text-decoration:none;position:relative}.nav-link.active{color:var(--color-electric-blue)}.nav-link:hover{color:var(--color-electric-blue);transition:color .2s ease-in-out}#nav-menu:after{content:"";background:var(--color-electric-blue);height:2px;box-shadow:0 0 8px var(--color-electric-blue), 0 0 12px var(--color-accent-teal);width:var(--glow-width,0);bottom:-5px;left:var(--glow-left,0);opacity:var(--glow-opacity,0);border-radius:2px;transition:left .4s cubic-bezier(.65,0,.35,1),width .4s cubic-bezier(.65,0,.35,1),opacity .2s ease-out;position:absolute}.hamburger{cursor:pointer;gap:var(--space-4);flex-direction:column;display:none}.hamburger span{background:var(--color-text);width:1.5625rem;height:.1875rem;transition:all var(--animation-speed) var(--animation-curve)}.notification{color:#fff;padding:var(--space-16) var(--space-20);z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;max-width:350px;transition:transform .4s cubic-bezier(.25,1,.5,1);position:fixed;top:100px;right:20px;transform:translate(120%);box-shadow:0 10px 30px #0003}.notification.visible{transform:translate(0)}.notification--success{background:#14b8a6f2}.notification--error{background:#ef4444f2}.notification-content{align-items:center;gap:.9375rem;display:flex}.notification-message{flex-grow:1}.notification-close{color:#fff;font-size:var(--font-size-3xl);cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 5px;line-height:1;transition:opacity .2s}.notification-close:hover{opacity:1}.hero{background:var(--color-dark-primary);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-background{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.hero-blob-svg{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}#hero-blob-glow-path{filter:blur(70px);transform-origin:50%;will-change:transform, filter;transform:scale(1.05)}#hero-blob-path{fill:#2b2b2b47}.hero-name{font-size:max(3rem,min(8vw,6rem));font-weight:var(--font-weight-bold);margin-bottom:var(--space-16);background:linear-gradient(135deg, var(--color-text) 0%, var(--color-electric-blue) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;animation:1s ease-out .5s both fadeInUp}.hero-title{margin-bottom:var(--space-24);flex-wrap:wrap;justify-content:center;align-items:center;gap:.3125rem;min-height:5rem;font-size:max(1.5rem,min(4vw,2.5rem));display:flex}.typing-text{color:var(--color-electric-blue);font-weight:var(--font-weight-semibold)}#typing-text{transition:opacity .3s ease-out,transform .3s ease-out}#typing-text.scramble-fade-out{opacity:0;transform:translateY(10px)}.hero-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-32);animation:1s ease-out 1s both fadeInUp}.hero-subtitle .subtitle-experience,.hero-subtitle .subtitle-location{vertical-align:middle;display:inline-block}.hero-buttons{gap:var(--space-16);flex-wrap:wrap;justify-content:center;animation:1s ease-out 1.2s both fadeInUp;display:flex}.scroll-indicator{bottom:var(--space-32);z-index:2;animation:1s ease-out 1.5s both fadeInUp;position:absolute;left:50%;transform:translate(-50%)}.scroll-arrow{border:2px solid var(--color-electric-blue);border-top:none;border-left:none;width:24px;height:24px;animation:2s infinite bounce;transform:rotate(45deg)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)rotate(45deg)}40%{transform:translateY(-10px)rotate(45deg)}60%{transform:translateY(-5px)rotate(45deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-content{z-index:2;padding:0 var(--space-16);text-align:center;flex-direction:column;align-items:center;gap:2.5rem;max-width:50rem;margin:0 auto;transition:gap .4s ease-in-out;display:flex;position:relative}.hero-text{width:100%}.hero-title,.hero-buttons{justify-content:center}.neon-frame-container{flex-shrink:0;justify-content:center;align-items:center;width:15rem;height:15rem;transition:width .4s ease-in-out,height .4s ease-in-out;display:flex;position:relative}@media (max-width:30rem){.neon-frame-container{width:11.25rem;height:11.25rem}.hero-content{gap:1.25rem}}.neon-frame-image{object-fit:cover;filter:grayscale(30%);border-radius:50%;width:90%;height:90%}.neon-circle-svg{width:100%;height:100%;position:absolute;top:0;left:0;transform:rotate(-90deg)}.neon-circle{fill:none;stroke-width:2px;stroke-dasharray:308;stroke-dashoffset:308px;filter:url(#neon-glow);animation:1.5s ease-out .5s forwards draw-circle}@keyframes draw-circle{to{stroke-dashoffset:0}}@media (min-width:51.25rem){.neon-frame-container{width:18.75rem;height:18.75rem}.hero-content{gap:3.125rem}}.section{padding-block:var(--section-padding);opacity:0;transition:all .8s var(--animation-curve);position:relative;transform:translateY(3.125rem)}.section.visible{opacity:1;transform:translateY(0)}.section:nth-child(2n){background:#ffffff05}.section-header{text-align:center;margin-bottom:60px}.section-title{margin-bottom:var(--space-16);background:linear-gradient(135deg, var(--color-text) 0%, var(--color-electric-blue) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:max(2rem,min(5vw,3rem))}.section-line{background:linear-gradient(90deg, var(--color-electric-blue), var(--color-accent-teal));border-radius:2px;width:80px;height:4px;margin:0 auto}section[id]{scroll-margin-top:80px}.about-content{max-width:900px;margin:0 auto}.about-description{font-size:var(--font-size-lg);margin-bottom:var(--space-32);text-align:center;line-height:1.8}.about-highlights{gap:var(--space-24);flex-wrap:wrap;align-items:flex-start;display:flex}.highlight-item{padding:var(--space-20);border-radius:var(--radius-lg);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;flex:calc(50% - 12px);transition:transform .3s,background .3s,border-color .3s}.highlight-item:hover{border-color:var(--color-electric-blue);background:#ffffff1a;transform:translateY(-5px)}.highlight-header{align-items:center;gap:var(--space-16);display:flex}.highlight-description{opacity:0;max-height:0;margin-top:0;transition:max-height .5s ease-out,opacity .5s ease-out,margin-top .5s ease-out;overflow:hidden}.highlight-item.expanded{cursor:default;border-color:var(--color-electric-blue);transform:translateY(0);box-shadow:0 0 20px #00d4ff26}.highlight-item.expanded .highlight-description{opacity:1;max-height:200px;margin-top:var(--space-20)}.highlight-icon{font-size:2rem}.highlight-text{font-weight:var(--font-weight-medium);font-size:var(--font-size-lg)}.logo-bar-section{padding:var(--space-32) 0;background:#ffffff08}.logo-bar-wrapper{max-width:1200px;padding:0 var(--space-20);margin:0 auto}.logo-bar{flex-wrap:nowrap;justify-content:center;align-items:center;gap:40px;display:flex}.logo-bar-label{color:var(--color-text);font-weight:var(--font-weight-medium);font-size:var(--font-size-lg);text-transform:uppercase;letter-spacing:2px;flex-shrink:0;padding-bottom:10px;position:relative}.logo-bar-label:after{content:"";background:linear-gradient(to right, transparent 0%, var(--color-electric-blue) 50%, transparent 100%);width:70%;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.logo-set-container{justify-content:center;align-items:center;gap:40px;display:flex}.logo-item{position:relative}.logo-item:after{content:"";filter:blur(5px);opacity:0;background:radial-gradient(#00d4ff66 0%,#0000 80%);width:80%;height:10px;transition:opacity .5s;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)perspective(100px)rotateX(70deg)}.logo-img{opacity:.6;filter:grayscale()brightness(.7);flex-shrink:0;width:auto;max-width:150px;height:40px;transition:all .5s cubic-bezier(.4,0,.2,1);transform:scale(1)}.logo-item.active .logo-img,.logo-item:hover .logo-img{opacity:1;filter:grayscale(0)brightness()drop-shadow(0 5px 15px #00d4ff33);transform:scale(1.1)}.logo-item.active:after,.logo-item:hover:after{opacity:1}.skills-grid{gap:var(--space-32);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.skill-category{padding:var(--space-32)}.skill-category-title{font-size:var(--font-size-xl);margin-bottom:var(--space-20);color:var(--color-electric-blue)}.skill-tags .skill-tag{padding:var(--space-8) 0 var(--space-8) var(--space-20);font-size:var(--font-size-base);color:var(--color-text-secondary);transition:all var(--animation-speed) var(--animation-curve);display:block;position:relative}.skill-tags .skill-tag:before{content:"";background:var(--color-electric-blue);opacity:.4;width:4px;height:60%;transition:all var(--animation-speed) var(--animation-curve);border-radius:2px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.skill-tags .skill-tag:hover{color:var(--color-electric-blue)}.skill-tags .skill-tag:hover:before{opacity:1;height:80%;box-shadow:0 0 8px #00d4ff80}.skill-pane-container{max-height:250px;padding-right:10px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 90%,#0000 100%);mask-image:linear-gradient(#000 90%,#0000 100%)}.skill-pane-container::-webkit-scrollbar{width:5px}.skill-pane-container::-webkit-scrollbar-track{background:0 0}.skill-pane-container::-webkit-scrollbar-thumb{background:#626c7166;border-radius:10px;transition:background .2s ease-in-out}.skill-pane-container::-webkit-scrollbar-thumb:hover{background:#626c71b3}.section.visible .skill-tag{transform:translateY(0)scale(1)}.service-card:hover,.skill-category:hover{border-color:var(--color-electric-blue);transform:translateY(-5px)}.portfolio-card:hover{border-color:var(--color-electric-blue);transform:translateY(-10px);box-shadow:0 20px 40px #00d4ff1a}.services-grid{gap:var(--space-32);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));display:grid}.service-card{padding:var(--space-32);text-align:center;position:relative;overflow:hidden}.service-card:hover{box-shadow:0 20px 40px #00d4ff1a}.service-card:before{content:"";background:linear-gradient(90deg,#0000,#00d4ff1a,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.service-card:hover:before{left:100%}.service-icon{margin-bottom:var(--space-16);font-size:3rem}.service-title{font-size:var(--font-size-xl);margin-bottom:var(--space-16);color:var(--color-electric-blue)}.service-description{color:var(--color-text-secondary);line-height:1.6}#testimonials{position:relative}.testimonials-scroller{gap:var(--space-24);height:600px;display:flex}.testimonials-scroller-column{gap:var(--space-24);flex-direction:column;flex:1;display:flex;-webkit-mask-image:linear-gradient(#0000,#000 15% 85%,#0000);mask-image:linear-gradient(#0000,#000 15% 85%,#0000)}.testimonials-scroller-inner{gap:var(--space-24);animation:scroll-vertical var(--scroll-duration,100s) linear infinite;will-change:transform;flex-direction:column;display:flex}.testimonials-scroller-column:nth-child(2n) .testimonials-scroller-inner{animation-direction:reverse}.testimonials-scroller:hover .testimonials-scroller-inner{animation-play-state:paused}@keyframes scroll-vertical{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.testimonial-card{border-radius:var(--radius-lg);padding:var(--space-24);gap:var(--space-16);background:#ffffff0d;border:1px solid #ffffff1a;flex-direction:column;display:flex}.testimonial-header{align-items:center;gap:var(--space-16);display:flex}.testimonial-image{object-fit:cover;border:2px solid var(--color-electric-blue);border-radius:50%;width:50px;height:50px}.testimonial-author-info{line-height:1.3}.testimonial-author{font-weight:var(--font-weight-bold)}.testimonial-title{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.testimonial-quote{color:var(--color-text-secondary);border-left:3px solid var(--color-electric-blue);padding-left:var(--space-16);font-style:italic}.portfolio-filters{justify-content:center;gap:var(--space-16);flex-wrap:wrap;margin-bottom:60px;display:flex}.filter-btn{padding:var(--space-8) var(--space-20);color:var(--color-text-secondary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--animation-speed) var(--animation-curve);font-weight:var(--font-weight-medium);background:0 0;border:1px solid #fff3}.filter-btn:hover,.filter-btn.active{background:var(--color-electric-blue);color:var(--color-dark-primary);border-color:var(--color-electric-blue)}.portfolio-grid{gap:var(--space-32);grid-template-columns:repeat(auto-fit,minmax(400px,1fr));display:grid}.portfolio-item{transition:all var(--animation-speed) var(--animation-curve);will-change:opacity, transform}.portfolio-item.hidden{opacity:0;pointer-events:none;transform:scale(.8)}.portfolio-card{padding:var(--space-32);flex-direction:column;height:100%;display:flex}.portfolio-header{margin-bottom:var(--space-16);justify-content:space-between;align-items:flex-start;gap:var(--space-16);display:flex}.portfolio-title{font-size:var(--font-size-xl);color:var(--color-electric-blue);flex:1}.portfolio-category{padding:var(--space-4) var(--space-12);color:var(--color-electric-blue);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;background:#00d4ff33}.portfolio-description{margin-bottom:var(--space-20);flex:1;line-height:1.6}.portfolio-results{margin-bottom:var(--space-20)}.result-item{padding:var(--space-8) 0 var(--space-8) var(--space-16);border-left:3px solid var(--color-electric-blue);margin-bottom:var(--space-8);font-weight:var(--font-weight-medium)}.portfolio-tags{gap:var(--space-8);flex-wrap:wrap;display:flex}.tag{padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);background:#ffffff1a}#gantt-chart-container{opacity:0;width:100%;margin:0 auto;transition:opacity .8s ease-out}#gantt-chart-container.visible{opacity:1}.gantt-timeline{margin-bottom:var(--space-20);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-bottom:1px solid #fff3;justify-content:space-between;padding:0 0 10px 30%;display:flex}.gantt-row{align-items:center;margin-bottom:15px;display:flex;position:relative}.gantt-label{width:30%;padding-right:var(--space-20);text-align:right;flex-shrink:0;transition:color .3s}.gantt-label h3{font-size:var(--font-size-lg);color:var(--color-text);margin-bottom:4px;font-weight:500;transition:color .3s}.gantt-label p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.gantt-bar-area{width:70%;position:relative}.gantt-bar{background:linear-gradient(90deg, var(--color-accent-teal) 0%, var(--color-electric-blue) 100%);transform-origin:0;border-radius:6px;height:28px;position:relative;overflow:hidden;transform:scaleX(0)}#gantt-chart-container.visible .gantt-bar{animation:1s cubic-bezier(.645,.045,.355,1) forwards drawBar}.gantt-bar.present:after{content:"";filter:blur(3px);background:linear-gradient(90deg,#00d4ff00,#00d4ffcc);border-radius:0 6px 6px 0;width:20px;height:100%;position:absolute;top:0;right:0;box-shadow:0 0 12px 4px #00d4ff80}.gantt-tooltip{border-radius:var(--radius-lg);z-index:10;opacity:0;visibility:hidden;width:350px;transition:all .3s var(--animation-curve);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#24243cf2;border:1px solid #fff3;padding:15px;position:absolute;bottom:110%;left:10px;transform:translateY(10px)}.gantt-bar-area:hover .gantt-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.gantt-row:hover .gantt-label h3{color:var(--color-electric-blue)}.tooltip-period{font-size:var(--font-size-sm);color:var(--color-accent-teal);margin-bottom:12px;font-weight:500}.tooltip-achievements{margin:0;padding:0;list-style:none}.tooltip-achievements li{font-size:var(--font-size-sm);align-items:center;gap:10px;margin-bottom:8px;display:flex}@keyframes drawBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (max-width:768px){.gantt-row{border-radius:var(--radius-md);margin-bottom:var(--space-20);background:#ffffff08;flex-direction:column;align-items:flex-start;padding:15px}.gantt-label{text-align:left;width:100%;margin-bottom:15px;padding-right:0}.gantt-bar-area{width:100%;height:28px}.gantt-timeline{padding:0 0 10px}.gantt-tooltip{width:90%;left:50%;transform:translate(-50%)translateY(10px)}.gantt-bar-area:hover .gantt-tooltip{transform:translate(-50%)translateY(0)}}.contact-content{grid-template-columns:1fr 1fr;align-items:start;gap:60px;display:grid}.contact-info h3{font-size:var(--font-size-2xl);margin-bottom:var(--space-16);color:var(--color-electric-blue)}.contact-info p{font-size:var(--font-size-lg);margin-bottom:var(--space-32);line-height:1.6}.contact-details{gap:var(--space-20);flex-direction:column;display:flex}.contact-item{align-items:center;gap:var(--space-16);padding:var(--space-16);border-radius:var(--radius-lg);transition:all var(--animation-speed) var(--animation-curve);background:#ffffff0d;border:1px solid #ffffff1a;display:flex}.contact-item:hover{border-color:var(--color-electric-blue);background:#ffffff14;transform:translate(5px)}.contact-icon{justify-content:center;align-items:center;font-size:1.5rem;display:flex}.contact-text{font-weight:var(--font-weight-medium)}.contact-form-container{padding:var(--space-32);border-radius:var(--radius-lg);background:#ffffff0d;border:1px solid #ffffff1a}.contact-form .form-control{color:var(--color-text);background:#ffffff1a;border:1px solid #fff3}.contact-form .form-control:focus{border-color:var(--color-electric-blue);box-shadow:0 0 0 3px #00d4ff1a}.footer{padding:var(--space-20) 0;background:0 0;border-top:1px solid #00d4ff26;font-size:.9rem}.footer-content{justify-content:space-between;align-items:center;display:flex}.footer-text{color:var(--color-text-secondary);opacity:.8}.footer-link{color:var(--color-electric-blue);font-weight:var(--font-weight-medium);transition:color var(--animation-speed) var(--animation-curve);text-decoration:none}.footer-link:hover{color:var(--color-accent-teal)}@media (max-width:768px){.hamburger{display:flex}.nav-menu{top:var(--navbar-height);width:100%;height:calc(100vh - var(--navbar-height));z-index:1001;-webkit-backdrop-filter:blur();backdrop-filter:blur();opacity:0;pointer-events:none;visibility:hidden;background:#0a0a0a00;flex-direction:column;justify-content:center;align-items:center;padding-top:0;transition:opacity .35s ease-out,transform .35s ease-out,visibility 0s linear .35s,-webkit-backdrop-filter .35s ease-out,backdrop-filter .35s ease-out,background .35s ease-out;display:flex;position:fixed;left:0;transform:translateY(-20px)}.nav-menu.active{opacity:1;pointer-events:auto;visibility:visible;background:var(--color-dark-primary);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);transform:translateY(0)}.navbar:has(.nav-menu.active){background-color:var(--color-dark-primary)!important}.nav-menu .nav-link{font-size:var(--font-size-2xl);padding:var(--space-16) 0;opacity:0;transition:opacity .3s ease-out,transform .3s ease-out;transform:translateY(-10px)}.nav-menu.active .nav-link{opacity:1;transform:translateY(0)}#nav-menu:after{display:none}.nav-menu.active .nav-link:first-child{transition-delay:.1s}.nav-menu.active .nav-link:nth-child(2){transition-delay:.15s}.nav-menu.active .nav-link:nth-child(3){transition-delay:.2s}.nav-menu.active .nav-link:nth-child(4){transition-delay:.25s}.nav-menu.active .nav-link:nth-child(5){transition-delay:.3s}.nav-menu.active .nav-link:nth-child(6){transition-delay:.35s}.nav-menu.active .nav-link:nth-child(7){transition-delay:.4s}.nav-menu.active .nav-link:nth-child(8){transition-delay:.45s}.hamburger.active span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero-buttons{flex-direction:column;align-items:center}.hero-buttons .btn{width:100%;max-width:300px}.skills-grid,.services-grid,.portfolio-grid,.contact-content{grid-template-columns:1fr}.footer-content{gap:var(--space-16);text-align:center;flex-direction:column}.logo-bar{flex-direction:column;gap:35px}.logo-bar-label{font-size:var(--font-size-base)}.logo-set-container{flex-wrap:wrap;justify-content:center}.testimonials-scroller{height:500px}.testimonials-scroller-column:nth-child(n+2){display:none}}@media (max-width:480px){.section{padding-block:var(--section-padding-mobile)}.container{padding:0 var(--space-20)}.highlight-item{text-align:center;flex-direction:column}.filter-btn{padding:var(--space-6) var(--space-16);font-size:var(--font-size-sm)}}.btn--primary,.btn--outline{font-weight:var(--font-weight-semibold);border:2px solid #0000;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn--primary:hover,.btn--outline:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00d4ff33}.btn--primary{background:linear-gradient(135deg, var(--color-electric-blue) 0%, var(--color-accent-teal) 100%);color:var(--color-dark-primary)}.btn--primary:hover,.btn--outline{border-color:var(--color-electric-blue);color:var(--color-electric-blue);background:0 0}.btn--outline:hover{background:linear-gradient(135deg, var(--color-electric-blue) 0%, var(--color-accent-teal) 100%);color:var(--color-dark-primary);border-color:#0000}.shape-assembler{vertical-align:middle;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:3px;width:24px;height:24px;margin:0 .6em;display:inline-grid}.shape-assembler i{background-color:var(--color-electric-blue);opacity:0;will-change:transform, opacity, box-shadow;border-radius:2px;width:100%;height:100%;animation:3s ease-in-out infinite assemble-square;transform:scale(0)}@keyframes assemble-square{5%,15%{opacity:.5;transform:scale(1)}10%,20%{opacity:0;transform:scale(0)}45%,90%{opacity:1;box-shadow:0 0 4px var(--color-electric-blue);transform:scale(1)}95%,to{opacity:0;box-shadow:none;transform:scale(0)}}.shape-assembler i:first-child{animation-delay:0s}.shape-assembler i:nth-child(2){animation-delay:.1s}.shape-assembler i:nth-child(3){animation-delay:.2s}.shape-assembler i:nth-child(4){animation-delay:.6s}.shape-assembler i:nth-child(5){animation-delay:.4s}.shape-assembler i:nth-child(6){animation-delay:.3s}.shape-assembler i:nth-child(7){animation-delay:.8s}.shape-assembler i:nth-child(8){animation-delay:.5s}.shape-assembler i:nth-child(9){animation-delay:.7s}.section,.container{transition:padding .4s ease-in-out}.skills-grid,.services-grid,.portfolio-grid,.contact-content{transition:all .4s ease-in-out}.filter-btn{transition:all .3s ease-in-out}.highlight-item{transition:transform .3s,background .3s,border-color .3s}.gantt-row{transition:padding .4s ease-in-out,background .4s ease-in-out}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-cyrillic-400-normal-DnEqMUkt.woff2)format("woff2"),url(/assets/geist-cyrillic-400-normal-DoYExElg.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-latin-ext-400-normal-BP0SqLoz.woff2)format("woff2"),url(/assets/geist-latin-ext-400-normal-CxhClfoC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-latin-400-normal-DSkA1yZt.woff2)format("woff2"),url(/assets/geist-latin-400-normal-BnFbi-1n.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-cyrillic-500-normal-C6JjjZZ1.woff2)format("woff2"),url(/assets/geist-cyrillic-500-normal-DEcJ8qix.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-latin-ext-500-normal-0UPWgPJt.woff2)format("woff2"),url(/assets/geist-latin-ext-500-normal-Cp7xHeNA.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-latin-500-normal-DJ9fwJi3.woff2)format("woff2"),url(/assets/geist-latin-500-normal-CIqOcbcu.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-cyrillic-600-normal-X9X0urb-.woff2)format("woff2"),url(/assets/geist-cyrillic-600-normal-64f_Uksv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-ext-600-normal-CEqX-wEv.woff2)format("woff2"),url(/assets/geist-latin-ext-600-normal-ei6D1j5L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-600-normal-C4XfSTOc.woff2)format("woff2"),url(/assets/geist-latin-600-normal-CvyQaDJg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-cyrillic-700-normal-Bby3OhD7.woff2)format("woff2"),url(/assets/geist-cyrillic-700-normal-rSfeQ698.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-latin-ext-700-normal-V3Z5_AfI.woff2)format("woff2"),url(/assets/geist-latin-ext-700-normal-DPScEqPK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-latin-700-normal-CKFtLPQ7.woff2)format("woff2"),url(/assets/geist-latin-700-normal-BKs1SfBc.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
