@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,600;0,700;1,300;1,400&family=JetBrains+Mono:wght@300;400;500&family=Outfit:wght@300;400;500&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}:root{--bg:#050508;--surface:#0b0b11;--elevated:#111119;--border:#1c1c2c;--bord-hi:#2a2a3e;--accent:#7dcaf1;--acc-dim:#7dcaf121;--acc-glow:#7dcaf112;--fg:#eaeaf4;--fg-2:#aaaac8;--fg-3:#686884;--fg-4:#404058;--serif:"Cormorant Garamond",serif;--mono:"JetBrains Mono",monospace;--sans:"Outfit",sans-serif}body{background:linear-gradient(90deg,#050508,#111128,#050508);color:var(--fg);cursor:none;font-family:var(--sans);font-weight:300;overflow-x:hidden}body:before{background-image:radial-gradient(circle,rgba(125,202,241,.055) 1px,#0000 0);background-size:38px 38px;content:"";inset:0;pointer-events:none;position:fixed;z-index:0}#preloader{align-items:center;background-color:var(--bg);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:999999}#preloader-none{opacity:0;pointer-events:none;transition:opacity .4s ease}#no-scroll{height:100vh;overflow:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}#cur{background:var(--accent);border-radius:50%;height:7px;mix-blend-mode:screen;width:7px;z-index:9999}#cur,#cur-ring{pointer-events:none;position:fixed}#cur-ring{border:1px solid #7dcaf161;border-radius:50%;height:34px;transition:width .22s ease,height .22s ease,opacity .22s ease;width:34px;z-index:9998}nav{align-items:center;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#0b0b11c7;border:1px solid var(--border);border-radius:50px;display:flex;left:50%;padding:12px 28px;position:fixed;top:22px;transform:translateX(-50%);z-index:200}.nav-logo{color:var(--fg);font-family:var(--serif);font-size:1.9rem;font-weight:600;letter-spacing:.04em;margin-right:32px;text-decoration:none}.nav-links{display:flex;gap:4px;list-style:none}.nav-links a{border-radius:50px;color:var(--fg-2);font-family:var(--mono);font-size:.86rem;letter-spacing:.08em;padding:8px 18px;text-decoration:none;transition:color .2s,background .2s}.nav-links a:hover{background:var(--acc-dim);color:var(--accent)}.hero{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 340px;margin-top:-140px;min-height:100vh;overflow:hidden;padding:0 30vw;position:relative}.hero:before{background:radial-gradient(ellipse at 30% 40%,#7dcaf10d 0,#0000 65%);content:"";height:100%;left:-10%;pointer-events:none;position:absolute;top:-20%;width:65%}.hero-left{position:relative;z-index:1}.eyebrow{align-items:center;animation:fadeUp .6s ease .2s forwards;color:var(--accent);display:flex;font-family:var(--mono);font-size:.78rem;gap:12px;letter-spacing:.2em;margin-bottom:20px;opacity:0;text-transform:uppercase}.eyebrow:before{background:var(--accent);content:"";height:1px;opacity:.7;width:28px}.hero-name{font-family:var(--serif);font-size:clamp(5.5rem,11.5vw,10.5rem);font-weight:700;letter-spacing:-.02em;line-height:.9;margin-bottom:28px}.hero-name .clip{display:block;overflow:hidden}.hero-name .clip span{animation:slideUp .95s cubic-bezier(.16,1,.3,1) forwards;display:block;opacity:0;transform:translateY(105%)}.hero-name .clip:first-child span{animation-delay:.3s}.hero-name .clip:nth-child(2) span{-webkit-text-stroke:1.5px #7dcaf180;animation-delay:.46s;color:#0000}.hero-sub{animation:fadeUp .6s ease .7s forwards;color:var(--fg-3);font-size:.9rem;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.hero-role,.hero-sub{font-family:var(--mono);opacity:0}.hero-role{align-items:center;animation:fadeUp .6s ease .85s forwards;color:var(--fg-2);display:flex;font-size:1.05rem;gap:8px;margin-bottom:48px;min-height:1.4em}.blink{animation:blink 1s step-end infinite;background:var(--accent);height:1em;width:2px}.cta{animation:fadeUp .6s ease 1.05s forwards;display:flex;gap:14px;opacity:0}.btn-fill{background:var(--accent);border:none;border-radius:3px;color:var(--bg);cursor:none;font-family:var(--mono);font-size:.82rem;letter-spacing:.1em;padding:13px 26px;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.btn-fill:hover{background:#9bd8f5;box-shadow:0 14px 44px #7dcaf138;transform:translateY(-2px)}.btn-ghost{background:#0000;border:1px solid var(--bord-hi);border-radius:3px;color:var(--fg-2);cursor:none;font-family:var(--mono);font-size:.82rem;letter-spacing:.1em;padding:13px 26px;text-decoration:none;transition:color .22s,border-color .22s,transform .22s}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.scroll-hint{align-items:center;animation:fadeIn .6s ease 1.4s forwards;bottom:150px;display:flex;flex-direction:column;gap:8px;left:18vw;opacity:0;position:absolute}.scroll-hint span{color:var(--fg-4);font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-lr}.scroll-line{animation:scrollLine 2s ease-in-out 2s infinite;background:var(--fg-4);height:50px;width:1px}.hero-right{animation:fadeIn .9s ease .55s forwards;opacity:0;position:relative;z-index:1}.card-frame{background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden;position:relative}.card-frame:after{background:linear-gradient(90deg,#0000,var(--accent),#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.card-body{align-items:center;display:flex;flex-direction:column;padding:32px 28px 20px}.orbit-svg{height:200px;margin-bottom:20px;width:200px}.card-stats{border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);width:100%}.stat{border-right:1px solid var(--border);padding:18px 0;text-align:center}.stat:last-child{border-right:none}.stat-val{color:var(--fg);font-family:var(--serif);font-size:1.8rem;font-weight:600;line-height:1}.stat-lbl{color:var(--fg-3);font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;margin-top:4px;text-transform:uppercase}.status-badge{align-items:center;background:var(--elevated);border-top:1px solid var(--border);color:var(--fg-2);display:flex;font-family:var(--mono);font-size:.74rem;gap:8px;padding:8px 14px}.status-dot{animation:pulse 2s ease infinite;background:#4ade80;border-radius:50%;box-shadow:0 0 8px #4ade80;height:6px;width:6px}.marquee-section{border-bottom:1px solid var(--border);border-top:1px solid var(--border);margin-top:-130px;overflow:hidden;white-space:nowrap}.marquee-track{animation:marquee 34s linear infinite;display:inline-flex}.marquee-item{border-right:1px solid var(--border);color:var(--fg-3);font-family:var(--mono);font-size:.78rem;letter-spacing:.15em;padding:14px 28px;text-transform:uppercase;transition:color .3s;white-space:nowrap}.marquee-item:hover{color:var(--accent)}section{padding:110px 7vw;position:relative}.sec-label{align-items:center;color:var(--accent);display:flex;font-family:var(--mono);font-size:.75rem;gap:12px;letter-spacing:.2em;margin-bottom:14px;text-transform:uppercase}.sec-label:before{background:var(--accent);content:"";height:1px;width:22px}.sec-title{color:var(--fg);font-family:var(--serif);font-size:clamp(2.6rem,5.5vw,4.4rem);font-weight:600;line-height:1.08;margin-bottom:60px}.sec-title em{color:#7dcaf1b3;font-style:italic}#about{padding-top:220px}#projects{padding-top:160px}.about-wrap{grid-gap:80px;align-items:start;display:grid;gap:80px;grid-template-columns:1fr 1fr}.about-text p{color:var(--fg-2);font-size:1.1rem;line-height:1.88;margin-bottom:18px}.about-text p strong{color:var(--fg);font-weight:500}.about-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.about-tag{background:var(--surface);border:1px solid var(--border);border-radius:2px;color:var(--fg-2);font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;padding:5px 12px}.skills-box{grid-gap:1px;background:var(--border);border:1px solid var(--border);border-radius:6px;display:grid;gap:1px;grid-template-columns:1fr 1fr;overflow:hidden}.skill-grp{background:var(--surface);padding:26px}.skill-grp-lbl{color:var(--accent);font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;margin-bottom:14px;text-transform:uppercase}.skill-list{display:flex;flex-direction:column;gap:9px;list-style:none}.skill-list li{align-items:center;color:var(--fg-2);display:flex;font-size:.94rem;gap:10px}.skill-list li:before{background:var(--fg-3);border-radius:50%;content:"";flex-shrink:0;height:4px;width:4px}.proj-featured{grid-gap:48px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;display:grid;gap:48px;grid-template-columns:1fr 1fr;margin-bottom:1px;overflow:hidden;padding:44px;position:relative;transition:background .3s}.proj-featured:after{background:linear-gradient(90deg,#0000,var(--accent),#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.proj-featured:hover{background:var(--elevated)}.feat-eyebrow{color:var(--accent);font-family:var(--mono);font-size:.72rem;letter-spacing:.15em;margin-bottom:12px}.feat-title{color:var(--fg);font-family:var(--serif);font-size:2.4rem;font-weight:600;line-height:1.1;margin-bottom:12px}.feat-desc{color:var(--fg-2);font-size:.98rem;line-height:1.78;margin-bottom:24px}.feat-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:28px}.feat-visual{align-items:center;background:var(--elevated);border:1px solid var(--border);border-radius:4px;color:var(--fg-3);display:flex;flex-direction:column;font-family:var(--mono);font-size:.8rem;gap:12px;height:220px;justify-content:center}.feat-visual-icon{font-size:2.5rem}.proj-grid{grid-gap:1px;background:var(--border);border:1px solid var(--border);border-radius:0 0 8px 8px;display:grid;gap:1px;grid-template-columns:repeat(3,1fr);overflow:hidden}.proj-card{background:var(--surface);overflow:hidden;padding:36px 30px;position:relative;transition:background .3s}.proj-card:before{background:linear-gradient(180deg,var(--acc-dim) 0,#0000 100%);content:"";height:0;left:0;position:absolute;right:0;top:0;transition:height .45s ease}.proj-card:hover{background:var(--elevated)}.proj-card:hover:before{height:100%}.proj-card:after{background:linear-gradient(90deg,#0000,var(--accent),#0000);content:"";height:2px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .4s ease}.proj-card:hover:after{opacity:1}.proj-num{color:var(--fg-3);font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;margin-bottom:40px;transition:color .3s}.proj-card:hover .proj-num{color:var(--accent)}.proj-icon{align-items:center;background:var(--elevated);border:1px solid var(--bord-hi);border-radius:7px;display:flex;font-size:1rem;height:40px;justify-content:center;margin-bottom:16px;transition:border-color .3s;width:40px}.proj-card:hover .proj-icon{border-color:#7dcaf166}.proj-title{color:var(--fg);font-family:var(--serif);font-size:1.35rem;font-weight:600;line-height:1.2;margin-bottom:10px}.proj-desc{color:var(--fg-2);font-size:.92rem;line-height:1.73;margin-bottom:22px}.proj-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}.tag{background:var(--bg);border:1px solid var(--border);border-radius:2px;color:var(--fg-2);font-family:var(--mono);font-size:.7rem;padding:3px 9px;transition:border-color .2s,color .2s}.proj-card:hover .tag{border-color:#7dcaf133}.proj-links{display:flex;gap:18px}.proj-link{color:var(--fg-3);font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;text-decoration:none;transition:color .2s}.proj-link:hover{color:var(--accent)}.recs-grid{grid-gap:1px;border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr 1fr;margin-bottom:1px}.recs-grid,.recs-grid-3{background:var(--border);display:grid;gap:1px;overflow:hidden}.recs-grid-3{grid-gap:1px;border:1px solid var(--border);border-radius:0 0 8px 8px;grid-template-columns:repeat(3,1fr)}.rec-card{background:var(--surface);padding:36px 32px;position:relative}.rec-card:after{background:linear-gradient(90deg,#0000,#7dcaf140,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.rec-li-badge{align-items:center;background:#0a66c21f;border:1px solid #0a66c240;border-radius:2px;color:#0a66c2;display:inline-flex;font-family:var(--mono);font-size:.68rem;gap:6px;letter-spacing:.06em;margin-bottom:16px;padding:3px 9px}.rec-quote{color:var(--fg-2);font-family:var(--serif);font-size:1.05rem;font-style:italic;line-height:1.82;margin-bottom:26px;padding-left:18px;position:relative}.rec-quote:before{background:var(--accent);border-radius:2px;bottom:4px;content:"";left:0;opacity:.5;position:absolute;top:4px;width:2px}.rec-person{gap:12px}.rec-avatar,.rec-person{align-items:center;display:flex}.rec-avatar{background:var(--elevated);border:1px solid var(--bord-hi);border-radius:50%;color:var(--fg-3);flex-shrink:0;font-family:var(--serif);font-size:1rem;height:42px;justify-content:center;overflow:hidden;width:42px}.rec-name{color:var(--fg);font-size:1.15rem;font-weight:500}.rec-role{color:var(--fg-3);font-size:.95rem}.rec-context,.rec-role{font-family:var(--mono);margin-top:2px}.rec-context{color:var(--fg-4);font-size:.88rem}.resume-wrap{grid-gap:80px;align-items:start;display:grid;gap:80px;grid-template-columns:1fr 360px}.timeline{position:relative}.timeline:before{background:var(--border);bottom:0;content:"";left:0;position:absolute;top:8px;width:1px}.tl-item{padding-bottom:44px;padding-left:28px;position:relative}.tl-item:before{background:var(--surface);border:2px solid var(--accent);border-radius:50%;content:"";height:9px;left:-4px;position:absolute;top:8px;width:9px}.tl-project{color:var(--accent);font-family:var(--mono);font-size:.82rem;letter-spacing:.04em;margin-bottom:10px;opacity:.7}.tl-note{color:var(--fg-4);font-size:.76rem}.tl-promoted{border:1px solid #7dcaf14d;border-radius:2px;font-size:.72rem;letter-spacing:.06em;margin-left:8px;padding:1px 7px;vertical-align:middle}.tl-date,.tl-promoted{color:var(--accent);font-family:var(--mono)}.tl-date{font-size:.82rem;letter-spacing:.1em;margin-bottom:6px}.tl-role{color:var(--fg);font-family:var(--serif);font-size:1.5rem;font-weight:600;margin-bottom:4px}.tl-company{color:var(--fg-3);font-family:var(--mono);font-size:.92rem;letter-spacing:.06em;margin-bottom:14px}.tl-desc{color:var(--fg-2);font-size:1.02rem;line-height:1.76}.resume-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:16px;overflow:hidden}.resume-card-head{border-bottom:1px solid var(--border);color:var(--accent);font-family:var(--mono);font-size:.72rem;letter-spacing:.15em;padding:16px 20px;text-transform:uppercase}.resume-card-body{padding:20px}.tool-grid{display:flex;flex-wrap:wrap;gap:6px}.tool-pill{background:var(--elevated);border:1px solid var(--border);border-radius:2px;color:var(--fg-2);font-family:var(--mono);font-size:.72rem;padding:4px 10px}.cert-item{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:10px 0}.cert-item:last-child{border-bottom:none}.cert-dot{background:var(--accent);border-radius:50%;flex-shrink:0;height:6px;width:6px}.cert-text{color:var(--fg-2);font-size:.92rem}.dl-btn{align-items:center;background:var(--accent);border-radius:3px;color:var(--bg);cursor:none;display:flex;font-family:var(--mono);font-size:.82rem;gap:10px;justify-content:center;letter-spacing:.1em;padding:14px;text-decoration:none;transition:background .2s,transform .2s}.dl-btn:hover{background:#9bd8f5;transform:translateY(-2px)}@media (pointer:coarse){.btn-fill,.btn-ghost,.dl-btn{cursor:pointer}}footer{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:44px 7vw}.foot-name{color:var(--fg);font-family:var(--serif);font-size:1.1rem;font-weight:600}.foot-links{display:flex;gap:22px}.foot-links a{color:var(--fg-3);font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-decoration:none;transition:color .2s}.foot-links a:hover{color:var(--accent)}.foot-copy{color:var(--fg-4);font-family:var(--mono);font-size:.72rem}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fadeIn{to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{box-shadow:0 0 4px #4ade80}50%{box-shadow:0 0 12px #4ade80}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@keyframes orbitSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes orbitSpinR{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.16,1,.3,1)}.reveal.on{opacity:1;transform:none}.reveal-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.16,1,.3,1)}.reveal-stagger.on>:first-child{opacity:1;transform:none;transition-delay:.05s}.reveal-stagger.on>:nth-child(2){opacity:1;transform:none;transition-delay:.15s}.reveal-stagger.on>:nth-child(3){opacity:1;transform:none;transition-delay:.25s}.reveal-stagger.on>:nth-child(4){opacity:1;transform:none;transition-delay:.32s}.reveal-stagger.on>:nth-child(5){opacity:1;transform:none;transition-delay:.39s}.reveal-stagger.on>:nth-child(6){opacity:1;transform:none;transition-delay:.46s}.reveal-stagger.on>:nth-child(7){opacity:1;transform:none;transition-delay:.52s}.reveal-stagger.on>:nth-child(8){opacity:1;transform:none;transition-delay:.58s}
/*# sourceMappingURL=main.7b1b479c.css.map*/