@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";.bg-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden}.bg-canvas{width:100%;height:100%;display:block}.bg-glow{position:absolute;top:-20%;left:50%;transform:translate(-50%);width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,var(--glow),transparent 60%);filter:blur(40px);opacity:.6;pointer-events:none}.theme-toggle{background:var(--bg-elev);border:1px solid var(--border);border-radius:50%;width:40px;height:40px;cursor:pointer;font-size:1.05rem;display:grid;place-items:center;transition:transform .3s var(--ease),border-color .3s}.theme-toggle:hover{transform:rotate(20deg) scale(1.05);border-color:var(--accent-a)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 70%,transparent);border-bottom:1px solid var(--border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.nav-logo{font-size:1.3rem;font-weight:600}.nav-logo span{color:var(--accent-a);-webkit-text-fill-color:var(--accent-a)}.nav-links{display:flex;gap:1.5rem}.nav-links a{color:var(--text-dim);font-size:.9rem;transition:color .2s}.nav-links a:hover{color:var(--text)}.nav-actions{display:flex;align-items:center;gap:.75rem}.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.nav-burger span{width:22px;height:2px;background:var(--text);transition:transform .3s var(--ease),opacity .3s}.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0}.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 720px){.nav-burger{display:flex}.nav-links{position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--bg);border-bottom:1px solid var(--border);transform:translateY(-150%);transition:transform .35s var(--ease)}.nav-links.open{transform:translateY(0)}}.hero{min-height:100vh;display:grid;place-items:center;position:relative;text-align:center}.hero-inner{display:flex;flex-direction:column;align-items:center;gap:.5rem}.hero-monogram{font-size:clamp(3rem,9vw,5.5rem);font-weight:600;letter-spacing:.1em;width:clamp(110px,22vw,150px);height:clamp(110px,22vw,150px);display:grid;place-items:center;border:2px solid var(--border);border-radius:28px;background:var(--bg-elev);margin-bottom:1rem;box-shadow:0 0 60px var(--glow)}.hero-greeting{color:var(--accent-a);font-size:.95rem}.hero-name{font-size:clamp(2.4rem,8vw,4.5rem);letter-spacing:-.03em;line-height:1.05}.hero-tagline{font-size:clamp(1rem,3vw,1.4rem);min-height:1.6em}.caret{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero-cta{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap;justify-content:center}.btn{padding:.7rem 1.4rem;border-radius:999px;font-weight:500;font-size:.9rem;transition:transform .2s var(--ease),box-shadow .3s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(90deg,var(--accent-a),var(--accent-b));color:#06070d;box-shadow:0 8px 30px var(--glow)}.btn-ghost{border:1px solid var(--border);color:var(--text)}.btn-ghost:hover{border-color:var(--accent-a)}.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:var(--text-dim);font-size:.8rem;animation:bob 2s ease-in-out infinite}@keyframes bob{50%{transform:translate(-50%,8px)}}.section{padding:clamp(4rem,10vw,7rem) 0}.section-title{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:2rem;letter-spacing:-.02em}.section-index{margin-right:.3rem}.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:start}.about-bio{font-size:clamp(1rem,2.2vw,1.15rem);color:var(--text-dim)}.about-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;font-size:.85rem;line-height:2;overflow-x:auto}.about-card .str{color:#7ee787}.about-card .bool{color:var(--accent-a)}@media (max-width: 720px){.about-grid{grid-template-columns:1fr}}.skills-grid{display:flex;flex-wrap:wrap;gap:.75rem}.skill{padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-elev);font-size:.9rem;font-family:var(--font-mono);cursor:default;transition:border-color .2s}.skill:hover{border-color:var(--accent-a)}.skill-primary{border-color:transparent;background:linear-gradient(90deg,color-mix(in srgb,var(--accent-a) 25%,transparent),color-mix(in srgb,var(--accent-b) 25%,transparent));font-weight:500}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;overflow:hidden;transition:border-color .3s var(--ease);height:100%}.card:hover{border-color:var(--accent-a)}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(400px circle at var(--mx, 50%) var(--my, 0%),var(--glow),transparent 40%);opacity:0;transition:opacity .3s;pointer-events:none}.card:hover:before{opacity:1}.card>*{position:relative;z-index:1}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.project-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.project-icon{color:var(--accent-a);font-size:1.2rem}.project-links{display:flex;gap:1rem;font-size:.8rem}.project-links a{color:var(--text-dim)}.project-links a:hover{color:var(--accent-a)}.project-title{font-size:1.2rem;margin-bottom:.5rem}.project-desc{color:var(--text-dim);font-size:.92rem;margin-bottom:1rem}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.project-tags span{font-size:.72rem;padding:.25rem .6rem;border-radius:6px;background:var(--bg-elev);border:1px solid var(--border);color:var(--text-dim)}.timeline{position:relative;padding-left:1.5rem;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:2.5rem}.timeline-item{position:relative}.timeline-dot{position:absolute;left:-1.95rem;top:.3rem;width:12px;height:12px;border-radius:50%;background:linear-gradient(90deg,var(--accent-a),var(--accent-b));box-shadow:0 0 12px var(--glow)}.timeline-period{color:var(--accent-a);font-size:.8rem;margin-bottom:.3rem}.timeline-role{font-size:1.15rem}.timeline-company{color:var(--text-dim);font-weight:400;font-size:.95rem}.timeline-blurb{color:var(--text-dim);margin-top:.4rem}.contact-lead{color:var(--text-dim);font-size:clamp(1rem,2.5vw,1.25rem);margin-bottom:2rem;max-width:40ch}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.contact-item{display:flex;flex-direction:column;gap:.35rem;text-align:left;padding:1.25rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);cursor:pointer;transition:border-color .25s,transform .25s var(--ease)}.contact-item:hover{border-color:var(--accent-a);transform:translateY(-3px)}.contact-label{color:var(--accent-a);font-size:.78rem}.contact-value{font-size:1rem;word-break:break-all}.contact-copy{color:var(--text-dim);font-size:.72rem}.footer{padding:2rem 0;border-top:1px solid var(--border);text-align:center}.footer span{color:var(--text-dim);font-size:.8rem}:root{--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--accent-a: #22d3ee;--accent-b: #a855f7;--radius: 16px;--maxw: 1100px;--ease: cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--bg: #0a0b12;--bg-elev: rgba(255, 255, 255, .04);--border: rgba(255, 255, 255, .1);--text: #e7e9f1;--text-dim: #9aa0b4;--glow: rgba(34, 211, 238, .25)}[data-theme=light]{--bg: #f7f8fc;--bg-elev: rgba(10, 11, 18, .03);--border: rgba(10, 11, 18, .1);--text: #14161f;--text-dim: #555b70;--glow: rgba(168, 85, 247, .18)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .4s var(--ease),color .4s var(--ease);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit}.mono{font-family:var(--font-mono)}.gradient-text{background:linear-gradient(90deg,var(--accent-a),var(--accent-b));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.container{width:min(100% - 2.5rem,var(--maxw));margin-inline:auto}:focus-visible{outline:2px solid var(--accent-a);outline-offset:3px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
