@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Satoshi:wght@400;500;700;900&display=swap";:root{--bg: #0a0a0f;--surface: rgba(255,255,255,.035);--surface2: rgba(255,255,255,.055);--border: rgba(255,255,255,.08);--border2: rgba(255,255,255,.12);--text: #ece8e1;--muted: rgba(236,232,225,.58);--dim: rgba(236,232,225,.35);--copper: #c9956b;--copper-light: #e4b78a;--sage: #7ea88a;--sage-light: #a3c9ae;--accent-gradient: linear-gradient(135deg, var(--copper), var(--sage));--shadow: 0 24px 80px rgba(0,0,0,.5);--radius: 16px;--radius-sm: 10px;--font-display: "DM Serif Display", Georgia, serif;--font-body: "Satoshi", -apple-system, sans-serif}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal.revealed{opacity:1;transform:translateY(0)}.app{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body);overflow-x:hidden;position:relative}.gridOverlay{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,black 20%,transparent 70%);mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,black 20%,transparent 70%)}.app:before,.app:after{content:"";position:fixed;border-radius:50%;pointer-events:none;z-index:0;filter:blur(120px)}.app:before{width:700px;height:700px;top:-200px;left:-100px;background:radial-gradient(circle,rgba(201,149,107,.1),transparent 70%)}.app:after{width:600px;height:600px;bottom:10%;right:-100px;background:radial-gradient(circle,rgba(126,168,138,.08),transparent 70%)}.nav{position:sticky;top:0;z-index:100;background:#0a0a0f99;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}.navScrolled{border-bottom-color:var(--border);background:#0a0a0fe0}.navInner{max-width:1140px;margin:0 auto;padding:14px 24px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.brandMark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--accent-gradient);box-shadow:0 8px 24px #c9956b40;flex-shrink:0}.brandText{display:flex;flex-direction:column;line-height:1.15}.brandName{font-weight:900;font-size:.95rem;letter-spacing:-.01em}.brandSub{font-size:.78rem;color:var(--muted);margin-top:2px}.navLinks{display:flex;align-items:center;gap:4px}.navLinks a{color:var(--muted);text-decoration:none;font-weight:700;font-size:.85rem;padding:7px 14px;border-radius:8px;transition:all .2s;position:relative}.navLinks a:hover{color:var(--text);background:#ffffff0a}.navLinks a.navActive{color:var(--text);background:#ffffff0f}.navLinks a.navActive:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--copper)}@media(max-width:900px){.navLinks{display:none}}.container{position:relative;z-index:1;max-width:1140px;margin:0 auto;padding:40px 24px 80px}.section{margin-top:88px}.sectionLabel{display:flex;align-items:center;gap:14px;margin-bottom:28px}.sectionNum{font-family:var(--font-display);font-size:.85rem;color:var(--copper);opacity:.7;font-style:italic}.sectionLabel h2{margin:0;font-family:var(--font-display);font-size:1.8rem;font-weight:400;letter-spacing:-.01em}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start;margin-top:10px}@media(max-width:960px){.hero{grid-template-columns:1fr}}.heroLeft{border:1px solid var(--border);background:linear-gradient(180deg,#ffffff0a,#ffffff04);border-radius:var(--radius);padding:32px 28px 28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.heroLeft:before{content:"";position:absolute;top:-1px;right:-1px;width:100px;height:100px;background:var(--accent-gradient);opacity:.06;border-radius:0 var(--radius) 0 100%}.heroEyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:var(--sage-light);margin-bottom:20px;padding:6px 14px 6px 10px;border-radius:999px;border:1px solid rgba(126,168,138,.2);background:#7ea88a0f;animation:fadeSlideIn .6s ease-out both}.eyebrowDot{width:7px;height:7px;border-radius:50%;background:var(--sage);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.heroTitle{margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,4.5vw,3.6rem);line-height:1.08;letter-spacing:-.02em;font-weight:400}.heroLine{display:block}.heroLine1{animation:fadeSlideIn .6s ease-out .1s both}.heroLine2{animation:fadeSlideIn .6s ease-out .2s both}.heroLine3{animation:fadeSlideIn .6s ease-out .3s both}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.heroAccent{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lead{margin:18px 0 0;color:var(--muted);line-height:1.7;max-width:56ch;font-size:1.02rem;animation:fadeSlideIn .6s ease-out .4s both}.heroActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;animation:fadeSlideIn .6s ease-out .5s both}.btnPrimary,.btnGhost{text-decoration:none;border-radius:10px;padding:10px 18px;font-weight:800;font-size:.88rem;border:1px solid var(--border);display:inline-flex;align-items:center;gap:6px;line-height:1;transition:all .25s ease;font-family:var(--font-body)}.btnPrimary{background:var(--accent-gradient);color:#0a0a0f;border-color:transparent;box-shadow:0 8px 28px #c9956b4d}.btnPrimary:hover{box-shadow:0 12px 36px #c9956b66;transform:translateY(-1px)}.btnGhost{background:#ffffff08;color:#ece8e1cc}.btnGhost:hover{background:#ffffff12;color:var(--text);transform:translateY(-1px)}.heroStats{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:720px){.heroStats{grid-template-columns:repeat(2,1fr)}}.stat{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:14px;text-align:center;animation:fadeSlideIn .5s ease-out both;transition:border-color .3s,transform .3s}.stat:hover{border-color:var(--border2);transform:translateY(-2px)}.statIcon{font-size:.75rem;color:var(--copper);margin-bottom:6px;opacity:.7}.statK{font-weight:900;font-size:1.15rem;letter-spacing:-.02em}.statV{margin-top:4px;font-size:.78rem;color:var(--muted);line-height:1.3}.heroRight{display:flex;flex-direction:column;gap:12px}.terminal{border:1px solid var(--border);background:linear-gradient(180deg,#0e0e16e6,#0e0e1699);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;animation:fadeSlideIn .6s ease-out .3s both}.termTop{display:flex;gap:7px;padding:11px 14px;border-bottom:1px solid var(--border);align-items:center}.termTop span:not(.termTitle){width:10px;height:10px;border-radius:50%}.termTop span:nth-child(1){background:#ff636380}.termTop span:nth-child(2){background:#ffc94780}.termTop span:nth-child(3){background:#7ea88a80}.termTitle{margin-left:auto;font-size:.75rem;color:var(--dim);font-weight:600}.termBody{padding:16px 18px 18px;font-family:SF Mono,Fira Code,ui-monospace,monospace;font-size:.84rem;color:#ece8e1cc;line-height:1.7}.tline{margin:4px 0;display:flex;gap:8px;align-items:baseline}.prompt{color:var(--copper);font-weight:700;flex-shrink:0}.tkey{color:var(--dim);min-width:48px;flex-shrink:0}.tstrong{font-weight:700;color:#ece8e1e6}.cursorBlink:after{content:"▊";animation:blink 1s step-end infinite;color:var(--copper);margin-left:1px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.locationCard{display:flex;align-items:center;gap:12px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:14px 16px;animation:fadeSlideIn .6s ease-out .45s both}.locationIcon{color:var(--copper);flex-shrink:0;opacity:.8}.locationText{display:flex;flex-direction:column;gap:2px}.locationCity{font-weight:800;font-size:.9rem}.locationNote{font-size:.78rem;color:var(--muted)}.miniNote{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:14px 16px;animation:fadeSlideIn .6s ease-out .55s both}.miniNoteIcon{color:var(--copper);font-size:1rem;flex-shrink:0;margin-top:1px}.miniNoteTitle{font-weight:800;font-size:.9rem}.miniNoteBody{margin-top:4px;color:var(--muted);line-height:1.55;font-size:.88rem}.card{border:1px solid var(--border);background:linear-gradient(180deg,#ffffff0a,#ffffff04);border-radius:var(--radius);padding:22px;box-shadow:0 12px 40px #0000004d;transition:border-color .3s,transform .3s}.card:hover{border-color:var(--border2)}.card h3{margin:0 0 10px;font-family:var(--font-display);font-weight:400;font-size:1.25rem}.card p{color:var(--muted);line-height:1.7;margin:8px 0 0}.card ul{margin:10px 0 0;padding-left:16px;color:#ece8e1b8;line-height:1.65}.card li{margin:5px 0;font-size:.92rem}.aboutGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:900px){.aboutGrid{grid-template-columns:1fr}}.cardAbout{position:relative}.cardAbout:hover{transform:translateY(-3px)}.cardIcon{font-size:1.4rem;color:var(--copper);margin-bottom:12px;opacity:.6}.xpList{display:flex;flex-direction:column;gap:10px}.xpItem{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);overflow:hidden;transition:border-color .3s}.xpItem:hover{border-color:var(--border2)}.xpHead{width:100%;border:0;background:transparent;padding:18px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;color:var(--text);font-family:var(--font-body);transition:background .2s}.xpHead:hover{background:#ffffff05}.xpMain{min-width:0}.xpRole{font-weight:900;font-size:1.02rem}.xpCompany{margin-top:4px;color:var(--muted);font-weight:600;font-size:.9rem}.xpSide{display:flex;align-items:center;gap:16px;flex-shrink:0}.xpMeta{font-size:.82rem;color:var(--muted);white-space:nowrap}.xpToggle{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--muted);transition:all .3s}.xpItem.open .xpToggle{background:#c9956b1a;border-color:#c9956b33;color:var(--copper)}.xpBody{max-height:0;overflow:hidden;padding:0 20px;transition:max-height .35s cubic-bezier(.22,1,.36,1),padding .35s ease}.xpItem.open .xpBody{max-height:600px;padding:0 20px 20px}.xpBody ul{padding-left:16px;color:#ece8e1b8;line-height:1.65}.xpBody li{margin:6px 0;font-size:.9rem}@media(max-width:700px){.xpSide{flex-direction:column;align-items:flex-end;gap:4px}}.eduCard{padding:24px 26px}.eduTop{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.eduMain h3{margin:0 0 4px;font-size:1.3rem}.eduDegree{color:var(--muted)!important;margin:0!important;font-size:.95rem}.eduSide{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.eduDate{font-size:.84rem;color:var(--muted);font-weight:600}.eduGpa{font-weight:900;font-size:.88rem;color:var(--copper-light);padding:4px 12px;border-radius:6px;border:1px solid rgba(201,149,107,.2);background:#c9956b0f}.eduCourses{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.eduCoursesLabel{display:block;font-size:.78rem;font-weight:700;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.projGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:1060px){.projGrid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.projGrid{grid-template-columns:1fr}}.cardProj{display:flex;flex-direction:column;position:relative}.cardProj:hover{transform:translateY(-3px)}.projTop{display:flex;justify-content:space-between;align-items:center;gap:12px}.projTop h3{margin:0}.projDate{font-size:.82rem;color:var(--muted);font-weight:700;white-space:nowrap;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.projDesc{color:var(--muted)!important;font-size:.92rem}.projBottom{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:8px}.projLink{color:var(--copper-light);text-decoration:none;font-weight:700;font-size:.85rem;white-space:nowrap;transition:color .2s;flex-shrink:0}.projLink:hover{color:var(--text)}.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.pill{font-size:.75rem;padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:#ece8e1b3;line-height:1;font-weight:600;transition:border-color .2s}.pill:hover{border-color:var(--border2);color:var(--text)}.skillsDash{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:960px){.skillsDash{grid-template-columns:1fr}}.cardSkill h3{font-size:1.05rem}.skillsHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.skillsHint{font-size:.72rem;color:var(--dim);border:1px solid var(--border);padding:4px 9px;border-radius:6px;background:var(--surface);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.skillsRows{display:flex;flex-direction:column;gap:14px}.skillRow{display:flex;flex-direction:column;gap:7px}.skillMeta{display:flex;justify-content:space-between;align-items:center;gap:10px}.skillName{font-weight:800;font-size:.9rem}.skillSignal{font-size:.76rem;color:var(--dim);font-weight:600;padding:3px 8px;border-radius:5px;background:var(--surface);border:1px solid var(--border)}.bar{height:6px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);overflow:hidden}.barFill{height:100%;border-radius:999px;background:var(--accent-gradient);box-shadow:0 0 12px #c9956b33}.toolbelt{margin-top:14px}.contactCard{border:1px solid var(--border);background:linear-gradient(135deg,#c9956b0a,#7ea88a08);border-radius:var(--radius);padding:36px 32px;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}.contactLeft{flex:1;min-width:280px}.contactHeading{margin:0;font-family:var(--font-display);font-size:1.6rem;font-weight:400}.contactSub{margin:10px 0 0;color:var(--muted);line-height:1.65;max-width:50ch}.contactActions{display:flex;flex-wrap:wrap;gap:10px}.footer{margin-top:88px;padding:24px 0;border-top:1px solid var(--border)}.footerInner{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--dim);font-size:.84rem}.footerDot{opacity:.4}.app:not(.appMounted) .heroLeft,.app:not(.appMounted) .heroRight{opacity:0}.appMounted .heroLeft{animation:fadeSlideIn .5s ease-out both}.appMounted .heroRight{animation:fadeSlideIn .5s ease-out .15s both}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#ffffff24}::selection{background:#c9956b40;color:var(--text)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;font-family:Satoshi,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:#0a0a0f;color:#ece8e1}#root{min-height:100vh}@font-face{font-family:Satoshi;font-display:swap}
