@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap);:root{--bg-0:#04060f;--bg-1:#080c1a;--bg-2:#0d1228;--bg-3:#111830;--text-1:#e8ecf4;--text-2:#9aa3b8;--text-3:#5d6680;--accent:#5b9cf6;--accent-dim:rgba(91,156,246,.12);--accent-glow:rgba(91,156,246,.35);--green:#50fa7b;--purple:#bd93f9;--pink:#ff79c6;--orange:#ffb86c;--cyan:#8be9fd;--border:hsla(0,0%,100%,.07);--border-strong:hsla(0,0%,100%,.14);--glass:rgba(13,18,40,.75);--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"JetBrains Mono","Fira Code",monospace;--ease:cubic-bezier(0.23,1,0.32,1);--ease-in:cubic-bezier(0.4,0,1,1);--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--nav-h:72px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#04060f;background-color:var(--bg-0);color:#e8ecf4;color:var(--text-1);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font);line-height:1.6;overflow-x:hidden}::selection{background:#5b9cf6;background:var(--accent);color:#04060f;color:var(--bg-0)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#080c1a;background:var(--bg-1)}::-webkit-scrollbar-thumb{background:#111830;background:var(--bg-3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#5b9cf6;background:var(--accent)}#preloader{align-items:center;background:#04060f;background:var(--bg-0);display:flex;inset:0;justify-content:center;position:fixed;transition:opacity .5s cubic-bezier(.23,1,.32,1),visibility .5s;transition:opacity .5s var(--ease),visibility .5s;z-index:99999}#preloader-none{opacity:0;pointer-events:none;visibility:hidden}#no-scroll{height:100vh;overflow:hidden}.loader-ring{-webkit-animation:spin .9s linear infinite;animation:spin .9s linear infinite;border:3px solid #111830;border-radius:50%;border-top-color:#5b9cf6;border:3px solid var(--bg-3);border-top-color:var(--accent);height:48px;width:48px}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.wrap{margin:0 auto;max-width:1120px;padding:0 2rem}@media (max-width:768px){.wrap{padding:0 1.25rem}}.mono{font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--mono)}@-webkit-keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes slideLeft{0%{opacity:0;-webkit-transform:translateX(40px);transform:translateX(40px)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideLeft{0%{opacity:0;-webkit-transform:translateX(40px);transform:translateX(40px)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes float{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}@keyframes float{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}@-webkit-keyframes pulse-glow{0%,to{box-shadow:0 0 20px rgba(91,156,246,.35);box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 45px rgba(91,156,246,.35),0 0 80px rgba(91,156,246,.1);box-shadow:0 0 45px var(--accent-glow),0 0 80px rgba(91,156,246,.1)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px rgba(91,156,246,.35);box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 45px rgba(91,156,246,.35),0 0 80px rgba(91,156,246,.1);box-shadow:0 0 45px var(--accent-glow),0 0 80px rgba(91,156,246,.1)}}@-webkit-keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.gradient-text{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#5b9cf6,#bd93f9 50%,#8be9fd);background:linear-gradient(135deg,var(--accent) 0,var(--purple) 50%,var(--cyan) 100%);-webkit-background-clip:text;background-clip:text}.btn-primary-custom{align-items:center;background:#5b9cf6;background:var(--accent);border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font);font-size:.95rem;font-weight:600;gap:.5rem;letter-spacing:.01em;padding:.75rem 1.75rem;transition:box-shadow .2s cubic-bezier(.23,1,.32,1),background .2s,-webkit-transform .2s cubic-bezier(.23,1,.32,1);transition:transform .2s cubic-bezier(.23,1,.32,1),box-shadow .2s cubic-bezier(.23,1,.32,1),background .2s;transition:transform .2s cubic-bezier(.23,1,.32,1),box-shadow .2s cubic-bezier(.23,1,.32,1),background .2s,-webkit-transform .2s cubic-bezier(.23,1,.32,1);transition:box-shadow .2s var(--ease),background .2s,-webkit-transform .2s var(--ease);transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s,-webkit-transform .2s var(--ease)}.btn-primary-custom,.btn-primary-custom:hover{color:#04060f;color:var(--bg-0);text-decoration:none}.btn-primary-custom:hover{box-shadow:0 8px 24px rgba(91,156,246,.35);box-shadow:0 8px 24px var(--accent-glow);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.btn-outline-custom{align-items:center;background:transparent;border:1px solid #5b9cf6;border:1px solid var(--accent);border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font);font-size:.95rem;font-weight:500;gap:.5rem;letter-spacing:.01em;padding:.73rem 1.75rem;transition:background .2s,box-shadow .2s,-webkit-transform .2s cubic-bezier(.23,1,.32,1);transition:transform .2s cubic-bezier(.23,1,.32,1),background .2s,box-shadow .2s;transition:transform .2s cubic-bezier(.23,1,.32,1),background .2s,box-shadow .2s,-webkit-transform .2s cubic-bezier(.23,1,.32,1);transition:background .2s,box-shadow .2s,-webkit-transform .2s var(--ease);transition:transform .2s var(--ease),background .2s,box-shadow .2s;transition:transform .2s var(--ease),background .2s,box-shadow .2s,-webkit-transform .2s var(--ease)}.btn-outline-custom,.btn-outline-custom:hover{color:#5b9cf6;color:var(--accent);text-decoration:none}.btn-outline-custom:hover{background:rgba(91,156,246,.12);background:var(--accent-dim);box-shadow:0 8px 24px rgba(91,156,246,.35);box-shadow:0 8px 24px var(--accent-glow);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.glass-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(13,18,40,.75);background:var(--glass);border:1px solid hsla(0,0%,100%,.07);border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);transition:border-color .3s cubic-bezier(.23,1,.32,1),box-shadow .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:border-color .3s cubic-bezier(.23,1,.32,1),transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s cubic-bezier(.23,1,.32,1);transition:border-color .3s cubic-bezier(.23,1,.32,1),transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:border-color .3s var(--ease),box-shadow .3s var(--ease),-webkit-transform .3s var(--ease);transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease),-webkit-transform .3s var(--ease)}.glass-card:hover{border-color:hsla(0,0%,100%,.14);border-color:var(--border-strong)}.section{padding:7rem 0;position:relative}.section-label{color:#5b9cf6;color:var(--accent);display:block;font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--mono);font-size:.85rem;letter-spacing:.12em;margin-bottom:.75rem;text-transform:uppercase}.section-title{color:#e8ecf4;color:var(--text-1);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:1.25rem}.section-desc{color:#9aa3b8;color:var(--text-2);font-size:1.05rem;line-height:1.7;margin-bottom:3.5rem;max-width:560px}.divider-line{align-items:center;display:inline-flex;gap:1rem;margin-bottom:4rem}.divider-line:before{background:#5b9cf6;background:var(--accent);content:"";display:block;height:2px;width:40px}.bg-grid{display:none}.badge-tech{background:rgba(91,156,246,.12);background:var(--accent-dim);border:1px solid rgba(91,156,246,.2);border-radius:4px;color:#5b9cf6;color:var(--accent);font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--mono);font-size:.78rem;padding:.2rem .6rem;transition:background .2s,border-color .2s;white-space:nowrap}.badge-skill{background:#0d1228;background:var(--bg-2);border:1px solid hsla(0,0%,100%,.07);border:1px solid var(--border);border-radius:20px;color:#9aa3b8;color:var(--text-2);cursor:default;font-size:.85rem;font-weight:500;padding:.35rem .85rem;transition:color .2s,border-color .2s,background .2s}.badge-skill:hover{background:rgba(91,156,246,.12);background:var(--accent-dim);border-color:#5b9cf6;border-color:var(--accent);color:#5b9cf6;color:var(--accent)}.glow-dot{-webkit-animation:blink 2s ease-in-out infinite;animation:blink 2s ease-in-out infinite;background:#50fa7b;background:var(--green);border-radius:50%;box-shadow:0 0 8px #50fa7b;box-shadow:0 0 8px var(--green);display:inline-block;height:10px;width:10px}:root{--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>')}.annotationLayer section{position:absolute;text-align:left;text-align:initial}.annotationLayer .buttonWidgetAnnotation.pushButton>a,.annotationLayer .linkAnnotation>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation.pushButton>canvas{left:0;position:relative;top:0;z-index:-1}.annotationLayer .buttonWidgetAnnotation.pushButton>a:hover,.annotationLayer .linkAnnotation>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation input,.annotationLayer .textWidgetAnnotation textarea{background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:1px solid transparent;box-sizing:border-box;font-size:9px;height:100%;margin:0;padding:0 3px;vertical-align:top;width:100%}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{font:message-box;font-size:9px;resize:none}.annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],.annotationLayer .buttonWidgetAnnotation.radioButton input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation input[disabled],.annotationLayer .textWidgetAnnotation textarea[disabled]{background:none;border:1px solid transparent;cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .buttonWidgetAnnotation.radioButton input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation input:hover,.annotationLayer .textWidgetAnnotation textarea:hover{border:1px solid #000}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation input:focus,.annotationLayer .textWidgetAnnotation textarea:focus{background:none;border:1px solid transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus,.annotationLayer .buttonWidgetAnnotation.radioButton :focus,.annotationLayer .choiceWidgetAnnotation select :focus,.annotationLayer .textWidgetAnnotation input :focus,.annotationLayer .textWidgetAnnotation textarea :focus{background-color:transparent;background-image:none;outline:auto}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:#000;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input{-webkit-appearance:none;appearance:none;padding:0}.annotationLayer .popupWrapper{position:absolute;width:20em}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:2px;box-shadow:0 2px 5px #888;cursor:pointer;font:message-box;font-size:9px;margin-left:5px;max-width:20em;padding:6px;position:absolute;white-space:normal;z-index:200}.annotationLayer .popup>*{font-size:9px}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:5px}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:2px;padding-top:2px}.annotationLayer .richText>*{white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.nav-root{align-items:center;border-bottom:1px solid transparent;display:flex;height:var(--nav-h);left:0;position:fixed;right:0;top:0;transition:background .35s var(--ease),border-color .35s;z-index:1000}.nav-root.scrolled{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(4,6,15,.85);border-color:var(--border)}.nav-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1120px;padding:0 2rem;width:100%}.nav-logo{color:var(--text-1)!important;font-family:var(--mono);font-size:1.2rem;font-weight:500;letter-spacing:-.02em;text-decoration:none;transition:color .2s}.nav-logo span{color:var(--accent)}.nav-logo:hover{color:var(--accent)!important;text-decoration:none}.nav-links{align-items:center;display:flex;gap:.25rem;list-style:none;margin:0;padding:0}.nav-links a{border-radius:var(--radius-sm);color:var(--text-2);font-size:.9rem;font-weight:500;padding:.45rem .9rem;text-decoration:none;transition:color .2s,background .2s}.nav-links a.active,.nav-links a:hover{background:var(--border);color:var(--text-1)}.nav-cta{background:transparent!important;border:1px solid var(--accent)!important;border-radius:var(--radius-sm)!important;color:var(--accent)!important;font-family:var(--mono);font-size:.82rem!important;padding:.4rem .9rem!important;transition:background .2s,box-shadow .2s!important}.nav-cta:hover{background:var(--accent-dim)!important;box-shadow:0 0 16px var(--accent-glow)!important}.hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:4px}.hamburger span{background:var(--text-1);border-radius:2px;display:block;height:2px;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s;width:24px}.hamburger.open span:first-child{-webkit-transform:translateY(7px) rotate(45deg);transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){-webkit-transform:translateY(-7px) rotate(-45deg);transform:translateY(-7px) rotate(-45deg)}@media (max-width:768px){.hamburger{display:flex}.nav-links{align-items:center;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:rgba(4,6,15,.97);border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;left:0;padding:2rem 0;position:fixed;right:0;top:var(--nav-h);-webkit-transform:translateY(-120%);transform:translateY(-120%);transition:-webkit-transform .4s var(--ease);transition:transform .4s var(--ease);transition:transform .4s var(--ease),-webkit-transform .4s var(--ease);z-index:999}.nav-links.open{-webkit-transform:translateY(0);transform:translateY(0)}.nav-links a{font-size:1.05rem;padding:.6rem 2rem;text-align:center;width:100%}}.hero{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding-top:var(--nav-h);position:relative}.hero-bg-glow{background:radial-gradient(ellipse at center,rgba(91,156,246,.07) 0,transparent 70%);height:600px;left:50%;pointer-events:none;position:absolute;top:-20%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:800px}.hero-inner{margin:0 auto;max-width:1400px;padding:4rem 2rem 5rem;position:relative;z-index:1}.hero-status{align-items:center;-webkit-animation:fadeIn .6s var(--ease) both;animation:fadeIn .6s var(--ease) both;background:var(--bg-2);border:1px solid var(--border);border-radius:20px;color:var(--text-2);display:inline-flex;font-family:var(--mono);font-size:.8rem;gap:.6rem;margin-bottom:2rem;padding:.4rem .9rem}.hero-eyebrow{-webkit-animation:fadeUp .7s .1s var(--ease) both;animation:fadeUp .7s .1s var(--ease) both;color:var(--accent);font-family:var(--mono);font-size:1rem;margin-bottom:1rem}.hero-name{-webkit-animation:fadeUp .7s .2s var(--ease) both;animation:fadeUp .7s .2s var(--ease) both;color:var(--text-1);font-size:clamp(3rem,7vw,6rem);font-weight:900;letter-spacing:-.04em;line-height:1;margin-bottom:.5rem}.hero-title-line{-webkit-animation:fadeUp .7s .3s var(--ease) both;animation:fadeUp .7s .3s var(--ease) both;color:var(--text-2);font-size:clamp(1.4rem,3.5vw,2.2rem);font-weight:400;letter-spacing:-.02em;margin-bottom:1.75rem}.hero-title-line strong{color:var(--text-1);font-weight:700}.hero-desc{-webkit-animation:fadeUp .7s .4s var(--ease) both;animation:fadeUp .7s .4s var(--ease) both;color:var(--text-2);font-size:1.1rem;line-height:1.75;margin-bottom:2.5rem;max-width:580px}.hero-actions{align-items:center;-webkit-animation:fadeUp .7s .5s var(--ease) both;animation:fadeUp .7s .5s var(--ease) both;display:flex;flex-wrap:wrap;gap:1rem}.hero-stats{-webkit-animation:fadeUp .7s .6s var(--ease) both;animation:fadeUp .7s .6s var(--ease) both;border-top:1px solid var(--border);display:flex;gap:3rem;margin-top:4rem;padding-top:2.5rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-num{color:var(--text-1);font-size:2rem;font-weight:800;letter-spacing:-.04em}.stat-label{color:var(--text-3);font-size:.85rem}@media (max-width:768px){.hero-stats{gap:2rem}.stat-num{font-size:1.5rem}}.about-grid{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:3fr 2fr}@media (max-width:900px){.about-grid{gap:3rem;grid-template-columns:1fr}}.about-text p{color:var(--text-2);font-size:1.05rem;line-height:1.8;margin-bottom:1.25rem}.about-text p:last-child{margin-bottom:0}.about-text a{border-bottom:1px solid transparent;color:var(--accent);text-decoration:none;transition:border-color .2s}.about-text a:hover{border-color:var(--accent)}.about-photo-wrap{display:flex;justify-content:center}.about-photo{height:280px;position:relative;width:280px}.about-photo img{border-radius:var(--radius-lg);-webkit-filter:grayscale(10%) saturate(1.1);filter:grayscale(10%) saturate(1.1);height:100%;object-fit:cover;position:relative;transition:-webkit-filter .4s;transition:filter .4s;transition:filter .4s,-webkit-filter .4s;width:100%;z-index:1}.about-photo:hover img{-webkit-filter:grayscale(0) saturate(1.2);filter:grayscale(0) saturate(1.2)}.about-photo:after{background:linear-gradient(135deg,var(--accent),var(--purple));border-radius:calc(var(--radius-lg) + 2px);content:"";inset:-2px;opacity:.5;position:absolute;transition:opacity .3s;z-index:0}.about-photo:hover:after{opacity:.8}.quick-facts{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:2rem}.fact-item{display:flex;flex-direction:column;gap:.2rem}.fact-label{color:var(--text-3);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.fact-value{color:var(--text-1);font-size:.9rem;font-weight:500}.skills-group{margin-bottom:1.5rem}.skills-group-label{color:var(--text-3);font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;margin-bottom:.1rem;text-transform:uppercase}.skills-chips{display:flex;flex-wrap:wrap;gap:.5rem}.exp-grid{grid-gap:0 3rem;display:grid;gap:0 3rem;grid-template-columns:200px 1fr}@media (max-width:768px){.exp-grid{grid-template-columns:1fr}}.exp-tabs{display:flex;flex-direction:column;gap:.25rem;position:relative}.exp-tabs:before{background:var(--border-strong);bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.exp-tab-btn{background:none;border:none;border-left:2px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-3);cursor:pointer;font-family:var(--mono);font-size:.82rem;margin-left:-1px;padding:.65rem 1.2rem;text-align:left;transition:color .2s,border-color .2s,background .2s}.exp-tab-btn:hover{background:var(--accent-dim);color:var(--text-1)}.exp-tab-btn.active{background:var(--accent-dim);border-left-color:var(--accent);color:var(--accent)}@media (max-width:768px){.exp-tabs{flex-direction:row;margin-bottom:2rem;overflow-x:auto;padding-bottom:.25rem}.exp-tabs:before{display:none}.exp-tab-btn{border-bottom:2px solid transparent;border-left:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;white-space:nowrap}.exp-tab-btn.active{border-bottom-color:var(--accent)}}.exp-content{-webkit-animation:fadeIn .35s var(--ease) both;animation:fadeIn .35s var(--ease) both}.exp-role{color:var(--text-1);font-size:1.4rem;font-weight:700;margin-bottom:.2rem}.exp-company{color:var(--accent);font-size:1rem;font-weight:500;margin-bottom:.35rem}.exp-period{color:var(--text-3);font-family:var(--mono);font-size:.82rem;margin-bottom:1.75rem}.exp-bullets{display:flex;flex-direction:column;gap:.85rem;list-style:none}.exp-bullets li{color:var(--text-2);display:flex;font-size:.97rem;gap:.9rem;line-height:1.65}.exp-bullets li:before{color:var(--accent);content:"▸";flex-shrink:0;font-size:.85rem;margin-top:.15rem}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}}.project-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden;padding:2rem;position:relative;transition:border-color .3s,box-shadow .3s,-webkit-transform .3s var(--ease);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s,-webkit-transform .3s var(--ease)}.project-card:before{background:linear-gradient(90deg,var(--accent),var(--purple));content:"";height:2px;left:0;position:absolute;right:0;top:0;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .4s var(--ease);transition:transform .4s var(--ease);transition:transform .4s var(--ease),-webkit-transform .4s var(--ease)}.project-card:hover{border-color:var(--border-strong);box-shadow:0 20px 60px rgba(0,0,0,.4);-webkit-transform:translateY(-6px);transform:translateY(-6px)}.project-card:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}.project-header{justify-content:space-between;margin-bottom:1.25rem}.project-header,.project-icon{align-items:center;display:flex}.project-icon{background:var(--accent-dim);border:1px solid rgba(91,156,246,.2);border-radius:var(--radius-sm);color:var(--accent);font-size:1.2rem;height:42px;justify-content:center;width:42px}.project-links{display:flex;gap:.75rem}.project-links a{color:var(--text-3);font-size:1.15rem;text-decoration:none;transition:color .2s,-webkit-transform .2s;transition:color .2s,transform .2s;transition:color .2s,transform .2s,-webkit-transform .2s}.project-links a:hover{color:var(--accent);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.project-name{color:var(--text-1);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem}.project-desc{color:var(--text-2);flex-grow:1;font-size:.9rem;line-height:1.7;margin-bottom:1.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.4rem}.project-card.featured{flex-direction:row;gap:2rem;grid-column:span 2;padding:2.5rem}.project-card.featured .project-body{flex:1 1}.project-card.featured .project-visual{align-items:center;color:var(--border-strong);display:flex;flex-shrink:0;justify-content:center;width:200px}@media (max-width:900px){.project-card.featured{flex-direction:column;grid-column:span 1}.project-card.featured .project-visual{display:none}}.edu-cert-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.edu-cert-grid{grid-template-columns:1fr}}.info-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.75rem;transition:border-color .3s}.info-card:hover{border-color:var(--border-strong)}.info-card-title{color:var(--accent);font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;margin-bottom:1.25rem;text-transform:uppercase}.edu-degree{color:var(--text-1);font-size:1rem;font-weight:600;margin-bottom:.35rem}.edu-college{color:var(--text-2);font-size:.9rem;margin-bottom:.75rem}.edu-meta{align-items:center;color:var(--text-3);display:flex;font-family:var(--mono);font-size:.8rem;justify-content:space-between}.cert-list{display:flex;flex-direction:column;gap:0;list-style:none}.cert-item{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:.88rem;justify-content:space-between;padding:.65rem 0}.cert-item:last-child{border-bottom:none}.cert-name{color:var(--text-2);flex:1 1;padding-right:1rem}.cert-year{color:var(--text-3);font-family:var(--mono);font-size:.75rem;white-space:nowrap}.achievement-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.achievement-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;transition:border-color .3s,-webkit-transform .3s;transition:border-color .3s,transform .3s;transition:border-color .3s,transform .3s,-webkit-transform .3s}.achievement-card:hover{border-color:var(--border-strong);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.achievement-icon{font-size:1.75rem}.achievement-text{color:var(--text-2);font-size:.88rem;line-height:1.55}.contact-wrap{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.contact-wrap{grid-template-columns:1fr}}.contact-links{display:flex;flex-direction:column;gap:1rem;list-style:none;margin-top:2rem}.contact-link-item a{align-items:center;color:var(--text-2);display:flex;font-size:.95rem;gap:.9rem;padding:.5rem 0;text-decoration:none;transition:color .2s}.contact-link-item a:hover{color:var(--accent)}.contact-link-icon{align-items:center;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-shrink:0;font-size:1rem;height:36px;justify-content:center;transition:background .2s,border-color .2s;width:36px}.contact-link-item a:hover .contact-link-icon{background:var(--accent-dim);border-color:rgba(91,156,246,.3);color:var(--accent)}.contact-cta-card{background:linear-gradient(135deg,var(--bg-2),var(--bg-3));border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;text-align:center}.contact-cta-card h3{color:var(--text-1);font-size:1.4rem;font-weight:700;margin-bottom:.75rem}.contact-cta-card p{color:var(--text-2);font-size:.95rem;line-height:1.6;margin-bottom:2rem}.footer{border-top:1px solid var(--border);padding:2.5rem 0}.footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1120px;padding:0 2rem}.footer-copy{color:var(--text-3);font-size:.85rem}.footer-copy span{color:var(--text-2)}.footer-socials{display:flex;gap:1rem}.footer-socials a{align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);display:flex;font-size:1rem;height:36px;justify-content:center;text-decoration:none;transition:color .2s,border-color .2s,background .2s;width:36px}.footer-socials a:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.resume-page{min-height:100vh;padding-bottom:4rem;padding-top:calc(var(--nav-h) + 4rem)}.resume-actions{display:flex;justify-content:center;margin-bottom:2.5rem}.resume-viewer{align-items:center;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:2rem;overflow:hidden;padding:2rem}.mt-section{margin-top:5rem}.pill-outline{align-items:center;border:1px solid var(--border);border-radius:20px;color:var(--text-3);display:inline-flex;font-size:.82rem;gap:.5rem;padding:.3rem .9rem}.spotlight-card-wrapper{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;position:relative;transition:border-color .3s,box-shadow .3s,-webkit-transform .3s;transition:border-color .3s,transform .3s,box-shadow .3s;transition:border-color .3s,transform .3s,box-shadow .3s,-webkit-transform .3s}.spotlight-card-wrapper:hover{border-color:var(--border-strong);box-shadow:0 10px 30px rgba(0,0,0,.3);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.spotlight-effect{inset:0;pointer-events:none;position:absolute;transition:opacity .3s ease;z-index:0}.spotlight-card-content{height:100%;position:relative;z-index:1}.crazy-timeline-wrapper{margin:0 auto;max-width:1000px;padding:2rem 0 6rem;position:relative}.crazy-timeline-track{background:var(--border);bottom:0}.crazy-timeline-fill,.crazy-timeline-track{left:25%;position:absolute;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:2px}.crazy-timeline-fill{background:linear-gradient(180deg,var(--accent),var(--purple));box-shadow:0 0 15px var(--accent);transition:height .1s ease-out}.crazy-timeline-row{display:flex;margin-bottom:7rem;opacity:.2;position:relative;-webkit-transform:translateY(30px);transform:translateY(30px);transition:opacity .8s var(--ease-out),-webkit-transform .8s var(--ease-out);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),-webkit-transform .8s var(--ease-out)}.crazy-timeline-row.active{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.crazy-timeline-meta{padding-right:3rem;text-align:right;width:25%}.meta-sticky{position:-webkit-sticky;position:sticky;top:150px}.crazy-period{color:var(--accent);font-family:var(--mono);font-size:.9rem;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.crazy-company{color:var(--text-1);font-size:1.2rem;font-weight:700}.crazy-location{color:var(--text-3);font-size:.85rem;margin-top:.25rem}.crazy-timeline-node{align-items:center;background:var(--bg-0);border:2px solid var(--border);border-radius:50%;display:flex;height:24px;justify-content:center;left:25%;position:absolute;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);transition:border-color .4s ease,box-shadow .4s ease;width:24px;z-index:2}.crazy-timeline-node.active{border-color:var(--accent);box-shadow:0 0 20px rgba(91,156,246,.6)}.crazy-timeline-node .node-inner{background:transparent;border-radius:50%;height:10px;transition:background .4s ease;width:10px}.crazy-timeline-node.active .node-inner{background:var(--accent)}.crazy-timeline-content{padding-left:4rem;width:75%}.crazy-role{color:var(--text-1);font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.25rem}.crazy-type{border:1px solid var(--border);border-radius:12px;color:var(--text-3);display:inline-block;font-family:var(--mono);font-size:.75rem;margin-bottom:1.75rem;padding:.2rem .75rem}.crazy-bullets-wrapper{display:flex;flex-direction:column;gap:1.15rem;margin-bottom:2.5rem}.crazy-bullet{color:var(--text-2);display:flex;font-size:1.05rem;gap:1rem;line-height:1.7}.crazy-bullet .bullet-icon{color:var(--accent);font-size:1.2rem;line-height:1.3}.crazy-tech-row{display:flex;flex-wrap:wrap;gap:.6rem}.crazy-tech-badge{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;color:var(--text-1);font-family:var(--mono);font-size:.8rem;padding:.4rem 1rem;transition:background .2s,border-color .2s,color .2s}.crazy-timeline-row.active .crazy-tech-badge{border-color:rgba(91,156,246,.3)}.crazy-timeline-row.active .crazy-tech-badge:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}@media (max-width:900px){.crazy-timeline-fill,.crazy-timeline-node,.crazy-timeline-track{left:20px}.crazy-timeline-row{flex-direction:column;margin-bottom:4rem}.crazy-timeline-meta{margin-bottom:1.5rem;padding-left:55px;padding-right:0;text-align:left;width:100%}.meta-sticky{position:relative;top:0}.crazy-timeline-content{padding-left:55px;width:100%}.crazy-role{font-size:1.5rem}}.terminal-container{align-items:center;-webkit-animation:fadeIn .3s ease;animation:fadeIn .3s ease;background:rgba(4,6,15,.95);display:flex;inset:0;justify-content:center;padding:0;position:fixed;z-index:9999}.terminal-window{background:rgba(15,15,20,.95);border:none;border-radius:0;display:flex;flex-direction:column;height:100vh;max-width:100%;overflow:hidden;width:100%}.terminal-header{align-items:center;background:#323233;border-bottom:1px solid #111;display:flex;height:36px;padding:0 16px;position:relative}.terminal-back-btn{background:transparent;border:1px solid rgba(171,157,242,.4);border-radius:4px;color:#ab9df2;cursor:pointer;font-family:var(--font);font-size:.8rem;font-weight:500;left:16px;padding:4px 12px;position:absolute;transition:background .2s,color .2s}.terminal-back-btn:hover{background:rgba(171,157,242,.1);color:#fff}.terminal-title{color:#999;flex:1 1;font-family:var(--font);font-size:.8rem;text-align:center;-webkit-user-select:none;-ms-user-select:none;user-select:none}.terminal-body{background:transparent;color:#a9dc76;flex:1 1;font-family:var(--mono);font-size:.95rem;line-height:1.6;overflow-y:auto;padding:20px;position:relative}.terminal-body.scanlines:before{background:linear-gradient(hsla(0,6%,7%,0) 50%,rgba(0,0,0,.1) 0);background-size:100% 4px;bottom:0;content:" ";display:block;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:50}.terminal-line{margin-bottom:6px;text-shadow:0 0 2px hsla(90,59%,66%,.3);white-space:pre-wrap;word-break:break-word}.terminal-line.command{color:#ffd866;font-weight:700}.terminal-line.system{color:#ff6188;font-weight:700;text-shadow:0 0 5px rgba(255,97,136,.5)}.terminal-line.error{color:#f55}.terminal-line.output{color:#fcfcfa;margin-bottom:20px;text-shadow:none}.terminal-input-row{align-items:center;display:flex;margin-top:10px}.terminal-prompt{color:#ab9df2;font-weight:700;margin-right:10px;white-space:nowrap}.terminal-input-wrapper{align-items:center;display:flex;flex:1 1;position:relative}.terminal-input{background:transparent;border:none;caret-color:#fcfcfa;color:#fcfcfa;font-family:var(--mono);font-size:.95rem;outline:none;padding:0;width:100%;z-index:2}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.terminal-banner{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#ff6188,#fc9867,#ffd866,#a9dc76,#78dce8,#ab9df2);-webkit-background-clip:text;display:inline-block;font-weight:700;text-shadow:none}.App{display:flex;flex-direction:column;min-height:100vh}
/*# sourceMappingURL=main.e06f6fde.css.map*/