@import url(https://fonts.googleapis.com/css2?family=Raleway:wght@500&display=swap);body{-moz-osx-font-smoothing:grayscale;background-image:linear-gradient(270deg,#1b1429,#140f23);font-family:Raleway,serif!important;margin:0}: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}:root{--bg:#07070f;--bg2:#0d0d1a;--surface:hsla(0,0%,100%,.04);--border:hsla(0,0%,100%,.08);--accent:#0091ff;--accent2:#0055d4;--accent3:#00c2ff;--text:#f2f2f7;--muted:rgba(242,242,247,.45);--font-display:"Syne",sans-serif;--font-body:"DM Sans",sans-serif;--font-mono:"DM Mono",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#07070f;background:var(--bg);color:#f2f2f7;color:var(--text);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:16px;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,145,255,.4);border-radius:2px}#preloader{align-items:center;background-color:#07070f;background-color:var(--bg);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:999999}#preloader:after{-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite;border:2px solid hsla(0,0%,100%,.08);border-radius:50%;border-top-color:#0091ff;border:2px solid var(--border);border-top-color:var(--accent);content:"";height:40px;width:40px}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}#preloader-none{opacity:0;pointer-events:none}#no-scroll{height:100vh;overflow:hidden}#mesh-canvas{inset:0;opacity:.65;pointer-events:none;position:fixed;z-index:0}.pf-nav{align-items:center;border-bottom:1px solid transparent;display:flex;justify-content:space-between;left:0;padding:20px 48px;position:fixed;right:0;top:0;transition:background .3s,border-color .3s,-webkit-backdrop-filter .3s;transition:background .3s,backdrop-filter .3s,border-color .3s;transition:background .3s,backdrop-filter .3s,border-color .3s,-webkit-backdrop-filter .3s;z-index:100}.pf-nav.scrolled{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:rgba(7,7,15,.72);border-bottom-color:hsla(0,0%,100%,.08);border-bottom-color:var(--border)}.pf-nav-logo{color:#f2f2f7;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.02em;text-decoration:none}.pf-nav-logo span{color:#0091ff;color:var(--accent)}.pf-nav-links{align-items:center;display:flex;gap:36px;list-style:none}.pf-nav-links a{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.01em;text-decoration:none;transition:color .2s}.pf-nav-links a:hover{color:#f2f2f7;color:var(--text)}.pf-nav-cta{background:#0091ff!important;background:var(--accent)!important;border-radius:100px!important;color:#f2f2f7!important;color:var(--text)!important;font-size:13px!important;font-weight:500!important;letter-spacing:0!important;padding:8px 20px!important;transition:opacity .2s!important}.pf-nav-cta:hover{color:#fff!important;opacity:.85!important}section{position:relative;z-index:1}#hero{display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:1280px;min-height:100vh;padding:120px 48px 80px}.hero-label{-webkit-animation:fadeUp .7s .2s forwards;animation:fadeUp .7s .2s forwards;color:#0091ff;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:.18em;margin-bottom:28px;opacity:0;text-transform:uppercase}.hero-name{-webkit-animation:fadeUp .8s .35s forwards;animation:fadeUp .8s .35s forwards;color:#f2f2f7;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(56px,8vw,120px);font-weight:800;letter-spacing:-.04em;line-height:.95;opacity:0}.hero-name .accent-grad{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#0091ff,#0055d4);background:linear-gradient(135deg,var(--accent) 0,var(--accent2) 100%);-webkit-background-clip:text;background-clip:text}.hero-tagline{-webkit-animation:fadeUp .8s .5s forwards;animation:fadeUp .8s .5s forwards;color:rgba(242,242,247,.45);color:var(--muted);font-size:clamp(18px,2.2vw,24px);font-weight:300;line-height:1.5;margin-top:36px;max-width:560px;opacity:0}.hero-stats{-webkit-animation:fadeUp .8s .8s forwards;animation:fadeUp .8s .8s forwards;display:flex;flex-wrap:wrap;gap:56px;margin-top:72px;opacity:0}.hero-stat-num{color:#f2f2f7;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:36px;font-weight:800;letter-spacing:-.04em}.hero-stat-num span{color:#0091ff;color:var(--accent)}.hero-stat-label{color:rgba(242,242,247,.45);color:var(--muted);font-size:12px;font-weight:400;letter-spacing:.04em;margin-top:4px;text-transform:uppercase}.hero-ctas{align-items:center;-webkit-animation:fadeUp .8s .65s forwards;animation:fadeUp .8s .65s forwards;display:flex;flex-wrap:wrap;gap:16px;margin-top:52px;opacity:0}.btn-primary-pf{align-items:center;background:#0091ff;background:var(--accent);border-radius:100px;box-shadow:0 0 40px rgba(0,145,255,.35);color:#fff!important;display:inline-flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:15px;font-weight:500;gap:8px;padding:14px 28px;text-decoration:none!important;transition:box-shadow .2s,-webkit-transform .2s;transition:transform .2s,box-shadow .2s;transition:transform .2s,box-shadow .2s,-webkit-transform .2s}.btn-primary-pf:hover{box-shadow:0 8px 50px rgba(0,145,255,.55);color:#fff!important;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.btn-ghost-pf{align-items:center;background:transparent;border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;color:rgba(242,242,247,.45)!important;color:var(--muted)!important;display:inline-flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:15px;font-weight:500;gap:8px;padding:14px 28px;text-decoration:none!important;transition:color .2s,border-color .2s}.btn-ghost-pf:hover{border-color:hsla(0,0%,100%,.2);color:#f2f2f7!important;color:var(--text)!important}.hero-scroll-hint{align-items:center;-webkit-animation:fadeUp .8s 1s forwards;animation:fadeUp .8s 1s forwards;color:rgba(242,242,247,.45);color:var(--muted);display:flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;gap:10px;letter-spacing:.1em;margin-top:72px;opacity:0}.scroll-line{background:linear-gradient(90deg,#0091ff,transparent);background:linear-gradient(90deg,var(--accent),transparent);height:1px;width:40px}.section-label{color:#0091ff;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.2em;margin-bottom:20px;text-transform:uppercase}#about{margin:0 auto;max-width:1280px;padding:120px 48px}.about-grid{grid-gap:80px;align-items:center;display:grid;gap:80px;grid-template-columns:1fr 1fr}.about-heading{color:#f2f2f7;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(36px,4vw,52px);font-weight:700;letter-spacing:-.03em;line-height:1.08;margin-bottom:28px}.about-heading em{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#0091ff,#0055d4);background:linear-gradient(135deg,var(--accent) 0,var(--accent2) 100%);-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:400}.about-body{color:rgba(242,242,247,.45);color:var(--muted);font-size:17px;font-weight:300;line-height:1.75}.about-body p+p{margin-top:16px}.about-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:hsla(0,0%,100%,.04);background:var(--surface);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:24px;overflow:hidden;padding:40px;position:relative}.about-card:before{background:linear-gradient(90deg,transparent,#0091ff,transparent);background:linear-gradient(90deg,transparent,var(--accent),transparent);content:"";height:1px;left:30px;position:absolute;right:30px;top:-1px}.about-card-title{color:rgba(242,242,247,.45);color:var(--muted);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.1em;margin-bottom:24px;text-transform:uppercase}.about-values{display:flex;flex-direction:column;gap:16px}.about-value{align-items:center;color:#f2f2f7;color:var(--text);display:flex;font-size:15px;font-weight:400;gap:14px}.value-dot{background:#0091ff;background:var(--accent);border-radius:50%;flex-shrink:0;height:6px;width:6px}#skills{background:linear-gradient(180deg,transparent,rgba(0,85,212,.04) 50%,transparent);padding:120px 48px}.skills-inner{margin:0 auto;max-width:1280px}.skills-heading{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(36px,4vw,52px);font-weight:700;letter-spacing:-.03em;margin-bottom:16px}.skills-sub{color:rgba(242,242,247,.45);color:var(--muted);font-size:17px;font-weight:300;margin-bottom:64px;max-width:480px}.skills-categories{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.skill-cat{background:hsla(0,0%,100%,.04);background:var(--surface);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:20px;cursor:default;padding:32px;transition:border-color .3s,-webkit-transform .3s;transition:border-color .3s,transform .3s;transition:border-color .3s,transform .3s,-webkit-transform .3s}.skill-cat:hover{border-color:rgba(0,145,255,.3);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.skill-cat-icon{align-items:center;border-radius:10px;display:flex;font-size:18px;height:40px;justify-content:center;margin-bottom:20px;width:40px}.skill-cat-name{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.01em;margin-bottom:16px}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:6px;color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.04em;padding:4px 10px}#projects{margin:0 auto;max-width:1280px;padding:120px 48px}.projects-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:64px}.projects-heading{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(36px,4vw,52px);font-weight:700;letter-spacing:-.03em}.projects-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.project-card-pf{background:hsla(0,0%,100%,.04);background:var(--surface);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:24px;cursor:pointer;display:block;overflow:hidden;text-decoration:none!important;transition:border-color .3s,-webkit-transform .35s cubic-bezier(.16,1,.3,1);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s,-webkit-transform .35s cubic-bezier(.16,1,.3,1)}.project-card-pf,.project-card-pf:hover{color:#f2f2f7!important;color:var(--text)!important}.project-card-pf:hover{border-color:rgba(0,145,255,.25);-webkit-transform:translateY(-6px);transform:translateY(-6px)}.project-card-pf.featured{display:grid;grid-column:1/-1;grid-template-columns:1fr 1fr}.project-thumb-pf{height:220px;overflow:hidden;position:relative}.project-card-pf.featured .project-thumb-pf{height:100%;min-height:280px}.project-thumb-pf img{height:100%;object-fit:cover;opacity:.75;transition:opacity .3s;width:100%}.project-card-pf:hover .project-thumb-pf img{opacity:.9}.project-thumb-placeholder{align-items:center;background-image:repeating-linear-gradient(-45deg,hsla(0,0%,100%,.015),hsla(0,0%,100%,.015) 1px,transparent 0,transparent 12px);color:hsla(0,0%,100%,.2);display:flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;height:100%;justify-content:center;letter-spacing:.08em;text-transform:uppercase;width:100%}.project-info-pf{padding:28px 32px 32px}.project-card-pf.featured .project-info-pf{display:flex;flex-direction:column;justify-content:center;padding:40px}.project-meta-pf{align-items:center;display:flex;gap:10px;margin-bottom:14px}.project-tag-pf{background:rgba(0,145,255,.1);border:1px solid rgba(0,145,255,.2);border-radius:4px;color:#0091ff;color:var(--accent);font-size:10px;letter-spacing:.08em;padding:3px 8px;text-transform:uppercase}.project-tag-pf,.project-year-pf{font-family:DM Mono,monospace;font-family:var(--font-mono)}.project-year-pf{color:rgba(242,242,247,.45);color:var(--muted);font-size:11px}.project-title-pf{color:#f2f2f7;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}.project-desc-pf{color:rgba(242,242,247,.45);color:var(--muted);font-size:14px;font-weight:300;line-height:1.65}.project-stack-pf{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.stack-item-pf{background:hsla(0,0%,100%,.04);border-radius:4px;color:hsla(0,0%,100%,.35);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px;padding:3px 8px}.project-link-hint{align-items:center;color:#0091ff;color:var(--accent);display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-top:24px;text-decoration:none!important}.project-links-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.project-link-btn{align-items:center;border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;color:rgba(242,242,247,.45)!important;color:var(--muted)!important;display:inline-flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:400;gap:6px;padding:6px 14px;text-decoration:none!important;transition:color .2s,border-color .2s,background .2s}.project-link-btn:hover{background:hsla(0,0%,100%,.04);border-color:hsla(0,0%,100%,.2);color:#f2f2f7!important;color:var(--text)!important}.project-link-btn.accent{border-color:rgba(0,145,255,.3);color:#0091ff!important;color:var(--accent)!important}.project-link-btn.accent:hover{background:rgba(0,145,255,.08);color:#0091ff!important;color:var(--accent)!important}#experience{background:linear-gradient(180deg,transparent,rgba(0,145,255,.03) 50%,transparent);padding:120px 48px}.exp-inner{margin:0 auto;max-width:1280px}.exp-heading{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(36px,4vw,52px);font-weight:700;letter-spacing:-.03em;margin-bottom:64px}.exp-list{display:flex;flex-direction:column}.exp-item{grid-gap:48px;align-items:start;border-bottom:1px solid hsla(0,0%,100%,.08);border-bottom:1px solid var(--border);display:grid;gap:48px;grid-template-columns:200px 1fr;padding:40px 0;transition:opacity .2s}.exp-item:first-child{border-top:1px solid hsla(0,0%,100%,.08);border-top:1px solid var(--border)}.exp-item:hover{opacity:.8}.exp-period{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;padding-top:4px}.exp-role{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.exp-company{color:#0091ff;color:var(--accent);font-size:14px;margin-bottom:14px}.exp-desc{color:rgba(242,242,247,.45);color:var(--muted);font-size:14px;font-weight:300;line-height:1.7}#education{background:linear-gradient(180deg,transparent,rgba(0,194,255,.03) 50%,transparent);padding:120px 48px}.edu-inner{margin:0 auto;max-width:1280px}.edu-heading{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(36px,4vw,52px);font-weight:700;letter-spacing:-.03em;margin-bottom:64px}.edu-list{display:flex;flex-direction:column}.edu-item{grid-gap:48px;align-items:start;border-bottom:1px solid hsla(0,0%,100%,.08);border-bottom:1px solid var(--border);display:grid;gap:48px;grid-template-columns:200px 1fr;padding:40px 0;transition:opacity .2s}.edu-item:first-child{border-top:1px solid hsla(0,0%,100%,.08);border-top:1px solid var(--border)}.edu-item:hover{opacity:.8}.edu-period{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;padding-top:4px}.edu-degree{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.edu-school{color:#0091ff;color:var(--accent);font-size:14px;margin-bottom:14px}.edu-desc{color:rgba(242,242,247,.45);color:var(--muted);font-size:14px;font-weight:300;line-height:1.7;margin-bottom:12px}.edu-honors{display:flex;flex-wrap:wrap;gap:8px}.edu-honor-badge{align-items:center;border:1px solid;border-radius:100px;display:inline-flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:500;gap:6px;letter-spacing:.06em;padding:5px 12px}.edu-honor-badge.gold{background:rgba(245,200,66,.08);border-color:rgba(245,200,66,.25);color:#f5c842}.edu-honor-badge.blue{background:rgba(0,194,255,.08);border-color:rgba(0,194,255,.25);color:#00c2ff;color:var(--accent3)}@media (max-width:900px){#education{padding:80px 24px}.edu-item{gap:12px;grid-template-columns:1fr}}#contact{margin:0 auto;max-width:1280px;padding:140px 48px;text-align:center}.contact-eyebrow{color:#0091ff;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;margin-bottom:24px;text-transform:uppercase}.contact-heading{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(48px,6vw,88px);font-weight:800;letter-spacing:-.04em;line-height:.95;margin-bottom:32px}.contact-heading .grad{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#0091ff,#0055d4 60%,#00c2ff);background:linear-gradient(135deg,var(--accent) 0,var(--accent2) 60%,var(--accent3) 100%);-webkit-background-clip:text;background-clip:text}.contact-sub{color:rgba(242,242,247,.45);color:var(--muted);font-size:18px;font-weight:300;line-height:1.6;margin:0 auto 52px;max-width:460px}.contact-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.contact-link-pf{align-items:center;border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;color:rgba(242,242,247,.45)!important;color:var(--muted)!important;display:inline-flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:500;gap:8px;padding:12px 24px;text-decoration:none!important;transition:color .2s,border-color .2s,background .2s}.contact-link-pf:hover{background:hsla(0,0%,100%,.04);background:var(--surface);border-color:hsla(0,0%,100%,.2);color:#f2f2f7!important;color:var(--text)!important}.pf-footer{align-items:center;border-top:1px solid hsla(0,0%,100%,.08);border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:28px 48px;position:relative;z-index:1}.footer-copy{color:rgba(242,242,247,.45);color:var(--muted)}.footer-back,.footer-copy{font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em}.footer-back{align-items:center;color:rgba(242,242,247,.45)!important;color:var(--muted)!important;display:flex;gap:6px;text-decoration:none!important;transition:color .2s}.footer-back:hover{color:#0091ff!important;color:var(--accent)!important}.resume-page{align-items:center;background:#07070f;background:var(--bg);color:#f2f2f7;color:var(--text);display:flex;flex-direction:column;min-height:100vh;padding-bottom:80px;padding-top:100px;position:relative;z-index:1}.resume-page-header{margin-bottom:48px;max-width:640px;padding:0 24px;text-align:center;width:100%}.resume-page-eyebrow{color:#0091ff;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;margin-bottom:16px;text-transform:uppercase}.resume-page-title{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(40px,5vw,64px);font-weight:800;letter-spacing:-.04em;line-height:.95;margin-bottom:12px}.resume-title-grad{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#0091ff,#0055d4);background:linear-gradient(135deg,var(--accent) 0,var(--accent2) 100%);-webkit-background-clip:text;background-clip:text}.resume-page-sub{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;margin-bottom:28px}.resume-download-btn{align-items:center;background:#0091ff;background:var(--accent);border-radius:100px;box-shadow:0 0 32px rgba(0,145,255,.3);color:#fff!important;display:inline-flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:500;gap:8px;padding:12px 28px;text-decoration:none!important;transition:box-shadow .2s,-webkit-transform .2s;transition:transform .2s,box-shadow .2s;transition:transform .2s,box-shadow .2s,-webkit-transform .2s}.resume-download-btn:hover{box-shadow:0 8px 40px rgba(0,145,255,.5);color:#fff!important;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.resume-viewer-wrap{max-width:900px;padding:0 24px}.resume-viewer-card,.resume-viewer-wrap{display:flex;justify-content:center;width:100%}.resume-viewer-card{background:hsla(0,0%,100%,.04);background:var(--surface);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:24px;box-shadow:0 0 80px rgba(0,0,0,.4);overflow:hidden;padding:32px;position:relative}.resume-viewer-card:before{background:linear-gradient(90deg,transparent,#0091ff,transparent);background:linear-gradient(90deg,transparent,var(--accent),transparent);content:"";height:1px;left:60px;position:absolute;right:60px;top:-1px}.resume-doc{display:flex!important;justify-content:center}.resume-doc canvas{border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.5)}.resume-footer-cta{align-items:center;display:flex;flex-direction:column;gap:20px;margin-top:52px;text-align:center}.resume-footer-text{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.resume-contact-btn{align-items:center;border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;color:rgba(242,242,247,.45)!important;color:var(--muted)!important;display:inline-flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:500;gap:8px;padding:12px 28px;text-decoration:none!important;transition:color .2s,border-color .2s,background .2s}.resume-contact-btn:hover{background:hsla(0,0%,100%,.04);background:var(--surface);border-color:hsla(0,0%,100%,.2);color:#f2f2f7!important;color:var(--text)!important}@media (max-width:600px){.resume-viewer-card{border-radius:16px;padding:16px}}@-webkit-keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.reveal{opacity:0;-webkit-transform:translateY(28px);transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),-webkit-transform .7s cubic-bezier(.16,1,.3,1);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),-webkit-transform .7s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;-webkit-transform:none;transform:none}@media (max-width:900px){.pf-nav{padding:16px 24px}.pf-nav-links{gap:20px}#hero{padding:100px 24px 60px}#about{padding:80px 24px}.about-grid{gap:40px;grid-template-columns:1fr}#skills{padding:80px 24px}.skills-categories{grid-template-columns:1fr}#projects{padding:80px 24px}.project-card-pf.featured,.projects-grid{grid-template-columns:1fr}.project-card-pf.featured .project-thumb-pf{height:220px;min-height:220px}#experience{padding:80px 24px}.exp-item{gap:12px;grid-template-columns:1fr}#contact{padding:80px 24px}.pf-footer{flex-direction:column;gap:12px;padding:20px 24px;text-align:center}}@media (max-width:600px){.hero-stats{gap:32px}.pf-nav-links{display:none}.contact-links{align-items:center;flex-direction:column}}.App{position:relative}
/*# sourceMappingURL=main.e69d4cd8.css.map*/