@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--bg:#0b0b0d;--bg-alt:#101014;--surface:#141419;--surface-2:#1b1b21;--surface-3:#24242b;--text:#f5f5f7;--text-secondary:#b8b8c2;--text-muted:#858590;--border:#ffffff1a;--border-strong:#fff3;--purple:#8b5cf6;--purple-light:#b197fc;--purple-soft:#8b5cf621;--yellow:#e8ff3d;--yellow-soft:#e8ff3d1f;--display:"Space Grotesk", Inter, system-ui, sans-serif;--body:Inter, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--container:min(1280px, calc(100% - 48px));--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--shadow:0 24px 80px #00000059}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--body);margin:0;line-height:1.6}body.modal-open,body.is-loading{overflow:hidden}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:var(--yellow);color:#0b0b0d}:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}.site{isolation:isolate;min-height:100vh;position:relative;overflow:clip}.container{width:var(--container);z-index:2;margin-inline:auto;position:relative}.progress{z-index:100;pointer-events:none;background:0 0;height:2px;position:fixed;inset:0 0 auto}.progress span{transform-origin:0;background:linear-gradient(90deg,var(--purple),var(--yellow));width:100%;height:100%;animation:linear both progress;animation-timeline:scroll(root);display:block}.ambient{pointer-events:none;filter:blur(100px);z-index:-1;opacity:.4;border-radius:999px;position:absolute}.ambient-one{background:#8b5cf62e;width:38vw;height:38vw;top:5vh;right:-12vw}.ambient-two{background:#e8ff3d17;width:30vw;height:30vw;top:55vh;left:-14vw}.navbar{z-index:80;border-bottom:1px solid #0000;padding:22px 0;transition:padding .35s,background .35s,border-color .35s;position:fixed;inset:0 0 auto}.navbar.scrolled{-webkit-backdrop-filter:blur(18px);border-color:var(--border);background:#0b0b0db8;padding:14px 0}.nav-inner,.nav-right{align-items:center;display:flex}.nav-inner{justify-content:space-between}.logo{font:700 1.15rem var(--display);letter-spacing:.04em}.logo span,footer strong span{color:var(--yellow)}.desktop-nav{gap:4px;display:flex}.nav-link{color:var(--text-muted);letter-spacing:.09em;text-transform:uppercase;border-radius:999px;padding:9px 13px;font-size:.75rem;transition:color .2s,background .2s,transform .2s}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--surface-2)}.status-pill{border:1px solid var(--border);color:var(--text-muted);font:.68rem var(--mono);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:8px;margin-left:16px;padding:7px 11px;display:flex}.status-pill i{background:var(--yellow);width:6px;height:6px;box-shadow:0 0 10px var(--yellow);border-radius:50%}.icon-button{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text);border-radius:50%;place-items:center;transition:transform .25s,border-color .25s,background .25s;display:grid}.icon-button:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translateY(-2px)}.mobile-toggle{display:none}.mobile-menu{z-index:90;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0b0b0df5;flex-direction:column;justify-content:center;align-items:center;gap:18px;animation:.35s both menu-in;display:flex;position:fixed;inset:0}.mobile-close{position:absolute;top:20px;right:20px}.mobile-link{font:600 clamp(2rem,8vw,4rem) var(--display);letter-spacing:-.04em;opacity:0;animation:.5s cubic-bezier(.2,.7,.2,1) forwards menu-link;animation-delay:calc(var(--i) * 60ms + 80ms);transform:translateY(20px)}.hero{place-items:center;min-height:100svh;padding:150px 0 90px;display:grid;position:relative}.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);align-items:center;gap:clamp(50px,7vw,110px);display:grid}.eyebrow,.section-label,.project-category,.tech-strip,.project-number,.terminal-body,.timeline-year,.cert-year{font-family:var(--mono)}.eyebrow,.section-label{color:var(--purple-light);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;display:block}.hero h1{max-width:950px;font:700 clamp(3.5rem,8.2vw,8rem)/.9 var(--display);letter-spacing:-.065em;margin:14px 0 24px}.hero h1 span,.section h2 span,.philosophy h2 span,.section-contact h2 span{color:var(--yellow)}.hero-sub{max-width:680px;color:var(--text-secondary);margin:0 0 14px;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:500}.hero-copy{max-width:650px;color:var(--text-muted);margin:0 0 34px;font-size:1rem}.cta-row{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 28px;display:flex}.magnetic{transform:translate3d(var(--mx,0),var(--my,0),0);transition:transform .25s cubic-bezier(.2,.8,.2,1);display:inline-block}.btn{letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:13px 20px;font-size:.76rem;font-weight:700;transition:transform .25s,background .25s,border-color .25s;display:inline-flex}.btn-primary{background:var(--yellow);color:#0b0b0d}.btn-primary:hover{transform:translateY(-3px)}.btn-secondary{border-color:var(--border);background:#ffffff05}.btn-secondary:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translateY(-3px)}.tech-strip{color:var(--text-muted);letter-spacing:.12em;font-size:.65rem}.terminal{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(145deg,#1c1c22e6,#0e0e12d1);overflow:hidden;transform:translate(0,0)}.terminal:before{content:"";background:linear-gradient(90deg,transparent,var(--purple),transparent);opacity:.8;height:1px;display:block}.terminal-bar{border-bottom:1px solid var(--border);color:var(--text-muted);font:.68rem var(--mono);align-items:center;gap:7px;padding:15px 18px;display:flex}.terminal-bar i{background:var(--surface-3);border-radius:50%;width:9px;height:9px}.terminal-bar span{margin-left:8px}.terminal-body{padding:28px 24px 32px;font-size:.74rem}.terminal-body>div:first-child{color:var(--text-secondary);margin-bottom:22px}.prompt{color:var(--yellow);margin-right:7px}.terminal-row{color:var(--text-muted);grid-template-columns:82px 15px 1fr;gap:8px;margin:13px 0;display:grid}.terminal-row strong{color:var(--text);font-weight:500}.terminal-status{color:var(--yellow);align-items:center;gap:9px;margin-top:24px;display:flex}.pulse-dot{background:var(--yellow);width:6px;height:6px;box-shadow:0 0 14px var(--yellow);border-radius:50%}.cursor{background:var(--yellow);width:7px;height:14px;margin-left:2px;animation:1s step-end infinite blink}.hero-scroll{color:var(--text-muted);font:.58rem var(--mono);letter-spacing:.12em;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.hero-scroll i{background:linear-gradient(var(--purple),transparent);width:1px;height:42px;animation:1.8s ease-in-out infinite scroll-line}.section{padding:150px 0;scroll-margin-top:90px;position:relative}.section h2{max-width:900px;font:700 clamp(2.8rem,6vw,6.4rem)/.95 var(--display);letter-spacing:-.06em;margin:10px 0 0}.section-intro{max-width:650px;color:var(--text-secondary);margin:24px 0 0}.two-col,.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(50px,8vw,120px);display:grid}.section-copy{color:var(--text-secondary);padding-top:64px;font-size:1.05rem}.section-copy p{max-width:60ch;margin:0 0 22px}.about-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px;display:grid}.about-stats div{border-top:1px solid var(--border);padding:18px}.about-stats strong{font:600 2rem var(--display);color:var(--text);display:block}.about-stats span{color:var(--text-muted);font-size:.76rem}.skill-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:60px;display:grid}.skill-card{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(150deg,#ffffff09,#ffffff03);min-height:230px;padding:25px;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,background .35s;position:relative;overflow:hidden}.skill-card:after{content:"";background:var(--purple);filter:blur(50px);opacity:0;border-radius:50%;width:150px;height:150px;transition:opacity .4s;position:absolute;bottom:-80px;right:-80px}.skill-card:hover{background:linear-gradient(150deg,#8b5cf617,#ffffff04);border-color:#8b5cf673;transform:translateY(-8px)}.skill-card:hover:after{opacity:.25}.card-index{color:var(--text-muted);font:.68rem var(--mono)}.skill-card h3{font:600 1.45rem var(--display);margin:38px 0 22px}.skill-tags,.tag-row{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{border:1px solid var(--border);color:var(--text);background:#ffffff08;border-radius:999px;align-items:center;gap:7px;padding:6px 11px;font-size:.72rem;font-weight:500;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;display:inline-flex}.skill-tag:hover{background:#e8ff3d0f;border-color:#e8ff3d73;transform:translateY(-2px);box-shadow:0 4px 14px #0000004d}.skill-tag svg{flex-shrink:0}.tag-row span{border:1px solid var(--border);color:var(--text-secondary);background:#ffffff06;border-radius:999px;padding:7px 9px;font-size:.68rem}.project-list{grid-template-columns:1fr;gap:36px;margin-top:62px;display:grid}.project-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s;overflow:hidden}.project-card:hover{border-color:#8b5cf673;transform:translateY(-7px);box-shadow:0 30px 100px #0000004d}.project-open{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(320px,1.05fr) minmax(0,.95fr);align-items:stretch;padding:0;display:grid}.project-image{background:#0f0f12;height:100%;min-height:400px;position:relative;overflow:hidden}.project-image:after{content:"";pointer-events:none;background:linear-gradient(#0000 45%,#000000a6);position:absolute;inset:0}.project-image img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;display:block;position:absolute;inset:0}.project-card:hover .project-image img{filter:saturate(1.08);transform:scale(1.045)}.project-number{z-index:2;color:var(--yellow);font-size:.7rem;position:absolute;top:20px;left:20px}.project-arrow{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.65;background:#0b0b0d8c;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:42px;height:42px;transition:transform .35s,opacity .35s;display:grid;position:absolute;top:20px;right:20px;transform:translateY(5px)rotate(-20deg)}.project-card:hover .project-arrow{opacity:1;transform:translateY(0)rotate(0)}.project-content{flex-direction:column;justify-content:space-between;padding:clamp(32px,4vw,54px);display:flex}.project-header{flex-direction:column;display:flex}.project-category{color:var(--purple-light);letter-spacing:.12em;font-size:.65rem}.project-content h3{font:600 clamp(2rem,3.6vw,3.2rem)/1.05 var(--display);letter-spacing:-.05em;margin:14px 0 3px}.project-subtitle{color:var(--text-secondary);margin:0 0 16px;font-size:.95rem;font-weight:500}.project-desc{max-width:54ch;color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.65}.project-footer{border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding-top:20px;display:flex}.view-label{color:var(--text);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:8px;font-size:.7rem;font-weight:700;display:inline-flex}.view-label svg{transition:transform .25s}.project-card:hover .view-label svg{transform:translate(4px)}.journey-grid{grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);margin-top:65px;display:grid}.subheading{font:600 1rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin:0 0 32px}.timeline{border-left:1px solid var(--border);padding-left:28px}.timeline-item{padding:0 0 48px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--purple);width:9px;height:9px;box-shadow:0 0 0 5px var(--purple-soft);border-radius:50%;position:absolute;top:5px;left:-33px}.timeline-item:first-child .timeline-dot{background:var(--yellow);box-shadow:0 0 0 5px var(--yellow-soft)}.timeline-year{color:var(--text-muted);font-size:.68rem}.timeline-item h3,.education-card h3{font:600 1.35rem var(--display);margin:8px 0 5px}.timeline-org,.timeline-item p:last-child,.education-card p{color:var(--text-muted);font-size:.9rem}.timeline-org{color:var(--text-secondary);margin:0 0 7px}.education-list{gap:10px;display:grid}.education-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);justify-content:space-between;gap:18px;padding:20px;transition:transform .3s,border-color .3s;display:flex}.education-card:hover{border-color:var(--border-strong);transform:translate(5px)}.education-card>div>span{color:var(--purple-light);font:.65rem var(--mono)}.education-card p{max-width:52ch;margin:0}.education-card strong{color:var(--yellow);font:500 .68rem var(--mono);white-space:nowrap}.cert-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:60px;display:grid}.cert-featured-wrap{grid-column:1/-1}.cert-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;justify-content:space-between;min-height:220px;padding:28px;transition:transform .35s,border-color .35s,box-shadow .35s;display:flex}.cert-card:hover{border-color:#8b5cf673;transform:translateY(-5px);box-shadow:0 24px 70px #00000059}.cert-card-featured{background:linear-gradient(145deg,#e8ff3d0a,#141419f2);border-color:#e8ff3d4d}.cert-card-featured:hover{border-color:var(--yellow);box-shadow:0 24px 80px #e8ff3d17}.cert-card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.cert-issuer-badge{font:.66rem var(--mono);color:var(--purple-light);background:var(--purple-soft);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;display:inline-flex}.cert-verified-pill{font:.64rem var(--mono);color:#4ade80;text-transform:uppercase;letter-spacing:.05em;background:#4ade801a;border:1px solid #4ade8033;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.cert-verified-pill i{background:#4ade80;border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #4ade80}.cert-card h3{font:600 1.25rem var(--display);letter-spacing:-.03em;margin:0 0 8px}.cert-card-featured h3{font-size:clamp(1.4rem,2.5vw,2rem)}.cert-highlight{color:var(--text-muted);max-width:60ch;margin:0 0 20px;font-size:.86rem;line-height:1.6}.cert-card-footer{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:16px;display:flex}.cert-date{color:var(--text-muted);font:.68rem var(--mono)}.cert-verify-link{border:1px solid var(--border);color:var(--text);font:700 .7rem var(--mono);text-transform:uppercase;letter-spacing:.08em;background:#ffffff05;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;transition:transform .2s,border-color .2s,color .2s,background .2s;display:inline-flex}.cert-verify-link:hover{color:#0b0b0d;background:var(--yellow);border-color:var(--yellow);transform:translateY(-2px)}.philosophy{background:radial-gradient(circle at 50% 40%,#8b5cf617,#0000 45%)}.philosophy-inner{text-align:center}.philosophy h2{font:700 clamp(3rem,8vw,8rem)/.88 var(--display);letter-spacing:-.065em;margin:18px auto 26px}.philosophy p{max-width:580px;color:var(--text-secondary);margin:auto}.section-contact{padding-bottom:120px}.contact-grid{align-items:end}.section-contact h2{max-width:850px;font:700 clamp(3rem,6.8vw,7rem)/.9 var(--display);letter-spacing:-.065em;margin:16px 0 22px}.section-contact p{max-width:58ch;color:var(--text-secondary)}.contact-list{gap:10px;display:grid}.contact-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:14px;padding:17px;transition:transform .3s,border-color .3s,background .3s;display:flex}.contact-card:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translate(-6px)}.contact-card>span:nth-child(2){flex:1}.contact-card small{color:var(--text-muted);font:.62rem var(--mono);text-transform:uppercase;letter-spacing:.08em;display:block}.contact-card strong{color:var(--text);word-break:break-word;margin-top:3px;font-size:.9rem;font-weight:500;display:block}.contact-icon{background:var(--purple-soft);width:38px;height:38px;color:var(--purple-light);border-radius:10px;flex:0 0 38px;place-items:center;font-weight:700;display:grid}footer{border-top:1px solid var(--border);padding:46px 0 34px}.footer-inner{justify-content:space-between;align-items:end;gap:24px;display:flex}.footer-inner>div>strong{font:700 1.1rem var(--display)}.footer-inner p{color:var(--text-muted);margin:6px 0 5px;font-size:.75rem}.footer-inner small{color:var(--text-muted);font-size:.68rem}.back-top{border:1px solid var(--border);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;gap:8px;padding:10px 15px;font-size:.7rem;display:inline-flex}.back-top:hover{border-color:var(--border-strong);color:var(--text)}.modal-backdrop{z-index:110;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#030305d1;place-items:center;padding:30px;animation:.25s both fade-in;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-alt);width:min(1100px,100%);max-height:calc(100svh - 60px);animation:.4s cubic-bezier(.2,.8,.2,1) both modal-in;overflow:auto;box-shadow:0 40px 140px #0000008c}.modal-head{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);background:#101014e6;justify-content:space-between;align-items:start;gap:20px;padding:26px 28px 20px;display:flex;position:sticky;top:0}.modal-head h2{font:700 clamp(2rem,5vw,4rem)/.95 var(--display);letter-spacing:-.05em;margin:5px 0 0}.modal-body{grid-template-columns:1.05fr .95fr;gap:30px;padding:28px;display:grid}.gallery-frame{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-md);background:#0c0c0f;position:relative;overflow:hidden}.gallery-frame img{object-fit:contain;width:100%;height:100%;display:block}.gallery-button{border:1px solid var(--border);width:42px;height:42px;color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0cbf;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gallery-button:hover{background:var(--surface-2)}.gallery-button.prev{left:12px}.gallery-button.next{right:12px}.dots{justify-content:center;gap:6px;margin-top:12px;display:flex}.dots button{background:var(--text-muted);opacity:.35;border:0;border-radius:50%;width:9px;height:9px;padding:0}.dots button.active{background:var(--purple);opacity:1;border-radius:999px;width:25px}.modal-copy{padding:5px 5px 20px}.modal-copy h3{font:600 1.7rem var(--display);margin:12px 0 16px}.modal-copy p{color:var(--text-secondary);font-size:.92rem}.modal-copy h4{font:600 1rem var(--display);margin:28px 0 10px}.modal-copy ul{color:var(--text-secondary);margin:0;padding-left:20px;font-size:.88rem}.modal-copy li{margin:6px 0}.highlight{border-left:2px solid var(--yellow);background:var(--yellow-soft);margin:22px 0;padding:16px}.highlight span{color:var(--text-muted);font:.6rem var(--mono);letter-spacing:.12em;display:block}.highlight strong{color:var(--text);margin-top:5px;font-size:.88rem;display:block}.modal-tags{margin-top:22px}.modal-link{margin-top:24px}@media (prefers-reduced-motion:no-preference){.ambient-one{animation:26s ease-in-out infinite alternate ambient-drift}.ambient-two{animation:32s ease-in-out infinite alternate ambient-drift-two}}@keyframes blink{50%{opacity:0}}@keyframes scroll-line{0%,to{transform-origin:top;opacity:.4;transform:scaleY(.4)}50%{transform-origin:top;opacity:1;transform:scaleY(1)}}@keyframes ambient-drift{to{transform:translate(-25px,22px)scale(1.08)}}@keyframes ambient-drift-two{to{transform:translate(35px,-20px)scale(1.12)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:none}}@keyframes menu-in{0%{opacity:0}to{opacity:1}}@keyframes menu-link{to{opacity:1;transform:none}}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hero{min-height:100svh;padding:120px 0 80px;overflow:hidden}.hero-grid-motion{grid-template-columns:minmax(0,1fr) minmax(240px,.28fr);gap:clamp(18px,3vw,60px);width:min(1380px,100% - 32px)}.hero-orbit-stage{isolation:isolate;place-items:center;min-height:min(760px,78svh);display:grid;position:relative}.hero-ribbons{z-index:-1;pointer-events:auto;transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0);transition:transform .7s cubic-bezier(.2,.8,.2,1);position:absolute;inset:-5% -3%}.hero-ribbons svg{width:100%;height:100%;display:block;overflow:visible}.ribbon-layer{transform-origin:50%}.ribbon-path{stroke-dasharray:900 1800;animation:12s linear infinite ribbon-flow}.ribbon-path-alt{animation-duration:16s;animation-direction:reverse}.ribbon-points circle{fill:var(--yellow);filter:drop-shadow(0 0 8px var(--yellow));animation:2.8s ease-in-out infinite alternate point-pulse}.ribbon-points circle:nth-child(2){animation-delay:.7s}.ribbon-points circle:nth-child(3){animation-delay:1.3s}.ribbon-points circle:nth-child(4){animation-delay:1.8s}.hero-orbit{pointer-events:none;border:1px solid #e8ff3d80;border-radius:50%;position:absolute}.orbit-one{width:min(60vw,680px);height:min(31vw,350px);transform:rotate(-16deg)}.orbit-two{border-color:#8b5cf638;width:min(48vw,540px);height:min(25vw,290px);transform:rotate(26deg)}.hero-orbit:after{content:"";background:var(--yellow);width:7px;height:7px;box-shadow:0 0 18px var(--yellow);border-radius:50%;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.hero-core{z-index:3;text-align:center;width:min(720px,85%);position:relative}.hero-core .eyebrow{color:var(--text-muted);letter-spacing:.18em;font-size:.64rem}.hero-core h1{max-width:none;font:700 clamp(3rem,7vw,7.4rem)/.83 var(--display);letter-spacing:-.075em;text-wrap:balance;text-shadow:0 0 35px #e8ff3d14;margin:14px 0 10px}.hero-core h1:first-line{color:var(--text)}.hero-core h1{background:linear-gradient(#fff 0%,#d8d8d0 48%,#e8ff3d 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-domain{color:var(--yellow);font:500 clamp(.72rem,1.3vw,1rem) var(--mono);letter-spacing:.22em;text-transform:uppercase;margin:0}.hero-side-copy{border-left:1px solid var(--border);align-self:center;padding:28px 0 28px 20px}.hero-side-copy p{color:var(--text-secondary);max-width:30ch;margin:16px 0 26px;font-size:clamp(1rem,1.6vw,1.25rem)}.hero-tech{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:132px;color:var(--text);font:500 .95rem var(--display);background:linear-gradient(145deg,#1c1c21e6,#0d0d11c2);border:1px solid #ffffff1f;border-radius:18px;align-items:center;gap:11px;padding:13px 18px;transition:transform .35s,border-color .35s,box-shadow .35s;display:flex;position:absolute;transform:translate(0,0);box-shadow:0 18px 50px #00000040}.hero-tech:hover{border-color:#e8ff3d66;transform:translateY(-7px)rotate(-1deg);box-shadow:0 20px 60px #e8ff3d14}.hero-tech-icon{min-width:30px;color:var(--yellow);font:700 .85rem var(--mono);place-items:center;display:grid}.tech-java{top:12%;left:13%;transform:rotate(-4deg)}.tech-react{top:17%;right:13%;transform:rotate(3deg)}.tech-mysql{bottom:25%;left:7%;transform:rotate(6deg)}.tech-python{bottom:21%;right:10%;transform:rotate(-4deg)}.hero-code{z-index:1;color:#5e6068;opacity:.55;font:.65rem/1.8 var(--mono);pointer-events:none;position:absolute}.hero-code-left{top:4%;left:-1%;transform:rotate(-2deg)}.hero-code-right{border-top:1px solid #ffffff0d;border-left:1px solid #ffffff14;padding:16px 20px;top:3%;right:1%}.hero-code-right span{color:#54d14f}.hero-caption{color:#666873;font:.66rem/1.8 var(--mono);border-left:1px solid #ffffff1a;padding:12px 18px;position:absolute;bottom:7%;left:7%;transform:rotate(-5deg)}.hero-caption i{vertical-align:-2px;background:var(--yellow);width:6px;height:14px;margin-left:6px;animation:1s step-end infinite blink;display:inline-block}.hero-scroll{z-index:5}.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.skill-card{flex-direction:column;min-height:210px;display:flex}.skill-card-top{justify-content:space-between;align-items:center;display:flex}.skill-count{color:var(--text-muted);font:.62rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.skill-card h3{margin:28px 0 20px}.skill-tags{margin-top:auto}.journey-stack{gap:80px;margin-top:65px;display:grid}.journey-block{min-width:0}.education-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.education-card{align-items:flex-start;min-height:150px}.education-main{flex:1;min-width:0}.education-card strong{padding-top:3px}@media (prefers-reduced-motion:no-preference){.hero-tech{animation:6s ease-in-out infinite alternate tech-float}.tech-react{animation-delay:-1.4s}.tech-mysql{animation-delay:-2.4s}.tech-python{animation-delay:-3.2s}}@keyframes tech-float{to{translate:0 -6px}}@keyframes ribbon-flow{to{stroke-dashoffset:-1800px}}@keyframes point-pulse{to{opacity:.45;transform:scale(.72)}}.particle-field{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.particle-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hero-grid-motion{grid-template-columns:1fr;place-items:center;gap:clamp(20px,4vh,48px);width:min(1180px,100% - 32px);margin-inline:auto}.hero-orbit-stage{width:100%}.hero-side-copy{border-left:0;border-top:1px solid var(--border);text-align:center;width:min(760px,100%);margin-inline:auto;padding:26px 0 0}.hero-side-copy p{max-width:60ch;margin-inline:auto}.hero-side-copy .cta-row{justify-content:center}.hero-side-copy .section-label{color:var(--purple-light)}@media (width<=620px){.hero-grid-motion{gap:20px}.hero-side-copy{padding-top:20px}}@media (prefers-reduced-motion:reduce){.particle-field{opacity:.35}}.page-loader{z-index:9999;-webkit-user-select:none;user-select:none;will-change:transform, opacity;background:#08080a;flex-direction:column;justify-content:center;align-items:center;transition:transform .7s cubic-bezier(.76,0,.24,1),opacity .5s;display:flex;position:fixed;inset:0}.page-loader.is-exiting{pointer-events:none;transform:translateY(-100%)}.loader-ambient{filter:blur(50px);pointer-events:none;background:radial-gradient(circle,#8b5cf633 0%,#e8ff3d14 42%,#0000 70%);border-radius:50%;width:min(520px,85vw);height:min(520px,85vw);animation:3s ease-in-out infinite alternate loader-pulse;position:absolute}@keyframes loader-pulse{0%{opacity:.6;transform:scale(.92)}to{opacity:.95;transform:scale(1.08)}}.loader-content{z-index:2;text-align:center;flex-direction:column;align-items:center;width:min(340px,100% - 48px);transition:opacity .35s,transform .35s;display:flex;position:relative}.page-loader.is-exiting .loader-content{opacity:0;transform:translateY(-16px)scale(.96)}.loader-logo{font:700 clamp(2.4rem, 6vw, 3.2rem) var(--display);letter-spacing:.02em;color:var(--text);margin-bottom:6px}.loader-logo span{color:var(--yellow);text-shadow:0 0 16px #e8ff3d99}.loader-subtitle{color:var(--text-muted);font:.68rem var(--mono);text-transform:uppercase;letter-spacing:.18em;margin-bottom:32px}.loader-bar-wrap{background:#ffffff14;border-radius:999px;width:100%;height:3px;margin-bottom:14px;position:relative;overflow:hidden}.loader-bar-fill{background:linear-gradient(90deg, var(--purple), var(--yellow));border-radius:999px;height:100%;transition:width .15s ease-out;box-shadow:0 0 14px #e8ff3d99}.loader-footer{width:100%;font:.65rem var(--mono);justify-content:space-between;align-items:center;display:flex}.loader-status{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.loader-percent{color:var(--yellow);letter-spacing:.05em;font-weight:600}@media (prefers-reduced-motion:reduce){.page-loader.is-exiting{opacity:0;transform:none}.loader-ambient{animation:none}}.reveal{opacity:0;filter:blur(5px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1),filter .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0s);transform:translateY(42px)}.reveal.is-visible{opacity:1;filter:none;transform:none}.project-card,.skill-card,.cert-card,.education-card,.contact-card{will-change:transform}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;filter:none;transform:none}.magnetic{transform:none!important}}@media (width<=1100px){.desktop-nav{display:none}.mobile-toggle{display:grid}.status-pill{display:none}.hero-grid{grid-template-columns:1fr;max-width:900px}.hero-terminal{width:100%;max-width:700px}.skill-grid,.cert-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){:root{--container:min(100% - 40px, 720px)}.section{padding:105px 0}.two-col,.contact-grid,.journey-grid{grid-template-columns:1fr;gap:45px}.section-copy{padding-top:0}.project-open{grid-template-columns:1fr}.project-image{aspect-ratio:16/10;height:auto;min-height:260px}.project-image img{height:100%;min-height:260px;position:static}.cert-grid{grid-template-columns:1fr}.cert-featured-wrap{grid-column:auto}.modal-body{grid-template-columns:1fr}}@media (width<=620px){:root{--container:calc(100% - 32px)}.hero{padding-top:125px}.hero h1{font-size:clamp(3.2rem,16vw,5.4rem)}.terminal-body{padding:22px 18px 26px}.terminal-row{grid-template-columns:68px 10px 1fr;font-size:.65rem}.skill-grid,.about-stats{grid-template-columns:1fr}.about-stats div{justify-content:space-between;align-items:baseline;display:flex}.project-content{padding:26px 20px}.project-footer{flex-direction:column;align-items:start}.education-card{flex-direction:column}.education-card strong{white-space:normal}.modal-backdrop{padding:10px}.modal{border-radius:20px;max-height:calc(100svh - 20px)}.modal-head,.modal-body{padding:20px}.footer-inner{flex-direction:column;align-items:start}.hero-scroll{display:none}}@media (width<=1100px){.hero-grid-motion{grid-template-columns:1fr}.hero-orbit-stage{min-height:min(720px,78svh)}.hero-side-copy{border-left:0;border-top:1px solid var(--border);width:min(720px,100%);margin:0 auto;padding:24px 0 10px}.hero-side-copy p{max-width:55ch}}@media (width<=820px){.hero-orbit-stage{min-height:650px}.orbit-one{width:80vw;height:42vw}.orbit-two{width:70vw;height:36vw}.hero-tech{min-width:112px;padding:11px 14px;font-size:.82rem}.tech-java{left:4%}.tech-react{right:4%}.tech-mysql{left:1%}.tech-python{right:2%}.hero-code-left{display:none}.hero-code-right{top:1%;right:0}.journey-stack{gap:60px}.education-list{grid-template-columns:1fr}}@media (width<=620px){.hero{padding-top:105px}.hero-grid-motion{width:calc(100% - 24px)}.hero-orbit-stage{min-height:560px}.hero-core{width:92%}.hero-core h1{font-size:clamp(2.5rem,13vw,4.4rem)}.hero-core .eyebrow{letter-spacing:.12em;font-size:.52rem}.hero-domain{letter-spacing:.13em;font-size:.62rem}.hero-tech{border-radius:14px;gap:7px;min-width:96px;padding:9px 11px;font-size:.72rem}.hero-tech-icon{min-width:22px;font-size:.65rem}.tech-java{top:13%;left:0}.tech-react{top:19%;right:0}.tech-mysql{bottom:24%;left:0}.tech-python{bottom:18%;right:0}.hero-code-right{display:none}.hero-caption{font-size:.56rem;bottom:4%;left:4%}.hero-ribbons{inset:0 -30%}.hero-side-copy{padding-top:20px}.hero-side-copy p{font-size:.94rem}.skill-grid{grid-template-columns:1fr}.education-card{min-height:0}}.custom-cursor-container{pointer-events:none;z-index:99999;contain:strict;width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.cursor-canvas{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.cursor-pointer-wrap{pointer-events:none;will-change:transform, opacity;opacity:0;transition:opacity .22s ease-out;position:absolute;top:0;left:0}.cursor-pointer-wrap.is-visible{opacity:1}.cursor-arrow-svg{transform-origin:0 0;filter:drop-shadow(0 0 5px #ffe600d9)drop-shadow(0 0 12px #ffd70080)drop-shadow(0 2px 4px #0009);width:28px;height:28px;transition:transform .16s cubic-bezier(.2,.8,.2,1),filter .2s;display:block}.cursor-pointer-wrap.is-hovering .cursor-arrow-svg{filter:drop-shadow(0 0 8px #ffeb3b)drop-shadow(0 0 18px #ffd700cc)drop-shadow(0 2px 6px #000000b3);transform:scale(1.18)rotate(-8deg)}.cursor-pointer-wrap.is-clicking .cursor-arrow-svg{filter:drop-shadow(0 0 4px #ffe600f2)drop-shadow(0 0 8px #ffd70099);transform:scale(.88)rotate(0)}@keyframes starCoreGlimmer{0%,to{opacity:.9}50%{opacity:1;filter:drop-shadow(0 0 4px #fff)}}.cursor-star-glint{animation:2s ease-in-out infinite starCoreGlimmer}@media (pointer:fine){body.has-custom-cursor,body.has-custom-cursor a,body.has-custom-cursor button,body.has-custom-cursor [role=button],body.has-custom-cursor input,body.has-custom-cursor select,body.has-custom-cursor textarea,body.has-custom-cursor label{cursor:none!important}}@media (pointer:coarse),(hover:none){.custom-cursor-container{display:none!important}}
